logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

리눅스 바이너리 분석

리눅스 바이너리 분석

(리눅스 바이너리와 메모리 해킹 매뉴얼)

라이언 오닐 (지은이), 김창엽, 강민철 (옮긴이)
에이콘출판
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 1개 10,000원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

리눅스 바이너리 분석
eBook 미리보기

책 정보

· 제목 : 리눅스 바이너리 분석 (리눅스 바이너리와 메모리 해킹 매뉴얼)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 리눅스/유닉스 프로그래밍
· ISBN : 9788960779136
· 쪽수 : 320쪽
· 출판일 : 2016-09-23

책 소개

리눅스 바이너리 분석에 꼭 필요한 지식을 예제를 통해 쉽게 설명한다. 리눅스 환경에서 사용할 수 있는 기본 도구와 환경, ELF 바이너리 포맷부터 리눅스 프로세스 추적에 필요한 기술까지 리눅스 바이너리 분석을 처음 접하는 독자들이 쉽게 배울 수 있도록 구성돼 있다.

목차

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 파일 살펴보기
__커널 해킹
____리버스 엔지니어링과 디버깅
____고급 커널 해킹 및 디버깅 인터페이스
____이 책에서 언급한 논문
__요약

저자소개

라이언 오닐 (지은이)    정보 더보기
리버스 엔지니어링, 소프트웨어 취약점 익스플로잇, 보안, 포렌식 기술을 다루는 보안 전문 소프트웨어 엔지니어다. 그는 EFnet, BBS 시스템, 원격 버퍼 오버플로우를 이용한 코드 실행 등을 다루는 서브컬처 컴퓨터 해커로 성장해왔으며, 이 경험을 바탕으로 어린 시절부터 바이러스와 익스플로잇 코드 작성을 통해 시스템 보안 분야에 입문했고, 컴퓨터 해킹을 위한 강력한 열정이 그를 소프트웨어 개발 및 보안 리서치 전문가로 성장시켰다. 그는 DEFCON, RuxCon 등 다양한 컴퓨터 보안 컨퍼런스에 발표자로 참석했으며, 이틀간 진행되는 ELF 바이너리 해킹 워크샵을 주관하기도 했다. 그는 파이크웍스(Pikewerks), 레비아탄 시큐티리티 그룹(Leviathan Security Group), 백트레이스(Backtrace)와 같은 우수한 기업에서 일해왔으며, 그 경험을 바탕으로 그의 소프트웨어 엔지니어로서의 커리어를 발전시키고 있다. 이 책은 그의 첫 번째 저서지만, 그는 이미 프랙(Phrack)과 VXHeaven 등의 온라인 저널에 실린 논문으로 잘 알려져 있다. 그가 작성한 출판물은 http://www.bitlackeys.org에서 찾아볼 수 있다.
펼치기
김창엽 (옮긴이)    정보 더보기
크라우드웍스 ML 팀에서 머신러닝 엔지니어로 일하고 있다. 데이터 분석과 머신러닝에 관심이 많아 고려대학교 산업경영공학과 데이터 사이언스 및 비즈니스 애널리틱스(DSBA) 연구실에서 박사 과정을 수료했다. 이전에는 KT와 안랩에서 12년간 근무하며 악성코드 대응 및 침해사고 분석 업무, 머신러닝을 활용한 네트워크 장애 진단 과제를 수행했다. 번역서로는 에이콘출판사에서 출간한 『텐서플로 入門』(2016), 『케라스로 구현하는 딥러닝과 강화학습』(2017), 『딥러닝 데이터 전처리 입문』(2018), 『머신러닝을 활용한 컴퓨터 보안』(2019), 『예제로 배우는 자연어 처리 기초』(2020) 등이 있다.
펼치기
강민철 (옮긴이)    정보 더보기
안랩 ASEC 대응 팀 소속으로 악성코드 분석 및 대응 업무를 담당하고 있다. 하둡을 이용한 악성코드 처리 시스템 구축과 추론 엔진 기반 대응 시스템 개발 프로젝트를 진행했다. 머신 러닝을 활용한 악성코드 분류 연구를 진행하고 있으며, 금융 데이터 분석을 통한 변화 예측에도 관심이 많다.
펼치기

추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책