이미 소장하고 있다면 판매해 보세요.
|
______0장 악성코드 분석 입문
___1부 기초 분석 ______1장 기초 정적 분석 기법 ______2장 가상머신에서의 악성코드 분석 ______3장 기초 동적 분석 ___2부 고급 정적 분석 ______4장 X86 디스어셈블리 속성 과정 ______5장 IDA Pro ______6장 어셈블리어에서의 C 코드 구조 식별 ______7장 악의적인 윈도우 프로그램 분석 ___3부 고급 동적 분석 ______8장 디버깅 ______9장 OllyDbg ______10장 WinDbg를 이용한 커널 디버깅 ___4부 악성코드의 기능 ______11장 악성코드의 행위 특성 ______12장 위장 악성코드 실행 ______13장 데이터 인코딩 ______14장 악성코드 기반 네트워크 시그니처 ___5부 안티리버싱 ______15장 안티디스어셈블리 ______16장 안티디버깅 ______17장 안티가상머신 기법 ______18장 패커와 언패킹 ___6부 특별한 주제 ______19장 셸코드 분석 ______20장 C++ 분석 ______21장 64비트 악성코드 부록 ______부록 A 주요 윈도우 함수 ______부록 B 악성코드 분석 도구 ______부록 C 실습 문제 풀이 |
|
저자 서문
전화벨이 울리고 네트워크 담당자가 당신이 해킹을 당해 고객의 주요 정보가 네트워크상에서 도난당했다는 사실을 알려준다. 관련 호스트를 식별하기 위해 로그를 확인하면서 조사를 시작한다. 악성코드를 탐지하기 위해 안티바이러스 소프트웨어로 호스트를 스캔한 후 운 좋게 TROJ.snapAK라는 이름의 트로이 목마를 탐지한다. 침해 흔적을 삭제하기 위해 해당 파일을 지우고 다른 장비가 감염되지 않았는지를 확인하기 위해 네트워크 캡처를 이용해 침입 탐지 시스템(IDS) 시그니처를 생성한다. 그런 후 공격자가 침투에 사용했다고 생각되는 보안 문제점을 패치해 다시는 이런 일이 일어나지 않게 한다. 그런 후 며칠 후 네트워크 담당자가 네트워크상에 주요 데이터를 도난당했다는 사실을 알려준다. 동일한 공격으로 보이지만, 당신은 뭘 해야 할지도 모른다. 다른 시스템도 추가적으로 감염됐다는 사실을 통해, 제작한 IDS 시그니처가 실패했음을 알았다. 그리고 백신도 위협을 차단시킬 만큼의 보호 기능을 제공하지 못했다. 이제 상위 관리자가 무슨 일이 발생했는지 설명을 요구하면 당신은 악성코드가 TROJ.snapAK라는 사실밖에 할 말이 없다. 가장 중요한 물음에는 대답하지 못하고 게으른 사람으로 비춰진다. 위협을 제거하려면 정확히 TROJ.snapAK가 무슨 일을 하는지 어떻게 알 수 있을까? 어떻게 더 효율적인 네트워크 시그니처를 작성할 수 있을까? 다른 시스템이 동일한 악성코드에 감염됐다면 어떻게 알아낼 수 있을까? 악성코드 일부가 아닌 전체 패키지를 삭제했음을 어떻게 확신할 수 있을까? 악성 프로그램이 하는 작업에 대한 경영진의 물음에 어떻게 대답할 수 있을까? 당신이 할 수 있는 일은 당신이 네트워크를 방어할 수 없기 때문에 비싼 외부 컨설턴트를 고용해야 한다고 상사에게 얘기하는 것뿐이다. 이는 당신의 자리를 안전하게 유지하기 위한 최선의 방법은 아니다. 아, 하지만 다행히도 슬기롭게 『실전 악성코드와 멀웨어 분석』이라는 이 책을 갖고 있다. 이 책을 통해 배우는 기술은 위의 어려운 질문에 대한 답과 악성코드로부터 네트워크를 방어하는 방법을 알려준다. 옮긴이의 말 APT(Advanced Persistent Threat), 지능형 지속 위협 공격이 사회적 이슈로 부각되면서 악성코드로 인한 보안 위협은 모든 보안 전문가에게 공통적인 숙제가 되었다. 악성코드를 이용한 공격은 과거부터 끊임없이 존재하였지만, 이제는 일반을 대상으로 하는 것이 아니라 명확한 공격 목적과 대상을 가진 악성코드가 주류를 이루고 있다. 이런 환경의 변화는 보안 담당자가 상용 보안 제품의 지원에만 의지할 수 없게 만들었다. 상용 제품은 다수에게 발생할 수 있는 보안 위협을 더 중시하기 때문에 한 조직에 특화된 악성코드는 탐지나 대응이 쉽지 않다. 따라서 보안 담당자나 보안 전문가로서 기본적으로 악성코드에 대한 이해와 분석 능력을 지녀야 한다. 『실전 악성코드와 멀웨어 분석』은 역자진이 예전에 번역한 『악성코드 분석가의 비법서』와는 동일한 주제를 다른 방식으로 풀이한 책이다. 일부 겹치는 내용이 있기는 하지만, 다른 관점에서 예제와 더불어 포괄적인 주제를 기본에 충실하게 빠짐없이 다룬다. 특히 장별로 저자가 작성한 샘플 악성코드를 직접 테스트하고 상세한 설명을 통해 해당 주제를 이해할 수 있게 구성돼 있다. 악성코드 분석에 대한 기초가 부족한 독자의 경우에도 책의 내용을 따라가면서 이해할 수 있다. 이 책은 기본에서 시작해 고급까지 모든 내용을 포괄함으로써 악성코드 분석에 관심을 가진 초심자와 더불어 이미 현업에서 악성코드를 분석 중이거나 보안 관련 업무로 인해 악성코드 분석에 대한 실습이 필요한 모두에게 적합한 책이다. 실습 예제가 포함돼 있기 때문에 교육 기관에서 학습서로 활용하기에도 부족함이 없는 내용을 포함하고 있다. 총 6 부로 구분돼 있는 책의 내용을 독자의 목적에 따라 습득한다면 빠른 시간 안에 원하는 목적의 정보와 지식을 습득할 수 있으며, 실습을 통해 숙달할 수 있을 것이라고 생각한다. ---본문 중에서 |
|
악성코드 분석은 끊임없이 등장하는 악성코드와 제로데이 등으로 인해 보안 분야의 뜨거운 감자로 급부상했다. 이 책은 악성코드 분석의 초심자를 비롯해 중고급자에게 충분한 지식을 전달할 수 있게 구성되었으며, 악성코드 분석 기법과 사용 도구, 그리고 악성코드 분석의 고급 기법을 다룬다. 특히 저자가 직접 작성한 악성코드 샘플을 각 장의 문제와 더불어 풀이해줌으로써 문제를 고민하고 실습을 통해 체득해 악성코드 분석에 대한 이해와 능력을 크게 향상시킬 수 있다.
이 책에서 다루는 내용 ■ 악성코드 분석에 안전한 가상 환경 구축 ■ 신속한 네트워크 시그니처와 호스트 기반 식별자의 추출법 ■ IDA Pro, OllyDbg, WinDbg 같은 주요 분석 도구의 사용법 ■ 난독화, 안티디스어셈블리, 안티디버깅, 안티가상머신 기법 같은 악성코드 속임수의 우회법 ■ 악성코드 분석에 필요한 새로운 윈도우 내부 지식 ■ 가장 대중적인 다섯 개의 패커를 이용한 악성코드 언패킹 진행과 실전 연습 ■ 셸코드, C++, 64비트 코드 같은 특수한 경우의 악성코드 분석 이 책의 구성 이 책은 상대적으로 복잡하지 않은 프로그램에서 정보를 얻을 때 사용할 수 있는 쉬운 방법으로 시작해 가장 정교한 악성 프로그램 분석에도 사용할 수 있는 복잡한 기법으로 나아간다. 다음은 각 장에서 다루는 내용이다. 0장, 악성코드 분석 입문은 악성코드 분석의 전체 프로세스와 방법론을 제시한다. 1장, 기초 정적 분석 기법은 실제 실행하지 않고 실행 파일에서 정보를 얻는 방법을 알려준다. 2장, 가상 머신에서의 악성코드 분석은 악성코드 실행 시 안전한 환경을 구축해 실습할 수 있게 한다. 3장, 기초 동적 분석은 실행을 통해 사용하기 쉬우면서도 효과적으로 악의적인 프로그램을 분석하는 방법을 가르쳐준다. 4장, X86 디스어셈블리 속성 과정은 IDA Pro 사용을 위한 기초 지식과 깊이 있는 악성코드 분석을 수행할 수 있게 x86 어셈블리어를 소개한다. 5장, IDA Pro는 악성코드 분석에 가장 중요한 도구인 IDA Pro를 사용하는 방법을 다룬다. 이 책 전반적으로 IDA Pro를 사용한다. 6장, 어셈블리어에서의 C 코드 구조 식별은 어셈블리로 된 C 코드 예제를 통해 어셈블리 코드의 상위 레벨 기능을 이해하는 방법을 설명한다. 7장, 악의적인 윈도우 프로그램 분석은 악의적인 윈도우 프로그램을 이해하는 데 필요한 다양한 윈도우 기반 개념을 다룬다. 8장, 디버깅에서는 디버깅 기초와 디버거를 사용하는 방법을 설명한다. 9장, OllyDbg는 악성코드 분석가에게 가장 대중적인 OllyDbg를 사용하는 방법을 보여준다. 10장, WinDbg를 이용한 커널 디버깅은 WinDbg 디버거를 이용해 커널 모드 악성코드와 루트킷을 탐지하는 방법을 다룬다. 11장, 악성코드의 행위 특성은 공통된 악성코드의 기능과 악성코드를 분석할 때 해당 기능을 인지하는 방법을 설명한다. 12장, 위장 악성코드 실행에서는 다른 프로세스 내에서 실행되는 것을 숨기는 은폐형 악성 프로그램을 분석하는 방법을 다룬다. 13장, 데이터 인코딩은 네트워크 트래픽이나 피해 호스트에서 악성 행위를 식별하지 못하게 하기 위해 사용하는 데이터 인코딩 방법을 설명한다. 14장, 악성코드 기반 네트워크 시그니처는 캡처된 트래픽만으로 작성한 시그니처보다 더 나은 네트워크 시그니처를 만들기 위해 악성코드를 분석하는 방법을 설명한다. 15장, 안티디스어셈블리는 악성코드 제작자가 디스어셈블하기 어렵게 악성코드를 설계하는 방법과 이 기법을 인식하고 성공적으로 분석하는 방법을 설명한다. 16장, 안티디버깅은 악성코드 제작자가 코드를 디버깅하기 어렵게 하는 기법과 이런 난관을 극복하는 방법을 설명한다. 17장, 안티가상머신 기법은 악성코드가 가상 환경에서 분석하기 어렵게 하는 기법과 이 기법을 우회하는 방법을 설명한다. 18장, 패커와 언패킹은 악성코드가 실제 목적을 숨기기 위해 패킹을 사용하는 방법과 패킹된 프로그램을 언패킹하는 단계적인 접근법을 다룬다. 19장, 셸코드 분석은 셸코드가 무엇인지와 악의적인 셸코드 분석에 특화된 팁과 속임수를 설명한다. 20장, C++ 분석은 C++코드가 컴파일되면 어떻게 다르게 보이는지, 그리고 C++로 생성한 악성코드의 분석 방법을 알아본다. 21장, 64비트 악성코드는 악성코드 제작자가 64비트 악성코드를 이용하는 이유와 x86과 x64 간의 차이점을 알기 위해 필요한 사항을 다룬다. 부록 A, 주요 윈도우 함수는 악성코드가 자주 사용하는 윈도우 함수를 간단히 소개한다. 부록 B, 악성코드 분석 도구는 악성코드 분석가에게 유용한 도구 목록을 제공한다. 부록 C, 실습 문제 풀이는 책 전체의 장에 포함된 실습 문제에 대한 풀이를 제공한다. 이 책에 쏟아진 각계의 찬사 악성코드 분석에 뛰어난 속성 과정이다. 디노 다이 조비 / 개인 보안 컨설턴트 …… 악성코드 분석에 대한 매우 포괄적인 가이드로, 특히 현대 악성코드를 분석할 때 난해한 부분을 이해하는 데 필요한 모든 필수 기술을 세부적으로 다룬다. 크리스 이글 / 해군 대학원 전산학 전문 강사 악성코드 분석을 직접 따라할 수 있는 소개서다. 윈도우 악성코드를 파헤치고 싶은 모든 이에게 추천한다. 일팍 귀파노프 / IDA Pro 제작자 …… 훌륭한 악성코드 분석 소개서다. 모든 장에서 기술적인 세부 설명과 직접 따라할 수 있는 실습을 통해 실제 악성코드에 바로 응용할 수 있다. 세바스찬 포스트 / 구글 소프트웨어 엔지니어 …… 독자에게 모든 수준의 역공학 기술을 소개한다. 기술적으로 많은 내용과 접근 가능한 방식으로 실습을 통해 독자가 역공학의 예술과 과학을 좀 더 깊이 이해할 수 있게 안내할 것이다. 이 책을 초보자와 전문가에게 모두 강력히 추천한다. 대니 퀴스트 / PHD, 오펜시브 컴퓨팅 설립자 악성코드 책을 단 한 권만 읽기를 원하거나 악성코드 분석 세계의 문을 열고 싶다면 바로 이 책이 정답이다. 패트릭 엥브리스톤 / 다코다 주립대 IA 교수이자 『해킹과 침투 테스팅 기초』의 저자 …… 소프트웨어 보안과 침입 탐지 시스템에 관련된 대학원 수준의 고급 강좌의 강의 교재로 적합하다. 특히 실습 내용은 악성코드 소프트웨어의 역공학, 분석, 이해하는 방법을 학생에게 가르칠 때 유용하다. 살 스톨포 / 콜롬비아 대학 교수 |