2013년 7월 11일 목요일

디아블로 3 계정 해킹의 비밀, 해킹 방지 방법

디아블로 3이 계정 해킹으로 몸살을 앓았는데, 사실 블리자드의 계정 관리는 엄격한 편이다.

블리자드에는 OTP 라는 시스템이 있다. 비밀번호는 별도로 두고, 휴대폰에서 별도의 앱을 깔아서 그 앱이 제 2의 비밀번호를, 그때그때 다르게 만들어 보여주는 것이다.

정확히는, 앱마다 일련번호가 있고, 그 일련번호에 따라, 시간에 따른 제 2의 비밀번호 패턴이 정해져 있다. 블리자드 서버는 일련번호에 따른 비밀번호 패턴들을 다 알고 있어서 제 2의 비밀번호가 그 시간대에 유효한지 인증할 수가 있다. 다만 블리자드 서버가, 이 이용자가 어떤 일련번호를 가진 앱을 쓰는지는 모르기 때문에 처음 앱 등록을 할 때 일련번호를 적게 되어있다.

해커로서는, 비밀번호야 a부터 z까지, 0부터 9까지 하나하나 넣어보면 언젠가는 해결할 수 있지만, 제 2의 비밀번호는 시간에 따라 바뀌기 때문에 하나하나 넣어봤자 소용이 없는 것이다.

그런데도 그 OTP가 털렸다. 이걸 보고 몇몇 사람들은 블리자드 서버가 털린 것이 아니냐 하는데, 블리자드 서버는 털리지 않았다.

우리나라 PC방의 90%에는 키로거 라는 해킹 프로그램이 깔려있다. 정작 그 PC방 주인장들은 모른다. 대부분의 PC방에 깔려있는 V3이나 알약 같은 프로그램도 키로거의 존재를 모르는 경우가 대부분이고, 심한 경우 백신 프로그램이 깔려는 있지만 아예 실행조차 되지 않는 경우도 있다.(그것도 꽤 많다).

키로거가 깔린 PC에서 키보드로 뭔가를 입력하면, 입력한 값이 그대로 해커의 PC로 전송된다. 이용자 몰래. ID와 비밀번호가 고스란히 누출되는 것이다.

문제는, OTP도 예외가 아니라는 것이다.

디아블로 3 계정 해킹 방법은 간단하다. 키로거 프로그램을 이용하여 이용자의 ID를 확인한다, 엔터 키나 마우스 버튼이 감지되면 다음 입력 칸으로 넘어간 것으로 생각한다. 그 다음에 입력되는 값들이 비밀번호이다.

제 2 비밀번호까지 입력된 것이 키로거로 들어온다면, 해커는 그 PC의 디아블로 3을 강제 종료시킨다. 이용자는 잠시 문제가 생긴 줄 알고 다시 접속하여 ID와 비밀번호와 제2비밀번호를 고스란히 다시 입력한다. 이 때 해커는 그 PC에 렉을 건다.

이 때부터가 승부처. 제2비밀번호가 바뀌기 전에 해커는 재빨리 다른 PC에서 그 이용자 계정으로 접속한다. 그리고 아이템과 돈을 다 빼간다. 로그아웃. 끝.

이 때문에 디아블로 3 해킹 계정이 비밀번호가 바뀌지 않고 아이템만 없어져 있는 것이다. 비밀번호를 바꾸려면 제2비밀번호 인증을 다시 받아야 하기 때문인데 그 때는 이미 제2비밀번호가 바뀌어 있기 때문.

 

해킹 방지 방법은 여러 가지가 있다.

이용자 입장에서, 그리고 블리자드가 취해야 할 조치에 대해서 알아보겠다.
핵심 방법은 3가지, 키로거는 마우스 커서의 위치를 제대로 활용할 수 없다는 것과, 그리고 은행 보안카드의 원리. 그리고, 키로거 프로그램이 깔리지 않게 하는 것.

 

우선, 이용자 입장에서 디아블로 3 계정을 보호하는 방법

1. OTP 제 2 비밀번호를 입력할 때, 제한 시간이 거의 남지 않았을 때 입력한다. 블리자드 OTP는, 제한 시간이 지난 것처럼 보여도 1~2초간 제한 시간이 남아 있는 것이 일반적이다.

2. 비밀번호를 입력할 때, 마우스를 적극 활용한다. 가령, 앞의 2글자를 먼저 입력하고, 바로 맨 뒤의 2글자를 입력한 다음, 마우스를 이용하여 2칸 앞 부분을 클릭해 입력 커서를 옮기고, 중간에 남은 비밀번호를 입력한다. 중요한 것은, 키보드의 방향키를 이용하면 아무 소용 없다는 것이다. OTP의 제 2 비밀번호도 입력할 때 마우스를 입력해 입력 커서 위치를 바꿔가며 입력하는 것이 좋다.

3. PC방에서 이용 후 집에 와서 반드시 비밀번호를 변경하고 OTP를 재발급 받는다. 재발급 받으려면 OTP 해제하고 휴대폰에서 앱을 삭제한 후 다시 받아 깔고 다시 등록해야 한다.

4. 집 컴퓨터에서 Windows XP를 절대로 사용해서는 안되고, 보다 상위 버전인 Windows Vista, 7, 8 등을 사용하며, 반드시 사용자 계정 컨트롤 기능을 켜고, 경고 창 뜰 때마다 반드시 제대로 확인하여, 대부분 “아니오”를 눌러 주어야 한다. 만약, 실수로 “예”를 클릭했다면 그 즉시 포맷을 하고 윈도우를 새로 설치해야 한다. 백신 프로그램과 별도로 Windows Defender 의 실시간 감시는 반드시 켜 둔다.

 

블리자드가 취해야 할 조치는 간단하다.(나만 간단하다고 생각하려나?)

OTP 체제를 완전히 바꾸어야 한다.

우선, OTP에서, 제 2 비밀번호가 동일 시간에 하나만 보인다. 이거 자체가 위험하다. OTP에서, 동일 시간에 제 2 비밀번호가 여러 개가 보이고, 로그인 시 제 2 비밀번호 중 몇 번째 것만 입력하세요 라고 요구하여야 한다. 서로 다른 컴퓨터에서 동시 로그인 시도가 이루어졌을 때, 제 2 비밀번호 중 몇 번째를 입력해야 하는지의 요구가 서로 달라야만 한다. 즉, 컴퓨터 IP나 Mac Address에 따라 랜덤하게 “몇 번째”를 정해야 한다.

키로거에게 제 2 비밀번호 전체가 노출되는 것을 막아야 한다는 것이다. 제 2 비밀번호 중 일부만을 입력해서 해커가 제 2 비밀번호 전체를 알지 못하게 해야 한다는 것이다.

비밀번호 란에 특수문자 강요하는 것이, 과연 더 안전한 것일까?

갑자기 드는 생각이다.

보통, 회원가입하는 중에 비밀번호 입력할 때, 특수문자 여러 개를, 그것도 여러 군데 섞어 쓰는 사람이, 얼마나 있을까?

특수문자를 쓴다고 해도, 키보드에 있는 것만 쓰지, 과연 누가 ㅇ 누르고 한자키를 눌러서 특수문자를 쓸까?

일반적으로, 특수문자 강제 입력이라 하면, 무조건 맨 첫글자만 특수문자를 쓰게 되어 있다. 사람들 90% 이상이 그렇게 한다.

그리고, 키보드로 입력할 수 있는 특수문자라 해봤자 알파벳 수보다 훨씬 적다. ~!@#$%^&*()-_=+\|?”’;,. 이정도가 끝인데, 이조차도 이중 몇 개는 쓰지 못한다.

비밀번호를 도입한다고 해킹을 막을 수는 없다. a부터 하나하나 입력해 나가면 언젠가는 풀리게 되어 있다. 비밀번호를 도입함으로써, 다른 사람이 내 계정에 침투하는 것을 “지연시키는” 것이지, 완전히 막을 수는 없다. 그래서 비밀번호를 자주 바꾸라고 하는 것이다.

그 지연시키는 효과를 늘리는 데 특수문자를 섞어 쓰는 것이 좋은 것이다. 알파벳과 숫자만 넣어보는 것과, 특수문자까지 넣어야 하는 것과는 걸리는 시간 차가 상당하다. 그런데, 특수문자가 어느 위치에, 몇 개가 들어갈 지 뻔한 상황이라면 이야기가 다르다.

첫 글자만 특수문자인데다 특수문자 수도 정해져 있기 때문에, 오히려 해커 입장에서는 만세를 부를 만한 것이다.

지금 현재 아이핀 사용 시 비밀번호에 무조건 특수문자 들어가야 한다. 참으로 어리석고 멍청하기 짝이 없다. 오히려 블리자드의 게임 계정 관리가 훨씬 더 안전하면 안전했지 아이핀이 안전하다고 볼 수는 없다. 절대로.

HJOW의 신버전 블로그입니다. 이 블로그는 제 관심사에 해당하는 기사, 동영상 등을 퍼오거나, 작성하는 곳으로, 마음껏 퍼가셔도 됩니다. 제 홈페이지는 http://hujinone11.dothome.co.kr 입니다.