상세 컨텐츠

본문 제목

즐거운 리버싱: 리버스 엔지니어링 입문

전체 출간 도서

by 비제이퍼블릭 2014. 9. 18. 09:59

본문

 

 즐거운 리버싱

 

 

: 리버스 엔지니어링 입문

 

 

시리즈명 철통보안 시리즈-023

저자 아이코우 켄지

역자 박선필

 

출간일 2014108()

정가 20,000

페이지 292

 

판형 150 x 210

ISBN 978-89-94774-79-4 (93000)

원서정보 たのしいバイナリの

 

 

 

책 소개

 

 

기본적인 어셈블러부터 최신 응용사례까지

 

- 슈팅게임에서 치트를 방지하려면?

- 리버싱되지 않으려면?

- 취약점을 발견하고 접근권한을 얻으려면?

 

 

이 책에서 다루는 내용

 

-- 기본적인 어셈블러부터 최신 응용사례까지 리버싱 전반에 대한 이해

-- 동적 분석과 정적 분석으로 바이너리에 대한 이해

-- 온라인 게임에서 부정하게 바이너리를 변경하는 행위를 방지하는 방법

-- 디버거 구조 및 보안 기술을 취급하는 데 자주 사용되는 프로그래밍 기술

 

샘플 파일 다운로드

 

https://github.com/kenjiaiko/binarybook

 

독자대상

 

초중급

 

 

 

저자 소개

 

아이코우 켄지

 

넷 에이전트(ネットエジェント: netagent) 주식회사에서 각종 소프트웨어 리버스 엔지니어링, 멀웨어 분석, 침투 테스트 등을 담당하였다. 2008년 7월에 이사에 취임하였고, 그 후 주식회사 포틴포티(fourteenforty) 기술연구소(현 주식회사 FFRI)에서 소프트웨어 분석을 중심으로 한 컴퓨터 보안 기술의 연구와 소프트웨어 개발을 수행하고 있다.

 

Black Hat Japan 2008(일본), HITCON 2011(대만) 등의 컨퍼런스에서 연구성과를 발표한 적이 있고, 2010년부터 시큐리티&프로그램 캠프(현 시큐리티 캠프)에서 소프트웨어 보안 클래스 강사로도 활약하였다. 저서로는 『アセンブリ言語教科書』, 『TCP/IPの教科書』 등이 있다.

 

 

 

역자 소개

 

박선필

 

2002년부터 2003년까지 일본에서 개발업무를 하였고, 2004년부터 일본 보안회사 LAC의 한국 법인인 사이버시큐리티라크의 솔루션서비스팀에서 개발업무를 거쳐, 보안컬설팅팀에서 한국 및 일본 기업의 취약점 점검 및 모의해킹 업무를 했다. 2011년부터 안랩(구 안철수연구소)의 기술컨설팅팀에서 컨설턴트로 취약점 점검 및 모의해킹 업무를 수행하며, 현재는 산업제어시스템 보안 관련 업무를 중심으로 하고 있다. 역서로는 『표적형 공격 보안 가이드』가 있다.

 

 

 

목차

 

1. 리버스 엔지니어링에서 바이너리를 읽는 방법

 

1.1 분석 흐름을 체감해보자

1.2 정적 분석을 해보자

1.3 동적 분석을 해보자

1.4 최소한의 어셈블러 명령만 대략 파악하자

1.5 어셈블러 명령에서 동작을 파악하자

 

2. 슈팅게임에서 치트를 방지하는 방법

 

2.1 메모리 덤프를 해독하자

2.2 동작을 분석할 수 없게 하려면?

 

3. 소프트웨어 취약점을 이용한 공격 방법

 

3.1 버퍼 오버플로우를 이용하여 임의의 코드가 실행되는 구조

3.2 공격을 방지하는 기술

3.3 보안 기능을 우회하는 기술

 

4. 자존적으로 처리를 실행시키는 프로그래밍 기술

 

4.1 디버거를 자작하여 동작을 이해하자

4.2 다른 프로세스 내에서 임의의 코드를 실행시키자

4.3 처리를 임의의 것으로 바꾸자

 

5. 툴을 이용하여 더 깊은 세계로

 

5.1 Metasploit Framework로 취약점을 검증조사하자

5.2 EMET에서 ROP 대책 구조를 들여다보자

5.3 REMnux로 멀웨어를 분석하자

5.4 ClamAV로 멀웨어 및 Exploit을 탐지하자

5.5 Zero Wine Tryouts로 멀웨어를 분석하자

5.6 분석을 최대한 줄이려면?

 

부록

 

A.1 IDA 설치

A.2 OllyDbg 설치

A.3 WinDbg 설치

A.4 Visual Studio 2012 설치

A.5 Metasploit 설치

A.6 분석 툴

A.7 마치면서

 

 

 

이 책의 구성

 

1. 리버스 엔지니어링에서 바이너리를 읽는 방법에서는 리버스 엔지니어링에 대해 알아보고, 동적 분석과 정적 분석으로 바이너리에 대해 살펴본다.

 

2. 슈팅게임에서 치트를 방지하는 방법에서는 온라인 게임에서 부정하게 바이너리를 변경하는 행위를 방지하는 방법에 대해 알아본다.

 

3. 소프트웨어 취약점을 이용한 공격 방법에서는 소프트웨어 취약점을 이용한 공격 방법과, 공격으로부터 소프트웨어를 지키는 기술에 대해 알아본다.

 

4. 자존적으로 처리를 실행시키는 프로그래밍 기술에서는 디버거 구조 및 보안 기술을 취급하는 데 자주 사용되는 프로그래밍 기술에 대해 알아본다.

 

5. 툴을 이용하여 더 깊은 세계로에서는 4장까지 배운 것을 활용하여 깊은 바이너리의 세계를 알기 위해 각종 툴에 대해 알아본다.

 

부록에서는 IDA, OllyDbg, WinDbg, Visual Studio 2012, Metasploit을 설치하는 방법을 다루고, 이 책에서 취급한 각종 분석 툴을 정리하는 시간을 갖는다.

 

 

 

출판사 리뷰

 

누구나 컴퓨터를 사용하는 시대가 되었고, 편리성도 현격히 올라갔다. 그러나 그만큼 시스템은 복잡해지고 기술자가 배워야 할 것도 많아졌다.

 

OS는 무엇을 하고 있는가?

 

CPU, 메모리는 무엇을 하고 있는가?

 

왜 소프트웨어는 움직이는 것일까?

 

왜 시큐리티 홀(security hole)은 만들어지는 것일까?

 

왜 임의의 코드가 실행되어버리는 것일까?

 

이러한 질문에 답이 되어주는 것이 어셈블러 등의 바이너리 레벨의 지식이다. 웹 애플리케이션의 전성시대이지만, 바이너리 레벨의 지식은 지금까지도 활약하고 있다. “바이너리”라는 말은 매우 넓은 의미로 사용되고 있다. 원래 바이너리는 2진수를 의미하지만, 오늘날에는 텍스트 데이터와의 대비에서 사용되는 경우도 많다.

 

현재 컴퓨터 보안 세계에서는 공격 패턴을 분석하여 추론에 대응할 기술이 연구되고 있다. 20년 전만해도 마법과 같은 일일지 모르지만, 지금 이런 것들에 대한 연구가 계속되고 실현되고 있다. 정보공학의 재미있는 점은 0 1의 배열에 따라 기계어를 만들고, 파일 포맷을 정의하고, 소프트웨어를 구축하고, 다양한 문제해결을 돕고 있다는 것이다.

 

여러분은 이 책을 통해 기본적인 어셈블러부터 최신 응용사례를 살펴보며 리버싱 전반에 대해 이해할 수 있다. 또한 소프트웨어의 취약점을 이용한 공격 방법을 알아보고 그것으로부터 소프트웨어를 지키는 기술, 자존적으로 처리를 실행시키는 기술에 대해 배울 수 있다. 리버싱 입문자를 위한 이 책은 IDA, OllyDbg, WinDbg, Visual Studio 2012, Metasploit을 설치하는 방법을 다루고, 각종 분석 툴을 정리해준다.

 

 

관련글 더보기

댓글 영역