본문 바로가기

보안칼럼

이스트시큐리티 보안 전문가의 전문 보안 칼럼입니다.

몇 년 전 까지만 해도 ‘웹사이트 계정 도용 사례’는 말로만 듣던 얘기로 여겨졌지만 지금은 계정도용이 너무 흔해져서 모두에게 닥친 위협이 되었습니다.
피해를 예방하기 위해서는 해커가 계정정보를 어떻게 훔치는지 상세히 알아둘 필요가 있습니다.
그럼, 웹사이트의 암호를 훔쳐가는 수법과 대응책들을 하나씩 자세히 살펴보겠습니다.


 

1. 개인정보를 이용한 단순 추측 방법


이미 표적의 개인정보 일부를 가지고 있는 해커나 지인에 의해서 계정도용 피해를 입을 수 있습니다.
계정 주인의 이름이나 별명, 생년월일, 애완동물 이름 등을 조합해 대입을 여러 번 시도해서 암호를 맞출 수가 있습니다.
이런 공격은 해킹에 대한 별 다른 전문지식이 필요하지 않기에 누구나 시도할 수 있다는 점에서 위험합니다.


대응책:
개인 신상정보와 관계가 없는 암호를 사용해야 합니다.


 

2. 사전 대입과 무차별 대입 방법


비밀번호로 자주 사용되는 단어나 문자열을 한데 모아놓은 사전들이 있습니다.
이 사전에 있는 암호 리스트를 가지고 로그인이 성공할 때 까지 시도해 암호를 맞출 수가 있습니다.
3회 이상 틀린 암호를 입력하면 별도의 본인인증을 요구하는 사이트도 있지만 무제한으로 암호를 대입해볼 수 있는 웹 사이트들도 아직 많습니다.
또, 자동화된 프로그램을 이용해서 키보드로 입력 가능한 모든 값을 전부 대입시켜보는 방법도 있습니다.
이 방법은 로그인 페이지에 암호를 수동으로 일일이 입력하여 대입해보기는 어려운 방법입니다.
하지만 내가 가입된 웹사이트가 해킹을 당해서 암호화된 사용자 PW값이 들어있는 DB가 유출된다면, 유출된 암호화 값을 원래의 비밀번호로 바꾸는데 사용될 수 있습니다.


대응책:
‘11111111’, ‘123456’, ‘abcdefg’, ‘qwer1234’ 같은 쉬운 암호는 대개 암호사전의 가장 앞쪽에 있으므로 절대로 사용하면 안됩니다
무차별 대입방법은 암호 길이와 사용되는 문자의 종류에 따라서 1초 만에 풀릴 수도, 천문학적인 시간이 걸릴 수도 있기 때문에 암호의 길이를 8자리 이상으로 하고 영문자+숫자+특수문자를 섞어야 합니다.


 

3. 탈취한 ID/PW를 재 사용하는 방법


해커가 다른 경로를 통해 이미 한 개의 ID/PW를 알고 있을 경우, 피해자가 가입했을 만한 다른 웹사이트에 동일한 ID/PW를 입력해보는 방법입니다.
여러 사이트에 동일한 ID/PW를 사용하면, 한 사이트의 계정만 유출되어도 가입한 모든 사이트의 계정을 해커에게 빼앗기게 됩니다


대응책:
사이트마다 다른 비밀번호를 사용해야 합니다.
내가 모르는 사이 암호가 유출되었을 수 있으므로 주기적으로 웹사이트들의 암호를 변경해야 합니다.


 

4. 악성코드를 설치하는 방법


사용자의 PC에 백도어나 키로거 같은 해킹툴을 설치해 사용자의 키 입력과 화면을 몰래 해커에게 전송하는 수법으로 암호를 알아낼 수 있습니다.
요즘은 주로 주말에 웹하드나 쇼핑, 유명 커뮤니티 사이트 등에 접속했을 때, 사용자 PC가 자동으로 감염되도록 해커들이 웹사이트를 조작합니다.
보안패치가 되어있지 않은 PC의 경우, 단순한 웹서핑 만으로도 악성코드에 감염될 수 있으며 감염 사실을 알아차리기가 어렵습니다.


대응책:
악성코드에 감염되지 않도록 윈도우/어도비 등의 최신 보안패치 설치하고, 백신프로그램도 꼭 사용해야 합니다.
특히 PC방 같은 공공장소에서 악성코드를 더욱 주의해야 하며, ‘자동 로그인 옵션’은 확실하게 안전한 PC에서만 걸어두어야 합니다.


 

5. 사회공학적 방법 (사기)


피싱 사이트나 피싱메일 등을 발송해서 사용자가 가짜 웹사이트 화면에 암호를 입력하게 한 뒤 입력된 패스워드를 가져가는 방법으로 암호를 알아낼 수 있습니다.
이메일에 포함된 링크를 통해 웹사이트에 접속하면 피싱사이트로 연결될 위험이 있으며, 심지어 특정기관의 상담원을 사칭해서 전화상으로 암호를 직접 물어보는 경우도 있다고 합니다.


피싱사이트 url

<피싱사이트 url>


 

대응책:
웹사이트를 방문할 때는 주소창에 해당 사이트의 URL을 정확하게 입력하거나, 믿을 수 있는 검색사이트를 통해 접속해야 합니다.
원하는 사이트로 정확하게 접속되었을 때 즐겨찾기를 등록해 두면 재 접속이 편리합니다.


 

6. 전송되는 암호를 네트워크상에서 가로채는 방법


해커는 사용자가 PC와 서버간에 주고 받는 통신을 가로채는 방법으로 사용자 암호나 웹사이트 연결상태를 가로챌 수 있습니다.
중간자공격을 통해 암호 뿐 아니라 사용자가 보고 있는 웹페이지의 내용까지 조작할 수 있으므로 네트워크상에서 이루어지는 공격도 주의해야 합니다.


대응책:
웹사이트로 보내는 암호/세션을 해커가 도청하고 있을 수 있으므로 잘 모르는 네트워크나 보안설정이 없는 무선 네트워크는 이용하지 않아야 합니다.
해커가 중간에서 통신내용을 가로채도 이를 알아보지 못하게 하기 위해, 사이트에서 제공하는 보안로그인 기능을 이용해야 합니다.


"HTTPS

<HTTPS / SSL / 보안 3단계 사용 기능 등의 옵션을 체크>


 

7. 명의도용


이미 유출된 개인정보(실명, 주민등록번호)를 이용해서 직접 웹서비스에 가입하는 방법이 있습니다.
사용자 계정을 힘들게 해킹할 필요 없이 간단하게 타인의 계정을 생성할 수 있습니다.
상당수의 한국인 개인정보가 이미 DB화되어 중국 등지에서 팔려 다니고 있습니다.
웹사이트가 워낙 많기 때문에 누가 자신의 명의를 도용해 어딘가에 새로운 계정을 생성해도 잘 알 수가 없습니다.


대응책:
웹사이트가 해킹되어 개인정보가 유출되는 일이 잦으므로 과도한 개인정보를 요구하는 사이트는 되도록 가입하지 않는 것이 좋습니다.
아이핀 등의 주민등록번호 대체수단을 이용할 수 있는 경우, 적극적으로 이용합니다.
명의도용 방지서비스를 이용해 실명인증 내역을 감시할 수도 있습니다.


 

8. 서버를 해킹하는 방법


사용자의 개인정보가 저장되어있는 서버를 해킹해 정보를 훔쳐가는 사건들이 점점 잦아지고 있습니다.
따라서 인터넷상의 웹서버에 저장된 내 비밀번호도 100% 안전하다고 볼 수 없습니다.
정보를 관리하는 기업들도 본인인증 수단인 비밀번호만큼은 대부분 암호화를 시켜 보관하고 있습니다.


예) “love” → “9f2feb0f1ef425b292f2f94bc8482494df430413”


문제는, 이 암호화가 풀려 비밀번호가 노출될 수 있다는 점 입니다.
비밀번호 암호화에 흔히 사용되는 알고리즘들은 동일한 비밀번호(love)에 대한 암호화 값을 항상 일정하게 생성합니다.
그래서 해커가 DB서버로부터 암호화된 사용자 패드워드 더미를 훔쳐냈을 때, “9f2feb0f1ef425b292f2f94bc8482494df430413” 값은‘love’라는 비밀번호를 사용하는 사용자 수 만큼 있을 것이며 이 값이 흔한 비밀번호라는 것도 시사합니다.
인터넷상에는 이미 수백 만개의 ‘흔한 비밀번호’에 대한 암호화 값들이 퍼져 있기 때문에 구글에서 9f2feb0f1ef425b292f2f94bc8482494df430413를 검색하면 암호화된 이 비밀번호가 love’ 라는 것을 간단히 알 수 있습니다.


해쉬값 매칭

<해쉬값 매칭>


 

대응책:
같은 암호를 쓰는 다른 사용자가 거의 없을 정도로 복잡하게 설정합니다.
영문자+숫자+특수문자를 결합한 8~10자리의 암호가 권장됩니다.


 

사용자 계정과 개인정보를 훔치기 위한 수법은 그 밖에도 많이 있습니다.
현재 개인사용자들에게 보급된 인증수단 중 OTP (본인 휴대전화, 이메일 등으로 전송되는 일회용비밀번호)가 가장 안전한 방법으로 평가되고 있습니다.
웹사이트가 인증수단으로 OTP나 공인인증서를 제공하는 경우, 적극 활용하면 계정정보, 개인정보 유출을 막는데 큰 도움이 됩니다.