홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
멀웨어 분석과 리버스 엔지니어링  이미지

멀웨어 분석과 리버스 엔지니어링
멀웨어 탐지부터 리버싱 자동화까지
에이콘출판 | 부모님 | 2024.05.31
  • 정가
  • 48,000원
  • 판매가
  • 43,200원 (10% 할인)
  • S포인트
  • 2,400P (5% 적립)
  • 상세정보
  • 18.8x23.5 | 1.604Kg | 844p
  • ISBN
  • 9791161758503
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 품절된 상품입니다.
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기
  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

멀웨어 분석과 리버스 엔지니어링에 대한 깊은 이해가 사이버 위협에 대응하는 데 필수적임을 보여주며, 기초부터 고급 기술까지 필요한 모든 지식을 체계적으로 제공하는 책이다. 또한 리버스 엔지니어링 과정을 통해 소프트웨어의 내부 구조를 파악하고 취약점을 발견하는 방법을 상세히 설명한다.

  출판사 리뷰

◈ 이 책에서 다루는 내용 ◈

◆ 맞춤형 패커와 컴파일러를 활용해 멀웨어를 효과적으로 분석할 수 있다.
◆ 복잡한 멀웨어를 언패킹하고 주요 구성 요소를 찾아 의도를 파악할 수 있다.
◆ 다양한 정적 및 동적 멀웨어 분석 도구를 사용할 수 있다.
◆ 여러 탐지 엔지니어링 도구를 활용해 멀웨어의 내부 흐름을 변경할 수 있다.
◆ Snort 규칙을 작성하고 Suricata IDS에 규칙을 사용할 수 있다.

◈ 지은이의 말 ◈

사이버 보안 전문가는 멀웨어에 감염된 조직에서 연락을 받으며 감염을 처리하는 방법과 시스템을 보호하는 방법에 대한 질문을 받는다.
대부분의 이야기가 비슷한 패턴을 보인다. 멀웨어 감염이 발생해 안티 멀웨어 프로그램으로 차단하고 시스템을 격리하고 치료했다. 안티 멀웨어 시그니처를 했지만 다시 감염이 발생해 다른 시스템과 직원에게 영향을 미치고 있다.
추가로 질문하면 몇 가지 중요한 질문에 답하지 못하는 경우가 많다.

● 공격의 진입점을 파악했는지?
● 감염이 얼마나 퍼졌는지 확인했는지?
● 멀웨어 감염의 모든 아티팩트(artifact)(결과물)를 파악했는지?
● 사이버 공격의 배후에 있는 위협 행위자와 목적을 파악했는지?
● 멀웨어 감염으로 인한 피해 사항을 경영진에게 보고했는지?

많은 경우 추가 질문의 답변이 확인되지 않아 분석 과정에서 허점이 생기고 네트워크를 통한 추가 감염이 발생하기도 한다. 공격의 배후와 목적을 파악하지 못하는 것은 실제 피해 사항을 완전히 파악하지 못한다는 것을 의미하며, 경영진은 멀웨어 감염으로 인한 비즈니스와 브랜드의 잠재적 피해에 대비하는 계획을 수립할 수도 있다. 바로 이것이 멀웨어 탐지 및 분석 엔지니어링의 중요성이며, 효과적이며 효율적인 멀웨어 업무 처리가 필요한 이유다.
이 책은 제로데이 이니셔티브와 OpenRCE의 창시자인 페드람 아미니에 의해 ‘괴물!’로 묘사됐다. 실제로 이 책은 포괄적인 내용과 연습 문제로 가득 찬 괴물과 같다. 이 책을 마치면 여러분은 모든 멀웨어에 대처할 수 있을 것이다.

◈ 옮긴이의 말 ◈

멀웨어 분석과 리버스 엔지니어링은 정보 보안의 핵심 분야로 자리 잡고 있다. 이 두 분야에 대한 깊은 이해와 전문 지식은 사이버 위협에 효과적으로 대응하기 위해 필수적이다. 이 책은 이러한 지식을 습득하고자 하는 독자들에게 귀중한 자원이 될 것이다.
멀웨어는 점점 더 정교해지고 있으며, 이에 대응하기 위해서는 멀웨어의 작동 원리를 정확히 이해하고 분석할 수 있는 능력이 요구된다. 이 책은 멀웨어 분석의 기초부터 고급 기술에 이르기까지 독자들이 필요로 하는 지식과 기술을 체계적으로 제공한다.
리버스 엔지니어링은 소프트웨어의 내부 구조와 작동 원리를 파악하는 과정이다. 이 과정을 통해 분석가들은 소프트웨어의 취약점을 발견하고, 멀웨어의 의도를 분석할 수 있다. 이 책은 이러한 과정을 상세히 설명하며, 실제 사례를 통해 리버스 엔지니어링의 중요성을 강조한다.
사이버 보안 위협은 지속적으로 증가하고 있으며, 이에 대응하기 위한 전문가의 수요도 높아지고 있다. 이 책은 멀웨어 분석과 리버스 엔지니어링에 관심 있는 모든 이에게 꼭 필요한 지식을 제공한다. 독자들은 이 책을 통해 멀웨어 분석의 기본 개념부터 시작해 실제 멀웨어 샘플을 분석하는 고급 기술까지 습득할 수 있을 것이다.
저자들은 멀웨어 분석과 리버스 엔지니어링 분야에서 오랜 경험을 갖고 있다. 그들의 지식과 경험이 페이지마다 녹아 있으며, 독자들에게 실질적인 도움을 줄 것이다. 특히, 다양한 멀웨어 샘플과 실습을 통해 이론적 지식을 실제 상황에 적용하는 방법을 가르친다.
번역서를 출간함으로써 우리는 국내의 정보 보안 전문가들과 이 분야에 관심 있는 모든 이에게 귀중한 자원을 제공하고자 한다. 한국에서 리버스 엔지니어의 부족 현상을 해소하고, 새로운 인재들이 정보 보안 분야에서 활약하는 모습을 보고 싶다는 바람이다. 리버스 엔지니어링 세계에서 활약할 새로운 인재들의 등장을 기대한다.

  작가 소개

지은이 : 아비짓 모한타
사이버 보안 분야의 전문 컨설턴트이자 기업 트레이너로, 멀웨어 리버스 엔지니어링(malware reverse engineering), 취약점 연구, 안티 바이러스 엔진 개발, 안티 멀웨어 시그니처와 샌드박스 개발 등 광범위한 경험이 있다. 시만텍(Symantec), 맥아피(McAfee), 주니퍼 네트웍스(Juniper Networks)의 안티 멀웨어 연구소에서 근무했으며 여러 특허를 보유하고 있다. 또한 사이버 보안 관련 블로그를 운영하고, 보안 콘퍼런스와 워크숍에서 강연자로 활동하고 있다. 『Preventing Ransomware』(Packt, 2018)의 저자이며, 그의 글은 「eForensics」 잡지를 포함한 여러 블로그와 백서에 인용됐다.

지은이 : 아눕 살다나
미국 국토안보부(DHS, Department of Homeland Security)에서 후원하는 Suricata IDS의 핵심 개발자이자 사이버 보안 분야의 전문 컨설턴트이자 기업 트레이너로 활동하고 있다. IDS/IPS, 멀웨어 샌드박스, 멀웨어 분석 도구, 방화벽, 엔드 포인트, IoT 보안 도구 등 다양한 탐지 기술을 설계하고 개발한다. RSA 시큐리티(RSA Security), 주니퍼 네트웍스, 사이포트 사이버시큐리티(Cyphort Cybersecurity) 및 다양한 사이버 보안 기업의 위협 탐지 연구소에서 근무했다.

  목차

1부. 소개

1장. 소개
__멀웨어의 종류
____플랫폼 다양성
____목표 다양성
__사이버 킬 체인
__멀웨어 공격 수명 주기
____개발 단계
____배포 단계: 다양한 전달 시스템
____감염 단계
____감염 후 단계
__멀웨어 비즈니스 모델
__멀웨어와의 전쟁
____멀웨어 대응 관련 조직
____안티 멀웨어 제품
__전문 용어
__요약

2장. 멀웨어 분석 랩 설정
__호스트 시스템 요구 사항
__네트워크 요구 사항
__멀웨어 분석용 VM 만들기
__분석용 VM 설정 변경
____확장자 숨기기 비활성화
____숨겨진 파일 및 폴더 표시
____ASLR 비활성화
____윈도우 방화벽 비활성화
____모든 안티 바이러스 비활성화
____일반 사용자 시스템 모방
__스냅샷
__멀웨어 분석 도구
____HashMyFiles 및 기타 해싱 도구
____APIMiner
____PE 파일 탐색: CFF Explorer 및 PEView
____파일 유형 식별 도구
____Process Hacker, Process Explorer, CurrProcess
____ProcMon: 프로세스 모니터
____Autoruns
____Regshot
____FakeNet
____BinText
____YARA
____Wireshark
____마이크로소프트 네트워크 모니터
____OllyDbg 2.0
____Notepad++
____Malzilla
____PEiD
____FTK Imager Lite
____Volatility Standalone
____Ring3 API Hook Scanner
____GMER
____SSDTView
____DriverView
____Strings
____SimpleWMIView
____Registry Viewer
____Bulk Extractor
____Suricata
____Cuckoo Sandbox
____rundll32
____oledump.py
____OllyDumpEx
____FlexHex
____Fiddler
____IDA Pro
____x64dbg 및 Immunity Debugger
__요약

2부. OS 및 시스템 기초

3장. 파일 및 파일 포맷
__파일 시각화를 위한 16진수 형식
__해시: 고유한 파일 특징
__파일 식별
____파일 확장자
____파일 형식을 결정하는 파일 포맷
____파일 포맷의 수동 식별
__요약

4장. 가상 메모리 및 PE 파일
__프로세스 생성
____프로그램 실행
____Process Hacker로 프로세스 탐색
__가상 메모리
____주소 지정
____메모리 페이지
____페이징 요청
____페이지 테이블
____가상 메모리 주소 공간 분할
____Process Hacker를 사용해 페이지 검사
____가상 메모리의 문자열
____멀웨어 탐지를 위한 가상 메모리
__PE 파일
____윈도우 실행 파일
____중요한 PE 헤더 및 필드
____동적 연결 라이브러리
____Import Address Table
__요약

5장. 윈도우 내부
__Win32 API
____API 로그 획득하기
____Win32 DLL
____Win32 API 및 MSDN 문서
____API를 통한 행동 식별
__윈도우 레지스트리
____레지스트리의 논리적 관찰
____데이터 저장소 레지스트리
____레지스트리 추가
____멀웨어 및 레지스트리의 관계
__윈도우의 주요 디렉터리
____system32 디렉터리
____Program Files 디렉터리
____사용자 문서 및 설정
____멀웨어 분석 시 확인 사항
__윈도우 프로세스
____프로세스의 속성 및 멀웨어 이상 징후 탐지
__윈도우 서비스
____SVCHOST.EXE 환경에서 실행되는 서비스
____svchost 이용하는 DLL 서비스
____윈도우 서비스를 활용하는 멀웨어
__시스템 콜
__뮤텍스
__요약

3부. 멀웨어 구성 요소 및 분석

6장. 멀웨어 구성 요소 및 배포
__멀웨어 구성 요소
____페이로드
____패커
____지속성
____통신
____전파성
____방어성
____은폐성
__배포 메커니즘
____익스플로잇
____스팸
____감염된 저장 장치
____멀버타이징
____드라이브 바이 다운로드
____다운로더
____취약한 인증을 통한 직접 로그인
____공유 폴더
__요약

7장. 멀웨어 패커
__암호화 및 압축
__패커
____패커의 작동 원리
____크립토와 프로텍터
____인스톨러
__패킹하기
____패킹된 샘플과 언패킹된 샘플의 비교
__패킹된 샘플 식별
____엔트로피
____문자열
__패커 식별
____PEiD 도구
____진입점의 코드
____섹션 이름
____맞춤형 패커
__패커에 대한 오해
__요약

8장. 지속성 메커니즘
__지속성에 사용되는 리소스
__분석 도구
____Autoruns 도구
____ProcMon 도구
__시작 프로그램 폴더
__RUN 레지스트리
__윈도우 서비스
__파일 감염
__DLL 하이재킹
__Winlogon 프로세스
__작업 스케줄러
__디버거
____IFEO
____SilentProcessExit
__요약

9장. 네트워크 통신
__멀웨어의 네트워크 사용 사례
__멀웨어 네트워크 설정 요소
__CnC 서버 IP 확인
____고정된 IP 주소
____고정된 도메인 이름
____DGA와 Domain Flux
__CnC와 데이터 유출 방법
____HTTP
____IRC
____기타 방법
__내부 확산
____네트워크 정찰
____인증 정보 탈취 및 악용 준비
____접근 권한 획득
____SMB, PsExec, 기타
__네트워크 통신 감지
____Network API와 APIMiner 도구의 로그
____문자열 분석
____IP 및 도메인 평판 정보
____IDS 및 방화벽의 정적 시그니처
____이상 징후 기준선
__요약

10장. 코드 인젝션, 프로세스 할로잉, API 후킹
__코드 인젝션
__코드 인젝션의 목적
____멀웨어 숨기기
____프로세스 편승
____기능 변경
__코드 인젝션의 대상
__주요 코드 인젝션 기법
__코드 인젝션 과정
____사용자 모드 코드 인젝션 과정
__전통적 DLL 인젝션
__프로세스 할로잉
__전통적인 셸코드 인젝션
__반사 DLL 인젝션
__중요한 API
__악성 API가 존재하는 이유
__API 후킹
____후킹 지점 및 대상 식별
____사용자 영역에 후크 배치
____후킹을 사용하는 이유
____보안 소프트웨어의 후크 적용
____후크 탐지 도구
____사례 연구: DeleteFile() 후킹
____사례 연구: 인터넷 익스플로러 후킹
____APIMiner 도구
__요약

11장. 은폐와 루트킷
__은폐의 목적
__기본 은폐 기술
____파일 속성과 권한
____파일 아이콘 위조
____파일명 및 확장자 위조
____시스템 파일명 도용
____심리언어학적 기법
____프로세스 창 숨기기
__코드 인젝션
__루트킷
____사용자 모드 루트킷
____커널 모드 루트킷
__루트킷 만드는 다른 방법
__요약

4부. 멀웨어 분석 및 분류

12장. 정적 분석
__정적 분석의 필요성
__멀웨어 해시를 통한 정보 공유
____해시 생성
__인터넷의 분석 보고서
__VirusTotal 및 기타 분석 플랫폼
____시그니처 업데이트 주기
__파일 형식 파악하기
__전체 감염 콘텍스트 얻기
__파일명과 확장자 위조
__파일 아이콘 위조
__파일 형식 및 확장자의 불일치
__버전 및 세부 정보
__코드 서명자 정보
__정적 문자열 분석
____악성 문자열
__YARA 도구
____YARA의 한계
__동적 분석을 위한 정보 수집
__요약

13장. 동적 분석
__VM의 기준 스냅샷 보관
__대략적 분석을 위한 샘플의 첫 번째 실행
____샘플의 실행 환경 파악
____관리자 권한으로 실행
____사례 연구 1
____사례 연구 2
____사례 연구 3
__APIMiner의 로그 식별
____멀웨어 패밀리 분류
__동적 문자열 분석
____파일 형식
____버전 및 세부 정보
____패킹 여부 확인
____메모리 내 문자열의 동적 관찰
__ProcMon 도구
____AutoRuns 도구
__코드 인젝션 탐지
____GMER 및 Ring3 API Hook Scanner
__YARA를 통한 동적 분석
__기타 악의적 행위
____은폐를 위한 시스템 파일명 도용
____파일명 및 프로세스 이름 속이기
____실행 파일 삭제하기
____프로세스 인스턴스 수
____프로세스 세션 ID
__요약

14장. Volatility 도구를 통한 메모리 포렌식
__메모리 포렌식
__다양한 분석 도구가 필요한 이유
__메모리 포렌식 단계
__메모리 수집
____Sample-14-1.mem
____Sample-14-2.mem
____Sample-14-3.mem
__메모리 분석/포렌식
____Volatility 명령 형식
____이미지 정보
____프로세스와 서비스 리스트
____가상 메모리 검사
____프로세스 모듈 리스트
____핸들 리스트
____레지스트리 검색
____코드 인젝션 및 API 후킹 식별
____커널 검사
____네트워크 통신
__요약

15장. 멀웨어 페이로드 분석 및 분류
__멀웨어 유형, 패밀리, 변종, 클러스터링
__명명 체계
__분류의 중요성
____멀웨어 사전 감지
____적절한 치료 방법
____정보의 축적
____공격 의도 및 범위
__분류 기준
__키로거
____키보드 메시지 후킹
____키보드 상태 가져오기
__인포스틸러
____동적 이벤트 및 API 로그
____인포스틸러의 문자열 분석
__뱅킹 멀웨어
____API 로그 및 후크 스캐너
____뱅킹 트로이 목마의 문자열 분석
__POS 멀웨어
____POS 장치 작동 방식
____POS 멀웨어 작동 방식
____POS 식별 및 분류
____POS 멀웨어의 문자열
__ATM 멀웨어
__원격 접속 도구
____RAT 식별
____RAT 멀웨어의 문자열
__랜섬웨어
____랜섬웨어 식별
____랜섬웨어의 문자열
__크립토마이너
__바이러스
__요약

5부. 멀웨어 리버스 엔지니어링

16장. 디버거 및 어셈블리 언어
__리버스 엔지니어링과 디스어셈블러
__PE 및 기계 코드
__x86 어셈블리 언어
____명령어 형식
____레지스터
____중요한 x86 명령어
____기타 명령어 및 참조 설명서
__디버거 및 디스어셈블리
____디버거 기본
____OllyDbg와 IDA 비교
____OllyDbg
____IDA 디버거
____OllyDbg 및 IDA의 표기법
__어셈블리에서 코드 구성 식별
____스택 프레임 식별
____함수의 프롤로그와 에필로그
____지역변수 식별
____포인터 식별
____전역변수 식별
____스택에서 배열 식별
____스택의 구조체 식별
____함수의 매개변수 식별
____조건문 식별
____반복문 식별
__디스어셈블리를 읽기 쉽게 만들기
____색상 지정
____레이블 및 주석
____변수 추적
__디스어셈블리 분석 가속화
____컴파일러 스텁 및 라이브러리 코드 건너뛰기
____대수학으로 명령 축약하기
____디컴파일러 사용
____블록 및 순서도
____참조
__디버거의 고급 사용
____API 호출 및 매개변수의 관찰
____Win32 API에 중단점 설정하기
____디버거 이벤트
____패치
____호출 스택
__요약

17장. 멀웨어 언패킹을 위한 디버깅 기술
__언패킹 내부
____OEP와 페이로드
____패킹된 바이너리의 실행
__디버거를 사용한 수동 언패킹
____APIMiner를 사용한 빠른 언패킹
____유명한 패커를 디버깅하는 요령
____기타 요령
____OEP식별을 위한 컴파일러 스텁
____역추적
____페이로드 내부
__언패킹 기술의 변형
__요약

18장. 디버깅 코드 인젝션
__API 로그 및 중단점
__IEP
__CreateRemoteThread로 IEP 찾기
__스레드 콘텍스트로 IEP 찾기
__EBFE 기법
__요약

19장. 방어 및 회피 기술
__방어 기술
____안티 정적 분석
____안티 동적 분석
____안티 디버깅
____가비지 코드를 이용한 안티 디스어셈블리
__회피 기술
____안티 바이러스 회피
____네트워크 보안 제품 회피
____샌드박스 회피
__멀웨어의 방어 기술
__방어 기술 탐지를 위한 오픈 소스
__요약

20장. 파일리스, 매크로, 기타 멀웨어 동향
__윈도우 스크립팅 환경
__난독화
____16진수 난독화 출력
____분할 및 조인
____정크 삽입
____eval 함수를 사용한 평가 기능
____암호화 알고리듬
__난독화 해제
____정적 난독화 해제
____동적 난독화 해제
____임베디드 스크립트 디버거
__페이로드
____다운로더 및 드로퍼
____익스플로잇
__VBScript 멀웨어
__오피스 문서 멀웨어
____OLE 파일 형식
____OLE 형식 분석
____스트림 추출
____매크로
__파일리스 악성 코드
____WMI
____파워셸
__요약

6부. 탐지 엔지니어링

21장. 개발 분석 랩 설정
__리눅스 개발 VM
____Suricata 설치
__윈도우 개발 VM
____비주얼 스튜디오 설치
____Cygwin 설치
____VS와 Cygwin의 결합
____기타 도구
__요약

22장. 안티 바이러스 엔진
__안티 바이러스의 주요 구성 요소
__시그니처와 시그니처 모듈
____시그니처 카테고리
____주의 사항
____시그니처 최적화
____위험 최소화
__파일 스캐너
__언패커 모듈
__메모리 스캐너
__후크 및 루트킷 탐지 모듈
__바이러스 다형성 및 에뮬레이터
__교정 모듈
__차세대 안티 바이러스
__요약

23장. Suricata 규칙 작성
__네트워크 트래픽 흐름
____종적 트래픽
____횡적 트래픽
__네트워크 트래픽 분석
__IDPS를 사용한 네트워크 보안
____IDS 대 IPS
____IDS에 트래픽 제공
____IPS에 트래픽 제공
____인라인 장비와 결합한 IDS
__IDPS 센서 배포의 고려 사항
__IDPS 구성 요소
____패킷 캡처 모듈
____패킷 계층 디코딩
____TCP 스트림 재조립 모듈
____응용 계층 파싱
____탐지 엔진
____로깅 모듈
____규칙 언어
__Suricata IDPS
____yaml 설정
____PCAP 파일 모드에서 Suricata 실행
__Suricata로 규칙 작성하기
____Suricata의 기본 규칙
____IP 전용 규칙
____키워드
____기타 키워드
__요약

24장. 멀웨어 샌드박스 내부
__멀웨어 샌드박스 개요
__멀웨어 샌드박스를 사용하는 이유
__보안 아키텍처에서의 샌드박스
__샌드박스 설계
____샘플 분석 흐름
____게스트 VM
____호스트와 게스트 에이전트
____모니터링 에이전트
____디셉션 및 기타 에이전트
____호스트와 게스트 통신 채널
____파일과 스트리밍 로깅 기술 비교
__샌드박스 탐지 결과 저장
__샌드박스를 이용한 머신러닝
__요약

25장. 바이너리 계측을 위한 리버싱 자동화
__바이너리 계측의 의미
__DBI의 내부 메커니즘
____계측 코드 삽입
__멀웨어 분석을 위한 DBI
____DBI의 단점
__DBI를 사용한 도구 작성
____PIN 설정
____도구1: 모든 명령어 기록하기
____도구2: Win32 API 로깅
____도구3: 코드 수정 및 분기 우회
__요약

  회원리뷰

리뷰쓰기

    이 분야의 신상품