Top

악성코드와 멀웨어 포렌식

  • 원서명Malware Forensics: Investigating and Analyzing Malicious Code (ISBN 9781597492683)
  • 지은이제임스 아퀼리나, 에이헨 케이시, 카메론 말린
  • 옮긴이박재호
  • ISBN : 9788960773493
  • 40,000원
  • 2012년 10월 08일 펴냄
  • 페이퍼백 | 840쪽 | 188*250mm
  • 시리즈 : 디지털 포렌식

책 소개

최근 관심이 집중되고 있는 ’현장 포렌식' 분야에서 디지털 조사관들이 중요한 범죄 증거를 수집하고 획득하기 위한 방법을 자세하게 설명하는 실무서다. 특정 운영체제에서 동작하는 특정 도구만 다루는 책이나 원론적인 이론만 다루는 책과는 달리, 멀웨어로 인해 문제가 발생한 시스템에서 악성 코드를 찾아내고 감염에 따른 영향을 파악하기 위해 기술적인 맥락에서 현장 보존부터 사후 분석까지 디지털 포렌식의 전체 주기를 다룬다. 또한 윈도우와 리눅스 운영체제를 대상으로 휘발성 증거 보존과 수집, 물리 메모리와 프로세스 메모리 덤프, 멀웨어와 증거물 추출, 의심스런 파일 식별과 프로파일링, 악성 코드 정적 분석과 동적 분석 기법을 시나리오와 현장 사례 연구를 들어 단계별로 설명한다.


[ 소개 ]

악성코드 포렌식에 대한 유일한 실전 지침서!

전염성이 있는 웜, 봇넷, 루트킷, 트로이목마 프로그램(멀웨어로 알려진) 같은 인터넷의 어두운 측면을 상세히 분석한다. 상세하고 자세한 이 지침서는 멀웨어를 격리해 포렌식 연구실 환경에서 실험하는 내용부터 의심스런 코드를 해부해 기원과 공격자를 조사하는 과정에 이르기까지 악성코드 사고에 대응하기 위한 완벽한 과정을 설명한다. 실제 조사 경험이 풍부한 보안 전문가가 작성한 이 책은 해당 주제에 대해 가장 교육적인 내용을 담았으며, 특수 도구, 그림, 사례, 연습, 점검 목록을 사용해 독자에게 실질적이면서 단계적인 기술과 법적 지침을 제공한다.


[ 아마존 독자들의 극찬을 받은 포렌식 분야 최고의 책 ]

멀웨어 포렌식을 시작하는 최고의 책 ★★★★★
컴퓨터 포렌식과 멀웨어 분석을 하는 입장에서, 시중에 나온 책 중에서 멀웨어 분석 기법을 익히고 멀웨어 관련 사고에 대응하기 위한 가장 좋은 책이라고 확실하게 말할 수 있다. 참고하기 위해 이 책을 주기적으로 읽어보곤 한다. - 브라이언 헌들리

모든 사람을 위한 책 ★★★★★
멀웨어 분석과 컴퓨터 포렌식에 상대적으로 늦게 입문한 상태에서, 이 책이 얼마나 도움을 줄지 조금 걱정스러웠다. 입문서는 물론이고 참고서로서도 사용 가능한 책을 원했는데, 예상이 딱 들어맞았다. 윈도우와 리눅스를 모두 다루며 전반적으로 참조하기에 특히 유용하다는 생각이다. 이 책의 흐름은 매우 직관적이다. 특히 도구와 기법을 설명하는 기초로 하는 사례 연구가 흥미로웠다. - 책벌레

기업 고객에게 조언하는 조사관이나 변호사들을 위한 필독서 ★★★★★
이 책은 디지털 금고를 털기 위한 열쇠를 훔치려는 인터넷 범죄자로 인해 희생된 회사들을 위해 활동하는 변호사와 조사관들에게 필독서다. 의도는 물론이고 공격의 근원을 파악하는 과정에서 포렌식 조사관들과 기업 희생양이 직면하는 법적 쟁점과 조사 쟁점을 완벽하게 다룬다. - M. 즈와이벡

독보적이다 ★★★★★
IT 분야에서 10년 넘게 있으며, 시류에 뒤처지지 않기 위한 고품격 참고서를 계속해서 찾고 있었다. 이 책은 의문의 여지 없이 지금까지 찾았던 책 중에 가장 완벽하며 즐겁게 읽을만한 악성코드와 멀웨어 서적이다. 예제와 도해는 에두르지 않고 핵심을 찌르며, 전문가에게 아주 유효한 내용을 제공할뿐만 아니라 심지어 다소 기술과 무관한 경험자조차도 조사 과정을 이해하도록 도와준다. 다른 책과는 달리, 이 책은 현장 실무 경험으로만 얻을 수 있는 법적인 과정에 대한 통찰력을 제공한다. - 브라이언 D. 듀헨

닥치고 필독서 ★★★★★
멀웨어 포렌식에 관심이 많고 악성코드를 알고 싶어 하는 모든 사람을 위한 절대적인 필독서다. 이 책은 엄청나게 꼼꼼하며, 멀웨어를 뜯어보고 이를 토대로 분석을 즐기기 위한 단계별 과정을 제공한다. 또한 독자들이 악성 코드 개발자의 심리를 파악하도록 안내하며, 코드의 예상 동작 방식을 설명한다. - 네일 와링

완벽한 지침서 ★★★★★
이 책은 윈도우와 리눅스 기반 시스템에서 멀웨어 사고 대응 방법을 이해하기 위한 귀중한 참고서다. 저자들은 단계별로, 사례 연구 방식으로 접근하며, 긴급 대응 포렌식 과정부터 메모리 분석을 거쳐 사후 포렌식에 이르기까지 독자들에게 걸어야 할 길을 안내하는 멋진 성과를 거뒀다. 각 장은 사례 연구를 들어 깊숙하게 다양한 도구 사용법을 설명하고 풍부한 대안 도구를 독자들이게 제시한다. 두껍고 분량이 많긴 하지만, 멀웨어 사고에 대응하기 위한 훌륭한 동반자이자, 호기심을 자극하고 즐거움을 주는 필독서가 될 것이다. - 더스티 유케일리


[ 이 책에서 다루는 내용 ]

■ 동작 중인 윈도우와 리눅스 시스템에서 휘발성 자료 수집과 검사
■ 윈도우와 리눅스 시스템에서 멀웨어 증거물을 찾기 위한 물리 메모리와 프로세스 메모리 덤프 분석
■ 유닉스와 윈도우 시스템에서 증거물 발견과 추출


[ 이 책의 구성 ]

1장 멀웨어 사고 대응: 동작 중인 윈도우 시스템에서 휘발성 자료 수집과 검사
휘발성 자료 보존의 가치를 이해하고 포렌식 관점에서 이런 자료를 건전한 방법으로 보존하는 실전 지침을 확인한다.

2장 멀웨어 사고 대응: 동작 중인 리눅스 시스템에서 휘발성 자료 수집과 검사
포렌식 관점에서 리눅스 기계로부터 휘발성 자료를 보존하는 건전한 방법론을 연구하고, 사례 연구를 활용해 운영체제에 존재하는 정보의 강점과 약점을 설명한다.

3장 메모리 포렌식: 멀웨어 관련 증거물에 대한 물리적인 메모리 덤프와 프로세스 메모리 덤프 분석
다양한 도구를 활용해 윈도우와 리눅스 시스템으로부터 메모리 덤프와 프로세스 메모리 내용을 획득할 수 있는 방법을 제공하고, 핵심 메모리 구조체와 해석 방법을 설명한다.

4장 사후 분석 포렌식: 윈도우 시스템에서 멀웨어 관련 증거물 발견과 추출
하드 드라이브의 포렌식 복제로부터 유용한 정보를 복구하는 포렌식 검사 기법을 알아보며, 윈도우 컴퓨터에서 멀웨어가 생성한 일반적인 증거물의 예를 살펴본다.

5장 사후 분석 포렌식: 리눅스 시스템에서 멀웨어 관련 증거물 발견과 추출
멀웨어 사고와 관련된 리눅스 컴퓨터용 검사 방법론을 실례를 들어 살펴본다. 이런 포렌식 검사 방법론은 보안에 문제가 생긴 호스트나 악성코드의 동작 방식을 배우기 위해 의도적으로 멀웨어에 감염시킨 테스트 시스템 모두에 적용할 수 있다.

6장 법적인 고려사항
멀웨어 포렌식 조사 과정에서 밝혀낸 자료와 디지털 증거물의 접근, 보존, 수집, 이동에 관련된 몇 가지 요구 사항과 제약을 알아본다.

7장 파일 식별과 프로파일링: 윈도우 시스템에서 의심스런 파일의 초기 분석
윈도우 시스템에서 의심스런 파일의 초기 분석을 수행하기 위한 방법론, 기법, 도구를 배운다.

8장 파일 식별과 프로파일링: 리눅스 시스템에서 의심스런 파일의 초기 분석
리눅스 환경에 초점을 맞춰 의심스런 파일의 초기 분석을 수행하기 위한 방법론, 기법, 도구를 배운다.

9장 의심스런 프로그램 분석: 윈도우
동적 분석과 정적 분석 기법을 사용해 윈도우 시스템에서 의심스런 프로그램의 특질과 기능에 대한 풍부한 정보를 얻는다.

10장 의심스런 프로그램 분석: 리눅스
리눅스 환경에 초점을 맞춰 동적 분석과 정적 분석 기법을 사용해 의심스런 프로그램의 특질과 기능에 대한 풍부한 정보를 얻는다.

저자/역자 소개

[ 저자 서문 ]

지난 몇 년 동안 악의적이고 불법적인 용도로 개발된 프로그램이 급격히 늘어났다. 2008 시만텍 인터넷 보안 위협 보고서는 이전 12개월 동안 백만 개가 넘는 컴퓨터 바이러스가 만들어져 시중에 돌아다닌다고 발표했다. F시큐어를 비롯한 다른 안티바이러스 업체도 2007년 이래 신규 바이러스가 급격하게 증가했다는 비슷한 내용을 발표했다. 과거에는 악성코드를 기능과 공격 매개체에 따라 명확하게 분류해 왔다(예: 바이러스, 웜, 트로이 목마). 오늘날의 멀웨어는 모듈화돼 있으며 다방면에 걸친 기능을 탑재하고 있다. 다시 말해 특정 범주에 딱 맞기보다는 다양한 기능과 여러 전파 수단으로 무장하고 ‘혼합형 위협’을 가하는 멀웨어 표본이 늘어나고 있다. 이런 멀웨어 중 상당수는 계속 늘어나고 있는 조직적이며 전문적인 컴퓨터 범죄자들을 지원하기 위해 만들어졌다.

뿐만 아니라 범죄자들은 컴퓨터를 통제하고 개인적인 비밀이나 이익을 얻기 위해 독점 정보를 훔쳐내는 데 멀웨어를 광범위하게 활용한다. 2008년 4월, 스크립트 ‘nihaorr1.com/1.js’를 데이터베이스에 밀어 넣기 위한 새로운 SQL 인젝션 취약점을 악용한 광범위한 공격이 있었다. 개인이 감염된 웹사이트에 접근할 때 ‘1.js’ 스크립트는 브라우저를 www.nihaorr1.com으로 접속하게 만든 후 웹 브라우저 세계에 알려진 다양한 취약점을 사용해 암호 가로채기 프로그램을 설치하려 든다.

게다가 일부 국가에서는 산업 스파이나 군사 스파이를 지원할 목적으로 특수한 멀웨어를 개발하는 고도로 숙달된 해커 팀에 투자하고 있다.

범죄를 저지르고 감추기 위해 멀웨어를 사용하는 사례가 늘어남에 따라 과거 백신 업체와 보안 연구원만의 전유물이었던 멀웨어 분석 기법과 도구를 점점 더 많은 디지털 조사관들이 적극 활용한다.

이 책의 집필 목적은 디지털 조사관들이 컴퓨터 시스템에서 멀웨어를 파악하고 멀웨어를 분해해 기능과 목적을 파헤치고, 목표 시스템에 침투한 악성 멀웨어를 찾아내는 작업을 돕는 데 있다. 관련된 도구와 각종 기법을 보여주기 위해 책 전반에 걸쳐 실제 사례를 다루는 시나리오를 사용했다. 또한 멀웨어 분석을 포렌식 분야에 적용할 목적으로, 디지털 조사관들이 임무를 안정적, 반복적, 방어적, 체계적으로 문서화된 방법에 따라 수행하기 위한 방법론을 제공하며, 법적인 고려 사항을 설명한다.


[ 저자 소개 ]

제임스 아퀼리나 (James M. Aquilina)
디지털 컴퓨터 포렌식, 전자 자료 보존/분석/제작, 컴퓨터 사기와 오용 대응, 컴퓨터 보안에 특화된 기술 서비스와 컨설팅 회사인 스트로츠 프리드베그(Stroz Friedberg)의 수석 관리자이자 고문 변호사다.

에이헨 케이시 (Eoghan Casey)
국제적인 범위의 네트워크 침입 등의 광범위한 조사 분야에서 디지털 증거물을 분석하고 보안 침해에 맞서는, 사고 대응과 디지털 포렌식 분석가다.

카메론 말린 (Cameron H.Malin)
캘리포니아 주 로스앤젤레스 사이버 범죄 팀에 속한 FBI의 특수 요원이며, 컴퓨터 침입과 악성코드 사고 조사를 맡고 있다.


[ 옮긴이의 말 ]

요즘 들어 컴퓨터와 관련된 범죄 소식이 부쩍 늘어나는 느낌이다. 2011년 한 해만 하더라도 제2금융권 회원 정보가 유출돼 고객 정보가 새나가는 바람에 일대 소동이 벌어졌고, 이를 비웃듯 제1금융권 서버 센터가 공격을 받아 며칠 동안 금융 거래가 중단되는 초유의 사태가 벌어졌으며, 3500만 명에 이르는 회원을 보유한 포털 사이트가 해킹됨으로써 사실상 전 국민의 개인 정보가 모두 노출되는 심각한 사태에 직면했다. 그리고 서울시장 보궐 선거 당시에는 선관위 홈페이지까지 공격 받음으로써 경제, 사회 분야는 물론이고 정치 분야까지 검은 먹구름이 드리웠다. 무차별적인 스팸 메일 전송은 이미 옛날이야기가 돼버렸고, 봇과 악성코드를 동원한 분산 서비스 거부 공격은 물론이고 신원 도용과 사이버 테러까지 거의 모든 유형의 공격에서 대한민국도 더 이상 자유롭지 않은 상황이 돼버린 셈이다. 과거에는 호승심을 발휘해 자신을 드러내기 위해 사이버 범죄를 저질렀다면 요즘에는 돈을 목적으로 하기 때문에 기업화된 체계적인 공격으로 인해 피해 규모도 점점 더 커지는 상황이다.

이런 상황에서 어떻게 대응해야 할까? 전 세계가 사실상 거대한 네트워크로 묶여 있는 상황에서 팔짱 끼고 강 건너 불구경하는 상황은 이미 지났고 완벽한 방어를 하지 못하더라도 최소한 상황을 악화시키지 않도록 사태 파악과 대응에 필요한 전문 지식을 갖춰야 한다. 하지만 인터넷에 떠도는 단편적인 지식을 모은다고 해서 효과적인 대응 방안이 저절로 나오기를 기대하는 것은 폐차장에 모아놓은 자동차 고철 더미가 강풍에 합쳐져 전투기가 만들어지리라 기대하는 바와 다름 아니다. 하지만 이런 어려운 상황을 도와주기 위해 『악성코드와 멀웨어 포렌식』이라는 실전 지침서가 나왔다. 이 책은 악성코드 사고에 대응하기 위해 멀웨어를 찾아내고 기능을 분석하고 대응책을 마련하는 완벽한 지침을 제공한다. 단순한 프로그램 설명이나 교과서적인 이론은 완전히 배제하고, 윈도우와 리눅스 시스템에 침투한 멀웨어를 사실상 실전에 가깝게 철저하게 파고드는 방법을 사례 연구를 곁들여 설명한다.

멀웨어 분석과 대응은 리눅스/윈도우 프로그래밍 분야에서 중요한 리버스 엔지니어링/디버깅과 겹치는 부분이 상당히 많으므로 시스템에 대해 충분한 지식과 저수준 C 프로그래밍 기법을 이해하고 필요에 따라서는 컴파일러 최적화나 메모리 덤프를 사용한 호출 스택 확인과 같은 고급 기법도 이해하고 있어야 한다. 멀웨어가 됐든 오픈소스 소프트웨어가 됐든 유지 보수가 됐든 남이 만든 프로그램을 이해해야 한다는 커다란 목표는 동일하므로, 보안 분야에 몸담지 않더라도 보안에 어느 정도 관심이 있는 전문 프로그래머라면 이 책에 나오는 다양한 기법을 눈여겨보고 다른 분야에도 응용이 가능할 것이다.

이 책은 처음부터 끝까지 철저하게 기술서를 표방함에도 불구하고 (미국과 유럽 쪽에 주로 해당하는 내용이긴 하지만) 법적인 관점에서 체계적으로 사고 대응에 나서는 방법도 조언한다. 물론 이 책 한 권만으로 변호사의 전문적인 법률 컨설팅을 완벽하게 대체한다고 보기는 어렵지만, 악성코드 분석가들이 알아야 하는 기본적인 법률 지식과 주의 사항을 충분히 설명하고 있으므로 기본기를 다지기에 부족함이 없어 보인다. 실제 수사 기관과 법률 기관에 오랫동안 근무한 베테랑급 분석가에다가 FBI의 보안 전문 특수 요원까지 가세해서 이 책을 만들었으므로 기존의 보안서와는 또 다른 실무적인 통찰력을 제공하리라 확신한다.

이 책을 번역하는 과정에서 본문에 나오는 모든 URL을 검토해 최신 정보로 업데이트하려고 노력했지만, M&A가 잦고 은밀하게 물밑에서 움직이는 보안업계의 특성상 언제든지 사라지거나 위치가 바뀔 수 있다는 사실을 기억하자. 또한 책에 나오는 소프트웨어의 버전과 기능도 지속적으로 바뀌므로 책을 읽는 도중에 추가 정보를 얻기 위해 인터넷 검색 엔진에서 최신 정보를 습득할 필요가 있다. 지금은 업데이트가 중단된 상태지만 이 책(원서)의 공식 사이트인 malwareforensics.com 에서 여러 가지 윈도우/리눅스 기반 분석 도구와 온라인 자원에 대한 링크를 제공하므로 책을 읽으면서 참조하면 도움이 되겠다.


[ 옮긴이 소개 ]

박재호
포항공과대학교 컴퓨터공학과 학부와 컴퓨터공학과 대학원을 졸업했다. 블로그 ‘컴퓨터 vs 책(http://jhrogue.blogspot.com)’을 운영 중이다. 옮긴 책으로 에이콘출판사에서 펴낸 『조엘 온 소프트웨어』, 『초난감 기업의 조건』, 『리눅스 시스템 관리 완벽 가이드』, 『코드로 읽는 리눅스 디바이스 드라이버』 등이 있다.

목차

목차
  • 01장 멀웨어 사고 대응: 동작 중인 윈도우 시스템에서 휘발성 자료 수집과 검사
    • 개요
    • 실시간 대응 툴킷 제작
    • 휘발성 자료 수집 방법
    • 프로세스 정보 수집
    • 열린 포트를 동작 중인 프로세스나 프로그램과 관련짓기
    • 서비스와 드라이버 파악
    • 스케줄이 걸린 작업 파악
    • 클립보드 내용 수집
    • 동작 중인 윈도우 시스템에서 비휘발성 자료 수집
    • 동작 중인 윈도우 시스템에서 포렌식용 저장소 매체 복제
    • 동작 중인 윈도우 시스템에서 포렌식용 관련 자료 보존
    • 윈도우용 사고 대응 도구 스위트
    • 정리
    • 참고 자료
  • 02장 멀웨어 사고 대응: 동작 중인 리눅스 시스템에서 휘발성 자료 수집과 검사
    • 개요
    • 휘발성 자료 수집 방법
    • 동작 중인 리눅스 시스템에서 비휘발성 자료 수집
    • 정리
  • 03장 메모리 포렌식: 멀웨어 관련 증거물에 대한 물리적 메모리 덤프와 프로세스 메모리 덤프 분석
    • 개요
    • 메모리 포렌식 방법론
    • 구식 메모리 분석 기법
    • 윈도우 메모리 포렌식 도구
    • 활성, 비활성, 은닉 프로세스
    • 윈도우 메모리 포렌식 도구의 동작 원리
    • 동작 중인 윈도우 시스템에서 프로세스 메모리 덤프와 분석
    • 프로세스 캡처와 메모리 분석
    • 리눅스 메모리 포렌식 도구
    • 리눅스 메모리 포렌식 도구의 동작 원리
    • 리눅스 시스템에서 프로세스 메모리 덤프와 분석
    • 프로세스 메모리 캡처와 검사
    • 정리
    • 참고 자료
  • 04장 사후 분석 포렌식: 윈도우 시스템에서 멀웨어 관련 증거물 발견과 추출
    • 개요
    • 보안에 문제가 생긴 윈도우 시스템을 포렌식 기법으로 검사
    • 기능 분석: 윈도우 컴퓨터 복원
    • 윈도우 시스템에서 멀웨어 발견과 추출
    • 서비스, 드라이버 자동 실행 위치, 예약 작업 검사
    • 윈도우 시스템에서 멀웨어 발견과 추출을 위한 고급 기법
    • 정리
  • 05장 사후 분석 포렌식: 리눅스 시스템에서 멀웨어 관련 증거물 발견과 추출
    • 개요
    • 리눅스 시스템에서 멀웨어 발견과 추출
    • 정리
  • 06장 법적인 고려 사항
    • 개요
    • 쟁점 형성
    • 조사 권한의 근원
    • 권한의 법적 제약
    • 자료 수집을 위한 도구
    • 국경을 넘는 자료 수집
    • 법 집행 참여
    • 증거 채택 가능성 높이기
    • 참고 자료
  • 07장 파일 식별과 프로파일링: 윈도우 시스템에서 의심스런 파일의 초기 분석
    • 개요
    • 사례 연구: 화끈한 새 비디오!
    • 파일 프로파일링 과정 개괄
    • 실행 파일을 대상으로 작업
    • 파일 유사성 지수 비교
    • 파일 시그니처 파악과 분류
    • 심볼과 디버그 정보
    • 파일 난독화: 패킹과 암호화 파악
    • 내부에 숨겨진 증거물을 다시 추출
    • 정리
    • 참고 자료
  • 08장 파일 식별과 프로파일링: 리눅스 시스템에서 의심스런 파일의 초기 분석
    • 개요
    • 파일 프로파일링 과정 개괄
    • 리눅스 실행 파일을 대상으로 작업
    • 파일 시그니처 파악과 분류
    • 내부에 숨겨진 증거물 추출: 문자열, 심볼 정보, 파일 메타데이터
    • 파일 난독화: 패킹과 암호화 신원 확인
    • 내부에 숨겨진 증거물을 다시 추출
    • ELF 파일 구조
    • 정리
    • 참고 자료
  • 09장 의심스런 프로그램 분석: 윈도우
    • 개요
    • 목표
    • 악성 실행 프로그램을 검사하는 지침
    • 환경 기준 수립
    • 실행 전 준비: 시스템과 네트워크 감시
    • 시스템과 네트워크 감시: 파일 시스템, 프로세스, 네트워크, API 활동
    • 내부에 숨겨진 증거물을 다시 보기
    • 악성코드 기능/목적 탐구와 검증
    • 사건 재구성과 증거물 검토: 파일 시스템, 레지스트리, 프로세스, 네트워크 활동 사후 자료 분석
    • 정리
  • 10장 의심스런 프로그램 분석: 리눅스
    • 개요
    • 분석 목표
    • 실행 전 준비: 시스템과 네트워크 감시
    • 난독화 해독: 멀웨어에서 방어막 제거
    • 공격 기능 검토와 비교
    • 추가적인 기능과 위협 범위 평가
    • 다른 고려 사항
    • 정리

도서 오류 신고

도서 오류 신고

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

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

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