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 |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 620.0042 2021z2 | Accession No. 121258186 | Availability In loan | Due Date 2023-06-20 | Make a Reservation Available for Reserve | Service |
Contents information
Book Introduction
취약점을 이용하거나 방어코드를 강화하기 위해 소프트웨어를 분석하고 싶다면 리버스 엔지니어링을 연구해야 한다. 리버스 엔지니어링은 해커 친화적인 기술로써, 보안 결함과 의심스러운 개인정보 이슈를 파헤치는 데 사용된다.
이 책에서는 소스코드나 설계 문서 없이도 소프트웨어를 분석하는 방법을 배운다. 먼저 컴퓨터와 의사소통을 하기 위해 사용되는 저수준 언어로 학습을 시작한 다음 실제 리버스 엔지니어링 기술을 다루는 것으로 넘어갈 것이다.
다음으로 IDA Pro, x86dbg 등의 유용한 도구를 이용한 분석 기법을 알아본다. 각 장을 거치면서 암호화와 패킹 그리고 난독화, 안디 디버깅, 분석방지 트릭 등 리버스 엔지니어링을 할 때 마주치는 활용 사례와 그것을 식별하고 극복하는 방법 등을 살펴보게 된다. 마지막으로, 코드가 포함된 다른 유형의 파일을 분석하는 방법을 알아본다.
취약점을 이용하거나 방어코드를 강화하기 위해 소프트웨어를 분석하고 싶다면 리버스 엔지니어링을 연구해야 한다. 리버스 엔지니어링은 해커 친화적인 기술로써, 보안 결함과 의심스러운 개인정보 이슈를 파헤치는 데 사용된다.
이 책에서는 소스코드나 설계 문서 없이도 소프트웨어를 분석하는 방법을 배운다. 먼저 컴퓨터와 의사소통을 하기 위해 사용되는 저수준 언어로 학습을 시작한 다음 실제 리버스 엔지니어링 기술을 다루는 것으로 넘어갈 것이다. 다음으로 IDA Pro, x86dbg 등의 유용한 도구를 이용한 분석 기법을 알아본다. 각 장을 거치면서 암호화와 패킹 그리고 난독화, 안디 디버깅, 분석방지 트릭 등 리버스 엔지니어링을 할 때 마주치는 활용 사례와 그것을 식별하고 극복하는 방법 등을 살펴보게 된다. 마지막으로, 코드가 포함된 다른 유형의 파일을 분석하는 방법을 알아본다.
이 책을 다 읽을 때쯤이면, 리버스 엔지니어링을 자신 있게 수행할 수 있게 될 것이다.
★ 이 책에서 다루는 내용 ★
◎ 핵심 리버스 엔지니어링
◎ 맬웨어 구성요소 식별 및 추출
◎ 리버스 엔지니어링에 사용되는 도구 활용
◎ 가상화된 환경에서의 프로그램 실행
◎ 디버깅 방지 및 분석 방지 트릭 식별 및 분석
Information Provided By: :

Author Introduction
레지날드 웡(지은이)
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 이미지를 이용한 쉘코드 은닉 기법 등이 있다.

Table of Contents
▣ 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 디컴파일러 정리 더 읽을 거리