2009/11/26
게임 해킹과 방어 Agenda
오늘 진행한 게임 해킹과 방어 교육 자료에 쓴 Agenda이다.
실제 교육 자료에는 google 웹 검색을 통해서 얻은 수많은 그림 파일들과, 게임 해킹툴 스샷 화면, 게임 해킹 동영상 스샷 화면 등이 들어가져 있는데... 저작권 문제가 생길까봐 차마 공개적인 블로그에 -_- 올릴 수가 없다.
(내 교육 이전 교육 내용이 저작권 위반에 대한 이해 였어서.. 더더욱 신경이 쓰이고 있음.)
여하튼 교육은 일반 게임 이용자들을 대상으로 해서,
게임이 발전함에 따라서 게임 해킹이 얼마나 발전하고 있는지,
게임사와 게임 이용자들 간의 게임 해킹을 바라보는 시각 차이가 무엇이 있고, (그래서 무엇이 문제가 되었고)
게임 해킹들은 어떤 식으로 발전되어 왔으며,
게임사는 게임해킹을 막기위해 어떠한 노력들을 하고 있고,
마지막으로 그러한 노력들이 있음에도 불구하고 게임 해킹을 당하지 않기 위해서는 게임 이용자들이 어떤 점에 주의해야 하는가에 대해서 이야기를 했다.
1. 게임 시장과 게임 해킹
- 온라인 게임 시장의 발전
1994년 머드 게임 등장, 1990년대 후반 스타크래프트를 시작으로 2000년대 초반 포트리스 등 국민적 놀이문화로 발전
2000년대 중반 이후부터 온라인 게임시장 전성기를 맞이하면서, 온라인 게임에 대한 사회문제도 함께 대두됨.
- 게임 해킹의 성장
: 해킹툴 08년에 비해 6배 증가
'09년 들어 웹 게임 해킹 및 SNS를 통한 게임 해킹 시도 다양화
중국 등의 게임 해킹 시도가 꾸준히 늘고 있음.
2. 게임 해킹을 바라보는 세 가지 관점
2.1 게임 이용자가 생각하는 게임 해킹
- 내가 게임을 하는데 있어서 당하는 불이익(계정 도용, 아이템 사기, ...)
2.2 게임 개발자/운영자가 생각하는 게임 해킹
- 개발/운영중인 게임 서버/클라이언트에 가해지는 공격
2.3 게임 해킹을 시도하는 사람이 생각하는 게임 해킹
- 새로운 밥벌이? vs 게임 이용자에게 게임을 쉽게 할 수 있는 요술지팡이와 같은 유혹적인 물건
=> 게임 해킹이 일어날 때 게임 서버/클라이언트를 통한 해킹이 아닌 게임 이용자 PC의 취약점을 통해 계정해킹이 일어날 경우, 이 책임이 누구에게 있는가에 대한 책임소재 여부가 아직도 이슈거리로 남고 있음.
3. 게임 해킹의 발전
3.1 원시시대 [해커는 자기 과시를 위해 해킹을 시도,]
- 게임 속 버그 찾기
: 서든어택 핑버그, SQL injection, buffer overflow...
버그 못잡아 망한 게임들
- 게임 중 사회공학적인 해킹 시도
: 짖소 캐릭터 이용한 사기,
아이템 판매 중 0하나 더 붙여 판매,
게임 속 꽃뱀?
게임 피싱(친구 캐릭터로 접속해서 아이템 사기)
3.2 중세시대
[ 해커는 금전적인 이득, 남들보다 빨리 내 캐릭터를 성장하기 위해 해킹을 시도]
- 게임 서버 해킹 시도
: 게임 서버 바이너리를 해킹해서 사설 서버 운영...
Emulator를 이용한 서버 프로그램 제조
- 게임 클라이언트 해킹 시도
: 스피드핵, 메모리 변조, 패킷핵,파일 변조, 매크로/오토 플레이, 게임별 전용 핵...
게임 클라이언트에 대해 리버스 엔지니어링을 통해 게임 분석
이후 이를 다 합쳐 Non-client BOT 를 개발함. 유료 BOT. 업데이트 속도도 가공할 만함
- 게임 해킹을 위한 우회 해킹 (해킹을 위한 다른 시도? )
: 게임사에서 게임 서버/클라이언트에 대한 직접적인 공격 대응을 잘 하자,
상대적으로 더 쉽게 목적(아이템 갈취)을 얻을 수 있는 취약한 PC를 이용하는 이용자를 목표로 삼음.
피싱, 다른 취약한 웹 사이트를 통해 일반 사용자 PC에 백도어를 설치해서 계정 해킹 등
3.3 현대 시대
[ 해커도 일종의 직업, 먹고 살기 위해 조직적으로 행동!]
- 자동사냥 프로그램 제조, BOT 제조 판매
: BOT 제작자와 BOT 사용자(작업장)과의 관계
BOT 탐지 개발 vs BOT 탐지 우회 개발... 게임사와 BOT 개발사 사이의 시간 소모성 전쟁
Global 게임 위에 Global BOT
- DDoS 공격을 통한 금전 요구
: 정상적인 게임 서버, 아이템 판매 사이트, 사설서버까지...
프로그램 bug를 이용한 DDos, 혹은 허위 사실로 협박...
- 게임 보안 솔루션 패턴 탐지 우회 및 공격 시도
<2009>2009>
프리서버 폭파 까페 - 프리서버를 조직적으로 DDoS 공격하는 까페, (네이버 다움 등.)
초/중학생이 주로 많이 가입.
최근 DDoS공격 유형의 57%가 프리서버에 대한 DDoS 공격
BOT 프로그램 내 Rootkit과 DDos Agent를 함께 넣어서, BOT 이용자 PC를 NETBOT으로 이용.
4. 게임 해킹 방어: 게임 개발자/운영자 관점
4.1 게임 운영의 변화 [게임사에서 게임 해킹 방어를 위해 시행하는 일들]
- 꼼꼼한 QA, 게임 속 대법관 GM의 등장
- BOT 탐지를 위한 눈물겨운 노력
: 안보이는 아이템 투여,
Gm의 의심스러운 BOT 말시키기, 게임 내 BOT 신고,
Captcha 등장,
BOT 설치 후 패턴을 분석해서 차단...
- 게임 로그 분석
: 정상적이지 않은 패턴이 있는지 데이터 마이닝 시도
BOT 패턴에 대한 여러가지 질문을 통해서 점수를 매겨서 특정 점수 이상이 되면 BOT로 간주하고 계정 제재.
(이동 경로, 주요 체류 맵, 주요 행위, 게임 지속 시간, 채팅 횟수, ... 등)
- 새로운 게임 오픈 전 취약점 점검은 필수! 게임 해커에게 쉽게 reversing이 되는지 체크도..!
4.2 게임 보안 솔루션의 등장
[게임 해킹 방어를 위한 기술적인 발전]
- 게임 클라이언트 보안 프로그램
: 패턴 기반 탐지 vs 로직 기반 탐지
최근 게임 클라이언트 보안 프로그램이 하는 일
* 해킹툴 및 시스템 바이러스 진단 및 차단
* 오토 마우스 매크로 차단
* 메모리 디버깅 방지
* 서버 인증 기능 - 게임 서버와의 통신을 지속적으로 확인하여, 보안 솔루션 구동이 없는 경우 연결을 끊음
* 게임 클라이언트 암호화 툴 제공
* 게임 클라이언트와 서버 사이의 암호화 통신 (패킷 암호화)
* 프록시 서버 방지 기능(중국 등 우회 접속 차단)
* 로그 서버
- 키보드 보안 솔루션,
- OTP, 접속 SMS 알림, PC 등록, 전화 인증 등 인증 강화 (계정도용 방지를 위해)
- 프로그램 패킹/코드 사이닝/유효기간 설정
: 패킹툴의 이용에 따른 또 다른 문제 ( 백신 프로그램 의 packing 된 클라이언트의 heuristics 오탐)
- 패킷 암호화(클라이언트와 서버 간의 통신 암호화)
- 게임 서버 바이너리에 대한 보안 설정
: 허가된 아이피, Mac/Disk SN, .. 등이 아니면 바이러니 실행이 안되도록 설정
인가되지 않은 곳에서 바이너리 실행시 게임 개발자에게 알림 메일 전송
- 빠른 BOT 패턴 차단을 위한 네트워크 기반 탐지 서버
- IPS/Web Firewall/Anti-DDoS 장비 구축
- 사용자들의 해킹 방지를 위한 강제 보안 패치 서비스[ocp]
4.3 게임 디자인 변경
[게임 해킹/BOT가 필요없는 게임? 게임 보안과 게임을 한 몸으로!!]
- 피로도 시스템
: 정상적인 사람이라면 게임을 오래 할 수는 없으니, 게임을 오래 할 수록 아이템 및 경험치를 낮게 주는 것은 어떨까?
- 게임성 자체의 변화
: 반복 작업이 없어서, BOT가 필요 없는 게임을 만들자?
- 게임 클라이언트에 자체적인 보안 솔루션 기능을 탑재
: 게임 보안 솔루션 업체를 통한 대응은 늦다. 우리가 직접~
5. 게임 해킹 방어 : 게임 이용자 관점
1. 돈의 유혹이 나를 꼬시더라도, 계정 거래를 자제하자
2. 백도어가 숨겨져 있을 수 있는 해킹툴/BOT 프로그램을 쓰지 말자.
3. 남들과 함께 쓰는 계정은 해킹의 위험을 급증시킨다.
4. PC에서의 백신 설치는 이제 필수다. 자주 full scan 하자.
5. 보안 패치를 하지 않으면, 단순 웹서핑 중에도 백도어에 감염될 수 있다.
6. 게임방은 해킹 위험지대다. 이용시 주의하고, 이용 후 비밀번호를 변경하자.
7. 중요한 게임 로그인 시, 돈 아까워 말고 추가 인증(OTP, PC등록,..등)을 이용하자.
8. 다른 곳과 동일한 계정/패스워드 사용을 자제하자.
9. Active X 설치, 이상한 메일 열람, 수상한 웹 페이지 접속을 자제하자.
10. 보안에 항상 관심을 갖고, 해킹 징후가 있다면 바로 신고하자.
댓글 없음:
댓글 쓰기