확장메뉴
주요메뉴


소득공제

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

: NSA가 만든 Ghidra의 다양한 기능과 사용법

에이콘출판사- 해킹과 보안 시리즈이동
리뷰 총점2.0 리뷰 1건 | 판매지수 180
베스트
네트워크/해킹/보안 top20 1주
정가
35,000
판매가
31,500 (10% 할인)
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2021년 11월 23일
쪽수, 무게, 크기 364쪽 | 188*235*21mm
ISBN13 9791161755830
ISBN10 1161755837

이 상품의 태그

구글 엔지니어는 이렇게 일한다

구글 엔지니어는 이렇게 일한다

40,500 (10%)

'구글 엔지니어는 이렇게 일한다' 상세페이지 이동

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

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

31,500 (10%)

'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와 통합하는 방법을 설명한다.

◈ 지은이의 말 ◈

이 책은 Ghidra 리버스 엔지니어링 도구의 실용적인 안내서다. 해당 과정에서 악성코드 분석 및 바이너리 감사와 같은 다양한 용도로 Ghidra를 사용하는 방법을 알려준다. 앞부분에는 Ghidra 스크립팅을 사용해 시간이 많이 걸리는 리버스 엔지니어링 작업을 자동화하는 방법과, 설명서를 확인해 스스로 문제를 해결하고 지식을 확장하는 방법을 알려준다. 책의 앞부분을 읽고 고급 Ghidra 사용자가 되면 새로운 GUI 플러그인, 바이너리 형식, 프로세서 모듈 등을 지원하고자 Ghidra 리버스 엔지니어링 도구의 기능을 확장하는 방법을 알아본다.

도구의 기능을 확장하는 방법을 배운 후 Ghidra 개발 기술을 습득하며 Ghidra를 디버깅하고 확장시키는 자신만의 기능을 개발할 수 있다. 그 후에는 커뮤니티 구성원들과 교류하는 것 외에 국가안보국(NSA) 프로젝트에 자신의 코드, 피드백, 발견된 버그 등을 제공하는 방법을 배워 Ghidra 커뮤니티에 기여할 수 있다. 마지막 장에서는 Ghidra 리버스 엔지니어링 도구를 개선해 개발할 수 있는 새롭고 유용한 Ghidra 기능을 알 수 있도록 고급 리버스 엔지니어링 주제를 소개한다.

회원리뷰 (0건) 회원리뷰 이동

  등록된 리뷰가 없습니다!

첫번째 리뷰어가 되어주세요.

한줄평 (1건) 한줄평 이동

총 평점 2.0점 2.0 / 10.0

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

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

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  •  쿠폰은 결제 시 적용해 주세요.
1   31,500
뒤로 앞으로 맨위로 공유하기