CodeEngn Logo

Book


국내 리버스엔지니어링 관련 서적을 쉬어가기, 초급, 중급, 고급으로 분류 하였습니다.

추가 및 변경 신청은 Contact 메뉴에서 요청 해주세요.



Application Hacking 애플리케이션 해킹 : 대한민국 최고의 보안 연구원들이 공개하는 애플리케이션 해킹의 비밀


정보

저자 : 정상민,남성일,김태훈 공저
출판사 : 북앤라이프
출간일 : 2009년 06월 25일
페이지 : 460
ISBN-13 : 9788993364286
ISBN-10 : 8993364281
정가 : 27,000원


책소개

해킹의 최종 목적은 시스템과 프로그램을 변경해서 해커가 원하는 정보와 결과물을 얻는 것이다. 여기에 직접적으로 이용되는 리버스 엔지니어링은 프로그램의 구조를 전부 바꿔 의도하지 않은 방식으로 동작하게 할 수 있는 강력한 기술이다. 반대로 리버스 엔지니어링은 보안을 유지할 수 있는 강력한 도구가 될 수도 있다. 이 책은 리버스 엔지니어링을 통해 보안과 해킹을 설명하는 책이다. 리버스 엔지니어링에 필요한 이론과 기술을 습득할 수 있도록 구성한 이 책은 시스템과 프로그램에 더불어 리버스 엔지니어링을 다룬 보안 및 해킹 서적으로 보안과 관련된 개발자라면 꼭 알아야 할 내용들을 담았다. 프로그램의 구조와 원리를 이해할 수 있도록 구성하였으며, 실제 프로그램 구조의 변경을 통해서 적용이 가능한 해킹과 보안 기술들을 담아냈다. 이를 통해 보안 시스템의 구조적인 내용을 이해하고 이들이 어떤 취약점을 가지게 되는지도 배울 수 있도록 하였다.


저자소개

저자 : 정상민

NHN㈜ 포털기술실에서 근무중이다. 금융 시스템 및 암호화, 보안 제품을 개발하였으며 핵쉴드의 주요 개발자로 많은 특허 기술들을 고안하였다. 안철수연구소 선임연구원을 거쳐 현재 NHN에 근무하고 있으며, 다른 개발자들을 위한 통합 개발 환경을 프로그래밍하고 있다. blog.naver.com/iwillhackyou

저자 : 남성일

안철수연구소 보안기술팀에서 근무중이다. 해킹 방어에 관련된 다수의 특허를 출원하였으며, 현재 안철수연구소에서 게임보안 솔루션인 핵쉴드 제품의 개발 및 PM 역할을 수행하고 있다.

저자 : 김태훈

안철수연구소 보안기술팀에서 근무중이다. 대학원에서 분자 시뮬레이션을 위한 그리드 컴퓨팅 환경을 구축하여 계산 그리드와 데이터 그리드 관련 연구를 진행하였다. 현재 안철수 연구소에서 근무하며 해킹 사례 분석과 해킹 방어 기술 개발에 참여하고 있다.


목차

1장 윈도우, 메시지(Window, Message) 
01 윈도우(Window) 
02 윈도우 프로시저(Window Procedure) 
03 윈도우 메시지(Window Message) 
04 모달 윈도우 해제하기(Modal Window Free) 
05 데스크톱(Desktop), 세션(Session), 스테이션(Station)

2장 프로세스, 스레드(Process, Thread) 
01 프로세스의 구조 
02 스레드의 구조 
03 스레드 관리 기법 
04 스레드 로컬 스토리지(Thread-Local Storage) 

3장 커널 객체(Kernel Object) 
01 핸들(Handle)과 객체(Object) 
02 동기화 객체(Synchronization Object) 
03 커널 객체 공유 
04 보안 속성(Security Attributes) 

4장 디버깅(Debugging)
01 디버거(Debugger) 
02 디버기(Debuggee) 
03 디버깅 API 
04 심볼과 맵(Symbol & Map) 
05 디버거 연결 
06 특권(Privilege) 
07 PEB, TEB 확인하기 

5장 어셈블리(Assembly) 언어 
01 어셈블리 언어 형식(Instruction Format)
02 레지스터(Register) 
03 기본 명령어 이해 

6장 해킹 기법(Hacking Techniques) 
01 버퍼 오버플로우(Buffer Overflow) 
02 포맷 문자열 공격(Format String Attack) 
03 코드 케이브(Code Cave) 
04 화면 정보 구하기 
05 비정상 함수 호출(Abnormal Function Call) 
06 리플레이 공격(Replay Attack) 
07 IPC 스니핑(IPC Sniffing) 
08 코드 훔치기(Code Steal) 
09 코드 패치(Code Patch) 
10 루트킷(Rootkit) 

7장 DLL 인젝션(DLL Injection) 
01 DLL 인젝션 
02 DLL 인젝션 기법 
03 DLL 인젝션 방어 

8장 API 후킹(API Hooking) 
01 IAT(Import Address Table) 후킹 
02 인라인 코드 패치(Inline Code Patch) 
03 SSDT(System Service Descriptor Table) 후킹 

9장 안티디버깅(Anti-debugging) 
01 디버깅(Debugging) API 
02 디버그 플래그(Debug Flag) 
03 중단점(Breakpoint) 
04 예외 처리기(Exception Handler) 
05 기타 

10장 메모리 상의 데이터 변경 
01 가상 메모리와 물리적인 메모리의 관계 
02 메모리 조작 도구 
03 디버거를 통한 메모리 조작 
04 API를 통한 메모리 조작 

11장 자동 입력 프로그램 제작 
01 응용 레벨 자동 입력 프로그램 
02 커널 레벨 자동 입력 프로그램 

12장 스풀 데이터(Spool Data) 조작 
01 스풀(Spool) 동작 
02 스풀 가로채기(Spool Hijacking) 소스 코드 

13장 디바이스 드라이버(Device Driver) 개발 
01 디바이스 드라이버의 기본 구조 
02 디바이스 드라이버 로딩하기 
03 디바이스 드라이버에 명령 보내기 

14장 보안을 고려한 개발 
01 보안의 필요성 
02 씬 클라이언트(Thin Client) 
03 디버그 코드(Debug Code) 
04 함수 명명(Function Naming)
05 설정 및 UI(User Interface) 
06 데이터(Data) 
07 문자열 

부록 주요 디버거(Debugger) 소개 
01 WinDbg 
02 OllyDbg 
03 IDA 
04 SoftIce

Linode is a privately owned virtual private server provider based in Galloway, New Jerse