HOME > 상세정보

상세정보

마스터링 리버스 엔지니어링 : 소프트웨어 취약점을 분석하는 해커 친화적 기술 (2회 대출)

자료유형
단행본
개인저자
Wong, Reginald 강병탁, 역 최화재, 역
서명 / 저자사항
마스터링 리버스 엔지니어링 : 소프트웨어 취약점을 분석하는 해커 친화적 기술 / 레지날드 웡 지음 ; 강병탁, 최화재 옮김
발행사항
파주 :   위키북스,   2021  
형태사항
xx, 368 p. : 삽화 ; 25 cm
총서사항
위키북스 해킹 & 보안 시리즈 ;023
원표제
Mastering reverse engineering : re-engineer your ethical hacking skills
ISBN
9791158392345
일반주기
색인수록  
일반주제명
Computer software --Testing Reverse engineering Computer security --Software Hacking Computer networks --Security measures --Software
000 00000cam c2200205 c 4500
001 000046095062
005 20211006094218
007 ta
008 211005s2021 ggka 001c kor
020 ▼a 9791158392345 ▼g 93000
035 ▼a (KERIS)BIB000015830724
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 620.0042 ▼a 005.8 ▼2 23
085 ▼a 620.0042 ▼2 DDCK
090 ▼a 620.0042 ▼b 2021z2
100 1 ▼a Wong, Reginald
245 1 0 ▼a 마스터링 리버스 엔지니어링 : ▼b 소프트웨어 취약점을 분석하는 해커 친화적 기술 / ▼d 레지날드 웡 지음 ; ▼e 강병탁, ▼e 최화재 옮김
246 1 9 ▼a Mastering reverse engineering : ▼b re-engineer your ethical hacking skills
260 ▼a 파주 : ▼b 위키북스, ▼c 2021
300 ▼a xx, 368 p. : ▼b 삽화 ; ▼c 25 cm
490 1 0 ▼a 위키북스 해킹 & 보안 시리즈 ; ▼v 023
500 ▼a 색인수록
650 0 ▼a Computer software ▼x Testing
650 0 ▼a Reverse engineering
650 0 ▼a Computer security ▼x Software
650 0 ▼a Hacking
650 0 ▼a Computer networks ▼x Security measures ▼x Software
700 1 ▼a 강병탁, ▼e▼0 AUTH(211009)99506
700 1 ▼a 최화재, ▼e
830 0 ▼a 위키북스 해킹 & 보안 시리즈 ; ▼v 023
900 1 0 ▼a 웡, 레지날드, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 620.0042 2021z2 등록번호 121258186 도서상태 대출중 반납예정일 2021-12-24 예약 예약가능 R 서비스 M

컨텐츠정보

책소개

취약점을 이용하거나 방어코드를 강화하기 위해 소프트웨어를 분석하고 싶다면 리버스 엔지니어링을 연구해야 한다. 리버스 엔지니어링은 해커 친화적인 기술로써, 보안 결함과 의심스러운 개인정보 이슈를 파헤치는 데 사용된다.

이 책에서는 소스코드나 설계 문서 없이도 소프트웨어를 분석하는 방법을 배운다. 먼저 컴퓨터와 의사소통을 하기 위해 사용되는 저수준 언어로 학습을 시작한 다음 실제 리버스 엔지니어링 기술을 다루는 것으로 넘어갈 것이다.

다음으로 IDA Pro, x86dbg 등의 유용한 도구를 이용한 분석 기법을 알아본다. 각 장을 거치면서 암호화와 패킹 그리고 난독화, 안디 디버깅, 분석방지 트릭 등 리버스 엔지니어링을 할 때 마주치는 활용 사례와 그것을 식별하고 극복하는 방법 등을 살펴보게 된다. 마지막으로, 코드가 포함된 다른 유형의 파일을 분석하는 방법을 알아본다.

취약점을 이용하거나 방어코드를 강화하기 위해 소프트웨어를 분석하고 싶다면 리버스 엔지니어링을 연구해야 한다. 리버스 엔지니어링은 해커 친화적인 기술로써, 보안 결함과 의심스러운 개인정보 이슈를 파헤치는 데 사용된다.

이 책에서는 소스코드나 설계 문서 없이도 소프트웨어를 분석하는 방법을 배운다. 먼저 컴퓨터와 의사소통을 하기 위해 사용되는 저수준 언어로 학습을 시작한 다음 실제 리버스 엔지니어링 기술을 다루는 것으로 넘어갈 것이다. 다음으로 IDA Pro, x86dbg 등의 유용한 도구를 이용한 분석 기법을 알아본다. 각 장을 거치면서 암호화와 패킹 그리고 난독화, 안디 디버깅, 분석방지 트릭 등 리버스 엔지니어링을 할 때 마주치는 활용 사례와 그것을 식별하고 극복하는 방법 등을 살펴보게 된다. 마지막으로, 코드가 포함된 다른 유형의 파일을 분석하는 방법을 알아본다.

이 책을 다 읽을 때쯤이면, 리버스 엔지니어링을 자신 있게 수행할 수 있게 될 것이다.

★ 이 책에서 다루는 내용 ★

◎ 핵심 리버스 엔지니어링
◎ 맬웨어 구성요소 식별 및 추출
◎ 리버스 엔지니어링에 사용되는 도구 활용
◎ 가상화된 환경에서의 프로그램 실행
◎ 디버깅 방지 및 분석 방지 트릭 식별 및 분석


정보제공 : Aladin

저자소개

레지날드 웡(지은이)

15 년 이상 소프트웨어 보안 업계에 종사해 왔다. 현재 J2 Global 기업인 바이퍼 시큐리티(Vipre Security)에서 공격 및 악성코드에 중점을 두며 다양한 보안 기술을 다루는 수석 악성코드 탐지 연구원으로 근무하고 있다. 그는 이전에 트렌드 마이크로(Trend Micro)에서 악성코드 탐지의 미래 지향적 기술을 다루는 휴리스틱 팀(Heuristics team)의 리더로 일했다.

강병탁(옮긴이)

현재 에이아이스페라(AI Spera)의 대표이사로 사이버 위협 인텔리전스(CTI) 프로젝트를 진행하고 있으며 고려대학교 정보보호대학원 산학협력중점교수를 역임하고 있다. 이전에는 네오플 인프라기술실 실장으로 시스템/보안/DB/인프라개발 등 인프라 기술을 총괄했으며, 넥슨 아메리카에서는 InfoSec Team 팀장으로 미국 지사의 보안조직을 설립, 보안프로세스구축/침입탐지/컴플라이언스 업무를 해 왔고, 넥슨 코리아에서는 게임보안팀을 설립, 팀장으로 라이브 게임의 보안성 향상과 침해대응 업무를 해 왔다. 월간 마소에서 해킹/보안을 주제로 약 3년간 테크니컬 라이터로 활동했고, 각종 대학교와 기관 등에서 해킹/보안을 주제로 한 정기/특별 강의를 다년간 진행했다. 저서로는 《인프라 보안》 《리버스 엔지니어링 바이블》이 있다.

최화재(옮긴이)

현재 에이아이스페라(AI Spera) 연구소 개발팀 팀장으로 사이버 위협 인텔리전스(CTI) 프로젝트를 진행하고 있다. 고려대학교 컴퓨터통신공학부, 동 대학원 정보보호학과 해킹대응기술연구실을 졸업하였으며 이전에는 국방과학연구소(ADD) 제2기술연구본부에서 사이버전 기술 연구개발업에 종사하였고 한국인터넷진흥원(KISA)의 K-Shield 1기로 활동하였다. 주요 논문 및 특허로는 MMORPG 분야에서 머신러닝으로 부정 사용자 탐지, SCADA 환경에서 자기유사도를 이용한 침입탐지 시스템 연구, 코드 은닉 및 침입탐지 장치, 24Bit BMP 이미지를 이용한 쉘코드 은닉 기법 등이 있다.

정보제공 : Aladin

목차

▣ 01장: 리버싱 준비
리버스 엔지니어링
기술적 요구 사항
리버스 엔지니어링 프로세스
__승인 유도
__정적 분석(static analysis)
__동적 분석(dynamic analysis)
__저수준 분석
__리포팅
도구들
__바이너리 분석 도구
__디스어셈블러
__디버거
__모니터링 도구들
__디컴파일러
맬웨어 취급법
기본 분석 랩 환경 설정
__설정 방법
샘플 코드
정리

▣ 02장: 숨겨진 구성 요소의 식별과 추출
기술적 요구 사항
운영 체제 환경
__파일 시스템
__메모리
__레지스트리 시스템
맬웨어의 일반적인 행위
__지속성
__맬웨어 전파
__페이로드 - 내부의 악
도구
__오토런(Autoruns)
__프로세스 익스플로러(Process Explorer)
정리
더 읽을 거리

▣ 03장: 저수준 언어
기술적 요구사항
이진수
__밑
__진법 변환
__이진 산술
__부호 있는 숫자
__x86
__메모리 주소 지정
기본 지침
__Opcode 바이트
__데이터 복사
__산술 연산
__비트 대수
__제어 흐름
__스택 조작
도구 - 빌더와 디버거
__유명한 어셈블리 빌더
__x86 디버거
Hello World
__FASM 설치
__코드 작성, 컴파일, 실행
__빌드할 때 발생하는 일반적인 오류 처리
__프로그램 해부
Hello World 이후
__API 호출
__디버깅
__정리
더 읽을 거리

▣ 04장: 정적 및 동적 리버싱
검사와 정적 분석
__정적 분석
__파일 유형 및 헤더 분석
__다른 정보
__데드리스팅
동적 분석
__메모리 영역과 프로세스 매핑
__프로레스 및 스레드 모니터링
__네트워크 트래픽
__시스템 변경 모니터링
__실행 후 차이점
__디버깅
직접 수행할 내용
정리
참조

▣ 05장: 툴 소개
분석 환경
__가상 시스템
__윈도우
__리눅스
정보 수집 도구
__파일 형식 정보
__해시 식별
__문자열
__모니터링 도구
__기본 명령줄 도구
디스어셈블러
디버거
디컴파일러
네트워크 도구
편집 도구
공격 도구
자동화 도구
소프트웨어 포렌식 도구
자동화된 동적 분석
온라인 서비스 사이트
정리

▣ 06장: 리눅스 플랫폼에서의 리버스 엔지니어링
설치
리눅스 실행 파일 - hello world
__dlroW olleH
__더 나은 디버거
__패스워드가 무엇일까?
네트워크 트래픽 분석
정리
더 읽을 거리

▣ 07장: 윈도우 플랫폼에서의 리버스 엔지니어링
기술적 요구사항
Hello World
__API 배우기
패스워드는 무엇인가?
__정적 분석
__빠른 실행
__데드리스팅
__디버깅을 통한 동적 분석
__디컴파일러
정리
더 읽을 거리

▣ 08장: 샌드박싱 - 리버싱을 위한 컴포넌트 가상화
에뮬레이션
__x86 호스트에서 윈도우와 리눅스의 에뮬레이션
익숙치 않은 환경에서의 분석
__QEMU에서의 리눅스 ARM 게스트
__Bochs MBR 디버깅
정리
더 읽을 거리

▣ 09장: 바이너리 난독화 기술
스택에서의 데이터 어셈블리
__코드 어셈블리
암호화된 데이터 식별
__루프 코드
__단순 연산
__단순 XOR 복호화
다른 메모리 영역의 데이터 어셈블리
x86dbg를 사용한 복호화
다른 난독화 기술
__제어 흐름 평탄화 난독화
__쓰레기 코드 삽입
__메타몰픽을 이용한 코드 난독화
__동적 라이브러리 로딩
__PEB 정보 이용
정리

▣ 10장: 패킹과 암호화
OS에서 네이티브 실행 파일이 로딩되는 원리
패커, 크립터, 난독화, 프로텍터, SFX
__패커 또는 컴프레서
__크립터
__난독화 도구
__프로텍터
__SFX 자체 압축해제 파일
언패킹
__UPX 도구
__패커 디버깅
메모리에서 프로세스 덤프
__버추얼박스로 메모리 덤프
__볼라틸리티를 이용해 프로세스를 파일로 추출하기
언패킹된 상태의 실행 파일은 어떨까?
그 외의 파일 형식
정리

▣ 11장: 분석 방지 기술
안티 디버깅 기술
__IsDebuggerPresent
__PEB 안에서의 디버그 플래그
__NtQueryInformationProcess의 디버거 정보
__타이밍 트릭
__SEH를 통한 실행 흐름 전달
안티 VM 트릭
__VM에서 실행되는 프로세스 이름
__VM 파일과 디렉터리의 존재
__기본 MAC 주소
__VM에 의해 만들어지는 레지스트리 항목
__VM 장치
__CPUID 결과
안티 에뮬레이션 트릭
안티 덤프 트릭
정리

▣ 12장: 윈도우 실행 파일 실전 리버스 엔지니어링
준비할 것
초기 정적 분석
__초기 파일 정보
__데드리스팅
디버깅
__알려지지 않은 이미지
__분석 요약
정리
더 읽을 거리

▣ 13장: 다양한 파일 형식 리버싱
HTML 스크립트 분석
MS 오피스 매크로 분석
PDF 파일 분석
SWF 파일 분석
__SWFTools
__FLASM
__Flare
__XXXSWF
__JPEXS SWF 디컴파일러
정리
더 읽을 거리

관련분야 신착자료