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

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

소프트웨어 취약점 분석을 위한 리버싱과 보안 평가 세트 - 전3권

소프트웨어 취약점 분석을 위한 리버싱과 보안 평가 세트 - 전3권

엘다드 에일람, 크리스 카스퍼스키, 마크 다우드, 존 맥도날드, 저스틴 쉬허 (지은이), 윤근용, 서준석, 삼성SDS 정보보안연구회 (옮긴이)
에이콘출판
124,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
111,600원 -10% 0원
6,200원
105,400원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

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

책 이미지

소프트웨어 취약점 분석을 위한 리버싱과 보안 평가 세트 - 전3권
eBook 미리보기

책 정보

· 제목 : 소프트웨어 취약점 분석을 위한 리버싱과 보안 평가 세트 - 전3권 
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9788960775169
· 쪽수 : 2640쪽
· 출판일 : 2014-01-20

책 소개

능력 있는 보안 컨설턴트이자 VPN 같은 애플리케이션의 알려지지 않은 취약점을 개인적으로 연구하는 저자들의 특별한 경험을 바탕으로, 감지하기 어렵고 잘 숨겨진 보안 취약점들을 처음부터 끝까지 밝혀내는 방법을 소개한다.

목차

『소프트웨어 보안 평가 The Art of Software Security Assessment』

1부 소프트웨어 보안 평가 소개

1장 소프트웨어 기본 취약점
___소개
___취약점
______보안 정책
______보안 요구 사항
___감사의 필요성
______코드 감사와 블랙박스 테스트
______코드 감사와 개발 라이프 사이클
___취약점 분류
______설계 취약점
______구현 취약점
______운영 취약점
______구별의 애매모호함
___공통점
______입력과 데이터 흐름
______신뢰 관계
______가정과 잘못된 신뢰
______인터페이스
______환경 공격
______예외 조건
___정리

2장 설계 검토
___소개
___소프트웨어 설계의 기본
______알고리즘
______추상화와 분해
______신뢰 관계
______소프트웨어 설계의 원칙
______설계 결함
___보안 정책 강화
______인증
______인가
______책임 추적성
______기밀성
______무결성
______가용성
___위협 모델링
______정보 수집
______애플리케이션 아키텍처 모델링
______위협 식별
______발견한 위협의 문서화
______구현 리뷰에 대한 우선순위 매기기
___정리

3장 운영 검토
___소개
___취약점 노출
______공격 영역
______안전하지 않은 초기 설정
______접근 제어
______불필요한 서비스
______보안 채널
______스푸핑과 식별
______네트워크 프로파일
___웹과 관련된 고려 사항
______HTTP 요청 방법
______디렉토리 인덱싱
______파일 처리기
______인증
______기본 사이트 설치
______너무 자세한 에러 메시지
______대중화된 관리자 인터페이스
___보호 대책
______개발 대책
______호스트 기반 대책
______네트워크 기반 대책
___정리

4장 애플리케이션 검토 프로세스
___소개
___애플리케이션 검토 프로세스의 개요
______근거
______프로세스 개요
___사전 평가
______범위 산정
______애플리케이션 접근
______정보 수집
___애플리케이션 검토
______단순 검토의 회피
______반복 프로세스
______초기 준비
______계획
______작업
______반영
___문서화와 분석
___보고와 치료 지원
___코드 탐색
______외부 흐름 민감도
______추적 방향
___코드 감사 전략
______코드 이해 전략
______후보 지점 전략
______설계 일반화 전략
___코드 감사 기법
______내부 흐름 분석
______서브시스템과 의존성 분석
______코드 다시 읽기
______탁상 검사
______테스트 케이스
___코드 감사자의 도구상자
______소스코드 탐색기
______디버거
______이진 탐색 도구
______퍼지 테스팅 도구
___사례 연구: OpenSSH
______사전 평가
______구현 분석
______고수준 공격
______결과의 문서화
___정리

2부 소프트웨어 취약점

5장 메모리 오염
___소개
___버퍼 오버플로우
______프로세스 메모리 레이아웃
______스택 오버플로우
______힙 오버플로우
______Off-by-One 에러
______전역, 정적 데이터 오버플로우
___셸코드
______코드 작성법
______메모리에서 코드 찾기
___보호 메커니즘
______스택 쿠키
______힙 구현 강화
______비실행 스택과 힙 보호
______주소 공간 구조 랜덤화
______SafeSEH
______함수 포인트 난독화
___메모리 오염의 영향 평가
______메모리에서 버퍼의 위치
______다른 데이터로 덮어쓰기 되는 것
______덮어쓰기가 가능한 바이트 수
______메모리를 오염시키는 데 사용될 수 있는 데이터
______메모리 블록의 공유
______적용해야 할 보호
___정리

6장 C 언어 이슈
___소개
___C 언어 배경
______데이터 저장 개요
______바이너리 인코딩
______바이트 오더
______보편적 구현
___산술적 경계 조건
______부호 없는 정수 경계
______부호 있는 정수 경계
___형 변환
______개요
______변환 규칙
______단순 변환
______정수 승격
______정수 승격의 응용
______일반 산술 변환
______일반 산술 변환 응용
______형 변환 요약
___형 변환 취약점
______부호 있는/부호 없는 변환
______부호 확장
______절단
______비교
___연산자
______sizeof 연산자
______예상하지 못한 결과
___포인터 연산
______포인터 개요
______포인터 연산 개요
______취약점
___기타 C 특성
______연산 순서
______구조체 패딩
______우선순위
______매크로/전처리기
______오탈자
___정리

7장 프로그램 구성 요소
___소개
___감사 변수의 사용
______변수의 관계
______구조체와 객체의 잘못된 처리
______변수 초기화
______산술 연산 경계
______변수 타입 혼동
______리스트와 테이블
___제어 흐름 감사
______반복문의 구조
______흐름 전환 구문
______Switch 구문
___함수 감사
______함수 감사 로그
______반환 값의 확인과 해석
______함수 부수 효과
______인자의 의미
___메모리 관리에 대한 감사
______ACC 로그
______할당 함수
______할당자의 스코어카드와 에러의 영역
______이중 메모리 해제
___정리

8장 문자열과 메타문자
___소개
___C 언어의 문자열 처리
______범위가 제한되지 않은 문자열 함수
______범위를 제한하는 문자열 함수
______일반적인 이슈
___메타문자
______삽입된 구분자
______NUL 문자 주입
______절단
___일반적인 메타문자 형식
______경로 메타문자
______C 형식 문자열
______셸 메타문자
______펄 open()
______SQL 질의
___메타문자 필터링
______메타문자 제거
______이스케이프 메타문자
______메타문자 회피
___문자 집합과 유니코드
______유니코드
______윈도우 유니코드 함수
___정리

9장 유닉스 I: 권한과 파일
___소개
___유닉스 기초
______사용자와 그룹
______파일과 디렉토리
______프로세스
___권한 모델
______권한 프로그램
______사용자 ID 함수
______그룹 ID 함수
___권한 취약점
______권한의 무모한 사용
______영구적인 권한 제거
______임시 권한 제거
______감사 권한 관리 코드
______권한 확장
___파일 보안
______파일 ID
______파일 권한
______디렉토리 권한
______파일 운영과 권한 관리
______파일 생성
______디렉토리 안정성
______파일명과 경로
______위험한 장소
______흥미로운 파일
___파일 내부
______파일 디스크립터
______inode
______디렉토리
___링크
______심볼릭 링크
______하드 링크
___경쟁 상태
______검사 시점과 사용 시점
______stat() 함수 계열
______돌아온 파일 경쟁
______권한 상승
______소유권 상승
______디렉토리 권한 획득
___임시 파일
______고유 파일 생성
______파일 재사용
______임시 디렉토리 청소
___표준 입출력 파일 인터페이스
______파일 열기
______파일에서 읽기
______파일에 쓰기
______파일 닫기
___정리

10장 유닉스 II: 프로세스
___소개
___프로세스
______프로세스 생성
______fork() 변형 모델
______프로세스 종료
______fork()와 파일 오픈
___프로그램 호출
______직접 호출
______간접 호출
___프로세스 속성
______프로세스 속성 유지
______리소스 제한
______파일 디스크립터
______환경 배열
______프로세스 그룹, 세션, 터미널
___프로세스 간 통신
______파이프
______명명된 파이프
______시스템 V IPC
______유닉스 도메인 소켓
___원격 프로시저 호출
______RPC 정의 파일
______RPC 디코딩 경로
______인증
___정리

11장 윈도우 I: 객체와 파일 시스템
___소개
___배경
___객체
______객체 네임스페이스
______객체 핸들
___세션
______보안 ID
______로그온 권한
______액세스 토큰
___보안 기술자
______액세스 마스크
______ACL 상속
______기술자 프로그래밍 인터페이스
______ACL 권한 감사
___프로세스와 스레드
______프로세스 로딩
______ShellExecute와 ShellExecuteEx
______DLL 로딩
______서비스
___파일 접근
______파일 권한
______파일 I/O API
______링크
___레지스트리
______키 권한
______키와 값 스쿼팅
___정리

12장 윈도우 II: 프로세스 간 통신
___소개
___윈도우 IPC 보안
______리다이렉터
______가장
___윈도우 메시징
______윈도우 스테이션 객체
______데스크톱 객체
______윈도우 메시지
______섀터 공격
______DDE
______터미널 세션
___파이프
______파이프 권한
______명명된 파이프
______파이프 생성
______파이프에서의 가장
______파이프 스쿼팅
___메일슬롯
______메일슬롯 권한
______메일슬롯 스쿼팅
___원격 프로시저 호출
______RPC 연결
______RPC 전송
______마이크로소프트 인터페이스 정의 언어
______IDL 파일 구조
______애플리케이션 설정 파일
______RPC 서버
______RPC에서의 가장
______컨텍스트 핸들과 상태
______RPC에서의 스레드
______RPC 애플리케이션 감사
___COM
______COM: 빠른 지침서
______DCOM 설정 유틸리티
______DCOM 서브시스템 접근 권한
______DCOM 접근 제어
______DCOM에서의 가장
______MIDL 다시 살펴보기
______액티브 템블릿 라이브러리
______DCOM 애플리케이션 감사
______COM 등록 리뷰
______액티브X 보안
___정리

13장 동기화와 상태
___소개
___동기화 문제
______재진입과 비동기 안전 코드
______경쟁 상태
______기아 상태와 교착 상태
___프로세스 동기화
______시스템 V 프로세스 동기화
______윈도우 프로세스 동기화
______내부 프로세스 동기화의 취약점
___신호
______신호 전송
______신호 처리
______위치 점프
______신호 취약점
______신호 스코어보드
___스레드
______PThreads API
______윈도우 API
______스레딩 취약점
___정리

3부 소프트웨어 취약점 사례

14장 네트워크 프로토콜
___소개
___인터넷 프로토콜
______IP 주소 기초
______IP 패킷의 구조
______IP 헤더 검증 기초
______IP 옵션 처리
______발신지 라우팅
______단편화
___UDP
______기본적인 UDP 헤더 검증
______UDP 이슈
______전송 제어 프로토콜
______기본적인 TCP 헤더 검증
______TCP의 옵션 처리
______TCP 커넥션
______TCP 스트림
______TCP 처리
___정리

15장 방화벽
___소개
___방화벽 개요
______프록시와 패킷 필터
______공격 지점
______프록시 방화벽
______패킷 필터링 방화벽
___상태 비보존 방화벽
______TCP
______UDP
______FTP
______단편화
___간단한 상태 보존 방화벽
______TCP
______UDP
______방향성
______단편화
___상태 보존 인스펙션 방화벽
______계층화 이슈
___스푸핑 공격
______떨어진 곳에서의 스푸핑
______근거리에서의 스푸핑
______멀리 떨어진 곳에서의 유령 공격
___정리

16장 네트워크 응용 프로토콜
___소개
___응용 프로토콜 감사
______문서 수집
______알려지지 않은 프로토콜의 요소 확인
______데이터 타입과 프로토콜 매치
______데이터 검증
______시스템 리소스 접근
___하이퍼텍스트 전송 규약
______헤더 해석
______리소스 접근
______유틸리티 함수
______데이터 포스팅
___인터넷 보안 연합과 키 관리 프로토콜
______페이로드
______페이로드 유형
______암호화 취약점
___추상 구문 기법(ASN.1)
______기본 인코딩 규칙
______표준 인코딩과 식별 인코딩
______BER, CER, DER 구현의 취약점
______묶음 인코딩 규칙(PER)
______XML 인코딩 규칙
______XER 취약점
___도메인 네임 시스템
______도메인 네임과 리소스 레코드
______네임 서버와 리졸버
______영역
______리소스 레코드 규약
______기본 사용 사례
______DNS 프로토콜 구조 입문
______DNS 네임
______길이 변수
______DNS 스푸핑
___정리

17장 웹 애플리케이션
___소개
___웹 기술 개요
______기본
______정적 콘텐츠
______CGI
______웹 서버 API
______서버 측 인클루드
______서버 측 변환
______서버 측 스크립팅
___HTTP
______개요
______버전
______헤더
______메소드
______매개변수와 폼
___상태(State)와 HTTP 인증
______개요
______클라이언트 IP 주소
______레퍼러 요청 헤더
______HTML과 URL에 상태 삽입
______HTTP 인증
______쿠키
______세션
___아키텍처
______중복
______프레젠테이션 로직
______비즈니스 로직
______다층 구조
______비즈니스 계층
___웹 계층: 모델-뷰-컨트롤러
___문제 영역
______클라이언트 관점
______클라이언트 제어
______페이지 흐름
______세션
______인증
______인가와 접근 제어
______암호화와 SSL/TLS
______피싱과 위장
___일반 취약점
______SQL 인젝션
______운영체제와 파일 시스템 상호작용
______XML 인젝션
______XPath 인젝션
______크로스사이트 스크립팅
______스레딩 이슈
______C/C++ 문제
___웹의 척박한 현실
___점검 전략
___정리

18장 웹 테크놀로지
___소개
___웹 서비스와 서비스 지향 아키텍처
______SOAP
______REST
______AJAX
___웹 애플리케이션 플랫폼
___CGI
______인덱스된 쿼리
______환경 변수
______경로 혼란
___펄
______SQL 인젝션
______파일 접근
______셸 호출
______파일 포함
______인라인 계산
______크로스사이트 스크립팅
______테인트 모드
___PHP
______SQL 인젝션
______파일 접근
______셸 호출
______파일 포함
______인라인 계산
______크로스사이트 스크립팅
______설정
___자바
______SQL 인젝션
______파일 접근
______셸 호출
______파일 포함
______JSP 파일 포함
______인라인 계산
______크로스사이트 스크립팅
______스레딩 이슈
______설정
___ASP
______SQL 인젝션
______파일 접근
______셸 호출
______파일 포함
______인라인 계산
______크로스사이트 스크립팅
______설정
___ASP.NET
______SQL 인젝션
______파일 접근
______셸 호출
______파일 포함
______인라인 계산
______크로스사이트 스크립팅
______설정
______ViewState
___정리

『해킹의 꽃 디스어셈블링 Hacker Disassembling Uncovered』
1부 해킹 툴의 소개

1장 해킹 툴 입문
___디버거
___디스어셈블러
___디컴파일러
___헥스 편집기
___언패커
___덤퍼
___리소스 편집기
___스파이
___감시 프로그램
___수정 프로그램
___보호 CD 복사기

2장 유닉스용 해킹 툴
___디버거
___디스어셈블러
___스파이
___헥스 편집기
___덤퍼
___자동화된 보호 툴

3장 디버거 에뮬레이션과 에뮬레이터
___에뮬레이터 소개
___역사적 개요
___대표적인 에뮬레이터
___에뮬레이터 선택

4장 어셈블러 소개
___어셈블리어의 철학
___C 예제로 어셈블리 개념 설명
___작업공간으로서 어셈블리 삽입
___사용 가능한 툴
___어셈블리 번역기의 개요와 비교

2부 기본 해킹 기술

5장 기본 해킹 기술 익히기
___비밀 키 유형에 따른 보호 메커니즘 분류
___보호 강도
___상용 솔루션의 단점
___사용 기술의 구현 에러
___심각한 결과를 야기하는 사소한 오류의 정리

6장 시작 준비
___보호 기술 제작과 크랙
___디스어셈블러 익히기
___실전 크랙 예제
___정리

7장 애플리케이션 디버깅 익히기
___디버깅 소개
___디스어셈블러와 디버거를 같이 사용
___API 함수에 브레이크 포인트 설정
___메시지에 브레이크 포인트 설정
___데이터에 브레이크 포인트 설정
___스택 역추적
___DLL 디버깅
___정리

8장 유닉스와 리눅스 환경에서의 디버깅 특성
___GDB 기반의 Ptrace
___GDB에서 바이너리 파일 디버깅

9장 Linice로 수행하는 커널 디버깅의 기초
___시스템 요구 사항
___Linice 컴파일과 설정
___시스템 부팅과 디버거 실행
___Linice로 작업할 때 지켜야 할 기본 원칙
___정리

10장 고급 디버깅 주제
___소프트아이스를 로그 수집기로 사용
___무작위 브레이크 포인트로 해킹 트릭 사용
___범위 설정을 통한 크래킹
___정리

3부 고급 디스어셈블링 기술

11장 32비트 PE 파일 디스어셈블링
___다양한 실행 환경에서 PE 파일 구조의 특징
___일반적인 개념과 PE 파일의 요구 사항
___PE 파일 구조
___PE 파일에 코드를 삽입하거나 제거하는 기술
___정리

12장 리눅스와 BSD에서 ELF 파일 디스어셈블링
___필요한 도구
___ELF 파일 구조
___ELF 파일에 외부 코드 삽입
___리눅스에서 간단한 크랙미 프로그램을 디스어셈블링
___정리

13장 x86-64 아키텍처에서 수행하는 디스어셈블링
___소개
___필요한 도구
___x86-64 아키텍처의 개요
___64비트 모드로 전환
___x86-64 환경에서 만드는 'Hello, World' 프로그램
___정리

14장 리눅스 커널 디스어셈블링과 해킹
___디스어셈블링 리눅스 커널
___커널 해킹의 비밀

15장 고급 패칭 기법
___온라인 패칭의 비밀과 트릭
___클라이언트 프로그램을 크래킹하는 잘 알려지지 않은 방법
___윈도우 NT/2000/XP 커널 핵
___BSOD 이후의 세계가 존재하는가?
___참고 사이트
___정리

16장 기타 형식의 파일 디스어셈블링
___PDF 파일 디스어셈블링
___정리

4부 실제 코드 연구

17장 윈도우에서의 숨바꼭질
___윈도우 환경을 위한 안티디버깅 기법
___윈도우 환경에서 사용되는 스텔스 기법
___정리

18장 패커 극복법
___예비 분석
___언패킹과 대체 방안
___언패킹 알고리즘
___오리지널 진입점 검색
___보호된 애플리케이션을 덤프
___정리

19장 난독화 극복법
___난독화 도구의 작동 원리
___난독화된 프로그램을 크랙하는 방법
___블랙박스 접근법
___가상머신 지하 감옥
___정리

20장 리눅스와 BSD에서의 패커 극복법
___패커가 성능에 미치는 영향
___UPX
___Burneye
___Shiva
___패커 비교
___정리

21장 악성코드 디버깅과 디스어셈블링
___디버거를 활용한 방첩 활동
___공격 코드 감사와 디스어셈블링
___참고 자료
___정리

찾아보기

『리버싱』

1부 리버싱 101

1장 기초
___리버스 엔지니어링
___소프트웨어 리버스 엔지니어링: 리버싱
___리버싱 적용
______보안 관련 리버싱
_________악성코드 소프트웨어
_________암호 알고리즘 리버싱
_________디지털 저작권 관리
_________프로그램 바이너리 감사
______소프트웨어 개발에서의 리버싱
_________소프트웨어 간의 상호 운용
_________경쟁 제품 분석
_________소프트웨어의 품질과 안정성 측정
___로우레벨 소프트웨어
______어셈블리 언어
______컴파일러
______가상 머신과 바이트 코드
______운영체제
___리버싱 절차
______시스템 레벨 리버싱
______코드 레벨 리버싱
___사용 툴
______시스템 모니터링 툴
______디스어셈블러
______디버거
______디컴파일러
___리버싱은 합법적인 작업인가
______상호 운용성
______경쟁
______저작권법
______영업 비밀과 특허권
______디지털 밀레니엄 저작권법
______DMCA 사례
______사용권 계약
___예제 코드와 툴
___정리

2장 로우레벨 소프트웨어
___하이레벨 관점
______프로그램 구조
_________모듈
_________공통 구성 요소
______데이터 처리
_________변수
_________사용자 정의 데이터 구조체
_________리스트
______제어 흐름
______하이레벨 언어
_________C
_________C++
_________자바
_________C#
___로우레벨 관점
______로우레벨 데이터 처리
_________레지스터
_________스택
_________힙
_________실행 데이터 섹션
______제어 흐름
___어셈블리 언어 입문
______레지스터
______플래그
______명령 포맷
______기본 명령
_________데이터 이동
_________산술 연산
_________비교 연산
_________조건 분기
_________함수 호출
______코드 예
___컴파일러 기초
______컴파일러란
______컴파일러 아키텍처
_________프런트엔드
_________중간 표현
_________최적화기
_________백엔드
______리스팅 파일
______사용 컴파일러
___실행 환경
______소프트웨어 실행 환경(가상 머신)
_________바이트 코드
_________인터프리터
_________Just-in-Time 컴파일러
_________리버싱 전략
______최신 프로세서에서의 하드웨어 실행 환경
_________Intel NetBurst
_________μops(Micro-Ops)
_________파이프라인
_________분기 예측
___정리

3장 윈도우 기초
___컴포넌트와 기본 아키텍처
______간략한 역사
______특징
______지원 하드웨어
___메모리 관리
______가상 메모리와 페이징
_________페이징
_________페이지 폴트
______워킹 셋
______커널 메모리와 유저 메모리
______커널 모드 공간
______섹션 객체
______VAD 트리
______유저 모드 메모리 할당
______메모리 관리 API
___객체와 핸들
______네임드 객체
___프로세스와 스레드
______프로세스
______스레드
______컨텍스트 스위칭
______동기화 객체
______프로세스 초기화 과정
___애플리케이션 프로그래밍 인터페이스
______Win32 API
______네이티브 API
______시스템 콜 메커니즘
___실행 포맷
______기본 개념
______이미지 섹션
______섹션 정렬
______동적 링크 라이브러리
______헤더
______임포트와 익스포트
______디렉터리
___입력과 출력
______I/O 시스템
______Win32 서브시스템
_________객체 관리자
___구조화된 예외 처리
___정리

4장 리버싱 툴
___다양한 리버싱 방법
______오프라인 코드 분석(Dead-Listing)
______라이브 코드 분석
___디스어셈블러
_________IDA Pro
______ILDasm
___디버거
______유저 모드 디버거
_________OllyDbg
_________WinDbg를 이용한 유저 모드 디버깅
_________IDA Pro
_________PEBrowse Professional Interactive
______커널 모드 디버거
_________WinDbg를 이용한 커널 모드 디버깅
_________Numega SoftICE
_________가상 머신에서의 커널 디버깅
___디컴파일러
___시스템 모니터링 툴
___패치 툴
______Hex Workshop
___기타 리버싱 툴
______실행 이미지 덤프 툴
_________DUMPBIN
_________PEView
_________PEBrowse Professional
___정리

2부 리버싱 응용

5장 리버싱 실전
___리버싱과 상호운용성
___기본 원칙
___문서화되지 않은 API를 찾는 방법
______찾고자 하는 것
___사례 연구: NTDLL.DLL의 Generic Table API
______RtlInitializeGenericTable
______RtlNumberGenericTableElements
______RtlIsGenericTableEmpty
______RtlGetElementGenericTable
_________셋업과 초기화
_________로직과 구조
_________검색 루프 1
_________검색 루프 2
_________검색 루프 3
_________검색 루프 4
_________소스코드 추출
______RtlInsertElementGenericTable
_________RtlLocateNodeGenericTable
_________RtlRealInsertElementWorker
_________Splay 트리
______RtlLookupElementGenericTable
______RtlDeleteElementGenericTable
______분석한 내용 종합
___정리

6장 파일 포맷 분석
___Cryptex
___Cryptex 사용
___Cryptex 리버싱
___패스워드 검증 과정
______"Bad Password" 메시지 잡아내기
______패스워드 변환 알고리즘
______패스워드 해싱
___디렉터리 구조
______디렉터리 처리 코드 분석
______파일 엔트리 분석
___디렉터리 구조 덤프
___파일 추출 과정
______파일 목록 검색
______파일 복호화
______부동소수점 연산
______복호화 루프
______해시 값 검증
___정리
___좀 더 자세히
___결론

7장 프로그램 바이너리 감사
___문제점 정의
___보안 취약점
______스택 오버플로우
_________간단한 스택 보안 취약점
_________내부 구현
_________스택 검사
_________비실행 가능 메모리
______힙 오버플로우
______문자열 필터
______정수 오버플로우
_________사용자 입력 정수에 대한 산술 연산
______형 변환 에러
___사례: IIS 인덱싱 서비스 보안 취약점
______CVariableSet::AddExtensionControlBlock
______DecodeURLEscapes
___정리

8장 악성코드 리버싱
___악성코드의 종류
______바이러스
______웜
______트로이 목마
______백도어
______모바일 코드
______애드웨어/스파이웨어
___스틱키 소프트웨어
___미래의 악성코드
______정보 탈취 웜
______바이오스/펌웨어 악성코드 331
___악성코드의 목적
___악성코드 취약점
___다형성
___변종
___안전한 리버싱 환경 구축
___Backdoor.Hacarmy.D
______실행 파일 언패킹
______최초 실행
______설치
______네트워크 연결
______서버에 연결
______채널에 접속
______백도어와 통신
______SOCKS4 서버 실행
______자체 제거
___Backdoor.Hacarmy.D: 명령 레퍼런스
___정리

3부 크래킹

9장 저작권 침해와 불법 복사 방지
___저작권
___사회적 측면
___소프트웨어 저작권 침해
______문제 정의
______보안 결함
______필요 조건
______이론적으로 크랙이 불가능한 모델
___보호 유형
______매체 기반 보호
______시리얼 번호
______질의 응답과 온라인 인증
______하드웨어 기반의 보호
______서비스로서의 소프트웨어
___진보된 보호 개념
______크립토 프로세서
___디지털 저작권 관리
______DRM 모델
_________윈도우 미디어 저작권 관리자
_________시큐어 오디오 패스
___워터 마크
___신뢰 컴퓨팅
___복사 방지 기술 공격
___정리

10장 안티 리버싱 기술
___안티 리버싱이 필요한 이유
___기본적인 안티 리버싱 방법
___심볼 정보 제거
___코드 암호화
___안티 디버거 기술
______디버거 기본
______IsDebuggerPresent API
______SystemKernelDebuggerInformation
______싱글 스텝 인터럽트를 이용한 SoftICE 탐지
______트랩 플래그
______코드 체크섬
___안티 디스어셈블러
______선형 스윕 디스어셈블러
______Recursive Traversal 디스어셈블러
______적용
___코드 난독화
___제어 흐름 변환
______Opaque Predicates
______안티 디컴파일러
______Table Interpretation
______인라인닝과 아웃라이닝
______인터리빙 코드
______순서 변환
___데이터 변환
______변수 인코딩
______배열 재구성
___정리

11장 보호 기술 파괴
___패치
___Keygen
___키 생성 알고리즘 추출
___고급 크래킹: Defender
______Defender의 초기화 루틴 리버싱
______복호화된 코드 분석
______사라진 SoftICE
______스레드 리버싱
______"Killer" 스레드 무력화
______KERNEL32.DLL 로딩
______함수 재암호화
______엔트리 포인트로 다시 돌아가서
______프로그램 파라미터 파싱
______사용자 이름 처리
______사용자 정보 검증
______코드 복호화
______Defender에 대한 무작위 대입
___Defender의 보호 기술
______함수 레벨의 암호화
_________상대적으로 강력한 암호 블록 체인
_________재 암호화
______애플리케이션/운영체제와의 인터페이스 난독화
______프로세서 타임 스탬프 검증 스레드
______실행 시에 복호화 키 생성
_________상호 의존 키
_________사용자 입력 기반의 복호화 키
______인라이닝
___정리

4부 디스어셈블리 너머

12장 닷넷 리버싱
___기반 지식
___닷넷 기본
______매니지드 코드
______닷넷 프로그래밍 언어
______공통 타입 시스템
___중간 언어
______평가 스택
______활성화 레코드
______IL 명령
______IL 코드 샘플
_________Counting Items
_________링크드 리스트 샘플
___디컴파일러
___난독기
______심볼 이름 변경
______제어 흐름 변경
______디컴파일과 디스어셈블리 차단
___난독화된 코드 리버싱
______XenoCode
______Preemptive Solutions의 DotFuscator
______Remotesoft 난독기와 링커
______Remotesoft Protector
______어셈블리 프리컴파일
______어셈블리 암호화
___정리

13장 디컴파일
___네이티브 코드 디컴파일
___전형적인 디컴파일러의 구조
___중간 표현
______표현식과 표현식 트리
______제어 흐름 그래프
___프론트엔드
______의미 분석
______제어 흐름 그래프 생성
___코드 분석
______데이터 흐름 분석
_________단일 정적 할당
_________데이터 전달
_________레지스터 변수 구별
_________데이터 타입 전달
______타입 분석
_________기본 데이터 타입
_________복잡한 데이터 타입
______제어 흐름 분석
______라이브러리 함수의 구별
___백엔드
___실제 IA-32 디컴파일러
___정리

부록 A 코드 구조 해석
부록 B 컴파일된 연산의 이해
부록 C 프로그램 데이터 해석
부록 D 인용문

저자소개

크리스 카스퍼스키 (지은이)    정보 더보기
기술 서적 저자로서, Hacker Uncovered 시리즈 도서들과, <Code Optimization: Effective Memory Usage(코드 최적화: 효율적인 메모리 사용)>, <CD Cracking Uncovered: Protection Against Unsanctioned CD Copying(알려지지 않은 CD 크래킹: 승인되지 않은 CD 복사를 방지하는 보호 기술)>, <Data Recovery Tips & Solutions: Windows, Linux, and BSD(데이터 복구 팁 & 솔루션: 다양한 관점에서 보는 윈도우)> 등의 저서, 그리고 리눅스, BSD 해킹, 디스어셈블링, 코드 최적화 등과 관련한 다양한 기고문을 발표했다. 주로 컴파일러 개발, 최적화 기술, 보안 메커니즘 연구, 실시간 OS 커널 개발, 소프트웨어 보호 메커니즘, 안티 바이러스 프로그램 개발과 관련된 보안 및 시스템 프로그래밍을 주로 다룬다.
펼치기
마크 다우드 (지은이)    정보 더보기
맥아피(McAfee)의 수석 보안 아키텍트로 근무하고 있으며, 애플리케이션 보안 분야에서 다년간의 경험을 갖고 있다. 인터넷 보안 시스템(ISS)인 엑스포스(X-Force)에서 다년간 수석 연구가로 근무한 경험을 기반으로 유비쿼터스 인터넷 소프트웨어 분야에서 수많은 취약점을 발견했으며, 마이크로소프트의 익스체인지 서버 같은 메일 전송 서비스, OpenSSH, 파이어폭스의 모질라 같은 인터넷 브라우저, VPN, 마이크로소프트의 SSL 같은 분야에서 주소 체계 등의 심각한 문제점을 찾거나 식별하는 데 탁월한 능력을 보여준다. 그의 연구는 산업계의 유명 컨퍼런스인 블랙햇이나 럭스콘(RUXCON)의 주제를 포괄하고 있다.
펼치기
존 맥도날드 (지은이)    정보 더보기
다양한 분야의 기술 및 플랫폼을 포괄해 진보된 애플리케이션 보안 평가를 수행할 수 있는 전문성을 가진 네오햅시스(Neohapsis)의 상급 컨설턴트다. 보안 아키텍처나 맥아피, GmbH, 시티은행 등을 위한 취약점 연구가로 높은 평판을 갖고 있다. 취약점 연구가로서 솔라리스, BSD, 방화벽, OpenSSL, BIND 등의 이슈를 포함해 많은 분야의 취약점을 해결하는 데 도움을 주거나 취약점을 식별한다.
펼치기
저스틴 쉬허 (지은이)    정보 더보기
애플리케이션 보안 점검을 수행하는 네오햅시스의 상급 컨설턴트이자 점검 리더로서 이식된 장치의 펌웨어부터 배포되는 기업 웹 애플리케이션까지 시스템의 다양한 범위에 걸쳐 보안 평가를 수행하고 있다. 네오햅시스에 들어가기 전에는 미국 국방부 및 관련 업체의 컴퓨터 보안 분야에서 10년 동안 근무했다. 대정부서비스를 할 때에는 미국 국가안전보장국(National Security Agency)의 침투 테스트 팀(Red Team)의 수석 선임 연구원의 역할을 했다.
펼치기
윤근용 (옮긴이)    정보 더보기
시스템 프로그래머로서 시스템에 대한 다양한 분야에 관심이 많으며, 특히 보안 분야에 관심이 많아 다년간 보안 업무에 종사 중이다. 바이러스 보안업체를 거쳐 현재는 네이버에서 보안 관련 프로젝트를 수행 중이다. 에이콘출판사에서 펴낸 『웹 애플리케이션 해킹 대작전』, 『실전 해킹 절대 내공』, 『루트킷』, 『리버싱』, 『파이썬 해킹 프로그래밍』, 『안드로이드 포렌식』, 『해커의 공격 기술』을 번역했다.
펼치기
서준석 (옮긴이)    정보 더보기
단국대 컴퓨터과학과를 졸업하고 고려대 정보보호대학원에서 석사과정을 마쳤습니다. 대학원 시절 논문을 준비하면서 인공지능 공부를 시작했고, 이후 KISEC, 삼성SDS, 보안 프로젝트에서 취약점 점검, 컨설팅, 보안 분석 등의 실무를 진행하면서 지속적으로 기술을 갈고닦아 왔습니다. 2018년부터 정보보안 콘텐츠 연구 기업인 옵스테크를 창업해 지금까지 정보보안 분야 기술 연구와 콘텐츠 개발에 힘쓰고 있습니다. 관련 저서로는 『인공지능, 보안을 배우다』(비제이퍼블릭, 2019), 역서로 『사이버 보안 공학』(에이콘출판, 2019)과 『Hacking Exposed』(에이콘출판, 2014) 등이 있습니다.
펼치기
삼성SDS 정보보안연구회 (감수)    정보 더보기
2001년 해킹바이러스연구회로 시작한 삼성SDS 정보보안연구회는 해킹 기술을 공격자 입장에서 생각하고, 이를 토대로 안전한 시스템 운영 방안을 찾기 위해 보안성 검토 기술, 점검 기술, 신기술 트렌드 등을 연구하는 사내 연구회다. 보안에 대해 이야기하며 이를 통한 발전을 지향한다. 에이콘출판사에서 출간한 『소프트웨어 보안 평가 The Art of Software Security Assessment』(2013)를 번역했다.
펼치기
삼성SDS 정보보안연구회의 다른 책 >
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책