Top

지능형 지속 위협(APT) 공격에 활용되는 악성코드 원리와 탐지, 심화 분석 (세트)

  • 지은이마이클 시코스키, 앤드류 호닉, 마이클 할레 라이, 스티븐 어드에어, 블레이크 할스타인, 매튜 리차드, 마커스 야콥슨, 줄피카 람잔
  • 옮긴이여성구, 구형준, 박호진, 민병호, 김수정
  • ISBN : 9788960774896
  • 112,000원
  • 2013년 11월 08일 펴냄
  • 페이퍼백 | 2,600쪽 | 188*250mm
  • 시리즈 : 해킹과 보안

책 소개

세트 구성: 전3권

1) 『실전 악성코드와 멀웨어 분석: Practical Malware Analysis』
2) 『악성코드 분석가의 비법서: Malware Analysis Cookbook and DVD』
3) 『크라임웨어: 쥐도 새도 모르게 일어나는 해킹 범죄의 비밀』

『실전 악성코드와 멀웨어 분석』 소개

악성코드 분석은 끊임없이 등장하는 악성코드와 제로데이 등으로 인해 보안 분야의 뜨거운 감자로 급부상했다. 이 책은 악성코드 분석의 초심자를 비롯해 중고급자에게 충분한 지식을 전달할 수 있게 구성되었으며, 악성코드 분석 기법과 사용 도구, 그리고 악성코드 분석의 고급 기법을 다룬다. 특히 저자가 직접 작성한 악성코드 샘플을 각 장의 문제와 더불어 풀이해줌으로써 문제를 고민하고 실습을 통해 체득해 악성코드 분석에 대한 이해와 능력을 크게 향상시킬 수 있다.

이 책에서 다루는 내용

■ 악성코드 분석에 안전한 가상 환경 구축
■ 신속한 네트워크 시그니처와 호스트 기반 식별자의 추출법
■ IDA Pro, OllyDbg, WinDbg 같은 주요 분석 도구의 사용법
■ 난독화, 안티디스어셈블리, 안티디버깅, 안티가상머신 기법 같은 악성코드 속임수의 우회법
■ 악성코드 분석에 필요한 새로운 윈도우 내부 지식
■ 가장 대중적인 다섯 개의 패커를 이용한 악성코드 언패킹 진행과 실전 연습
■ 셸코드, C++, 64비트 코드 같은 특수한 경우의 악성코드 분석

『악성코드 분석가의 비법서』 소개

악성코드 분석에 필요한 여러 비법을 소개한 책이다. 악성코드 분석 환경 구축에서 다양한 자동화 분석 도구를 이용한 분석 방법까지 차근히 설명한다. 또한 디버깅과 포렌식 기법까지 상당히 넓은 영역을 난이도 있게 다루므로 악성코드 분석 전문가도 십분 활용할 수 있는 참고 도서다. .

이 책에서 다루는 내용

■ 신분을 노출하지 않고 온라인 조사를 수행하는 법
■ 허니팟을 이용해 봇과 웜이 배포하는 악성코드 수집
■ 의심스러운 내용을 포함한 자바스크립트, PDF, 오피스 문서 분석
■ 가상 머신이나 일체형 하드웨어를 이용해 저렴한 악성코드 연구 환경 구축
■ 일반적인 인코딩과 암호 알고리즘을 리버스 엔지니어링
■ 악성코드 분석을 위한 고급 메모리 포렌식 플랫폼 구성
■ 제우스(Zeus), 사일런트뱅커(Silent Banker), 코어플러드(CoreFlood), 콘플리커(Conficker), 바이러트(Virut), 클램피(Clampi), 뱅크패치(Bankpatch), 블랙에너지(BlackEnergy) 등과 같은 널리 퍼진 악성코드 조사

이 책의 대상 독자

악성코드를 학습하려면 이 책을 읽어야 한다. 포렌식 분석가, 사고 대응가, 시스템 관리자, 보안 엔지니어, 모의 해킹 수행자, 악성코드 분석가, 취약점 연구가, 보안에 관심을 가진 모든 이가 대상이다. 다음과 같은 상황에 있는 독자라면 반드시 읽어야 한다.

■ 사고 대응을 다루는 기관이나 포렌식 팀의 구성원이고, 악성코드를 다루는 새로운 도구이나 기술을 배우고자 한다.
■ 시스템, 보안, 네트워크 관리 업무를 하고 있으며, 엔드 유저를 효과적으로 보호하는 방법을 알고자 한다.
■ 국가 컴퓨터 비상 대응 팀(CERT) 구성원이고, 악성코드 침입 여부를 탐지 조사한다.
■ 백신이나 컴퓨터 연구 관련 업무를 하고 있으며, 최신 악성코드 사례를 분석하고 보고한다.
■ 대학에서 가르치지 않는 기술을 적극적으로 배우고자 하는 학생이다.
■ IT 현장에서 근무하며, 따분함을 느끼고 기술 지식을 다루는 새로운 전문 분야를 찾고 있다.

『크라임웨어』 소개

온라인 해킹 공격이 타인의 정보와 재산을 약탈하는 범죄가 된 지 이미 오래지만, 사용자들은 그 심각성을 미처 깨닫지 못한다. 이 책에서는 컴퓨터 사이버 공격과 인터넷 해킹 등 수많은 범죄로 악용되는 크라임웨어의 경향, 원리, 기술 등 현실적인 문제점을 제시하고 경각심을 불러 일으키며 그에 대한 대비책을 논한다.

이 책에서 다루는 내용

■ 루트 킷, 봇 네트워크, 스파이웨어, 애드웨어, 부정 클릭 등 최신 보안 위협
■ 다양한 크라임웨어 위협 간의 상호작용
■ 보안 위협이 야기하는 사회, 정치, 법적인 문제점 분석
■ 크라임웨어 공격을 탐지하고 막아내는 중요 대응책
■ 보안 위협 기술 예측과 효과적인 방어책 제시

저자/역자 소개

지은이 소개

마이클 시코스키(Michael Sikorski)

맨디언트 사의 컴퓨터 보안 컨설턴트다. 사고 대응 조사에서 악의적인 소프트웨어 역공학 부분을 지원하고, 회사의 연방정부 고객을 대상으로 특화된 연구와 개발 보안 솔루션을 제공한다. 마이크는 여러 악성코드 분석 교육 과정을 제작해서 FBI와 블랙햇을 포함한 다양한 청중을 대상으로 강의했다. MIT 링컨 연구소에서 맨디언트 사로 이직했는데, 수동 네트워크 매핑과 침투 테스팅 관련 연구를 수행했다. NSA 대학원에서 3년간 시스템과 네트워크 통합 과정SNIP 중에 있다. NSA에 근무하는 동안 역공학 기법 연구에 기여했고, 네트워크 분석 분야에서 여러 개의 발명 건으로 수상했다.

앤드류 호닉(Andrew Honig)

미 국방부 정보 보증 전문가다. 국가 암호전문 학교에서 소프트웨어 분석, 역공학, 윈도우 시스템 프로그래밍 강의를 하고 있으며, 국제 정보 시스템 보안 전문가(CISSP)다. 공식적으로 VMware 가상화 제품의 제로데이 공격을 발견했고, 커널 악성코드를 포함한 악의적인 소프트웨어를 탐지하는 도구를 개발했다. 악성코드와 악의적이지 않은 소프트웨어를 분석하고 이해하는 전문가로, 컴퓨터 보안 분야에서 분석가로 10년이 넘는 경력이 있다.

마이클 할레 라이 (Michael Hale Ligh)

베리사인 아이디펜스(Verisign iDefense)의 악성코드 분석가이며, 악성코드 탐지, 복호화, 조사 도구를 개발하는 전문가다. 과거 수년 동안 리오 데 자네이로, 상하이, 쿠알라룸푸르, 런던, 워싱턴 D.C., 뉴욕에서 악성코드 분석 과정을 가르치고, 수백 명의 학생을 교육했다. 아이디펜스 입사 전에는 국가 건강검진센터에서 모의 해킹 서비스를 제공하는 취약점 연구원으로 일하면서 리버스 엔지니어링과 운영체제 내부에 대한 심도 깊은 지식을 쌓았다. 그 전에는 뉴잉글랜드 전 금융기관의 네트워크를 보호하고 포렌식 조사를 수행했다. 현재는 MNIN Security LLC 특수 프로젝트의 수석으로 일한다.

스티븐 어드에어 (Steven Adair)

섀도우서버 파운데이션(Shadowserver Foundation)의 보안 연구원이자 이터치 페더럴 시스템즈(eTouch Federal Systems)의 수석 아키텍트다. 섀도우서버에서 악성코드 분석과 봇넷 추적뿐 아니라 정보 유출 사고를 포함한 모든 종류의 사이버 공격을 조사한다. 국제 컨퍼런스에서 해당 주제에 대해 종종 발표하고 『Shadows in the Cloud: Investigating Cyber Espionage 2.0』이라는 백서를 공동 집필했다. 페더럴 에이전시(Federal Agency)에서 사전 대책으로 사이버 침입 사전 탐지, 완화, 예방 작업을 수행하는 사이버 위협(Cyber Threat)이라는 업무를 맡고 있다. 새롭고 혁신적인 기술을 이용한 모범 사례와 글로벌 네트워크를 통해 기업에 널리 적용 가능한 안티 악성코드 솔루션을 통합 구현했다. 고객 지원 업무나 섀도우서버에서 자유로운 시간을 보낼 때도 항상 악성코드와 일상을 보낸다.

블레이크 할스타인 (Blake Hartstein)

베리사인 아이디펜스(Verisign iDefense)의 긴급 대응 엔지니어로서, 의심스러운 활동과 악성코드를 분석하고 보고하는 업무를 맡고 있다. 쉬무콘(Shmoocon) 2009와 2010에 발표한 웹 기반 익스플로잇을 자동 분석하고 탐지하는 Jsunpack의 제작자다. 또한 이머징 스릿(Emerging Threat) 프로젝트에서 스노트(Snort) 규칙을 작성해 기여했다.

매튜 리차드 (Mathew Richard)

악성코드를 분석하고 보고하는 책임을 가진 레이씨온(Raytheon) 사의 악성코드 처리 책임자다. 매튜는 아이디펜스에서 긴급 대응 팀의 전 책임자였다. 그 이전 7년간은 130개 은행과 신용카드 조합에서 사용되는 보안 관제 서비스를 만들어 운영했다. 또한 여러 국가나 글로벌 기업들을 대상으로 프리랜서로 포렌식 컨설팅을 수행했다. 현재 CISSP, GCIA, GCFA, GREM 자격증을 보유하고 있다.

마커스 야콥슨 박사(Markus Jakobsson, Ph.D.)
현재 팔로 알토 연구소의 수석 과학자며 인디애나 대학교의 임시 부교수도 맡고 있다. 그는 RSA 연구소의 수석 연구원, 뉴욕 대학교의 임시 부교수를 역임한 바 있으며 벨 연구소 기술 스태프로도 활동했다. 보안과 암호학 프로토콜의 인간적인 요소를 연구하며 특히 사생활 보호를 집중적으로 연구하고 있다. 백 편이 넘는 논문을 공동 저술했으며 50개가 넘는 특허와 특허출원중인 특허안의 공동 개발자다. 1997년 샌디에고의 캘리포니아 대학교에서 컴퓨터 과학 분야 박사학위를 취득했다.

줄피카 람잔 박사(Zulfikar Ramzan, Ph.D.)

현재 시만텍 보안 대응 부서의 수석 연구원이다. 피싱, 온라인 사기, 악의적인 클라이언트 측 소프트웨어, 웹 보안 같은 위협 등 온라인 보안을 향상시키는 연구를 하고 있다. 정보 보안과 암호학의 이론과 실제를 아우르는 모든 분야에 관심이 많다. 강연을 많이 했으며 50편이 넘는 기술 문서를 쓰고 책 한 권을 공동 집필했다. MIT의 전기공학과 컴퓨터과학 학부에서 석사와 박사 학위를 취득했으며 암호학과 정보 보안을 주제로 학위 논문을 썼다.

그 밖에 개리 맥그로우, 앤드류 타넨바움, 데이브 콜, 올리버 프리드리히, 피터 페리 등 많은 분과 함께했다.

옮긴이 소개

여성구

보안 컨설팅회사에서 전문 모의해킹을 수행했으며, 넥슨의 CERT 팀장을 거쳐 현재는 넥슨의 IS 감사역(Auditor)으로 활동하고 있다. 다년간 국가기관과 대기업 등 다양한 IT 환경을 대상으로 보안 강화, 모의해킹, 보안 점검, 보안 교육을 수행한 경력과 국내외에서 보안 취약점, 안전한 웹 보안 코딩 가이드라인을 발표한 경력이 있다. 고려대학교 정보보호대학원에서 디지털 포렌식을 전공했으며, 메모리 포렌식과 웹 로그 분석 등을 연구했다. 취미로 공개용 보안 도구(웹 백도어 탐지 도구, 웹 로그 분석기 등)를 제작하고 있다.

구형준

수년간 대기업 IT 환경에서 보안 프로세스 개선, 서비스 보안성 검토, 보안 점검, 보안 솔루션 검토, 보안 교육 등 다양한 경험을 쌓았다. 고려대학교 정보보호대학원에서 디지털 포렌식을 전공했으며, 여러 분야 중, 특히 조사자 관점에서 공격과 방어 부문에 관심이 많다. 현재 뉴욕 주립대에서 박사 과정을 밟고 있다.

박호진

십여 년 전 벤처기업에서 프로그래머로 시작해 다양한 애플리케이션과 시스템을 개발했다. PKI와 DRM을 개발하면서부터 보안에 관심을 갖게 됐고, 악성코드를 잡기 위해 안랩에서 수년 동안 밤낮을 잊고 있었다. 지금까지의 경험과 고려대학교 정보보호대학원에서 전공한 디지털 포렌식을 접목해 안랩에서 침해 사고 분석가로 새로운 분야를 개척했다. 현재는 룩셈부르크에 위치한 넥슨유럽에서 다양한 종류의 공격들을 막아내기 위한 시각화와 상관관계 분석에 관여 중이다.

민병호

서울대학교 컴퓨터공학부를 졸업하고 동 대학원에서 석사 학위를 취득했다. 컴퓨터 보안을 잘 하려면 네트워크, 컴퓨터 구조와 시스템, 프로그래밍 언어, 데이터베이스, 인공지능 등 다양한 컴퓨터 분야를 섭렵해야 한다고 믿고 보안 전문가가 되기 위해 연구/개발에 힘쓰고 있다. 역서로 에이콘출판사에서 펴낸 『TCP/IP 완벽 가이드』, 『새로 보는 프로그래밍 언어』, 『리눅스 방화벽』이 있다.

김수정

카이스트 정보통신공학과를 졸업하고 동 대학원에서 무선통신 석사 학위를 취득했다. 워낙 책을 좋아하는 탓에 학생 때부터 번역 프리랜서로 활동했으며 국내 기술서적의 품질 향상에 일조하고자 큰 뜻을 품고 현재 에이콘출판사 편집자로 일하는 중이다.

목차

목차
  • 『실전 악성코드와 멀웨어 분석』
    • 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 실습 문제 풀이

  • 『악성코드 분석가의 비법서』
  • 1 행동 익명화
    • 오니온 라우터(토르)
    • 토르를 이용한 악성코드 연구
    • 토르의 단점
    • 프록시 서버와 프로토콜
    • 웹 기반 익명기
    • 익명성을 보장받는 대안
    • 무선 전화 인터넷 연결
    • 가상 사설망
    • 접속 식별과 흔적 남기지 않기
  • 2 허니팟
    • nepenthes 허니팟
    • Dionaea 허니팟으로 작업
  • 3 악성코드 분류
    • ClamAV를 활용한 분류
    • YARA를 통한 분류
    • 도구 전체 통합
  • 4 샌드박스와 다중 AV 스캐너
    • 공개 안티바이러스 스캐너
    • 다중 안티바이러스 스캐너 비교
    • 공개 샌드박스를 이용한 분석
  • 5 도메인과 IP 주소 조사
    • 의심스러운 도메인 조사
    • IP 주소 조사
    • Passive DNS와 기타 도구로 조사
    • 패스트 플럭스 도메인
    • 지리 정보 매핑 IP 주소
  • 6 문서, 셸코드, URL
    • 자바스크립트 분석
    • PDF 문서 분석
    • 악의적인 오피스 문서 분석
    • 네트워크 트래픽 분석
  • 7 악성코드 연구실
    • 네트워킹
    • 물리 표적
  • 8 자동화
    • 분석 사이클
    • 파이썬을 이용한 자동화
    • 분석 모듈 추가
    • 기타 시스템
  • 9 동적 분석
    • API 감시/후킹
    • 데이터 보존
  • 10 악성코드 포렌식
    • 슬루스 킷
    • 포렌식/사고 대응 수집 기법
    • 레지스트리 분석
  • 11 악성코드 디버깅
    • 디버거를 이용한 작업
    • Immunity 디버거의 파이썬 API
    • WinAppDbg 파이썬 디버거
  • 12 역난독화
    • 공통 알고리즘 디코딩
    • 복호화
    • 악성코드 언패킹
    • 언패킹 리소스
    • 디버거 스크립트
  • 13 DLL을 이용한 작업
  • 14 커널 디버깅
    • 원격 커널 디버깅
    • 로컬 커널 디버깅
    • 소프트웨어 요구 사항
  • 15 Volatility에 의한 메모리 포렌식
    • 메모리 수집
  • 16 메모리 포렌식: 코드 인젝션과 추출
    • DLL 조사
    • 코드 인젝션과 VAD
    • 바이너리 재구성
  • 17 메모리 포렌식: 루트킷
  • 18 메모리 포렌식: 네트워크와 레지스트리
    • 레지스트리 분석

  • 『크라임웨어』
  • 1장 크라임웨어 개괄
    • 1.1 소개
    • 1.2 크라임웨어 유포
    • 1.3 크라임웨어 위협 모델과 분류
    • 1.4 다양한 크라임웨어
    • 1.5 크라임웨어 배포
    • 1.6 감염과 절도 지점, 초크포인트, 대응책
    • 1.7 크라임웨어 설치
    • 1.8 크라임웨어 사용
    • 1.9 나머지 장의 구성
    • 후기
  • 2장 오류의 종류
    • 2.1 골칫거리 삼형제
    • 2.2 치명적인 7대 오류과
    • 2.3 종
    • 2.4 오류과와 종 정리
  • 3장 P2P 네트워크
    • 3.1 P2P 네트워크 내 악성 프로그램
    • 3.2 사람을 통해 전파되는 크라임웨어
  • 4장 휴대장치용 크라임웨어
    • 4.1 USB 드라이브를 통한 전파
    • 4.2 RFID 크라임웨어
    • 4.3 모바일 크라임웨어
  • 5장 펌웨어용 크라임웨어
    • 5.1 펌웨어 갱신에 의한 전파
    • 5.2 와이파이 악성 프로그램 전염 모델링
  • 6장 브라우저용 크라임웨어
    • 6.1 거래 생성기: 웹 세계의 루트킷
    • 6.2 드라이브 바이 파밍
    • 6.3 자바스크립트를 사용한 부정 클릭
  • 7장 봇 네트워크
    • 7.1 봇넷 소개
    • 7.2 봇넷의 네트워크적 특징
    • 7.3 봇의 소프트웨어적 특정
    • 7.4 웹 봇과 봇넷의 전망
    • 7.5 대응책
  • 8장 루트킷
    • 8.1 루트킷이란?
    • 8.2 루트킷의 역사
    • 8.3 사용자 모드 윈도우 루트킷
    • 8.4 커널 모드 루트킷 기술
    • 8.5 리눅스 루트킷
    • 8.6 바이오스 루트킷
    • 8.7 PCI 루트킷
    • 8.8 가상 기계 기반 루트킷
    • 8.9 루트킷 방어
  • 9장 가상 세계와 사기
    • 9.1 소개
    • 9.2 사기 행각의 무대 MMOG
    • 9.3 전자 사기
    • 9.4 MMOG에서의 사기
    • 결론
  • 10장 사이버범죄와 정치
    • 10.1 도메인 네임 악용
    • 10.2 선거 본부를 타겟으로 하는 피싱
    • 10.3 악성 코드와 보안 위험 요소
    • 10.4 서비스 거부 공격
    • 10.5 인지적 선거 해킹
    • 10.6 공공의 유권자 정보 제공자: FEC 데이터베이스
    • 10.7 음성 통신 가로채기
    • 결론
    • 후기
  • 11장 온라인 광고 사기
    • 11.1 온라인 광고의 역사
    • 11.2 수익 모델
    • 11.3 스팸 유형
    • 11.4 공격 형태
    • 11.5 대응책
    • 11.6 부정 클릭 감사
    • 11.7 부정 클릭의 경제적인 측면
    • 결론
    • 후기
  • 12장 크라임웨어 비즈니스 모델
    • 12.1 크라임웨어 비즈니스
    • 12.2 애드웨어 자세히 알아보기
  • 13장 보안 교육의 방향
    • 13.1 왜 교육이 중요한가?
    • 13.2 사례 연구: 만화를 통한 교육
    • 결론
  • 14장 은닉형 악성 코드와 관련 법
    • 14.1 서론
    • 14.2 은닉형 악성 코드의 특징
    • 14.3 주요 관계 법령
    • 14.4 부수적인 관련 법안
    • 결론
  • 15장 크라임웨어와 신뢰컴퓨팅
    • 15.1 서론
    • 15.2 공격 해부
    • 15.3 크라임웨어와 신뢰컴퓨팅의 전쟁
    • 15.4 사례 연구
    • 결론
  • 16장 방어 기술
    • 16.1 케이스 스터디: 스파이웨어 심층 방어
    • 16.2 크라임웨어 저항 인증
    • 16.3 크라임웨어 방어 메커니즘으로 활약하는 가상 머신
  • 17장 크라임웨어의 미래
    • 17.1 크라임웨어, 테러웨어, 반달웨어, 랜섬웨어
    • 17.2 새로운 애플리케이션과 플랫폼
    • 17.3 소셜 네트워크를 이용한 공격
    • 17.4 인터넷의 새로운 용도: 인프라스트럭처 제어
    • 17.5 크라임웨어의 향후 전망

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안