이미 소장하고 있다면 판매해 보세요.
|
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 분석을 최대한 줄이려면? 부록. A1. 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을 설치하는 방법을 다루고, 각종 분석 툴을 정리해준다. |