장바구니 담기 close

장바구니에 상품을 담았습니다.

하드웨어 해킹 핸드북

하드웨어 해킹 핸드북

  • 야스퍼 반 벨든버그
  • |
  • 에이콘출판
  • |
  • 2024-09-30 출간
  • |
  • 684페이지
  • |
  • 188 X 235 X 31mm
  • |
  • ISBN 9791161758725
판매가

48,000원

즉시할인가

43,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
43,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

◈ 추천의 글 ◈

멀지 않은 과거에 하드웨어는 해킹에 있어 비주류로 밀려났던 때가 있었다. 대부분의 사람은 너무 어려워서 참여할 수 없고, “하드웨어는 어렵다.”고 생각했다. 물론 익숙해지기 전에는 하드웨어가 어려운 것이 당연하다.
저자가 하드웨어 해킹에 대한 열정을 가진 비행 청소년이었을 때 지식과 기술에 대한 접근이 어려웠다. 쓰레기 수거통에서 버려진 장비를 찾고 회사 차량에서 재료를 훔쳐 ASCII 아트에서 만든 도식으로 텍스트 파일에 설명된 도구를 만들곤 했다. 대학 도서관에 몰래 들어가 데이터 책을 찾고, 엔지니어링 박람회에서 무료 샘플을 요청하고 전화로 공급업체로부터 정보를 얻으려고 목소리를 낮춰 어른인 것처럼 했다. 시스템을 설계하는 대신 망가뜨리는 데 관심이 있다면 적당한 곳은 거의 없을 것이다. 해커가 존경받는 직업으로 거듭나려면 아직 멀었다.
수년에 걸쳐 하드웨어 해커가 성취할 수 있는 것에 대한 관심은 무관심에서 주요 관심사로 바뀌었다. 자원과 장비를 더 많이 사용할 수 있게 됐고 비용도 저렴해졌다. 해커 그룹 및 콘퍼런스는 만나서 배우고 서로 협력할 수 있는 방법을 제공했다. 학계 및 기업에서도 해커의 가치를 깨달았다. 마침내 하드웨어가 보안 환경의 중요한 부분으로 인식되는 새로운 시대에 들어서게 됐다.
이 책에서 저자들은 실제 제품을 망가뜨리는 경험들을 통해 우리 시대의 하드웨어 해킹 프로세스를 우아하게 전한다. 이들은 실제 공격에 대한 세부 정보를 제공한다. 이를 통해 독자가 공격을 따라할 수 있게 하며, 필요한 기술을 배우고 성공적인 해킹과 함께 마법 같은 경험을 가질 수 있게 한다. 이러한 분야에 처음이거나 해커 커뮤니티의 어딘가에 있던지 또는 현재 갖고 있는 보안 기술들을 ‘레벨 업’하려는 경우라도 문제가 되지 않는다. 여기에 모두를 위한 지식이 있다.
하드웨어 해커로서 엔지니어와 이들이 구현하는 장치에 대한 제약을 이용하는 것을 목표로 한다. 엔지니어는 스케줄 및 예산 내에서 제품이 작동하게 하는 데 중점을 둔다. 또한 정의된 사양을 따르고 엔지니어링 표준을 따라야 한다. 제품이 제조 가능하고 시스템을 프로그래밍, 테스트, 디버그, 수리 또는 유지 관리하기 위해 접근할 수 있는지를 확인해야 한다. 엔지니어는 통합한 칩 및 서브시스템의 공급업체를 신뢰하고 광고대로 작동하기를 기대한다. 그리고 보안을 구현하더라도 올바르게 구현하기가 매우 어렵다. 해커는 모든 요구 사항을 무시하고 시스템이 의도적으로 오작동하게 하고, 성공적으로 시스템을 공격할 수 있는 가장 효과적인 방법을 찾는 등의 호화로움을 누린다. 주변 인터페이스 및 버스(2장), 구성 요소에
대한 물리적 접근(3장) 또는 결함 주입(fault injection) 또는 부채널 누출(leakage)(4장)을 통해 시스템의 약점을 악용하려고 시도할 수 있다.
오늘날 하드웨어 해킹으로 달성할 수 있는 것은 과거 해커의 연구, 투쟁, 성공을 기반으로 한다. 모두 선구자의 성과와 업적을 활용하는 것이다. 엔지니어와 공급업체가 보안 인식을 점진적으로 개선하고 더 많은 보안 기능과 대응책을 장치에 통합하더라도 이러한 발전은 해커 커뮤니티의 끈기와 인내심으로 계속해서 무너질 것이다. 말 그대로 군비 경쟁 같은 이러한 경쟁은 점점 더 안전한 제품으로 이어지고 차세대 엔지니어와 해커의 기술을 연마하게 한다.
이 모든 것은 하드웨어 해킹이 계속 존재한다는 메시지를 준다. 하드웨어 해킹 핸드북은 가능한 한 많은 경로를 탐색할 수 있는 프레임워크를 제공한다. 여행의 시작은 책을 읽는 독자에게 달려있다.
납땜에 모든 것이 있다.
오레곤(Oregon), 포틀랜드(Portland)에서
1982년부터 기술 해커가 된
─킹핀(Kingpin)으로 알려진 조 그랜드(Joe Grand)

◈ 이 책에서 다루는 내용 ◈

◆ 상용 인터페이스와 버스를 활용하거나, 직접 구성 요소에 접근해 시스템의 약점을 공략한다.
◆ 폴트 주입 지점을 식별, 대상 준비, 폴트 주입 구성을 구축한다.
◆ 클럭 글리치를 생성하고, 기성품이나 DIY 도구를 사용해서 전압 폴트 주입, 전자기 폴트 주입, 바디 바이어싱 폴트 주입을 수행한다.
◆ 타이밍 공격과 단순 전력 분석을 통해 비밀번호 및 암호화된 키를 추출한다.
◆ 향상된 전력 및 신호 분석, 누출 탐색, 시각화 기술을 수행한다.


◈ 이 책의 대상 독자 ◈

이 책의 독자는 좋은 일을 하기 위해 보안을 깨는 데 관심이 있는 공격자의 역할을 하고 있다고 가정할 것이다. 또한 간단한 오실로스코프(Oscilloscope) 및 납땜 장비와 같은 비교적 저렴한 하드웨어를 대부분 사용할 수 있고 파이썬이 설치된 컴퓨터가 있다고 가정한다.
레이저 장비, 입자 가속기 또는 취미 활동의 예산 한도를 넘어서는 기타 품목에 접근할 수 있다고 생각하지 않는다. 지역 대학 연구실에서 이러한 장비를 사용할 수 있는 경우 이 책을 통해 더 많은 이점을 얻을 수 있을 것이다. 임베디드 장치 대상과 관련해 독자가 해당 대상에 물리적으로 접근할 수 있고 해당 장치에 저장된 에셋(asset)에 관심이 있다고 가정한다. 그리고 가장 중요한 것은 독자가 새로운 기술을 배우는 데 관심이 있고 리버스 엔지니어링 사고방식을 갖고 있으며 깊이 탐구하려는 준비가 돼 있다고 가정한다.


◈ 이 책의 구성 ◈

1장, ‘임베디드 보안 소개’에서는 임베디드 시스템의 다양한 구현 아키텍처와 일부 위협 모델링에 초점을 두고 다양한 공격에 대해 알아본다.
2장, ‘하드웨어 주변 장치 인터페이스’에서는 신호(signaling) 및 측정(measurement)을 이해하는 데 필요한 전기 기본 사항을 포함해 다양한 포트 및 통신 프로토콜을 설명한다.
3장, ‘구성 요소 식별 및 정보 수집"에서는 대상에 대한 정보를 수집하고, 데이터 시트 및 설계도를 해석하고, PCB의 구성 요소를 식별하고, 펌웨어 이미지를 추출 및 분석하는 방법을 설명한다.
4장, ‘결함 주입 소개’에서는 결함 주입 지점을 식별하고, 대상을 준비하고, 결함 주입 설정을 생성하고, 효과적인 매개변수를 만들어내는 방법을 포함해 결함 공격의 이면에 있는 아이디어를 제시한다.
5장, ‘결함 주입 방법’에서는 클럭, 전압, 전자기, 레이저, 바디 바이어싱(Body Biasing) 결함 주입 그리고 이를 수행하기 위해 구축 또는 구매해야 하는 도구의 종류를 설명한다.
6장, ‘결함 주입 실험’에서는 집에서 수행할 수 있는 3가지 실용적인 결함 주입 연구실을 제공한다.
7장, ‘트레저 원 지갑 메모리 덤프’에서는 트레저 원(Trezor One) 지갑을 갖고 취약한 펌웨어 버전에서 결함 주입을 사용해 키를 추출하는 방법을 보여준다.
8장, ‘전력 분석 소개’에서는 타이밍 공격과 단순 전력 분석을 소개하고, 이러한 공격을 사용해 암호 및 암호화 키를 추출하는 방법을 보여준다.
9장, ‘단순 전력 분석’에서는 기본 하드웨어 설정부터 가정 실험실에서 SPA 공격을 수행하는 데 필요한 것까지 모든 방법을 안내한다.
10장, ‘차분 전력 분석’에서는 차분 전력 분석(DPA, Differential Power Analysis)을 설명하고 전력 소비의 작은 변동이 암호화 키 추출로 이어지는 방법을 보여준다.
11장, ‘고급 전력 분석’에서는 실용적인 측정 팁부터 추적 설정 필터링, 신호 분석, 처리 및 시각화에 이르는 전력 분석의 수준을 높일 다양한 기술을 설명한다.
12장, ‘실험 사례: 차분 전력 분석’에서는 특수 부트로더로 물리적 목표를 잡고 차분 전력 분석 기술을 사용해 여러 가지 비밀을 알아낸다.
13장, ‘실제 사례’에서는 실제 대상에 대해 수행된 여러 가지 게시된 결함 및 부채널 공격을 요약한다.
14장, ‘대책, 인증, 종장’에서는 이 책에서 설명하는 몇 가지 위험을 완화하는 여러 가지 대응책을 살펴보고 장치 인증 및 다음 단계에 대해 다룬다.
부록 A, ‘테스트 실험 설정’에서는 원하는 모든 도구 등을 멋지게 공개해 구미를 돋운다.
부록 B, ‘유명한 핀아웃’에서는 정기적으로 접하게 될 몇 가지 인기 있는 핀아웃(pinout)에 대한 커닝 페이퍼를 제공한다.

◈ 옮긴이의 말 ◈

임베디드 시스템은 우리의 일상 속에서 깊이 자리 잡고 있습니다. 휴대폰, 자동차, 신용카드, 노트북, 의료 장비 등 수많은 장치가 작은 크기의 마이크로컴퓨터, 즉 임베디드 장치에 의해 구동됩니다. 이러한 임베디드 장치의 보안은 이제 더 이상 선택의 문제가 아닌 필수적인 요소가 됐으며, 이를 이해하는 것은 매우 중요합니다. 이 책은 이러한 임베디드 시스템의 보안 문제를 깊이 있게 다루며, 실제 하드웨어를 통해 다양한 공격 기법을 이해하고 실습할 수 있도록 안내하는 훌륭한 길잡이입니다.
번역을 진행하면서 저 또한 임베디드 시스템 보안의 복잡성과 그 이면에 숨겨진 기술들에 대해 많은 것을 배울 수 있었습니다. 이 책은 공격자의 관점에서 하드웨어 보안을 이해하고, 이를 통해 선의의 목적을 달성하려는 이들에게 꼭 필요한 내용을 다룹니다. 임베디드 장치의 아키텍처, 위협 모델링, 공격 트리 등 기본적인 이론부터 시작해 실제 하드웨어 실습을 통해 고급 해킹 기술까지 단계적으로 학습할 수 있게 구성돼 있습니다.
특히 실험실 환경에서 직접 수행할 수 있는 다양한 공격 기법을 상세히 설명하고 있어, 학생부터 전문가까지 폭넓은 독자층이 유용하게 활용할 수 있을 것입니다. 각종 인터페이스, 포트, 통신 프로토콜, 전기적 신호 분석, 펌웨어 이미지 분석 등의 기본기를 다지고, 결함 주입, 사이드 채널 분석(SCA), 전력 분석(SPA/DPA) 등을 통해 실제 장치에서 비밀번호나 암호화 키를 추출하는 등의 고급 기술을 배울 수 있습니다.
이 책이 임베디드 시스템 보안에 관심을 갖고 있는 모든 분께 유익한 지침서가 되기를 바랍니다.

목차

1장. 임베디드 보안 소개
__하드웨어 구성 요소
__소프트웨어 구성 요소
____초기 부트 코드
____부트로더
____신뢰 실행 환경 OS 및 신뢰 애플리케이션
____펌웨어 이미지
____메인 운영체제 커널 및 애플리케이션
__하드웨어 위협 모델링
____보안이란?
____공격 트리
__공격자 프로파일링
__공격 유형
____하드웨어에 대한 소프트웨어적 공격
____PCB 수준 공격
____논리적 공격
____비침습적 공격
____칩-침습적 공격
__에셋과 보안 대상
____이진 코드의 기밀성과 무결성
____키의 기밀성과 무결성
____원격 부트 증명
____개인 식별 정보의 기밀성과 무결성
____센서 데이터 무결성 및 기밀성
____콘텐츠 기밀성 보호
____안전성과 회복 탄력성
__대응책
____보호
____탐지
____반응
__공격 트리 예제
____식별과 악용
____확장성
____공격 트리 분석
____하드웨어 공격 경로 평가
__보안 문제 공개
__요약


2장. 하드웨어 주변 장치 인터페이스
__전기 기초
____전압
____전류
____저항
____옴의 법칙
____AC/DC
____저항 구분
____전력
__전기와의 인터페이스
____논리 레벨
____하이 임피던스, 풀업,풀다운
____푸시-풀와 3 상태 및 오픈 컬렉터 또는 오픈 드레인
____비동기식과 동기식 및 내장 클럭
____차분 신호
__저속 직렬 인터페이스
____범용 직렬 비동기식 수신기/송신기
____직렬 주변 장치 인터페이스
____IC 간 인터페이스
____보안 디지털 입력/출력 및 내장형 멀티미디어 카드
____CAN 버스
____JTAG 및 기타 디버깅 인터페이스
__병렬 인터페이스
____메모리 인터페이스
__고속 직렬 인터페이스
____범용 직렬 버스
____PCI 익스프레스
____이더넷
__측정
____멀티미터: 전압
____멀티미터: 연속성
____디지털 오실로스코프
____논리 분석기
__요약


3장. 구성 요소 식별 및 정보 수집
__정보 수집
____연방 통신 위원회 기록
____특허
____데이터시트와 회로도
____정보 검색 예제: USB Armory 장치
__분해 시작
____보드에서 IC 식별
____소형 리드 패키지: SOIC, SOP, QFP
____노리드 패키지: SO, QFN
____볼 그리드 어레이
____칩 스케일 패키징
____DIP, 스루홀, 기타
__PCB의 샘플 IC 패키지
____보드의 기타 구성 요소 식별
__PCB 매핑
____매핑을 위한 JTAG 경계 스캔 사용
__펌웨어에서 정보 추출
____펌웨어 이미지 얻기
____펌웨어 이미지 분석
__요약


4장. 결함 주입 소개
__잘못된 보안 메커니즘
____펌웨어 서명 확인 우회
____잠금된 기능에 접근하기
____암호화 키 복구
__OpenSSH 결함 주입 연습
____C 코드에 결함 주입
____기계 코드에 결함 주입
__결함 주입 허풍
____대상 장치 및 폴트 목표
____결함 주입기 도구
____대상 준비와 제어
__폴트 검색 방법
____폴트 프리미티브 탐색
____효과적인 폴트 검색
____검색 전략
____결과 분석
__요약


5장. 결함 주입 방법
__클럭 결함 주입
____준안전성
____폴트 민감도 분석
____제한 사항
____필수 하드웨어
____클럭 결함 주입 매개변수
__전압 결함 주입
____전압 글리치 생성
____스위칭 기반 주입기 구축
____쇠지레 결함 주입
____쇠지레를 이용한 라즈베리 파이 폴트 공격
____전압 결함 주입 검색 매개변수
__전자기 결함 주입
____전자기 폴트 생성
____전자기 결함 주입을 위한 아키텍처
____EMFI 펄스 모양과 폭
____전자기 결함 주입을 위한 매개변수 검색
__광학 결함 주입
____칩 준비
____전면 및 후면 공격
____광원
____광학 결함 주입 설정
____광학 결함 주입 구성 가능 매개변수
__바디 바이어싱 주입
____바디 바이어싱 주입을 위한 매개변수
__하드웨어 폴트 트리거
____예측할 수 없는 대상 타이밍 작업
__요약


6장. 결함 주입 실험
__실험 1: 간단한 반복문
____고통의 BBQ 라이터
__실험 2: 유용한 글리치 삽입
____환경설정 폴트를 위한 쇠지레 글리칭
____먹스 결함 주입
__실험 3: 차분 오류 분석
____약간의 RSA 이론
____대상에서 올바른 서명 얻기
__요약


7장. 트레저 원 지갑 메모리 덤프
__공격 소개
__트레저 원 지갑 내부
__USB 읽기 요청 폴트
__코드 분해
__펌웨어 구축과 글리치 검증
__USB 트리거링과 타이밍
__케이스를 통한 글리치
____설정
____결합 주입을 위한 코드 검토
____코드 실행
____덤프 확인
____EM 펄스 미세 조정
____USB 메시지를 기반으로 타이밍 조정
__요약


8장. 전력 분석 소개
__타이밍 공격
____하드 드라이브 타이밍 공격
____타이밍 공격을 위한 전력 측정
__단순 전력 분석
____RSA에 SPA 적용
____RSA에 SPA 적용 다시보기
____ECDSA의 SPA
__요약


9장. 단순 전력 분석
__자택 실험실
____기본 하드웨어 설정 구성
____설정 구매
____대상 코드 준비
____설정 구축
__통합: SPA 공격
____대상 준비
____오실로스코프 준비
____신호 분석
____통신 및 분석 스크립트 제작
____공격 스크립트 제작
__칩위스퍼러-나노 예제
____펌웨어 구축과 로딩
____첫 통신 살펴보기
____트레이스 캡처
____트레이스에서 공격으로
__요약


10장. 차분 전력 분석
__마이크로컨트롤러 내부
____커패시터의 전압 변경
____전력에서 데이터로 그리고 다시 반대로
__XOR 예제
__차분 전력 분석 공격
____누출 가정을 사용한 전력 소비량 예측
____파이썬의 DPA 공격
__지피지기: 고급 암호화 표준 공격 과정
____DPA를 사용해 AES-128 공격
__상관관계 전력 분석 공격
____상관 계수
____CPA를 이용한 AES-128 공격
____대상 장치와 통신
____오실로스코프 캡처 속도
__요약


11장. 고급 전력 분석
__주요 장애물
____더 강력한 공격
__성공 측정
____성공률 기반 메트릭
____엔트로피 기반 메트릭
____상관관계 피크 진행
____상관관계 피크 높이
__실제 장치에 대한 측정
____장치 작동
____측정 프로브
____민감한 망 결정
____자동화된 프로브 스캐닝
____오실로스코프 설정
__트레이스 세트 분석과 처리
____분석 기술
____처리 기술
____컨볼루션 신경망을 사용한 딥러닝
__요약


12장. 실험 사례: 차분 전력 분석
__부트로더 배경지식
____부트로더 통신 프로토콜
____AES-256 CBC의 세부 사항
____AES-256 공격
__부트로더 코드 얻기 및 빌드
__대상 실행과 트레이스 캡처
____CRC 계산
____부트로더와 통신
____개요 트레이스 캡처
____상세 트레이스 캡처
__분석
____라운드 14 키
____라운드 13 키
__IV 복구
____캡처 대상
____첫 번째 트레이스 얻기
____나머지 트레이스 얻기
____분석
__서명 공격
____공격 이론
____전력 트레이스
____분석
____4바이트 전체
__부트로더 소스코드 엿보기
____서명 확인 타이밍
__요약


13장. 실제 사례
__결함 주입 공격
____플레이스테이션 3 하이퍼바이저
____엑스박스 360
__전력 분석 공격
____필립스 휴 공격
__요약


14장. 대응책, 인증, 종장
__대응책
____대응책 실행
____대응책 확인
__산업 인증
__일신우일신
__요약


부록 A. 테스트 환경설정
__연결성 및 전압 확인: 50달러에서 500달러까지
__최적 피치 납땜: 50달러에서 1,500달러까지
__쓰루홀 냅땜 제거: 30달러에서 500달러
__표면 실장 장치의 납땜 및 납땜 제거: 100달러에서 500달러
__PCB 수정: 5달러에서 700달러
__광학 현미경: 200달러에서 2,000달러
__사진 촬영 보드: 50달러에서 2,000달러
__대상 전원 공급: 10달러에서 1,000달러
__아날로그 파형 보기(오실로스코프): 300달러에서 25,000달러
____메모리 깊이
____샘플링 속도
____대역폭
____기타 특징
__논리 파형 보기: 300달러에서 8,000달러
__직렬 버스에서 트리거링: 300달러에서 8,000달러
__직렬 프로토콜 디코딩: 50달러에서 8,000달러
__CAN 버스 스니핑과 트리거링: 50달러에서 5,000달러
__이더넷 스니핑: 50달러
__JTAG를 통한 상호작용: 20달러에서 10,000달러
____일반 JTAG 및 경계 스캔
____JTAG 디버그
__PCIe 통신: 100달러에서 1,000달러
__USB 스니핑: 100달러에서 6,000달러
__USB 트리거링: 250달러에서 6,000달러
__USB 에뮬레이션: 100달러
__SPI 플래시 연결: 25달러에서 1,000달러
__전력 분석 측정: 300달러에서 50,000달러
__아날로그 파형 트리거링: 3,800달러 이상
__자기장 측정: 25달러에서 10,000달러
__클럭 결함 주입: 100달러에서 30,000달러
__전압 결함 주입: 25달러에서 30,000달러
__전자기 결함 주입: 100달러에서 50,000달러
__광학 결함 주입: 1,000달러에서 250,000달러
__포지셔닝 프로브: 100달러에서 50,000달러
__대상 장치: 10달러에서 10,000달러


부록 B. 인기 핀아웃
__SPI 플래시 핀아웃
__0.1인치 헤더
____20핀 Arm JTAG
____14핀 PowerPC JTAG
__0.05인치 헤더
____Arm 코어텍스 JTAG/SWD
____엠버 패킷 트레이스 포트 커넥터

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.