SlideShare a Scribd company logo
1 of 47
Download to read offline
스마트폰 게임 해킹과 대응
ANB Soft 송찬호
KGC 2013 - 9.26 208호
yellowwhale@gmail.com
안녕하세요
저는 …
여러분은 …
오늘에 주제는 …
목차
해킹 & 대상
- 결제, 파일, 세이브 파일, 패킷, 속도, 메모리
- 사례 및 대응
게임 유형별 사례
- 단독 / 동기 / 비동기 구동 게임
- 사례 및 대응
정리
해킹 & 대상
결제 / 파일 / 세이브 파일 / 패킷 / 속도 / 메모리
결제 해킹 사례
사례>
출시 후 6시간, 회사 과금 로그 1억 찍음!!
소고기 맛 나게 먹다가..... 찜찜
구글 (애플) 결제 로그 결제 금액 0원 ㅠ_ㅠ
결제 공격 대상 - 결제 모듈
IAP (ios) / IAB (android) 모듈
- 무조건 결제 성공
- 가짜 영수증 반환
- 타 게임의 유효한 영수증 반환
- 이미 처리된 영수증 반환
결제 공격 대응 - 결제 모듈
결제 서버
- 원격 서버에서 결제 결과 확인
- 결제 후 영수증을 서버로 보내 유효할 경우 결
제 결과 지급
영수증 인증
- 해당 어플의 영수증 인지?
- 영수증이 유효한지?
- 영수증이 기존에 처리된적 있는지?
결제 공격 대상 - 지급 로직
결제 결과 전달 시점 로직
- 아이템 (결제 결과) 을 지급 받았지만 지급 대
상 (원격의 서서) 이 지급 실패 판단을 유도하여
재지급 하도록 공격 시도
결제 공격 대응 - 지급 로직 - 1
안전한 지급 로직
- 결제 정보와 정확히 일치
- 어플 종료 등 실패시 재지급
=> 결제 인증 시 유효한경우 지급
- 개별 아이템을 지급하지 않음
=> 인벤 단위나 최종값 (캐시) 을 받음
(아이템 추가, 캐시 증가량 합산 방식을
지양)
과금 공격 대응 - 지급 로직 - 2
안전한 지급 로직
- 과금 인증시 서버에서 아이템 지급 (DB에 기
록)
=> 안드로이드의 경우 apk를 해킹하여
인증 로직을 제거하면 과금은 통과
하나 아이템 지급이 안됨
- 클라이언트가 인벤 및 캐시 포인트 업데이트
시 과금 내역을 반영한 내용이 전달
파일 해킹
사례>
모든 데이터는 내 손에…
파일 공격 유형
예전 버전 파일 덮어 쓰기
- 원하는 벨런스 시절로 롤 백
데이터 수정
- 저장된 파일을 바이너리 편집기로 수정
파일 공격 감지
예전 버전 파일 덮어 쓰기 & 데이터 수정
- 최근 파일의 해시값과 로딩한 파일의 해시값
을 비교
파일 공격 대응
정상 파일을 다운로드 후 읽은 다음 어플 기동
=> 게임의 패치 기능 활용
어플 재설치 요구
=> 마켓 어플 설치 페이지 연결
세이브 파일 해킹
사례>
모든 데이터는 내 손에…
원하는데로 될 때까지 수정... 성실한 놈;;
귀찮아 친구꺼 가져다 게임 하지.. 뭐
나는야 만렙~~
세이브 파일 공격 유형
세이브 파일 배포
- 친구(혹은 불특정 다수)에게 세이브 파일 공개
세이브 파일 백업
- 서버에 아이템을 전송 (인벤, 경매, 우편) 후
세이브 파일을 기존 것으로 되돌림
데이터 수정
- 저장된 파일을 바이너리 편집기로 수정
세이브 파일 공격 감지
세이브 파일 배포
- 세이브 파일에 사용자 정보 입력
세이브 파일 백업
- 서버에 아이템을 전송 시 변경되는 카운터를
세이브 파일에 기록
데이터 수정
- 저장시 세이브 파일의 해시값을 기록, 읽을 때
해시와 저장한 해시 비교
세이브 파일 공격 대응
서버에 세이브 파일 기록
=> 가장 안전,
절대 로딩 실패 하면 안된다!!
- 해킹과 버그를 구분 할 수 없음
일단 게임이 되고, 서버에 해킹 기록 후 대응
패킷 해킹
사례>
웹 통신을 주로 사용…
패킷 캡춰 시 모든 정보가 읽기 쉽게 됨…
JSON 이나 URL encode 방식이니 이해가 쏙쏙…
원하는데로 고쳐 보내기도 좋다.
패킷 공격 대상
모든 패킷 !!
해킹 용 리눅스 박스 (BackTrack) 설치 ..
스마트폰의 패킷이 리눅스 박스를 거쳐 가도록
네트워크 환경 구축 .. (중간자 공격 Man-in-the-
middle attack)
패킷 캡쳐 및 가공 ..
패킷 공격 대응
패킷 보안
- AES, 3DES, Seed128/256 (KISA) 등 패킷 암호
화
하다 못해 XOR 후 Base64 인코딩 정도는 하자
- 일단 보이지 않게 라도..
속도 해킹
사례>
아~ 여기 적이 넘 빨라서 어렵네…
그럼 게임을 천천히...
여기는 시간 때워야 하네.. 지루해
그럼 빠르게....
속도 공격 대상
시간 소비를 단축
- 빠름 속도로 게임을 진행하여 재화 획득 시간
단축
난이도 하락
- 속도에 따른 게임성을 약화시켜 쉽게 진행
해킹툴 (Game Chi) 등에서 기능 제공
- 0.5, 0.8, 1.2, 2, 5, .. 100 배속 지원
속도 공격 대응
게임 내에서 속도 변화를 감지 할 수 없음
외부 (서버나 다른 프로세스)의 도움이 필요
- 같이 시간을 세다 오차 범위를 넘어서면 속도
해킹으로 간주
- 일차적으로 경고 후 지속 되면 어플 종료
메모리 해킹
사례>
엉엉 님 맘대로…
Android GameGuardian Tutorial
iOS GamePlayer
Cheat BBS - Android Hacks
메모리 공격 대상 - 1
모든 게임내 데이터
- 사용자 정보 (레벨, 경험치, 행동 포인트...)
- 상점 가격
- 상점 상품 구성
- 기타 등등
창의적으로 해킹하는 사람들이 많다 ㅠ_ㅠ
메모리 공격 대상- 2
변화하는 값, 변하지 않는 값
- 모든 메모리 공격은 특정 값의 메모리 위치를
찾아내는 데 있음
- 변화하는 값은 변하지 않는 값에 비해 찾기 쉬
움
=> 전체 메모리 덤프 후 변화 부분만 남김
=> 값의 변화를 이용
(증가, 감소, 변화 없음)
메모리 공격 대상- 3
특정 값이 발견되면 연관된 다른 값도 수정
- 아이템 가격이 발견되면 아이템 아이디도 추
정
- 특정 메모리 번지의 앞/뒤를 확인 가능
HP / MP, 최대 HP / 최대 MP
상점 테이블에서 가격과 상품 ID
메모리 공격 대응 - 1
데이터 난독화
- 모든 공격은 특정값을 검색하는 것에서 출발
- 검색이 되지 않도록 변형하여 기록
- 보이는 값과 실제 정보 분리
=> 데이터 난독화 따른 성능 문제 발생
(모든 인벤의 물약 갯수)
메모리 공격 대응 - 2
데이터 오염
- 어느 시점에서는 데이터를 변형 해야함
- 이때 해킹된 정보가 보안 처리된 영역에 들어
가지 않도록 주의
- 임시 메모리 사용후 메모리를 쓰레기 값으로
채운다.
- 데이터를 보안 영역에서 얻어 올 때 같은 임시
메모리를 사용하지 않는다.
메모리 공격 대응 - 3
해시값 비교
- 로딩 시점에서 해시값을 생성
- 참고 시점에서 해시값 확인
- 유효한 값에서 다른 값으로 변경 될 경우
- 메모리 해킹 내용에 대해서 즉각 통지, 어플 중
단
=> 메모리 해커의 경우 어플 다운을 염두
=> 메모리 오버런 버그 ㅠ_ㅠ
게임 유형별 사례
단독 / 동기 / 비동기 구동 게임
공격 사례 : 단독 구동 어플 - 1
세이프 파일
- 파일 수정, 백업, 공유
=> 해시값 기록
=> 사용자 고유값 기록
=> 넷 인벤, 경매장 삭제
=> 로딩 시점에 해킹 유무 체크
=> 서버에 해킹 상황 기록
공격 사례 : 단독 구동 어플 - 2
결제
- IAP Cracker .. etc 무조건 결제 승인
=> 인승 서버 연계
통신 (패킷)
- 아이템 전송 시점에 어플 이상 종료 ... 아이템
분실시 복구 요청..
=> 아이템 전송 로직 삭제
=> 인벤 전체 업데이트 만 있음
공격 사례 : 단독 구동 어플 - 3
메모리 공격 - 1
- 특정값 검색 수정... HP / MP etc
=> 메모리 난독화
=> 성능 문제가 생겨 최소 단위(아이템 별,
특정 스텟 묶음 단위)로 처리
=> 전체 인벤의 아이템 갯 수 (물약) 등의
정보는 별도 처리
공격 사례 : 단독 구동 어플 - 4
메모리 공격 - 2
- 특정값 검색 수정 & 값을 고정
=> 경험치나 레벨 값이 임시 저장되는 곳에
값을 고정시키고 기다리면 값이 갱신되는
특정 시점에 오염된 값이 보안 처리된 곳에
들어감
=> 해시값을 도입 했으나 별 성과 없음
=> PC에서 재현, 사용후 지우지 않는
임시 공간 발견
공격 사례 : 단독 구동 어플 - 5
메모리 공격 - 3
- 아이템 가격을 음수로 수정, 구매시 골드 증가
=> 아이템 가격 난독화
=> 가격이 음수인 경우 구매 실패
- 가격을 검색하여 주변 메모리를 수정하여 아
이템 ID 추정, 상품 구성 변경
=> 테이블에 해시값 적용, 변경 감지
공격 사례 : 단독 구동 어플 - 5
메모리 공격 - 4
- 스킬, 스텟 포인트 증가
=> 포인트 분배 완료시 전체 포인트를 계산
유효한지 확인
게임 플레이 로깅
- 사용자 이용 패턴 분석
- 해킹 사용자 판별 자료
- 해킹 사용자로 확실시 되면 블럭
공격 사례 : 동기 구동 어플 - 1
어플 속도 증가
- 빠른 속도로 스테이지 클리어
=> 서버와 클라이언트의 누적 시간을 비교
=> 10% 이상 차이가 날 경우 경고
(치트 어플의 속도 조절의 최소 단위 보다
작게 … 1.2 배속 0.8 배속)
=> 3회 이상 경고시 사용자 접속 종료
(망 상태에 따라 패킷이 뭉쳐 가는 경우
누적 시간에 오차가 커질 수 있음)
공격 사례 : 동기 구동 어플 - 2
메모리 공격
- 스킬 ID 조작 타 캐릭터 스킬 사용
=> 서버에 검증 코드 추가
결제
- PID 해킹 낮은 가격 아이템 결제
=> 해당 마켓 서비스 하지 않음
- 영수증 처리 로직 없는 마켓
=> 해당 마켓 서비스 하지 않음
공격 사례 : 비동기 구동 어플 - 1
영수증 공격
- 타 게임의 영수증을 인증용으로 제출
=> 영수증의 Product ID 확인
메모리 공격
- 사냥시 습득 골드를 수정
=> 서버 상에서 최대 습득 금액 설정,
오버 시 0 골드 습득 처리
=> 데이터 난독화
공격 사례 : 비동기 구동 어플 - 2
패킷
- 보안 강화 요청 (SNS 연동)
=> 3DES, Seed128 등 암호화 패킷 사용
정리
앞으로 할 것 들 / 그리고 … / 마지막 …
앞으로 할 것 들
Unity3D
- 메모리 보안 강화
속도
- 웹서버 연동
- 클라이언트에 협력 프로세스 구현
그리고...
창의적으로 해킹하는 님들과 소통
앱짱닷컴
구글님
마지막...
해킹 사용자도 고객 입니다.
감사합니다.
Q&A

More Related Content

More from Chanho Song

Html5+js with game engine cocos2d-html5 분석 @KGC2012
Html5+js with game engine   cocos2d-html5 분석 @KGC2012Html5+js with game engine   cocos2d-html5 분석 @KGC2012
Html5+js with game engine cocos2d-html5 분석 @KGC2012Chanho Song
 
No silver bullet @KASA open seminar
No silver bullet @KASA open seminarNo silver bullet @KASA open seminar
No silver bullet @KASA open seminarChanho Song
 
No silver bullet
No silver bulletNo silver bullet
No silver bulletChanho Song
 
No silver bullet
No silver bulletNo silver bullet
No silver bulletChanho Song
 
No silver bullet
No silver bulletNo silver bullet
No silver bulletChanho Song
 
No silver bullet
No silver bulletNo silver bullet
No silver bulletChanho Song
 

More from Chanho Song (7)

Unicode @KASA
Unicode @KASAUnicode @KASA
Unicode @KASA
 
Html5+js with game engine cocos2d-html5 분석 @KGC2012
Html5+js with game engine   cocos2d-html5 분석 @KGC2012Html5+js with game engine   cocos2d-html5 분석 @KGC2012
Html5+js with game engine cocos2d-html5 분석 @KGC2012
 
No silver bullet @KASA open seminar
No silver bullet @KASA open seminarNo silver bullet @KASA open seminar
No silver bullet @KASA open seminar
 
No silver bullet
No silver bulletNo silver bullet
No silver bullet
 
No silver bullet
No silver bulletNo silver bullet
No silver bullet
 
No silver bullet
No silver bulletNo silver bullet
No silver bullet
 
No silver bullet
No silver bulletNo silver bullet
No silver bullet
 

스마트폰 해킹과 대응 @KGC2013

  • 1. 스마트폰 게임 해킹과 대응 ANB Soft 송찬호 KGC 2013 - 9.26 208호 yellowwhale@gmail.com
  • 3. 목차 해킹 & 대상 - 결제, 파일, 세이브 파일, 패킷, 속도, 메모리 - 사례 및 대응 게임 유형별 사례 - 단독 / 동기 / 비동기 구동 게임 - 사례 및 대응 정리
  • 4. 해킹 & 대상 결제 / 파일 / 세이브 파일 / 패킷 / 속도 / 메모리
  • 5. 결제 해킹 사례 사례> 출시 후 6시간, 회사 과금 로그 1억 찍음!! 소고기 맛 나게 먹다가..... 찜찜 구글 (애플) 결제 로그 결제 금액 0원 ㅠ_ㅠ
  • 6. 결제 공격 대상 - 결제 모듈 IAP (ios) / IAB (android) 모듈 - 무조건 결제 성공 - 가짜 영수증 반환 - 타 게임의 유효한 영수증 반환 - 이미 처리된 영수증 반환
  • 7. 결제 공격 대응 - 결제 모듈 결제 서버 - 원격 서버에서 결제 결과 확인 - 결제 후 영수증을 서버로 보내 유효할 경우 결 제 결과 지급 영수증 인증 - 해당 어플의 영수증 인지? - 영수증이 유효한지? - 영수증이 기존에 처리된적 있는지?
  • 8. 결제 공격 대상 - 지급 로직 결제 결과 전달 시점 로직 - 아이템 (결제 결과) 을 지급 받았지만 지급 대 상 (원격의 서서) 이 지급 실패 판단을 유도하여 재지급 하도록 공격 시도
  • 9. 결제 공격 대응 - 지급 로직 - 1 안전한 지급 로직 - 결제 정보와 정확히 일치 - 어플 종료 등 실패시 재지급 => 결제 인증 시 유효한경우 지급 - 개별 아이템을 지급하지 않음 => 인벤 단위나 최종값 (캐시) 을 받음 (아이템 추가, 캐시 증가량 합산 방식을 지양)
  • 10. 과금 공격 대응 - 지급 로직 - 2 안전한 지급 로직 - 과금 인증시 서버에서 아이템 지급 (DB에 기 록) => 안드로이드의 경우 apk를 해킹하여 인증 로직을 제거하면 과금은 통과 하나 아이템 지급이 안됨 - 클라이언트가 인벤 및 캐시 포인트 업데이트 시 과금 내역을 반영한 내용이 전달
  • 12. 파일 공격 유형 예전 버전 파일 덮어 쓰기 - 원하는 벨런스 시절로 롤 백 데이터 수정 - 저장된 파일을 바이너리 편집기로 수정
  • 13. 파일 공격 감지 예전 버전 파일 덮어 쓰기 & 데이터 수정 - 최근 파일의 해시값과 로딩한 파일의 해시값 을 비교
  • 14. 파일 공격 대응 정상 파일을 다운로드 후 읽은 다음 어플 기동 => 게임의 패치 기능 활용 어플 재설치 요구 => 마켓 어플 설치 페이지 연결
  • 15. 세이브 파일 해킹 사례> 모든 데이터는 내 손에… 원하는데로 될 때까지 수정... 성실한 놈;; 귀찮아 친구꺼 가져다 게임 하지.. 뭐 나는야 만렙~~
  • 16. 세이브 파일 공격 유형 세이브 파일 배포 - 친구(혹은 불특정 다수)에게 세이브 파일 공개 세이브 파일 백업 - 서버에 아이템을 전송 (인벤, 경매, 우편) 후 세이브 파일을 기존 것으로 되돌림 데이터 수정 - 저장된 파일을 바이너리 편집기로 수정
  • 17. 세이브 파일 공격 감지 세이브 파일 배포 - 세이브 파일에 사용자 정보 입력 세이브 파일 백업 - 서버에 아이템을 전송 시 변경되는 카운터를 세이브 파일에 기록 데이터 수정 - 저장시 세이브 파일의 해시값을 기록, 읽을 때 해시와 저장한 해시 비교
  • 18. 세이브 파일 공격 대응 서버에 세이브 파일 기록 => 가장 안전, 절대 로딩 실패 하면 안된다!! - 해킹과 버그를 구분 할 수 없음 일단 게임이 되고, 서버에 해킹 기록 후 대응
  • 19. 패킷 해킹 사례> 웹 통신을 주로 사용… 패킷 캡춰 시 모든 정보가 읽기 쉽게 됨… JSON 이나 URL encode 방식이니 이해가 쏙쏙… 원하는데로 고쳐 보내기도 좋다.
  • 20. 패킷 공격 대상 모든 패킷 !! 해킹 용 리눅스 박스 (BackTrack) 설치 .. 스마트폰의 패킷이 리눅스 박스를 거쳐 가도록 네트워크 환경 구축 .. (중간자 공격 Man-in-the- middle attack) 패킷 캡쳐 및 가공 ..
  • 21. 패킷 공격 대응 패킷 보안 - AES, 3DES, Seed128/256 (KISA) 등 패킷 암호 화 하다 못해 XOR 후 Base64 인코딩 정도는 하자 - 일단 보이지 않게 라도..
  • 22. 속도 해킹 사례> 아~ 여기 적이 넘 빨라서 어렵네… 그럼 게임을 천천히... 여기는 시간 때워야 하네.. 지루해 그럼 빠르게....
  • 23. 속도 공격 대상 시간 소비를 단축 - 빠름 속도로 게임을 진행하여 재화 획득 시간 단축 난이도 하락 - 속도에 따른 게임성을 약화시켜 쉽게 진행 해킹툴 (Game Chi) 등에서 기능 제공 - 0.5, 0.8, 1.2, 2, 5, .. 100 배속 지원
  • 24. 속도 공격 대응 게임 내에서 속도 변화를 감지 할 수 없음 외부 (서버나 다른 프로세스)의 도움이 필요 - 같이 시간을 세다 오차 범위를 넘어서면 속도 해킹으로 간주 - 일차적으로 경고 후 지속 되면 어플 종료
  • 25. 메모리 해킹 사례> 엉엉 님 맘대로… Android GameGuardian Tutorial iOS GamePlayer Cheat BBS - Android Hacks
  • 26. 메모리 공격 대상 - 1 모든 게임내 데이터 - 사용자 정보 (레벨, 경험치, 행동 포인트...) - 상점 가격 - 상점 상품 구성 - 기타 등등 창의적으로 해킹하는 사람들이 많다 ㅠ_ㅠ
  • 27. 메모리 공격 대상- 2 변화하는 값, 변하지 않는 값 - 모든 메모리 공격은 특정 값의 메모리 위치를 찾아내는 데 있음 - 변화하는 값은 변하지 않는 값에 비해 찾기 쉬 움 => 전체 메모리 덤프 후 변화 부분만 남김 => 값의 변화를 이용 (증가, 감소, 변화 없음)
  • 28. 메모리 공격 대상- 3 특정 값이 발견되면 연관된 다른 값도 수정 - 아이템 가격이 발견되면 아이템 아이디도 추 정 - 특정 메모리 번지의 앞/뒤를 확인 가능 HP / MP, 최대 HP / 최대 MP 상점 테이블에서 가격과 상품 ID
  • 29. 메모리 공격 대응 - 1 데이터 난독화 - 모든 공격은 특정값을 검색하는 것에서 출발 - 검색이 되지 않도록 변형하여 기록 - 보이는 값과 실제 정보 분리 => 데이터 난독화 따른 성능 문제 발생 (모든 인벤의 물약 갯수)
  • 30. 메모리 공격 대응 - 2 데이터 오염 - 어느 시점에서는 데이터를 변형 해야함 - 이때 해킹된 정보가 보안 처리된 영역에 들어 가지 않도록 주의 - 임시 메모리 사용후 메모리를 쓰레기 값으로 채운다. - 데이터를 보안 영역에서 얻어 올 때 같은 임시 메모리를 사용하지 않는다.
  • 31. 메모리 공격 대응 - 3 해시값 비교 - 로딩 시점에서 해시값을 생성 - 참고 시점에서 해시값 확인 - 유효한 값에서 다른 값으로 변경 될 경우 - 메모리 해킹 내용에 대해서 즉각 통지, 어플 중 단 => 메모리 해커의 경우 어플 다운을 염두 => 메모리 오버런 버그 ㅠ_ㅠ
  • 32. 게임 유형별 사례 단독 / 동기 / 비동기 구동 게임
  • 33. 공격 사례 : 단독 구동 어플 - 1 세이프 파일 - 파일 수정, 백업, 공유 => 해시값 기록 => 사용자 고유값 기록 => 넷 인벤, 경매장 삭제 => 로딩 시점에 해킹 유무 체크 => 서버에 해킹 상황 기록
  • 34. 공격 사례 : 단독 구동 어플 - 2 결제 - IAP Cracker .. etc 무조건 결제 승인 => 인승 서버 연계 통신 (패킷) - 아이템 전송 시점에 어플 이상 종료 ... 아이템 분실시 복구 요청.. => 아이템 전송 로직 삭제 => 인벤 전체 업데이트 만 있음
  • 35. 공격 사례 : 단독 구동 어플 - 3 메모리 공격 - 1 - 특정값 검색 수정... HP / MP etc => 메모리 난독화 => 성능 문제가 생겨 최소 단위(아이템 별, 특정 스텟 묶음 단위)로 처리 => 전체 인벤의 아이템 갯 수 (물약) 등의 정보는 별도 처리
  • 36. 공격 사례 : 단독 구동 어플 - 4 메모리 공격 - 2 - 특정값 검색 수정 & 값을 고정 => 경험치나 레벨 값이 임시 저장되는 곳에 값을 고정시키고 기다리면 값이 갱신되는 특정 시점에 오염된 값이 보안 처리된 곳에 들어감 => 해시값을 도입 했으나 별 성과 없음 => PC에서 재현, 사용후 지우지 않는 임시 공간 발견
  • 37. 공격 사례 : 단독 구동 어플 - 5 메모리 공격 - 3 - 아이템 가격을 음수로 수정, 구매시 골드 증가 => 아이템 가격 난독화 => 가격이 음수인 경우 구매 실패 - 가격을 검색하여 주변 메모리를 수정하여 아 이템 ID 추정, 상품 구성 변경 => 테이블에 해시값 적용, 변경 감지
  • 38. 공격 사례 : 단독 구동 어플 - 5 메모리 공격 - 4 - 스킬, 스텟 포인트 증가 => 포인트 분배 완료시 전체 포인트를 계산 유효한지 확인 게임 플레이 로깅 - 사용자 이용 패턴 분석 - 해킹 사용자 판별 자료 - 해킹 사용자로 확실시 되면 블럭
  • 39. 공격 사례 : 동기 구동 어플 - 1 어플 속도 증가 - 빠른 속도로 스테이지 클리어 => 서버와 클라이언트의 누적 시간을 비교 => 10% 이상 차이가 날 경우 경고 (치트 어플의 속도 조절의 최소 단위 보다 작게 … 1.2 배속 0.8 배속) => 3회 이상 경고시 사용자 접속 종료 (망 상태에 따라 패킷이 뭉쳐 가는 경우 누적 시간에 오차가 커질 수 있음)
  • 40. 공격 사례 : 동기 구동 어플 - 2 메모리 공격 - 스킬 ID 조작 타 캐릭터 스킬 사용 => 서버에 검증 코드 추가 결제 - PID 해킹 낮은 가격 아이템 결제 => 해당 마켓 서비스 하지 않음 - 영수증 처리 로직 없는 마켓 => 해당 마켓 서비스 하지 않음
  • 41. 공격 사례 : 비동기 구동 어플 - 1 영수증 공격 - 타 게임의 영수증을 인증용으로 제출 => 영수증의 Product ID 확인 메모리 공격 - 사냥시 습득 골드를 수정 => 서버 상에서 최대 습득 금액 설정, 오버 시 0 골드 습득 처리 => 데이터 난독화
  • 42. 공격 사례 : 비동기 구동 어플 - 2 패킷 - 보안 강화 요청 (SNS 연동) => 3DES, Seed128 등 암호화 패킷 사용
  • 43. 정리 앞으로 할 것 들 / 그리고 … / 마지막 …
  • 44. 앞으로 할 것 들 Unity3D - 메모리 보안 강화 속도 - 웹서버 연동 - 클라이언트에 협력 프로세스 구현