책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9791161758503
· 쪽수 : 844쪽
· 출판일 : 2024-05-31
책 소개
목차
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: 코드 수정 및 분기 우회
__요약