Car Hacker's Handbook
도서명:Car Hacker's Handbook
저자/출판사:크레이그,스미스/에이콘출판
쪽수:412쪽
출판일:2017-02-17
ISBN:9788960779273
목차
1장. 위협 모델의 이해
__공격 지점 식별
__위협 모델링
____레벨 0: 데이터 흐름 파악
____레벨 1: 데이터 처리 프로세스 분석
____레벨 2: 데이터처리 프로세스 세분화
__위협 식별
____레벨 0: 전반적 위협 식별
____레벨 1: 데이터처리 프로세스별 위협 식별
____레벨 2: 데이터처리 프로세스 위협 세분화
__위협 등급 체계
____DREAD 등급 체계
____CVSS: DREAD의 대****
__위협 모델 결과 활용
__요약
2장. 버스 프로토콜
__CAN 버스
____OBD-II 커넥터
____CAN 연결 위치 찾기
____CAN 버스 패킷 구성
____ISO-TP 프로토콜
____CANopen 프로토콜
____GMLAN 버스
__SAE J1850 프로토콜
____PWM 프로토콜
____VPW 프로토콜
__키워드 프로토콜과 ISO 9141-2
__LIN 프로토콜
__MOST 프로토콜
____MOST 네트워크 계층 구조
____MOST 제어 블록
____MOST 해킹
__플렉스레이 버스
____하드웨어
____네트워크 토폴로지
____구현
____플렉스레이 사이클
____패킷 구성
____플렉스레이 네트워크 스니핑
__차량 이더넷
__OBD-II 커넥터 핀아웃 맵
__OBD-III 표준
__요약
3장. SocketCAN을 이용한 차량 통신
__CAN 디바이스 연결을 위한 can-utils 설정
____can-utils 설치
____내장형 칩셋 설정
____시리얼 CAN 디바이스 설정
____가상 CAN 네트워크 설정
__CAN 유틸리티 스위트
____추가 커널 모듈 설치
____can-isotp.ko 모듈
__SocketCAN 애플리케이션 코딩
____CAN 소켓 연결
____CAN 프레임 설정
____Procfs 인터페이스
__socketcand 데몬
__Kayak
__요약
4장. 고장 진단과 로깅
__고장 진단 코드
____DTC 포맷
____DTC 스캔 툴 활용
____DTC 삭제
__통합 진단 서비스
____ISO-TP와 CAN을 이용한 데이터 전송
____진단 모드와 PID에 대한 이해
____진단 모드 무작위 대입
____차량 진단 상태 유지
__EDR 로깅
____EDR의 데이터 읽어오기
____SAE J1698 표준
____기타 데이터 검색 사례
__자동 충돌 통보 시스템
__악의적 의도
__요약
5장. CAN 버스 리버스엔지니어링
__CAN 버스 연결
__can-utils와 와이어샤크를 이용한 CAN 버스 통신 리버싱
____와이어샤크 사용
____candump 사용
____CAN 버스에 전송된 데이터 그룹화
____패킷 기록과 재생
____창조적인 패킷 분석
____엔진 속도계 정보 읽어오기
__ICSim를 이용한 백그라운드 노이즈 생성
____ICSim 설정
____ICSim의 CAN 버스 트래픽 읽기
____ICSim 난이도 변경
__OpenXC를 이용한 CAN 버스 리버싱
____CAN 버스 메시지 변환
____CAN 버스 데이터 전송
____OpenXC 해킹
__CAN 버스 퍼징
__트러블슈팅
__요약
6장. ECU 해킹
__프론트 도어 공격
____J2534: 차량 통신 API 표준
____J2534 툴 활용
____KWP2000과 기타 이전 프로토콜
____프론트 도어 접근 방식의 활용: Seed-Key 알고리즘
__백도어 공격
__익스플로잇
__차량 펌웨어 리버싱
____자체 진단 시스템
____라이브러리 프로시저
____파라미터 식별을 위한 바이트 비교
____WinOLS를 이용한 ROM 데이터 식별
__코드 분석
____전용 디스어셈블러
____대화형 디스어셈블러
__요약
7장. ECU 테스트 벤치 구축과 활용
__기본적인 ECU 테스트 벤치
____ECU 찾기
____ECU 배선 분석
____배선 연결
__고급 테스트 벤치 제작
____센서 시그널 시뮬레이션
____홀 이펙트 센서
__차량 속도 시뮬레이션
__요약
8장. ECU와 기타 임베디드 시스템 공격
__회로 기판 분석
____모델 번호 식별
____칩의 분해와 분석
__JTAG, 시리얼 와이어 디버그를 이용한 하드웨어 디버깅
____JTAG
____시리얼 와이어 디버깅
____고급 사용자 디버거
____넥서스
__ChipWhisperer를 이용한 부채널 공격
____소프트웨어 설치
____타겟 보드 준비
__전원 분석 공격을 이용한 보****부트 무작위 대입 시도
____AVRDUDESS를 이용한 테스트 과정 준비
____시리얼 통신을 위한 ChipWhisperer 설정
____패스워드 변경
____AVR 리셋
____ChipWhisperer ADC 설정
____패스워드 입력 시 전력 사용량 모니터링
____파이썬을 이용한 ChipWhisperer 스크립트 제작
__결함 주입
____클록 글리칭
____트리거 라인 설정
____전원 글리칭
____외과적 결함 주입
__요약
9장. 차량 내 인포테인먼트 시스템
__공격 지점
__업데이트 시스템을 통한 공격
____시스템 식별
____업데이트 파일 타입 식별
____시스템 변경
____애플리케이션과 플러그인
____취약점 식별
__IVI 하드웨어 공격
____IVI 기기의 연결 분석
____IVI 기기 분해
__인포테인먼트 테스트 벤치
____GENIVI Meta-IVI
____AGL
__테스트를 위한 OEM IVI 얻기
__요약
10장. V2V 통신
__V2V 통신 방식
__DSRC 프로토콜
____특징과 용도
____도로 주변 DSRC 시스템
____WAVE 표준
____DSRC를 이용한 차량 추적
__보****문제
__PKI 기반 보****대책
____차량 인증서
____익명 인증서
____인증서 등록
____인증서 폐지 항목 갱신
____비정상적 행위 보고
__요약
11장. CAN 결과의 활용
__C 언어를 이용한 익스플로잇 작성
____어셈블리어 코드로 변환
____어셈블리 코드를 셸코드로 변환
____NULL 제거
____메타스플로잇 페이로드 생성
__공격 대상 차종 알아내기
____대화형 탐색
____수동적 CAN 버스 핑거프린팅
__책임감 있는 익스플로잇
__요약
12장. SDR을 이용한 무선 시스템 공격
__무선 시스템과 SDR
____신호 변조
__TPMS 해킹
____라디오 수신기를 이용한 도청
____TPMS 패킷
____신호 활성화
____차량 추적
____이벤트 트리거링
____변조된 패킷 전송
__전자 키와 이모빌라이저 공격
____전자 키 해킹
____PKES 시스템 공격
____이모빌라이저 암호 기술
____이모빌라이저 시스템상 물리적 공격
____플래시백: 핫와이어링
__요약
13장. 성능 튜닝
__성능 튜닝의 타협
__ECU 튜닝
____칩 튜닝
____플래시 튜닝
__독립형 엔진 관리
__요약
부록 A. 차량 해킹 툴 모음
__하드웨어
____보급형 CAN 디바이스
____고급형 CAN 디바이스
__소프트웨어
____와이어샤크
____PyOBD Module
____리눅스 툴
____CANiBUS 서버
____Kayak
____SavvyCAN
____O2OO 데이터 로거
____Caring Caribou
____c0f Fingerprinting 툴
____UDSim ECU Simulator
____Octane CAN 버스 스니퍼
____AVRDUDESS GUI
____RomRaider ECU Tuner
____Komodo CAN 버스 스니퍼
____Vehicle Spy
부록 B. 진단 코드 모드와 PID
__0x10 모드
__유용한 PID
부록 C. 자신만의 Open Garage 만들기
__특성 시트 작성
____모임 일정
____제휴와 프라이빗 멤버십
____미팅 공간에 대한 명시
____연락 정보
____그룹 초기 관리자
____장비