HOME > 상세정보

상세정보

리눅스 바이너리 분석 : 리눅스 바이너리와 메모리 해킹 매뉴얼

리눅스 바이너리 분석 : 리눅스 바이너리와 메모리 해킹 매뉴얼 (3회 대출)

자료유형
단행본
개인저자
O'Neill, Ryan 김창엽, 역 강민철, 역
서명 / 저자사항
리눅스 바이너리 분석 : 리눅스 바이너리와 메모리 해킹 매뉴얼 / 라이언 오닐 지음 ; 김창엽, 강민철 옮김
발행사항
서울 :   에이콘,   2016  
형태사항
318 p. ; 24 cm
총서사항
acorn+PACKT technical book
원표제
Learning Linux binary analysis : uncover the secrets of Linux binary analysis with this handy guide
ISBN
9788960779136 9788960772106 (세트)
일반주기
기술 감수: Lubomir Rintel, Kumar Sumeet, Heron Yang  
색인수록  
000 00000cam c2200205 c 4500
001 000045902882
005 20170414141256
007 ta
008 170413s2016 ulk 001c kor
020 ▼a 9788960779136 ▼g 94000
020 1 ▼a 9788960772106 (세트)
035 ▼a (KERIS)BIB000014229105
040 ▼a 211004 ▼c 211004 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.432 ▼2 23
085 ▼a 005.432 ▼2 DDCK
090 ▼a 005.432 ▼b 2016z1
100 1 ▼a O'Neill, Ryan
245 1 0 ▼a 리눅스 바이너리 분석 : ▼b 리눅스 바이너리와 메모리 해킹 매뉴얼 / ▼d 라이언 오닐 지음 ; ▼e 김창엽, ▼e 강민철 옮김
246 1 9 ▼a Learning Linux binary analysis : ▼b uncover the secrets of Linux binary analysis with this handy guide
260 ▼a 서울 : ▼b 에이콘, ▼c 2016
300 ▼a 318 p. ; ▼c 24 cm
440 0 0 ▼a acorn+PACKT technical book
500 ▼a 기술 감수: Lubomir Rintel, Kumar Sumeet, Heron Yang
500 ▼a 색인수록
700 1 ▼a 김창엽, ▼e
700 1 ▼a 강민철, ▼e
900 1 0 ▼a 오닐, 라이언, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.432 2016z1 등록번호 121239976 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

리눅스 리버스 엔지니어링에 관한 방대한 양의 정보를 담고 있으며, 따라서 ELF(Executable and Linking Format)에 대해 상세하게 다룬다. ELF는 리눅스 실행 파일, 공유 라이브러리, 코어 덤프, 오브젝트 파일 등에서 사용하는 파일 형식으로, 책에서 다루는 대부분의 내용은 ELF 바이너리 포맷의 복잡성을 이용한 접근법이다. ELF 섹션, 세그먼트, 동적 링킹에 대한 개념은 아주 중요하고 재미있는 내용이며, 여기서 배운 내용을 활용해 더 넓은 세상에 적용시킬 수 있다.

이 책의 목표는 리눅스 바이너리 해킹에 관해 손에 꼽을 만한 전문가로 만드는 것이다. 리눅스의 로우 레벨 해킹을 이용해 최신의 혁신적인 기술에 접근하는 문을 열 수 있으며, 리눅스 바이너리 및 메모리 패치, 바이러스 엔지니어링 및 분석, 커널 포렌식, ELF 바이너리 포맷에 대한 귀중한 지식을 다룬다. 여기서 얻은 지식을 통해 프로그램 실행과 동적 링킹에 관해 깊은 수준의 이해를 통해 바이너리 보호와 디버깅을 더욱 심도 있게 수행할 수 있다.

★ 요약 ★

이 책은 리눅스 바이너리 분석에 꼭 필요한 지식을 예제를 통해 쉽게 설명한다. 리눅스 환경에서 사용할 수 있는 기본 도구와 환경, ELF 바이너리 포맷부터 리눅스 프로세스 추적에 필요한 기술까지 리눅스 바이너리 분석을 처음 접하는 독자들이 쉽게 배울 수 있도록 구성돼 있다. 리눅스 바이너리 보호와 메모리 포렌식, 커널 해킹 기술과 같이 난이도가 높은 내용도 다루고 있어 현업에서 분석 업무를 수행하는 보안 전문가들에게도 큰 도움이 될 만한 지침서다.

★ 이 책에서 다루는 내용 ★

■ ELF 바이너리 포맷 원리
■ 유닉스 바이러스 감염과 분석 방법
■ 바이너리 강화와 소프트웨어 안티 탬퍼 방법
■ 실행 파일과 프로세스 메모리 패치
■ 악성코드에서 사용하는 안티 디버깅 방법 우회
■ 실행 파일에 대한 고급 포렌식 분석
■ C 언어로 작성된 ELF 도구 개발
■ ptrace를 사용한 메모리 조작

★ 이 책의 대상 독자 ★

소프트웨어 엔지니어거나 리버스 엔지니어라면 리눅스 바이너리 분석을 배울 필요성을 느낄 것이다. 이 책은 보안, 포렌식, 안티바이러스 분야 등에 관한 대부분의 정보를 제공한다. 그뿐만 아니라 보안 전문가와 시스템 레벨 엔지니어에게도 도움이 된다. C 프로그래밍 언어와 리눅스 명령어에 대해 조금이라도 알고 있다면 학습을 시작하기에 충분하다.

★ 이 책의 구성 ★

1장, '리눅스 환경과 도구'에서는 리눅스 환경과 이 책에서 사용할 도구에 대해 간략히 설명한다.
2장, 'ELF 바이너리 포맷'에서는 유닉스와 리눅스 모두에서 주로 사용되는 ELF 바이너리 포맷 컴포넌트에 대해 다룬다.
3장, '리눅스 프로세스 추적'에서는 ptrace 시스템 콜을 사용해 프로세스 메모리를 읽고, 코드 인젝션을 위해 메모리에 쓰는 방법을 다룬다.
4장, 'ELF 바이러스 기술: 리눅스/유닉스 바이러스'에서는 리눅스 바이러스의 과거, 현재, 미래에 대해 다루며, 각각의 기반 기술에 대해 자세히 살펴본다.
5장, '리눅스 바이너리 보호'에서는 기본적인 ELF 바이너리 보호 기술을 다룬다.
6장, '리눅스 ELF 바이너리 포렌식'에서는 ELF 오브젝트의 어느 부분을 분석해야 바이러스, 백도어, 의심스러운 코드 인젝션을 찾을 수 있는지 알아본다.
7장, '프로세스 메모리 포렌식'에서는 실행 중인 프로세스에서 악성코드, 백도어, 의심스러운 코드 인젝션을 찾기 위해서는 프로세스 주소 공간을 어떻게 분석해야 하는지 배운다.
8장, 'ECFS: 확장된 코어 파일 스냅샷 기술'에서는 심층적인 프로세스 메모리 포렌식 기술인 ECFS 오픈소스 프로젝트에 대해 다룬다.
9장, '리눅스 /proc/kcore 분석'에서는 /proc/kcore 분석을 통한 리눅스 커널 악성코드 진단 방법에 대해 다룬다.

★ 지은이의 말 ★

소프트웨어 엔지니어링은 마이크로프로세서를 이용해 혁신을 창조하는 행위다. 우리는 이 결과물을 프로그램이라 부른다. 리버스 엔지니어링은 프로그램이 어떻게 동작하는지 정확하게 분석하는 행위며, 디스어셈블러와 리버싱 도구를 이용해 프로그램의 행위를 분석하고 변경시키는 과정이라고 할 수 있다. 이 과정에는 종종 해커 본능이 요구되며, 바이너리 포맷, 메모리 레이아웃, 프로세서의 명령어 집합에 대해 반드시 정확하게 이해해야 하고 프로그램의 부분 부분을 상세히 이해할 수 있어야 한다. 리버스 엔지니어는 바이너리를 완성시키는 장인이다. 이 책은 독자가 리눅스 바이너리 해커가 될 수 있도록 충분한 설명과 직관을 제공한다. 누군가가 자신을 리버스 엔지니어라고 말한다면, 그것은 스스로를 엔지니어링 이상의 가치를 만들어낼 수 있는 사람이라고 말하는 것이다. 진정한 해커는 코드를 작성할 뿐만 아니라 분석할 수도 있어야 한다. 바이너리와 메모리 세그먼트의 디스어셈블링을 통해 프로그램의 내부적인 동작을 변경시킬 수 있다.
나는 리버스 엔지니어링 기술을 전문가의 영역과 취미로서의 영역 모두에서 컴퓨터 보안에 적용시켜 왔다. 세부 분야는 취약점 분석, 악성코드 분석, 안티바이러스 소프트웨어, 루트킷 진단, 바이러스 제작 등으로 다양하다. 이 책에서 다루는 대부분의 내용은 컴퓨터 보안에 초점이 맞춰져 있으며, 메모리 덤프, 프로세스 이미지 재구성, 바이너리 분석에 필요한 다양한 특징적인 주제들, 가령 리눅스 바이러스 감염 및 바이러스 포렌식에 관해 다룬다. 또한 악성코드에 감염된 실행 파일과 감염돼 실행 중인 프로세스에 대해서도 분석한다. 이 책은 리눅스 리버스 엔지니어링에 관한 방대한 양의 정보를 담고 있으며, 따라서 ELF(Executable and Linking Format)에 대해 상세하게 다룬다. ELF는 리눅스 실행 파일, 공유 라이브러리, 코어 덤프, 오브젝트 파일 등에서 사용하는 파일 형식으로, 책에서 다루는 대부분의 내용은 ELF 바이너리 포맷의 복잡성을 이용한 접근법이다. ELF 섹션, 세그먼트, 동적 링킹에 대한 개념은 아주 중요하고 재미있는 내용이며, 여기서 배운 내용을 활용해 더 넓은 세상에 적용시킬 수 있다.
이 책의 목표는 리눅스 바이너리 해킹에 관해 손에 꼽을 만한 전문가로 만드는 것이다. 리눅스의 로우 레벨 해킹을 이용해 최신의 혁신적인 기술에 접근하는 문을 열 수 있으며, 리눅스 바이너리 및 메모리 패치, 바이러스 엔지니어링 및 분석, 커널 포렌식, ELF 바이너리 포맷에 대한 귀중한 지식을 다룬다. 여기서 얻은 지식을 통해 프로그램 실행과 동적 링킹에 관해 깊은 수준의 이해를 통해 바이너리 보호와 디버깅을 더욱 심도 있게 수행할 수 있다.
나는 컴퓨터 보안 연구자이면서 동시에 소프트웨어 엔지니어이자 해커다. 이 책은 내가 그 동안 연구한 내용을 기반으로 작성했으며, 관련된 기반 지식은 모두 증명된 내용이다.
이 책의 내용은 인터넷 어디에서도 다루지 않은 내용이다. 이 책은 연관된 내용을 하나로 묶어 리눅스 바이너리와 메모리 해킹 매뉴얼로 사용할 수 있도록 만들어진 결정체다.

★ 옮긴이의 말 ★

대다수의 현대인이 매일 인터넷을 사용해 메일을 작성하고 웹 서핑을 한다. 웹 서버, 메일 서버 등에 접근하기 위해 DNS 서버로 쿼리 전송이 수시로 이뤄진다. 인터넷을 사용하면서 접근하게 되는 서버의 점유율은 리눅스 서버가 윈도우 서버에 전혀 뒤지지 않는다. 이런 이유로 국내 사용자에게 친숙한 윈도우만큼이나 리눅스에 대한 이해도 필수적이라고 할 수 있다.
하지만 리눅스 환경 내부와 실행 파일 형식인 ELF 파일 포맷과 리눅스 악성 코드 기술에 대해 다루는 책은 많지 않다. 이 책은 리눅스의 ELF 포맷부터 고급 해킹 기술 및 분석 방법까지 예제를 통해 쉽게 설명하고 있다. 실제로 응용 가능한 코드를 하나하나 실습하며 따라갈 수 있다는 점에서 이 책은 리눅스 바이너리 분석에 대한 입문서로 훌륭하다.
이 책의 원제목은 『Learning Linux Binary Analysis』로, 리눅스에서 자주 사용되는 기본 도구와 리눅스 환경의 구성 요소들에 대해 간략히 살펴보는 것으로 시작해 리눅스 바이너리를 분석을 처음 시작하는 사람들도 어렵지 않게 따라가도록 배려했다. 리눅스 바이너리 분석이 어떤 원리로 진행되는지 설명하며 프로세스 메모리 분석를 자유자재로 다루는 방법을 예제를 통해 쉽게 알려준다. 리눅스/유닉스 바이러스의 과거와 현재, 미래에 대해 논한 뒤, 저자가 직접 개발한 분석 도구를 소개하며 리눅스 메모리 포렌식 분석 방법까지 다룬다. 그 외 리눅스 바이러스 감염 기술, 커널 해킹, 역공학 개념, 핫 패칭, 바이너리 암호화 등 리눅스 바이너리를 분석하는 데 꼭 알아야 할 사항을 요약해 독자들에게 귀중한 지식을 전수한다.
저자는 DEFCON과 RuxCon 등 다수의 보안 컨퍼런스에서 발표와 강의를 했고 분석에 사용할 수 있는 많은 도구를 개발 및 배포했다. 프랙, VXHeaven 등에 유용한 논문을 개제했다. 직접 개발한 도구의 동작 원리와 사용법을 설명하여 인터넷에서 쉽게 찾을 수 없는 내용들까지도 다루고 있다. 리눅스 바이너리 분석에 대한 저자의 뛰어난 능력을 전수받을 수 있는 좋은 기회다.
이 책은 리눅스 환경에서 개발하는 소프트웨어 엔지니어, 서버를 운영하는 시스템 관리자, 악성코드를 분석하고 대응하는 보안 분석가, 그 외 컴퓨터 보안에 관심이 많은 학생들에게 큰 도움이 될 것이라 확신한다.


정보제공 : Aladin

저자소개

라이언 오닐(지은이)

리버스 엔지니어링, 소프트웨어 취약점 익스플로잇, 보안, 포렌식 기술을 다루는 보안 전문 소프트웨어 엔지니어다. 그는 EFnet, BBS 시스템, 원격 버퍼 오버플로우를 이용한 코드 실행 등을 다루는 서브컬처 컴퓨터 해커로 성장해왔으며, 이 경험을 바탕으로 어린 시절부터 바이러스와 익스플로잇 코드 작성을 통해 시스템 보안 분야에 입문했고, 컴퓨터 해킹을 위한 강력한 열정이 그를 소프트웨어 개발 및 보안 리서치 전문가로 성장시켰다. 그는 DEFCON, RuxCon 등 다양한 컴퓨터 보안 컨퍼런스에 발표자로 참석했으며, 이틀간 진행되는 ELF 바이너리 해킹 워크샵을 주관하기도 했다. 그는 파이크웍스(Pikewerks), 레비아탄 시큐티리티 그룹(Leviathan Security Group), 백트레이스(Backtrace)와 같은 우수한 기업에서 일해왔으며, 그 경험을 바탕으로 그의 소프트웨어 엔지니어로서의 커리어를 발전시키고 있다. 이 책은 그의 첫 번째 저서지만, 그는 이미 프랙(Phrack)과 VXHeaven 등의 온라인 저널에 실린 논문으로 잘 알려져 있다. 그가 작성한 출판물은 http://www.bitlackeys.org에서 찾아볼 수 있다.

김창엽(옮긴이)

고려대학교 산업경영공학과 데이터사이언스 & 비즈니스 어낼리틱스(DSBA) 연구실에서 박사 과정을 수료했다. 현재 KT 융합기술원 인프라 연구소에서 머신러닝을 활용한 네트워크 분야 이상 탐지에 대해 연구하고 있다. 그 전에는 안랩에서 9년 동안 근무하며 악성코드 대응 및 침해사고 분석 업무를 수행했다. 번역서로는 에이콘출판사에서 출간한 『예제로 배우는 자연어 처리 기초』(2020), 『머신 러닝을 활용한 컴퓨터 보안』(2019), 『딥러닝 데이터 전처리 입문』(2018), 『케라스로 구현하는 딥러닝과 강화학습』(2017), 『텐서플로 입문』(2016) 등이 있다.

강민철(옮긴이)

안랩 ASEC 대응 팀 소속으로 악성코드 분석 및 대응 업무를 담당하고 있다. 하둡을 이용한 악성코드 처리 시스템 구축과 추론 엔진 기반 대응 시스템 개발 프로젝트를 진행했다. 머신 러닝을 활용한 악성코드 분류 연구를 진행하고 있으며, 금융 데이터 분석을 통한 변화 예측에도 관심이 많다.

정보제공 : Aladin

목차

1장. 리눅스 환경과 도구 

__리눅스 도구 
____GDB 
 ____GNU binutils의 Objdump 
 ____GNU binutils의 Objcopy 
 ____Strace 
 ____Ltrace 
 ____기본 ltrace 명령어 
____ftrace 
 ____readelf 
 ____ERESI - ELF 리버스 엔지니어링 시스템 인터페이스 
__유용한 디바이스와 파일 
____/proc//maps 
 ____/proc/kcore 
 ____/boot/System.map 
 ____/proc/kallsyms 
 ____/proc/iomem 
 ____ECFS 
 __Linker와 관련된 환경 변수 
____LD_PRELOAD 환경 변수 
____LD_SHOW_AUXV 환경 변수 
____링커 스크립트 
__요약 


2장. ELF 바이너리 포맷 

__ELF 파일 형식 
__ELF 프로그램 헤더 
____PT_LOAD 
 ____PT_DYNAMIC: 동적 세그먼트에서 사용하는 Phdr 
 ____PT_NOTE 
 ____PT_INTERP 
 ____PT_PHDR 
 __ELF 섹션 헤더 
____.text 섹션 
____.rodata 섹션 
____.plt 섹션 
____.data 섹션 
____.bss 섹션 
____.got.plt 섹션 
____.dynsym 섹션 
____.dynstr 섹션 
____.rel.* 섹션 
____.hash 섹션 
____.symtab 섹션 
____.strtab 섹션 
____.shstrtab 섹션 
____.ctors와 .dtors 섹션 
__ELF 심볼 
____st_name 
 ____st_value 
 ____st_size 
 ____st_other 
 ____st_shndx 
 ____st_info 
 __ELF 재배열 
____재배열 가능 코드 인젝션을 이용한 바이너리 패치 
__ELF 동적 링킹 
____보조 벡터 
____PLT와 GOT에 대한 이해 
____동적 세그먼트 다시 보기 
__ELF 파서 구현 
__요약 


3장. 리눅스 프로세스 추적 

__ptrace의 중요성 
__ptrace 요청 
____ptrace 요청 형식 
__프로세스 레지스터 상태와 플래그 
__간단한 ptrace 기반 디버거 
____Tracer 프로그램 
__프로세스 어태치 기능을 갖는 간단한 ptrace 디버거 
__고급 함수 추적 소프트웨어 
__ptrace와 포렌식 분석 
____메모리에서 찾아야 할 것 
__프로세스 이미지 복원: 메모리에 있는 실행 파일로부터 
____프로세스 실행 파일 복원 도전 과제 
____실행 파일 복원의 문제점 
____섹션 헤더 테이블 추가 
____프로세스 복원 알고리즘 
____32비트 테스트 환경에서 Quenya를 이용한 프로세스 복원 
__ptrace를 활용한 코드 인젝션 
__중요하게 살펴봐야 할 간단한 예제 
__code_inject 도구 활용 
__ptrace 안티 디버깅 기술 
____내 프로그램이 추적되고 있는가 
__요약 


4장. ELF 바이러스 기술: 리눅스/유닉스 바이러스 

__ELF 바이러스 기술 
__ELF 바이러스 기술의 연구 
____감염코드는 독립적으로 존재해야 한다 
____문자열 저장 문제 
____감염코드 저장을 위한 공간 찾기 
____감염코드로 실행 흐름 변경하기 
__ELF 바이러스 감염 방법 
____Silvio 패딩 감염 방법 
____리버스 텍스트 세그먼트 감염 
____데이터 세그먼트 감염 
__PT_NOTE -> PT_LOAD 변경 감염 방법 
____PT_NOTE -> PT_LOAD 변경 감염 알고리즘 
__제어 흐름 감염시키기 
____다이렉트 PLT 감염 
____함수 트램펄린 
____.ctors / .dtors 함수 포인터 오버라이팅 
____GOT: global offset table 포이즈닝, PLT/GOT 리다이렉션 
____데이터 스트럭처 감염시키기 
____함수 포인터 오버라이팅 
__프로세스 메모리 바이러스와 루트킷: 리모트 코드 인젝션 기술 
____공유 라이브러리 인젝션: .so 인젝션 / ET_DYN 인젝션 
____LD_PRELOAD를 이용한 .so 인젝션 
____open() / mmap() 셸 코드를 이용한 .so 인젝션 
____dlopen() 셸 코드를 이용한 .so 인젝션 
____VDSO 조작을 이용한 .so 인젝션 
____텍스트 세그먼트 코드 인젝션 
____실행 파일 인젝션 
____재배열 코드 인젝션: ET_REL 인젝션 
__디버깅과 패킹 기술 
____PTRACE_TRACEME 기술 
____SIGTRAP 핸들러 기술 
____/proc/self/status 기술 
____코드 난독화 기술 
____스트링 테이블 변경 기술 
__ELF 바이러스 탐지과 치료 
__요약 


5장. 리눅스 바이너리 보호 

__ELF 바이너리 패커 
__Stub 메커니즘과 Userland exec 
 ____프로텍터 예제 
__스텁에서 수행하는 다른 작업들 
__기존 ELF 바이너리 프로텍터 
____DacryFile(Grugq, 2001년) 
 ____Burneye(Scut, 2002년) 
 ____Shiva(Neil Mehta와 Shawn Clowes, 2003년) 
 ____Maya''s Veil(Ryan O''Neill, 2014년) 
 __Maya가 적용된 바이너리 다운로드 
__바이너리 보호를 위한 안티 디버깅 
__에뮬레이션 방어하기 
____Syscall 테스팅을 통한 에뮬레이션 탐지 
____에뮬레이터 CPU 불일치를 이용한 탐지 
____명령어 지연 체크 
__난독화 방법 
__제어 흐름 무결성 보호하기 
____ptrace 기반 공격 
____취약점 기반 공격 
__추가 자료 
__요약 


6장. 리눅스 ELF 바이너리 포렌식 

__엔트리 포인트 변조 진단 
__컨트롤 플로우 하이재킹 진단 
____.ctors(.int_array) 섹션 패치 
____PLT/GOT 후킹 탐지 
____함수 트램펄린 진단 
__기생 코드의 특성 
__DLL 인젝션 트레이스의 동적 세그먼트 진단 
__리버스-텍스트 패딩 감염 진단 
__텍스트 세그먼트 패딩 감염 진단 
__보호된 바이너리 진단 
____보호된 바이너리 분석 
__IDA Pro 
 __요약 


7장. 프로세스 메모리 포렌식 

__프로세스는 어떻게 구성돼 있는가 
____실행 가능한 메모리 매핑 
____프로그램 힙 
____공유 라이브러리 매핑 
____스택, VDSO, VSYSCALL 
 __프로세스 메모리 감염 
____프로세스 감염 도구 
____프로세스 감염 기술 
__ET_DYN 인젝션 진단 
____Azazel 사용자 공간 루트킷 진단 
____프로세스 주소 공간 매핑 확인 
____스택에서 LD_PRELOAD 확인 
____PLT/GOT 후킹 진단 
____ET_DYN 인젝션 자세히 보기 
____VDSO 변조 
____공유 오브젝트 로딩: 정상적인 방법과 비정상적인 방법 
____.so 인젝션 진단 휴리스틱 
____PLT/GOT 후킹 진단 도구 
__리눅스 ELF 코어 파일 
____코어 파일 분석: Azazel 루트킷 
__요약 


8장. ECFS: 확장된 코어 파일 스냅샷 기술 

__역사 
__ECFS 철학 
__ECFS 소개 
____ECFS를 코어 핸들러 플러그인으로 사용하기 
____프로세스를 종료하지 않고 ECFS 스냅샷 생성 
__libecfs: ECFS 파일 파싱 라이브러리 
__readecfs 
 __ECFS를 이용한 감염된 프로세스 분석 
____숙주 프로세스 감염 
____ECFS 스냅샷 생성 및 분석 
____readecfs를 이용한 기생 코드 추출 
____Azazel 루트킷 분석 
__ECFS 레퍼런스 가이드 
____ECFS을 이용한 심볼 테이블 재구성 
____ECFS 섹션 헤더 
____ECFS 파일을 기본 코어 파일로 사용하기 
____libecfs API 사용법 
__ECFS를 이용한 프로세스 되살리기 
__ECFS 더 살펴보기 
__요약 


9장. 리눅스 /proc/kcore 분석 

__리눅스 커널 포렌식과 루트킷 
__Stock 버전의 vmlinux는 심볼을 가지고 있지 않다 
____kdress를 이용한 vmlinux 빌드 
__/proc/kcore와 GDB 살펴보기 
____sys_call_table 위치 조회 예제 
__sys_call_table 직접 변조 
____sys_call_table 변조 진단 
____커널 함수 트램펄린 기법 
____함수 트램펄린 예제 
____함수 트램펄린 진단 
____인터럽트 핸들러 패치 진단 
__Kprobe 루트킷 
____Kprobe 루트킷 진단 
__DRR(디버그 레지스터 루트킷) 
 ____DRR 진단 
__VFS 레이어 루트킷 
____VFS 레이어 루트킷 진단 
__그 외의 커널 감염 기술 
__vmlinux와 .altinstructions 패치 
____.altinstructions와 .altinstr_replace 
 ____arch/x86/include/asm/alternative.h 살펴보기 
____textify를 이용한 코드 정합성 검증 
____textify를 이용한 sys_call_table 검증 예제 
__taskverse를 이용한 프로세스 은닉 진단 
____taskverse 기술 
__감염된 LKM: 커널 드라이버 
____방법 1. 심볼 하이재킹 
____방법 2. 함수 하이재킹 
____감염된 LKM 진단 
__/dev/kmem과 /dev/mem에 대해 
__/dev/mem 
 ____FreeBSD의 /dev/kmem 
 __K-ecfs: 커널 ECFS 
 ____kernel-ecfs 파일 살펴보기 
__커널 해킹 
____리버스 엔지니어링과 디버깅 
____고급 커널 해킹 및 디버깅 인터페이스 
____이 책에서 언급한 논문 
__요약

관련분야 신착자료

이창현 (2021)