1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

악성코드 분석 시작하기(해킹과 보안)
저자 : 몬나파KA ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 여성구

2020.09.29 ㅣ 572p ㅣ ISBN-13 : 9791161754581

정가36,000
판매가34,200(5% 할인)
적립금 1,440원 (4%)
배송일정 05월 09일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 B5(257mm X 188mm, 사륙배판)
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 네트워크 > NETWORK (L...
사이버 공격 위협이 증가함에 따라 악성코드 분석은 필수적인 기술이 됐다. 윈도우 악성코드를 이해할 수 있는 개념, 도구, 기술을 바탕으로 실제 악성코드 샘플, 메모리 이미지를 살펴보면서 좀 더 실증적인 악성코드 분석 방법을 배울 수 있다. 이 분야에 관심 있는 초심자는 물론, 실무 경험자도 이 책의 체계적인 접근 방법과 사례를 통해 지식을 향상시킬 수 있다. 침해 사고 대응, 악성코드 분석가, 시스템 관리자 등을 포함해 악성코드 분석을 배우고자 하는 모든 사람을 대상으로 한다.


펼쳐보기

[목 차]

1장. 악성 코드 분석 소개
__1. 악성 코드란 무엇인가?
__2. 악성 코드 분석이란 무엇인가?
__3. 악성 코드 분석을 왜 하는가?
__4. 악성 코드 분석의 종류
__5. 랩 환경 설정
____5.1 랩 요구사항
____5.2 랩 아키텍처의 개요
____5.3 리눅스 VM 설치와 설정
____5.4 윈도우 VM 설치와 설정
__6. 악성 코드 출처
요약

2장. 정적 분석
__1. 파일 유형 파악
____1.1 수작업을 통한 파일 유형 식별
____1.2 도구를 이용한 파일 유형 식별
____1.3 파이썬을 이용한 파일 유형 구분
__2. 악성 코드 식별
____2.1 도구를 이용한 암호 해시 생성
____2.2 파이썬에서 암호 해시 파악
__3. 다중 백신 스캐닝
____3.1 바이러스토털을 이용한 의심 바이너리 스캐닝
____3.2 바이러스토털 공개 API를 이용한 해시 값 질의
__4. 문자열 추출
____4.1 도구를 이용한 문자열 추출
____4.2 FLOSS를 이용한 난독화된 문자열 디코딩
__5. 파일 난독화 파악
____5.1 패커와 크립터
____5.2 Exeinfo PE를 이용한 파일 난독화 탐지
__6. PE 헤더 정보 조사
____6.1 파일 의존성과 임포트 조사
____6.2 익스포트 조사
____6.3 PE 섹션 테이블과 섹션 조사
____6.4 컴파일 타임스탬프 조사
____6.5 PE 리소스 조사
__7. 악성 코드 비교와 분류
____7.1 퍼지 해싱을 이용한 악성 코드 분류
____7.2 임포트 해시를 이용한 악성 코드 분류
____7.3 섹션 해시를 이용한 악성 코드 분류
____7.4 YARA를 이용한 악성 코드 분류
요약

3장. 동적 분석
__1. 랩 환경 개요
__2. 시스템과 네트워크 모니터링
__3. 동적 분석(모니터링) 도구
____3.1 프로세스 해커를 이용한 프로세스 조사
____3.2 프로세스 모니터를 이용한 시스템 상호작용 조사
____3.3 노리벤을 이용한 시스템 활동 로깅
____3.4 와이어샤크를 이용한 네트워크 트래픽 캡처
____3.5 INetSim을 이용한 서비스 시뮬레이션
__4. 동적 분석 단계
__5. 종합 분석: 악성 코드 실행 파일 분석
____5.1 샘플의 정적 분석
____5.2 샘플 동적 분석
__6. 동적 링크 라이브러리 분석
____6.1 공격자가 DLL을 사용하는 이유
____6.2 rundll32.exe를 이용한 DLL 분석
____6.3 프로세스 체크를 이용한 DLL 분석
요약

4장. 어셈블리 언어와 디어셈블리 기초
__1. 컴퓨터 기초
__1.2 CPU
____1.3 프로그램 기초
__2. CPU 레지스터
____2.1 범용 레지스터
____2.2 명령 포인터(EIP)
____2.3 EFLAGS 레지스터
__3. 데이터 전송 명령어
____3.1 상수를 레지스터로 이동
____3.2 레지스터에서 레지스터로 값 이동
____3.3 메모리의 값을 레지스터로 이동
____3.4 레지스터에서 메모리로 값 이동
____3.5 디스어셈블리 챌린지
____3.6 디스어셈블리 해답
__4. 산술 연산
____4.1 디스어셈블리 챌린지
____4.2 디스어셈블리 해답
__5. 비트 연산
__6. 분기와 조건문
____6.1 무조건 분기
____6.2 조건 분기
____6.3 IF 문
____6.4 If-Else 문
____6.5 If-Elseif-Else 문
____6.6 디스어셈블리 챌린지
____6.7 디스에셈블리 솔루션
__7. 반복
____7.1 디스어셈블리 챌린지
____7.2 디스어셈블리 솔루션
__8. 함수
____8.1 스택
____8.2 함수 호출하기
____8.3 함수에서 복귀하기
____8.4 함수 매개변수와 반환 값
__9. 배열과 문자열
____9.1 디스어셈블리 챌린지
____9.2 디스어셈블리 솔루션
____9.3 문자열
__10. 구조체
__11. x64 아키텍처
____11.1 64비트 윈도우에서의 32비트 실행 파일 분석
__12. 추가 정보
요약

5장. IDA를 이용한 디스어셈블리
__1. 코드 분석 도구
__2. IDA를 이용한 정적 코드 분석
____2.1 IDA에 바이너리 로드
____2.2 IDA 디스플레이 탐색
____2.3 IDA를 이용한 디스어셈블리 개선
__3. 윈도우 API 디스어셈블
____3.1 윈도우 API 이해
____3.2 윈도우 API 32비트와 64비트 비교
__4. IDA를 이용한 바이너리 패치
____4.1 프로그램 바이트 패치
____4.2 명령어 패치
__5. IDA 스크립팅과 플러그인
____5.1 IDA 스크립트 실행
____5.2 IDAPython
____5.3 IDA 플러그인
요약

6장. 악성 바이너리 디버깅
__1. 일반적인 디버깅 개념
____1.1 프로세스 실행과 연결
____1.2 프로세스 실행 제어
____1.3 브레이크포인트로 프로그램 중지
____1.4 프로그램 실행 추적
__2. x64dbg를 이용한 바이너리 디버깅
____2.1 x64dbg에서 새로운 프로세스 실행
____2.2 x64dbg를 이용한 실행 프로세스 연결
____2.3 x64dbg 디버거 인터페이스
____2.4 x64dbg를 이용한 프로세스 실행 제어
____2.5 x64dbg에서 브레이크포인트 설정
____2.6 32비트 악성 코드 디버깅
____2.7 64비트 악성 코드 디버깅
____2.8 x64dbg를 이용한 악성 DLL 디버깅
____2.9 x64dbg에서의 실행 추적
____2.10 x64dbg에서의 패치 〈$Scr_Ps::1〉
__3. IDA를 이용한 바이너리 디버깅
____3.1 IDA에서의 새로운 프로세스 실행
____3.2 IDA를 이용한 기존 프로세스 연결
____3.3 IDA 디버거 인터페이스
____3.4 IDA를 이용한 프로세스 실행 제어
____3.5 IDA에서의 브레이크포인트 설정
____3.6 악성 코드 실행 파일 디버깅
____3.7 IDA를 이용한 악성 DLL 디버깅
____3.8 IDA를 이용한 실행 추적
____3.9 IDAPython을 이용한 디버거 스크립팅
요약

7장. 악성 코드 기능과 지속성
__1. 악성 코드 기능
____1.1 다운로더
____1.2 드로퍼
____1.3 키로거
____1.4 이동식 미디어를 통한 악성 코드 복제
____1.5 악성 코드 명령 및 제어
____1.6 파워셸 기반 실행
__2. 악성 코드 지속 방법
____2.1 레지스트리 키 실행
____2.2 스케줄 작업
____2.3 시작 폴더
____2.4 Winlogon 레지스트리 항목
____2.5 이미지 파일 실행 옵션
____2.6 접근성 프로그램
____2.7 AppInit_DLLs
____2.8 DLL 검색 순서 하이재킹
____2.9 COM 하이재킹
____2.10 서비스
요약

8장. 코드 인젝션과 후킹
__1. 가상 메모리
____1.1 프로세스 메모리 컴포넌트
____1.2 커널 메모리 내용
__2. 유저 모드와 커널 모드
____2.1 윈도우 API 호출 흐름
__3. 코드 인젝션 기술
____3.1 원격 DLL 인젝션
____3.2 APC를 이용한 DLL 인젝션
____3.3 SetWindowsHookEX()을 이용한 DLL 인젝션
____3.4 애플리케이션 호환성 Shim을 이용한 DLL 인젝션
____3.5 원격 실행 파일/셸코드 인젝션
____3.6 할로우 프로세스 인젝션
__4. 후킹 기술
____4.1 IAT 후킹
____4.2 인라인 후킹
____4.3 Shim을 이용한 인-메모리 패칭
__5. 추가 정보
요약

9장. 악성 코드 난독화 기술
__1. 심플 인코딩
____1.1 시저 암호
____1.2 Base64 인코딩
____1.3 XOR 인코딩
__2. 악성 코드 암호화
____2.1 Signsrch를 이용한 암호화 시그니처 식별
____2.2 FindCrypt2를 이용해 암호화 상수 탐색
____2.3 YARA를 이용한 암호화 시그니처 탐색
____2.4 파이썬에서의 복호화
__3. 사용자 정의 인코딩/암호화
__4. 악성 코드 언패킹
____4.1 수작업 언패킹
____4.2 자동화된 언패킹
요약

10장. 메모리 포렌식을 이용한 악성 코드 헌팅
__1. 메모리 포렌식 단계
__2. 메모리 수집
____2.1 DumpIt을 이용한 메모리 수집
__3. Volatility 개요
____3.1 Volatility 설치
____3.2 Volatility 사용
__4. 프로세스 나열
____4.1 프로세스 개요
____4.2 pssan을 이용한 프로세스 나열
____4.3 프로세스 관계 파악
____4.4 psxview를 이용한 프로세스 목록화
__5. 프로세스 핸들 나열
__6. DLL 나열
____6.1 ldrmodules를 이용한 숨겨진 DLL 탐색
__7. 실행 파일과 DLL 덤프
__8. 네트워크 연결과 소켓 나열
__9. 레지스터 조사
__10. 서비스 조사
__11. 명령어 히스토리 추출
요약

11장. 메모리 포렌식을 이용한 고급 악성 코드 탐지
__1. 코드 인젝션 탐지
____1.1 VAD 정보 획득
____1.2 VAD를 사용해 인젝션된 코드 탐지
____1.3 프로세스 메모리 영역 덤프
____1.4 malfind를 이용한 인젝션 코드 탐지
__2. 할로우 프로세스 인젝션 조사
____2.1 할로우 프로세스 인젝션 단계
____2.2 할로우 프로세스 인젝션 탐지
____2.3 할로우 프로세스 인젝션 변형
__3. API 후킹 탐지
__4. 커널 모드 루트킷
__5. 커널 모듈 나열
____5.1 driverscan을 이용한 커널 모듈 나열
__6. I/O 프로세싱
____6.1 장치 드라이버의 역할
____6.2 I/O 관리자의 역할
____6.3 장치 드라이버와의 통신
____6.4 계층 드라이버에 I/O 요청
__7. 장치 트리 표시
__8. 커널 공간 후킹 탐지
____8.1 SSDT 후킹 탐지
____8.2 IDT 후킹 탐지
____8.3 인라인 커널 후킹 식별
____8.4 IRP 함수 후킹 탐지
__9. 커널 콜백과 타이머
요약


펼쳐보기
★ 이 책에서 다루는 내용 ★

■ 악성코드 분석을 위한 안전하고 격리된 랩 만들기
■ 악성코드와 관련된 메타데이터 추출
■ 시스템과 악성코드의 상호 작용 파악
■ IDA Pro와 x64dbg를 이용한 코드 분석
■ 리버스 엔지니어링을 이용한 다양한 악성코드 기능
■ 일반적인 인코딩/암호화 알고리즘을 리버스 엔지니어링하고 디코딩하기
■ 다양한 코드 인젝션과 후킹 기술
■ 메모리 포렌식을 이용한 악성코드 조사 및 헌팅

★ 이 책의 대상 독자 ★

사고 대응자, 사이버 보안 조사자, 시스템 관리자, 악성코드 분석가, 포렌식 실무자, 학생 또는 악성코드 분석 기술을 배우거나 향상시키는 데 관심이 있는 보안 전문가를 위한 책이다.

★ 이 책의 구성 ★

1장, ‘악성코드 분석 소개’에서는 악성코드 분석의 개념, 악성코드 분석의 유형, 격리된 악성코드 분석 연구실 환경의 설정을 소개한다.
2장, ‘정적 분석’에서는 악의적인 바이너리에서 메타데이터 정보를 추출하는 도구와 기술을 설명한다. 악성코드 샘플을 비교하고 분류하는 방법을 보여 준다. 바이너리를 실행하지 않고 바이너리의 다양한 측면을 파악하는 방법을 배울 수 있다.
3장, ‘동적 분석’에서는 악성코드의 동작과 시스템과의 상호 작용을 파악할 수 있는 도구와 기술을 설명한다. 악성코드와 관련된 네트워크, 호스트 기반 식별자의 획득 방법을 배울 수 있다.
4장, ‘어셈블리 언어와 디스어셈블리’에서는 기초 어셈블리 언어의 기본 이해와 코드 분석에 필요한 기술을 설명한다.
5장, ‘IDA를 이용한 디스어셈블리’에서는 IDA Pro 디스어셈블러의 기능을 설명하고, 정적 코드 분석(디스어셈블리)를 수행하고자 IDA Pro를 사용하는 방법을 다룬다.
6장, ‘악의적인 바이너리 디버깅’에서는 x64dbg와 IDA Pro 디버거를 이용해 바이너리를 디버깅하는 기술을 설명한다. 디버거를 이용해 프로그램의 실행을 제어하고 프로그램의 동작을 조작하는 방법을 배울 수 있다.
7장, ‘악성코드 기능과 지속’에서는 리버스 엔지니어링을 이용해 악성코드의 다양한 기능을 설명한다. 악의적인 프로그램이 사용하는 다양한 지속(persistence) 방법도 설명한다.
8장, ‘코드 인젝션과 후킹’에서는 악의적인 프로그램이 정상 프로세스의 콘텍스트(context)에서 악의적인 코드를 실행하고자 사용하는 일반적인 코드 인젝션 기술을 설명한다. 악성코드가 API의 결과를 모니터링, 차단, 또는 필터링하고자 악의적인 코드로 제어를 리다이렉트할 때 사용하는 후킹 기술도 설명한다. 코드 인젝션과 후킹 기술을 사용하는 악의적인 프로그램을 분석하는 방법을 배울 수 있다.
9장, ‘악성코드 난독화 기술’에서는 악의적인 프로그램이 정보를 은닉하고 숨기고자 사용하는 인코딩, 암호화, 패킹 기술을 설명한다. 데이터를 디코딩/복호화하고 악의적인 바이너리를 언패킹하는 다양한 전략을 설명한다.
10장, ‘메모리 포렌식을 이용한 악성코드 헌팅’에서는 메모리 포렌식을 이용해 악의적인 컴포넌트를 탐지하는 기술을 설명한다. 메모리에서 포렌식 아티팩트를 탐지하고 식별할 수 있는 다양한 Volatility 플러그인을 배울 수 있다.
11장, ‘메모리 포렌식을 이용한 고급 악성코드 탐지’에서는 고급 악성코드가 포렌식 도구에 탐지되지 않고자 사용하는 은닉 기술을 설명한다. 유저 모드와 커널 모드 루트킷 컴포넌트를 조사하고 탐지하는 방법을 배울 수 있다.


펼쳐보기
몬나파 K A
Monnappa K A
시스코 시스템(Cisco Systems)에서 위협 인텔리전스와 고급 사이버 공격 조사에 초점을 둔 정보보안 조사자로 일하고 있다. 블랙 햇(Black Hat) 검토 위원회의 회원, Limon 리눅스 샌드박스의 제작자, Volatility 플러그인 콘테스트 2016의 우승자, 시스인포(Cysinfo) 사이버 보안 연구 커뮤니티의 공동 창립자다. 블랙 햇, FIRST, OPCDE, DSCI를 포함한 다양한 보안 콘퍼런스에서 발표와 교육 세션을 수행했다. 미국, 아시아, 유럽의 블랙 햇 보안 콘퍼런스에서 정기적으로 교육을 진행한다.



옮긴이 여성구
다년간의 보안 컨설턴트 활동 이후 게임사 CERT 팀장, IS 감사역, 보안 시스템 개발 팀장 등을 거쳐 서비스 보안을 총괄하는 실장으로 업무를 수행하고 있다. 다년간 국가기관과 대기업, 통신사 등 다양한 IT 환경을 대상으로 모의해킹, 보안 점검 및 교육, 침해사고 대응을 실시했으며, 게임사의 보안, IS 감사, 인트라넷 및 인프라 시스템 개발과 운영, 보안 플랫폼 개발 관리 업무를 담당했다. 국내외에 보안 취약점 및 공개용 보안 도구 발표와 악성코드 분석 관련 도서를 번역했으며, 고려대학교 정보보호대학원에서 디지털 포렌식을 전공했다.


펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기