생물학적인 바이러스가 생물체에 침투하여 병을 일으키는 것처럼 컴퓨터 내에 침투하여 자료를 손상시키거나 다른 프로그램들을 파괴하여 작동할 수 없도록 하는 컴퓨터 프로그램의 한 종류이다. 바이러스에 감염된 디스크로 컴퓨터를 기동(起動)시킬 때나, 어떤 프로그램을 실행시킬 때 바이러스가 활동하여 자료를 파괴하거나 컴퓨터 작동을 방해하고 자신을 복제하여 다른 컴퓨터로 전염시킨다. 이런 점이 생물학적 바이러스와 비슷하기 때문에 바이러스라는 용어를 사용하지만, 다른 일반 프로그램과 동일한 프로그램의 한 종류이다.
발생 기원은 1949년 J.폰 노이만이 발표한 논문에서 프로그램이 자기자신을 복제함으로써 증식할 수 있다는 가능성을 제시한 것으로부터 유래한다. 실제로 미국에서 1985년 프로그램을 파괴하는 악성 컴퓨터 바이러스가 처음 보고 되었고, 한국에서는 1988년 (C)BRAIN이란 컴퓨터 바이러스가 처음으로 보고 되었다.
컴퓨터 바이러스가 발생하게 된 경위는 자신의 능력을 과시하기 위하여 만들었다는 설, 불법복제를 막기 위하여 만들었다는 설, 소프트웨어의 유통경로를 알아보기 위하여 유포시켰다는 설, 경쟁자 또는 경쟁사에게 타격을 주기 위하여 감염시켰다는 설 등이 있다. 그러나 은밀하게 유포되고 있기 때문에 확실한 경위는 밝혀지지 않고 다만 복합적인 원인으로 추정된다.
컴퓨터 바이러스는 그 영향 정도에 따라 양성(陽性) 및 악성 바이러스, 감염 부위에 따라 부트(Boot) 및 파일(File) 바이러스로 구분한다. 부트 바이러스는 컴퓨터가 기동할 때 제일 먼저 읽게 되는 디스크의 특정 장소에 감염되어 있다가 컴퓨터 기동시에 활동을 시작하는 종류이다. 파일 바이러스는 숙주(宿主) 프로그램에 감염되어 있다가 숙주 프로그램이 실행될 때 활동하는 바이러스를 말한다.
바이러스의 종류에 따라 활동방식도 다른데 감염 즉시 활동하는 것, 일정 잠복기간이 지난 후에 활동하는 것, 특정기간이나 특정한 날에만 활동하는 것도 있다. 특정한 날에만 활동하는 바이러스 중 예루살렘 바이러스는 13일의 금요일에만 활동하고, 미켈란젤로 바이러스는 미켈란젤로의 생일인 3월 6일에만 활동한다.
불법복제한 소프트웨어 디스켓을 사용하거나, 여러 사람이 공동으로 사용하는 컴퓨터에서 작업하면 바이러스 감염의 가능성이 높아 자신도 모르게 디스켓 또는 프로그램에 감염된다. 이렇게 감염된 디스켓을 자신의 컴퓨터에서 사용하면 자신의 컴퓨터도 전염된다. 최근에는 컴퓨터 통신 이용률이 높아지면서 이를 통하여 자료를 주고받을 때 급속도로 바이러스가 전염되기도 한다.
바이러스에 감염되면, 컴퓨터 기동시간이 평소보다 오래 걸리거나, 기동 자체가 되지 않거나, 프로그램이 실행되지 않거나, 프로그램을 실행시키는 시간이 평소보다 오래 걸리거나, 파일목록을 확인하는 명령을 하였을 때 목록이 화면에 나타나는 시간이 오래 걸리거나, 화면에 이상한 글자가 나타나거나, 프로그램의 크기가 달라져 있거나, 프로그램의 작성일자 또는 파일의 이름이 바뀌는 등의 증세를 나타낸다.
감염 예방을 위해서는 복제품이 아닌 정품 소프트웨어를 사용하고, 외부에서 가지고 온 디스켓은 사용하기 전에 반드시 백신 프로그램으로 바이러스 감염 여부를 확인한 후 사용한다. 또한 컴퓨터 통신을 통하여 받은 프로그램의 경우에도 반드시 감염여부를 확인 후 사용하도록 한다.
해킹이란?
- 타인의 컴퓨터 시스템에 무단침입하여 정보를 빼내거나 프로그램을 파괴하는 일을 하는 행위. 뛰어난 컴퓨터 실력을 이용하여 정보 시스템에 침입, 그 속에 축적되어 있는 각종 귀중한 정보를 빼내거나 없애는 행위를 말한다. 이러한 행위를 하는 자들을 해커라고 한다.
한국정보보호센터(지금의 한국정보보호진흥원)의 <정보시스템 해킹 현황과 대응,(1996)>에 따르면 해커란 "컴퓨터 시스템 내부구조와 동작 등에 심취하여 이를 알고자 노력하는 사람으로 대부분 뛰어난 컴퓨터 및 통신 실력을 가진 사람들"로 정의하였다. 그러나 "현재의 해커는 다른 컴퓨터에 불법으로 침입하여 자료의 불법열람. 변조. 파괴 등의 행위를 하는 침입자, 파괴자를 통칭한다"고도 하였다.
이처럼 해킹이란 원래 순수하게 작업과정 자체의 즐거움에 탐닉하는 컴퓨터 전문가들의 행위로 시작되었지만
컴퓨터가 일반화되면서 점차 나쁜 의미로 변질되기 시작하였다. 즉, 다른 컴퓨터에 침입하여 정보를 빼내서 팔아먹든가 파일을 없애버리거나 전산망을 마비시키는 악의적 행위가 빈발하게 된 것이다.
이러한 파괴적 행위를 하는 자들은 크래커(Cracker)라고 하여 해커와 구별해야 한다는 견해도 있지만, 일반적으로 해커와 크래커는 구별되지 않고 범죄적인 행위를 하는 자의 의미로 받아들여지고 있다.
오늘날 해킹은 전세계를 하나로 연결하는 인터넷의 발달과 더불어 사이버 세계를 어지럽히는 신종 범죄로서
사회에 적지않은 물의를 일으키고 있다. 대표적인 해킹 사례로는 1985년 3명의 서독 해커가 구 소련의 KGB요원에게 포섭된 뒤 퍼스널 컴퓨터를 이용하여 미국 등 서방 선진국의 주요 군사기술 시스템에서 수천개에 달하는 암호 등 극비정보를 빼내 건내준 사건을 들 수 있다. 해킹에 대응하여 컴퓨터 보안 기술도 발달하였는데, 방화벽을 쌓아 불법접근을 차단하는 방식 등을 이용한다.
우리나라는 '정보통신망이용촉진 및 정보보호 등에 관한 법률' 등에서 해킹행위를 금지한다. 정당한 권한이 없는 자가 정보통신망에 침입하는 행위를 금지하고, 정보통신시스템이나 데이터 또는 프로그램 등을 훼손할 수 있는 악성프로그램 유포를 금지하며, 부정한 명령처리 등의 방법으로 정보통신망에 장애를 발생하게 하는 행위를 금지하고(48조), 이를 위반한 자는 처벌한다.
사회 전반적으로 보안,해킹사고가 끊이지 않는 요즘...
어줍잖은 실력이지만 이런 사건들에 대해 분석해보고자 많은 기사와 정보를 뒤졌습니다.
그리하여 '게임 해킹 진단'이란 주제로 게임 해킹의 목적과 온라인게임 공격해킹툴의 유형, 클라이언트 공격해킹툴의 공격유형을 정리하고, 이들의 특징에 대해 포스팅하겠습니다.
먼저 게임 해킹의 목적을 알아보겠습니다.
게임을 해킹하는 이유는 크게 세가지 정도로 요약됩니다.
1. 자신의 실력 과시를 위하여
2. 빠른 캐릭터 성장을 위하여
3. 금전적 이득을 취하기 위하여
과거에 거의 모든 해킹사고의 원인이 1번과 2번이었다면, 최근 해킹사고의 추세는 3번으로 변화하고 있습니다. 보다 지능적이고 개인의 영리를 취하는 형식으로 변해가고 있는거죠..
이젠 단순히 게임을 조금 쉽게 풀어가거나 컴퓨터 실력을 과시하던 행복한 시절(?)은 없습니다.
안타까운 일이지만.. 이에 대한 대응 솔루션들을 보안 개발자들이 신속히 개발했으면 합니다.
온라인 게임 공격 해킹툴의 유형
스피드핵
게임 내에서 자신의 이동 및 공격 속도를 증가 조절
Client PC의 속도를 임의로 조정하여 게임속도를 조절
스피드핵의 국가대표격 핵툴인 Crasxp와 A Speeder. 속도를 임의로 조절 가능하다
Speed Hacj 사용시 Character 성장속도비교
※ 스피드핵 사용 이유와 문제점
◆ 빠른 레벨업
◆ 예상하지 못한 빠른 성장에 컨텐츠 부재
◆ 과도한 패킷 통신으로 인한 서버 부하
메모리 에디트(메모리 변조)
메모리 에디트 프로그램으로 메모리내 게임 데이터 변조 가능
디버깅한 데이터로 각종 게임핵 제작 가능
Game Cheater 사용화면
매크로, 오토 마우스
게임내 편의상 제공되는 매크로를 프로그램화 하여 사용
자동 사냥, 물약 복용, 스킬 사용, 상점핵 등
계속되는 몬스터 사냥으로 타 사용자의 불만 및 서버 부하 초래
매크로 사용 예
오토마우스 사용화면
패킷 핵 (BOT)
서버로 전송되는 게임 패킷을 임의로 치환한 후 전송함으로써 다양한 조작이 가능
공격 패킷을 여러 번 전송하는 멀티 어택 핵
게임 패킷을 완전 분석하여 몬스터 위치를 파악, 자동 사냥이 가능한 고수준의 BOT
패킷 해킹 툴인 WPE로 패킷을 분석하는 장면
Non- Client BOT
게임 클라이언트 없이 게임 실행 가능 (Bot 프로그램 하나만 실행시킨 후 자동사냥)
게임 플레이를 하지도 않는 사용자들이 서버로 대량 접속하기 때문에 서버 과부하 발생
(클라이언트에 보안 코드를 넣어도 클라이언트 자체가 실행되지 않으니 무용지물)
유료 BOT이라 업데이트 속도도 가공할 만함
주로 해외에서 초고수급 해커들이 제작
파일 변조
임 클라이언트, 데이터 파일(Map, Script) 등을 분석, 조작하는 방법
역공학을 이용하여 클라이언트의 보안 코드를 건너뛰는 방법
WinHex에 의한 hex값 조작 역공학 disassembling을 이용한 파일 분석
전용핵
범용으로 사용하는 것이 아닌 특정 게임을 겨냥하고 제작된 것이라 기능이 더욱 막강함
특정 게임에 대한 의도적인 해킹의 대표적인 사례로 최근에 증가 추세
해킹 툴에 대한 별도의 지식이 없어도 쉽게 사용 가능
※ 전용 핵은 핵툴 제작업체가 전문 판매용으로 개발한 툴로 기능은 물론이고 인터페이스의 용이성 등 다른 일반 핵 툴과는 레벨이 다릅니다.
Game Hacking and Security 클라이언트 공격 해킹 툴의 유형
백도어프로그램
- 상대방의 컴퓨터를 제어하는 기능
- 상대의 타이핑을 가져오는 기능
- 개인 정보 유출, 게임 정보 유출
키로깅 프로그램
-특정 PC의 키보드 입력값 및 이벤트 메시지를 txt 파일로 저장 및 특정 메일로 전송
- PC방 등 컴퓨터를 공용으로 사용하는 장소에서 피해 심각
게임 해킹의 피해
사용자 정보 유출 법적 문제 유발
게임의 공정성 저하 핵 사용자 외 사용자들의 의욕상실
서버부하 유발 사용자 불만 초래 및 서버관리비용 증가
캐릭터의 초고속 성장 게임의 수명 단축
유저 감소로 인한 금전적 손실
회사의 대외, 대 유저 이미지 추락
게임 해킹 공격에 대한 대응방안
패킷 암호화
프록시 서버 방지
로그 서버를 운용
키로그 프로그램 무력화 : 입력되는 키보드 값을 암.복호화 할 수 있는 모듈 개발
스파이웨어 무력화 : 키보드 입력 정보를 하위레벨에서 상위레벨까지 암호화
메모리 디버깅 차단 솔루션 설치
제가 제시한 방안대로 한다고 해서 게임 해킹을 원천적으로 차단할 수 있는건 아닙니다.
다만.. 조금더 안전하자는 취지에서 제안하는 겁니다.
보안업체나 컨설팅업체, 솔루션 개발 업체에서 담당하실 일들이죠..
암튼 국내 게임보안업체 화이팅 ~!! ^^;;
[출처]
백과 " 컴퓨터바이러스 "
http://100.naver.com/100.nhn?docid=151223
오픈백과 " 해킹이란?(해킹과해커) "
http://kin.naver.com/open100/db_detail.php?d1id=1&dir_id=106&eid=/lIa+/tYDc7lJN9ky/bmyECnNw5rXoQ7&qb=x9jFt8DMtvU=
블로그 " 게임해킹진단 "
http://blog.naver.com/master_it/70040108217