본문 바로가기

추천 검색어

실시간 인기 검색어

Ghidra를 활용한 리버스 엔지니어링 입문

NSA가 만든 Ghidra의 다양한 기능과 사용법
해킹과 보안 시리즈
A. P. 데이비드 저자(글) · 장지나 번역
에이콘출판 · 2022년 01월 03일
10.0
10점 중 10점
(2개의 리뷰)
집중돼요 (100%의 구매자)
  • Ghidra를 활용한 리버스 엔지니어링 입문 대표 이미지
    Ghidra를 활용한 리버스 엔지니어링 입문 대표 이미지
  • A4
    사이즈 비교
    210x297
    Ghidra를 활용한 리버스 엔지니어링 입문 사이즈 비교 188x235
    단위 : mm
01 / 02
MD의 선택 무료배송 이벤트 소득공제
10% 31,500 35,000
적립/혜택
1,750P

기본적립

5% 적립 1,750P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,750P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

리버스 엔지니어링 입문자를 위한 Ghidra 가이드북이다. Ghidra의 역사, 구조, 기본적인 기능, 확장기능 개발, 스크립트 등 Ghidra의 모든 것을 소개한다. Ghidra로 실제 사용됐던 악성코드를 분석하며 주요 기능을 알아보고, 리버스 엔지니어링에 대한 전반적인 지식을 얻을 수 있다. 또한 Ghidra 플러그인을 직접 개발하고 Ghidra의 확장 기능을 활용하기 위한 정적, 동적 심볼릭 실행, SMT 솔버를 비롯한 고급 리버스 엔지니어링 주제를 다룬다.

작가정보

저자(글) A. P. 데이비드

A.P. David
선임 악성코드 분석가이자 리버스 엔지니어다. IT 분야에서 7년 이상의 경력이 있으며, 자체 바이러스 백신 제품을 연구했고, 이후 악성코드 분석가 및 리버스 엔지니어로 근무했다. 대부분 은행 관련 악성코드를 리버스 엔지니어링하고 프로세스를 자동화하는 회사에서 일했다. 그 후 바이러스 백신 회사의 중요 악성코드 부서에 들어갔다. 현재 악성코드 관련 박사 과정을 밟으며 GRADIANT(Galician Research and Development Center in Advanced Telecommunications)에서 보안 연구원으로 일하고 있다. 여가시간에는 마이크로소프트의 윈도우 10과 NSA의 Ghidra 프로젝트 등 일부 관련 기업의 취약점을 찾아낸다.

번역 장지나

대학교에서 정보보안학과를 전공했으며, 현재 정보보안 컨설턴트로 활동 중이다.

작가의 말

이 책은 Ghidra 리버스 엔지니어링 도구의 실용적인 안내서다. 해당 과정에서 악성코드 분석 및 바이너리 감사와 같은 다양한 용도로 Ghidra를 사용하는 방법을 알려준다. 앞부분에는 Ghidra 스크립팅을 사용해 시간이 많이 걸리는 리버스 엔지니어링 작업을 자동화하는 방법과, 설명서를 확인해 스스로 문제를 해결하고 지식을 확장하는 방법을 알려준다.
책의 앞부분을 읽고 고급 Ghidra 사용자가 되면 새로운 GUI 플러그인, 바이너리 형식, 프로세서 모듈 등을 지원하고자 Ghidra 리버스 엔지니어링 도구의 기능을 확장하는 방법을 알아본다. 도구의 기능을 확장하는 방법을 배운 후 Ghidra 개발 기술을 습득하며 Ghidra를 디버깅하고 확장시키는 자신만의 기능을 개발할 수 있다. 그 후에는 커뮤니티 구성원들과 교류하는 것 외에 국가안보국(NSA) 프로젝트에 자신의 코드, 피드백, 발견된 버그 등을 제공하는 방법을 배워 Ghidra 커뮤니티에 기여할 수 있다.
마지막 장에서는 Ghidra 리버스 엔지니어링 도구를 개선해 개발할 수 있는 새롭고 유용한 Ghidra 기능을 알 수 있도록 고급 리버스 엔지니어링 주제를 소개한다.

목차

  • 1부. Ghidra 소개

    1장. Ghidra 시작
    __기술적 요구 사항
    __위키리크스 Vault 7
    ____NSA 릴리스
    __IDA 및 기타 많은 경쟁업체 대비 Ghidra
    __Ghidra 개요
    ____Ghidra 설치
    ____Ghidra의 특징 개요
    __요약
    __질문

    2장. Ghidra 스크립트를 통한 리버스 엔지니어링 작업 자동화
    __기술적 요구 사항
    __기존 스크립트 사용과 적용
    __스크립트 클래스
    __스크립트 개발
    __요약
    __질문

    3장. Ghidra 디버그 모드
    __기술적 요구 사항
    __Ghidra 개발 환경설정
    __소프트웨어 요구 사항 개요
    ____자바 JDK 설치
    ____이클립스 IDE 설치
    ____PyDev 설치
    ____GhidraDev 설치
    __Ghidra 코드와 Ghidra 스크립트 디버깅
    ____이클립스에서 Ghidra 스크립트 디버깅
    ____이클립스에서 Ghidra 구성 요소 디버깅
    __Ghidra RCE 취약점
    ____Ghidra RCE 취약점 설명
    ____Ghidra RCE 취약점 공격
    ____Ghidra RCE 취약점 수정
    ____취약한 컴퓨터 찾기
    __요약
    __질문
    __더 읽을거리

    4장. Ghidra 확장 기능 사용
    __기술적 요구 사항
    __기존 Ghidra 확장 기능 설치
    ____Sample Table Provider 플러그인의 코드 분석
    __Ghidra 확장 기능 스켈레톤의 이해
    ____분석기
    ____파일 시스템
    ____플러그인
    ____익스포터
    ____로더
    __Ghidra 확장 기능 개발
    __요약
    __질문
    __더 읽을거리

    2부. 리버스 엔지니어링

    5장. Ghidra를 사용한 악성코드 리버싱
    __기술적 요구 사항
    __환경설정
    __악성코드 지표 찾기
    ____문자열 찾기
    ____인텔리전스 정보와 외부 소스
    ____import 함수 확인
    __흥미로운 악성코드 샘플 부분 분석
    ____진입점 함수
    ____0x00453340 함수 분석
    ____0x00453C10 함수 분석
    ____0x0046EA60 함수 분석
    ____0x0046BEB0 함수 분석
    ____0x0046E3A0 함수 분석
    ____0x004559B0 함수 분석
    ____0x004554E0 함수 분석
    ____0x0046C860 함수 분석
    ____0x0046A100 함수 분석
    __요약
    __질문
    __더 읽을거리

    6장. 스크립팅 악성코드 분석
    __기술적 요구 사항
    __Ghidra 스크립팅 API 사용
    __자바 프로그래밍 언어를 사용해 스크립트 작성
    __파이썬 프로그래밍 언어를 사용해 스크립트 작성
    __스크립트를 사용한 악성코드 샘플의 난독화 해제
    ____델타 오프셋
    ____API 해시를 주소로 변환
    ____Ghidra 스크립팅을 사용해 해시 테이블 난독화 해제
    ____스크립팅 결과 향상
    __요약
    __질문
    __더 읽을거리

    7장. Ghidra Headless Analyzer 사용
    __기술적 요구 사항
    __Headless 모드를 사용하는 이유
    __프로젝트 생성과 채우기
    __가져온 바이너리나 기존 바이너리에 대한 분석 수행
    __프로젝트에서 비GUI 스크립트 실행
    __요약
    __질문
    __더 읽을거리

    8장. Ghidra를 이용한 바이너리 감사
    __기술적 요구 사항
    __메모리 손상 취약점 이해
    ____스택 이해
    ____스택 기반 버퍼 오버플로
    ____힙의 이해
    ____힙 기반 버퍼 오버플로
    ____포맷 스트링
    __Ghidra를 사용한 취약점 찾기
    __단순 스택 기반 버퍼 오버플로 공격
    __요약
    __질문
    __더 읽을거리

    9장. 스크립팅 바이너리 감사
    __기술적 요구 사항
    __취약한 함수 찾기
    ____심볼 테이블에서 안전하지 않은 C/C++ 함수 검색
    ____스크립팅을 사용한 프로그램 디컴파일
    __sscanf 콜러 검색
    ____콜러 함수 열거
    __PCode를 이용한 콜러 함수 분석
    ____PCode와 어셈블리어 비교
    ____PCode 검색과 분석
    ____여러 아키텍처에서 동일한 PCode 기반 스크립트 사용
    __요약
    __질문
    __더 읽을거리

    3부. Ghidra 확장

    10장. Ghidra 플러그인 개발
    __기술적 요구 사항
    __기존 플러그인 개요
    ____Ghidra 배포에 포함된 플러그인
    ____서드파티 플러그인
    __Ghidra 플러그인 스켈레톤
    ____플러그인 설명서
    ____플러그인 코드 작성
    ____플러그인에 대한 프로바이더
    __Ghidra 플러그인 개발
    ____플러그인 문서화
    ____플러그인 클래스 구현
    ____프로바이더 구현
    __요약
    __질문
    __더 읽을거리

    11장. 새로운 바이너리 포맷 통합
    __기술적 요구 사항
    __원시 바이너리와 포맷 형식 바이너리의 차이점
    ____원시 바이너리 이해
    ____포맷된 바이너리 파일 이해
    __Ghidra 로더 개발
    ____MZ(오래된 스타일 DOS 실행 파일) 파서
    ____오래된 MZ(DOS 실행 파일) 로더
    __파일 시스템 로더 이해
    ____파일 시스템 자원 로케이터
    __요약
    __질문
    __더 읽을거리

    12장. 프로세서 모듈 분석
    __기술적 요구 사항
    __기존 Ghidra 프로세서 모듈 이해
    __Ghidra 프로세서 모듈 스켈레톤 개요
    ____프로세서 모듈 개발 환경설정
    ____프로세서 모듈 스켈레톤 생성
    __Ghidra 프로세서 개발
    ____문서화 프로세서
    ____패턴을 이용한 함수와 코드 식별
    ____언어와 언어 변형 지정
    __요약
    __질문
    __더 읽을거리

    13장. Ghidra 커뮤니티에 기여
    __기술적 요구 사항
    __Ghidra 프로젝트 개요
    ____Ghidra 커뮤니티
    __기여도 탐색
    ____법적 측면의 이해
    ____버그 리포트 제출
    ____새 기능 제안
    ____질문 제출
    ____Ghidra 프로젝트에 풀 리퀘스트 제출
    __요약
    __질문
    __더 읽을거리

    14장. 고급 리버스 엔지니어링을 위한 Ghidra 확장
    __기술적 요구 사항
    __고급 리버스 엔지니어링의 기본 지식
    ____심볼릭 실행 학습
    ____SMT 솔버 학습
    ____콘콜릭 실행에 대한 학습
    __고급 리버스 엔지니어링에 Ghidra 사용
    ____AngryGhidra로 Ghidra에 심볼릭 실행 기능 추가
    ____pcode-to-llvm을 사용해 PCode에서 LLVM으로 변환
    __요약
    __질문
    __더 읽을거리

출판사 서평

◆ Ghidra의 기능, 플러그인, 확장 기능 활용
◆ Ghidra에 기여할 수 있는 방법
◆ 악성코드 리버스 엔지니어링과 바이너리 감사 수행
◆ Ghidra 플러그인으로 리버스 엔지니어링 작업 자동화
◆ 자신만의 Ghidra 확장 기능, 스크립트 및 기능 개발
◆ Ghidra 스크립팅으로 실행 가능한 바이너리에서 취약점을 찾는 작업 자동화
◆ headless 모드에서의 Ghidra 사용 방법

리버스 코드 엔지니어, 악성코드 분석가, 버그 헌터, 침투 테스터, 익스플로잇 개발자, 포렌식 전문가, 보안 연구자, 사이버 보안 학생을 대상으로 한다. 실제로 학습 곡선을 최소화하고 자신만의 도구를 쓰기 시작함으로써 Ghidra를 배우고자 하는 사람이라면 누구나 이 책을 즐기고 목표를 달성할 수 있다.

**

1장, ‘Ghidra 시작’에서는 Ghidra의 역사와 사용자 관점에서 프로그램의 개요를 다룬다.
2장, ‘Ghidra 스크립트를 통한 리버스 엔지니어링 작업 자동화’에서는 Ghidra 스크립트를 사용해 리버스 엔지니어링 작업을 자동화하는 방법을 설명하고 스크립트 개발을 소개한다.
3장, ‘Ghidra 디버그 모드’에서는 Ghidra 개발 환경설정 방법, Ghidra 디버그 방법, Ghidra 디버그 모드 취약점의 모든 내용을 다룬다.
4장, ‘Ghidra 확장 기능 사용’에서는 Ghidra 확장 기능을 설치하고 사용하는 방법을 보여줄 뿐만 아니라 Ghidra 기능을 개발하기 위한 배경을 설명한다.
5장, ‘Ghidra를 사용한 악성코드 리버싱’에서는 실제 악성코드 샘플을 리버싱해 악성코드 분석에 Ghidra를 사용하는 방법을 보여준다.
6장, ‘스크립팅 악성코드 분석’에서는 악성코드 샘플에서 발견된 셸코드 분석을 자바와 파이썬 두 언어를 모두 스크립팅해 5장의 내용에 이어서 설명한다.
7장, ‘Ghidra Headless Analyzer 사용’에서는 Ghidra Headless Analyzer를 설명하고 7장에서 개발한 스크립트로 획득한 악성코드 샘플에 적용한다.
8장, ‘Ghidra를 이용한 바이너리 감사’에서는 Ghidra로 메모리 손상 취약점을 찾고 이를 활용하는 방법을 설명한다.
9장, ‘스크립팅 바이너리 감사’에서는 8장에 이어 강력한 PCode 중간 표현을 활용해 스크립팅으로 버그 헌팅 프로세스를 자동화하는 방법을 설명한다.
10장, ‘Ghidra 플러그인 개발’에서는 Ghidra 플러그인 확장 기능이 구현된 Ghidra 기능을 최대한 활용할 수 있는 방법을 설명함으로써 Ghidra 확장 기능 개발을 자세히 설명한다.
11장, ‘새로운 바이너리 포맷 통합’에서는 실제 파일 포맷을 예로 들어 새로운 바이너리 포맷을 지원하는 Ghidra 확장 기능을 사용하는 방법을 설명한다.
12장, ‘프로세서 모듈 분석’에서는 SLEIGH 프로세서 사양 언어를 사용해 Ghidra 프로세서 모듈을 작성하는 방법을 설명한다.
13장, ‘Ghidra 커뮤니티에 기여’에서는 소셜 네트워크, 채팅을 사용해 개발, 피드백, 버그 보고서, 댓글 등으로 커뮤니티와 상호작용하는 방법을 설명한다.
14장, ‘고급 리버스 엔지니어링을 위한 Ghidra 확장’에서는 SMT solvers, 마이크로소프트 Z3, 정적 및 동적 symbex, LLVM, Angr과 같은 고급 리버스 엔지니어링 주제와 도구를 소개하고 Ghidra와 통합하는 방법을 설명한다.

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수, 시리즈명, 원서(번역서)명/저자명을(를) 나타낸 표입니다.
ISBN 9791161755830
발행(출시)일자 2022년 01월 03일
쪽수 364쪽
크기
188 * 235 * 26 mm / 840 g
총권수 1권
시리즈명
해킹과 보안 시리즈
원서(번역서)명/저자명 Ghidra Software Reverse Engineering for Beginners/David, A. P.

Klover 리뷰 (2)

구매 후 리뷰 작성 시, e교환권 200원 적립

10점 중 10점
/도움돼요
기드라를 처음 접해보기 위해 읽고 있습니다.

문장수집 (1)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

어떤 리버스 엔지니어링 프레임워크도 궁극의 프레임워크는 아니다
Ghidra를 활용한 리버스 엔지니어링 입문

교환/반품/품절 안내

    상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

    TOP