Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
/ 99
메이플스토리 사례를 통해 살펴보는
서버사이드 봇/핵 탐지 시스템
InfoSec Team, 넥슨 아메리카
강병탁 (btkang@nexon.net)
/ 99
이 세션은
백엔드/프론트엔드 개발에 촛점을 맞춥니다.
운영상 발생하는 프로세스에 촛점을 맞춥니다.
만든 시스템을 실전에서 지속적으로 유지할 수 있는지에 중점을 두었습니다.
/ 99
Agenda
1. 현업에서 느끼는 현실적인 제약
2. 한계를 극복하기 위한 디자인과 구조
3. 메이플스토리 도입 사례
4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화
/ 99
발표자 소개
강병탁 (btkang@nexon.net , window31)
-현재 : 넥슨 아메리카 – InfoSec team 팀장
-과거 : 넥슨 코리아 – 게임보안팀 팀장
-월간 마이크로소프트웨어 해킹/보안 ...
/ 99
Agenda
1. 현업에서 느끼는 현실적인 제약
2. 한계를 극복하기 위한 디자인과 구조
3. 메이플스토리 도입 사례
4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화
5
/ 99
더 설명하기 이젠 지겨우므로 가볍게 스킵…
대한민국 Active-X 와 상황이 비슷
클라이언트 보안의 한계
빈대 잡으려다 초가삼간 다 태운다
해커 정상유저 작살낸다
6
/ 99
세상이 어느 세상인데 아직도 클라이언트 사이드에서 보안하나요?
우리도 서버 사이드 탐지 시스템 하나 만들죠! 우리도 그정도는 될수있어요!
우리도 서버로 갑시다
7
특전사가 될거라면…
이정도 포스는
보여야 되는거...
/ 99
하지만 정작 현실은…
8
/ 99
서버 사이드 탐지 시스템은 이상론에 불과한 것인가?
(송중기 같은 군인이 현실에 존재하지 않는 이유?)
먼저 문제점을 환기해 보고, 해결 방법을 고민해 보았습니다.
단골로 고민하는 문제
9
/ 99
로그 분석의 악몽
10
/ 99
일단 로그가 너무 많다.데이터 핸들링 문제
11
/ 99
그래서 DB Job 이 도는데 보통은 하루에 한번이다.
해커는 핵을 써도 하루 정도는 안전하다
실시간 BAN 문제
12
나, 하루살이!
하루 정도는
살수있지
후훗.
/ 99
오탐! 자동 BAN 의 신뢰성 문제
13
나
터미네이터는
존 코너를
보호한다.
내가
존 코너야
ㅄ아!
/ 99
스레시홀드를 바꾸려고 할 때
단지, 10을 5로 바꾸고 싶을 뿐인데!
탐지 기준값 변경이 번거로운 문제
14
그거 바꾸려면 빌드
다시해야 되는데요?
빨라도 다음주에
나갑니다…
이미 3일은 못잔 포스….
개발자
/ 99
if (dwDeathCount > 10)
{
//
DoBAN();
}
하드코딩의 악몽
15
/ 99
그래서 DB 의 SP 로 처리하는 케이스가 많지만
16
/ 99
역시 피폐한 DBA 들…
17
개발팀이 하던일이 DB팀으로 옮겨갔을 뿐…
(운영팀 입장)
또 SP 내용 바꿔달라고요?
지난번엔 10에서 5로
바꿔달라더니
이번엔 5에서 7로…
DBA
DBA 도 이미 3일은 못잔...
/ 99
웹 운영툴이 가진 일반적인 문제
18
사용자가 원한 것 개발자가 만들어 준 것
/ 99
모 게임의 오토밴 시스템
19
/ 99
데이터분석 전문가들의 등장
20
/ 99
하지만, 그걸 본 운영팀의 반응
21
/ 99
서버사이드 탐지 시스템을 개발할 때 항상 겪는 문제
이것은 개발팀의 일인가?
DB팀/데이터분석팀의 일인가?
보안팀의 일인가?
운영팀의 일인가?
누가 개발의 주체가 될 것인가?
22
/ 99
기술 자체에 너무 몰입하지 말자.
해킹방어는 속도가 생명이다. 일단 속도개선에 중점을 둬보자.
각 팀은 당연히 저마다 가진 사정이 있을 수밖에 없다. 최대한 다양한
팀의 이야기를 들어보자.
누군가 끌어가는 사람...
/ 99
실무 팀과의 형식적인 “회의” 말고 실질적인 “인터뷰”를 거쳐서
그들이 힘든 점이 무엇인지 얻어내는 작업을 먼저 거쳤습니다.
개선하기 위해
24
/ 99
Agenda
1. 현업에서 느끼는 현실적인 제약
2. 한계를 극복하기 위한 디자인과 구조
3. 메이플스토리 도입 사례
4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화
25
/ 99
운영팀이 빡친 이유
26
일일히 데이터를
요청해야하고
값만 하나 바꾸고 싶을
뿐인데
너무 오래 걸려요
나 보안팀…
마음만은 송중기
나 운영팀…
/ 99
개발/DB팀이 빡친 이유
27
너무 요청이 자주 오고
구조상 시간이 오래
걸릴 수밖에 없는데
이해를 잘 안해줘요 나 보안팀…
마음만은 송중기
나 개발/DB팀…
/ 99
데이터분석/DB팀이 빡친 이유
28
로그 가져오는데
걸리는 시간이
이루말할 수 없는
고통입니다 나 보안팀…
마음만은 송중기
나 데이터분석/DB팀…
/ 99
먼저– 로그수집 속도, 분석속도를 높히자
29
- 운영팀이 개발/DB팀에 요청하는 시간
- 개발/DB팀이 로그를 뽑는시간 + 복사하는 시간
- 그걸 다시 운영팀이 다시 복사하는 시간
- 액셀에 넣고 삽질하는 시간
/ 99
파이썬과 자동화
30
보통 자동화/로그파싱 하면
일단 떠올리는 것은 파이썬
/ 99
But, 로그 파싱의 악몽
31
이..이제
그만!!!!!
/ 99
스플렁크를 선택한 이유
32
스플렁크 찬양적인 영업적인 이야기 다 버리고, 순수하게 장점만 언급
1) 로그 수집이 자동으로 된다 (서버에 에이전트 하나만 심으면)
2) 로그 파싱을 알아서 해준다 (파서를 따로 ...
/ 99
Universal Forwarder
33
서버가 몇개가 어디에 있던 로그수집이 실시간으로 된다.
더이상 개발팀/DB팀에 문의하지 않아도 된다.
/ 99
따라서 이런 로그도 그냥 스플렁크에 넣어버리면,
34
/ 9935
1시간이면 이런 그래프 제작 가능
/ 99
Example
36
N|*|4112|20160418|174836|Illegal ExclRequestTime
Name|AID=32988208|CID=8594518|NAME=lLokzoX|LEV=22
5|JOB=4...
/ 99
스플렁크에 넣고나면
37
/ 99
그래서 이렇게 그래프도 쉽게 만들었습니다
38
/ 99
이렇게 해서 나오는 애들은 바로 핵/봇 이예요!
39
index=gpt-ms sourcetype=maplestory:DetectedHack
+ 블라블라블라~
링크만 그냥 전달하면 다른 사람도 쉽게 볼 수 있다.
/ 99
계정 밴을 할 최종 리스트
40
/ 99
어떤 점이 이득이었는지
41
데이터 수집
로그 파싱
시각화, 그래프화
3개가 해결되었습니다.
/ 99
하지만 여기서부터 수작업으로 연결되는 문제
42
액셀에서 결과 추출하여 DB 팀에 BAN 날려달라고 요청
또는 운영툴에서 하나씩 복사해가며 부정이용자 블럭 시작
/ 99
그 과정을 한번 자동화 해봅시다
43
스플렁크
쿼리 입력
부정 사용자
액셀로 추려냄
대량 제재
버튼 클릭
DB 로
BAN 수행
스플렁크
쿼리 자동 입력
NexonABS 백엔드 서버
부정 사용자
메모리에 추려냄
...
/ 99
Splunk Python API
44
/ 99
실시간 계정 차단 수행
45
하루살이 해커(24시간 살이 해커) 박멸!
10분마다 핵/봇은 짤려나간다
/ 99
다음 과제 – 컨트롤 능력을 높히자
46
이 화면이
기억나시나요?
/ 99
우리도 이제 이렇게 많은 쿼리들이…
47
No Rule
1 index=gpt-ms sourcetype=maplestory:DetectedHack | search "Running Multiple Instances...
/ 99
우리도 웹 운영툴 하나 만듭시다
48
오픈소스, Bootstrap, SB Admin 2
빠른 시간 내에 웹 프론트엔드 개발을
할 수 있음
요즘 대세인 웹 프레임워크
역시 목표는 시간절약!
/ 99
웹 운영툴 (SOC)
49
/ 99
이 페이지 기억하시나요?
50
이런 일이 발생하는
이유는?
/ 99
다시한번 실제 운영하는 쪽과 인터뷰를,
51
우린 블럭작업 할때
이르케 이르케 해여~
요런 요런 순서대로 해요
그게 몸에 익었거든요 나 보안팀…
마음만은 송중기
나 운영팀…
/ 99
즉, 현재의 프로세스를 그대로 운영툴에 반영하자
52
스플렁크에서
데이터 조회
타 서버로그에서
더블 체크
최종 쿼리
뽑아냄
요 스플렁크 쿼리를 던져서 나오는 애들은 BAN 시켜도 됩니다
/ 9953
/ 9954
/ 9955
/ 9956
자, 이제서야 컨트롤이 되는군요!
A조건으로
차단
B조건으로
차단
C조건으로
차단
D조건으로
차단
개발팀 재빌드나
DB 팀 SP 수정 없이
차단 수위를 조절할 수
있게 되었습니다!
/ 99
다음 고민, 누가 운영의 주체가 될 것인가?
57
이 페이지
기억나시는지요?
/ 99
그럼 이제 누가 사용할래? 유지보수는 어떻게 하지?
이것은 개발팀의 일인가?
DB팀/데이터분석팀의 일인가?
보안팀의 일인가?
운영팀의 일인가?
다시 그 질문으로 돌아오게 됩니다
58
/ 99
오진이 발생하는 것을 보면 점점 귀찮고 짜증이 나게 됨
하다보면 좀더 정밀한 검토를 필요로 하게 되는 로그가 꼭 튀어나옴
하지만 고쳐도 고쳐도 끝이 없음, 결국 하게되는 말은,
“자동밴 버튼 누르기 전에 운영팀...
/ 99
결국 운영팀은 버튼을 누르지 않음
60
Auto-BAN
정말
눌러도
되는
걸까?
?!!
/ 99
이것이 바로 시스템이 방치되는 이유
61
오탐이 많아서
못 쓰겠어요
고치기도 힘든것 같고
그냥 안써요
나 보안팀…
여전히 마음만은 송중기
나 운영팀…
/ 99
그래서 다시한번 조사했습니다.
62
수동으로 BAN
날리시기 전에 뭐뭐
체크하세요?
뭘 체크해야
믿고 BAN 날리나요?
나 보안팀…
여전히 마음만은 송중기
나 운영팀…
/ 99
운영팀이 하는 체크로직들.
이정도 체크가 되면
운영팀은 안심하고 BAN 을
날릴 수 있다.
리스트를 뽑았으니,
63
/ 99
그럼 그것도 자동화를 해보죠
64
스플렁크
쿼리 입력
부정 사용자
액셀로 추려냄
대량 제재
버튼 클릭
DB 로
BAN 수행
스플렁크
쿼리 자동 입력
NexonABS 백엔드 서버 10분 루프
부정 사용자
메모리에...
/ 99
그리고 화이트리스트 룰은 운영팀이 만드세요
65
.
.
/ 99
개발팀 : 소스코드에 하드코딩된거 고치기 싫어!누가 웹 운영툴좀 만들어줘!
DB/데이터분석팀 : 데이터 수집하는 시간과 분석하는 시간 단축해줘!
운영팀 : 우리가 직접 룰조정 할 수 있게 해줘! 오진을 없애줘!...
/ 99
Agenda
1. 현업에서 느끼는 현실적인 제약
2. 한계를 극복하기 위한 디자인과 구조
3. 메이플스토리 도입 사례
4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화
67
/ 99
• 넥슨 아메리카 최장수 게임
• 봇들과 핵이 많은 상태, 3rd party 보안회사의 클라이언트 사이드의
보안시스템은 효과가 거의 없던 상태
• 이미 현존하는 많은 게임서버 로그가 있었지만 활용도가 낮았던 상...
/ 99
NexonABS 도입 진행
69
프론트엔드, 백엔드 개발 시간이 최초엔 어느 정도 소요되었음 (총 3개월)
미국법인에서 NexonABS 를 붙히게 된 최초의 게임
현재 총 53개의 룰이 있고, 유동적으로 on/...
/ 99
운영팀의 빠른 솔로 플레이가 가능해짐
70
새로운 룰 작성 : 직접 처리
스레시홀드 조정 : 직접 처리
BAN 결정 : 직접 처리
롤백 : 직접 처리
개발팀과 DB 팀도 시간적 여유가 생김
/ 99
Example
71
ABS Rule 51: MVAC (Monster Vac)
Description: Rule designed to detect illegal forced monster
movements (a.k...
/ 99
운영팀 스스로 제안 가능
72
“ 3번 룰에 대해 운영팀 내에서
탐지 감도를 여러 차례 바꿔가며
1주일간 로깅 상태로 지켜봤습니다.
이대로 자동BAN으로 전환해도
괜찮을 것 같습니다.
찬성하시는지요? ”
/ 99
빠르고 간편한 만장일치 프로세스
73
마케팅팀
개발팀
보안팀
/ 99
유연한 정책
74
In-Game 이벤트 때는 운영팀 스스로
OFF 가능
때로는 마케팅 팀에서 잠시 BAN 을
멈추자고 제안할때도 즉시 처리 가능
/ 99
한참 피크 때에 하루 최고 BAN 횟수
75
OVER 10,000
/ 99
고객센터 오탐관련 불만 티켓 접수건
76
ZERO
/ 99
안정되고 있는 게임 경제
77
/ 99
메이플스토리 공식 보안 프로덕트로 인정받음
78
물론 이런 상을 받은건
아닙니다…
/ 99
Agenda
1. 현업에서 느끼는 현실적인 제약
2. 한계를 극복하기 위한 디자인과 구조
3. 메이플스토리 도입 사례
4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화
79
/ 99
“로그 파싱하려면 또 …………”
“운영툴 또 만드려면 …………”
“게임마다 특성이 달라서…………”
결론 : “시간을 많이주면 가능합니다만,
현재는 어쨌든 불가능합니다”
사람들이 싫어하는 발언 : 아쉽지만 저희
...
/ 99
하나의 웹 운영툴 안에서 전체 게임을 관리할 수 있었으면 좋겠다.
백엔드 서버를 게임별로 두지 말고 하나의 프로세스 안에서 여러
게임을 핸들링 했으면 좋겠다.
BAN, KICK 등의 API 를 통일했으면 좋겠다...
/ 99
좋은 말로, “어떤 게임이든 연동 가능하도록 플랫폼 화 되어 있습니다”
나쁜 말로, “찍어내기 가능합니다”
Bootstrap 과 Splunk 를 쓴 장점
82
/ 99
작업 시간 비교
83
최초 개발시 추가 게임 확장시
프론트엔드 개발 약 2개월 1-2일
백엔드 개발 약 2개월 2-3일
/ 99
여러 게임 동시 관리
84
/ 99
보안솔루션이 너무 많은 사람들의 걱정
85
/ 99
DB 팀이 싫어하는 것
86
A시스템도 BAN 만들어
달라고 하고
B 시스템도 BAN
만들어 달라고 하고
님들아 제발 통일좀…
나 보안팀…
여전히 마음만은 송중기
나 DB팀…
/ 99
네트워크팀이 싫어하는 것
87
A시스템도 IP 뚫어
달라고 하고
B 시스템도 IP 뚫어
달라고 하고…
한군데서 좀 하시져~
나 보안팀…
여전히 마음만은 송중기
나 네트워크팀…
/ 99
먼저, 넥슨코리아 게임보안팀의 NGS
88
/ 99
네오플 보안팀의 자체 개발 시스템도 합체
89
/ 99
네트워크/인프라 보안 시스템,
침입탐지시스템 (방화벽, IDS, IPS) 등과도 로그 결합 가능
인증대입공격 (Brute Force) 의 예제
네트워크 보안 로그도 가능할까요?
90
/ 9991
/ 99
어떤 시스템이든 연동가능
92
/ 99
신규 게임 런칭시, 공식 프로세스로 선정
93
“NexonABS 는 넥슨 아메리카 신규 게임 런칭시
반드시 탑재하고 가야 하는 필수 시스템입니다”
신규 개발사에 공식전달하는 문구
/ 99
개발팀을 위한 로그 포맷 가이드 추가
94
/ 99
처음에는 메이플스토리에만 붙히느라
급급했지만
추후에는 타 게임에도 사용할 수 있도록
기능을 API 화 시키고 정밀도도 상승
시간이 지나며 성숙도 상승
95
/ 99
데이터분석 – Investigation Team, DB 팀, 각 게임 개발팀
스플렁크 연동 – DB팀
API 연동 – DevOps 팀
타 시스템 연동 – 넥슨코리아 게임보안팀, 네오플 CERT 팀
운영팀 실태,...
/ 99
유동규 (Sr. Security Engineer from NxA InfoSec Team)
백엔드 개발, 스플렁크 데이터 핸들링, 로그 디자인
프로젝트 참가자 – Thanks for the team !
97
최해...
/ 99
감사합니다.
Agenda
1. 현업에서 느끼는 현실적인 제약
2. 한계를 극복하기 위한 디자인과 구조
3. 메이플스토리 도입 사례
4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화
Upcoming SlideShare
Loading in …5
×

메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템

11,418 views

Published on

메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템

Published in: Software
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템

  1. 1. / 99 메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템 InfoSec Team, 넥슨 아메리카 강병탁 (btkang@nexon.net)
  2. 2. / 99 이 세션은 백엔드/프론트엔드 개발에 촛점을 맞춥니다. 운영상 발생하는 프로세스에 촛점을 맞춥니다. 만든 시스템을 실전에서 지속적으로 유지할 수 있는지에 중점을 두었습니다.
  3. 3. / 99 Agenda 1. 현업에서 느끼는 현실적인 제약 2. 한계를 극복하기 위한 디자인과 구조 3. 메이플스토리 도입 사례 4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화
  4. 4. / 99 발표자 소개 강병탁 (btkang@nexon.net , window31) -현재 : 넥슨 아메리카 – InfoSec team 팀장 -과거 : 넥슨 코리아 – 게임보안팀 팀장 -월간 마이크로소프트웨어 해킹/보안 칼럼 작가 (2010 ~ 2012) -“리버스 엔지니어링 바이블” 작가
  5. 5. / 99 Agenda 1. 현업에서 느끼는 현실적인 제약 2. 한계를 극복하기 위한 디자인과 구조 3. 메이플스토리 도입 사례 4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화 5
  6. 6. / 99 더 설명하기 이젠 지겨우므로 가볍게 스킵… 대한민국 Active-X 와 상황이 비슷 클라이언트 보안의 한계 빈대 잡으려다 초가삼간 다 태운다 해커 정상유저 작살낸다 6
  7. 7. / 99 세상이 어느 세상인데 아직도 클라이언트 사이드에서 보안하나요? 우리도 서버 사이드 탐지 시스템 하나 만들죠! 우리도 그정도는 될수있어요! 우리도 서버로 갑시다 7 특전사가 될거라면… 이정도 포스는 보여야 되는거 아닌지…
  8. 8. / 99 하지만 정작 현실은… 8
  9. 9. / 99 서버 사이드 탐지 시스템은 이상론에 불과한 것인가? (송중기 같은 군인이 현실에 존재하지 않는 이유?) 먼저 문제점을 환기해 보고, 해결 방법을 고민해 보았습니다. 단골로 고민하는 문제 9
  10. 10. / 99 로그 분석의 악몽 10
  11. 11. / 99 일단 로그가 너무 많다.데이터 핸들링 문제 11
  12. 12. / 99 그래서 DB Job 이 도는데 보통은 하루에 한번이다. 해커는 핵을 써도 하루 정도는 안전하다 실시간 BAN 문제 12 나, 하루살이! 하루 정도는 살수있지 후훗.
  13. 13. / 99 오탐! 자동 BAN 의 신뢰성 문제 13 나 터미네이터는 존 코너를 보호한다. 내가 존 코너야 ㅄ아!
  14. 14. / 99 스레시홀드를 바꾸려고 할 때 단지, 10을 5로 바꾸고 싶을 뿐인데! 탐지 기준값 변경이 번거로운 문제 14 그거 바꾸려면 빌드 다시해야 되는데요? 빨라도 다음주에 나갑니다… 이미 3일은 못잔 포스…. 개발자
  15. 15. / 99 if (dwDeathCount > 10) { // DoBAN(); } 하드코딩의 악몽 15
  16. 16. / 99 그래서 DB 의 SP 로 처리하는 케이스가 많지만 16
  17. 17. / 99 역시 피폐한 DBA 들… 17 개발팀이 하던일이 DB팀으로 옮겨갔을 뿐… (운영팀 입장) 또 SP 내용 바꿔달라고요? 지난번엔 10에서 5로 바꿔달라더니 이번엔 5에서 7로… DBA DBA 도 이미 3일은 못잔 포스….
  18. 18. / 99 웹 운영툴이 가진 일반적인 문제 18 사용자가 원한 것 개발자가 만들어 준 것
  19. 19. / 99 모 게임의 오토밴 시스템 19
  20. 20. / 99 데이터분석 전문가들의 등장 20
  21. 21. / 99 하지만, 그걸 본 운영팀의 반응 21
  22. 22. / 99 서버사이드 탐지 시스템을 개발할 때 항상 겪는 문제 이것은 개발팀의 일인가? DB팀/데이터분석팀의 일인가? 보안팀의 일인가? 운영팀의 일인가? 누가 개발의 주체가 될 것인가? 22
  23. 23. / 99 기술 자체에 너무 몰입하지 말자. 해킹방어는 속도가 생명이다. 일단 속도개선에 중점을 둬보자. 각 팀은 당연히 저마다 가진 사정이 있을 수밖에 없다. 최대한 다양한 팀의 이야기를 들어보자. 누군가 끌어가는 사람 PM 롤이 필요하다 마지막으로, 정작 이것을 사용하는 팀의 입장에서 생각해 보자. 문제점 요약 23
  24. 24. / 99 실무 팀과의 형식적인 “회의” 말고 실질적인 “인터뷰”를 거쳐서 그들이 힘든 점이 무엇인지 얻어내는 작업을 먼저 거쳤습니다. 개선하기 위해 24
  25. 25. / 99 Agenda 1. 현업에서 느끼는 현실적인 제약 2. 한계를 극복하기 위한 디자인과 구조 3. 메이플스토리 도입 사례 4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화 25
  26. 26. / 99 운영팀이 빡친 이유 26 일일히 데이터를 요청해야하고 값만 하나 바꾸고 싶을 뿐인데 너무 오래 걸려요 나 보안팀… 마음만은 송중기 나 운영팀…
  27. 27. / 99 개발/DB팀이 빡친 이유 27 너무 요청이 자주 오고 구조상 시간이 오래 걸릴 수밖에 없는데 이해를 잘 안해줘요 나 보안팀… 마음만은 송중기 나 개발/DB팀…
  28. 28. / 99 데이터분석/DB팀이 빡친 이유 28 로그 가져오는데 걸리는 시간이 이루말할 수 없는 고통입니다 나 보안팀… 마음만은 송중기 나 데이터분석/DB팀…
  29. 29. / 99 먼저– 로그수집 속도, 분석속도를 높히자 29 - 운영팀이 개발/DB팀에 요청하는 시간 - 개발/DB팀이 로그를 뽑는시간 + 복사하는 시간 - 그걸 다시 운영팀이 다시 복사하는 시간 - 액셀에 넣고 삽질하는 시간
  30. 30. / 99 파이썬과 자동화 30 보통 자동화/로그파싱 하면 일단 떠올리는 것은 파이썬
  31. 31. / 99 But, 로그 파싱의 악몽 31 이..이제 그만!!!!!
  32. 32. / 99 스플렁크를 선택한 이유 32 스플렁크 찬양적인 영업적인 이야기 다 버리고, 순수하게 장점만 언급 1) 로그 수집이 자동으로 된다 (서버에 에이전트 하나만 심으면) 2) 로그 파싱을 알아서 해준다 (파서를 따로 개발할 필요가 없다) 3) 그래프를 매우 쉽게 그릴 수 있다 (웹 대시보드를 개발할 필요가 없다) 즉, 시간절약을 해 준다. 괜한 개발이슈가 생기지 않아서 좋다
  33. 33. / 99 Universal Forwarder 33 서버가 몇개가 어디에 있던 로그수집이 실시간으로 된다. 더이상 개발팀/DB팀에 문의하지 않아도 된다.
  34. 34. / 99 따라서 이런 로그도 그냥 스플렁크에 넣어버리면, 34
  35. 35. / 9935 1시간이면 이런 그래프 제작 가능
  36. 36. / 99 Example 36 N|*|4112|20160418|174836|Illegal ExclRequestTime Name|AID=32988208|CID=8594518|NAME=lLokzoX|LEV=22 5|JOB=412|FID=211041700|Now=4633069|LastRequestWait End=4632589|Gap=480|Duration=500|Count=1|
  37. 37. / 99 스플렁크에 넣고나면 37
  38. 38. / 99 그래서 이렇게 그래프도 쉽게 만들었습니다 38
  39. 39. / 99 이렇게 해서 나오는 애들은 바로 핵/봇 이예요! 39 index=gpt-ms sourcetype=maplestory:DetectedHack + 블라블라블라~ 링크만 그냥 전달하면 다른 사람도 쉽게 볼 수 있다.
  40. 40. / 99 계정 밴을 할 최종 리스트 40
  41. 41. / 99 어떤 점이 이득이었는지 41 데이터 수집 로그 파싱 시각화, 그래프화 3개가 해결되었습니다.
  42. 42. / 99 하지만 여기서부터 수작업으로 연결되는 문제 42 액셀에서 결과 추출하여 DB 팀에 BAN 날려달라고 요청 또는 운영툴에서 하나씩 복사해가며 부정이용자 블럭 시작
  43. 43. / 99 그 과정을 한번 자동화 해봅시다 43 스플렁크 쿼리 입력 부정 사용자 액셀로 추려냄 대량 제재 버튼 클릭 DB 로 BAN 수행 스플렁크 쿼리 자동 입력 NexonABS 백엔드 서버 부정 사용자 메모리에 추려냄 DB 로 BAN SP 호출 10분에 한번 수행
  44. 44. / 99 Splunk Python API 44
  45. 45. / 99 실시간 계정 차단 수행 45 하루살이 해커(24시간 살이 해커) 박멸! 10분마다 핵/봇은 짤려나간다
  46. 46. / 99 다음 과제 – 컨트롤 능력을 높히자 46 이 화면이 기억나시나요?
  47. 47. / 99 우리도 이제 이렇게 많은 쿼리들이… 47 No Rule 1 index=gpt-ms sourcetype=maplestory:DetectedHack | search "Running Multiple Instances of MapleStory" | rex *********************************>w+)" | stats count AS DetectCount by AID 2 index=gpt-ms sourcetype=maplestory:DetectedHack | search "Illegal ExclRequestTime" | stats count as DetectCount by AID 3 index=gpt-ms AND sourcetype="maplestory:Macro" AND "Invalid User Action Position - Type:0" | stats count(ACCOUNTID) *********************************, WORLD, DetectCount | sort – DetectCount 4 index=gpt-ms sourcetype=maplestory:Macro "WARP - Illegal UserWarp Tried"| stats *********************************, WORLD, DetectCount | sort - DetectCount 40 index=gpt-ms AND sourcetype="maplestory:Macro" AND "Invalid User Action Position - Type:0" | stats count(ACCOUNTID) *********************************, WORLD, DetectCount | sort – DetectCount 41 index=gpt-ms sourcetype=maplestory:Macro "WARP - Illegal UserWarp Tried"| stats *********************************, WORLD, DetectCount | sort - DetectCount ………………..
  48. 48. / 99 우리도 웹 운영툴 하나 만듭시다 48 오픈소스, Bootstrap, SB Admin 2 빠른 시간 내에 웹 프론트엔드 개발을 할 수 있음 요즘 대세인 웹 프레임워크 역시 목표는 시간절약!
  49. 49. / 99 웹 운영툴 (SOC) 49
  50. 50. / 99 이 페이지 기억하시나요? 50 이런 일이 발생하는 이유는?
  51. 51. / 99 다시한번 실제 운영하는 쪽과 인터뷰를, 51 우린 블럭작업 할때 이르케 이르케 해여~ 요런 요런 순서대로 해요 그게 몸에 익었거든요 나 보안팀… 마음만은 송중기 나 운영팀…
  52. 52. / 99 즉, 현재의 프로세스를 그대로 운영툴에 반영하자 52 스플렁크에서 데이터 조회 타 서버로그에서 더블 체크 최종 쿼리 뽑아냄 요 스플렁크 쿼리를 던져서 나오는 애들은 BAN 시켜도 됩니다
  53. 53. / 9953
  54. 54. / 9954
  55. 55. / 9955
  56. 56. / 9956 자, 이제서야 컨트롤이 되는군요! A조건으로 차단 B조건으로 차단 C조건으로 차단 D조건으로 차단 개발팀 재빌드나 DB 팀 SP 수정 없이 차단 수위를 조절할 수 있게 되었습니다!
  57. 57. / 99 다음 고민, 누가 운영의 주체가 될 것인가? 57 이 페이지 기억나시는지요?
  58. 58. / 99 그럼 이제 누가 사용할래? 유지보수는 어떻게 하지? 이것은 개발팀의 일인가? DB팀/데이터분석팀의 일인가? 보안팀의 일인가? 운영팀의 일인가? 다시 그 질문으로 돌아오게 됩니다 58
  59. 59. / 99 오진이 발생하는 것을 보면 점점 귀찮고 짜증이 나게 됨 하다보면 좀더 정밀한 검토를 필요로 하게 되는 로그가 꼭 튀어나옴 하지만 고쳐도 고쳐도 끝이 없음, 결국 하게되는 말은, “자동밴 버튼 누르기 전에 운영팀에서 더블체크 꼭 해보세요~” 결국 운영팀은… 개발하고 나면 꼭 생기는 문제 59
  60. 60. / 99 결국 운영팀은 버튼을 누르지 않음 60 Auto-BAN 정말 눌러도 되는 걸까? ?!!
  61. 61. / 99 이것이 바로 시스템이 방치되는 이유 61 오탐이 많아서 못 쓰겠어요 고치기도 힘든것 같고 그냥 안써요 나 보안팀… 여전히 마음만은 송중기 나 운영팀…
  62. 62. / 99 그래서 다시한번 조사했습니다. 62 수동으로 BAN 날리시기 전에 뭐뭐 체크하세요? 뭘 체크해야 믿고 BAN 날리나요? 나 보안팀… 여전히 마음만은 송중기 나 운영팀…
  63. 63. / 99 운영팀이 하는 체크로직들. 이정도 체크가 되면 운영팀은 안심하고 BAN 을 날릴 수 있다. 리스트를 뽑았으니, 63
  64. 64. / 99 그럼 그것도 자동화를 해보죠 64 스플렁크 쿼리 입력 부정 사용자 액셀로 추려냄 대량 제재 버튼 클릭 DB 로 BAN 수행 스플렁크 쿼리 자동 입력 NexonABS 백엔드 서버 10분 루프 부정 사용자 메모리에 추려냄 DB 로 BAN SP 호출 FILTER 화이트리스트 필터링 기능 추가
  65. 65. / 99 그리고 화이트리스트 룰은 운영팀이 만드세요 65 . .
  66. 66. / 99 개발팀 : 소스코드에 하드코딩된거 고치기 싫어!누가 웹 운영툴좀 만들어줘! DB/데이터분석팀 : 데이터 수집하는 시간과 분석하는 시간 단축해줘! 운영팀 : 우리가 직접 룰조정 할 수 있게 해줘! 오진을 없애줘! 보안팀 : 나도 뭔가 할 수 있게 해줘! 니넨 하는 일이 뭐야? 라는 말 듣기싫어! 각 팀이 가진 불만들을 일단 해결 66
  67. 67. / 99 Agenda 1. 현업에서 느끼는 현실적인 제약 2. 한계를 극복하기 위한 디자인과 구조 3. 메이플스토리 도입 사례 4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화 67
  68. 68. / 99 • 넥슨 아메리카 최장수 게임 • 봇들과 핵이 많은 상태, 3rd party 보안회사의 클라이언트 사이드의 보안시스템은 효과가 거의 없던 상태 • 이미 현존하는 많은 게임서버 로그가 있었지만 활용도가 낮았던 상태 • 로그 파싱의 고통이 있던 상태 • 자동 밴 오진이 있었던 상태 • 게임 경제가 매우 좋지 않았던 상태 Prebuild 68
  69. 69. / 99 NexonABS 도입 진행 69 프론트엔드, 백엔드 개발 시간이 최초엔 어느 정도 소요되었음 (총 3개월) 미국법인에서 NexonABS 를 붙히게 된 최초의 게임 현재 총 53개의 룰이 있고, 유동적으로 on/off 진행중
  70. 70. / 99 운영팀의 빠른 솔로 플레이가 가능해짐 70 새로운 룰 작성 : 직접 처리 스레시홀드 조정 : 직접 처리 BAN 결정 : 직접 처리 롤백 : 직접 처리 개발팀과 DB 팀도 시간적 여유가 생김
  71. 71. / 99 Example 71 ABS Rule 51: MVAC (Monster Vac) Description: Rule designed to detect illegal forced monster movements (a.k.a. "monster vac" or "mvac"). Rule Basis: Detection of log: “MobFlashFast - Mob Velocity suddenly changed” in “DetectedHack” log file. Test Log Start: 2/10 Detection Criteria: 100 detections per 10 minutes. Total Detections: 3,433 Unique Accounts: 207 Spot check results: Excellent. Very Low to Zero false positives.
  72. 72. / 99 운영팀 스스로 제안 가능 72 “ 3번 룰에 대해 운영팀 내에서 탐지 감도를 여러 차례 바꿔가며 1주일간 로깅 상태로 지켜봤습니다. 이대로 자동BAN으로 전환해도 괜찮을 것 같습니다. 찬성하시는지요? ”
  73. 73. / 99 빠르고 간편한 만장일치 프로세스 73 마케팅팀 개발팀 보안팀
  74. 74. / 99 유연한 정책 74 In-Game 이벤트 때는 운영팀 스스로 OFF 가능 때로는 마케팅 팀에서 잠시 BAN 을 멈추자고 제안할때도 즉시 처리 가능
  75. 75. / 99 한참 피크 때에 하루 최고 BAN 횟수 75 OVER 10,000
  76. 76. / 99 고객센터 오탐관련 불만 티켓 접수건 76 ZERO
  77. 77. / 99 안정되고 있는 게임 경제 77
  78. 78. / 99 메이플스토리 공식 보안 프로덕트로 인정받음 78 물론 이런 상을 받은건 아닙니다…
  79. 79. / 99 Agenda 1. 현업에서 느끼는 현실적인 제약 2. 한계를 극복하기 위한 디자인과 구조 3. 메이플스토리 도입 사례 4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화 79
  80. 80. / 99 “로그 파싱하려면 또 …………” “운영툴 또 만드려면 …………” “게임마다 특성이 달라서…………” 결론 : “시간을 많이주면 가능합니다만, 현재는 어쨌든 불가능합니다” 사람들이 싫어하는 발언 : 아쉽지만 저희 게임 전용입니다 80
  81. 81. / 99 하나의 웹 운영툴 안에서 전체 게임을 관리할 수 있었으면 좋겠다. 백엔드 서버를 게임별로 두지 말고 하나의 프로세스 안에서 여러 게임을 핸들링 했으면 좋겠다. BAN, KICK 등의 API 를 통일했으면 좋겠다. 플랫폼 화를 해보자 81
  82. 82. / 99 좋은 말로, “어떤 게임이든 연동 가능하도록 플랫폼 화 되어 있습니다” 나쁜 말로, “찍어내기 가능합니다” Bootstrap 과 Splunk 를 쓴 장점 82
  83. 83. / 99 작업 시간 비교 83 최초 개발시 추가 게임 확장시 프론트엔드 개발 약 2개월 1-2일 백엔드 개발 약 2개월 2-3일
  84. 84. / 99 여러 게임 동시 관리 84
  85. 85. / 99 보안솔루션이 너무 많은 사람들의 걱정 85
  86. 86. / 99 DB 팀이 싫어하는 것 86 A시스템도 BAN 만들어 달라고 하고 B 시스템도 BAN 만들어 달라고 하고 님들아 제발 통일좀… 나 보안팀… 여전히 마음만은 송중기 나 DB팀…
  87. 87. / 99 네트워크팀이 싫어하는 것 87 A시스템도 IP 뚫어 달라고 하고 B 시스템도 IP 뚫어 달라고 하고… 한군데서 좀 하시져~ 나 보안팀… 여전히 마음만은 송중기 나 네트워크팀…
  88. 88. / 99 먼저, 넥슨코리아 게임보안팀의 NGS 88
  89. 89. / 99 네오플 보안팀의 자체 개발 시스템도 합체 89
  90. 90. / 99 네트워크/인프라 보안 시스템, 침입탐지시스템 (방화벽, IDS, IPS) 등과도 로그 결합 가능 인증대입공격 (Brute Force) 의 예제 네트워크 보안 로그도 가능할까요? 90
  91. 91. / 9991
  92. 92. / 99 어떤 시스템이든 연동가능 92
  93. 93. / 99 신규 게임 런칭시, 공식 프로세스로 선정 93 “NexonABS 는 넥슨 아메리카 신규 게임 런칭시 반드시 탑재하고 가야 하는 필수 시스템입니다” 신규 개발사에 공식전달하는 문구
  94. 94. / 99 개발팀을 위한 로그 포맷 가이드 추가 94
  95. 95. / 99 처음에는 메이플스토리에만 붙히느라 급급했지만 추후에는 타 게임에도 사용할 수 있도록 기능을 API 화 시키고 정밀도도 상승 시간이 지나며 성숙도 상승 95
  96. 96. / 99 데이터분석 – Investigation Team, DB 팀, 각 게임 개발팀 스플렁크 연동 – DB팀 API 연동 – DevOps 팀 타 시스템 연동 – 넥슨코리아 게임보안팀, 네오플 CERT 팀 운영팀 실태, 프로세스 협의 – Production Team, Investigation Team 많은 팀의 합작으로 가능했던 프로젝트 96
  97. 97. / 99 유동규 (Sr. Security Engineer from NxA InfoSec Team) 백엔드 개발, 스플렁크 데이터 핸들링, 로그 디자인 프로젝트 참가자 – Thanks for the team ! 97 최해길 (Lead Security Engineer from NxA InfoSec Team) 프론트엔드 개발, API 디자인, 시스템 통합 디자인 강병탁 (Sr. Security Manager from NxA InfoSec Team) 전체적인 결정, 프로세스 협의, 잔소리와 매질
  98. 98. / 99 감사합니다. Agenda 1. 현업에서 느끼는 현실적인 제약 2. 한계를 극복하기 위한 디자인과 구조 3. 메이플스토리 도입 사례 4. 특정 게임을 넘어서, 타 게임을 위한 플랫폼화

×