84
2006. 6 ........................................................ ....................... ........................................................ ....................... ........................................................ ....................... ........................................................ ....................... ........................................................ ....................... ........................................................ ....................... ........................................................ ....................... ........................................................ ....................... ........................................................ ....................... 2 0 0 6 . 6

2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

2006.6

........................................................

.......................

........................................................

.......................

........................................................

.......................

........................................................

.......................

........................................................

.......................

........................................................

.......................

........................................................

.......................

........................................................

.......................

........................................................

.......................

정보통신부∙

한국정보보호진흥원

2006.

6

온라인게임

해킹

가이드

Page 2: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

온라임게임해킹대응가이드1010101010101010101010101010101010101010101010101010101010101010101010101

010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101

010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101

2006. 6

Page 3: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

본 가이드는 한국정보보호진흥원과「온라인게임 정보보호 협의회」에서 국내

온라인게임 해킹을 예방하고 신속하게 응하기 위한 지침서로 개발되었습니다.

본 가이드 작성에 한국정보보호진흥원 연구원들과 게임업체, 보안업체 등 외부 전

문가들이 참여하 습니다.

2006년 6월

사업 책임자 : 본 부 장 김 우 한

연구 책임자 : 팀 장 성 재 모

참여 연구원 : 수석연구원 정 현 철

수석연구원 박 우

주임연구원 김 민 섭

연 구 원 김 직

(주)안철수연구소 이 호 웅

외부 전문가 : (주)엔씨소프트 김 휘 강

(주)잉카인터넷 김 칠 용

NHN(주) 전 상 훈

한국형사정책연구원 신 동 일

Page 4: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제 1 장 개 요 ……………………………………………………………… 10

제 2 장 온라인 게임 서비스 및 보안 현황 ……………………………… 11

제 1 절 온라인 게임 서비스 구성…………………………………… 12

제 2 절 온라인 게임 업체 보안 현황 ……………………………… 15

제 3 절 온라인 게임 서비스 공격 현황 …………………………… 18

제 4 절 온라인 게임 해킹 관련 적용 법률 ………………………… 25

제 3 장 개발 시 보안 책 ……………………………………………… 33

제 1 절 웹 어플리케이션 개발 시 보안 책 ……………………… 34

제 2 절 게임 서비스 개발 시 보안 책 …………………………… 40

제 4 장 게임 서비스 보안 관리 ………………………………………… 45

제 1 절 Windows 2003 서버 보안 ………………………………… 46

제 2 절 유닉스/리눅스 서버 보안…………………………………… 54

제 3 절 게임보안 솔루션 …………………………………………… 63

제 4 절 어플리케이션 보안성 검수 ………………………………… 68

제 5 장 내부 시스템 보안 ………………………………………………… 73

제 1 절 네트워크 차단 ……………………………………………… 74

제 2 절 웹 서버 보안 ………………………………………………… 84

제 3 절 E-mail 보안 ………………………………………………… 102

제 4 절 내부 직원 보안 정책 ……………………………………… 111

제 5 절 해외 진출 시 보안 고려사항 ……………………………… 114

제 6 장 고객 정보보호 ………………………………………………… 119

제 1 절 개인정보보호 정책 및 법∙제도 현황 …………………… 120

제 2 절 개인정보보호 침해사례…………………………………… 125

제 3 절 이용자 개인정보보호 책 ……………………………… 128

제 7 장 침해사고 응 ………………………………………………… 139

제 1 절 침해사고 응팀 구축……………………………………… 140

제 2 절 침해사고 응 관련 기관 ………………………………… 148

제 3 절 침해사고 응 및 복구절차 ……………………………… 153

제 4 절 침해사고 피해시스템 분석기법 ………………………… 157

[참고문헌] ………………………………………………………………………… 158

[부록 1] 온라인 게임 정보보호 협의회 비상연락망 ………………………… 160

[부록 2] 온라인 게임 사용자 10 정보보호 수칙 ………………………… 161

[부록 3] 해킹∙바이러스 방지 체크리스트 ………………………………… 163

Contents

+ + ++ + +온라임게임해킹대응가이드

ww

w.k

isa

.or.k

r

Page 5: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

표 목차

<표 2-2-1> 2005년도 온라인 게임업체 매출액 ………………………………………………………… 16

<표 2-2-2> 보안관련 장비 보유현황 ……………………………………………………………………… 16

<표 2-2-3> 업체 규모별 보안인력 현황 …………………………………………………………………… 16

<표 2-2-4> 2005년도 서비스 공격 현황 ………………………………………………………………… 17

<표 2-2-5> 2005년도 서비스 공격 국가 현황(복수 응답 가능) ………………………………………… 17

<표 2-2-6> 2005년도 월 평균 해킹관련 고객신고 접수현황 …………………………………………… 17

<표 2-2-7> 업체별 게임 해킹피해 규모(금액) 현황 ……………………………………………………… 18

<표 2-4-1> 과태료 부과 상 위반행위 관련 법률 ……………………………………………………… 27

<표 2-4-2> 해킹으로 인한 비 침해 처벌 법규…………………………………………………………… 28

<표 2-4-3> 해킹에 의한 자료훼손∙삭제 처벌 법규……………………………………………………… 29

<표 2-4-4> 해킹에 의한 업무방해 처벌 법규……………………………………………………………… 30

<표 4-3-1> 살펴보아야 할 서비스 ………………………………………………………………………… 58

<표 5-2-1> Webknight 주요 기능 ………………………………………………………………………… 91

<표 7-1-1> 해킹∙바이러스 정보제공 사이트…………………………………………………………… 146

<표 7-2-1> 해킹∙바이러스 사고 신고기관……………………………………………………………… 146

<표 7-3-1> 단계별 사고 응절차 ………………………………………………………………………… 151

그림 목차

<그림 2-1-1> 3-tier 아키텍쳐를 통한 웹 서버/DB 서버 보안 ……………………………………………… 14

<그림 2-3-1> 웹 사이트 취약점을 노린 공격 가능성 위치 ………………………………………………… 19

<그림 2-3-2> Non Client Bot 프로그램 예…………………………………………………………………… 20

<그림 2-3-3> 다양한 스피드 핵의 종류 ……………………………………………………………………… 21

<그림 3-1-1> 자동화된 SQL Injection 공격 툴 ……………………………………………………………… 34

<그림 4-1-1> 보안구성마법사 설치 ………………………………………………………………………… 46

<그림 4-1-2> 보안구성 서버 선택 …………………………………………………………………………… 47

<그림 4-1-3> 서버 역할 선택 ………………………………………………………………………………… 48

<그림 4-1-4> 클라이언트 기능 선택 ………………………………………………………………………… 48

<그림 4-1-5> 관리 및 기타 옵션 선택………………………………………………………………………… 49

<그림 4-1-6> 추가 서비스 선택 ……………………………………………………………………………… 49

<그림 4-1-7> 서비스 변경 확인 ……………………………………………………………………………… 50

<그림 4-1-8> 포트 열기 및 응용 프로그램 허용 …………………………………………………………… 51

<그림 4-1-9> SMB 보안 서명 ………………………………………………………………………………… 52

<그림 4-1-10> 인바운드/아웃바운드 인증 방법 ……………………………………………………………… 52

<그림 4-1-11> 시스템 감사 정책 ……………………………………………………………………………… 53

<그림 4-1-12> 동적 콘텐트에 한 웹 서비스 확장 선택 …………………………………………………… 54

<그림 4-2-1> ntsysv 실행 화면 ……………………………………………………………………………… 57

<그림 4-3-1> 키보드 보안의 원리 …………………………………………………………………………… 65

<그림 4-3-2> 커널 디버거의 표격인 소프트아이스(SoftICE) …………………………………………… 65

<그림 4-4-1> 개발 프로세스 ………………………………………………………………………………… 69

<그림 4-4-2> 조직간 개발 프로세스 ………………………………………………………………………… 70

<그림 5-1-1> 비정상 IP 역 필터링 ………………………………………………………………………… 75

<그림 5-1-2> 악성 포트를 필터링 한 예……………………………………………………………………… 76

<그림 5-1-3> ICMP 필터링 예………………………………………………………………………………… 77

<그림 5-1-4> 통합된 access-list 설정 ……………………………………………………………………… 78

<그림 5-1-5> access-group에 적용한 예 …………………………………………………………………… 78

<그림 5-1-6> access-list 설정………………………………………………………………………………… 79

<그림 5-1-7> access-group 설정 …………………………………………………………………………… 80

<그림 5-1-8> Null 0 인터페이스 생성………………………………………………………………………… 81

<그림 5-1-9> Null 라우팅 설정 ……………………………………………………………………………… 81

<그림 5-1-10> blackhole 필터링 설정 해제…………………………………………………………………… 82

<그림 5-1-11> CEF 가 enable 되어 있지 않을 경우 ………………………………………………………… 83

<그림 5-1-12> URPF 설정 ……………………………………………………………………………………… 83

<그림 5-2-1> Webknight 설치 프로그램 #1 ………………………………………………………………… 85

<그림 5-2-2> Webknight 설치 프로그램 #2 ………………………………………………………………… 85

<그림 5-2-3> Webknight 설치단계 #1 ……………………………………………………………………… 86

<그림 5-2-4> Webknight 설치단계 #2 ……………………………………………………………………… 86

<그림 5-2-5> Webknight 설치 종료 메시지 ………………………………………………………………… 87

<그림 5-2-6> Webknight 설치 디렉토리 …………………………………………………………………… 87

<그림 5-2-7> Webknight 설치 확인 ………………………………………………………………………… 88

<그림 5-2-8> IIS 5.0 격리모드로 실행 ……………………………………………………………………… 88

<그림 5-2-9> Webknight 제거………………………………………………………………………………… 89

<그림 5-2-10> Webknight 설정화면…………………………………………………………………………… 90

<그림 5-3-1> 기존 메일서버에 ClamAV를 추가한 사례 ………………………………………………… 104

<그림 5-3-2> ClamAV를 설치한 메일서버를 별도로 구성한 사례 ……………………………………… 104

<그림 5-4-1> 정보보안 정책/절차/지침/가이드라인 hierarchy ………………………………………… 112

<그림 7-1-1> 사고 응 인력의 자질………………………………………………………………………… 142

<그림 7-2-1> 한국침해사고 응팀협의회 초기 화면……………………………………………………… 147

<그림 7-2-2> 인터넷침해사고 응지원센터 초기 화면…………………………………………………… 148

<그림 7-2-3> 사이버테러 응센터 초기 화면 …………………………………………………………… 149

Contents

+ + ++ + +온라임게임해킹대응가이드

ww

w.k

isa

.or.k

r

Page 6: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

온라인게임 해킹 대응 가이드

개요제1 장

+

+

+

+

+ + +

Page 7: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

2005년 온라인 게임 시장 규모가 1조 4,644억원으로 2004년의 1조 2,061억원에 비해

21.4% 라는 고도성장을 이루었다. 또한, 하나의 인기 온라인 게임 사용자수가 수백만 명에

이를 정도로 온라인 게임은 국내 인터넷 사용에 있어 중요한 요소로 자리잡아가고 있다.

하지만, 많은 사용자와 매출을 기록하고 있는 온라인 게임은 해킹, 개인정보 유출 등으

로 인해 몸살을 앓고 있다. 지난 2005년 중순경부터 시작된 중국발 해킹은 국내 게임 아이

디와 패스워드 유출을 주목적으로 하고 있다. 주로 온라인 게임 정보 유출을 노린 악성코드

유포지 및 경유지 사이트는 2006년 1월부터 5월 사이에만 2,745개에 달하고 있다. 악성코

드 유포 사이트는 뉴스 사이트와 같이 인터넷 사용자 접속이 많은 사이트들이 다수 포함되

어 있어 국내 인터넷 사용자들의 게임정보 유출 위험이 단히 높다. 또한, 온라인 게임 서

비스를 상으로 한 해킹은 홈페이지를 통한 악성코드 유포뿐만 아니라, 게임 서버에 한

직접적인 해킹, 게임 봇을 이용한 해킹 등 단히 다양한 형태를 띄고 있다.

불법적인 온라인 게임 접속을 위한 개인 정보 유출 및 명의도용도 국내 인터넷 이용에

심각한 문제로 두되고 있다. 수백만 건으로 추정되는 국내 개인정보가 해외로 유출되어,

해외에서 국내 인터넷 사용자 명의로 게임에 접속하고 있다. 유출된 개인정보는 불법적인

게임 접속뿐만 아니라 다른 용도로도 사용될 수 있어 그 위험성은 한층 크다고 볼 수 있다.

본 가이드에서는 온라인 게임 서버 운 자 및 보안 담당자가 해킹 및 개인정보 유출을

예방할 수 있도록 네트워크, 서버, 어플리케이션 등 각 요소에서 안전한 온라인 게임 서비

스 제공 책을 살펴보고, 관련 법∙제도에 해서도 알아보도록 한다.

제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제 1 장 개요

10 │ www.kisa.or.kr

제1 절 온라인게임서비스구성

제2 절 온라인게임업체보안현황

제3 절 온라인게임서비스공격현황

제4 절 온라인게임해킹관련적용법률

온라인게임서비스및보안현황제2 장

+

+

+

+

Page 8: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제 1 절 온라인 게임 서비스 구성

1. 각 게임 서비스 별 보안 위험

온라인 게임은 모바일게임, 웹서비스 기반 하에 동작하는 캐주얼 게임, MMORPG 게임

등 게임 기획의도에 따라 다양하게 장르가 나누어져 있고, 각 장르에서도 게임개발자의 설

계에 따라 구성 현황은 모두 다르므로 일반화하기는 매우 어렵다. 또 각 게임의 특성에 따

라 취해야 할 보안 전략과 구축해야할 보안솔루션의 종류 역시 다르다.

모바일게임의 경우에는 무선구간과 유선구간을 중계해주는 접점의 서버보안과 네트워

크 보안을 강화해야 하지만 이기종 네트워크 간 연결이므로 안정성이 최우선이 되어야 하

는 것이 전제되어야 한다. WAP browser가 지원되는 단말기(휴 폰, PDA 등)에서만 접속

이 가능할 것으로 생각하고 사용자의 입력이 제약되어 있을 것이라고 일반적으로 생각한

다. 이에 따라 웹을 통한 해킹이 제약적일 것으로 보고 웹 구간에 특별히 조치를 취하지 않

는 경우가 많은 편인데, 해커의 입장에서는 일반적인 웹 서버를 공격하는 것과 큰 차이를

느끼지 않으므로 웹 서버 보안 역시 간과하여서는 안 된다.

캐주얼 게임의 경우에는 웹 서버를 통하여 로그인을 한 후 게임 업데이터와 클라이언트

를 launch 하는 것이 일반적이다. 캐주얼 게임들은 부분 로그인정보를 유지하기 위해 웹

서버와 끊임없이 세션을 유지하는 경우가 많으며 게임의 특징상 외부 결제시스템과 연계되

어 사이버머니/코인을 충전하거나 온라인상점에서 아이템을 구매하여 선물을 주는 기능을

갖고 있다.

또한 캐주얼 게임이 웹포탈과 메신져 등 다른 서비스와 연계되어 있는 경우에는 SSO와

세션관리를 편리하게 하기 위해 PC 단의 메신져에서 이런 세션 중앙관리를 하기 위해 로

그인 정보를 관리하는 것이 일반적이다.

12 │ www.kisa.or.kr

제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제2 장 온라인 게임 서비스 및 보안 현황

위와 같은 특징 때문에 웹과 관련된 공격을 많이 받을 수 있으며, 만일 해커가 웹 서버의

해킹에 성공하게 된다면 DB 조작 및 결제시스템으로의 침입도 가능하므로 이를 막기 위해

서는 웹 소스 코드상의 취약점을 수시로 제거하는 것이 중요하다. 웹 소스 코드의 취약점

점검을 수시로 수행할 인력이 부족하거나 웹사이트의 renewal이 수시로 발생하여 웹 소스

코드 취약점 점검이 어려운 경우에는 세션처리능력이 우수한 웹 방화벽을 구축할 것을 권

고한다.

하지만, 웹 트래픽이 현재까지 출시된 웹 방화벽의 SPEC을 초과하여 웹서비스의 속도

지연이 우려되어 웹 방화벽을 도입할 수 없고 주기적으로 소스코드상의 취약점을 점검하기

도 어려운 경우에는 웹 서버는 복구(recovery) 전략을, DB 서버는 보안강화 전략을 택하도

록 한다.

즉, 웹 서버는 보안강도가 낮아져서 해킹이 발생할 수 있다 하더라도 해킹된 흔적이 발

견되면 즉시 해킹당하기 전 상태로 원상복구 할 수 있도록 깨끗한 image를 보존하고 있다

가 신속하게 복구될 수 있도록 한다. 웹 서버가 로드밸런싱 구성으로 다수 존재하고 정기점

검 시 부팅시간이 적절하다면, 웹 컨텐츠는 보안이 잘 갖추어지고 단순 웹 접속만 할 수 있

는 서버에서 관리하고, 웹 서버들은 매 부팅 때마다 깨끗한 image로 부팅하는 것이 좋다.

자주 쓰는 image는 내부 캐쉬 서버나 CDN과 같은 외부 캐쉬 서비스에 위탁하여 두는 것

도 안전한 방법이다.

DB의 보안강화는 3-tier 아키텍쳐 구성을 통하여 해결할 수 있다. 다만 미들웨어 형태

의 구성이 필요하므로 COM+나 소켓 통신이 가능한 데몬 역할을 수행할 프로그램을 개발

하는 작업이 필요하다. 이를 통해 웹 서버군과 DB 서버군을 VLAN 단위로 완전히 격리시

킨 후 웹 서버로부터 DB로의 직접 통신을 모두 차단한 후, 지정된 웹 서버에서만 미들웨어

를 통하여 DB 서버에 안전하게 통신이 가능하도록 해야한다. 미들웨어 서버는 미들웨어의

통신용 포트만을 open하여 다른 포트로 공격받을 가능성을 없앤다.

온라인게임해킹 응가이드 │ 13

제2장

온라인

게임

서비스

보안

현황

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록

Page 9: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

이를 통해 최종적으로 지정된 웹 서버에서 지정된 DB로 통신하기 위해서는 미들웨어를

거쳐야 하고 미들웨어의 protocol을 알아야 만이 미들웨어에서 DB로 통신이 가능하므로,

웹 서버가 해킹 당한다 하더라도 DB 서버로 공격이 확산되지 않게 된다.

이 외에 사용자의 PC 단에서 세션 관리를 하는 프로그램이 우회되지 않도록 개발보안을

강화하는 것과, 게임 클라이언트 프로그램이 reverse engineering 및 cheating(스피드

핵, 맵핵 등)을 당하지 않도록 anti-cheating 및 anti-debugging tool을 적용하는 것이

필요하다. anti-cheating 솔루션 또는 anti-debugging tool에는 국내의 GameGuard(잉

카인터넷)와 핵쉴드(안철수연구소) 등과 외산의 themida (http://www.oreans.com),

SecurePlay (http:/www.secureplay.com/) 등이 있다.

MMORPG 게임들의 경우 웹에 로그온한 후 launcher를 통하여 게임이 구동되는 구조

가 아니라 게임클라이언트 프로그램에서 직접 로그인이 되는 점이 주요 차이점이라 할 수

있다. 아이템에 한 부분유료화가 되지 않은 게임들의 경우 웹상에서 아이템 구매나 사이

버머니 충전이 되는 기능이 없다는 점 역시 캐주얼 게임과 다른점이다.

MMORPG 게임에도 캐주얼 게임에서 존재하는 위험이 부분 존재한다.

최근 몇 년간 국내 게임의 발전과 해외진출 성공으로 인해 국내 게임 개발회사들에 한

공격이 늘어나고 있으며 특정 게임을 상으로 한 트로이목마나 바이러스가 생겨날 정도로

해외 해커들의 표적이 되고 있다. 공격 상은 상용화되어 고객서비스가 이루어진 게임

의 제작사 뿐 아니라 개발단계에 있는 게임의 소스코드를 획득하기 위해 국내 게임 개발회

사라면 가리지 않고 해킹이 이루어지고 있으므로 최소한 웹과 DB 보안에 한 적절한 보

안 시스템 구축을 하여야 한다.

2. 게임 서비스 구성

각 게임 장르마다 다르긴 하지만, 게임 서비스에 이용되는 시스템군을 개략적으로 정리

해 보면 다음과 같다.

게임 서비스의 운 을 위해 공통적으로는‘웹 서버’, ‘인증서버 (auth. server)’, ‘게임진

행서버 (main game server)’, ‘과금서버 (billing server)’가 운 되는 것이 일반적이다.

국내 부분의 개발회사가 MS Windows platform 하에서 개발하는 것을 선호하므로 웹

서버를 제외한 나머지 서비스에 이용되는 시스템의 OS는 MS Windows 2000이나 2003이

이용되고있으며, DB는MS-SQL 서버를이용하는것이 부분이다.

웹 서버는 사용자들의 다량의 접속을 cover하기 위해 량의 서버들이 필요하기 때문에

비용적인 차원에서 Linux 시스템을 이용하거나, 다른 시스템(예: MS SQL을 이용하는 게

시판 DB 등)과의 호환 용이성을 위해 MS Windows IIS를 이용한다.

웹 서버를 비롯한 서비스 최 상단에 위치한 서버들은 세부적으로 구분하면 정보제공과

커뮤니티 서비스를 제공하는 front-end 웹 서버와, 인증을 거친 후 캐주얼 게임들을 구동

시켜주는 launcher 서버로 나눌 수 있다. 이 중 front-end 웹 서버는 웹해킹 공격에 노출

되어 있고 launcher 서버들은 일반적인 공격을 받기 보다는 reverse engineering에 의한

launcher 우회나 조작을 당하는 경우가 많다.

DB는 서비스 규모에 따라 다르지만 최소한 인증관련 사용자 정보가 담겨 있는 계정 DB

와 게임플레이의 정보가 저장되는 DB가 가장 많은 공격의 상이 된다.

제 2 절 온라인 게임 업체 보안 현황

온라인게임정보보호협의회에 가입한 게임업체들을 상으로 설문을 실시하여, 그 중 설

문에 응답한 11개 게임업체를 상으로 결과 분석을 진행하 다.

설문 문항은 총 35개로서, 온라인 게임 업체의 규모 및 보안현황, 해킹 피해현황 전반에

한 파악을 목적으로 설문을 실시하 다.

제2장

온라인

게임

서비스

보안

현황

14 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 15

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

〈 그림 2-1-3 〉3-tier 아키텍쳐를 통한 웹 서버/DB 서버 보안

Page 10: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

1. 조사일정

�조사 상 : 11개 게임업체(온라인게임정보보호협의회 회원사)

�조사기간 : ’06년 2월 14일(화)~2월 23일(목)

2. 설문결과

가. 운 현황 관련

조사 상 기관 중, 100억 이상의 매출규모를 가지고 있는 업체의 경우, 부분 방화벽,

IDS, IPS, 바이러스월 등 다수의 보안장비를 보유∙운 하고 있었으나, 상 적으로 매출이

적은업체의경우방화벽등의기본적인보안장비만을보유한것으로조사되었다.

< 표 2-2-1 > 2005년도 온라인 게임업체 매출액

< 표 2-2-2 > 보안관련 장비 보유현황

보안인력의 경우, 매출액 100억 이상의 게임업체는 100억 미만의 게임업체보다 2배가

량의 보안 전담인력을 보유하고 있으며, 외부 전문 인력의 활용도 활발한 것으로 조사되었

다. 반면, 100억 미만의 게임업체는 외부 전문 인력의 도움 없이 적은 수의 직원이 보안 업

무를 수행하고 있어 보안관리 인력의 확충이 필요한 것으로 나타났다.

< 표 2-2-3 > 업체 규모별 보안인력 현황

나. 피해 현황 관련

’05년 게임 서비스에 한 공격여부를 묻는 설문에서는 10개 업체에서 공격시도 이상의

피해가 있었다고 답했으며 (1개 업체 미확인으로 답변), 3개 업체에서는 실제 해킹으로 인

한 피해가 발생하 다고 답변하 다.

< 표 2-2-4 > 2005년도 서비스 공격 현황

공격의 근원지로는 10개 업체에서 중국이라고 답변하 으며, 공격유형에 한 설문에서

는 웹 취약점 공격과 시스템 취약점 공격이 주로 탐지되었다고 답변하 다.

< 표 2-2-5 > 2005년도 서비스 공격 국가 현황(복수 응답 가능)

월 평균 게임해킹관련 고객 신고 건수는 8개 업체에서 월 100건 이내로 발생하고 있다

고 답하 으며, 주요 게임 이용자들의 피해유형에 한 설문에서는 게임 채팅 상에서 관리

자 또는 지인 사칭, 게임 사용자 컴퓨터 해킹 그리고 게임 아이템 거래 사기 유형이 많이 접

수되는 것으로 조사되었다.

< 표 2-2-6 > 2005년도 월 평균 해킹관련 고객신고 접수현황

게임 해킹으로 인한 업체 및 고객의 경제적인 피해 규모를 묻는 설문에서는 10개 업체가

경제적 피해가 발생한 것으로 답변하 으며, 피해 규모는 부분 100만원~1억원 정도로

조사되었으며, 1억원 이상의 피해를 입은 업체도 2개나 되었다.

제2장

온라인

게임

서비스

보안

현황

16 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 17

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

구분매출액 100억 이상 (7개 업체) 매출액 100억 미만 (4개 업체)

전담인력 외부인력 전담인력 외부인력

인원 2.8명 3.1명 1.5명 0.25명

구분 해킹, 피해발생 해킹, 피해 미발생 공격시도, 해킹 미발생 공격시도 없음 미확인

업체 수 3 1 6 0 1

구분 F/W IDS IPSSecure

OS일회용

패스워드웹

방화벽ESM 바이러스월 기타

응답 업체 수 8 4 6 1 2 2 0 5 1

구분 500억 이상 100~99억 10~99억 10억 미만

응답 업체 수 4 3 2 2

구분 공격없음 중국 한국 일본 미국 기타

업체 수 0 10 1 0 0 2

구분 없음 1~100건 101~200건 200건 이상

업체 수 0 8 0 3

Page 11: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

< 표 2-2-7 > 업체별 게임 해킹피해 규모(금액) 현황

제 3 절 온라인 게임 서비스 공격 현황

온라인 게임의 공격 유형으로는 크게 서버 공격과 클라이언트 공격으로 나눌 수 있다.

서버 공격은 말 그 로의 서버 해킹을 의미한다. 웜, Dos공격, 패킷 리플라이 공격, 웹 사

이트 취약점 공격 등 악의적 목적을 갖고 서비스를 마비시키기 위하여 서버를 다운시키거

나, 소스 코드를 탈취하는 등의 부류가 이에 속한다. 클라이언트 공격은 자신의 PC에 설치

된 클라이언트 파일에 한 변조나 스피드핵 사용, 메모리 조작 등을 들 수 있다. 사용자들

이 흔히 표현하는“핵”이라는 용어가 이 클라이언트 해킹 범주에 들어가게 된다. 그렇다

면, 서버 공격과 클라이언트 공격은 구체적으로 어떤 것들이 있는지 유형별로 살펴보기로

하겠다.

1. 서버 공격

가. 게임 소스 탈취

어떤 프로그램이든 그렇겠지만, 온라인 게임의 소스 코드 역시 보안에 보안을 거듭해도

모자라지 않을 만큼 중요한 것이다. 이 게임 소스를 탈취하면, 게임에 한 정보를 모두 파

악할 수 있고, 똑같은 게임을 마음 로 서비스할 수도 있다. 우리나라의 온라인 게임은 국

제적으로도 상당한 수준이라, 해외로 수출하는 경우가 많은데, 부분의 게임 소스는 이때

에 유출되곤 한다.

본 서버에 비해 상 적으로 보안에 허술한 테스트 서버 오픈 시에 이러한 소스 탈취의

위험도가 더 높게 되며, 해킹을 통해 유출된 소스로 인해 생겨나는 것들이 바로 프리서버

(Free Server)라는 불법 게임 서버이다. 프리서버의 발생은 곧 게임 서비스 질 저하로 이어

지게 된다.

나. Dos, 웜, 패킷 리플라이 공격

악의적 목적을 가지고 게임 서비스를 중단시키려는 경우가 이에 속한다. 게임 서비스에

불만을 갖고 혹은 해커의 실력을 과시하기 위해 서버를 공격하여 다운시킨 후 서비스를 할

수 없게 만드는 경우를 말한다. 서버 공격의 표격인 Dos공격을 가하거나, 웜에 의한 무

차별 패킷 발송이 표적인 경우이다.

이 같은 경우는 굳이 온라인 게임에서가 아닌 다른 해킹의 경우에도 비슷하지만, 온라인

게임의 특성과 좀더 직접적으로 연관된 부분도 없지 않다. 좀비 프로그램을 제작하여 무차

별로 로그인을 시도하는 패킷 리플라이 공격(로그인을 무한 시도하여 서버에 부하를 주는

방법) 등도 표적인 사례로 볼 수 있다. 어쨌든 부분 서버 과부하 또는 서버 다운을 의도

하여 행한 해킹으로, 게임 서비스 중지를 그 목적으로 한다. 중국에 게임을 수출하는 경우

“우리나라에 게임을 수출하지 마라”라며 해커가 게임 서버에 공격을 가한 경우도 있다.

다. 웹 사이트 취약점

웹 사이트의 취약점을 이용하여, 서버에 해커가 원하는 악성 코드를 심어놓고, 그곳에

접속하는 사용자들에게 백도어나 바이러스 등을 감염시키는 해킹 유형이다. 반드시 게임

서버가 아닌 경우도 많으며, 관리가 허술하고 인터넷 사용자들의 접속이 빈번한 웹 사이트

가 주 공격 상이 되고 있다.

제2장

온라인

게임

서비스

보안

현황

18 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 19

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

구분 없음 100만원~1억 1억~10억 10억 이상

업체 수 0 8 2 0

〈 그림 2-3-1 〉웹 사이트 취약점을 노린 공격 가능성 위치

Page 12: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

해커의 목적은 주로 백도어 감염을 통한 게임 계정 도용이다. 사이트에는 백도어를 심어

놓고, 사이트에 접속한 사용자들의 PC에 백도어가 설치되게 한다. 그 후 사용자가 입력한

게임 계정은 해커의 이메일로 전송된다. 최근 관리가 허술한 웹사이트를 찾아주는 SQL

Injection 자동화 툴이 해커들 사이에서 공유되고 있어 백도어 감염 웹사이트가 늘어나고

있다.

라. Non Client BOT

게임 클라이언트를 설치하지도 않고 게임을 실행하는 형태로 가장 골치 아픈 해킹 유형

중 하나이다. 게임의 패킷 구조를 완전히 분석한 해커가 프로그램을 개발하여 판매하는 형

태로, 그 프로그램만 실행하면 자동으로 서버에 접속하여 이동 패킷, 공격 패킷을 전송하며

사냥을 하게 된다. 게임 플레이를 하지도 않는 사용자들이 서버로 량 접속하기 때문에 서

버 과부하가 생기는 것은 물론, 클라이언트에 아무리 보안 코드를 삽입해도 클라이언트 자

체가 실행되지 않으므로 무용지물인 해킹이다.

앞서 열거한 서버 공격과는 약간 성격이 다르며, 게임 서비스 중지를 목표로 하지는 않

지만, 해커 자신의 이익 추구 그리고 불법 플레이를 조장하는 온라인 게임 공격 형태 중의

하나이다.

다음은 게임 클라이언트 프로그램 없이 게임을 가동시킬 수 있는 프로그램의 화면으로,

이 프로그램을 이용하여 게임 서버에 무단으로 접속하여 캐릭터를 성장시키게 된다.

2. 클라이언트 공격

사실 서버 공격은 반드시 게임 서비스 그리고 게임 서버가 아니더라도 어떠한 서버가 필

요하고 그에 한 서비스를 하는 경우라면 그 공격 유형이 유사할 수 있다. 따라서 특별히

위에 열거한 서버 해킹의 모든 항목이 반드시 게임 분야만의 특징이라고 보기는 어려운 편

이다(논 클라이언트 봇 제외). 그러나 이제부터 열거될 클라이언트 공격 유형은, 거의 온라

인 게임이란 파트에 특화된, 진정한 의미에서의 온라인 게임 서비스 공격 형태라 볼 수 있

다. 서버 공격과의 또 다른 큰 차이점이라면, 서버 공격에서는 게임 서비스 마비의 목적이

주를 이루는데, 클라이언트 공격에서는 자신만이 유리한 위치에서의 게임 플레이, 즉 공정

한 게임 룰 파괴가 그 주목적이 된다(일부 제외). 그럼 클라이언트 공격에는 어떠한 것들이

있는지 분류별로 살펴보겠다.

가. 스피드 핵

클라이언트 공격 유형 중의 가장 표적이자, 해킹에 해 아무것도 모르는 이들도 이름

은 들어봤음직한 해킹 유형이다. 본인 PC(클라이언트)의 시계를 빨리 간 것처럼 속여, 게임

내에서도 빠른 속도로 이동하게 만드는 핵이다. 스피드 핵은 크게 두 가지 종류가 있는데

8254 PIT(Programmable Interval Timer) 칩의 값을 조정하여 컴퓨터의 시계가 빠르게

흐르도록 하는 경우와 타이머 관련 API함수(GetTickCount(), timeGetTime() 등)를 후킹

(Hooking)하여 시간이 빨리 계산되도록 하는 가짜 API함수를 만든 후, 클라이언트에서 시

간을 계산할 때 그 함수를 이용하게 하는 방법이다. 공격 속도와 이동 속도가 빨라지므로

서버와 주고받는 패킷의 양도 당연히 늘어나게 된다. 따라서 이는 곧 서버 과부하의 문제로

이어질 수 있으며, 그와 더불어 공정한 게임 룰에도 지장을 가져오게 된다.

제2장

온라인

게임

서비스

보안

현황

20 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 21

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

〈 그림 2-3-2 〉Non Client Bot 프로그램 예 〈 그림 2-3-3 〉다양한 스피드 핵의 종류

Page 13: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

나. 매크로

이른바“자동 사냥”이라 불리우는 클라이언트 해킹 유형으로, 역시 스피드 핵과 더불어

가장 널리 알려진 해킹에 속한다. “시작”버튼 하나만 누르면, 매크로가 알아서 몹을 발견

하고 공격해 주며, 체력이 떨어지면 자동으로 물약을 복용하는 등 아무런 조작 없이 켜 두

는 것만으로 레벨 업이 가능해지기 때문에 로봇 플레이 또는 BOT이라 불리우기도 한다.

매크로를 이용하여 게임 플레이를 하는 사용자가 많아지면, 당장의 동시 접속자 수는 증가

할지 몰라도, 게임을 직접 플레이 하지도 않으면서 계속적으로 서버와 패킷을 주고받는 유

령 접속자 때문에, 역시 서버 과부하의 문제로 이어질 수 있으며, 이는 곧 몹 사냥터 부족의

문제로까지 발전할 수 있다. 따라서 사용자들의 불만은 높아질 수밖에 없으며, 정상적으로

플레이를 하는 사용자들은 늘어난 매크로 사용자 때문에 게임을 그만두려 하는 경우도 있

다. 이처럼 매크로를 방치하면, 실 사용자 수는 줄어만 가는데, 정작 게임을 즐기지도 않는

거품 사용자들 때문에 오히려 서버를 늘려가야만 하는 아이러니한 사태에 봉착하여 게임

서비스 질 하락, 그리고 게임 서비스 중지라는 최악의 상황까지도 될 수 있다.

다. 메모리 변조, 파일 변조

주로 게임 클라이언트 프로세스의 메모리를 조작하는 해킹을 가리킨다. 메모리 변조는

크게 각종 데이터나 수치와 관련된 여러 값을 처리하는 데이터 역과, 게임의 내부 구현

루틴 즉, 코드 역 부분으로 나눌 수 있다. 먼저 데이터를 조작하는 경우를 살펴보겠다.

현재 게임 외부에서 보이는 HP, 아이템, 레벨, 경험치, 돈 등 모든 수치는 다 메모리에

적용되어 있다. 따라서 메모리에 기록된 값이 어떤 부분인지만 알아내면, 그 부분을 바꿔버

림으로써 순식간에 속임(Cheat)이 가능해지게 된다. 물론 부분의 온라인 게임에서 클라

이언트 PC에 저장되는 메모리 값은, 서버에서 처리한 내용을 보여주는 용도 정도로만 사

용하고 있다. 따라서 그런 경우는 클라이언트에서 아무리 값을 고쳐 봤자, 자신의 PC에서

만 고쳐진 값이“보여질”뿐이므로 그다지 문제될 것이 없다.

하지만, 일부 게임에선 게임의 구조상, 그리고 서버에서의 오버헤드를 최소한으로 줄이

기 위하여 클라이언트의 데이터를 신뢰하여 그 로 게임에 적용하기도 한다. 이런 경우 메

모리 변조가 크게 문제가 된다. 경험치를 배로 올려주게 한다거나, 아이템을 획득했을 때

어떠한 번지에 어떤 값이 기록되는 부분을 변조하여 무한 로 아이템이 얻어지는, 아이템

복사 핵으로까지 발전할 수 있다.

다음은 코드 역을 고치는 부분인데, 이 부분은 데이터 역 변조보다 그 피해도가 훨

씬 심각하며 가장 직접적인 클라이언트 공격에 속한다. 게임 개발자가 게임의 룰을 유지하

기 위하여 작성한 코드를 무력화 시키거나, 자신이 원하는 로 코드를 바꿀 수도 있다. 예

를 들어 보안 코드를 NOP시켜 해당 루틴이 실행되지 않게 하는 일이 가능해진다. 밤낮이

변하는 부분을 무력화 하여 계속 낮처럼 보이게 할 수도 있고, 통행로가 아닌 부분에 억지

로 캐릭터가 지나다니게 할 수도 있다. 이 같은 코드 역의 변조는 메모리에 올라간 후에

변조시킬 수도, 파일 상태에서 미리 변조시킨 후 실행하는 방법도 있다. 후자의 경우를 방

지하기 위하여 클라이언트 실행파일을 프로텍터 등으로 암호화(Packing)하기도 하지만,

언패커(Unpacker)가 공개되며 암호화를 풀어낸 뒤 다시 변조하는 경우도 적지 않다.

이런 식의 메모리 변조는 일반적인 프로그래밍은 물론, 어셈블리어의 역분석에 까지도

능한 초 고수급 해커들이 사용하는 방법이기 때문에 사용할 수 있는 곳은 무궁무진하다. 자

신을 분석해 내는 보안 코드를 뛰어넘게 만들거나 아예 보안 프로그램이 실행되지 않게 만

들어 버릴 수도 있다. 중국의 핵툴 제작업체에선 이런 게임 클라이언트 분석을 통한 메모

리, 파일 변조 해킹이 능수능란하게 이루어지고 있다.

라. 패킷 변조

게임 클라이언트와 게임 서버가 주고받는 네트워크 패킷을 분석하고 조작하는 해킹 유

형이다. 클라이언트에서는 사용자가 플레이한 내용으로 패킷을 만들어 서버로 날리는데,

이때 이 패킷을 캡쳐하여 중간에서 조작, 몇 배의 수치로 늘려 보낸다면 이것이 곧 패킷 해

킹이 되는 것이다. 몹에게 히트를 한방 먹이면 1이라는 패킷이 전달된다고 가정했을 때, 이

때 전송되는 이 1값이 포함된 패킷을 중간에서 가로채 100이라고 바꾸면 백 배의 공력으로

바뀌어 전달되어 어떤 몹이라도 한번에 잡을 수 있게 된다. 여기서 패킷을 암호화하거나,

서버에서 패킷 체크를 함으로써 네트워크 상에서 값을 조작하여 전달하는 것이 불가능할

경우, 그냥 캡춰한 값을 조작하지 않고 보내되, 같은 값을 계속적으로 여러 번 보내는 작업

을 한다면 한 방 먹 을 때 수 십방 먹인 것과 같은 효과가 발생되어 역시 같은 효과를 낼

수 있다. 이것이 곧 한방에 적을 물리칠 수 있는 한방핵의 원리이다.

패킷은 단지 공격 값의 경우에만 제한된 요소가 아닌 다양한 값에 한 처리를 하고 있

제2장

온라인

게임

서비스

보안

현황

22 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 23

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

Page 14: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

기 때문에, 현재 몹의 위치를 파악하거나 자신의 체력 상태 등의 체크도 가능하다. 따라서

패킷을 검사해 어떤 방향에 적이 있는지를 파악하고 그쪽으로 자동으로 이동하는 등 오토

마우스와 더불어 사용되기도 한다. 이정도 수준까지 구현하는 핵툴은 상당한 고수준의

BOT이며 중국, 만 등에서 유료 핵툴을 제작하여 판매하는 경우가 부분으로 개별 게임

사에서 일일이 응하기도 힘든 부분 중의 하나이다.

마. 조준 핵(AimBot)

게임 도중 어떠한 과녁을 맞추기 위해 거리 계산, 각도 등의 눈짐작이 필요할 때 쓰이는

해킹 방법이다. 화면상에 발사 위치를 그려주거나, 각도, 거리 등을 계산하여 준다. 어떠한

메모리 변조나, 패킷 조작도 아닌 단지 화면에 그림을 그려주는 역할 뿐이라 일반적인 메모

리 가드(Memory Guard) 루틴으로는 감지할 수도 없다. 역시 이런 프로그램을 사용하는

자와 그렇지 않은 자와는 게임 레벨 업에 많은 불공정이 있게 되므로, 사용자의 사기와 게

임 의욕을 저하시키는 해킹 부류중의 하나이다. 주로 캐주얼 게임에서 적용되는 사항이다.

바. 계정 해킹

온라인 게임에서 가장 중요한 계정을 훔쳐가는 해킹이다. 다른 게임 클라이언트 해킹 유

형 중에, 사용자들이 가장 직접적으로 피해를 입는 부분이므로, 중적으로는 이러한 것이

일반적으로 해킹이라고 알려져 있다. 계정을 빼앗아가는 방법에도 매우 다양한 기술이 있

으나, 부분은 최신 백신 설치와 윈도우 보안 패치로 예방이 가능하다. 하지만 그것마저

제 로 설치해 놓고 있지 않은 사용자들이나, 타인에게 속아 무심코 계정 정보를 알려주는

게이머들이 흔히 당하는 해킹 중의 하나이다. 계정을 해킹할 수 있는 방법에도 굉장히 많은

형태가 있으며, 점차 다양화∙기술화되고 있다.

제 4 절 온라인 게임 해킹 관련 적용 법률

1. 온라인게임업체의 정보보호 의무와 책임

가. 정보보호 조치의무

온라인게임업체는 리를 목적으로 전기통신역무를 이용하여 온라인게임 정보를 제공

하는 자로서「정보통신망 이용촉진 및 정보보호 등에 관한 법률」(이하“「정보통신망법」”이

라 약칭한다)의 적용을 받는 정보통신서비스제공자에 해당한다. 따라서 온라인게임업체는

「정보통신망법」에서 정하는 정보보호조치 의무 및 책임을 준수하여야 한다.

우선 온라인게임업체는 온라인게임 제공에 사용되는 정보통신망의 안전성 및 정보의 신

뢰성을 확보하기 위한 보호조치를 마련하여야 한다(법 제45조제1항). 보호조치의 구체적인

내용은 정보통신부장관이 고시한「정보보호조치및안전진단 방법∙절차∙수수료에 관한

지침」(2004.10.8 정보통신부고시 제2004-54호)(이하“「정보보호조치및안전진단지침」”이

라 약칭한다)에 따르며 주요 내용은 다음과 같다(법 제45조제2항∙제3항).

- 정당한 권한없는 자의 정보통신망에의 접근과 침입을 방지하거나 응하기 위한 정보

보호시스템의 설치∙운 등 기술적∙물리적 보호조치

- 정보의 불법 유출∙변조∙삭제 등을 방지하기 위한 기술적 보호조치

- 정보통신망의 지속적인 이용이 가능한 상태를 확보하기 위한 기술적∙물리적 보호

조치

- 정보통신망의 안정 및 정보보호를 위한 인력∙조직∙경비의 확보 및 관련 계획수립

등 관리적 보호조치

이「정보보호조치및안전진단지침」은 원칙적으로 권고적 성격을 가지고 준수가 강제되

지 않으나, 일정 규모 이상의 사업자에 해서는 전국적으로 정보통신망접속서비스를 제

공하는 전기통신사업자(ISP)와 매출액∙시설규모가 일정기준에 해당하는 사업자에 해

서는 준수가 강제된다(법 제45조제4항). 지침의 준수가 강제되는 매출액∙시설규모는 다

음과 같다(법 제45조제4항 제2호, 정보통신망법 시행규칙 제3조의5).

- 정보통신서비스부문 전년도(법인의 경우에는 전사업연도) 매출액이 100억원 이상인

제2장

온라인

게임

서비스

보안

현황

24 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 25

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

Page 15: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

온라인게임업체

- 전년도말 기준 3월간의 일일평균이용자가 100만명 이상인 온라인게임업체

또한 온라인게임업체는 침해사고의 발생이나 침해사고가 발생할 징후를 발견한 때에는

즉시 그 사실을 정보통신부장관 또는 한국정보보호진흥원에 신고하여야 한다(제48조의3

제1항). 침해사고가 발생한 경우 온라인게임업체는 침해사고의 원인을 분석하고 피해의 확

산을 방지하여야 하며(제48조의4제1항), 정보통신부장관의 명령에 따라 침해사고의 원인

분석을 위하여 필요한 정보통신망의 접속기록 등 관련자료를 보전하고 또 정보통신부장관

의 요구에 따라 침해사고관련 자료(통신사실확인자료의 경우 통신비 보호법의 규정에 따

름)를 제출하거나 민∙관합동조사단이 사업장에 출입하여 침해사고원인을 조사하게 하여

야 한다(제48조의4제3항∙제4항).

나. 안전진단 수검의무

정보통신부장관이 고시한「정보보호조치및안전진단지침」의 준수가 강제되는 온라인게

임업체는 매년 정보통신부장관의 인정을 받은 안전진단수행기관으로부터 정보보호 안전

진단을 받아야 한다(법 제46조의3). 한편 온라인게임업체가 정보보호관리체계의 인증을

받은 때에는 인증을 받은 당해 연도에 있어서는 정보보호 안전진단을 받은 것으로 본다(법

제46조의3제3항).

정보보호 안전진단을 받는 온라인게임업체는 관련정보의 제공 및 시설∙장소에의 출입

허용 등 안전진단수행기관의 정보보호 안전진단 업무에 협력하고, 정보보호컨설팅전문업

체로부터 정보보호 안전진단 결과를 통보받은 날부터 15일 이내에 이를 정보통신부장관에

게 제출하여야 한다(법 제46조의3제2항, 시행규칙 제5조의5제1항).

다. 보호조치 위반 시 제재 및 손해배상책임

온라인게임업체가 정보보호조치를 취하지 않거나 정보통신부장관이 고시한 지침을 준

수하지 않았다고 하여 형벌 또는 과태료의 제재를 부과하는 규정은 없다.

그러나「정보보호조치및안전진단지침」의 준수가 강제되는 온라인게임업체가 정보보호

안전진단을 받지 않은 경우, 정보보호 안전진단의 결과를 제출하지 아니하거나 거짓으로

제출한 경우, 정보통신부장관이 안전진단의 결과에 따라 내린 정보보호조치에 관한 개선

명령을 이행하지 않는 경우에는 1천만원 이하의 과태료가 부과된다(법 제67조제2항 제13

호의2 내지 제13호의4). 온라인게임업체의 정보보호와 관계되는 과태료 부과 상 위반행

위를 표로 정리하면 다음과 같다.

< 표 2-4-1 > 과태료 부과 상 위반행위 관련 법률

그리고「정보통신망법」에는 명문의 규정이 없지만 지침의 준수가 강제되거나 권고되는

온라인게임업체 모두 보호조치 불이행으로 인하여 온라인게임 이용자 등이 입은 손해를 배

상할 책임이 있다. 즉 민법상 계약불이행(채무불이행) 또는 불법행위로 인한 손해배상책임

을 진다.

2. 온라인 게임 해킹 행위자에 한 처벌 법규

가. 단순해킹(해킹에 의한 무단침입)과 처벌 법규

해킹에 의한 피해사고가 잇따르자 정부는 최근 정보통신관련법규를 정비하여 타인의 정

보통신망에 부정접속하는 행위 자체를 처벌하는 법규를 가지고 있다. 여기서 규율하는 단

순해킹의 유형은 다음과 같다.

제2장

온라인

게임

서비스

보안

현황

26 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 27

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

위반행위 과태료

정보보호 안전진단(제46조의3제1항)을 받지 아니한 경우(안전진단 상업체에 한함) 1천만원 이하 과태료

정보보호 안전진단의 결과를 제출(제46조의3제2항)하지 않거나 거짓으로 제출한

경우(안전진단 상업체에 한함)1천만원 이하 과태료

정보통신부장관이 내린 개선명령(제46조의3제6항)을 이행하지 아니한 경우(안전

진단 상업체에 한함)1천만원 이하 과태료

침해사고의 원인분석을 위한 사업장 출입 및 조사(제48조의4제4항)를 방해하거나

거부 또는 기피한 경우1천만원 이하 과태료

정보통신부장관이 법시행을 위하여 요청한 관계물품∙서류 등(제55조제1항)을 제출

하지 아니하거나 허위로 제출한 경우1천만원 이하 과태료

정보통신부 소속공무원의 사업장 출입 및 업무상황∙장부∙서류 등 검사(제55조제3

항)를 거부∙방해∙기피한 경우1천만원 이하 과태료

정보통신부장관의 시정조치 명령(제55조제4항)을 이행하지 아니한 경우 1천만원 이하 과태료

Page 16: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

- 타인 정보통신망에의 부정접속 내지 부정침입(정보통신망이용촉진및정보보호등에관

한법률 제48조)

부정접속 내지 부정침입행위는 특정한 목적이 없이 타인의 정보통신망에 부정하게 접속

하는 행위를 말한다. 3년 이하의 징역 또는 3천만원 이하의 벌금에 처해질 수 있다. 반면에

목적없는 정보통신망 상의 보호조치 무력화나 훼손행위도 3년 이하의 징역 또는 3천만원

이하의 벌금에 처해질 수 있다.

나. 해킹으로 인한 비 침해와 처벌 법규

주로 온라인게임상에서 발생될 수 있는 해킹행위를 말하며, 해킹을 수단으로 개인정보

를 침해하는 경우를 생각할 수 있다. 이에 따른 처벌규정은 일반 형법이나 특별형법에 개별

적으로 규정하고 있다. 다음은 개별 법률에 규정된 처벌규정과 형량이다.

< 표 2-4-2 > 해킹으로 인한 비 침해 처벌 법규

실무적으로 해킹에 의한 비 침해행위에 한 응규정으로서 형법상 비 침해죄의 적

용되는 경우는 많지 않다. 다른 법률에 규정된 비 침해등의 처벌강도가 일반 형법보다 훨

씬 높기 때문이다.

다. 해킹에 의한 자료훼손∙자료삭제와 처벌법규

온라인 게임상으로 해킹을 통해 다른 사람의 게임 아이템이나 기록을 훼손하거나 자료

를 삭제시키는 행위이다. 이에 해서는 형법상의 처벌법규가 있고 특별법인 정보통신망

이용촉진및정보보호등에관한법률에도 별도의 규정이 있다.

< 표 2-4-3 > 해킹에 의한 자료훼손∙삭제 처벌 법규

해킹에 의하여 타인의 컴퓨터시스템에 저장되어 있는 자료의 범위에는 다음과 같은 것

들이 포함될 수 있다.

- 컴퓨터디스켓, 녹음테이프, 녹화필름, 마이크로필름, CD-Rom

단순히 모니터에 화상 형태로 존재하는 데이터는 형법으로 보호되는‘기록’이라고 할 수

없다. 마찬가지로 인터넷이나 PC통신을 이용하여 전송중인 데이터나 정보 또는 프로그램

의 내용을 변경하는 행위도 형법상의 처벌법규에 해당되지 않는다. 이러한 행위에는 정보

통신망이용촉진및정보보호등에관한법률상 정보훼손죄(제62조 제6호)가 적용될 수 있을

뿐이다.

제2장

온라인

게임

서비스

보안

현황

28 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 29

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

적용법률 관련 조항 행위유형 처벌

형법제316조

제2항

봉함 기타 비 장치한 사람의 편지, 문서, 도화 또는

전자기록 등 특수매체기록을 기술적 수단을 이용하여

그 내용을 알아내는 행위

3년 이하의 징역

또는 500만원 이하

의 벌금

정보통신망이용

촉진및정보보호등

에관한법률

제49조

정보통신망에 의하여 처리∙보관 또는 전송되는 타인

의 정보를 훼손하거나 타인의 비 을 침해∙도용 또는

누설하는 행위

5년 이하의 징역

또는 5천만원 이하

의 벌금

통신비 보호법 제3조

본 법과 형사소송법 또는 군사법원법의 규정에 의하지

아니하고는 우편물의 검열∙전기통신의 감청 또는

통신사실확인자료의 제공을 하거나 공개되지 아니한

타인간의 화를 녹음 또는 청취하는 행위

3년 이하의 징역

또는 1억5천만원

이하의 벌금

무역업무자동화

촉진에관한법률제18조

정보통신망에 의하여 처리∙보관 또는 전송되는

타인의 정보를 훼손하거나 타인의 비 을 침해∙도용

또는 누설하는 행위

5년 이하의 징역

또는 5천만원 이하

의 벌금

적용법률 관련 조항 행위유형 처벌

형법제227조의

2

사무처리를 그르치게 할 목적으로 공무원 또는

공무소의 전자기록 등 특수매체기록을 위작 또는 변작”

하는 행위

10년 이하의 징역

형법제232조의

2

사무처리를 그르치게 할 목적으로 권리∙의무 또는

사실증명에 관한 타인의 전자기록등 특수매체기록을

위작 또는 변작하는 행위

5년 이하의 징역

또는 1천만원 이하

의 벌금

형법 제366조타인의 재물, 문서 또는 전자기록등 특수매체기록을

손괴 또는 은닉 기타 방법으로 그 효용을 해하는 행위

3년 이하의 징역

또는 700만원 이하

의 벌금

정보통신망이용

촉진및정보보호

등에관한법률

제49조

정보통신망에 의하여 처리∙보관 또는 전송되는

타인의 정보를 훼손하거나 타인의 비 을 침해∙도용

또는 누설하는 행위

5년 이하의 징역

또는 5천만원 이하

의 벌금

Page 17: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

라. 해킹에 의한 업무방해와 처벌법규

형법상‘업무’란 일상생활에서 의미하는 업무행위와 조금 다르다. 법률적으로는 행위를

지속적으로 할 의사를 가지고 하는 행위를 모두 포함한다. 그러므로 지속적으로 할 의사를

가졌다면 단 일회에 그치더라도 업무개념에 포함될 수 있다. 그러므로 정보통신망을 단 한

번 해킹하더라도 그 상 업무가 지속적으로 이루어질 것이었다면 업무방해를 인정할 수

있다.

< 표 2-4-4 > 해킹에 의한 업무방해 처벌 법규

형법이 일반적인 컴퓨터 등 정보처리장치에 한 장애야기를 처벌하는 규정을 두는데

하여 정보통신망법은‘정보통신망’에 한 장애야기를 처벌하는 규정을 두고 있다(제62

조 제5호).

마. 기타 문제

(1) Free 서버의 문제

최근 온라인 게임에 해 무료로 다른 서버에서 게임을 할 수 있도록 하는 행위가 발견

되고 있다. 이러한 경우는 업무방해죄에 의하여 규율할 수 있는 것으로 생각한다. 또한 불

법적인 무허가 전기통신시설사업을 할 수 없게 하고 있는 전기통신사업법의 벌칙규정도 적

용될 수 있다. 그러나 부분 이런 경우 업무방해의 고의가 입증되지 않는 한은 민사법적인

책임만 질 수 있는 가능성이 있다.

(2) 게임 Bot에 의한 서비스 방해

악성 Bot를 설치하거나 그로 인하여 개인정보를 누출시키는 행위는 위에서 설명한 바와

같이 개인 정보 취득 자체를 규제하는 법률이 없는 우리의 현실에서는 단순해킹죄나 해킹

으로 인한 업무방해죄를 구성하는 것 이외에는 달리 규제할 수 있는 방법이 없다. 다만, 정

보통신업무를 수행하는 자가 의도적으로 개인정보를 추출하여 이용한 경우는 해킹으로 인

한 비 침해 등의 죄를 구성할 수 있다. 그러나 형량이 같으므로 어떠한 경우에도 같은 결

과를 가져올 수 있다.

(3) 게임 아이템 관련 문제

두 가지 행위 유형으로 구분된다. 첫 번째는 해킹을 통하여 게임 아이템을 부당하게 취

득하여 판매하는 경우이고, 두 번째는 아이템이 있다고 속이고 돈을 편취하는 경우이다.

▶ 재물성 문제

현재 게임 아이템의 현금거래를 규제하는 직접적인 법규정은 없다. 다만, 각 게임사의

약관에 따라 이를 제한하고 있는 실정이다. 지난 2000년 10월 공정거래위원회가 온라인게

임사업자의 약관 중‘아이디(캐릭터)∙아이템의 권한 사업자 귀속 및 양도금지 조항’에

해, “아이디(캐릭터)∙아이템 매매를 금지하는 것은 게임사업자가 게임상품이나 서비스이

용조건을 설정할 수 있듯이 선택조건의 문제로서 게임이용자의 본질적인 이용권리를 제한

하는 조항으로 볼 수 없다”고 함으로써 약관의 유효를 인정한 사례가 있어서, 게임사는 이

를 약관에 의한 아이템 거래금지의 근거로 삼고 있는 것이 현실이다.

유사한 판례로는 폭력∙협박으로 타인의 게임아이템을 빼앗은 피고인에게 공갈죄 등을

적용하여 징역 6월의 실형을 선고한 사례가 있었는데(서울지법 서부지원 2000.11.8.선고

2000고단1366판결), 이때 특히 문제가 되는 것은 게임 아이템의 재물성 또는 재산상 이익

의 인정여부 다. 하급법원의 판결이지만 최종 선고에서 공갈죄를 인정한 것은 게임 아이

템의 재물성을 인정한 것으로 볼 수 있다.

제2장

온라인

게임

서비스

보안

현황

30 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 31

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

적용법률 관련 조항 행위유형 처벌

형법 제314조

컴퓨터 등 정보처리장치 또는 전자기록등 특수매체

기록을 손괴하거나 정보처리장치에 허위의 정보 또는

부정한 명령을 입력하거나 기타 방법으로 정보처리에

장애를 발생하게 하여 사람의 업무를 방해하는 행위

5년 이하의 징역

또는 1천5백만원

이하의 벌금

정보통신망이용

촉진및정보보호

등에관한법률

제48조

정보통신망의 안정적 운 을 방해할 목적으로 량의

신호 또는 데이터를 보내거나 부정한 명령을 처리하도

록 하는 등의 방법으로 정보통신망에 장애를 발생시키

는 행위

5년 이하의 징역

또는 5천만원 이하

의 벌금

전기통신사업법 제50조

누구든지 전기통신설비를 손괴하여서는 아니 되며,

이에 한 물건의 접촉 기타의 방법으로 전기통신

설비의 기능에 장해를 주어 전기통신의 소통을 방해

하는 행위를 하여서는 아니 된다

5년 이하의 징역

또는 2억원 이하의

벌금

Page 18: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

▶ 행위유형문제

재물성이 인정되는 경우라면, 첫 번째 경우는 단순해킹죄와 그로 인한 게임 아이템의 절

도죄의 적용이 고려된다. 문제는 일반 형법상의 절도행위와 해킹으로 인한 아이템 편취와

판매행위가 동일하게 이해될 수 있는지이다. 편취한 아이템을 판매하는 경우 판매자는 일

반 형법상의 원칙에 따라 불가벌적 사후행위(절도와 결부된 판매등의 행위는 따로 처벌하

지 않는다는 원칙)로 해석되지만, 타인이 장물임을 알고 취득하거나 다시 재판매하는 경우

는 절도죄를 구성할 수 있다. 아이템에 한 사기행위는 일반 형법상의 사기죄를 구성한다.

이 경우는 특이한 점이 없다.

32 │ www.kisa.or.kr

제1 장 개요

제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제1 절 웹어플리케이션개발시보안 책

제2 절 게임서비스개발시보안 책

개발시보안대책제3 장

+

+

+

+

Page 19: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제 1 절 웹 어플리케이션 개발 시 보안 책

최근 중국에서 국내 웹사이트를 해킹한 후, 웹 방문자의 게임정보를 유출하기 위한 악성

코드를 설치하고 있다. 또한 웹 사이트를 해킹 한 후 악성코드 설치 뿐만 아니라 웹 서버내

에 존재하는 소스코드와 고객 DB를 전부 유출하는 경우까지 발견되고 있다.

웹어플리케이션에존재하는보안취약점은다양한데본절에서는이중실제해킹피해가

가장 많이 발생되고 있는 SQL Injection 취약점과 업로드 취약점에 해 살펴보고, 웹 어플

리케이션개발시어떻게차단할수있는지ASP 예제프로그램을통해알아보도록한다.

1. SQL Injection 취약점 책

SQL Injection은 정상적인 SQL query를 변조하여 불법 로그인, DB 데이터 열람, 시스

템 명령 실행 등을 수행하는 공격이다.

최근 중국 해커들은 공지사항이나 게시판 등에서 URL 파라미터 입력값을 조작하여 공

격하는 방법을 많이 사용하고 있다. 이러한 공격은 다음 그림과 같이 자동화된 툴을 이용하

여 쉽게 공격이 이루어질 수 있다.

34 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

제3 장 개발 시 보안 책

〈 그림 3-1-1 〉자동화된 SQL Injection 공격 툴

공격결과 DB에 저장된 관리자의 아이디와 패스워드 등이 그 로 노출되는 것을 볼 수

있다.

아래 예제는 위와 같은 공격을 차단하기 위한 것으로, 게시물 번호(no) 값을 받아 SQL

구문에 입하여 게시물을 출력하는 웹페이지의 일부이다.

온라인게임해킹 응가이드 │ 35

제3장

개발

보안

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록

<!--#include virtual=”/include/connection.inc.asp”--> <% ‘DB연결 헤더 %>

<!--#include virtual=”/include/secure.inc.asp”--> <% ‘보안관련라이브러리 %>

<!--#include virtual=”/include/config.inc.asp”--> <% ‘전역변수리스트 %>

<!--#include virtual=”/head.asp”--> <% ‘초기 설정 페이지(에러 메세지 미출력) %>

<%

Dim strSQL

Dim intSeq, strName, strEmail, strSubject, strContent, intCount, dtmReg_Date, intExist

Dim blnTag, strUserIP

Dim atag

‘입력값이 숫자형인 경우 IsNumeric 함수를 사용한다.

If IsNumeric(seq) Then

intSeq = Request.QueryString(“seq”)

Else

Response.Write “허용하지 않는 입력값입니다.”

Reponse.End

End If

‘문자(열)인 경우sqlFilter 사용

‘intSeq = sqlFilter(Request.QueryString(“seq”)) ‘SQL Injection 필터링

‘읽은 횟수 검색

strSQL = “SELECT count(*) FROM board WHERE intSeq=’”& intSeq & “‘“

objRs.Open strSQL, objDBConn

Page 20: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

36 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 37

� �

제3장

개발

보안

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

intExist = objRs(0)

objRs.Close

If intExist <> 1 Then

Response.Write “해당 이 없습니다.”

Else

‘읽은 횟수 증가

strSQL = “UPDATE board SET intCount=intCount+1 WHERE intSeq=’”& intSeq & “‘“

objRs.Open strSQL, objDBConn

‘게시물 SELECTZ

strSQL = “SELECT

strName,strEmail,strSubject,strContent,intCount,strUserIP,blnTag,dtmReg_Date FROM board WHERE

intSeq=’”& intSeq & “‘“

objRs.Open strSQL, objDBConn

strName = objRs(0)

strEmail = objRs(1)

strSubject = objRs(2)

strContent = objRs(3)

intCount = objRs(4)

strUserIP = objRs(5)

blnTag = objRs(6)

dtmReg_Date = objRs(7)

objRs.Close

Set objRs = Nothing

objDBConn.Close

Set objDBConn = Nothing

‘게시물 출력값에 XSS 필터링

‘사용자가 입력하는 출력되는 값은 strName, strEmail, strSubject, strContent으로 이 부분은

XSS 공격이 가능한 부분들이다.

‘일반적으로 본문만 선택적으로 HTML 태그 사용을 허용하며 나머지 부분들은 사용할 수 없도

록 하는것이 바람직하다.

strName = clearXSS(strName, atag)

strEmail = clearXSS(strEmail, atag)

strSubject = clearXSS(strSubject, atag)

strContent = clearXSS(strContent, atag)

‘줄넘김 처리

strContent = replace(strContent, vbLf, vbLf & “<br>”)

%>

<html>

<head>

<meta name=”GENERATOR”content=”Microsoft FrontPage 5.0”>

<meta name=”ProgId”content=”FrontPage.Editor.Document”>

<meta http-equiv=”Content-Type”content=”text/html; charset=ks_c_5601-1987”>

<title>내용보기</title>

</head>

<body>

<div align=center>

<table border=1>

<tr>

<td>이름</td>

<td><%=strName%></td>

<td>등록일</td>

<td><%=dtmReg_Date%></td>

</tr>

<tr>

<td>이메일</td>

<td><%=strEmail%></td>

<td>조회</td>

<td><%=intCount%></td>

</tr>

<tr>

<td>제목</td>

<td colspan=3><%=strSubject%></td>

</tr>

<tr>

<td>내용</td>

<td colspan=3><%=strContent%></td>

</tr>

<tr>

<td colspan=4>

<a href=”list.asp”>목록으로</a> <a href=”edit.asp?seq=<%=intSeq%>”>수정하기</a> <a

href=”delete.asp?seq=<%=intSeq%>”>삭제하기</a>

</td>

</tr>

Page 21: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

온라인게임해킹 응가이드 │ 39

제3장

개발

보안

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록

이 중 sqlFilter 함수를 이용하여 페이지 시작부분에서 문자를 필터링하고 있으며 SQL

구문 수행시 발생할 수 있는 오류 메시지를 출력하지 않아 최 한 정보를 노출하지 않도록

하고 있다.

2. 업로드 취약점

업로드 취약점 공격은 첨부파일 업로드 기능을 악용하여 웹쉘(WebShell)과 같은 해킹

프로그램을 업로드하여 웹 서버 권한을 획득하는 공격방법이다.

이 공격에 한 방어는 업로드되는 파일의 확장자를 사전에 검증하고, 업로드된 파일의

위치를 해커가 알지 못하도록 함으로써 가능하다. 아래 예제는 업로드되는 파일의 확장자

를 체크하는 모듈이다.

38 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

</table>

</div>

</body>

</html>

<%

End If

%>

<%

‘확장자 검사

‘$filename: 파일명

‘$avaext: 허용할 확장자 예) $avaext = “jpg,gif,pdf”

‘리턴값: true-”ok”, false-”error”

Function Check_Ext(filename,avaext)

Dim bad_file, FileStartName, FileEndName

if instr(filename,”\0”) Then

Response.End

End if

‘업로드 금지 확장자 체크

bad_file = “asp,html,htm,asa,hta”

filename = Replace(filename, ““, “”)

filename = Replace(filename, “%”, “”)

FileStartName = Left(filename,InstrRev(filename,”.”)-1)

FileEndName = Mid(filename, InstrRev(filename, “.”)+1)

bad_file = split(bad_file, “,”)

for each p in bad_file

if instr(FileEndName, p)>0 then

Check_Ext = “error”

Exit Function

end if

next

‘허용할 확장자 체크

if avaext <> “”Then

ok_file = split(avaext, “,”)

for each p in ok_file

if instr(FileEndName, p)>0 then

Check_Ext = “ok”

Exit Function

End If

next

End If

Check_Ext = “error”

End Function

%>

Page 22: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

개되어있는지 여부에 해서 조사를 한 후 선택해야 한다.

다음은 주요 패커들을 나열한 것이다.

▶ Armadillo

http://siliconrealms.com/armadillo_engine.shtml

▶ ASProtect

http://www.aspack.com

▶ EXECryptor

http://strongbit.com/execryptor.asp

▶ Obsidium

http://www.obsidium.de/show.php?home

▶ PolyCrypt

http://jlabsoftware.com

▶ Themida

http://www.oreans.com

▶ UPX

http://upx.sourceforge.net

2. 메모리 해킹 방지 책

게임 해커들이 주로 많이 상용하는 방법이 DLL Injection을 통한 메모리 조작이다. 이

방법을 사용해서 데이터/메모리 변조와 메시지 후킹을 통한 코드 우회 기능 등을 구현하게

된다.

가. 로드된 DLL의 주기적인 체크

게임 내에서 주기적으로 로드되어 있는 DLL을 체크하는 방법이다. 게임 내에서 사용하

는 DLL만 허용하며, 기타 다른 DLL이 로드되어 있는지 판단하여 에러 처리를 하도록 방

어하는 방법이다.

온라인게임해킹 응가이드 │ 41

제3장

개발

보안

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록

제 2 절 게임 서비스 개발 시 보안 책

본 절에서는 게임서비스 개발 시 개발사에서 가능한 해킹 방지 책에 해서 설명하고

자 한다.

1. 파일 해킹 방지 책

가. 파일 위변조 확인

실행파일(EXE, DLL)의 코드를 조작하거나 데이터파일의 정보를 조작하는 해킹툴에

한 방어 책으로서 게임을 실행하기 전에 게임에 필요한 모든 파일에 해서 위변조 여부

를 확인해야 한다. 일반적으로 런쳐(패쳐)가 실행하면서 게임 실행파일과 파일들의 CRC를

체크하고 CRC가 다를 경우 게임을 다시 패치받도록 하는 방식이 사용된다.

이보다 좀 더 좋은 방식으로는 게임 클라이언트가 실행될 때 자신의 CRC값을 계산하여

서버에서 인증을 한다던가, 런쳐(패쳐)와 게임 실행파일이 서로의 CRC를 Cross Checking

하여 실행파일의 위변조 여부를 확인한다.

하지만, CRC 값은 아주 단순한 형태의 해쉬값으로 완벽하게 파일 위변조를 확인하기에

는 한계가 있다. 따라서 MD5나 SHA-1와 같은 암호학적인 해쉬함수를 사용하여 파일의

위변조를 확인하는 것이 보다 안전하다.

나. 패커를 이용한 실행파일(EXE, DLL) 보호

실행파일을 보호하는 방법으로 CRC 체크 외에 패커를 이용하는 방법도 있다. 패킹이란

실행압축으로 많이 알려져 있다. 그러나, 최근에 패커들은 단순한 실행압축 뿐 아니라, 암

호화, Anti-Debugging, CheckSum 등 다양한 자체 보안 기능을 가지고 있다.

해커가 게임을 완전히 분석하기 위해서는 패커를 풀어야 하기 때문에, 게임 분석에 많은

시간을 소모하게 만들 수 있다.

상용 패커는 가격도 저렴하고, 패킹이 뚫릴 경우(Unpack) 업데이트도 빠른 편이라 간단

하게 실행파일을 보호하는 목적으로는 적합한 방법이다.

패커를 선택할 때는 안정성과 함께 크랙 & 해킹 사이트를 통해서 패킹이 풀린 문서가 공

40 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

Page 23: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록

온라인게임해킹 응가이드 │ 43

제3장

개발

보안

현재 게임에 허용된 모듈 리스트를 검사한 후 허용되지 않은 모듈이 있을 경우에 에러처

리를 진행한다. 정상적인 시스템 DLL을 조작하여 DLL injection을 시도하는 방법도 있

다. 예를 들어, Direct3D(D3D9.dll) 혹은 네트워크 관련(WS_32.dll) 등 시스템에서 로드하

게 되는 DLL 신 게임 폴더에 조작된 Wrapper DLL을 넣어두고 시스템 파일 신 로드

하게 만드는 방법이 있다.

이런 종류의 해킹은 현재 로드된 DLL 핸들과 시스템 DLL의 주기적인 비교를 통해서 방

어할 수 있다.

나. DLL Export 함수 보호

게임에 사용되는 중요한 DLL의 Export 함수명에 해서 기능을 예상하기 어렵도록 해

야 한다. 개발자가 알아보기 쉽게 모듈화해서 개발하는 것이 반 로 해커들에게 게임을 분

석하는 유용한 힌트가 되는 측면이 있어 개발 시 파악하기 힘든 함수명을 사용하는 것이

좋다.

3. 시간 조작 방지 책

게임의 스피드를 조절하여 게임을 비정상적으로 운 할 수 있는 스피드핵은 가장 유명

한 해킹툴 중 하나이다. 스피드핵을 사용하여 게임의 스피드를 조절하는 행위를 감지하는

방법으로는 게임 서버와 연동하는 방법이 있다.

서버에서 주기적으로 시간확인 패킷을 보내어 응답 시간의 변화량을 측정하여 판단하는

방식으로, 이 방법은 매우 미세한 시간 변화는 감지 하지 못하는 단점이 있지만, 보안 프로

그램 없이 게임 프로그램 자체적으로 시간 조작을 감지하는 방법으로는 효과를 볼 수 있다.

이와 별도로 Import Table을 수정하는 S/W방식의 스피드핵에 해서는 패커를 사용하

여 실행파일을 보호함으로써 예방할 수 있다. 패커를 사용하여 패킹할 경우 스피드핵이

Import Table을 수정할 수 없게 되어 스피드핵이 동작하지 않게 된다.

42 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

4. 암호화 및 인증

가. 파일 암호화

게임 데이터 파일에 한 암호화도 CRC 체크 못지않게 중요하다. 암호화를 하지 않을

경우 손쉽게 데이터 파일의 내용을 수정해서 게임 내의 데이터 수정이나 게임의 흐름을 파

악하는데 악용되기 때문이다. 게임의 환경설정 파일, 데이터 파일, 로그 파일 등은 꼭 암호

화하여 관리되어야 한다.

나. 네트워크 패킷 암호화 및 인증

전체적인 게임 해킹을 위해 가장 첫 단계가 네트워크 패킷 분석단계이다. 게임 네트워크

패킷은 보호해야 할 가장 중요한 데이터 중의 하나이며, 네트워크 패킷은 온라인 게임의 모

든 것이라고 해도 과언이 아니다. 네트워크 스니퍼를 이용해서 게임에서 발생하는 모든 패

킷을 캡쳐하면, 게임 내에서 처리되는 사용자 ID, 기술 Index, 맵상의 좌표, 사용 Item 번

호 등 중요한 데이터를 분석할 수 있게 된다.

게임 네트워크 패킷은 AES나 SEED와 같은 암호 알고리즘을 이용하여 암호화를 해야

하며, 키가 노출될 수도 있으니 암호화 키는 주기적으로 교환하도록 한다. 네트워크 패킷의

암호화는 재사용 공격(Reply Attack)에 의한 사이버 머니 수집도 예방할 수 있다.

또한, 클라이언트에서 서버로 요청 패킷이 전송되어 처리 될 때, 항상 클라이언트 메시

지에 한 인증과정이 필요하다.

다. 에러 및 메시지 암호화

게임 내에서 사용자에게 알리는 에러 메시지가 해커들에게는 분석하는 중요한 포인터로

해킹 길잡이 역할을 하게 된다. 에러 메시지에 나오는 스트링을 포인터로 잡을 수 있기 때

문인데, 이런 문제를 차단하기 위해 에러와 게임 메시지에 한 별도의 암호화 처리가 필요

하다.

Page 24: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

5. 게임 버그로 인한 해킹

실제 게임 해킹 중 많은 부분이 게임의 버그나 정책으로 인해 발생하고 있다. API의 잘

못된 사용으로 게임 내에서 예상치 못한 버그가 발생할 경우 이를 악용할 수 있으며, 이런

게임버그는 해킹툴을 이용하지 않고, 단지 버그를 사용한 게임 조작 방법들이 각종 커뮤니

티 사이트에서 공유된다. 이런 종류의 해킹은 고급 해커에 의한 해킹은 아니지만, 일반 사

용자들 사이에서 쉽게 전파된다는 문제가 있다.

빠른 패치와 응이 생명인 온라인 게임이긴 하지만, 게임 품질보증(QA)에 해서 조금

만 더 주의를 기울인다면, 게임 버그로 인한 게임 조작은 많이 줄어들게 될 것이다.

6. 디버그 / 릴리즈 버전의 구분

게임 개발 및 유지보수의 편의를 위해 일반 사용자에게는 공개되지 않는 기능들이 있다.

예를 들어, 일반적으로 온라인 게임은 런쳐(패쳐)에서 게임을 실행하는 구조를 가지게 되는

데, 이 구조에서 게임 클라이언트가 독립적으로 실행되는 경우가 있다. 다시 말해서, 게임

개발의 편의를 위해 런쳐에서 Commad Line으로 게임을 실행하거나, 환경설정 파일의 설

정값에 따라 클라이언트가 독립적으로 실행되는 기능을 제공하는 경우를 말한다.

이런 기능이 릴리즈 버전에 포함되어 배포되어 노출될 경우 보안상 큰 허점이 되어 해커

들의 공격 상이 될 수 있다.

7. 데이터의 범위 제한

해킹을 통해 게임이 조작이 되면, 제한 범위를 넘어서는 결과가 발생할 수 있다. 예를 들

어, Level 3인 캐릭터가 Level 30 이상이 가질 수 있는 아이템을 보유하게 되는 경우를 말

하며, 게임의 종류와 특성, 정책에 따라 차이가 있을 수 있겠지만, 데이터의 제한 범위를 설

정하여 그 범위를 초과하는 결과가 발생하는 경우나 비정상적인 결과를 감지하여 차단하는

기능이 필요하다.

44 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황

제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

제1 절 Windows 2003 서버보안

제2 절 유닉스/리눅스서버보안

제3 절 게임보안솔루션

제4 절 어플리케이션보안성검수

게임서비스보안관리제4 장

+

+

+

+

Page 25: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제 1 절 Windows 2003 서버 보안

Windows 2003에서는 기존의 Windows에서 지원되는 여러 보안관련 설정들을 하나의

과정을 통해 설정할 수 있도록 보안 구성 마법사(Security Configuration Wizard) 기능을

지원하고 있다.

이 기능을 이용하여 관리자는 시스템의 보안을 쉽게 설정할 수 있으며, 설정된 보안 정

책은 하나의 룰로서 여러 시스템에 동일하게 적용할 수 있다.

1. 보안 구성 마법사 설치

보안 구성 마법사는 최초 Windows 설치 시에 Windows 구성요소 추가를 통해 설치하

거나, OS 설치 후 제어판의 프로그램 추가/삭제를 통해 추가할 수 있다.

보안 구성 마법사 메뉴는 [시작] � [프로그램] � [관리도구]에 위치한다.

2. 구성 작업

새로운 보안 정책을 만들거나, 기존에 설정한 보안 정책을 편집할 수 있는 단계로 기존

에 설정해 놓은 보안 정책을 적용할 수 있다.

3. 서버 선택

정책을 적용할 서버를 선택한다. 기본적으로 보안 구성 마법사가 실행되고 있는 서버의

이름이 나타나게 된다.

4. 역할 단위 서비스 구성

시스템 구성 검색을 통해 현재 시스템의 정보를 수집한 후, 역할 단위 서비스 구성 단계

로 들어가게 된다. 이 단계에서는 현재 서버에서 운 될 수 있는 서비스에 한 동작 여부

와 클라이언트 기능의 선택, 그리고 기타 서비스에 한 제공 여부를 설정할 수 있다.

46 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 47

제4장

게임

서비스

보안

관리

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록

제4 장 게임 서비스 보안 관리

〈 그림 4-1-2 〉보안구성 서버 선택

〈 그림 4-1-1 〉보안구성마법사 설치

Page 26: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

▶ 서버 역할 선택

서버에서 구동하고자 하는 서비스를 선택하도록 하며, 현재 구동 중인 서비스에 체크표

시가 되어 보여 지게 된다.

▶ 클라이언트 기능 선택

서버 또한 다른 서버에 접속을 하는 클라이언트가 될 수 있으므로, 현재 서버에서 사용

될 클라이언트 기능을 선택한다.

▶ 관리 및 기타 옵션 선택

이 메뉴에서는 원격관리 및 백업 등의 관리 옵션과 함께 서비스 및 포트를 사용하는

Windows 기능과 기타 응용 프로그램 옵션을 선택할 수 있다.

▶ 추가 서비스 선택

최초 보안 구성 데이터베이스 수집 시 해당 시스템에서 구동 중인 것으로 확인된 서비스

에 해 허용여부를 선택할 수 있다.

48 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 49

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

〈 그림 4-1-3 〉서버 역할 선택

〈 그림 4-1-4 〉클라이언트 기능 선택

〈 그림 4-1-5 〉관리 및 기타 옵션 선택

〈 그림 4-1-6 〉추가 서비스 선택

Page 27: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

▶ 지정하지 않은 서비스 처리

앞서 진행한 정책과정에서 지정되지 않은 서비스에 한 동작을 설정하는 부분이다. “서

비스의 시작모드를 변경 안함”을 선택할 경우, 현재는 구동 중이지 않은 서비스에 해 서

비스를 사용하도록 설정한 경우에는 정책에 따라 해당 서비스는 통신이 이루어지게 되고,

“서비스 사용 안함”을 선택할 경우, 현재 정책 설정을 통해 설정하지 않은 서비스는 차후

서비스가 구동될 경우에도 통신이 되지 않게 된다.

▶ 서비스 변경 확인

역할 단위 서비스 구성 단계를 통해 변경된 사항이 보여지며, 서비스 구성에 해 최종

적으로 확인하는 단계이다.

5. 네트워크 보안

현재 시스템에서 제공되고 있는 포트와 응용 프로그램의 접속 허용여부를 설정하는 부

분으로 인바운드/아웃바운드 접속의 허용여부를 설정할 수 있다.

▶ 포트 열기 및 응용 프로그램 허용

Windows에서 제공되는 방화벽 기능을 이용해 인바운드 트래픽과 응용 프로그램의 통

신 허용여부를 설정하는 메뉴이다. 기존에 동작 중인 포트와 서비스에 해 TCP, UDP 포

트에 한 설정과 응용 프로그램의 통신 허용 여부를 수동으로 설정할 수 있다.

각 서비스에 해 접속 IP를 설정하거나 복수개의 네트워크 인터페이스 카드가 설치된

시스템의 경우, 리스트를 통해 확인되지 않는 포트와 응용 프로그램은 추가 작업을 통해 수

동으로 허용여부를 설정할 수 있다.

6. 레지스트리 설정

다른 시스템과의 통신에 사용되는 프로토콜을 설정하는 메뉴이다. 설정되는 내용들은

모두 레지스트리에 기록되게 되며, 설정 변경으로 인해 시스템 간의 통신이 단절될 수 있으

므로 주의하여 설정하도록 한다.

▶ SMB 보안 서명 필요

서버 메시지 블록(SMB)은 Windows에서 파일 또는 프린터를 공유하거나 네트워크 통

신에 널리 사용되고 있다. SMB 패킷의 조작을 통한 공격을 막기 위해서는 보안 서명 기능

을 사용하는 것이 권장되며, 본 메뉴에서는 이러한 보안 서명에 사용될 정보를 설정할 수

있다.

50 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 51

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

〈 그림 4-1-7 〉서비스 변경 확인

〈 그림 4-1-8 〉포트 열기 및 응용 프로그램 허용

Page 28: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

▶ 인바운드/아웃바운드 인증 방법

Windows의 Lan manager에서 사용할 인증 방법과 인증 수준을 설정하는 메뉴이다.

OS의 버전에 따라 지원하는 인증 방법에 차이가 있으므로, 해당 서버와 통신을 하는 OS의

종류에 맞춰 설정하도록 한다. 예를 들어, Windows 95/98 시스템에서 해당 서버에 접속

이 필요한 경우에는 Windows 95/98이 NTLM을 지원하지 않으므로“Lan 관리자 인증을

요구하는 컴퓨터”에 체크를 하여야 한다.

7. 감사 정책

시스템에서 생성되는 로그 및 이벤트의 생성 및 관리 부분을 설정하는 메뉴이다. 시스템

에서 생성되는 로그들은 차후 문제해결에 많은 도움이 되므로 가능한 감사 기능을 사용하

도록 한다.

▶ 시스템 감사 정책

세 단계로 감사 정책을 설정할 수 있으며, 기본적으로“성공 작업 감사”로 성공적으로 작

업이 이루어진 기록에 해서만 남기도록 설정되어 있다. 실패한 작업에 한 기록도 남기

도록 하는 것이 차후 시스템 분석에는 도움이 될 수 있으나 시스템 성능에 향을 주게 되

므로 주요 시스템에 해서만 설정하도록 한다.

8. 인터넷 정보 서비스

보안 구성 마법사의 마지막 단계로서, 인터넷 정보 서비스(IIS)에 해 3단계에 걸쳐 기

능과 서비스에 한 설정을 진행하는 단계이다.

▶ 동적 컨텐츠에 한 웹 서비스 확장 선택

IIS에서는 기본적으로 정적 컨텐츠(htm, html)만을 처리한다. 운 하고자 하는 홈페이

52 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 53

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

〈 그림 4-1-9 〉SMB 보안 서명

〈 그림 4-1-11 〉시스템 감사 정책

〈 그림 4-1-10 〉인바운드/아웃바운드 인증 방법

Page 29: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

지의 컨텐츠가 단순히 html 파일만으로 구성되어 있다면 웹 서비스 확장을 선택하지 않도

록 한다.

제 2 절 유닉스/리눅스 서버 보안

1. 운 체제 보안

시스템을 설치 후 본격적인 서비스를 제공하기 전에 기본적으로 취해야 하는 필수 보안

설정법에 해 알아보자.

가. 사용하지 않는 서비스 중지

시스템 설치 후 가장 먼저 하여야 할 일은 사용하지 않는 서비스에 한 중지이다. 일반

적으로 필요한 패키지만 설치하지만 설치자에 따라서는 모든 패키지를 설치하는 경우도 적

지 않고, 설사 꼭 필요한 패키지만 선택하여 설치했다 하더라도 기본적으로 불필요한 서비

스가 제공되는 경우가 많으므로 불필요한 서비스를 찾아 중지하도록 한다.

(1) 보안상 취약한 서비스

원격에서데몬의취약성을악용하여루트(root) 권한을획득할수있는imapd, sadmind,

rpc.cmsd, rpc.ttdbserverd와 같은 서비스나 rsh, rlogin, rexec 등과 같은‘r’기반의 명

령어들이 굳이 필요하지 않다면 반드시 제거하도록 한다.

(2) inetd, xinetd에서 서비스 관리

슈퍼 서버 데몬이라 불리는 Inetd나 Xinetd의 경우 설정파일에서 서비스 여부를 관리할

수 있는데, 레드햇 리눅스 6.x까지 사용되었던 Inetd의 설정 파일인 /etc/inetd.conf 파일

에는 기본적으로 여러 다양한 서비스들이 설정되어 있으나 사용하지 않는 서비스들은 주석

(#) 처리하여 서비스를 제거하여야 한다.

①일반 사용자는 설정 파일을 쓰거나 읽을 필요가 없으므로 오직 root만이 읽기/쓰기가

가능하도록 퍼미션(permission)을 변경한다.

② /etc/inetd.conf 파일에서 불필요한 서비스들은 주석 처리한다.

③ inetd 데몬을 다시 띄워준다.

④ext2나 ext3 파일 시스템을 사용할 경우에는 설정 파일에 읽기 전용(read only) 속성

을 주어 root라 하더라도 바로 변경이나 삭제를 할 수 없도록 설정할 경우 자동화된

54 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 55

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

〈 그림 4-1-12 〉동적 콘텐트에 한 웹 서비스 확장 선택

# chmod 600 /etc/inetd.conf

#killall -HUP inetd 또는 /etc/rc.d/init.d/inetd restart

# vi /etc/inetd.conf

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -L -i -o

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

#gopher stream tcp nowait root /usr/sbin/tcpd gn

#smtp stream tcp nowait root /usr/bin/smtpd smtpd

#nntp stream tcp nowait root /usr/sbin/tcpd in.nntpd

Page 30: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

프로그램에의한공격이나변경시도등을차단할수있는데, 이는“change attribute”

의 의미인 chattr 명령어에 적당한 옵션을 지정하여 이용하면 된다. /etc/inetd.conf

파일에 +i 속성변경 설정을 하는 것으로 만약 해제를 하려면 +i 신 -i를 실행하면

된다. 참고로 파일의 현재 속성은 lsattr 명령을 실행하면 확인할 수 있다.

⑤ xinetd는 inetd에 한 eXtended 즉, 확장된 기능을 제공하는 것으로 주 설정 파일

인 /etc/xinetd.conf 및 설정 파일 디렉토리인 /etc/xinetd.d에 있는 각 서비스별 파

일에서 제어할 수 있다. 각각의 서비스에 해 /etc/xinetd.conf에서 직접 설정하거

나 제어하고자 하는 서비스명 파일을 열어 주석처리 및 편집하면 된다.

서비스명으로 된 파일을 삭제하거나 각 서비스에서 disable = yes 로 설정하면 해당 서

비스가 실행되지 않는다.

⑥ xinetd데몬을 재시작한다.

나. 불필요한 데몬 관리

inetd나 xinetd 등 슈퍼서버 데몬 이외 독립 실행형(standalone) 형태로 작동 하는 서비

스에 한 제어는 다음과 같이 설정할 수 있다.

(1) ntsysv 실행

터미널 상에서 직접 ntsysv를 실행하거나 setup을 실행 후“System services”를 선택

하면 된다. 여기에서 부팅시 자동으로 시작되기를 원하는 서비스를 space bar로 선택한 후

OK를 클릭하면 된다. [*]로 표시되면 부팅시 자동으로 실행되는 서비스이고 비어 있으면

부팅시 실행되지 않는다.

(2) 불필요한 서비스 제거

/etc/rc.d/rc3.d 디렉토리로 이동하여 ls -la S*로 S로 시작되는 서비스명을 직접 확인

해도 된다. 따라서 S로 되어 있는 서비스를 해제하려면 K로, K로 되어 있는 서비스를 가동

하려고 하면 S로 mv를 이용하여 파일명을 변경해 주면 된다. 참고로 여기에서 rc3.d의 3

56 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 57

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

#chattr +i /etc/inetd.conf

# vi telnet

{

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/sbin/in.telnetd

log_on_failure += USERID

disable = yes

}

# /etc/rc.d/init.d/xinetd restart 또는 killall -HUP xinetd

# cd xinetd.d

# ls

chargen echo imaps pop3s rsync talk vsftpd

chargen-udp echo-udp ipop2 rexec servers telnet

daytime finger ipop3 rlogin services time

daytime-udp imap ntalk rsh sgi_fam time-udp

〈 그림 4-2-1 〉ntsysv 실행 화면

Page 31: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

은 Full multiuser mode로서 일반적으로 서버로 이용시 사용되는 런레벨(runlevel)이며,

S는 start로서 부팅시 작동할 서비스, K는 kill 의 의미로 작동하지 않을 서비스를 뜻한다.

표적으로 보안상 제거하도록 권고되는 서비스는 다음과 같다.

< 표 4-3-1 > 살펴보아야 할 서비스

2. 커널 파라미터 조작으로 시스템 보안 강화

리눅스에서 제공하는 커널(kernel) 파라미터를 조작함으로써 기본적인 DoS 공격을 차

단하거나 커널 수준에서의 보안을 강화할 수 있는데, 시스템 운 시 권장할 만한 보안 설정

법을 알아보도록 하자.

가. 커널 튜닝의 필요성 및 편의성

리눅스에서 제공하는 /proc 파일시스템은 마치 Windows의 레지스트리(registry)처럼

시스템을 재부팅하지 않고도 OS 커널의 상세한 부분을 수정, 변경할 수 있도록 제공하고

있다.

설정값은 /proc/sys/디렉토리 이하의 디렉토리 및 파일에 해 cat과 echo를 이용하여

조회, 설정할 수 있는데, 사용방법은 다음과 같다.

최근에는 전용 유틸리티인 sysctl을 이용하여 조회 또는 설정할 수 있는데, sysctl 설정

파일은 /etc/sysctl.conf이다. sysctl에서는 /proc/sys 디렉토리 이하에 있는 변수를 변경

할 수 있는데, 디렉토리(/)는 sysctl에서 마침표(.) 로 변경된다.

현재의 모든 변수 설정은 sysctl -a로 확인 가능하며 특정한 변수를 질의하려면 sysctl

-n을 쓰면 되고, 변수를 특정한 값으로 설정하려면 sysctl -w을 사용하면 된다. 아래의 예

를 살펴보자.

위에서 tcp_synncokies 변수가 0이므로 off 즉, 사용되지 않는다는 의미인데, 아래와

같이 echo로 설정 후 확인해 보면 1로 변경된 것을 알 수 있다.

58 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 59

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

서비스 서비스 내용

S45pcmcia 노트북에서만 필요하므로 삭제한다.

S50snmpd 원격의 이용자가 트래픽 등 시스템에 한 정보를 필요로 할 때 필요한데, 사용한다면 snmpcommunity string을 엄격하게 설정하고 사용하지 않는다면 삭제한다.

S55named DNS 서비스를 제공하지 않는다면 삭제 한다

S55routed 라우터가 아닌 이상 일반 서버에서는 삭제한다.

S60lpd 프린트 서버가 아닌 이상 반드시 삭제한다.

S60mars-nwe Netware 에서 쓰는 file이나 printer server 이므로 삭제한다.

S60nfs NFS server 에서 필요하므로 nfs를 서비스하지 않는다면 삭제한다.

S72amd AutoMount daemon으로 원격지의 File system 을 mount 할 때 필요하다. amd 는 전통적으로 치명적인 보안 취약성이 있으므로 삭제한다.

S75gated routed 처럼 라우터가 아닌 이상 삭제한다.

S80sendmail 메일 서비스를 이용한다면 필요하지만 메일 서비스가 필요없다면 삭제한다.

S85httpd Apache 웹 서버이다. 웹 서비스를 제공한다면 삭제하지 않는다.

S05apmd laptop에서 전원관리를 위해 필요하므로 서버에서는 필요없다.

S10xntpd Network time protocol이다. 사용할 경우가 없으므로 필요없다.

S11portmap NIS 나 NFS 서비스 이용시 R 서비스에 한 port를 mapping 시켜주는 서비스이므로 보안상 문제가 많다. 일반적으로 NFS를 사용하지 않는다면 필요 없으니 삭제한다.

S15sound 서버에서 Sound 를 서비스 하지 않으므로 필요없다.

S15netfs nfs client 가 nfs server를 마운트 할 때 필요하므로 NFS를 사용하지 않는다면 삭제한다.

S20rstatd, S20rusersdS20rwhod, S20rwalld

R 로 시작하는 서비스는 Remote 에서 실행하는 것이므로 반드시 서비스를 하지 않도록 하여야한다.

S20bootparamd 하드나 플로피 등 부팅 수단이 없을 때 이용하는 것으로 반드시 서비스하지 않아야 한다.

S25squid squid 프록시 서버를 가동하는 설정이므로 squid를 사용하지 않는다면 삭제한다.

S34yppasswdd NIS server 에서 필요하므로 사용하지 않는다면 삭제한다.

S35ypserv NIS 에서 필요한 설정이므로 사용하지 않는다면 삭제한다.

S35dhcpd dhcp(IP 동적할당 서비스)에서 필요하므로 일반 서버에서는 필요없다.

S40atd cron 과 같은 서비스인데, 일반적으로 cron 서비스를 이용하므로 보안상 취약한 atd 는 삭제한다.

S87ypbind NIS 를 쓸 때 필요한데, 사용하지 않는다면 삭제한다.

S90xfs X font server 로 서버에서는 X-Windows 서비스를 하지 않으므로 삭제한다.

S95innd News server 로 News 서비스를 하지 않으므로 삭제한다.

S99linuxconf원격지에서 브라우저를 통해 Linux 시스템의 설정을 변경할 수 있는 것으로 보안상 취약성을 가지고 있으므로 반드시 삭제하여야 한다.

▶ 현재 변수값 조회

cat /proc/sys/변수값

▶ 현재 변수값 수정

echo xx > /proc/sys/변수값

# cat /proc/sys/net/ipv4/tcp_syncookies

0

Page 32: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

이를 sysctl로 사용할 경우 아래와 같이 사용하면 동일한 결과이다.

나. 각종 권장 커널 튜닝 파라미터

이외 보안과 관련된 몇 가지 다른 커널 파라미터를 알아보도록 하자. 아래의 사항은 보

안을 위해 권장되고 있는 사항이므로 가급적 시스템에 적용하기 바란다.

위의 모든 설정은 재부팅 후에 원래의 값으로 다시 초기화되므로 /etc/rc.d/rc.local에

두어 부팅시마다 실행하도록 하여야 한다.

3. 사용자 계정 및 암호 관리

처음 시스템을 설치하면 설치된 패키지가 많으면 많을수록 불필요한 계정들이 많이 설

치되어 있다. 또한 암호가 계정명과 동일하거나 쉬운 암호로 설정하는 경우도 있는데, 불필

요한 계정은 삭제하고, 쉬운 암호를 사용 중인 계정은 확인 후 추측이 어려운 암호로 변경

하도록 하는 것이 바람직하다.

가. 불필요한 계정 정리

시스템에서 사용하지 않는 사용자 계정을 삭제하거나 사용하지 못하도록 설정하는 것이

좋은데, 초기 설치 이후에도 추가로 패키지를 설치하 을 경우 자신도 모르게 새로운 계정

이 추가되는 경우가 있으므로 수시로 점검하여야 한다. 특정 계정을 사용할 수 없도록 하려

면 /etc/passwd나 /etc/group 파일에서 주석 처리를 하거나 아예 삭제하는 방법도 있다.

불필요한 계정(user)을 삭제하려면 userdel로 삭제한다.

여기에서 특히 ftp를 삭제시 anonymous ftp를 차단하는 효과도 있다.

60 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 61

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# cat /proc/sys/net/ipv4/tcp_syncookies

1

의도하지 않는 경로, 즉 공격자가 의도한 경로로 트래픽이 전달될 수 있는 위험이 있다.

echo “1”> /proc/sys/net/ipv4/conf/all/log_martians

# 스푸핑된 패킷이나 소스라우팅, Redirect 패킷에 해 로그파일에 정보를 남긴다.

echo “1”> /proc/sys/net/ipv4/tcp_syncookies

# syn flooding 공격에 응하기 위해 syncookies 기능을 켠다. syn flooding 공격에 매우 효과적이다.

echo “1024”> /proc/sys/net/ipv4/tcp_max_syn_backlog

# 역시 syn flooding 공격과 관련된 설정인데, backlog queue의 사이즈를 늘려 공격에 응하도록 한다.

# sysctl -n net.ipv4.tcp_syncookies

0

# sysctl -w net.ipv4.tcp_syncookies=1

# sysctl -n net.ipv4.tcp_syncookies

1

echo “0”> /proc/sys/net/ipv4/tcp_timestamps

# timestamps 기능은 불필요하므로 사용하지 않는다.

echo “1”> /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# smurf 공격에 악용될 수 있으므로 broadcast 주소를 통한 icmp echo에 해 응답하지 않는다.

echo “0”> /proc/sys/net/ipv4/conf/all/accept_source_route

# 스푸핑을 막기 위해 source route 패킷을 허용하지 않는다.

# 소스 라우팅을 허용할 경우 악의적인 공격자가 IP 소스 라우팅을 사용해서 목적지의 경로를 지정할 수

도 있고, 원래 위치로 돌아오는 경로도 지정할 수 있다. 이러한 소스 라우팅이 가능한 것을 이용해 공격자

가 마치 신뢰받는 호스트나 클라이언트인 것처럼 위장할 수 있는 것이다.

echo “0”>/proc/sys/net/ipv4/ip_forward

# 해당 시스템을 통해 다른 시스템으로 패킷이 포워딩 되지 않도록 한다. 만약 시스템이 라우터 등 게이트

웨이 용도로 사용할 것이 아니라면 끄는 것이 좋다.

echo “0”> /proc/sys/net/ipv4/conf/all/accept_redirects

# icmp redirects 를 허용하지 않는다.

# 만약 ICMP Redirect 를 허용할 경우에는 공격자가 임의의 라우팅 테이블을 변경할 수 있게 되어 자신이

# userdel adm; userdel lp; userdel shutdown; userdel halt; userdel news; userdel operator; userdel

games; userdel gopher; userdel ftp

Page 33: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

불필요한 계정 외 불필요한 group도 삭제하는 것이 좋은데, 이는 groupdel 명령어로 삭

제한다.

나. 추측하기 쉬운 암호 검색

암호가 없는 계정은 물론이고, 쉬운 암호를 사용하는 계정은 보안에 취약하다. 아이디와

동일한 암호를 사용하거나 1111 등 추측하기 쉬운 암호는 정기적으로 점검하여야 한다. 이

를 위해서“John the Ripper”프로그램을 이용하여 쉬운 암호를 사용하는 아이디를 검색

해 보도록 하자.

아래의 John the ripper 홈페이지에 접속하여 소스파일을 다운로드 하여 컴파일 설치하

면 된다.

http://www.openwall.com/john/

여기에서 오른쪽의 괄호 안에 있는 것이 계정 이름이고 왼쪽이 해당하는 계정의 암호인

데, 보는 바와 같이 아이디와 암호를 동일하게 사용하거나 추측하기 쉬운 암호를 사용하는

계정이 적지 않다는 것을 알 수 있다. 위의 결과는 john.pot 파일에 암호화되어 저장 되는

데, 새롭게 확인하려면 이 파일을 삭제 후 다시 실행하면 된다.

제 3 절 게임보안 솔루션

게임보안 솔루션은 온라인 게임의 해킹을 차단하기 위한 것이고, 보안이라는 부분에서

흔히 생각할 수 있는 백신 등의 프로그램과는 성격이 다른 솔루션이다. 온라인 게임에 특화

되어 게임에의 불공정 플레이를 방지해야 하며, 이는 곧 게임 클라이언트 보호라는 내용으

로 이어진다. 따라서 그 특성상 서버 보안이라기 보다는 클라이언트 보안이라는 범주에 포

함되게 된다.

본래 이전 패키지 게임에 한 해킹도 분명히 존재했었고, 메모리 조작, 매크로 등의 시

도가 있어왔다. 하지만 이것은 엄연히 1명의 사용자가 플레이 하는 게임이며, 해킹으로 인

해 다른 사용자에게 피해가 가지는 않는다. 온라인 게임에서 해킹툴이 문제가 되는 이유는

온라인 게임이 패키지 게임과는 달리 혼자 하는 게임이 아니라는 데 있다. 여러 사용자가

함께 경쟁하며 즐기는 온라인 게임에서 한 사용자가 해킹툴을 이용해서 몇 배나 더 쉽고 빠

르게 캐릭터를 성장시킨다면, 정상적으로 게임을 하는 사용자는 분명 게임을 그만두고 싶

거나 자신도 해킹툴을 써야겠다고 생각하게 될 것이다. 해킹툴이 많다는 것은 그 온라인 게

임이 그만큼 인기가 있다는 증거이지만, 해킹툴로 인해 서버의 과부하나 사용자 간의 불공

평한 성장 등의 문제를 초래하게 된다. 오늘날 게임 해킹에 한 적절한 응은 게임 존립

의 여부와 직결된 매우 중요한 문제임에 틀림없다.

따라서 게임보안 솔루션은 클라이언트 해킹을 방지하고 공정한 게임 룰을 유지하기 위

한 요소가 되고 있다. 그러나 이와 같은 클라이언트 보안에는 여러 가지 문제점이 있다. 게

임 클라이언트를 보호해야 하지만, 실제로 사용자들 중에는 핵을 사용하고 싶어 하는 사용

자들이 상당수가 된다. 물론 그런 사용자들도 엄연히 해커의 역에 포함시킬 수 있지만,

이들은 단지 자신들이 좀 더 유리하게 게임을 즐기고 싶어 할 뿐이지, 서버 다운이나 게임

서비스 방해 등의 목적을 가진 것이 아닌, 게임 플레이를 하고 싶어 하는 엄연한“게임 사

용자”들일 뿐이다. 따라서 그런 사용자들에게는 게임보안 솔루션을 큰 장애물로 간주하고

억지로 종료하고 싶어 하게 되므로, 마치 바이러스에 걸리고 싶어서 백신 프로그램을 종료

시키거나 설치 제거하는 사용자들을 상으로 보안을 해야 하는 상황과 같다. 따라서 이렇

게 게임보안 솔루션이 불필요한 것처럼 오해하는 경우까지 감안해야 하는 상황에서 게임

클라이언트 보안은 결코 쉽지 않은 것임에 틀림없다.

62 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 63

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

# groupdel adm; groupdel lp; groupdel news; groupdel games;

[root@www root]# tar zxvfp john-1.6.tar.gz // 압축해제

[root@www root]# cd john-1.6/src // john-1.6/src 디렉토리로 이동

[root@www src]# make linux-x86-any-elf // 컴파일

[root@www src]# cd ../run/ // run 디렉토리로 이동

[root@www run]# ./unshadow /etc/passwd /etc/shadow > passwd.1

// 암호화된 암호가 저장된 passwd.1 파일 생성

[root@www run]# ./john passwd.1 // 암호해독 시작

olympia (olympia)

allmall (allmall)

lee (lee)

v3 (v3)

1234 (gaucho)

111 (weblog)

Page 34: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

게임보안 솔루션은 클라이언트에서 적용되는 프로그램이다. 따라서 클라이언트에서 발

생할 수 있는 온라인 게임의 해킹에 한 가능성을 모두 차단해야 한다. 앞서 제3장에서 살

펴본 게임 서비스 개발 시 보안 책에 따라 게임 서비스를 안전하게 개발하여야 하나 그렇

지 못한 경우 게임보안 솔루션을 활용할 수 있다. 다음은 게임보안 솔루션들이 갖추어야 하

는 주요 기능들이다.

1. 메모리 보호

클라이언트 보안의 가장 첫 번째 과제는 메모리의 보호이다. 게임 클라이언트 프로세스

의 메모리가 임의로 Read/Write되는 것을 차단해야 한다. 메모리가 보호되면 게임 내의

코드 부분을 안전하게 보존할 수 있으며, 각종 중요한 데이터 수치도 변조되는 걸 막을 수

있다. 해킹을 방지하기 위해 강력한 보안 코드를 넣어도 메모리가 보호되지 않아 보안 코드

부분이 무력화 된다면 보안 코드는 쓸모가 없어지게 된다. 따라서 자체 보안을 위해서도 메

모리의 보호는 반드시 필수적인 것이다. 그 외에도 클라이언트의 메모리만 잘 보호하는 것

으로 게임의 밸런스를 무너뜨릴 수 있는 해킹을 방지할 수 있다는 점에서 메모리 보호는 가

장 기본적이면서 중요한 부분이다.

2. 스피드 핵 방지

게임 내 질서를 망가뜨리는 스피드 핵 사용을 차단해야 한다. 스피드 핵은 변종이 많으

므로 게임사에서 일일히 상 하기가 쉽지 않다. 게임보안 솔루션에서는 스피드 핵의 원리

를 이용하여 동작하는 유사 변종 프로그램에 해서도 탐지할 수 있어야 한다.

3. 계정 보호

온라인 게임에서 사용자들에게 가장 중요한 계정에 한 보호를 해줄 수 있어야 한다.

키 스트로크 후킹 등에 한 시도를 무력화 시킬 수 있는 키보드 전문 보안 솔루션이 함께

탑재되어야만 한다.

4. 소켓 모듈 변조 체크

send/recv 등의 소켓 관련 함수가 도청되어 패킷이 별조되고 있는 지 체크할 수 있어야

한다. 이와 같은 기능은 패킷 핵 차단에 효과적으로 응할 수 있다.

5. 디버깅 방지

게임 클라이언트가 디버깅 중이 아닌지, 아니면 게임보안 솔루션이 디버깅 상태가 아닌

지 감지해낼 수 있어야 한다. 온라인 게임 해킹의 시작은 바로 클라이언트 분석이다. 그리

고 그에 앞서 클라이언트 분석은 반드시 디버깅의 작업이 선행되므로 클라이언트 프로그램

에 한 각종 디버깅 시도는 모두 무력화해야 한다. 특히 강력한 커널 디버거의 감지가 실

시간으로 이루어져야 한다. 또한 게임보안 솔루션 자체가 분석되어서는 안되며, 보안 솔루

션 자체의 보안 상태를 유지할 수 있어야 한다.

64 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 65

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

〈 그림 4-3-2 〉커널 디버거의 표격인 소프트아이스(SoftICE)

〈 그림 4-3-1 〉키보드 보안의 원리

웹 페이지 접속시 Key 암호화Device Driver 및 Edit Cotrol Box

복호화입력정보 암호화(블록 암호화)

Page 35: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

6. 강제 키보드, 마우스 이벤트 방지

악성 매크로 프로그램에 의해 악용될 수 있는 강제적 키보드, 마우스 이벤트가 게임 내

에서 발생되지 않도록 처리해야 한다. 사람이 직접 키보드를 누르거나, 마우스를 클릭하지

않는 한, 컴퓨터 혼자 프로그램의 힘으로 움직이는 일이 발생하지 않도록 해야 한다.

7. 게임 클라이언트 위변조 체크 / 자체 모듈 위변조 체크

게임 클라이언트가 변조된 상태로 실행되고 있는지 체크할 수 있어야 한다. 게임 내의

중요 코드가 무력화 당했거나, 한 바이트라도 변조가 되었다면 즉각 감지해낼 수 있어야 한

다. 물론 게임보안 솔루션 자체가 변조되지 않았는지, 해킹 감지 코드가 무력화 되지 않았

는지 등 자체 모듈에 한 위변조 여부를 체크하여 무결성(integrity)을 보장할 수 있어야

한다.

8. 논 클라이언트 봇 차단

게임사에서 가장 골머리를 썩고 있는 논 클라이언트 봇에 한 책이 있어야 한다. 게

임 클라이언트 프로그램과는 독립적으로 실행되는 악성 프로그램이 게임 서버에 접속하여

불법 패킷을 날리는 것을 차단할 수 있어야 한다.

9. 안정성 입증

게임보안 솔루션은 홀로 실행되는 프로그램이 아닌, 타 프로그램에 붙어 혼재된 상태로

적용되는 솔루션이다. 게임 클라이언트는 아무 이상 없는데, 게임보안 솔루션에서 크래쉬

가 일어나거나, 자체 버그로 인해 계속 종료됨으로써 게임실행에 지장을 주어서는 안된다.

게임보안 솔루션은 타 프로그램에 적용되어 공생하는 만큼 높은 안정성에 한 입증이 필

수적이다.

10. 서비스

게임보안 서비스의 목적은 물론 훌륭한 엔진으로 다양한 해킹툴을 차단하는데 있지만,

어디까지나 고객의 불만이 없도록 최상의 서비스를 제공하고 유지하는 것 또한 중요한 과

제이다. 해킹에 한 신기술은 새로 등장하게 되어 있고, 보안 솔루션 역시 그에 발맞춰 발

전해 나가야 한다. 따라서, 게임보안 서비스는 해킹툴 차단 성능은 물론, 게임사 요청에

한 신속한 처리가 병행되어야만 적절한 서비스라 말할 수 있다.

게임보안 솔루션은, 단순히 온라인 게임의 해킹을 방지해주는 역할이 전부라고 생각할

지 모르나, 한편으로는“안티 크래킹(Anti-Cracking)”솔루션의 범주에 포함된다. 따라서

크래킹, 디버깅, 리버스 엔지니어링에 비하여야만 하며, 게임 클라이언트를 분석할 수 있

는 모든 가능성을 차단해야 한다. 따라서 필연적으로 디버깅 방지 코드가 들어가게 되며,

이는 곧 시스템에 한 제어를(물론 게임 중에만) 게임보안 솔루션이 어느 정도 차지해야만

가능해진다. 따라서 백신과의 충돌 혹은 타 보안 솔루션과의 충돌은 필연적으로 감안해야

한다. 이 때, 충돌이 난다는 그 자체에 얽매이지 말고, 빠른 시간 내에 그리고 좋은 효과로

합의점을 찾아 문제를 해결해 나가는 것이 중요하다.

게임보안 전문 업체의 서비스를 이용하는 경우는, 해킹과 보안이라는 분야에서 크게 신

경을 쓰며 골머리를 썩는 요소에서 해방되어 좋은 게임을 만들자는 의도도 포함되어 있지

만, 새로운 해킹툴이나 신기술의 해킹 방법이 등장하 을 때 신속한 처리와 응을 위한 목

적이기도 하다. 해킹이 차단되어 있는 지금도 해커들은 계정을 탈취하거나, 핵툴을 만들어

내기 위하여 끊임없이 게임 클라이언트를 뜯어보고 분석해보고 있다. 따라서 이런 끝없는

소모적인 싸움에서 신속한 응과 정확한 처리를 위해서는 그것들을 전문적으로 전담해줄

보안 전문 솔루션을 이용하는 것도 좋은 방법 중의 하나이다. 하지만 게임사에서 기본적으

로 처리해줘야 할 내부 보안 관련 사항에 해 소홀하다면, 아무리 강력한 보안 솔루션이

붙어 있다 하더라고 해킹툴은 끊임없이 제작될 수밖에 없다. 따라서 게임의 안정적인 운

과 게임을 즐기는 사용자들의 보호를 위해서 게임 개발자의 보안 마인드 역시 반드시 필요

한 부분 중 하나이다.

66 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 67

� �

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

Page 36: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

“요구사항 수집 → 디자인 → 설계 → 개발 → 테스트 → 오픈”으로 이루어지는 일반적인

개발 프로세스 상에서 보안상의 코드 리뷰 및 취약성 테스트는 반드시 이루어져야 하며 최

초 요구사항 수집 단계 및 디자인 단계부터 위험성을 최소화 하는 검증을 시행하는 것은 보

다 더 철저하고 문제성이 없는 프로세스를 가능케 한다.

개발자에게는 Secure coding을 익히고 지속적으로 발견되는 문제를 해결 하도록 가이

드하며, 서비스 기획자에게는 설계 및 디자인 단계부터 문제가 있는 부분에 해서는 직시

를 하도록 한다. 이후 개발이 완료된 단계에서 부터 오픈 이전까지 보안성 검수를 지속적으

로 시행함으로써 발생할 문제를 제거하여 궁극적인 서비스의 안전성을 보장 할 수 있을 것

이다.

위험성을 100% 제거할 수는 없으나 가능성을 95% 수준까지 줄이는 것은 충분히 가능하

다. 보다 더 많은 인력과 비용이 투입 되어야 하나 신뢰의 문제, 정보 유출로 인한 심 한

피해를 입을 수 있는 보안상의 Risk는 Business에 부수적인 모델이 아닌 필수적인 요소이

온라인게임해킹 응가이드 │ 69

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록

제 4 절 어플리케이션 보안성 검수

1. “보안성 검수”란 무엇일까?

일반적으로 Black Box Test라고 칭하며 서비스의 오픈 이전의 안전성을 검수하는 절차

로서 일반적인 서비스에 한 부하 테스트 및 과다 연결 테스트와는 별개로 외부로 부터 공

격이 가능한 취약성이 존재하는지 여부를 검수하는 프로세스를 말한다.

그렇다면 왜 보안성 검수가 중요하다고 하는 것일까?

웹 환경 또는 클라이언트/서버 환경의 모든 어플리케이션은 개발자가 개발을 하게 되고

오픈 일정에 쫓기거나 보안부분을 고려하지 못한 설계 및 코딩으로 인해 문제가 있을 수 밖

에 없다. 문제 발생 시점은 전체 프로세스 일정 어느 곳에나 있다.

서버의 보안설정 미비, 네트워크상의 구조적인 문제점, 어플리케이션 코딩상의 문제점,

서버와의 정보 교환의 문제점 등등 실로 개발자 및 운 자가 커버하기에는 범위가 넓어지

고 전문화 된 것이 사실이다. 예전 처럼 폐쇄형 구조 을 경우에는 문제가 외부로 노출이

되지 않았으나 모든 것이 공개화 되고 오픈되는 것이 일상화 되어 있는 현실에서는 사소한

문제 하나로 중요 자산이 위험해 지는 일들이 비일비재 하다.

무엇에 집중하고 무엇에 신경을 써야 하는가?

개발자는 서비스의 안정적인 런칭과 창의적인 생각의 구현에 집중을 하고 보안 전문인

력은 서비스의 침해 가능성 및 위험성을 통제 하여야만 한다. 모든 개발자가 Secure한 코

딩을 한다는 것은 거의 불가능하며 모든 솔루션에는 위험성이 존재한다.

아무리 깔끔하고 Secure한 코딩을 한다고 하더라도 신경 쓰지 못하는 부분이 존재하며

개발자가 모든 일을 다 할 수는 없다. 따라서 보안성 검수라는 절차를 프로세스화 함으로써

안정적인 서비스의 오픈 및 운 을 할 수 있도록 하여야 한다.

작금의 한국 소프트웨어 개발 현실에서 보안성 검수의 여력을 지닌 회사는 많지 않다.

또한 있다고 하더라도 능력있고 역량이 충분한 검수 인력의 확보하는 것은 쉽지 않은 일이

다. 문제 해결은 아직 요원하며 하루에도 수십개의 서비스 및 수백개의 신규 웹사이트가 개

편되고 런칭 되는 현실에서 보안상 심각한 취약성을 지니는 곳은 많을 수 밖에 없다.

68 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

〈 그림 4-4-1 〉개발 프로세스

Page 37: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

위와 같은 프로세스는 일반적인 기업에서는 유지하기 힘든 프로세스이다. 그러나 보안

성 검수라는 용어 자체에 익숙해 지지 않는다면 향후에도 기업의 연속성을 위협하는 침입

시도 및 정보 유출은 매우 심각해 질 수 밖에 없을 것이다.

간단한 페이지 수정에도 수정된 페이지가 DB나 시스템에 접근이 가능한 요소를 포함하

고 있다면 모든 요소는 다시 점검이 되어야 하며 페이지의 적 개편 혹은 신규 프로젝트

의 런칭에는 반드시 보안성을 검토하는 부분이 들어가야 한다. 간단한 Web Application

scanner는 간단한 페이지 수정이나 웹 베이스의 프로젝트에 활용을 하면 되고 규모가 큰

형 게임의 계획이나 규모 서비스의 신규 오픈시에는 시스템/네트워크/Application 각

분야를 점검하고 나타난 문제를 제거할 수 있어야 한다.

문제가 방치되거나 문제가 있는지 여부조차 모르는 경우에 발생할 피해는 예전과는 달

리 IT 비즈니스를 위하는 기업에게는 치명적인 위험이며 기업의 존폐에도 향을 미칠

수 있으므로 보안이라는 단어에 포함된 의미를 다르게 보아야만 한다.

기존에 존재하는 것을 지키기 위한 Security가 아닌 기업의 Risk Management를 하기

위한 필수적인 요소로서의 Security로 중요성이 인식 되고 있는 시점이다. 보안성 검수는

Risk Management를 하기 위한 필수적인 요소라고 할 수 있다.

온라인게임해킹 응가이드 │ 71

제4장

게임

서비스

보안

관리

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응 부 록

다. 지금 보다 앞으로가 더욱 더 중요한 프로세스라 할 수 있다.

Secure Development는 간단하게 이루어 지지 않으며 많은 노력이 필요하다. 즉 모든

개발 프로세스의 안정화는 거의 불가능하며 다수의 사용자가 집중화 되는 곳을 우선적으로

안정화시키는 것이 바람직하다.

최 한 보안성을 보장하기 위해서는 더욱 더 많은 비용에 더욱 더 많은 인력의 투입이

필요하지만 완벽할 수는 없다. 얼마나 더 적은 Risk를 가질 수 있느냐가 향후 로벌한 환

경에서의 중요한 키 포인트가 될 것이다.

보안성 검수라는 용어 자체가 낯설 수 있으나 중요한 점은 프로젝트 및 서비스 기획에서

부터 실행 단계에 이르기까지 현재의 상황은 보안상 취약성에 해 검수가 되지 않으면 기

업에 치명적인 향을 미칠 수 있다는 점이다. 최근의 공격 현황은 URL의 인자를 변경 하

는 작은 변경에도 불구하고 DB에까지 접근 하여 시스템을 컨트롤 할 수 있는 치명적인 공

격도구 및 공격 기법들이 나타나 심각한 피해를 입히고 있는 시점이다. 따라서 철저한 보안

성 검수만이 지속적으로 나타날 수 있는 치명적 위험성을 줄일 수 있다.

“요청검토 → 평가 승인 → 평가 시행 → 문제 발생 여부 → 지속적인 문제 개선 요청 →

개선 확인 후 개발 프로젝트의 보안성 승인”

70 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책

제4 장 게임 서비스 보안 관리

〈 그림 4-4-2 〉조직간 개발 프로세스

APP 보안성 검수 반복

IT Security

개발부서

사업부서

경 층

Page 38: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

온라인게임 해킹 대응 가이드

제1 절 네트워크차단

제2 절 웹서버보안

제3 절 E-mail 보안

제4 절 내부직원보안정책

제5 절 해외진출시보안고려사항

내부시스템보안제5 장

+

+

+

+

+ + +

Page 39: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제 1 절 네트워크 차단

1. 라우터를 활용한 네트워크 보안

본 절에서는 라우터를 통해 네트워크의 보안을 강화할 수 있는 방안에 해 알아보도록

하자. 특히나 모든 트래픽이 라우터를 통하여 들어오고 나가기 때문에 라우터에서의 트래

픽 제어는 매우 효율적이고 그만큼 중요하다 할 수 있겠다. 물론 라우터의 본래 기능은 패

킷을 라우팅 테이블에 따라 포워딩하는 것이지만 자체적으로 제공하는 각종 보안기능과

모니터링 기능을 활용하면 보안 제품 이상의 솔루션이 될 수 있을 것이다. 특히나 사내에

서 라우터를 이용한다면 사내 트래픽을 모니터링하거나 사내 방화벽의 용도로도 적합할

것이다.

가. ingress filtering 설정하기

ingress 필터링은 standard 또는 extended access-list를 활용하여 라우터 내부로 즉

사내 네트워크로 유입되는 패킷의 소스 ip나 목적지 포트 등을 체크하여 허용하거나 거부

하도록 필터링하는 것을 뜻한다.

먼저 공통적으로 필터링하여야 할 소스 ip는 인터넷상에서 사용되지 않는 ip 역이다.

부분의 공격이 실제 존재하지 않는 위조된 ip 주소를 소스로 하여 진행되므로 이 ip 역

만 차단해도 일정정도의 비정상 패킷을 사전에 차단하는 효과가 있다.

현재 ip 할당 및 미 할당 내역은 아래의 url에서 참고할 수 있다.

위 정보를 참고로 외부에서 유입되는 것을 차단하여야 할 네트워크 주소 목록은 아래와

같다.

74 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장 내부 시스템 보안

0.0.0.0/32

127.0.0.0/8

10.0.0.0/8

172.16.0.0/12

192.168.0.0/16

224.0.0.0/4

240.0.0.0/5

255.255.255.255/32

여기에서 /32나 /8과 같은 형식은 CIDR라고 하는데, /8은 A class(255.0.0.0) /16은 B

class(255.255.0.0), /24는 C class(255.255.255.0), /32는 단일한 호스트

255.255.255.255라고 생각하면 된다. 위 정보를 참고로 access-list를 작성해 보도록 하

자. 물론 단순히 특정 소스 ip 및 ip 역을 차단하는 것이므로 standard access-list를 활

용해도 되지만 이후에 1434/udp 등 악성 포트도 차단하는 룰을 함께 사용할 것이므로

extended access-list로 작성해 보도록 하자.

온라인게임해킹 응가이드 │ 75

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-1-1 〉비정상 IP 역 필터링

Page 40: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

위 룰에서 단일한 ip는 host로, ip 역은 255.255.255.255에서 netmask를 뺀

wildcard mask로 하 고 목적지 ip 역은 라우터 내부로 향하는 모든 트래픽에 적용되므

로 모두 any가 된다.

다음으로는 잘 사용하지 않거나 보안에 취약한 악성 포트를 필터링할 차례이다. 이를테

면 지난 1.25 란의 주범이었던 MS-SQL 웜에서 사용했던 1434/udp가 표적인 예가

될 것이다. 이외 udp/tcp 135~138까지는 정상적인 서비스로는 거의 사용되지 않으면서도

웜 바이러스 등이 스캔을 할 때 많이 사용하는 포트이므로 가능한 로 필터링하는 것이 좋

다. 만약 외부에서 네트워크 드라이브를 이용한 공유를 허용하지 않도록 한다면 139/tcp

와 445/tcp도 함께 필터링하는 것이 좋다.

아래는 비정상 포트를 목적지로 한 패킷을 필터링 한 예를 보여주고 있는데 각자의 환경

에 따라 다를 수 있으므로 단지 참고로만 하기 바란다.

일단 앞의 룰과 중복되지 않도록 이 룰은 103번으로 설정하 는데, 이후에 앞의 룰과 하

나의 룰도 합치면 된다. 먼저 103번 룰에서는 deny를 먼저 설정한 후 마지막에 이외의 패

킷은 모두 허용하는 룰을 작성하 다. 소스와 목적지 부분은 any를 하 으므로 소스와 목

적지 ip 에 관계없이 목적지 포트와만 관련된 것을 알 수 있다. 앞에서 언급한 바와 같이 단

일한 포트를 뜻할 때는“eq 포트번호”와 같이 하면 되고 포트범위를 뜻할 때는“range 시

작번호 끝번호”형식으로 하면 된다.

이 중에서 아래에서 3번째 룰인“access-list 103 deny udp any any eq 161”을 보면

소스나 목적지에 관계없이 라우터를 통과하는 161/udp 트래픽을 모두 차단한 것을 알 수

있는데, 만약 특정한 ip에서 라우터 내부의 특정한 ip에 해서는 허용하고자 할 경우 차단

하는 룰 앞에 위와 같이 허용하는 룰을 추가해 주면 된다. 위와 같은 경우 161/udp와 관련

된 트래픽 중 소스가 192.168.0.71이고 목적지가 211.219.171.144로 향하는 패킷은 허용하

되 다른 161/udp 트래픽은 거부한다는 의미가 된다.

지금까지는 IP와 TCP, UDP 필터링에 해 알아보았는데, 추가적으로, icmp에 해 필

터링을 어떻게 할 것인지 고민해 보아야 한다. icmp는 tcp나 udp와 달리 포트번호로 서로

구분하지 않고 icmp type과 code라는 것으로 구분한다. 라우터에서는 반드시 허용해 주어

야 할 몇 가지 타입과 코드를 제외하고는 필터링하는 것이 좋다.

icmp type과 code 목록에 해서는 아래 url을 참고하면 된다.

이제 앞에서 살펴본 3개의 룰인 access-list 102, 103, 104번 룰을 합칠 차례이다.

access-list 번호만 같게 설정하여 하나로 통합하면 아래와 같이 보이게 될 것이다.

76 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 77

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-1-2 〉악성 포트를 필터링 한 예〈 그림 5-1-3 〉ICMP 필터링 예

Page 41: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

앞에서는 각각의 룰을 따로 작성하 지만 실제로는 위와 같이 한꺼번에 작성하면 된다.

특히“permit ip any any”는 마지막에 한번만 들어가야 한다는 점을 주의하기 바란다.

access-list 설정이 끝난 후에는 access-group을 이용하여 룰을 해당 인터페이스에 지정

하면 된다.

위 그림에서는 serial0 인터페이스에 access-group을 설정하 는데, 하나의 인터페이

스에서는 in이나 out이 각각 1개씩만 언급될 수 있으므로 적용을 하기 전에 no ip access-

group in으로 in과 관련된 기존의 access-group을 삭제하 다. 그리고 access-group을

적용하 는데, 여기에서 104는 앞에서 설정한 access-list의 번호를 뜻한다. 라우터의 외

부에서 내부로 들어오는 패킷에 한 제어이므로 serial 인터페이스에서 in으로 설정하

으며 만약 이더넷 인터페이스에서 설정하려면 out으로 해야 할 것이다.

나. egress filtering 설정하기

다음으로는 ingress filtering과 반 의 개념인 egress filtering에 해 알아보도록 한

다. 앞에서 살펴보았던 ingress filtering이 라우터 외부에서 라우터 내부로 들어오려는 패

킷의 소스 ip나 목적지 포트등을 살펴보아 필터링 한 것이라면 지금부터 살펴볼 egress

filtering이란 반 로 내부에서 라우터 외부로 나가는 패킷의 소스 ip를 체크하여 필터링하

는 것이다. 만약 라우터 내부에서 220.1.2.0/24의 C class 역을 사용한다면 라우터를 통

과하여 외부로 나가는 트래픽의 소스 ip는 반드시 이 역인 것이 정상이며 이외의 패킷은

모두 위조된 패킷일 것이다. 따라서 라우터를 통해 나가는 패킷의 소스 ip중 사용 중인 ip

역을 소스로 한 패킷은 허용하고 나머지는 거부하도록 access-list를 설정하면 내부 네

트워크에서 소스 ip를 위조하여 외부로 나가는 트래픽을 차단할 수 있을 것이다.

위는 내부 네트워크에서 220.1.2.0/24 즉 C class 역을 사용한다고 가정하고 access-

list를 설정한 예이다. 이 룰은 소스 ip가 220.1.2.0/255.255.255.0인 패킷은 허용하고 이

외의 패킷은 모두 거부한다는 의미가 된다. 거부 시 마지막에 log가 추가되었는데, 이를 통

해 이 룰에 매칭된 패킷 즉, 위조된 패킷이 보일 경우에는 로그에 남게 된다.

78 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 79

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-1-4 〉통합된 access-list 설정

〈 그림 5-1-6 〉access-list 설정

〈 그림 5-1-5 〉access-group에 적용한 예

Page 42: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

access-list 설정을 한 후에는 access-group을 이용하여 해당 인터페이스에 룰을 적용

할 차례이다. 라우터 내부에서 외부로 나가는 패킷에 한 제어이므로 이더넷 인터페이스

에 적용하면 in이 되고, 시리얼 인터페이스에 적용하면 out이 될 것이다. 아래는 이더넷 인

터페이스에 in으로 설정한 예이다. 여기에서 in이라고 해서 외부에서 내부로 들어오는 패

킷에 한 제어가 아니라는 것을 주의하기 바란다.

다. Null routing을 활용한 필터링

access-list와 함께 유용하게 사용할 수 있는 필터링 기법으로는 blackhole 필터링이라

는 것이 있다. 이는 access-list와 비슷한 효과를 내면서도 더욱 간편하게 사용할 수 있는

데, 다음과 같은 경우를 생각해 보자. 만약 시스템이나 네트워크를 모니터링 하던 중 특정

ip 또는 특정 역에서 비정상적인 시도가 감지되었을 경우 해당 ip를 차단하기 위해 매번

기존 access-list를 지우고 새롭게 ip를 추가하여 작성하는 것은 여간 번거로운 일이 아닐

수 없다. 이때 사용할 수 있는 것이 바로 black hole 필터링인데, 명령어 자체는 특정한 목

적지 ip 또는 ip 역에 하여 routing 테이블을 생성하는 방식과 동일하다. 다만, 특정한

ip 또는 ip 역에 해서 Null이라는 가상의 쓰레기 인터페이스로 보내도록 함으로써 패

킷의 통신이 되지 않도록 하는 것이다. 이의 사용 형식은 다음과 같다.

라우터에서는 패킷이 Null 0 인터페이스로 보내어져 패킷이 필터링 될 때마다 패킷의

소스 ip로 icmp unreachable이라는 에러 메시지를 발송하게 되는데, 만약 필터링 하는

패킷이 많을 경우에는 라우터에 과부하를 유발할 수 있기 때문에 Null 인터페이스에서 이

에 해 icmp 에러 메시지로 응답하지 않도록 no ip unreachables 설정을 반드시 하도록

한다.

아래의 경우 192.168.3.4 ip를 차단하는 예를 보여주고 있다. 명령어의 형식은 static

routing이므로 mask를 적용할 때에는 access-list에서 사용 하던 로 wildcard mask가

아니라 netmask를 그 로 사용하여야 한다는 점을 주의하기 바란다.

위그림에서는먼저Null 0 인터페이스를생성하고, 이인터페이스에서no ip unreachables

설정을 하 다.

이후 blackhole 필터링할 ip 또는 ip 역을 설정하 다. 위의 경우 123.111.222.0/24

역에 한 필터링 설정으로 라우터 내부에서는 위 ip 역으로 접근할 수 없고, 위 ip

역에서 라우터 내부의 네트워크로 접근할 때 역시 응답을 받을 수 없어 통신을 할 수 없게

된다. 물론 특정 ip만을 필터링하고자 한다면 255.255.255.255를 이용하면 된다.

80 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 81

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-1-7 〉access-group 설정

〈 그림 5-1-8 〉Null 0 인터페이스 생성

〈 그림 5-1-9 〉Null 라우팅 설정interface Null0

no ip unreachables

ip route <차단하고자하는목적지ip또는ip 역> <netmask> Null0

Page 43: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

물론앞서설정한필터링설정을해제하려면명령어앞에no를붙여서실행해주면된다.

라. Unicast RPF를 이용한 필터링

마지막으로 살펴볼 필터링 기능은 Unicast RPF(Unicast Reverse-Path Forwarding)

라는 것으로 이를 이용하면 앞에서 살펴본 access-list나 blackhole 필터링을 이용하여 일

일이 ip나 ip 역을 지정하지 않고도 비정상 트래픽을 효율적으로 필터링 할 수 있다.

Unicast RPF의 원리는 인터페이스를 통해 들어오는 패킷의 소스 ip에 해 라우팅 테

이블을 확인하여 들어온 인터페이스로 다시 나가는지 확인하는 것이다. 즉, URPF가

enable된 인터페이스에 1.1.1.1이라는 소스 ip를 달고 들어오는 패킷이 있다면 라우팅 테이

블을 확인하여 만약 1.1.1.1이라는 목적지로 라우팅 될 때 같은 인터페이스를 통하여 나가

는지 확인하여 같다면 정상적인 트래픽으로 간주하여 트래픽을 통과시키고, 다르다면 스

푸핑 된 패킷으로 간주하여 필터링하는 것이다. 만약 Unicast RPF를 serial 인터페이스에

설정한다면 라우팅 테이블에 없거나 소스 ip를 위조하는 형태의 패킷을 필터링할 수 있을

것이고, ethernet 인터페이스에 설정한다면 내부에서 패킷을 위조하여 나가는 패킷을 필

터링 할 수 있을 것이다. 즉, serial 인터페이스에 설정할 경우 ingress 필터링의 효과를,

ethernet 인터페이스에 설정할 경우 egress 필터링의 효과를 기 할 수 있을 것이다.

Unicast RPF를 사용하려면 먼저 라우터에서 CEF를 설정하여야 하며 만약 CEF가 지

원하지 않으면 이 기능을 이용할 수 없다. 이후 URPF를 설정할 해당 인터페이스에 설정을

하면 된다.

먼저 CEF가 enable 되어 있는지 아래와 같이 확인해 보기 바란다. 위와 같은 그림의 경

우 CEF가 enable 되어 있지 않은 것이다.

위 그림은 먼저 global config 모드에서 ip cef를 실행하여 CEF를 enable 한 후 serial

0 인터페이스에 URPF를 설정하는 예를 보여주고 있다. 위의 경우 serial 인터페이스에 설

정하 으므로 외부에서 들어오는 패킷에 해 Reverse 경로를 체크하게 된다.

만약, 설정 이후 이를 해제하려면 해당 인터페이스 모드에서“no ip verify unicast

reverse-path”를 입력하면 된다.

지금까지 Unicast RPF의 장점만을 언급하 지만 그렇다고 해서 반드시 모든 환경에서

적합한 것은 아니다. 특히 라우터에서 두 개 ISP 이상과 연동되어 있다면 이 설정을 하지

말아야 한다. 이를테면 한국통신(KT)과 하나로(hanaro)의 E1 회선을 2개 연동하여 사용한

다면 경우에 따라 KT로 나간 접속이 하나로를 통해 들어오거나 반 로 하나로로 나간 접

속이 KT를 통해 들어오는 일이 있을 수 있기 때문이다. 이러한 경우 만약 Unicast RPF가

설정되어 있다면 비정상적인 패킷으로 간주하여 패킷을 차단해 버리게 되기 때문이다.

82 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 83

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-1-11 〉CEF 가 enable 되어 있지 않을 경우〈 그림 5-1-10 〉blackhole 필터링 설정 해제

〈 그림 5-1-12 〉URPF 설정

Page 44: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제 2 절 웹 서버 보안

최근 많은 어플리케이션들이 웹 기반으로 운 이 되고 있으며, 온라인 게임 서비스도 사

용자 인증 등 웹 기반 서비스가 폭 넓게 이용되고 있다. 앞서 웹 어플리케이션 개발시 보안

책을 이미 살펴보았지만, 기존에 구축된 웹 서버의 소스 프로그램 수정은 쉽지 않다. 소

스 수정이 근본적인 책이지만, 웹 방화벽과 같은 보안제품의 도움을 받을 수도 있다. 국

내외 상용 웹 방화벽들도 다수 존재하는데 본 절에서는 상용 웹 방화벽 도입이 어려운 중소

온라인게임업체를 위해 공개용 웹 방화벽을 소개하도록 한다.

1. IIS용 공개 웹 방화벽(WebKnight)

가. WebKnight 개요

WebKnight는 AQTRONIX사(http://www.aqtronix.com/)에서 개발한 IIS 웹 서버에

설치할 수 있는 공개용 웹 방화벽이다. WebKnight는 ISAPI 필터 형태로 동작하며, IIS 서

버 앞단에서 IIS 웹 서버로 들어오는 모든 웹 요청에 해 웹 서버 관리자가 설정한 필터 룰

에 따라 검증을 하고 SQL Injection 공격 등 특정 웹 요청을 사전에 차단한다. 이러한 룰은

정기적인 업데이트가 필요한 공격 패턴 DB에 의존하지 않고 SQL Injection, 디렉토리

traversal, 문자 인코딩 공격 등과 같이 각 공격의 특징적인 키워드를 이용한 보안필터 사

용으로 패턴 업데이트를 최소화하고 있다. 이러한 방법은 알려진 공격 뿐만 아니라 알려지

지 않은 공격으로 부터도 웹 서버를 보호할 수 있다.

나. WebKnight 설치 및 제거

WebKnight는 윈도우즈 인스톨러를 이용한 설치, install.vbs 스크립트를 이용한 설치,

수동 설치 등 3가지 방법으로 설치할 수 있다.

웹 호스팅 서버 등 하나의 웹 서버 내에 다수개의 사이트가 운 되는 경우 웹 서버 전체

에 필터를 적용( 로벌 필터)할 수도 있으며, 개별 웹사이트별로 서로 다른 룰에 의해 필터

를 적용(사이트 필터)할 수도 있다.

윈도우즈 인스톨러와 install.vbs 스크립트를 이용한 설치 시에는 기본적으로 로벌 필

터가 적용되는데 설치 과정은 다음과 같다.

①아래 URL에서 WebKnight 1.3(2003.11.10 릴리즈)을 다운로드 받는다.

http://www.aqtronix.com/downloads/WebKnight/2004.02.01/WebKnight.zip

② 압축을 해제하면 아래와 같은 폴더와 파일이 생성된다.

③ Setup 폴더로 이동하여 설치 방법을 선택할 수 있다.

④WebKnight.msi 파일을 더블클릭하여 윈도우즈 인스톨러를 동작시켜 WebKnight

를 설치할 수도 있고, install.vbs 스크립트를 더블클릭하여 설치할 수도 있다. (삭제

시에는 uninstall.vbs 파일 실행)

84 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 85

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-2-1 〉Webknight 설치 프로그램 #1

〈 그림 5-2-2 〉Webknight 설치 프로그램 #2

Page 45: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

다음 그림은 IIS 6.0에서 WebKnight.msi 파일 실행하여 윈도우즈 인스톨러에 의해 설

치되는 화면이다.

⑤ 라이센스 동의 후 설치 타입 선택화면이 나타나는데, 일반적으로“Typical”을 선택

한다.

⑥ 이후 자동 설치과정이 진행되며 설치가 완료되면 다음과 같은 메시지가 나타난다.

⑦ 기본적으로 C:\\Program Files\AQTRONIX\WebKnight 폴더에 설치가 완료된다.

이 폴더 내에 필터 역할을 하는 DLL파일(WebKnight.dll)과 향후 커스트마이징을 위해

필요한 설정실행 파일(Config.exe), 로그파일(IIS 재가동 후 생성) 등이 위치하고 있으므로

이 폴더의 위치를 기억할 필요가 있다.

⑧ IIS 웹 서버를 재가동 한다.

⑨ IIS 웹 서버를 재가동 후에 정상적으로 설치가 완료되었을 경우 다음과 같이 웹사이

트 동록 정보의“ISAPI 필터”에 다음과 같이 WebKnight 필터가 정상적으로 적용이

된 것을 확인할 수 있다.

86 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 87

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-2-3 〉Webknight 설치단계 #1

〈 그림 5-2-4 〉Webknight 설치단계 #2

〈 그림 5-2-5 〉Webknight 설치 종료 메시지

〈 그림 5-2-6 〉Webknight 설치 디렉토리

Page 46: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

IIS 6.0에서 로벌 필터로 구동하기 위해서는“IIS 5.0 격리 모드”로 IIS를 구동하여야

한다. IIS 6.0은 기본적으로“작업자 프로세스 모드”로 구동이 되고 있는데“IIS 5.0 격리

모드”로 변경할 경우에는 동일 환경의 테스트 서버에서 사전에 검증을 거치는 것이 바람직

하다. 왜냐하면 만약 해당 사이트가 IIS 5.0에는 없는 IIS 6.0의 새로운 기능을 사용하고

있을 경우 해당 기능과 관련된 프로그램들이 정상적으로 동작하지 않거나 오류를 발생시킬

수 있기 때문이다. 또한, “IIS 5.0 격리 모드”로의 변경은 IIS의 재시작을 필요로 한다.

만일 WebKnight를 제거하고자 할 경우 윈도우즈 인스톨러(WebKnight.msi)를 실행하

여“Remove”를 선택하면 자동으로 WebKnight가 제거된다.

다. 설정 커스트마이징

WebKnight는 SQL Injection 공격차단, 허용하지 않는 파일 또는 확장자에 한 접속

차단 등 웹 공격에 해 단히 다양한 차단기능을 제공해 주고 있다. 또한 기본적으로 이

러한 차단기능이 설정되어 설치와 동시에 적용이 되는데 이 차단기능이 정상적인 웹 접속

을 차단할 수도 있다. 따라서 설치이후 자신의 웹사이트 환경에 맞게 적절하게 커스트마이

징하는 과정을 반드시 거쳐야 한다.

먼저, WebKnight 설치 이후 해당 웹사이트에 방문해서 정상적으로 웹요청 및 응답이

이루어지는지 확인을 하고, 접속이 차단될 경우 WebKnight의 로그를 참조하여 어떠한 룰

에 의해 요청이 차단되었는지 찾아 이 룰을 수정하여야 한다.

디폴트 설치시 로그파일의 위치와 설정프로그램은 다음과 같다.

▶ 로그파일 : C:\Program Files\AQTRONIX WebKnight\LogFiles\YYMMDD.log

▶ 설정프로그램 : C:\Program Files\AQTRONIX WebKnight\config.exe

정상적인 웹 요청이 차단된다면 로그파일을 열어“BLOCKED”메시지를 확인하고 어느

룰에서 차단되었는지 찾아 설정파일에서 이를 해제하여야 한다.

88 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 89

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-2-7 〉Webknight 설치 확인

〈 그림 5-2-8 〉IIS 5.0 격리모드로 실행

〈 그림 5-2-9 〉Webknight 제거

Page 47: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

기본적인 로그파일의 각 필드는 다음과 같다.

다음 FAQ에는 WebKnight의 설치와 환경설정, 로그파일 분석시 자주 발생될 수 있는

문제와 궁금증에 해 질의∙응답식으로 정리되어 있으므로 참고하기 바란다.

http://www.aqtronix.com/?PageID=114

설정 변경은 config.exe 파일을 실행하여 GUI 인터페이스를 통해 설정할 수 있다.

config.exe를 통해 WebKnight의 다양한 필터링 기능을 설정할 수 있는데 다음과 같은

설정을 할 수 있다. 환경설정과정에서 웹 서버 관리자가 유심히 확인해야 되는 부분에 해

“확인 사항”에 의견을 넣었으니 참고하기 바란다.

〈 표 5-2-1 〉Webknight 주요 기능

위 부분의 설정 변경 사항은 IIS의 재가동 없이 바로 적용이 되지만 일부 항목은 재

가동을 하여야만 적용이 되는 것도 있으므로 IIS의 재가동 여부를 확인할 필요가 있다.

만일 설정을 잘못 변경하여 다시 디폴트 설정으로 바꾸기 위해서는 WebKnight.xml 파

일을 삭제한 후에 웹 서버를 재시작하면 된다(디폴트 상태의 WebKnight.xml 파일이 새

로 생성됨).

90 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 91

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

Time ; Site Instance ; Event ; Client IP ; Username ; Additional info about request(event

specific)

구 분 기 능 확인 사항

ScanningEngine

암호화 포트(HTTPS), 비암호화 포트(HTTP)에 한 모니터링 기능 설정

IncidentResponseHandling

공격 발생시 WebKnight가 어떻게 행동할지를 결정하며, 기본적으로경고화면인 nohack.htm으로 redirect하고 웹요청을 차단하지만, 차단하지 않고 로그만 남기게 할 수도 있음

Logging로깅 여부, 로그 시간 , 로그 항목(클라이언트 IP, 사용자 명 등) 등을설정

“USE GMT”항목 disable 권고(시스템 시간 사용)

Request Limits 컨텐츠 길이, URL 길이, 쿼리스트링 길이 등을 제한

URL ScanningURL Encoding 공격 차단, 상위 패스(..) 차단, URL 백슬래쉬(\) 차단, URL인코딩(%) 차단, 특정 URL 스트링 차단 등 URL 입력 모니터링 및 차단

“URL Denied Sequences”항목 확인 필요

Mapped Path경로에 상위 패스, 백슬래쉬(\) 등 차단 및 로컬 파일시스템의 허용하는경로 정의

“Allowed Paths”에서 웹컨텐츠가 있는 위치 확인 및지정 필요

Requested File 차단시킬 파일 목록과 차단∙허용할 파일 확장자 정의정상적인 요청이 차단될 수있으므로 반드시 확인필요

Headers 서버 헤더 정보 변경, 특정 헤더 차단 등 설정

Methods허용 또는 차단할 Method를 결정(예 : GET, HEAD, POST은 허용하고DELETE, PUT 등은 차단)

Querystring특정 query 스트링(xp_cmdshell, cmd.exe 등) 차단, query 스트링에서SQL Injection 차단 등 설정

Global Filter Capabilities

로벌 필터 적용 여부, 특정 헤더 스트링(xp_cmdshell, cmd.exe 등) 차단 등 결정

SQL Injection SQL Injection 공격에 이용되는 키워드 정의(‘ ; select insert xp_ 등)

공격에 이용될 수 있는 수십개의 키워드가 정의되어있으나 확장저장프로시져의사용 유무 등을 고려하여추가/삭제 필요

WebApplications

WebDAV, IISADMPWD 등 웹어플리케이션의 허용유무 결정기본적으로 모두 사용하지않는 것으로 설정되어 있음

〈 그림 5-2-10 〉Webknight 설정화면

Page 48: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

2. Apache용 공개 웹 방화벽(ModSecurity)

가. ModSecurity 개요

ModSecurity는 Apache 웹 서버를 위한 오픈 소스 웹 방화벽이다.

ModSecurity는 O’Reilly사에서 출간한“Apache Security”라는 책을 쓴 Ivan Ristic가

개발한 툴로써, 설치 및 차단 Rule 설정 인터페이스가 불편하다는 단점은 있지만 공격차단

기능은 상당히 우수하다.

ModSecurity는 웹 공격에 한 침입탐지 및 침입방지 기능을 추가해 주는 아파치 웹 서

버의 하나의 모듈로 동작한다. 웹 클라이언트와 아파치 웹 서버 사이에 ModSecurity가 존

재하여 클라이언트로부터 악의적인 접속요청이 발견되면 공격차단, 로깅 등 사전에 정의

된 행위를 수행한다.

다른 아파치 모듈과 마찬가지로 ModSecurity를 아파치의 한 부분으로 설치할 수 있으

며, 정상적으로 설치되었을 경우 ModSecurity의 추가적인 처리로부터 발생되는 과부하는

거의 없다.

나. ModSecurity 설치

먼저 본 고에서는 다음 환경에서 ModSecurity를 설치하여 테스트하 다.

ModSecurity는 2006년 5월 현재 안정화 버전은 1.9.4이다.

■ ModSecurity 프로그램 다운로드

설치하고자 하는 안정화 버전은 다음 사이트에서 다운로드 받을 수 있다.

http://www.modsecurity.org/download/

다운로드 받은 후 다음의 명령으로 압축 및 패키징을 해제한다.

# tar xvzf modsecurity-apache-1.9.2.tar.gz

# cd modsecurity-apache-1.9.2; ls -al

linux-web:/usr/local# cd modsecurity-apache-1.9.2; ls -al

total 84

drwxr-xr-x 6 1000 1000 4096 2006-01-17 03:36 .

drwxrwsr-x 12 root staff 4096 2006-02-22 16:07 ..

drwxr-xr-x 2 1000 1000 4096 2006-01-17 03:36 apache1

drwxr-xr-x 2 1000 1000 4096 2006-01-17 03:36 apache2

-rw-r--r-- 1 1000 1000 26381 2006-01-16 21:31 CHANGES

drwxr-xr-x 3 1000 1000 4096 2006-01-17 03:37 doc

-rw-r--r-- 1 1000 1000 1811 2006-01-09 21:33

httpd.conf.example-minimal

-rw-r--r-- 1 1000 1000 881 2005-11-01 22:52 INSTALL

-rw-r--r-- 1 1000 1000 17989 2003-05-29 05:36 LICENSE

-rw-r--r-- 1 1000 1000 994 2006-01-09 23:45 README

drwxr-xr-x 2 1000 1000 4096 2006-01-17 03:36 util

ModSecurity 설치방법은 웹 서버 초기설치시 웹 서버 자체에 모듈을 설치하는 방식과

운 되고 있는 웹 서버에 mod_security.c만을 컴파일하여 포함시키는 동적공유객체

(DSO, Dynamic shared object) 방식 등 두 가지가 있다.

DSO 방식은 아파치 웹 서버의 재설치 과정없이 기존에 운 되고 있는 아파치 웹 서버에

모듈을 동적으로 추가하는 방식이므로 기존에 아파치 웹 서버를 이미 운 중인 기관의 경

우 DSO 방식을 선택하는 것을 권장한다. DSO 방식으로 설치하는 것은 아파치 버전에 상

관없이 다음과 같이 설치할 수 있다.

92 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 93

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

▶ 플랫폼 : Linux 2.6.8-2-686-smp

▶ 웹 서버 : Apache 2.2.0

▶ ModSecurity 소스코드 디렉토리 : /usr/local/modsecurity-apache-1.9.2

▶ 아파치 소스코드 디렉토리 : /usr/local/httpd-2.2.0

▶ 아파치 웹 서버 홈 디렉토리 : /usr/local/apache2

Page 49: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

①apxs를 이용하여 ModSecurity 모듈을 컴파일하고, 설치하고, 설정을 자동으로 변경

한다.

# /usr/local/apache2/bin/apxs -cia /usr/local/modsecurity-apache-1.9.2/

apache2/mod_security.c

② 위의 과정으로 모듈이 정상적으로 설치되었는지 확인한다.

linux-web:/usr/local/apache2/bin# ./httpd -l

Compiled in modules:

core.c

...

mod_security.c

...

mod_so.c

③ 아파치 웹 서버를 재구동한다.

# <apache-home>/bin/apachectl stop

# <apache-home>/bin/apachectl start

여기까지 ModSecurity의 모듈 설치가 끝났으나, 아직 룰(Rule)에 한 정의를 하지 않

았으므로 공격을 방어하지는 못한다. 이를 구동하기 위해서는 다음 장의 ModSecurity 활

성화 및 Rule 정의를 위한 환경설정을 살펴보도록 하자.

다. ModSecurity 활성화 및 Rule 정의

ModSecurity를 설치하 다고 해서 바로 웹 방화벽 기능이 적용되는 것은 아니다. 이를

적용시키기 위해서는 아파치 웹 서버 환경설정 파일(httpd.conf)의 <IfModule> 태그 안에

설정 지시자(directive)를 정의해 주어야 한다.

<IfModule mod_security.c>

# mod_security configuration directives

# ...

</IfModule>

또는 ModSecurity를 위한 별도의 환경설정 파일을 만들고 이를 httpd.conf에 포함시킬

수 있다.

만약“<apache_home>/conf/modsecurity.conf”라는 이름으로 ModSecurity 웹방화벽

을 위한 환경설정 파일을 별도로 만들었을 경우 httpd.conf 파일에 다음과 같이 이 파일을

포함시켜 줄 수 있다.

Include conf/modsecurity.conf

ModSecurity를 위한 Rule이 다양하고, 내외부 웹 환경에 따라 Rule 변경이 지속적으로

필요하여 별도의 파일을 이용하는 것이 좀 더 편리할 것으로 생각된다.

ModSecurity는 다양한 기능의 설정을 위해서 상당히 많은 지시자들이 존재하는데 이를

일일이 직접 작성하여 적용하기는 쉽지 않을 것이다. 따라서 아래 ModSecurity 홈페이지

에서 제공하는 Rule template을 자신의 웹 환경에 맞게 커스트마이징 하는 것이 보다 용

이할 것이다.

http://www.modsecurity.org/projects/rules/index.html

이 사이트에는 기본적인 Rule과 함께 PHP 환경, 출력 필터 등 몇 가지 Rule template

가 있으므로 이들을 참고해 보자. 또는 본 고의 부록에 기본적인 Apache+PHP+MySQL

환경에 적합한 Rule 예를 제시하고 있으므로 이를 참고해 보기 바란다.

여기에서는 <IfModule> 태그 안에 들어갈 지시자들 중 기본적인 지시자들을 알아보도록

한다. 상당히다양한지시자가있으므로자세한것은아래매뉴얼을참고해보기바란다.

http://www.modsecurity.org/documentation/

94 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 95

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

Page 50: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

(1) 기본 환경설정 앞서 SecFilterDefaultAction 지시자에 의한 기본 적용 action의 예에서는 콤마(,)로 구

분된 3개의 action을 정의하고 있다. 취할 수 있는 표적인 행위는 다음 표와 같다.

96 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 97

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

ModSecurity 기능을 활성화(enable) 시킨다.

▶ On : ModSecurity 기능 활성화

▶ Off : ModSecurity 기능 비활성화

※ ModSecurity 제거할 경우에는 SecFilterEngine 지시자를“Off”로 설정

SecFilterEngine On

POST 메소드의 payload를 점검한다.

ModSecurity는 다음과 같은 2가지 타입으로 인코딩된 Request body를 지원한다.

▶ application/x-www-form-urlencoded (Form 데이터 전송시 사용)

▶ multipart/form-data (파일 전송시 사용)

다른 인코딩 타입은 부분의 웹 어플리케이션에서 사용되지는 않는다.

SecFilterScanPOST On

룰이 요청에 일치하면 하나 또는 그 이상의 행위(action)가 발생된다. 각각의 필터별로 행위를 정의할 수

있지만 모든 필터들을 위한 기본 행위 집합을 정의하면 편리하다. 모든 필터에 적용될 수 있는 디폴트 행

위는 SecFilterDefaultAction 지시자로 정의할 수 있다. 위의 예는 각 룰에 일치할 경우 접속요청을 차단하

고, 로그를 남기고, 상태코드 404 보내는 예이다.

하지만, ModSecurity를 처음 설치한 후 설정을 튜닝하는 과정에서는“log,pass”와 같이 로그만 남기고 실

제 차단하지 않게 할 수도 있다. 왜냐하면 정상적인 웹 요청이 차단될 수 있으므로 먼저 로그에서 이러한

정상적인 요청이 필터와 일치하여 차단될 수 있는지 검증할 필요가 있다.

SecFilterDefaultAction “deny,log,status:404”

각 요청별로 POST payload 점검을 비활성화할 수 있다. 환경변수 MODSEC_NOPOSTBUFFERING이 정

의되어 있으면 POST payload 버퍼링을 하지 않는다.

SetEnvIfNoCase Content-Type \“^multipart/form-data;” “MODSEC_NOPOSTBUFFERING=Do notbuffer file uploads”

행 위 설 명

pass

필터에 일치할 경우 요청을 그냥 허용한다. 이 action은 아무런 행위를 하지 않고 그냥

로그만 남겨 침입을 모니터링하거나 초기 환경설정시 유용할 수 있다.

예) SecFilter KEYWORD “log,pass”

allow

pass에 비해 좀더 강력한 버전으로 이 action이 수행된 후 다른 필터는 적용시키지 않

고 곧바로 요청을 허용하게 된다.

예) SecFilterSelective REMOTE_ADDR “^192\.168\.2\.99$”allow

위의 예는 관리자 컴퓨터(192.168.2.99)에서의 접속은 항상 허용하도록 하고 있다.

deny필터가 일치할 경우 요청 처리를 차단한다. 상태 action(status)이 명시적으로 같이 사

용되지 않으면 ModSecurity는“HTTP 500 error code”를 반환한다.

status요청이 거부되었을 경우 HTTP 상태를 제공한다.

예) SecFilter KEYWORD “deny,status:404”

redirect필터가 일치하면 사용자를 주어진 URL로 리다이렉트 시킨다.

예) SecFilter KEYWORD “redirect:”

exec

필터가 일치하면 특정 바이너리를 실행시킨다. 실행될 파일은 전체 경로를 지정해 주

어야 한다.

예) SecFilter KEYWORD “exec:/home/ivanr/report-attack.pl”

log 아파치 에러 로그(error_log)에 기록한다.

nolog 필터가 일치해도 기록하지 않으며, “audit logging”도 일어나지 않도록 한다.

pause

요청에 한 응답을 하기 전에 정의된 수 milliseconds 동안 중지시킨다. 이는 웹 스캐

너를 느리게 하거나 완전히 교란시킴으로써 스캔 공격을 억제시킬 수도 있다. 어떤 스

캐너는 중지 시간이 너무 길면 스캐닝을 포기한다.

auditlog 트랜젝션 정보를 audit log(SecAuditLog 지시자에 의해 파일명 지정)에 기록한다.

noauditlog 트랜젝션 정보를 audit log에 기록하지 않는다.

Page 51: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

(2) 사용자 Rule 정의

필터링 엔진이 활성화되면 유입되는 모든 요청이 웹 서버에 의해 처리되어지기 전에 가

로채어지고 분석되어진다. 앞서 환경설정 지시자들에 의해 웹요청 형태가 유효한지 등이

점검된 후 두 번째 단계로 웹요청은 일련의 사용자 정의 필터를 거치게 된다. 사용자에 의

해 정의될 수 있는 표적인 필터들은 다음과 같다.

라. ModSecurity Rule 설정 예

##### Configuration #####

SecFilterEngine On

SecFilterScanPost On

SecFilterScanOutput Off

SecFilterOutputMimeTypes “(null) text/html text/plain”

##### Validation #####

SecFilterCheckURLEncoding On

SecUploadDir /tmp

98 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 99

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

가장 단순한 형태의 필터링으로 특정 키워드에 의한 필터를 정의할 수 있다. SecFilter 지시자는 웹 요청의

첫 번째 라인에서 특정 키워드가 일치하는지 점검하고, “SecFilterScanPOST On”설정이 되어 있을 경우

에는 body까지 점검한다. 이 때 키워드는 소문자를 구분하지 않는다.

만일“SecFilter /bin/sh”와 같이 디렉토리를 포함한 키워드 필터링을 설정해 놓았을 경우 공격자는

“/bin/./sh”와 같이 필터를 우회하여 공격할 수 있다.

따라서, ModSecurity에서는 다음과 같이 공격자가 우회할 수 있는 특정 문자열을 자동으로 변환하여 키워

드 필터링을 우회할 수 없도록 하고 있다.

키워드는 단순한 text가 아닌 정규 표현식으로 다양한 필터 규칙을 만들어 낼 수 있다. 키워드에서“! ”문

자를 맨 앞에 넣어서 표현식을 반 로 적용할 수도 있다. 가령, “SecFilter !php”같이 하여“php”문자를

포함하지 않는 모든 요청은 거절할 수도 있다.

SecFilter KEYWORD [ACTIONS]

앞서 SecFilter 지시자를 이용한 필터링은 적용이 너무 광범위한 단점이 있다. 이러한 단점을 보완하여

실제 유용하게 사용될 수 있는 지시자가 SecFilterSelective이다. 이 지시자는 SecFilter 지시자에서

LOCATION 부분이 추가 되었는데 해당 키워드를 어느 위치에서 찾을 것인지 지정해서 보다 정확한 필

터링을 할 수 있도록 한다. LOCATION 변수는 다음과 같이 파이프(|)로 구분된 일련의 위치 확인자로 구

성된다.

SecFilterSelective “REMOTE_ADDR|REMOTE_HOST”KEYWORD

위의 예는 클라이언트의 IP 주소와 호스트 이름에만 키워드가 적용된다. 위치 확인자에 들어갈 수 있는 것

은 다음과 같다.

이 외에도 보다 전문적인 위치 확인자들도 존재하는데 이는 ModSecurity의 매뉴얼을 참조하기 바란다.

SecFilterSelective LOCATION KEYWORD [ACTIONS]

변환 전

\

/. /

/ /

URL 인코딩된 문자열

변환 후

/

/

/

URL 디코딩된 문자열

비고

윈도우 시스템에서 적용

REMOTE_ADDR

REMOTE_HOST

REMOTE_USER

REMOTE_IDENT

REQUEST_METHOD

SCRIPT_FILENAME

PATH_INFO

QUERY_STRING

AUTH_TYPE

DOCUMENT_ROOT

SERVER_ADMIN

SERVER_NAME

SERVER_ADDR

SERVER_PORT

SERVER_PROTOCOL

SERVER_SOFTWARE

TIME_YEAR

TIME_MON

TIME_DAY

TIME_HOUR

TIME_MIN

TIME_SEC

TIME_WDAY

TIME

API_VERSION

THE_REQUEST

REQUEST_URI

REQUEST_FILENAME

IS_SUBREQ

Page 52: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

SecUploadKeepFiles Off

SecFilterCheckUnicodeEncoding Off

SecFilterForceByteRange 1 255

SecFilterDefaultAction “log,deny,status:403”

##### Logging #####

SecFilterDebugLog logs/modsec_debug.log

SecFilterDebugLevel 1

SecAuditEngine RelevantOnly

SecAuditLog logs/modsec_audit.log

##### Hardening #####

# Body를 가진 GET 또는 HEAD 요청 차단(공격 가능성 높음)

SecFilterSelective REQUEST_METHOD “ (̂GET|HEAD)$”chain

SecFilterSelective HTTP_Content-Length “!̂ $”

SecFilterSelective SERVER_PROTOCOL “!̂ HTTP/(0\.9|1\.0|1\.1)$”

# Content-Length가 없는 POST 요청 차단

SecFilterSelective REQUEST_METHOD “^POST$”chain

SecFilterSelective HTTP_Content-Length “^$”

SecFilterSelective HTTP_Transfer-Encoding “!̂ $”

##### General #####

SecFilterSelective HTTP_Host|HTTP_User-Agent|HTTP_Accept “^$”

SecFilterSelective HTTP_User-Agent

“(libwhisker|paros|wget|libwww|perl|curl|java)”

##### SQL Injection Attacks #####

SecFilterSignatureAction “log,deny,msg:'SQL Injection attack'”

SecFilterSelective ARGS “delete[[:space:]]+from”

SecFilterSelective ARGS “drop[[:space:]]+database”

SecFilterSelective ARGS “drop[[:space:]]+table”

SecFilterSelective ARGS “drop[[:space:]]+column”

SecFilterSelective ARGS “drop[[:space:]]+procedure”

SecFilterSelective ARGS “create[[:space:]]+table”

SecFilterSelective ARGS “update.+set.+=”

SecFilterSelective ARGS “insert[[:space:]]+into.+values”

SecFilterSelective ARGS “select.+from”

SecFilterSelective ARGS “bulk[[:space:]]+insert”

SecFilterSelective ARGS “union.+select”

SecFilterSelective ARGS “or.+1[[:space:]]*=[[:space:]]1”

SecFilterSelective ARGS “alter[[:space:]]+table”

SecFilterSelective ARGS “or 1=1--'”

SecFilterSelective ARGS “'.+--”

SecFilterSelective ARGS “into[[:space:]]+outfile”

SecFilterSelective ARGS “load[[:space:]]+data

SecFilterSelective ARGS “/\*.+\*/”

##### XSS Attacks #####

SecFilterSignatureAction “log,deny,msg:'XSS attack'”

SecFilterSelective ARGS “<script”

SecFilterSelective ARGS “javascript:”

SecFilterSelective ARGS “vbscript:”

SecFilterSelective ARGS “document\.cookie”

SecFilterSelective ARGS “document\.location”

SecFilterSelective ARGS “document\.write”

100 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 101

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

Page 53: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

##### Command Execution #####

SecFilterSignatureAction “log,deny,msg:'Command execution attack'”

SecFilterSelective ARGS_VALUES “;[[:space:]]*(ls|id|pwd|wget)”

##### PHP Attacks #####

SecFilterSignatureAction “log,deny,msg:'PHP Injection Attacks'”

SecFilterSelective ARGS_VALUES “^http:/”

SecFilterSelective ARGS_NAMES “(̂ globals\[|̂ globals$)”

제 3 절 E-mail 보안

베이 (Bagle), 마이둠(MyDoom), 나이젬(Nyxem) 등은 이메일 등을 통하여 전파되는

방식으로 잘 알려진 악성코드이다. 웜∙바이러스의 전파 경로가 메신저 프로그램, P2P 혹

은 웹브라우저의 보안 취약점 등을 통해 다양한 경로로 발전하고 있지만 여전히 이메일은

주요 웜, 바이러스의 전파 경로로 활용되고 있다. 데스크톱 기반의 안티바이러스는 악성코

드를 차단하기 위한 기본이며 네트워크 관문에서의 차단은 네트워크 관리자 입장에서 효율

적인 방법이다.

1. 공개 안티바이러스(ClamAV)

가. ClamAV 개요

Clam AntiVirus(ClamAV)는 주로 이메일로 전파되는 악성코드를 관문에서 차단하기

위해 개발된 소프트웨어이다. ClamAV는 Tomasz Kojm에 의해 2001년에 시작된 오픈소

스 프로젝트의 결과이다. 초기에는 OpenAntiVirus 프로젝트가 있었는데 설치하고 사용하

기가 어려웠고 온라인 업데이트 기능 등을 제 로 지원하지 않아 기능을 보완하기 위해 만

들었던 것이 ClamAV의 시작이었다.

ClamAV의 주요 특징은 다음과 같다.

▶ 오픈소스 기반

- Snort 등과 같이 ClamAV는 오픈소스를 기반으로 한다.

- 오픈소스이기에 유연성이 있으며 www.sanesecurity.com/clamav에서는 비공식

Phishing 시그너처도 제공하고 있다.

▶ 45,000개 이상의 패턴

- 2006년 3월 현재 45,000개 이상의 탐지 패턴을 보유하고 있다.

▶ 온라인 패턴 업데이트

- ClamAV 탐지 패턴은 하루에도 여러 번 업데이트되고 있다.

- 사용자는 인터넷을 통해 쉽게 업데이트된 탐지패턴을 적용할 수 있다.

▶ 다양한 압축 포맷 지원

- Zip, RAR, Tar, Gzip, Bzip2, MS OLE2, MS Cabinet Files, MS CHM, MS

SZDD 등의 파일 압축 포맷을 지원.

- 실행 압축 포맷인 UPX, FSG, Petite 등을 지원.

본고에서는 메일 서버를 통해 전파되는 바이러스를 효율적으로 차단하기 위한 수단으로

서의 ClamAV를 중점적으로 살펴본다.

나. ClamAV 설치

ClamAV는 기존 메일서버에 설치되어 사용될 수 있으며, 별도의 ClamAV 메일서버를

구성하여 사용할 수 있다. 전자는 필요한 호스트 수를 하나 줄일 수 있지만, 기존 메일서버

가 ClamAV에 의해 지원되지 않는 메일 서버라면 사용할 수 없다는 단점이 있다. 후자는

기존 메일서버를 어떤 것을 사용하더라도 구성이 가능하다는 장점이 있지만 호스트가 하나

더 필요하다.

102 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 103

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

Page 54: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

ClamAV는 Qmail, Postfix, Sendmail 등의 메일서버를 지원한다. 본 절에서는 이 중에

서 Sendmail에 설치되는 경우를 다룬다. Sendmail에 설치될 때는 메일 서버인

Sendmail, 안티바이러스인 ClamAV 외에 이 둘을 연동하기 위한 Clamav-milter, 이 세

개로 구성되는 것이 보통이다.

■ Sendmail의 Milter 지원 여부 확인

ClamAV를 이용하여 메일 서버에 유입되는 메일을 검사하기 위해서 기본적으로

Sendmail이 Milter 기능을 지원해야 한다. Milter 기능이란 Sendmail이 외부프로그램과

소켓 기반으로 통신할 수 있도록 하는 것으로 Sendmail 8.12부터 공식적으로 지원한다.

Milter는 외부 프로그램과 연동하여 메일의 내용을 검사하고 필요에 따라서는 내용을 수정

할 수 있도록 하며, 여러 가지 용도로 사용될 수 있지만 특히 바이러스 및 스팸 차단과 같이

이메일 보안을 위한 기능으로 주로 사용된다.

Sendmail이 Milter를 지원하기 위해서는 컴파일 시에 옵션으로 Milter 기능을 포함하

여야 한다. 현재 시스템에 설치된 Sendmail이 Milter 기능을 지원하는지 확인하는 방법은

다음과 같다.

prompt# sendmail -bt -d0.4 < /dev/null

Version 8.13.6

Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7

만약 설치된 Sendmail이 Milter를 지원하지 않는다면 Milter 기능을 사용하기 위해 다

시 컴파일해야 한다. 혹은 Milter 기능을 지원하도록 컴파일된 바이너리 패키지를 설치하

는 방법도 있지만 각 운 체제 및 버전, 배포본 종류 등에 따라 불가능한 경우도 있다.

■ Sendmail 설치

Sendmail을 컴파일하기 위해서는 우선 소스코드를 다운로드해야 한다. Sendmail 소스

코드는 www.sendmail.org에서 다운로드할 수 있다. 2006년 3월 31일 기준으로 가장 최

신 안정화 버전은 8.13.6이다.

①다운로드한 파일은 다음과 같은 명령어로 적당한 디렉토리에 압축 해제한다.

prompt# tar xvfz sendmail.8.13.6.tar.gz

② sendmail 프로세스 소유주로 smmsp 사용자 계정을 생성한다.

prompt# groupadd smmsp

prompt# useradd -g smmsp smmsp

104 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 105

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

〈 그림 5-3-1 〉기존 메일서버에 ClamAV를 추가한 사례

〈 그림 5-3-2 〉ClamAV를 설치한 메일서버를 별도로 구성한 사례

구성요소 설 명

Sendmail MTA(Mail Transfer Agent)로서 메일 송수신을 담당한다.

ClamAV 웜, 바이러스 스캐닝을 하기 위한 안티바이러스 엔진이다.

Clamav-milter MTA와 안티바이러스 엔진을 연동하는 역할을 한다.

Page 55: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

③Sendmail 압축을 해제한 디렉토리로 이동하여 site.config.m4.sample 파일을

/etc/mail/site.config.m4로 복사한다.

[user@clamav ~]# cd sendmail-8.13.6/

[user@clamav sendmail-8.13.6]# cp devtools/Site/site.config.m4.sample

/etc/mail/site.config.m4

④/etc/mail/site.config.m4 파일을 편집기로 열어 다음과 같은 설정을 확인하여 추가

한다. 해당 라인은 Milter 기능을 활성화하고 Milter를 root 권한으로 실행하는 것을

방지하는 설정이다.

그 외 사이트 설정에 따라 필요한 내용이 있다면 /etc/mail/site.config.m4 파일에 추가

한다.

⑤ sendmail 디렉토리로 이동하여 컴파일한다.

[user@clamav sendmail-8.13.6]# cd sendmail

[user@clamav sendmail]# sh Build -c -f /etc/mail/site.config.m4

⑥sendmail-8.13.6/cf/cf/ 디렉토리로 이동하면 *.mc 템플릿이 각 운 체제 등의 환

경별로 있는데 Sendmail이 설치될 환경에 가장 적합한 *.mc 파일을 sendmail.mc

로 복사한다.

[user@clamav sendmail]# cd ../cf/cf/

[user@clamav cf]# cp generic-linux.mc sendmail.mc

⑦sendmail.mc 파일을 편집기로 열어서 다음과 같은 라인을 추가한다. 이 설정은

Clamav-milter 사용을 위한 설정이다.

그 외 사이트 설정에 따라 필요한 내용이 있다면 sendmail.mc 파일에 추가한다.

⑧ 다음 명령을 실행하여 /etc/mail/sendmail.cf, /etc/mail/submit.cf를 생성한다.

[user@clamav cf]# sh Build sendmail.cf

Using M4=/usr/bin/m4

rm -f sendmail.cf

...

[user@clamav cf]# sh Build install-cf

Using M4=/usr/bin/m4

../../devtools/bin/install.sh -c -o root -g bin -m 0444 sendmail.cf

/etc/mail/sendmail.cf

../../devtools/bin/install.sh -c -o root -g bin -m 0444 submit.cf

/etc/mail/submit.cf

⑨sendmail-8.13.6/sendmail/ 디렉토리로 이동하여 다음과 같이 빌드한 결과를 설치

한다.

[user@clamav cf]# cd ../../sendmail/

[user@clamav sendmail]# sh Build install

⑩성공적으로 설치가 끝나면“Sendmail의 Milter 지원 여부 확인”에서와 같이 확인하

여 Milter 지원 기능이 활성화되었는지 살펴본다.

■ Libmilter의 설치 여부 확인

다음과 같이 libmilter 라이브러리가 설치되어 있는지 확인한다. libmilter 라이브러리

가 확인되지 않는다면 해당 라이브러리도 설치해야 한다.

[user@clamav sendmail-8.13.6]# whereis libmilter

libmilter: /usr/lib/libmilter.a /usr/include/libmilter

■ Libmilter 설치

Libmilter는 sendmail 소스코드 압축을 해제하 던 디렉토리 하단의 libmilter에서 빌

드하고 설치할 수 있다.

106 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 107

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

APPENDDEF(`confENVDEF', `-DMILTER')

APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE')

INPUT_MAIL_FILTER(`clmilter', `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl

define(`confINPUT_MAIL_FILTERS',`clmilter')

Page 56: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

[user@clamav libmilter]# sh Build

...

[user@clamav libmilter]# sh Build install

■ ClamAV의 설치

ClamAV는 www.clamav.net에서 다운로드할 수 있다. 2006년 3월 31일 기준으로 가

장 최신 안정화 버전은 0.88이다.

① ClamAV를 다운로드하여 다음과 같이 적당한 디렉토리에 압축 해제한다.

[user@clamav ~]# tar xvfz clamav-0.88.tar.gz

② ClamAV가 실행되기 위한 권한을 가진 사용자를 다음과 같이 생성한다.

[user@clamav ~]# groupadd clamav

[user@clamav ~]# useradd -g clamav -s /bin/false -c “Clam AntiVirus”clamav

③ ClamAV 압축 해제한 디렉토리로 이동하여 ClamAV를 컴파일하고 설치한다.

[user@clamav ~]# cd clamav-0.88

[user@clamav clamav-0.88]# ./configure --sysconfdir=/etc --enable-milter

...

[user@clamav clamav-0.88]# make

...

[user@clamav clamav-0.88]# make install

ClamAV 설정 파일(clamd.conf, freshclam.conf)은 configure 명령의 --sysconfdir

옵션에서 지정된 /etc 디렉토리에 위치하게 되고 바이너리는 /usr/local 디렉토리에 저장

된다.

④ 설치가 성공적으로 이루어졌는지 확인하기 위해 clamscan 명령어를 실행하면 현재

디렉토리에 있는 파일들에 한 바이러스 점검 결과를 확인할 수 있다.

[user@clamav ~]# clamscan

/user/install.log: OK

/user/.autorun.lck: Empty file

/user/install.log.syslog: OK

/user/.tcshrc: OK

/user/.cshrc: OK

...

다. ClamAV 설정 및 실행

■ ClamAV의 설정

①소켓 파일이 저장될 디렉토리를 /var/run/clamav에 생성하고 소유자는 clamav 사

용자로 한정한다.

prompt# mkdir /var/run/clamav

prompt# chmod 600 /var/run/clamav

prompt# chown clamav:clamav /var/run/clamav

② /etc/clamd.conf 파일을 환경에 맞게 편집한다.

LocalSocket을 수정하고 보안을 위해 clamd 프로세스의 소유자를 clamav로 한정한다.

또한 LogFile을 지정하여 로그를 저장한다. 그 밖의 설정은“man clamd.conf”명령어를

통해 clamd.conf 맨페이지를 참고하여 필요에 따라 설정한다.

/etc/clamd.conf에서 다음과 같이 Example이라는 라인을 주석처리해야 한다.

③ 로그 파일을 생성하고 소유자를 clamav로 한정한다.

prompt# touch /var/log/clamd.log

prompt# chmod 600 /var/log/clamd.log

prompt# chown clamav:clamav /var/log/clamd.log

108 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 109

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

LocalSocket /var/run/clamav/clamd.sock

User clamav

LogFile /var/log/clamd.log

# Comment or remove the line below.

# Example

Page 57: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

■ ClamAV의 실행

① clamd를 다음과 같이 실행한다.

[user@clamav ~]# /usr/local/sbin/clamd

② clamav-milter를 실행한다.

[user@clamav~]#/usr/local/sbin/clamav-milter-

lo/var/run/clamav/clmilter.sock--external

③sendmail 프로세스를 재시작한다. 프로세스가 정상적으로 실행된다면 설치는 완료

되었다.

④ 설치된 ClamAV과 Sendmail과 연동하여 문제없이 동작하는지 확인한다.

구성된 ClamAV 메일서버를 통해 Eicar에서 제공하는 테스트를 위한 샘플 바이러스를

포함해서 메일을 발송한다. Eicar에서 제공하는 샘플 바이러스는 실제로 바이러스는 아니

며, 안티바이러스가 제 로 동작하는지를 확인하기 위해 제공하는 표준 시그너처이다.

※ 다운로드 사이트 : www.eicar.org/anti_virus_test_file.htm

■ freshclam을 이용한 온라인 업데이트

ClamAV는 바이러스 시그너처에 한 온라인 업데이트를 지원한다. 업데이트를 위해서

는 freshclam 명령어를 실행하면 된다.

① /etc/freshclam.conf 파일을 환경에 맞게 편집한다.

업데이트 과정을 로그로 남기기 위해 다음과 같이 설정한다.

③ 로그 파일을 생성하고 소유자를 clamav로 한정한다.

prompt# touch /var/log/freshclam.log

prompt# chmod 600 /var/log/freshclam.log

prompt# chown clamav:clamav /var/log/freshclam.log

/etc/freshclam.conf에서 다음과 같이 Example이라는 라인을 주석처리해야 한다.

④ freshclam을 이용하여 온라인 업데이트를 수행한다.

prompt]# freshclam

ClamAV update process started at Tue Apr 4 17:42:14 2006

Downloading main.cvd [*]

main.cvd updated (version: 37, sigs: 46700, f-level: 7, builder: ccordes)

Downloading daily.cvd [*]

daily.cvd updated (version: 1374, sigs: 2136, f-level: 7, builder: sven)

Database updated (48836 signatures) from database.clamav.net (IP:

218.189.210.14)

root나 clamav 사용자의 crontab으로 해당 작업을 등록하여 정기적인 업데이트를 하도

록 할 수 있다.

또는“freshclam -d”명령을 이용해 데몬으로 실행할 수 있다.

제 4 절 내부 직원 보안 정책

1. 관리적/제도적 보안

게임 개발회사 또는 퍼블리싱 업체의 경우 상용화 서비스를 열기 전단계인 알파테스트

(alpha test), 클로즈드 베타서비스(Closed Beta Service; CBT), 오픈베타서비스(Open

Beta Service; OBT) 등의 기간에는 사내 내부망 또는 개발환경 (개발서버, 소스코드 관리

서버)에 한 보안을 적절히 하기 어려운 경우가 많다.

110 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 111

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

UpdateLogFile /var/log/freshclam.log

N * * * * /usr/local/bin/freshclam --quiet

# Comment or remove the line below.

# Example

Page 58: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

사슬을 끊기 위해 사슬의 가장 약한 고리를 공격하듯, 해커들은 보안이 가장 취약한 곳

을 공격하게 되는데, 이러한 이유로 해커들은 서비스 중인 게임관련 시스템만을 공격하지

는 않는다. 게임의 소스코드 또는 게임의 실행파일을 얻어 사설서버(해적서버)를 운 하기

위하여 사내망의 개발자 PC를 노려 공격하기도 한다. 또는 해커에 의한 것이 아니라 내부

의 산업스파이, 부정한 임직원에 의해 주요 기 자료가 국내외 경쟁사 또는 해커에게 유출

될 수도 있다.

이 외에 아웃소싱 계약을 채결한 제3자에 한 보안 역시 중요한데, 최근의 작이라 불

리는 게임들은 개발과정이 전문화, 분업화 되어 있어 특정 개발항목(예: 사운드, 동 상, 그

래픽)은 외주 업체에 위탁하여 개발을 진행하는 경우도 많게 되어 제3자에 의한 내부정보

취득이나, 외부로부터의 내부망 접근으로 인한 위험 역시 증가하고 있다.

위에 열거한 사고들의 위험을 최소화 하고 회사의 통제력이 최 한 발휘되기 위해서는

적절한 정보보안 정책/절차/지침/가이드라인을 수립하여 감사 및 통제가 이루어 질 수 있

도록 관리적 보안체계를 수립하여 주기적인 관리를 하는 것이 중요하다.

게임회사에 필요한 정책/절차/지침/가이드라인 구성의 예는 다음 그림과 같다. 최근 고

객 개인정보보호에 한 요구사항이 사회적으로 커지는 만큼 일반적인 정보보안 사항 외

개인정보보호에 한 지침을 필히 보유하고 전사 직원들에게 주기적인 교육을 하는 것이

필요하다.

게임회사에서 특히 내부 직원 보안을 위해 취해야할 관리적/제도적/기술적인 조치는 다

음과 같다.

▶핵심기술 개발자의 경우 이직 시 동종업계 이직 제한 규정 또는 지득한 업무상 비

사항에 한 준수 등을 입사 시, 퇴사 시 보안서약을 받아‘인사보안’상 risk를 줄

인다.

▶필요하다면 전 임직원의 동의를 얻어 SMTP/HTTP/FTP/MSN과 같은 메신져/P2P/

웹메일 등의 트래픽을 모니터링하여 기 정보유출 현황을 실시간 탐지하도록 한다.

▶기 자료, 소스코드 유출을 원천적으로 봉쇄할 수 있는 기술적 조치를 마련한다.

구체적인 방안은 다음과 같다.

production line, test line, service line의 물리적/논리적 분리를 하는 원칙하에, 개발

소스는 물리적/논리적으로 완전히 격리된 network에만 보관 및 개발을 하는 방안이 있다.

즉 물리적/논리적으로 완전히 폐쇄된 개발 망에서 소스를 개발하고 컴파일 후 생성된 실행

파일 등을 test할 때에는 별도의 test 망에서, test 후 서비스를 개시할 때에는 실제 real

network으로 옮겨 작업을 하도록 한다. 위와 같이 network을 분리할 경우 원격의 해커는

개발 망에 접근할 방법이 없게 되어, 유출가능 경로는 USB memory 등 이동형 media에

의한 경로가 남게 된다. 이 경로에 해서는 추가적으로 매체제어솔루션 또는 DRM을 적

용하여 이동형 media에 의해 유출되는 것을 차단할 수 있다.

위와 같은 사항들은 전 임직원들의 동의를 전제로 하고 있으며, 적극적인 직원들의 참여

가 있을 때만이 관리적/제도적/기술적/물리적인 내부 보안이 보장된다.

가장 이상적인 모델은 내부에 규정을 수립하고 정책방향을 결정할 수 있는 법무담당 부

서와, 일반 정보보안/정보보호 사항과 고객개인정보를 담당하는 정보보안 담당 부서와, 실

제로 규정 로 잘 준수되고 있는지를 사후에 감사할 수 있는 준법감사 부서가 적절히 역할

을 나누어 운 되는 경우이다.

하지만, 현재 부분의 게임회사들이 형 게임회사들을 제외하고는 정보보호전담인력

과 법무담당인력, 감사인력이 모두 갖추고 있는 경우는 적기 때문에 정보보호 전담인력이

담당하게 되는 것이 일반적이다. 요컨 , 관리적인 통제수단과 내부 프로세스를 확립하

112 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 113

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

<그림 5-4-1> 정보보안 정책/절차/지침/가이드라인 hierarchy

0-000. 정보보호졍책서1-000. 정보보호지침서1-001. 개인정보보호 관리지침서1-101. 운 실 정보보호 절차서1-102. 시시템 정보보호 절차서1-103. 네트워크 정보보호 절차서1-104. 보안시시템 정보보호 절차서1-105. 개발보안 절차서1-106. 일반사용자 정보보호 절차서1-107. 침해사고 응 절차서1-108. 정보보안 교육 훈련 절차서1-109. 정보자산 분류 절차서1-110. 제3자 및 아웃소싱 보안 절차서

01_Windows2000_보안 guideline02_WindowsXP_보안 guideline03_Windows2003_보안 guideline04_Windows_보안정책 guideline05_MS-SQL_보안 guideline06_ORACLE_보안 guideline07_IIS_웹서버_보안 guideline08_HP_UX_보안 guideline09_Solaris_보안 guideline10_무선랜_보안 guideline

11_VPN_보안 guideline12_GSR_보안 guideline13_Catalyst_보안 guideline14_IP_Telephony_보안 guideline15_PIX_보안 guideline16_Alteon_AD4_스위치_보안 guideline17_ASP_응용시스템 개발 작성 guideline18_MS Exchange 서버 보안 guideline19_Windows Actve Directory guideline20_직원 PC보안 guideline

정책

지침

절차

가이드라인

{

Page 59: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

다 하더라도 잘 준거되는 것과는 별개의 문제이므로, 인력의 한계가 있는 조직에서는 가급

적 자동화된 기술적 보안조치로 해결이 가능한 방법을 적용하는 것을 고려하여야 한다.

내부 보안의 강화는 자유로운 분위기에서 업무를 즐기는 게임회사 고유의 문화와는 거

리가 있기 마련이다. 게임회사 고유의 생산성과 문화를 해치지 않으면서도 게임회사의 중

요한 정보자산을 지킬 수 있는 적정선을 찾는 것이 중요할 것으로 판단된다.

제 5 절 해외 진출 시 보안 고려사항

2000년도 이후부터 우리나라의 온라인 게임들은 해외에 다수 진출하기 시작하 다. 해

외진출은 현지 퍼블리싱 업체와 손을 잡고 합작 진출을 한 경우와 직접 진출을 한 경우를

볼 수 있으며, 표적인 해외 진출 국가로는 중국, 일본, 미국을 들 수 있으며 국가는 계속

확 되는 추세이다. 저작권법이나 불법 운용에 한 부정적인 인식이 떨어지는 중국의 경

우에는 해외 진출 업체가 지난 몇 년간 곤혹스런 경험을 한 적이 다수 있는 상황이다.

예를 들어 현지 업체와 계약을 맺고 상용화 단계에 까지 성공을 하 는데도 입금이 되지

않거나 현지 업체가 고객의 결재 내역을 공개하지 않아 정확한 수치를 확인할 수 없는 상황

이 있고, 금 지급과 관련된 분쟁으로 오랜 기간 동안 힘든 싸움을 했던 경우도 있다.

섣부른 로컬라이징 서버의 제공으로 인해 권리 주장도 하지 못한 채 Free 서버 및 독자

적인 현지 업체의 상용화로 곤란을 겪은 사례도 있어서 주의가 요구된다.

일반적으로 해외 진출 시의 검토 단계는 다음과 같이 이루어진다.

사전 조사 → 진행 → 계약 → 계약 이후의 이행 단계

사전조사 단계에서는 시장성에 한 조사 및 현지 업체에 한 정보 수집 등이 이루어지

며 면 한 조사가 필요한 부분이다. 각 게임 개발사들에서 실적을 우선적으로 진행 하다 보

면 사전 조사 단계에서의 정보 수집 부족으로 난항을 겪을 수 있다.

■ 진행

현지인 Agent 및 퍼블리셔들과 미팅을 통해 신뢰할 만한 파트너 관계를 찾는 과정이다.

서비스에 한 명확한 이해를 하고 있으며 신뢰할 만한 파트너 인지 여부를 확인하는 과정

이 필요하며 상호간의 서비스 진행에 한 협조 관계가 성립 할 수 있는지 여부를 검토하고

신중하게 진행을 해야 한다. 직접 진출의 경우에는 현지 국가에 한 법령 및 체제에 한

이해 및 법인 설립시의 Risk 요인을 검토하고 종합적으로 판단을 내릴 수 있어야 한다.

■ 계약

간접 진출의 경우 계약 단계에서 고려해야 할 사안들이 많다. WTO 가입 이후에도 저작

권에 한 인식이 약한 중국의 경우에는 국내 게임 업체들의 피해 사례도 다수 있는 상태라

여러 부분에서 주의를 기울여야 하는 부분이다. 계약의 당사자가 신뢰할 만한 당사자인지

또는 과거에 피해를 당한 업체가 있는지를 체크하는 것이 필요하며 피해의 원인 분석 및 원

인에 따른 응 단계를 계약 단계에서 명확하게 문서화 하는 것이 필요하다.

■ 계약 이후의 이행단계

명확하게 금 지급 과정 및 경로에 해서 계약단계에서 명확하게 기술 하는 것이 필요

하며 해당 내용에 따라 이행하는 단계로서 문제에 한 해결(Hacking이나 Abusing에

한 응) 조건 및 소스코드에 한 관리 및 서버 운용에 한 책임 등을 명확하게 한 후 이

행하는 과정을 검토하는 것이 필요하다.

일반적으로 사전조사, 진행, 계약, 이행의 단계로 볼 수 있는데 여러 가지 위험요소가 있

을 수 있으나 여기에서는 보안 관련된 측면만 살펴보기로 하자. 해외 진출 시의 주의 사항

은 보안적인 측면에서 살펴보면 다음과 같은 면을 살필 수 있다.

▶ 보안측면의 위험요소들

1) 소스코드의 유출

2) Free 서버 운용(서버 시스템의 관리 및 통제)

3) 물리적인 서버의 보안

4) service에 한 해킹을 통한 정보 유출 및 권한 획득

5) 게임 서비스에 한 장애(운용상의 미숙 혹은 외부로부터의 DoS 공격)

6) 게임내의 아이템 등에 한 내부 유출 문제

114 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 115

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

Page 60: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

위험 요소는 크게 위의 6가지 정도로 볼 수 있다. 각 항목에 해 계약 단계 혹은 이행 단

계에서 지켜지고 준수할 수 있도록 명확한 명문화된 규정이 필요하며 언급이 있어야 향후

문제 발생 시에도 원활한 응이 가능할 것이다.

1) 소스코드의 유출

해외 서비스 제공 시에는 소스코드의 유출은 가급적 하지 않아야 하며 컴파일 된 형태의

서버 버전 및 클라이언트 버전 제공이 필요하다. 협력사의 현지화 요구로 인해 제출해야 할

경우에는 핵심적인 부분을 제외한 나머지 부분에 해서 협력을 하여야 하며 핵심 부분의

경우에는 본사에서 직접 처리 하거나 인력을 통해 처리 하여야만 한다. 소스코드의 관리는

접근제어 및 권한에 따른 분명한 접근이 가능하여야 한다. 암호화된 매개체에 저장이 되어

야 하며 외부 유출 시에도 암호화 되어 보호가 가능하여야 한다.

2) Free 서버 운용

게임서버의 이미지 유출 및 도난으로 인하여 Free 서버가 운용될 경우에는 현지 업체와

의 계약 단계에서 해당 문제에 한 언급이 있어야 한다. 동시접속자의 감소로 인한 피해를

현지 업체의 문제가 아닌 경우로 판단하고 책임을 미루는 경우가 있으므로 Free 서버 운용

에 해서는 현지 업체에서의 모니터링 및 응에 한 책임이 있음을 분명히 하고 책임감

을 지닐 수 있도록 하여야 한다. 지속적인 단속의 경우도 해외 진출국에서만 가능한 부분이

므로 진출사의 입장에서는 어려운 부분들이 있을 수 밖에 없다.

3) 물리적인 서버의 보안

부분 IDC에 서버가 위치하게 되는데 물리적인 접근 제어 및 권한 통제가 분명하지 않

은 IDC가 국가에 따라 있으며 IDC라는 용어 자체가 규격화 되지 않은 곳들이 있다. 또한

지방에서 운 되는 세 IDC의 경우에는 물리적인 보안 요소를 갖추지 못하고 있으므로

서버의 운 시에는 물리적인 보안 수준을 준수하는 IDC를 직접 확인 한 이후 본사 차원에

서 모니터링 하는 것이 필요하다.

웹캠 혹은 추가 비용을 들여서라도 접근을 통제하는 것이 필요하며 개발사 자체에서 운

을 하는 것이 필요하다. 세 업체의 경우에는 현지 퍼블리싱 업체와의 계약 단계에서 명

문화 하는 것이 필요하며 IDC에 한 접근 통제 수준을 확인 하는 것이 반드시 필요하다.

서버 자체에도 고유 Mac Address 등을 인식하여 중앙 본사 차원에 접근을 하여야 실행

이 되도록 하는 고유 기술을 두어 중앙 통제가 가능하여야만 한다. 최소한 서버의 외부 유

출 시에도 정상적인 서비스가 실행 될 수 없도록 하는 보안 장치는 염두에 두어야만 한다.

4) service에 한 해킹을 통한 정보 유출 및 권한 획득

웹 서비스에 한 수정이나 이벤트 진행시에 보안상 취약한 부분이 있을 경우 서비스에

한 해킹이 발생 할 수 있다. 권한 획득도 가능한 취약성들이 다수 있으므로 Database 및

사용자 정보가 보관된 곳은 외부 노출 시에도 문제가 발생하지 않도록 암호화 하여 보관하

는 것이 필수적이며 평문 보관의 경우 치명적인 피해를 입을 수 있다. 피해 발생 시에는 피

해에 한 원인 파악에 따라 보상하는 것이 일반적이므로 해당 규정을 명문화 하는 것도 필

요한 사안이다.

5) 게임 서비스에 한 장애(운용상의 미숙 혹은 외부로부터의 DoS 공격)

운용상의 미숙 및 외부로부터의 공격에 해 현지 업체가 원활한 응을 하지 못하여

서비스 장애가 발생 하 을 경우 개발사의 품질을 의심하는 사례가 다수 있으므로 문제 발

생시에는 판단하게 된 기록의 제공 및 응 내역을 문서화 하여 공조 하는 것을 검토 하여

야 한다. 명확하게 하여야만 피해의 원인 파악 및 보상 등에 해서 논의 하는 것이 가능해

진다.

6) 게임내의 아이템 등에 한 내부 유출 문제

현지 업체의 내부자에 의해 접근이 가능한 Admin Tool의 경우 아이템의 외부 노출 등

상당한 위험요소가 존재하므로 신뢰성 있는 직원, 정보보호 교육에 한 의무화 등에 해

서도 검토를 하는 것이 필요하다. Database에 접근하는 모든 로그들은 삭제할 수 없는 형

태로 별도 보관하여 차후에 증빙 할 수 있는 자료로 삼아 보상 및 피해 규모를 산정 할 수

있도록 하는 것이 좋으며 초기 서비스 설비의 설계단계에서부터 최종 정보가 위치하는

Database에 한 접근 기록에 해서는 별도 관리가 필요하므로 고려하여야만 한다. 접근

가능자에 한 축소 및 주기적인 Auditing도 필요한 부분이며 문제 발생시에는 현지 퍼블

116 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 117

� �

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제5장

내부

시스템

보안

제5 장 내부 시스템 보안

제6 장 고객 정보보호 제7 장 침해사고 응 부 록

Page 61: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

리싱 업체가 전적인 책임을 질 수 있도록 명문화 하는 과정도 고려하여야 한다.

이상과 같이 해외 진출 시 고려 부분들에 해서 보안이라는 측면에서 간략하게 알아보

았다. 표준적인 내용은 아니며 다수 발생한 사례들을 기준으로 하여 해당 문제들이 발생하

지 않기 위해서는 어떤 점을 고민해야 하고 안으로 무엇이 있을 수 있는지를 간략하게 알

아보았다. 문제가 발생하는 상황은 많으며 계약의 조건도 다를 수 있다. 그러나 기본적으로

발생하는 6가지 형태의 문제들에 해서 책을 가지고 해외 진출을 하게 된다면 보안상

발생하는 문제들에 해서는 일정 수준 이상의 해결 능력을 지니게 될 것이다.

118 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제1 절 개인정보보호정책및법∙제도현황

제2 절 개인정보보호침해사례

제3 절 이용자개인정보보호 책

고객정보보호제6 장

+

+

+

+

Page 62: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

이 크다고 할 수 있다.

우리나라는 정보통신 인프라의 획기적 발전을 이룩함으로써 IT 선진국가의 예를 얻었

으나, 반면 개인정보보호 분야에 있어서는 제도적∙관행적으로 볼 때 아직 선진국 수준에

는 이르지 못하고 있다. 이는 일찍부터 정보 프라이버시 보호의 필요성을 인식하고 이를 위

한 법∙제도를 마련하는 것은 물론 사회적 기반을 갖추기 위해 노력한 선진 각국과는 달리,

개인정보보호를 위한 제도적∙문화적 기반이 일천한데 그 원인이 있다고 볼 수 있다. 개인

정보침해는 단순히 거래의 안전과 신뢰를 해치는데 그치지 않고, 경우에 따라서는 개인의

사생활과 삶의 질을 심각하게 위협할 수 있는 수단이 될 수 있다. 따라서 국가나 기업은 개

인정보 및 정보프라이버시보호의 중요성을 인식하고 제도 마련, 침해예방, 신속한 구제 등

을 위한 다양한 노력을 펼칠 필요가 있다.

특히 온라인 게임서비스를 제공하는 사업자의 경우에는 이용자의 개인정보를 보호하는

데 있어 만전을 기할 필요가 있다. 주지하다시피 국내의 온라인 게임시장 규모는 2005년

현재 1조 4,644억원에 달할 정도로 그 향력이 크며, 단지 하나의 온라인 게임 이용자가

수백만명을 헤아릴 정도로 우리 사회의 인터넷 문화에 미치는 향도 무시못할 수준이다.

그런데 최근 여러 온라인게임의 인기가 높아지면서 타인의 아이템 및 사이버머니 절취, 불

법 게임접속을 위한 개인정보 도용과 유출이 점차 심각한 수준에 이르고 있다.

한국정보보호진흥원 개인정보침해신고센터에 따르면, 2005년 한 해 동안 접수된 개인

정보침해 민원이 총 18,206건에 달하고 있는데 이중에서‘타인의 개인정보를 도용한 사

례’가 전체의 53.9%인 9,810건에 달할 정도로 개인정보 유출은 더 이상 방치해서는 안 될

문제로 보여 진다. 더군다나 최근에는 국내의 온라인 게임들이 국외에서도 인기를 끌면서,

한국인의 개인정보가 해외로 유출되어 국외 이용자들이 국내의 게임서비스에 회원으로 가

입하기 위해 국내인의 개인정보를 도용하는 신종 침해유형까지 나타나고 있다.

이러한 상황에서 국내의 온라인 게임서비스 사업자가 이용자의 신뢰를 얻고 게임산업의

온라인게임해킹 응가이드 │ 121

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록

제 1 절 개인정보보호 정책 및 법∙제도 현황

1. 개인정보보호의 개요

우리나라는 최근 10여년간 정보통신기술의 발전, 유∙무선 인터넷서비스의 확장, 포

털∙게임과 같은 다양한 웹 서비스의 보급 등에 힘입어 명실상부한 IT 선진국으로 발돋움

하 다. 2005년 말 현재 우리나라의 인터넷 이용자는 약 3천만명을 넘어서는 등 정보통신

인프라의 수준은 세계 최고 수준인 것으로 평가되고 있다. 이러한 정보통신문화의 발전에

힘입어 우리 사회에는 전자상거래, 인터넷뱅킹, 온라인게임, 전자정부 서비스 등 매우 다양

한 서비스가 제공되고 있고, 이는 우리 사회에 편리함과 효율성을 더하고 있다.

그러나 정보통신기술의 활용이 일상화되면서 그로 인한 편리함만이 있는 것은 아니며,

예기치 못한 각종 정보화 역기능이 연이어 출현함으로써 사회 문제화되고 있다. 그 표적

인 사례로서 온라인 상의 사기 등 각종 사이버범죄, 인터넷 중독, 스팸 메일의 범람 등으로

인한 피해가 나타나고 있고, 특히 이 중에서도 개인에 관한 정보가 유출되거나 오남용됨에

따라 개인의 사생활이 침해되고 경제적∙정신적 피해가 발생하는 경우가 증가하고 있다.

오늘날 정보통신을 기반으로 하는 각종 민간∙공공 서비스들은 거의 다수가 개인정보

의 수집과 이용을 근간으로 하는 경우가 많다. 개인정보는 과거에는 단순히 개인의 신분을

증명하는 데 그쳤으나, 오늘날에는 전자상거래, 고객관리, 금융거래, 공공서비스 제공 등

우리 사회의 구성, 유지, 발전을 위한 핵심적인 요소로 기능하고 있다. 특히 기업의 입장에

서 보면 고객의 개인정보는 수익창출을 위한 자산 가치로서 새롭게 평가되고 있다.

따라서 기업이 서비스 제공을 위해서는 다양한 개인정보를 수집∙이용하여 데이터베이

스에 축적∙저장하는 과정이 수반되는데, 이 과정에서 개인정보의 유출이나 오∙남용도

손쉽게 발생할 수 있다. 개인정보침해로 인한 피해는 개인의 사생활에 직접적인 향을 미

치며, 경우에 따라서는 온∙오프라인 상의 활동에 심각한 제약을 미치기 때문에 그 위험성

120 │ www.kisa.or.kr

제6장 고객 정보보호

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

Page 63: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

경쟁력을 확보하기 위해서는, 무엇보다도 철저한 기술적∙관리적 보호 책을 통하여 이용

자의 개인정보를 보호하려는 노력이 가장 먼저 선행되어야 할 것이다.

2. 개인정보보호 법∙제도 현황

가. 개인정보의 정의

개인정보보호에 한 논의를 위해서는 가장 먼저「개인정보」가 무엇인가에 한 정의가

필요하다. 개인정보의 정의와 범주에 관한 논의는 예컨 게임서비스 등을 제공하는 사업

자가 고객의 불만이나 항의에 직면하 을 경우에, 그것이 개인정보침해의 문제에 해당하

는지 아닌지에 한 판단을 내릴 수 있도록 함으로써 보다 신속한 문제해결을 할 수 있도록

돕는다.

「개인정보」는 각국의 여러 학자들이나 법률∙지침 등마다 매우 다양하게 정의되고 있으

므로 일률적으로 정의하기는 어려우나, 주로“개인을 식별할 수 있는 정보 중에서 체계적

으로 수집∙관리∙이용되는 정보”를 말한다고 정의해볼 수 있다.

개인정보보호에 관한 가장 선구적인 국제 규범이라고 할 수 있는 OECD의 1980년「프

라이버시보호 및 개인정보의 국가간 유통에 관한 가이드라인에 관한 이사회 권고」에서는

개인정보의“식별된 또는 식별될 수 있는 개인에 관한 모든 정보(“any information

relating to identified or identifiable individual)”라고 정의하고 있으며, 유럽연합(EU)

의 1995년「개인정보처리에 있어서 개인정보의 보호 및 정보의 자유로운 이동에 관한 유럽

의회 및 이사회의 지침」에서는 개인정보를“자연인을 식별하거나 식별할 수 있는 모든 정

보”라고 정의하고 있다.

이 외에도 프랑스의「정보처리축적 및 자유에 관한 법률」은“개인정보는 직접 또는 간접

적으로 식별확인번호나 그를 확인하게 해주는 하나 이상의 요소를 참고함으로써 식별되거

나 식별가능한 개인에 관한 정보”라고 규정하고 있으며, 독일「연방 개인정보보호법」은

“개인정보란 신원이 확인되었거나 확인가능한 자연인의 인적, 물적 환경에 관한 일체의 정

보”, 국의「개인정보보호법」은“개인정보는 식별할 수 있는 생존하는 개인에 관한 데이

터를 의미한다”라고 규정하고 있다. 따라서 여러 국제규범과 각국의 법률 규정을 모두 종

합하여 보면, 체적으로“개인정보란 정보주체(개인)에 관한 모든 정보”를 의미하는 것으

로 볼 수 있다.

이러한 개인정보의 정의는 국내의 개인정보보호 관련 법률에서도 충실히 계승되고 있

다. 민간 분야의 개인정보보호에 해 규정하고 있는「정보통신망 이용촉진 및 정보보호

등에 관한 법률」제2조는“개인정보라 함은 생존하는 개인에 관한 정보로서 성명∙주민등

록번호 등에 의하여 당해 개인을 알아볼 수 있는 부호∙문자∙음성 및 상 등의 정보(당해

정보만으로는 특정 개인을 식별할 수 없더라도 다른 정보와 용이하게 결합하여 식별할 수

있는 것을 포함한다)”라고 정의하고 있다.

한편 정보통신부가 2005년 제정∙고시한「인터넷 상의 개인정보보호 가이드라인」및

동 가이드라인 해설서에서는 개인정보에 한 정의를 보다 구체화하여, 정보주체가 직접

제공한‘제공정보’와 서비스 이용 및 처리과정에서 생성된‘생성정보’로 구분하고 있다.1)

122 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 123

� �

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

<개인정보의 유형 구분>

1. 신분 관계 - 성명, 주소, 본적, 가족관계, 주민등록번호 등

2. 심신의 상태 - 신장, 체중, 건강상태, 병력, 장애정도 등

3. 내면의 비 - 사상, 신조, 종교, 정치적 성향 등

4. 경제관계 - 소득규모, 재산현황, 거래내역, 신용등급, 채무관계 등

5. 사회관계 - 학력, 직업, 직위 등

6. 신유형의 개인정보 - 생체인식정보(지문, 홍채, DNA 등), 개인 위치정보(GPS, 휴 전화 위치추적 등) 등

<제공정보 및 생성정보의 예>

1. 제공정보 - 성명, 주민등록번호, 주소, 전자우편주소, 전화번호, 생년월일, 성별, 취미, 가족관계, 혼인여

부, 출신학교 등

2. 생성정보 - 서비스이용기록, 접속로그(log), 쿠키, 접속 IP정보, 결제기록, 이용정지 기록 (단 생성정보는

제공정보와 연계하여 개인의 프라이버시를 침해할 소지가 있는 경우로 제한)

1) 정보통신부, 한국정보보호진흥원, 「인터넷상의 개인정보보호를 위한 가이드북」6면.

Page 64: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

나. 국내의 개인정보보호 법∙제도 현황

우리나라는 2006년 6월 현재 민간 또는 공공분야를 포괄할 수 있는 개인정보보호법이

제정되어 있지 않으며, 민간분야에 부분적으로 적용되는 개인정보보호 법률로서「정보통

신망 이용촉진 및 정보보호 등에 관한 법률」(이하“정보통신망법”으로 칭함)이 제정∙시행

되고 있다. 동 법률은 OECD에서 권고한 개인정보보호 8원칙을 수용하고 유럽연합의 개인

정보보호지침에서 규정한 사항들도 충실히 반 한 법률로서, 국민의 개인정보 및 프라이

버시 보호를 위한 개인정보의 수집∙이용∙제공에 관한 제반 사항과 광고성 정보전송 행위

의 규제 등이 포함되어 있다. 한편 정부기관, 특수법인 등에 적용되는 개인정보보호 법률로

서「공공기관의 개인정보보호에 관한 법률」이 제정되어 있다.

정보통신망법의 주요 내용은 다음과 같다.

가) 개인정보의 정의

앞서 살펴본 바와 같이 정보통신망법은“개인정보라 함은 생존하는 개인에 관한 정보로

서 성명∙주민등록번호 등에 의하여 당해 개인을 알아볼 수 있는 부호∙문자∙음성 및

상 등의 정보(당해 정보만으로는 특정 개인을 식별할 수 없더라도 다른 정보와 용이하게 결

합하여 식별할 수 있는 것을 포함한다)”라고 정의하고 있다.

이에 따르면 정보통신망법이 보호의 상으로 삼고 있는 것은“자연인”의 개인정보이

며, 법인 또는 사망한 자는 개인정보의 주체로 인정되지 아니한다.

나) 적용 상

정보통신망법 상의 개인정보보호 규정은 정보통신서비스제공자와 그로부터 개인정보를

제공받은 자(이하‘정보통신서비스제공자등’이라 칭함) 및 동법 제58조의 규정에 의한“준

용사업자”에 적용된다.

‘정보통신서비스제공자’는 전기통신사업법상 전기통신사업자와, 리를 목적으로 전기

통신사업자의 전기통신역무를 이용해 정보를 제공하거나 정보 제공을 매개하는 자를 말한

다. 여기에는 유∙무선 통신사업자, ISP, 인터넷 쇼핑몰, 인터넷 포털 등이 포함되며, 유∙

무선 온라인 게임사업자도 당연히 이에 해당한다.

다) 개인정보보호 원칙

정보통신망법은 개인정보 수집 시 동의 원칙 및 개인정보 수집 시 고지∙명시 의무(제22

조), 본인 동의에 따른 개인정보의 이용∙제공 원칙(제24조), 개인정보보호를 위한 기술

적∙관리적 조치 의무(제28조), 개인정보보호에 한 이용자의 권리(제30조), 개인정보 피

해구제(제33조 이하) 등을 규정하고 있다.

한편, 정보통신망법, 공공기관의 개인정보보호에 관한 법률 등 분야별 입법만으로는 우

리 사회 전반의 개인정보를 원활히 보호할 수 없다는 인식이 확산되고, 특히 민간 기업의

개인정보 침해행위에도 불구하고 정보통신망법의 적용범위 제한으로 말미암아 피해구제

가 곤란한 경우가 점차 증가하고 있다. 이에 민간∙공공 분야에 포괄적으로 적용될 수 있는

개인정보보호 일반법 제정이 필요하다는 목소리가 높아지고 있다.

이에 따라 여∙야당 및 정부에서는 개인정보보호 일반법 제정을 심도깊게 추진 중에 있

으며, 2006년 6월 현재 이은 의원안(열린우리당) 등 3개 법안이 국회에 상정, 심의 중에

있다. 이들 개인정보보호 일반 법안은 체적으로 공공∙민간 전 분야에 적용, 법 적용 상

사업자의 확 , 개인정보의 수집∙이용∙제공 등에 관한 일반원칙 등의 내용을 담고 있다.

제 2 절 개인정보보호 침해사례

인터넷 등 온라인을 기반으로 한 다양한 서비스의 활성화에 따라서 그만큼 개인정보의

도용, 유출, 무단 이용 등 침해사례도 증가하고 있다. 특히 최근에는 새로운 IT 기반기술의

보급, 신규서비스의 다양화 등에 의하여 개인정보 침해사례의 양상도 점차 복잡∙다양화

하는 추세이다.

이중에서도 온라인 게임서비스에서 발생하는 개인정보 침해사례는 전체 민원 중에서도

비교적 큰 비중을 차지하고 있다. 한국정보보호진흥원 개인정보침해신고센터에 접수된 민

원동향을 살펴보면, 온라인 게임∙포털 서비스에서 발생한 개인정보 침해사례는 2004년

7,357건(41.9%), 2005년 5,647건(31.0%)로 전체 침해사례 중에서 적지 않은 비중을 차지

하고 있음을 알 수 있다.2)

124 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 125

� �

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

2) 한국정보보호진흥원, 「2005년 개인정보 피해구제 및 상담 사례분석」, 42면 참조

Page 65: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

아래에서는 한국정보보호진흥원에 접수된 게임 관련 주요 개인정보 침해사례의 개요와

처리결과, 시사점을 소개한다.

1. 온라인 게임사가 법정 리인 동의 없이 아동 개인정보를 수집한 사례

2. 온라인 게임사업자가 게임아이템 회수를 위해 회원 ID 비 번호를 무단 이용한

사례

3. 온라인 게임의 로그인시 타인의 개인정보가 조회된 사례

4. 온라인게임사가 회원 탈퇴 및 개인정보 삭제요청에 정당한 이유 없이 불응한 사례

126 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 127

� �

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

< 사건개요 >

민원인‘갑’은 자신의 휴 전화 요금청구서에‘정보이용요금’항목으로 약 12만원 가량이 부과된 것을

발견하고 해당 이동통신사에 요금내역을 확인해 본 결과, 자신의 (만 12세)가 부모 동의 없이 X 온라인

게임에 회원으로 가입하여 유료 서비스를 이용하 음을 알게 되었으며, 이에 민원인‘갑’은 X 온라인게임

이 법정 리인의 동의 없이 아동 개인정보를 수집하여 회원으로 가입시켰다고 주장하며 기 부과된 요금

의 환불 및 회원탈퇴를 요구하는 민원을 제기

< 처리결과>

정보통신망법 제31조는 정보통신서비스제공자가 만 14세 미만 아동의 개인정보를 수집하는 경우 법정

리인의 동의를 얻을 것을 규정하고 있는 바, 본 사례에서 X 온라인게임이 회원가입란에서 법정 리인 동

의를 얻었는지 질문하고‘예’항목에 체크하도록 한 것은 법정 리인의 진정한 동의를 얻은 것으로 볼 수

없으며, X 온라인게임사의 행위는 정보통신망법 제31조 위반으로 판단됨, 따라서 X 온라인게임사는 법정

리인 동의없는 아동의 회원가입으로 인해 민원인‘갑’에게 부당 부과된 요금액을 환불하여야 함

< 사건개요 >

민원인‘갑’은 X 온라인게임사 및 Y 온라인게임사가 공동으로 개발하여 운 중인 게임을 이용하던 중,

2003년 6월 동 게임이 무료 베타테스트를 마치고 유료로 전환됨에 따라 유료결제를 하기 위하여 로그인

을 하 는 바, 이 과정에서 민원인‘갑’은 자신의 ID 및 비 번호를 입력하면 다른 회원의 개인정보 조회

화면이 나타나는 것을 발견하고, X 및 Y 온라인게임사의 기술적 보호조치 미비에 한 시정을 요구하는

민원을 제기

< 처리결과>

X 및 Y 온라인게임사가 무료 베타테스트 이후 유료화 전환을 준비하는 과정에서‘요금결제시스템 서버

(빌링 서버)’에 오류가 발생하여 이용자의 개인정보 조회화면이 공개된 것으로 확인되었으며, 이는 이용

자의 개인정보보호를 위한 기술적, 관리적 보호조치를 취할 것을 규정하고 있는 정보통신망법 제28조에

위반되는 것으로 판단됨, 따라서 X 및 Y 온라인게임사는 온라인게임 이용시간 연장 등 피해를 입은 이용

자에 한 보상조치를 실시할 책임이 있음

< 사건개요 >

민원인‘갑’은 X 온라인게임사에 회원으로 가입하고 이용요금 결제를 한 후 유료게임서비스를 이용하던

중, 당초 1개월분만 이용요금을 결제하고 그 후 게임을 이용하지 않았으나 약 4개월이 경과한 후에도 매

월 이용요금이 결제된 것을 뒤늦게 발견하고 회원탈퇴를 요구하 음, 그러나 이후에도 회원탈퇴가 이루

어지지 않고 요금결제도 계속되자 민원인‘갑’은 자신의 회원탈퇴 조치 및 부당결제요금 환불을 요구하

는 민원을 제기

< 처리결과>

사실조사 결과 X 온라인게임사는 민원인의 회원탈퇴요구에 해 정당한 사유 없이 이를 지체한 사실이

인정되었으며, 특히 민원인‘갑’이 X 온라인게임 웹사이트의 회원탈퇴 메뉴 이외에 X 온라인게임사의

표 전자우편주소로도 탈퇴신청을 여러번 보내는 등 다양한 수단을 통해 회원탈퇴를 요구한 사실이 있음

을 확인하 음, 따라서 X 온라인게임사는 이용자의 개인정보 수집동의 철회에 해‘지체없이 필요한 조

치를 취하도록' 규정하고 있는 정보통신망법 제30조제3항을 위반한 것으로 판단되며, 민원인 ’갑‘의 회원

탈퇴조치를 즉시 취하는 한편 그간 부당 결제된 요금을 환불한 책임이 있다고 판단됨

< 사건개요 >

민원인‘갑’은 X 온라인게임사가 운 하는 유료 온라인게임을 이용하던 중, 게임 내에서 소유자가 없는

아이템을 발견하고 이를 습득하 다가 며칠 후 X 온라인게임사 담당자로부터 해당 아이템은 계정도용에

의해 분실된 것이므로 게임사에 반환해달라는 요청을 받았으나‘갑’은 이를 거절하 음, 그러나 X 온라인

게임사는 민원인‘갑’의 ID 및 비 번호를 이용하여 게임계정에 로그인한 뒤 해당 게임아이템을 강제 회

수하 으며, 이에 민원인‘갑’은 X 온라인게임사가 자신의 ID 및 비 번호를 무단 이용했다고 주장하며

민원을 제기

< 처리결과>

X 온라인게임사가 게임 운 상 아이템을 회수할 필요성이 있었다 하더라도, 별도의 관리자 계정을 사용

하지 않고 신청인의 ID 및 비 번호를 직접 이용하여 게임 아이템을 강제 회수한 행위는‘본인 동의없는

개인정보의 무단이용’을 금지하고 있는 정보통신망법 제24조제1항 위반으로 판단되며, 따라서 X 온라인

게임사는 이로 인해 민원인‘갑’이 입은 정신적 피해에 해 배상할 책임이 있음

Page 66: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

5. 온라인게임사가 주민번호 도용피해자에 한 신분확인을 위해 신분증 사본을 요

구하는 관행에 한 시정요구 사례

제 3 절 이용자 개인정보보호 책

1. 이용자 개인정보보호 개요

온라인게임 등 인터넷을 기반으로 하는 사업자의 경우는 일반적인 통신사업자에 비해

그 사업유형이 매우 다양할 뿐만 아니라, 제공하는 서비스의 종류나 갱신 속도, 새로운 서

비스의 등장이 매우 빠르다. 따라서 이용자 개인정보보호에 있어서도 신규 서비스 유형에

따라 새로운 문제점이 나타날 가능성이 높으며, 온라인게임 사업자는 정보통신망법 및 관

련 가이드라인 등을 적극 준수하여 이용자의 개인정보보호에 유념할 필요가 있다.

아래에서는 정보통신망법 및「인터넷 상의 개인정보보호 가이드라인(이하‘가이드라인’

이라 함)」을 중심으로 하여 온라인게임사업자가 준수하여야 하는 개인정보보호 기본 원칙

및 책을 서술한다.3)

가. 개인정보 수집∙처리에 한 동의와 고지

개인정보의 수집 및 처리에 있어서 가장 기본이 되는 요건은 정보주체(이용자)의 동의

이다.

‘동의’는 ① 인터넷사업자가 고지한 특정한 개인정보의 처리에 하여 ② 정보주체가 자

유로운 의사에 의해 행한 ③ 명백하고 입증 가능한 의사표시여야 한다. 다만 사업 실무상

인터넷 웹 페이지 상에서의 올바른 동의와 고지 방법에 해서는 논란이 있다.

개인정보의 수집, 이용에 한 동의는 개인정보 처리에 한 승낙의 의사표시인 바, 당

해 동의에는 정보주체의‘표시행위’가 있어야 한다. 예를 들어 사업자가 임의로“동의함”

에 디폴트 값을 설정하는 경우, 정보주체(이용자)는 동의를 구하는 절차가 있다는 사실을

간과할 수 있기 때문에, 이러한 경우는 정보주체의 의사를 명확히 구한 동의 절차라고 볼

수 없다.

다음으로, 정보 주체의 동의를 얻기 위해서는 인터넷사업자는 정보 주체에게 정보통신

망법의 규정에 의한 고지사항 등 충분한 정보를 제공하여야 한다. 즉 정보주체가 지금 무엇

에 해 동의를 하는 것인지를 명확히 알려줄 의무가 있다. 한편, 인터넷사업자는 당해 개

인정보의 처리에 하여 정보주체의 동의가 있었음을 사후에라도 입증할 수 있어야 한다.

128 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 129

� �

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

< 사건개요 >

민원인‘갑’은 신원 미상의 자가 자신의 주민등록번호를 도용하여 X 온라인게임에 회원으로 가입해 있는

사실을 발견하고 X 온라인게임사에 해 개인정보 삭제를 요청하 으나, X 온라인게임사가 피도용자(민

원인‘갑’)의 신원 확인을 위해 주민등록증 사본을 요구하자, 민원인‘갑’은 X 온라인게임사가 회원가입

신청인의 신원확인을 게을리 하여 주민등록번호 도용을 방치한 원인이 있음에도 불구하고 피도용자에게

피도용자에게 신원 증명을 요구하는 것은 부당하다고 주장하며 이러한 업무관행에 한 시정을 요구하는

민원을 제기

< 처리결과>

사실조사 결과 X 온라인게임사는 주민등록번호 도용신고가 접수된 경우 피도용자가 진정한 본인인지 여

부를 확인하기 위해 신분증(주민등록증, 운전면허증 등) 사본을 팩스로 전송할 것을 요구하는 것으로 확인

되었는 바, 이는 그간 X 온라인게임사가 회원가입신청 접수 시에 단지 성명 및 주민등록번호 일치여부만

으로 본인확인을 완료함으로써 결과적으로 본인확인절차의 부실함에 따른 책임을 피도용자에게 전가한

것으로 법령상 정당한 근거가 없는 업무관행으로 판단됨, 따라서 X 온라인게임사는 1) 정부가 제공하는

주민등록증 진위확인 서비스 2) 휴 전화 인증기능을 이용한 본인확인 등 실질적인 본인확인 절차를 도입

하고 기존의 신분증 사본제시요구 관행은 이를 중지할 필요가 있음

가이드라인 제5조(법정 리인의 동의방법) 제18조제1항의 규정에 의한 법정 리인의 동의는 다음

각호의 1에 해당하는 방법에 의한다.

1. 전화상담원이 법정 리인에게 직접 전화를 걸어 법정 리인에게 개인정보의 수집목적 등 고지사항

을 설명하고 동의를 얻는 방법(자동응답시스템에 의한 동의는 제외함)

2. 법정 리인에게 개인정보의 수집목적 등이 기재된 전자우편을 발송하여 법정 리인의 전자서명(전

자서명법 제2조제2호의 규정에 의한 전자서명을 의미한다)이 첨부된 전자우편에 명시적인 동의의

사를 기재하여 송부하게 하는 방법

3. 법정 리인에게 개인정보의 수집목적 등이 기재된 동의서를 우편 또는 인터넷 웹사이트 등을 통해

제공하여 법정 리인이 서명날인한 동의서를 우편이나 모사전송으로 인터넷사업자에게 제출하게

하는 방법

4. 제15조제3항의 본인확인 수단을 사용하여 동의를 받는 방법

가이드라인 제4조(정보주체의 동의) ① 인터넷 사업자는 개인정보를 수집∙이용하거나 제3자에게

제공하고자 하는 경우에는 미리 개인정보의 수집∙이용 및 제공에 한 정보주체의 동의를 받아야 한다.

3) 이하 보다 상세한 사항은 정보통신부, 한국정보보호진흥원, 「인터넷상의 개인정보보호를 위한 가이드북」참조.

Page 67: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

만 14세 미만의 아동의 개인정보 처리에 해서는 정보통신망법 제31조의 규정에 의거

법정 리인의 동의를 받아야 한다. 법정 리인의 동의를 받는 방법은 법정 리인이 스스

로 동의의사를 표시했는지를 명확히 확인할 수 있는 방법으로 행해져야 한다.

온라인 게임의 경우 그 서비스의 특성상 만 14세 미만의 아동이 회원으로 가입하여 게임

을 이용하는 빈도가 다른 인터넷 서비스에 비해 월등히 높다. 따라서 온라인 게임사업자는

정보통신망법 및 가이드라인에 근거하여 아동의 회원가입시 법정 리인의 동의획득 및 사

후 입증에 만전을 기하여야 한다.

나. 개인정보의 수집

1) 개인정보 수집 원칙

개인정보의 수집은 정보주체로부터 동의를 얻어 수집하는 것이 원칙이다. 다만 이 원칙

에는 두가지 형태의 예외가 존재하는데, 정보주체 이외의 자로부터 개인정보를 수집하는

경우와, 정보주체의 동의없이 개인정보를 수집하는 경우이다.

일반적으로 인터넷사업자의 경우에는 반드시 정보주체로부터 직접 동의획득이 있어야

만 개인정보를 수집, 이용할 수 있는 것으로 이해하고 있으나, 정보통신망법 및 가이드라인

에서 볼 수 있듯이 정당한 서비스의 이행, 요금정산 등 특별한 사유가 있는 경우에는 동의

없이도 개인정보를 수집, 이용하는 것이 가능하다는 것을 유념할 필요가 있다. 다만 동의

없이 개인정보를 수집, 이용하는 경우는 정보통신망법 등 관련 법률에 규정되어 있는 예외

사유를 엄격히 해석, 적용하는 것이 필요하다.

2) 개인정보 수집 시 제한사항

일부 인터넷사업자들은 이용자에게 제공되는 자사의 서비스의 특성을 고려하지 않고 단

지 관행적으로 일률적인 개인정보 항목을 수집하는 경우가 있다. 따라서 인터넷사업자들

은 자사의 서비스를 면 히 분석한 후 정상적인 서비스 제공이 가능한 한도에서 최소한의

개인정보를 수집하는 것이 타당하다.

예를 들어 온라인게임의 경우에는 아이디, 비 번호, 연락을 위한 최소한의 정보(전자우

편, 전화번호 등)만으로도 충분히 서비스가 가능하다고 판단되며, 유료 게임의 경우에는 여

기에 결제수단정보가 추가될 것이다.4)

3) 개인정보 수집 시 본인확인

최근의 인터넷서비스에서는 본인확인이 필요하지 않은 경우에도 관행적으로 정보 주체

에 한 본인확인이 이루어지고 있으며, 그로 인한 폐해도 다수 나타나고 있다. 예컨 다

130 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 131

� �

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

가이드라인 제11조(정보주체로부터의 수집) ① 인터넷 사업자는 정보주체의 동의를 받아 당해 정

보주체로부터 직접 개인정보를 수집하여야 한다. 다만, 다음 각호의 1에 해당하는 경우에는 그러하지

아니하다.

1. 인터넷서비스 이용계약의 이행을 위하여 필요한 경우

2. 인터넷서비스 제공에 따른 요금정산을 위하여 필요한 경우

3. 법률에 특별한 규정이 있는 경우

가이드라인 제13조(개인정보 수집의 제한) ① 인터넷사업자는 서비스 제공에 필요한 최소한의 개인

정보를 수집하여야 한다.

② 인터넷사업자는 수집하는 개인정보를 수집목적 및 이용목적에 따라 필수항목과 선택항목으로 구분

하여 정보주체가 선택적으로 자신의 개인정보를 제공할 수 있는 조치를 취하여야 한다.

③ 인터넷사업자는 정보주체가 선택항목에 해당하는 개인정보를 제공하지 아니한다는 이유로 회원가

입이나 기본적인 서비스 제공을 거부하여서는 아니된다.

④ 인터넷사업자는 정보주체가 선택항목에 해당하는 개인정보를 제공하지 않을 경우 이용할 수 없게

되는 서비스를 제시하여야 한다.

가이드라인 제15조(인터넷 상의 본인확인) ① 인터넷사업자는 다음 각호의 1에 해당하는 경우에 인

터넷을 통하여 본인확인을 행할 수 있다.

1. 법령에 특별한 규정이 있는 경우

2. 인터넷사업자가 제공하는 서비스의 운 을 위하여 필요한 경우

3. 정보주체의 권리를 보호하기 위하여 필요한 경우

4) 「인터넷 상의 개인정보보호 가이드라인」별표 1, “필요최소한의 개인정보의 예”참조.,

Page 68: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

른 법률의 규정이 있거나5), 회원가입 등을 위해 본인확인절차가 필요한 경우에는 이에 상

응하는 본인확인 수단을 사용하면 되며, 반면 단순한 정보제공이나 단순히 이용자를 식별

하기 위한 목적인 경우에는 구태여 본인확인용 정보(예컨 주민등록번호)를 수집할 필요

가 없다.

온라인게임을 비롯하여 다수 인터넷사업자들이 가장 보편적으로 사용하는 본인확인

방법은 신용정보기관의 신용정보 데이터베이스를 이용하여 성명 및 주민등록번호의 매칭

여부를 확인하는 것이다. 그러나 이는 온라인 상에서 신뢰할 수 있는 본인확인방법이라고

는 보기 어렵다. 예를 들어 온라인게임에는 아동, 청소년 연령층의 회원가입이 빈번한데 이

들은 신용거래실적이 없는 경우가 다수이기 때문에 신용정보 데이터베이스 상에 등재되지

않은 경우가 빈번하며, 따라서 회원가입 시 본인확인이 불가능한 경우가 종종 발생한다. 이

러한 면을 고려할 때‘주민등록번호 체수단’의 도입, 활용이 현실성 있는 본인확인 수단

이라고 판단된다.

다. 개인정보의 관리

1) 개인정보 보호조치

인터넷사업자가 보유하고 있는 정보주체(이용자)의 개인정보를 보호하기 위한 조치는

크게 조직적, 물리적, 기술적 조치로 구분해 볼 수 있다.

먼저 조직적 조치로는 개인정보 취급직원에 한 관리(담당자의 지정, 권한의 설정), 개

인정보의 취급절차 수립, 직원의 채용시 또는 위탁시 개인정보의 훼손, 침해, 누설금지 의

무준수, 직원에 한 교육실시 등을 들 수 있다.

다음으로 물리적 조치로는 개인정보 취급공간에 한 출입통제시스템 등 물리적 보안설

비 설치, 기타 개인정보의 도난, 훼손, 파괴 등을 방지하기 위한 안전조치 이행 등을 들 수

있다.

마지막으로 기술적 조치로는 개인정보시스템에 한 정당한 접근여부를 확인하기 위한

인증수단 마련, 개인정보를 처리하는 단말기의 식별과 인증절차 마련(MAC 주소 인증, IP

주소 인증 등), 개인정보 접근에 한 제어, 악성프로그램에 한 책 실시, 개인정보의 전

송 시 암호화 이행 등을 들 수 있다.

2) 수탁자에 의한 보호조치

인터넷 서비스의 유형이 날로 다양화되고 그로 인하여 수집, 관리되는 개인정보의 양도

크게 증가하고 있다. 이에 따라 최근에는 인터넷사업자가 직접 개인정보시스템을 관리하

는 경우보다는 IDC나 웹 호스팅을 통해 위탁 관리하는 경우가 많으며, 이는 온라인게임

역에 있어서도 예외가 아니다. 이러한 경우 인터넷사업자는 개인정보의 관리를 위탁한 것

으로 개인정보보호에 한 의무가 면제되는 것이 아니며, 오히려 보다 엄격한 관리 및 주의

조치가 필요하다.

특히 정보통신망법 제25조제3항은 수탁자가 취한 보호조치의 미비로 인하여 발생한 개

인정보 침해사고에 해 인터넷사업자(위탁자)도 책임을 지도록 하고 있다. 이는 인터넷사

업자(위탁자)가 수탁자의 사용자로 간주되는 것으로서, 민법 제756조의 규정에 의한‘사용

자 책임’을 지는 것으로 해석되고 있다. 즉 수탁자의 개인정보 보호조치 미비로 인해 손해

를 입은 이용자는 수탁자와 인터넷사업자(위탁자) 중 선택하여 손해배상을 청구할 수 있고,

인터넷사업자가 수탁자의 과실로 인해 정보주체에게 손해를 배상한 경우 수탁자에게 구상

132 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 133

� �

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

5) 본인확인에 한 특별한 법률 규정으로는 청소년보호법 제17조제1항에 의한‘상 방연령확인’, 전자서명법 제

15조제1항에 의한‘신원확인’, 전자상거래등에서의 소비자보호에 관한 법률 제11조제2항에 의한‘본인확인’,

공직선걱법 제82조의6제1항에 의한‘실명확인’, 신용정보의이용및보호에관한법률 제25조제1항에 의한‘본인

확인’등을 들 수 있음

가이드라인 제19조(보호조치) 인터넷사업자는 보유하고 있는 개인정보를 취급함에 있어서 개인정보

가 분실, 도난, 누출, 유출, 변조 또는 훼손되지 아니하도록「개인정보의 기술적∙관리적 보호조치 기

준」(정보통신부 고시 제2005-18호)에 따라 조직적, 물리적, 기술적 조치를 취하여야 한다.

가이드라인 제23조(수탁자에 의한 보호조치) ① 인터넷사업자가 인터넷데이터센터나 웹 호스팅 사

업자 등에게 개인정보시스템의 관리를 위탁하고 있는 경우에는 수탁자가 행한 개인정보에 한 조치

를 당해 인터넷사업자에 의한 조치로 본다.

② 전항의 경우 수탁자는 개인정보시스템의 관리업무와 관련하여 보호조치 미비로 인하여 발생한 손

해의 배상책임에 한하여 인터넷사업자의 소속직원으로 본다.

③ 제1항의 경우에도 인터넷사업자는 수탁자에 의한 조직적 관리조치와 별도로 제20조의 규정에 의한

조직적 관리조치를 행하여야 한다.

Page 69: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

권을 행사할 수도 있다.

3) 공개된 개인정보의 관리

인터넷 서비스 중에서도 특히 온라인게임은 그 게임서비스 내에서 이용자(정보주체) 간

의 커뮤니티가 활성화되어 있는 경우가 많으며, 게임 내에서 직접 이용자간 화(채팅), 선

물하기 등의 기능도 활발히 이용되고 있다. 이러한 게임 서비스의 특성상 공개게시판 등을

통해 정보주체의 동의 없이도 개인정보가 공개되거나 노출될 우려가 매우 크다. 따라서 게

임사업자는 이용자의 요청이 있거나 또는 정보노출이 확인된 경우 그 필요성을 신속히 판

단하여 정보삭제 등 필요한 조치를 지체없이 취하여야 한다.

또한 온라인게임은 이용자를 상으로 한 다양한 이벤트가 활성화되어 있으므로, 이러

한 이벤트, 응모행사 등을 통해 이용자의 개인정보가 노출되지 않도록 필요한 주의의무를

기울여야 한다.

라. 개인정보의 이용 및 제공

1) 개인정보의 이용

인터넷사업자는 수집한 개인정보를 당초 고지한 목적 내로만 이용하여야 한다. 다만 정

보통신망법 및 가이드라인에서 규정한 예외사유에 해당하는 경우에는 수집 시 고지한 목적

에 해당하지 않더라도 이용이 가능하다.

앞에서도 서술한 바와 같이 다수의 인터넷사업자는 반드시 정보주체로부터 직접 동의획

득이 있어야만 개인정보를 이용할 수 있는 것으로 이해하고 있으나, 정보통신망법 및 가이

드라인에서 볼 수 있듯이 요금정산 등 특별한 사유가 있는 경우에는 동의 없이도 개인정보

를 이용할 수 있다.

“당초 고지한 목적외로 개인정보를 이용하는 경우”의 가장 표적인 예는 1) 이용자의

동의없는 다른 서비스 가입 2) 이용자의 동의 없는 마케팅 등을 들 수 있다.

2) 개인정보의 제공

인터넷사업자는 수집한 개인정보를 정보주체의 동의없이 제3자에게 임의 제공하여서

는 아니된다. “제3자”라 함은 당해 서비스를 제공하고 있는 정보통신서비스제공자, 수탁

자, 업양수자 등과 그 서비스를 이용하고 있는 정보주체 이외의 모든 자연인과 법인을

말한다.

134 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 135

� �

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

가이드라인 제27조(공개된 개인정보의 관리) ① 공개게시판 등 불특정 다수가 열람할 수 있는 서비

스를 제공하는 인터넷사업자는 해당 서비스 내에 공개된 개인정보에 하여 당해 정보주체의 비공개

또는 삭제 의사를 확인한 경우에는 지체없이 당해 개인정보를 삭제하는 등의 필요한 조치를 취하여

야 한다.

② 공개게시판 등을 통해 정보주체 등으로부터 불만, 의견을 접수하거나 응모행사 등을 통해 행사참여

자들로부터 개인정보를 수집하는 인터넷사업자는 접수자 또는 참여자의 실명, 주민등록번호, 주소, 전

자우편 주소 등이 노출되지 않도록 하여야 한다.

가이드라인 제31조(개인정보의 이용) 인터넷사업자는 제11조제2항 또는 제12조제1항의 규정에 의

한 고지의 범위를 넘어서 당해 개인정보를 이용하여서는 아니된다. 다만 다음 각호의 1에 해당하는

경우에는 그러하지 아니하다.

1. 정보주체의 동의를 얻은 경우

2. 요금의 정산을 위해 필요한 경우

3. 사람의 생명 및 신체에 긴급한 위험이 발생한 경우로서 정보주체의 동의를 받을 수 없는 정당한

사유가 있는 경우

4. 법령 등에 특별한 규정이 있는 경우

가이드라인 제36조(개인정보의 제3자 제공) 인터넷사업자는 개인정보를 제3자에게 제공(“제휴”를

통한 공유를 포함한다)하는 경우에는 정부주체에게 제공받는 자의 명칭, 웹사이트 주소, 제공받는 자

의이용목적, 제공하는 개인정보의 항목, 개인정보가 제공되는 과정을 고지하고 동의를 받아야 한다.

다만 다음의 경우에 해당하는 경우에는 그러하지 아니하다.

1. 요금의 정산을 위해 필요한 경우

2. 사람의 생명 및 신체에 긴급한 위험이 발생한 경우에 정보주체의 동의를 받을 수 없는 정당한 사

유가 있는 경우

3. 통계작성, 학술연구 또는 시장조사를 위하여 필요한 경우로서 특정 개인을 알아볼 수 없는 형태로

제공하는 경우

4. 법령 등에 특별한 규정이 있는 경우

Page 70: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

“제3자 제공”에 해당하는 사례는 다음과 같다.

- 모자( ) 회사, 그룹 계열사 사이에서 개인정보를 제공한 경우

- 프랜차이즈 조직의 본부와 가맹점 사이에서 개인정보를 제공한 경우

- 제휴사에 특정한 개인정보를 제공한 경우

- 고객의 개인정보를 정당한 권리자가 아닌 제3자에게 열람할 수 있도록 허용한 경우

- 고객의 개인정보를 제3자와 공유하고 있는 경우

다만 동일한 회사(법인) 내의 부서간에 고객의 개인정보가 공유되는 경우는“제3자 제

공”으로 보기 어렵다. 다만 당초의 개인정보 수집 및 이용목적에 따라“개인정보의 목적외

이용”에 해당될 가능성은 있다.

개인정보의 제3자 제공도 앞서 본 개인정보의 이용과 마찬가지로, 정보통신망법 및 가

이드라인에서 규정한 예외사유에 해당하는 경우에는 수집 시 고지한 목적에 해당하지 않더

라도 제공이 가능하다.

3) 업의 양도∙양수

일반적으로 인터넷사업자들은 이용자의 개인정보데이터베이스를 기업의 자산으로만 여

기고, 업을 양도하는 경우에는 다른 업자산과 함께 당연히 이전하는 것으로 여기는 경

향이 있다. 그러나 현행 정보통신망법은 업의 양도 양수로 인하여 정보주체의 개인정보

자기통제권이 침해받는 일이 없도록 하기 위하여 일정 사항에 한 고지의무를 준수할 것

을 규정하고 있다.

특히 온라인게임 분야는 그 서비스의 특성상 게임사업자 간에 업의 양도양수가 다른

인터넷 서비스에 비해 비교적 활발하게 이루어지고 있는 바, 이러한 경우 개인정보의 이전

과 승계에 한 관련 규정을 철저히 이행하여야 한다.

마. 개인정보의 파기

인터넷사업자가 이용자의 개인정보를 파기해야 하는 경우로는 회원탈퇴, 개인정보 이용

및 제공에 한 동의철회, 정보주체의 개인정보 삭제 요구 시, 사전에 고지한 이용 또는 보

관기간의 도래 등을 들 수 있다.

“수집목적을 달성한 때”라 함은 구체적으로 다음의 경우를 포함한다.

- 회원가입정보의 경우 : 회원탈퇴를 하거나 회원에서 제명된 때

- 금지급정보의 경우 : 금의 완제일 또는 체권소멸시효 기간이 만료된 때

- 배송정보의 경우 : 물품 또는 서비스가 인도되거나 제공된 때

- 설문조사, 이벤트 등 일시적 목적을 위하여 수집된 경우 : 당해 설문조사, 이벤트 등이

종료한 때

- 본인확인정보의 경우 : 본인임을 확인한 때

그런데 실제적으로는 개인정보의 수집목적을 달성하 음에도 불구하고 관련 법령의 규

정에 의하여 해당 개인정보를 보관하여야 하는 경우가 상당수 발견된다. 예를 들어 전자상

136 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 137

� �

제6장

고객

정보보호

제5 장 내부 시스템 보안

제6 장 고객 정보보호

제7 장 침해사고 응 부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

가이드라인 제42조( 업의 양수 등의 통지) ① 인터넷사업자는 업양도, 합병, 분할 등으로 개인

정보를 이전하고자 하는 경우 다음 각호의 사항을 정보주체에게 미리 통지하여야 한다.

1. 업양도, 합병, 분할 등의 사실

2. 이전되는 개인정보의 항목

3. 개인정보의 이전시점 및 이전과정

4. 정보주체의 개인정보를 승계하는 자의 성명, 웹사이트 주소, 전화번호 기타 연락처

5. 개인정보의 이전을 거부할 수 있는 방법

② 인터넷사업자로부터 정보주체의 개인정보를 승계한 자는 다음 각호의 사항을 정보주체에게 통지

하여야 한다.

1. 개인정보를 승계한 사실

2. 양수자의 성명

3. 개인정보관리책임자에 관한 사항

4. 승계된 개인정보의 이용목적 및 이용기간

5. 양수자의 개인정보보호방침

가이드라인 제50조(개인정보의 파기) ① 인터넷사업자는 정보주체가 개인정보 수집의 동의를 철회

하거나 개인정보의 수집목적을 달성한 때에는 당해 개인정보를 지체없이 파기하여야 한다. 다만, 상

법, 국세기본법, 전자상거래등에서의소비자보호에관한법률 등 관련 법령의 규정에 의하여 보존할 필

요성이 있는 경우 예외로 한다.

Page 71: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

거래등에서의소비자보호에관한법률 시행령 제6조는 1) 표시, 광고에 관한 기록 : 6월, 2)

계약 또는 청약철회 등에 관한 기록 : 5년, 3) 금결제 및 재화 등의 공급에 관한 기록 : 5

년, 4) 소비자의 불만 또는 분쟁처리에 관한 기록 : 3년 등 관련정보의 보관기간을 명시하

고 있다. 이를 고려하여 볼 때, 단순히 무료 온라인게임의 경우에는 특별한 해당사항이 없

다고 판단되나, 반면 유료 결제를 통한 온라인 게임서비스의 경우에는 당해 게임의 특성을

고려하여 보관하여야 하는 개인정보를 면 히 분류할 필요가 있다.

한편, 개인정보를 파기하는 경우에는 다시 재생할 수 없는 기술적 방법으로 삭제하거나

물리적 분쇄, 소각하는 것이 바람직하다. 또한 관련 법령의 규정 등에 의해 개인정보를 파

기하지 않고 보관하는 경우에는 별도의 데이터베이스에 분리 보관하고, 당해 정보는 보유

하는 목적 외의 용도로 이용하거나 제3자에게 제공하여서는 않된다.

138 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

제1 절 침해사고 응팀구축

제2 절 침해사고 응관련기관

제3 절 침해사고 응및복구절차

제4 절 침해사고피해시스템분석기법

침해사고대응제7 장

+

+

+

+

Page 72: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제 1 절 침해사고 응팀 구축

신규 보안취약점의 증가, 공격기법의 고도화, 각 기업의 정보시스템의 중요도 증가 등으

로 인해 기업의 정보자산에 한 보호는 필수적으로 요구되고 있다. 이러한 요구에 의해 각

기업에서는 기업의 정보자산을 보호하고 전자적 침해사고 발생시 신속한 응으로 피해를

최소화하기 위한 침해사고 응팀(CERT, Computer Emergency Response Team)의 구

축과 운 이 요구되고 있다.

본 절에서는 침해사고 응팀을 구축하기 위해 필수적으로 요구되는 침해사고 응 정책

과 지침, 침해사고 응조직의 구성 및 인력과 침해사고 응팀의 업무에 해서 알아보도

록 한다.

1. 침해사고 응 정책 및 지침

침해사고 응 정책은 조직의 사명과 특성에 부합되도록 침해사고 발생시 어떻게 행동해

야 하는지를 기술한 전반적인 규칙의 집합이라고 할 수 있다. 이 정책은 기업 내의 모든 임

직원에게 적용되며 어떤 상황에서 어떻게 처를 하고, 어떤 상호작용을 해야 하는지에

해서 기본적인 지침을 제공한다. 또한, 침해사고 응팀 내외적으로 어떤 상호작용을 해

야 하는지도 기술한다.

다음은 침해사고 응 정책 작성 예이다.

140 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 141

제7장

침해사고

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

� �

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록

제7 장 침해사고 응

I. 침해사고 응팀 임무 및 구성

1. 침해사고 응팀 임무

2. 침해사고의 범위

2.1 침해사고의 정의

2.2 침해사고의 종류

3. 인력 구성 및 역할

3.1 침해사고 응지원팀장

3.2 침해사고 접수 담당

3.3 침해사고 처리 담당

II. 침해사고 접수 및 처리

1. 침해사고 접수

1.1 침해사고 접수 수단

1.2 국내 침해사고 접수

1.3 국외 침해사고 접수

1.4 침해사고 접수 처리

1.5 바이러스 사고 접수

2. 침해사고 분석 및 처리

2.1 지원 범위

2.2 현장 지원 업무

2.3 관련기관 연락업무

2.4 침해사고 분석

2.5 침해사고 처리

3. 사후 조치

3.1 피해기관 보안 조치

3.2 사후 침해사고 분석

III. 침해사고 정보 관리

1. 인적 관리

2. 안전한 전자메일 사용

3. 기록 및 보관

4. 정보의 중요성에 따른 처리

5. 정보 공개

IV. 해킹기법 시험∙분석, 책

1. 보안권고문 및 기술문서

2. 해킹기법 시험∙분석

3. 해킹방지기술 연구

V. 외 업무

1. 조직내 각 IT 담당자

2. 관련 외기관 담당자

3. CONCERT / 수사기관

Ⅵ. 내부 보안

1. 출입통제

2. 시스템 및 네트워크 보안

Page 73: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

2. 침해사고 응조직 구성 및 인력

침해사고 응 업무 처리 시 조직의 정책 및 절차를 효과적으로 수행하는 것은 전적으로

침해사고 응팀원의 능력과 자질에 의존하게 된다. 그러므로 침해사고 응팀원은 서비스

운 과 임무를 효과적으로 수행하는데 중추적인 역할을 한다.

침해사고 응팀원의 자질에 해 부분의 사람들은 침해사고 응팀원의 기술적인 경

험을 가장 중요하게 생각할 수 있다. 기술적인 경험이 중요한 요소지만 보다 중요한 요소는

개인의 의지와 고객 및 다른 팀원과 업무 협조시 절차 준수 능력이다.

일반적으로 사고 응을 위한 전문 인력은 아래 그림과 같이 다양한 기술과 능력이 요구

된다.

사고 응 인력은 전문적인 기술력 뿐 아니라 다음과 같이 유연한 인관계 능력도 요구

된다.

기술적인 측면에서 각 사고 처리자는 기본적인 기술의 이해와 개인은 그들의 전문성에

기초를 두어야 하는데, 아래는 사고 처리자가 갖추어야할 기술적인 요소들이다.

침해사고 응팀원이 갖추어야하는 기술적 요소들을 열거하 으나, 실제 이러한 모든 기

술을 갖춘 인력을 드물 것이다. 사고 응팀의 각 구성원들은 위 기술요소 중 각자의 전문

분야를 육성할 필요가 있다.

팀원 교육은 새로운 팀원이 그들의 직무를 수행하기 위해 필요한 기술을 습득하거나 팀

원 개인 발전을 위한 역량 강화와 새로운 기술과 공격자의 경향을 파악하는 전반적인 기술

향상을 위해 필요하다. 팀의 전체적인 교육을 검토할 때 팀 전체의 일반적인 기술뿐만 아니

라 각 팀원의 특성화된 기술을 구분하는 것이 중요하다.

142 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 143

� �

제7장

침해사고

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

〈 그림 7-1-1 〉사고 응 인력의 자질

�명확한 규정이 없거나, 스트레스를 받고 있거나 힘든 경우에도 효율적이고 타당한 판단을 할 수 있는

상식

�다른 팀이나 의뢰자와 효율적인 구어, 문어 화 능력

�언론이나 협력기관 등 다른 기관과의 절충 능력

�정책과 절차를 따르는 능력

�지속적인 교육 의지

�스트레스와 업무 부하를 견딜 능력

�팀 업무협조

�팀 명성과 품위를 지킬수 있는 품위

�실수를 인정하는 태도

�새로운 상황에서 효율적인 사고처리를 위한 문제해결 능력

�일의 우선순위를 관리할 수 있는 시간 관리 능력

�일반적인 데이터 네트워크(인터넷, X.25, ATM, 프레임 릴레이 등)

�네트워크 프로토콜(IP, ICMP, TCP, UDP 등)

�네트워크 기반 요소(라우터, DNS, 메일서버 등)

�네트워크 응용프로그램 또는 서비스와 관련된 프로토콜

(SMTP, HTTP, FTP, TELNET 등)

�기본 보안 원칙

�컴퓨터와 네트워크 위험 및 위협

�보안 취약성과 관련된 공격 기법(인터넷 웜, 컴퓨터 바이러스 등)

�네트워크 보안 이슈(침입차단시스템 혹은 가상사설망)

�암호 기술, 전자서명, 해쉬 알고리즘

�사용자와 시스템 관리자 측면의 호스트 시스템 보안(백업, 패치)

Page 74: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

3. 침해사고 응팀의 업무

가. 침해사고 접수

침해사고 응팀은 기업 내∙외부로부터의 침해사고 관련 연락의 단일 창구 역할을 수

행하여야 하며, 침해사고 응 서비스를 위해 들어오는 정보를 접수(accepting), 수집

(collecting), 정렬, 전달하는 기능을 제공한다.

침해사고는 email, fax, 전화, 우편 등 접수 수단에 상관없이 단일한 창구를 통해 관리가

되어야 한다. 내외적으로 침해사고와 관련된 정보를 주고받을 수 있는 공식적인 채널이

마련되어 있어야 한다. RFC2142에서는 보안과 관련한 메일 주소를 다음과 같이 사용하기

를 권고하고 있다.

침해사고 신고를 위한 표준화된 보고 양식을 제공하여 침해사고 처리에 필요한 모든 정

보가 신고될 수 있도록 한다. 침해사고 보고 양식에는 다음과 같은 정보를 기본적으로 입력

하도록 한다.

접수된 각 사고에 해서는 고유한 할당번호를 부여하여 각각의 사고를 식별할 수 있도

록 한다. 할당번호는 email의 제목이나 Fax의 표지 또는 정해진 음성 메시지에 쉽게 사용

될 수 있으며, 개별 사건을 추적하고 관리하는데 사용되어질 수 있다.

나. 침해사고 분석 및 응

접수된 침해사고 신고 중 컴퓨터 보안 사고라고 의심되거나 확실한 사건에 해서는 침

해사고 분석∙복구 등에 필요한 지원을 하고, 가이드를 제공한다.

침해사고 사고분석은 다음의 두 가지로 분류할 수 있다.

첫째, 특정한 사고 내에서의 분석으로써 로그파일 분석, 공격자의 행위에 의해 남겨진

자료(artifact) 분석, 사고가 발생된 소프트웨어 환경 분석, 사고 내의 상호연관관계 분석

등을 수행한다.

둘째, 사고간의 분석으로써 사고간의 관계를 고려한 구조적인 구조 분석이라고 할 수 있

다. 이 분석은 일치하거나 관련이 있는 공격자 출처를 가진 별개의 사건들 사이의 연관성을

찾거나 유사한 공격 기법의 발견 등을 위해서 수행한다.

침해사고 분석 및 응시 피해 기업 자체적인 해결이 어려운 경우 관련 ISP, 수사기관

(경찰청 사이버테러 응센터, 검찰청 인터넷범죄수사센터), 침해사고 응전문기관(한국

정보보호진흥원 인터넷침해사고 응지원센터), 민간 정보보호 전문업체 등의 도움을 받도

록 한다.

다. 침해사고 예방을 위한 정보제공

침해사고 응팀은 침해사고 발생 후 사후 응뿐만 아니라 침해사고를 예방하기 위한

활동도 수행하여야 한다. 침해사고 예방활동은 현재의 위협들과 이러한 위협을 방어하기

위한 절차와 최신 공격 동향에 한 정보 등을 작성∙배포한다.

하지만 각 기업세서 자체적으로 신규 보안취약점 및 공격기법에 해 분석하고 정보를

생성하기에는 시간과 기술 인력의 한계에 부딪치는 경우가 많다. 이런 경우에는 다음과 같

은 기관들로부터 정보를 수집하여 재배포하거나 기업의 특성에 맞게 수정하여 배포할 수도

있다.

144 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 145

� �

제7장

침해사고

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

[email protected] 보안관련 사고 담당자 메일 주소

[email protected] 보안관련 사고 담당자 메일 주소

[email protected] 네트워크 오용 담당자 메일 주소

�보고하는 사이트와 이 사고와 관련되어 통신하는 다른 집단들의 연락 정보

�사고와 관련된 호스트의 이름과 네트워크 주소

�사고에 한 설명

�사고와 관련된 세부 로그(time-zone 정보 포함)

�이미 할당되었다면 그 할당번호

Page 75: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

< 표 7-1-1 > 해킹∙바이러스 정보제공 사이트

제 2 절 침해사고 응 관련 기관

해킹∙바이러스 사고 응을 위한 관련기관으로는 국가정보원의 국가 사이버안전센터,

검찰청 인터넷범죄수사센터, 경찰청 사이버테러 응센터, 한국정보보호진흥원 인터넷

침해사고 응지원센터 등 서비스 상기관과 업무내용에 따라 다수의 기관이 존재하고,

이들간에는 상호협력 관계를 유지하고 있다.

< 표 7-2-1 > 해킹∙바이러스 사고 신고기관

기업에서 해킹∙바이러스 사고 발생시 지원을 받을 수 있는 표적인 기관으로는 해

킹∙바이러스 관련 기술적인 정보제공 및 예방∙ 응관련 기술적인 상담을 해주는 한국정

보보호진흥원의 인터넷침해사고 응지원센터와 해킹으로 인한 금전적 피해 등 사이버범

죄에 한 신고를 할 수 있는 경찰청의 사이버테러 응센터가 있다.

이외에도 학, 기업 등 국내 침해사고 응팀들간의 컨소시엄인 한국침해사고 응팀협

의회(CONCERT : CONsortium of CERTs), 금융감독원, 한국증권전산(주), 금융결제원

에서 운 하는 금융 정보공유분석센터(ISAC : Information Sharing & Analysis Center)

등이 침해사고 응과 관련한 업무를 수행하고 있다.

1. 한국침해사고 응팀협의회

한국침해사고 응팀협의회(http://www.concert.or.kr)는 국내 정보통신망 침해사고

응팀들간의 정보교류, 기술공유, 업무협조 등의 협력체계를 통하여 국내 정보통신망에

한 침해사고를 예방하고 침해사고 발생시 피해의 확산을 방지함으로써 정보통신망의 안

전한 운 에 기여하기 위해 설립되었다.

146 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 147

� �

제7장

침해사고

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

기관명 홈페이지 전화번호 이메일 비 고

국가

사이버안전센터http://www.ncsc.go.kr 02)3432-0462 -

정부기관, 공공기관

보안사고접수∙처리

검찰청

인터넷범죄수사센터http://icic.sppo.go.kr 02)3480-3600 [email protected] 컴퓨터보안사고 수사

경찰청

사이버테러 응센터http://www.ctrc.go.kr 02)3939-112 - 컴퓨터보안사고 수사

한국정보보호진흥원

인터넷침해사고

응지원센터

http://www.krcert.or.kr 02)118 [email protected]민간 보안사고접수∙

처리

〈 그림 7-2-1 〉한국침해사고 응팀협의회 초기 화면

기관명 홈페이지 비고

인터넷침해사고

응지원센터http://www.krcert.or.kr 한국 침해사고 응팀

CERT/CC http://www.cert.org 미국 침해사고 응팀

SecurityFocus http://www.securityfocus.org 민간 취약점 정보제공 기관

Page 76: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

한국침해사고 응팀협의회에서는 다음과 같은 업무들을 수행하고 있다.

일반 기업들도 한국침해사고 응팀협의회에 가입함으로써 CERT팀 구축∙운 을 위한

지원, 보안장비 운 경험 공유 등의 혜택을 누릴 수 있다.

2. 인터넷침해사고 응지원센터

인터넷침해사고 응지원센터(KrCERT, http://www.krcert.or.kr)는 해킹∙바이러스

등 인터넷 침해사고의 조기탐지, 분석, 예∙경보, 그리고 침해사고 응활동 등을 통해 인

터넷 침해사고로 인한 피해 확산 방지를 위해 한국정보보호진흥원에서 운 하고 있다.

다음은 인터넷침해사고 응지원센터의 주요 업무 내용이다.

인터넷침해사고 응지원센터에서는 휴 폰 문자메시지, 메일링리스트(sec-info@

certcc.or.kr) 등을 통해 해킹∙바이러스 관련 다양한 정보를 제공하고, 예∙경보를 발령

하고 있으므로, 개인사용자들도 인터넷침해사고 응지원센터에 회원으로 가입(무료)함으

로써 이러한 정보를 제공받을 수 있다.

기업들은 인터넷침해사고 응지원센터를 통해 24시간/365일 언제나 해킹∙바이러스에

한 일반적인 문의나 피해에 한 조치방법에 해 상담과 기술지원을 받을 수 있다.

3. 경찰청 사이버테러 응센터

사이버테러 응센터(http://www.ctrc.go.kr)는 사이버테러형 범죄(해킹∙바이러스 등)

의 수사, 범죄예방, 수사기법개발 등을 위해 경찰청에서 운 하고 있다. 경찰은 경찰청 내

의 사이버테러 응센터 뿐만 아니라 각 지방 경찰청에도 사이버수사 를 두고 있어 전국적

인 사이버 수사 조직을 가지고 있다.

148 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 149

� �

제7장

침해사고

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

�365일 네트워크 모니터링을 통한 해킹∙바이러스 예∙경보 발령

�해킹∙바이러스 기법 분석 및 처방안 배포

�민간분야 해킹∙바이러스 상담접수 및 기술지원

�국내∙외 인터넷 침해사고 관련 조직과의 공동 응 협력체계 구축

�정보통신망 운 기관들의 CERT 구성지원

�침해사고 응기술력 향상을 위한 교육 및 세미나 개최

�신속한 정보교환을 위한 연락체계 구축

�정보통신망 침해사고 관련 정보 및 기술 상호교환

�국제적인 정보통신망 침해사고 응을 위한 제반 활동

〈 그림 7-2-3 〉사이버테러 응센터 초기 화면

〈 그림 7-2-2 〉인터넷침해사고 응지원센터 초기 화면

Page 77: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

사이버테러 응센터의 주요 업무로는 사이버테러의 탐지∙추적 및 경보 등 조치, 사이

버범죄의 수사 및 지도, 사이버테러관련 수사기법의 연구∙개발, 국제경찰기구 등과의

( )사이버테러 협력 등이 있다.

기업에서는 기업 중요자료의 유출, 정상적인 서비스를 방해하는 서비스거부공격 등의

사건이 발생되었을 경우 공격자 추적과 법적인 조치를 위해 사이버테러 응센터의 도움을

받을 수 있다.

사이버범죄에 한 신고는 사이버테러 응센터 홈페이지(www.ctrc.go.kr)를 통해 인

터넷으로 신고하거나 가까운 경찰관서에 신고할 수 있다.

제 3 절 침해사고 응 및 복구절차

인터넷 웜이나 서비스거부공격과 같은 규모 인터넷 침해사고에 한 신속한 응은

피해를 최소화한다. 이러한 신속한 응은 사전에 준비된 침해사고 응체계와 절차서에

따라 구성원들이 훈련되어 있어야만 가능하다. 따라서, 각 기업에서는 다양한 경우에 비

한 사고 응절차를 사전에 마련하고, 각 기업 담당자들은 이러한 응절차를 숙지하고 있

어야만 한다.

일반적으로 사고 처리자는 소방관에 비유되기도 하는데, 화재시 소방관의 사소한 실수

나 조급함이 더 큰 피해를 초래할 수도 있다. 마찬가지로 사고처리자도 신중하게 사고처리

에 임해야 하며, 주어진 절차에 의해 수행하여야 한다. 사고 처리자가 일반적으로 범하기

쉬우면서도 반드시 지켜야 하는 행동수칙은 다음과 같다.

발생된 침해사고의 종류와 기업의 보안정책 및 침해사고 응지침서에 따라 응절차도

다를 수 있지만 일반적인 침해사고 응절차를 소개하기로 한다. 일반적으로 기업에서 침

해사고 발생 시 단계별 사고 응절차는 [표 7-3-1]과 같다.

< 표 7-3-1 > 단계별 사고 응절차

1. 사전준비

사전준비 단계에서는 침해사고가 실제 발생하기 이전에 취하는 행동으로 신속한 사고처

리를 위한 준비단계라고 할 수 있다. 사전준비 단계에서 취해야 하는 행동은 주로 예방을

위한 활동인데 다음과 같은 사항들이 있을 수 있다.

2. 사고인지

실제 인터넷 침해사고가 발생되었을 때 기업 담당자는 다음과 같은 채널을 통해 사고사

실을 인지할 수 있다.

150 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 151

� �

제7장

침해사고

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

�서두르지 말라.

�모든 것을 기록하라.

�도움을 줄 수 있는 사람들의 연락처를 유지하라.

�사건에 해 반드시 알아야 할 사람에게만 알려라.

�해킹당한 컴퓨터로 통신하지 말라.

�해킹당한 컴퓨터를 네트워크에서 분리하라.

�가능한 빨리 백업 받으라.

�공격당한 문제점(취약점)을 제거하라.

�백업본으로 재설치하고, 이상여부를 살핀다.

�사고경험을 익혀, 유사 사고에 비한다.

사전준비

사고인지

침해사고 확산방지

시스템 분석과 원인제거

시스템 복구 및 서비스 재개

보고서 작성

�침해사고 응팀 구성 및 훈련

�침해사고 응을 위한 재난복구 계획 마련

�비상연락체계 구축

�네트워크 모니터링 센터 운 (24시간/365일)

�침해사고 접수 창구 마련(이메일, 웹, 전화 등)

�신규 취약점이나 바이러스 정보수집

Page 78: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록

침해사고를 접수시 신고자로부터 장애 상황에 해 충분히 설명을 받고 침해사고의 종

류, 침해범위 및 규모를 판단하도록 한다.

사고의 범위나 피해가 큰 경우에는 해당사고에 한 응을 위해 전담반을 구성하여 운

한다. 이 경우 해당 사고의 유형에 따라 관련 분야 전문가들로 구성하고 필요에 따라서는

외부 전문가도 활용할 수 있다.

또한, 필요에 따라 내부의 관리자나 한국정보보호진흥원, 경찰청 등 국내 침해사고 응

기관에 연락을 취하여 도움을 받을 수도 있다.

3. 침해사고 확산 방지

최근의 인터넷 웜은 수 십분 내에 전 세계의 취약한 서버를 감염시킬 정도로 전파속도가

빠르므로 침해사고의 확산을 방지하기 위한 신속한 조치가 필요하다. 필요에 따라서는 감

염된 서버를 기업 네트워크로부터 분리시키거나 네트워크 접근통제를 실시한다.

그리고 해킹피해시스템에는 Sniffer와 같은 악성코드가 깔려 내부 네트워크의 트래픽을

모니터링하여 사용자 아이디와 패스워드를 가로채는 경우가 많다. 이 경우 피해가 확인된

시스템 뿐만 아니라 동일 네트워크의 다른 시스템들도 공격을 당했을 가능성이 많으므로

주변의 시스템들도 로그분석을 통해 피해 유무를 확인하여야 한다.

4. 시스템 분석과 원인제거

해킹으로 인한 피해확산에 한 조치를 완료한 후에는 본격적으로 해킹 피해의 원인과

피해정도에 한 상세한 분석에 들어간다. 해킹 피해 분석은 피해 시스템에서 직접 수행할

수도 있지만 가급적이면 이미지 백업을 받은 후 백업본에서 분석하는 것이 바람직하다. 백

업본은 향후 법적인 문제 발생 시 법적인 증거자료로도 제출될 수 있도록 내용의 변경이 없

152 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 153

� �

제7장

침해사고

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

도록 주의하여야 한다. 해킹 피해 분석 기법에 해서는“5. 침해사고 피해시스템 분석 기

법”에서 자세히 다루기로 한다.

시스템 분석을 통해 공격을 받은 원인이 밝혀지면 해당 취약점에 한 보호 책을 마련

하여 향후 피해가 다시 발생되지 않도록 조치하여야 한다. 해킹 피해 발생 시에는 단편적으

로 피해 시스템에 한 분석과 조치로 끝내지 않고 기업전체의 정보시스템 운 환경 파악,

보안 위협요인 식별 및 평가, 보안취약점 점검 등을 통해 기업의 보안 위험수준을 평가하고

이에 해 관리적, 기술적, 물리적인 보안 책을 마련하는 것이 바람직하다.

5. 시스템 복구 및 서비스 재개

해킹 피해분석과 보안 책을 수립한 후에는 피해시스템을 복구하고 서비스를 중단했을

경우 서비스를 재개한다.

피해시스템을 복구할 경우 해킹 당하기 이전의 백업본을 사용하는 것이 바람직하고, 복

구된 시스템에 공격자가 남겨 놓은 백도어 프로그램이 존재하지 않는지 주의 깊게 살펴보

아야 한다. 일반적으로 공격자는 시스템 침입 후 재침입을 용이하게 하기 위하여 백도어 프

로그램을 시스템 곳곳에 숨겨놓는 경우가 많다. 완전한 백도어 프로그램의 탐색이 불가능

할 경우에는 시스템을 재설치하여야 하는 경우가 발생될 수도 있다.

시스템 복구 후에는 일정기간 동안 해당 시스템에 한 모니터링을 통해 해당 시스템에

한 재침입시도 또는 비정상적인 작동에 해 감시하고 응할 수 있도록 하여야 한다.

6. 보고서 작성

침해사고에 한 전 응과정을 거친 후에는 사고 응의 전 과정을 상세히 기록하여 보

고서로 작성할 필요가 있다. 이 보고서는 법적인 증거자료로도 사용될 수 있을 뿐만 아니라

침해사고 응팀원 간의 사고 응경험을 공유하는데도 유용하게 사용될 수 있다.

사고 응 보고서에는 해당 침해사고에 한 원인과 응뿐 아니라 보다 안전한 기업의

정보시스템 환경을 구축하기 위한 중장기적인 정보보호 책에 한 건의도 추가하여 상급

관리자 또는 경 진에 보고하도록 한다.

�내부 직원으로부터의 신고(전화, 홈페이지, 이메일 등)

�네트워크 장비(라우터, 스위치)의 과부하 확인(CPU, BPS, PPS 등)

�네트워크 장비 및 고객 장비의 장애 유무 확인(ICMP등)

�침입탐지시스템(IDS) 등 보안장비를 통한 침입 확인

�수사기관, KISA 등 국내 유관기관으로부터의 신고

�국외 ISP 등 국외 피해기관으로부터의 신고

Page 79: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

제 4 절 침해사고 피해시스템 분석기법

피해 시스템을 분석한다는 것은 결국 공격의 흔적 즉, 증거를 찾아내는 과정으로 여기에

서는 공격자들이 주로 사용하는 루트킷, 백도어, 트로이에 한 지식을 바탕으로 피해시스

템 분석 방법을 설명한다.

1. 시스템 상태 자료 수집

아래와 같은 명령을 사용하여 피해 시스템의 현재 프로세스, 열린 파일, 로그인 사용자

정보, 네트워크 상태 등에 해 따로 기록하여 보관한다. 프로세스 상태, 네트워크 접속 상

태, 현재 로그인 정보, /tmp 파일의 내용 등은 시스템 리부팅 후에는 사라지는 휘발성 정보

이므로 피해시스템 분석에 앞서 반드시 수집하여야 한다.

2. 시스템 상태 자료 분석

(1) 수집한 정보 분석

(2) 공격 시간 를 중심으로 분석

① 략적인 공격시간 를 알 경우

부분의 공격 시간 는 사고 접수 시간이나 사고 내용에 남은 로그를 중심으로 알 수

있다.

예) 로그에 남은 공격 시간이 3월 1일이고 시스템 분석을 3월 6일에 한다면 아래와 같은

명령을 사용하여 현재로부터 6일 이전까지 변경된 파일을 점검할 때

# find / -mtime -6 -ls

② 공격시간 를 알 수 없는 경우

공격자는 흔히 시스템 파일의 변화를 숨기기 위해 시간을 수정하므로 이러한 경우에는

파일의 inode 변경시간(ctime)을 점검한다.

예) 지난 n 날짜동안 수정된 inode를 갖는 모든 파일을 점검할 때

# find / -ctime -ndays -ls

(3) 온라인 분석 시 주요 정보 관리

온라인으로 피해 시스템을 직접 분석할 경우에는 다음과 같은 주요 정보를 다른 안전한

시스템에 복사해 둔다.

154 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 155

� �

제7장

침해사고

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

▶ ps -elf 또는 ps -aux : 현재 시스템에서 수행중인 프로세스 정보

▶ netstat -an : 현재 네트워크 활동에 한 정보

▶ lsof : ps와 netstat를 체할 수 있는 것으로 현 시스템의 모든 프로세스와 프로세스가 사용하는 포트

및 열린 파일 정보

▶ last : 사용자, 터미널에 한 로그인, 로그아웃 정보

▶ who : 현재 시스템에 있는 사용자 정보

▶ find / -ctime -ndays -ls : ndays 이전 시점부터 현재까지 ctime이 변경된 모든 파일에 한 정보

※ 주의 : 이 명령어는 파일의 접근시간(atime)을 변경시키므로, 침입자가 어떠한 파일에 접근했는지 알

고 싶은 경우에는 사용하지 않도록 한다.

▶ nmap : 네트워크 점검 도구인 nmap을 이용하여 원격에서 피해 시스템의 열린 포트 점검

# nmap -sT -p 1-65535 xxx.xxx.xxx.xxx(피해시스템 IP 주소)

# nmap -sU -p 1-65535 xxx.xxx.xxx.xxx(피해시스템 IP 주소)

▶ ps : sniffer 또는 취약점 스캔 프로그램 등 공격 프로그램이 실행되고 있는지 확인

▶ netstat : 서비스하지 않는 포트가 열려 있는지 또는 이상한 사이트로 접속이 있는지 확인

▶ lsof : 공격 프로그램이 실행되고 있는지 또는 서비스하지 않는 포트가 열려 있는지 확인 (ps와 netstat

기능 체)

▶ last : 사용하지 않는 계정 또는 이상한 사이트에서 로그인한 정보가 있는지 확인

▶ who : 현재 누가 접속해 있었는지 확인

▶ nmap 스캔결과 : 네트워크 백도어를 가장 빨리 찾을 수 있는 방법으로, 피해 시스템에 이상한 포트가

열려있는지를 확인

Page 80: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

3. 잘 알려진 공격기법에 한 분석

공격자가 주로 사용하는 해킹툴 및 백도어, 루트킷 등에 한 사전 지식을 바탕으로 분

석하는 방법으로 공격흔적 및 공격방법을 쉽게 발견할 수 있다.

(1) /etc/passwd 파일 점검

관리자가 생성하지 않은 새로운 계정이나, uid=0인 계정, 패스워드가 없는 계정이 있는

지 확인한다.

# ls -al /etc/passwd

(2) history 파일 점검

공격자가 history 파일을 삭제하지 않았다면, 이 파일에서 상당히 유용한 정보를 얻을

수 있다. 따라서 루트나 의심이 가는 사용자의 홈 디렉토리에서 history 파일을 점검한다.

Linux : # more bash_history

Solaris : # more .history

(3) 숨겨진 디렉토리 점검

공격자들은 주로“.”이나“..”으로 시작하는 디렉토리를 만들어 사용하는데 이는 관리자

가 아무런 옵션 없이“ls”명령을 사용했을때는 보이지 않게 된다. 따라서 다음과 같은 명령

을 사용하여 숨겨진 디렉토리를 찾는다.

# find / -name “..*”-print 또는

# find / -name “.*”-print

(4) 공격자가 자주 사용하는 디렉토리 점검

공격자들은 주로 /dev, /var, 각종 /tmp 디렉토리 등 일반적으로 파일이 아주 많은 디렉

토리나 누구든 쓰기 가능한 디렉토리에 작업 디렉토리를 만드는 경우가 많다.

특히 /dev 디렉토리는 루트킷이나 백도어 설정파일의 디폴트 디렉토리로 많이 사용되므

로 아래의 명령어를 사용하여 점검할 수 있다.

# find /dev -type f -print

※ /dev 디렉토리는 보통 일반파일이 존재하지 않으므로 일반파일이 있는지를 검사한다.

(5) 백도어 파일 점검

사용자 홈 디렉토리의“.rhosts”파일이나“.forward”파일, etc/inetd.conf 파일,

/etc/services 파일, /etc/rc.d/ 디렉토리내의 파일들에 이상한 포트나 서비스가 열려 있는

지 점검한다.

(6) 시스템날짜 변경 확인

/bin 디렉토리나 /sbin 디렉토리 등 시스템 파일들의 날짜가 변경되었는지를 점검한다.

# ls -alct /bin 또는

# ls -alct /sbin

156 │ www.kisa.or.kr 온라인게임해킹 응가이드 │ 157

� �

제7장

침해사고

제5 장 내부 시스템 보안 제6 장 고객 정보보호

제7 장 침해사고 응

부 록제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

▶ 시스템의 모든 로그 파일

▶ inetd.conf 파일, 패스워드 파일, 기타 주요 설정 파일

▶ 주요 디렉토리에 한“ls -alt”결과값 (예: /dev/, /, /etc 등)

▶“find / -ctime -ndays -ls”결과값

▶ 침입자가 사용한 디렉토리 파일

▶ 기타 시스템을 분석하면서 나온 정보들

Page 81: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

[1] 한국정보보호진흥원, 민간사이버안전메뉴얼, 2005

[2] www.krcert.or.kr

[3] 한국소프트웨어진흥원, 2005년도 국내 디지털콘텐츠산업 시장조사, 2005.

[4] 백광훈, 사이버범죄에 한 ISP의 형사책임에 한 연구, 한국형사정책연구원, 2003

[5] 신동일, 과학기술발달과 형법의 임무, 형사정책연구 제11권 제4호(2000), 273 이하

[6] 신동일, 정보통신망을 잉요한 광고성 전자우편의 불법성과 형사정책, 한국형사정책연

구원 2005

[7] 장 민/조 관, 컴퓨터범죄에 관한 연구, 한국형사정책연구원 1993

[8] 정진섭, 인터넷과 컴퓨터범죄 동향변화, 정보사회와 범죄, 한국형사정책연구원 제18회

형사정책세미나 자료집(19996)

[9] 조병인/정완/탁희성, 사이버범죄에 관한 연구, 한국형사정책연구원 2000

[10] 하태훈, 인터넷과 형법의 변화, 인터넷법률(2000/7), 35 이하.

[11] 정 완, 인터넷상 불법∙유해정보의 유통실태와 규제, 사이버공간에서의 정보유통과 형

사정책적 응. 2005년 6월 24일 한국형사정책연구원 춘계 학술세미나 자료집

[12] 최 호, 정보범죄의 현황과 제도적 처방안, 한국형사정책연구원 1998.

[13] , メ-ル の に 關する , 2003.

[14] AIC, Preventing Spam, AICrime Reduction Matters, N.35. 2005.

[15] Andenaes, Punishment and Deterrence. 1974.

[16] Council of European Union(1996), Council Resolution of 17 January 1995 on

the lawful interception of telecommunication: Official Journal C 329, 4

November 1996, 0001-0006.

[17] P. Grabosky/R.G Smith, Crime in the Digital Age: Controlling

Telecommunications and Cyberspace Illegalities, Federation Press, 1998.

[18] 정보통신부, 한국정보보호진흥원, 인터넷 상의 개인정보보호를 위한 가이드북, 2005.

[19] 한국정보보호진흥원, 2005년 개인정보 피해구제 및 상담 사레분석, 2005.

158 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

참 고 문 헌

[부록 1] 온라인게임정보보호협의회구성

[부록 2] 온라인게임사용자10 정보보호

수칙

[부록 3] 해킹∙바이러스방지체크리스트

부록

+

+

+

+

Page 82: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

부 록

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응

온라인게임해킹 응가이드 │ 161

부록

▶ 운 위원회

�의 장 : 한국정보보호진흥원 인터넷침해사고 응지원센터 김우한 본부장

�부의장 : (주)엔씨소프트 곽순욱 상무

▶ 실무위원회 : 한국정보보호진흥원과 9개 게임업체로 구성

▶ 회원사 현황

160 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

1. OS의 보안패치를 주기적으로 하고, 자동 업데이트 기능 사용하기

: 부분의 바이러스 등의 악성 프로그램과 해킹사고는 Windows OS의 취약점을 이용

하여 감염되고 전파됩니다. 따라서, 안전한 게임 사용을 위해서는 Windows의 보안패

치는 필수적입니다.

2. 게임 계정의 암호는 문/숫자 혼합하여 8자리 이상으로 사용하고, 주기적으로

변경하기

: 게임 계정의 암호는 외부의 사용자가 유추할 수 없도록 문/숫자를 혼합하여 사용하

도록 하고, 주기적으로 변경하여 사용하는 것이 좋습니다.

3. 게임업체에서 제공하는 보안 프로그램 및 서비스 사용하기

: 부분의 온라인 게임업체에서는 해킹 툴을 탐지할 수 있는 보안 프로그램을 제공하

고 있습니다. 또한, 암호 변경 시 등록된 핸드폰으로 문자메시지가 전달되는 등의 보

안 서비스를 제공하는 경우도 있습니다. 안전한 게임 이용을 위해 게임 업체에서 제공

하는 보안 프로그램 및 서비스를 사용하는 것이 좋습니다.

4. 온라인 게임의 계정정보 등을 외부에 공개하지 않기

: 다른 게임 사용자나 게임 관리자 또는 업체를 사칭하는 사람에게 게임 계정의 암호를

공개하지 않습니다. 게임 운 자는 사용자에게 계정정보 등의 개인정보를 요구하지

않습니다.

5. 의심스런 메일은 열어보지 않기

: 해킹 툴 등의 악성 프로그램이 메일을 통해 전파되는 경우가 많으므로, 의심스런 메일

을 읽지 말고 삭제하도록 합니다.

[부록 2] 온라인 게임 사용자 10 정보보호 수칙[부록 1] 온라인 게임 정보보호 협의회 구성

구 분 회 사 명

게임업체

(15)

(주)네오위즈, 넥슨, 액토즈소프트, (주)엠게임, 조이온, 웹젠, CJ인터넷 주식회사,

(주)엔씨소프트, NHN(주), 재미인터렉티브, (주)데이타웨이엔지니어링,

(주)베토인터랙티브, 태울엔터테인먼트, 한빛소프트, (주)제이씨엔터테인먼트

정부기관

(3)정보통신부, 검찰청, 경찰청 사이버테러 응센터

유관기관

(3)한국정보보호진흥원, 한국인터넷진흥원, 한국소프트웨어진흥원

유관협회

(3)한국게임산업협회, 첨단게임산업협회, 한국정보보호산업협회

보안업체

(4)안철수연구소, 잉카인터넷, 인포섹, (주)A3시큐리티컨설팅

Page 83: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

부 록

제5 장 내부 시스템 보안 제6 장 고객 정보보호 제7 장 침해사고 응

온라인게임해킹 응가이드 │ 163

부록

162 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

[부록 3] 해킹∙바이러스 방지 체크리스트

분류 체크리스트 항목 비고

윈도우즈

시스템

마이크로소프트의 보안공지 메일서비스에 가입하 는가 ?

최신의 서비스팩 및 핫픽스를 모두 설치하 는가 ?

관리 공유폴더를 제거하 는가 ?

적절한 로컬 보안 정책을 설정하 는가 ?

- 암호, 계정 잠금, 감사, 사용자 권한, 보안옵션 등

적절한 사용자 계정 관리 및 정책을 설정

- Administrator 계정 이름을 변경하 는가 ?

- 패스워드 길이를 최소 7자리로 설정하 는가 ?

- Guest 계정을 사용중지 했는가 ?

불필요한 서비스를 제거 하 는가 ?

하드 디스크를 NTFS 로 포맷하 는가 ?

NTFS에 하여 적당한 ACLs를 설정하 는가?

리눅스

시스템

사용하지 않는 서비스를 제거하 는가 ?

최신버전의 S/W 및 패치를 설치하 는가 ?

불필요한 SUID/SGID 파일의 권한을 변경하 는가 ?

사용자 계정 및 암호관리

- 불필요한 계정을 제거 하 는가 ?

- 안전하지 않은 패스워드의 사용을 관리하고 있는가 ?

시스템 보안을 위한 커널 파라미터 설정을 했는가 ?

웹 서버

(아파치)

일반계정(nobody 또는 apache) 권한으로 웹 서버가 실행되도록 설정하 는가 ?

디렉토리 리스팅 방지를 위한 설정을 하 는가 ?

심볼릭 링크 사용 방지를 위한 설정을 하 는가 ?

SSI(Server Side Include) 사용을 제한하 는가 ?

mod_security 모듈 설치 및 활용하고 있는가 ?

웹 서버

(IIS)

IIS 서버 운 을 위한 최소한의 서비스만 설치하 는가 ?

IIS 샘플디렉토리를 삭제 하 는가 ?

필요한 응용프로그램 맵핑만을 설정 하 는가 ?

IIS Log Files에 한 ACL은 적절하게 설정 되어 있는가?

SSL을 사용하기 위한 IIS 설정을 하 는가 ?

6. 일정한 장소에서 게임 접속하기

: 게임방 등과 같이 불특정 다수가 컴퓨터를 사용하는 장소에서 계정정보 유출 등의 문

제가 많이 발생하므로 가능한 일정한 장소에서 게임을 하는 것이 좋습니다.

7. 온라인 게임 해킹 툴을 사용하지 않기

: 인터넷에서 구할 수 있는 온라인 게임 해킹 툴을 통해 악성 프로그램에 감염될 수 있

으며, 이를 통해 계정정보 등이 외부로 유출될 수 있습니다. 안전한 게임 이용을 위해

서는 게임 해킹 툴을 사용하지 않습니다.

8. 의심스런 홈페이지에 정보 입력하지 않기

: 온라인 게임 관련 홈페이지로 위장한 가짜 홈페이지를 통해 계정정보 등이 유출되는

사고가 발생하고 있습니다. 의심스런 홈페이지에서는 정보를 입력하지 않으며, 해당

게임업체로 문의하여 확인을 합니다.

9. 정품 소프트웨어 사용하기

: 인터넷을 통해 불법 소프트웨어를 다운로드 받아 설치하는 경우, 이를 통해 악성 프로

그램에 감염될 수 있습니다. 정품 소프트웨어를 사용하고 공개용 프로그램을 설치하

는 경우, 해당 소프트웨어의 개발업체 홈페이지를 통해 다운로드 받습니다.

10. 중요 자료는 주기적으로 백업하기

: 컴퓨터에 있는 중요 자료들은 주기적으로 별도로 보관을 하여 컴퓨터를 안전하게 사

용할 수 있도록 관리합니다.

Page 84: 2006 - Tistorycfs3.tistory.com/upload_control/download.blog?fhandle=... · 2015-01-22 · 2005년온라인게임시장규모가1조4,644억원으로2004년의1조2,061억원에비해

164 │ www.kisa.or.kr

제1 장 개요 제2 장 온라인 게임 서비스 및 보안 현황 제3 장 개발 시 보안 책 제4 장 게임 서비스 보안 관리

2006년 6월 인쇄

2006년 6월 발행

발행인 이홍섭

발행처 한국정보보호진흥원

서울시 송파구 가락동 78번지 IT벤처타워(서관)

TEL. (02)4055-114, http://www.kisa.or.kr

인쇄처 호정씨앤피(Tel 02-2277-4718)

※ 본 책자 내용의 무단전재를 금하며, 가공∙인용할 때에는 반드시 한

국정보보호진흥원『온라인게임 해킹 응 가이드』라고 출처를

밝혀주시기 바랍니다.

온라인게임 해킹 대응 가이드

분류 체크리스트 항목 비고

메일

서버

메일의 첨부파일 사이즈를 제한하고 있는가 ?

한번에 발송 가능한 참조 발송자를 제한하고 있는가 ?

메일 중계(relay) 기능 제한 설정을 하 는가 ?

버전정보 공개를 제한하 는가 ?

DNS

서버

recursion 기능을 제한하 는가 ?

zone-transfer를 제한하고 있는가 ?

버전정보 공개를 제한하 는가 ?

보안시스템

바이러스 백신 설치 및 운

- 모든 직원 사용자 PC에 설치하 는가 ?

- 실시간 감시/자동 업데이트/이메일 감시 기능을 설정하여 사용하고 있는가 ?

또는 바이러스월(서버용 백신)을 운 하고 있는가 ?

침입차단시스템을 설치 운 하고 있는가 ?

라우터

네트워크 장비의 OS를 최신버전으로 설치하 는가 ?

네트워크 장비로의 접근 통제

- 콘솔/AUX/VTY 포트 패스워드를 설정하 는가 ?

- enable 패스워드를 설정하 는가 ?

- 접속 가능한 사용자/시스템에 한 ACL을 설정하 는가?

불필요한 프로토콜/서비스를 제거하 는가 ?

- ICMP관련 서비스, Source Routing, Small Services

IP 주소 위조 방지 수단을 사용하 는가 ?

- 사설 IP 주소 차단

- uRPF 사용

라우팅 프로토콜 인증 설정을 하 는가 ?

- RIPv2, EIGRP, OSPF, BGP 등

ACL로 차단된 트래픽을 로깅하고 관리하고 있는가 ?

스위치

가상 LAN(VLAN)을 구성하여 운 하는가 ?

Port Security 기능을 설정하 는가 ?

ARP Inspection 기능을 설정하 는가 ?