Car Hacker's Handbook (자동차 보안 위협과 해킹 기술의 모든 것)

Car Hacker's Handbook (자동차 보안 위협과 해킹 기술의 모든 것)

$35.68
Description
최근 자동차 분야의 기술 발전은 놀라울 정도로 빠르게 변화하고 있다. 그 배경에는 IT 기술과 자동차의 결합이 가장 중요한 역할을 하고 있다는 것은 이미 많은 사람이 인지하고 있다. 하지만 그 이면에는 IT 분야에 존재하고 있던 많은 보안 위협이 자동차 분야로 전이됐고, 이에 대한 심각성이 인지되기 시작한 것은 얼마 되지 않았다. 이 책은 자동차 기술에 대한 기본 지식부터 향후 발전 방향을 소개하며, 해킹 전문가 그룹에서 오랫동안 분석한 자동차 해킹 기술에 대해 자세히 소개하고 있다. 자동차 산업 관련 전문가, 보안 전문가 또는 자동차 튜닝에 관심 있는 일반인에게 유용할 것이다.
저자

크레이그스미스

저자크레이그스미스(CraigSmith)는보안검사,하드웨어및소프트웨어컨셉설계를주로하는데이아랩스(TheiaLabs)라는보안연구회사를운영하고있다.또한하이브13해커스페이스(Hive13Hackerspace)와오픈게라지스(OpenGarages)를설립한사람중하나다.
현재일부차량제조사를위해일하고있으며,차량보안에대한공개연구와개발툴을제공하고있다.전문분야는리버스엔지니어링과모의침투테스트다.이책은사람들이자신의차량을검사하는방법에대해자세히알기를바라는오픈게라지스그룹과크레이그의바람이만들어낸큰성과다.

목차

1장.위협모델의이해
__공격지점식별
__위협모델링
____레벨0:데이터흐름파악
____레벨1:데이터처리프로세스분석
____레벨2:데이터처리프로세스세분화
__위협식별
____레벨0:전반적위협식별
____레벨1:데이터처리프로세스별위협식별
____레벨2:데이터처리프로세스위협세분화
__위협등급체계
____DREAD등급체계
____CVSS:DREAD의대안
__위협모델결과활용
__요약

2장.버스프로토콜
__CAN버스
____OBD-II커넥터
____CAN연결위치찾기
____CAN버스패킷구성
____ISO-TP프로토콜
____CANopen프로토콜
____GMLAN버스
__SAEJ1850프로토콜
____PWM프로토콜
____VPW프로토콜
__키워드프로토콜과ISO9141-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의데이터읽어오기
____SAEJ1698표준
____기타데이터검색사례
__자동충돌통보시스템
__악의적의도
__요약

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리셋
____ChipWhispererADC설정
____패스워드입력시전력사용량모니터링
____파이썬을이용한ChipWhisperer스크립트제작
__결함주입
____클록글리칭
____트리거라인설정
____전원글리칭
____외과적결함주입
__요약

9장.차량내인포테인먼트시스템
__공격지점
__업데이트시스템을통한공격
____시스템식별
____업데이트파일타입식별
____시스템변경
____애플리케이션과플러그인
____취약점식별
__IVI하드웨어공격
____IVI기기의연결분석
____IVI기기분해
__인포테인먼트테스트벤치
____GENIVIMeta-IVI
____AGL
__테스트를위한OEMIVI얻기
__요약


10장.V2V통신
__V2V통신방식
__DSRC프로토콜
____특징과용도
____도로주변DSRC시스템
____WAVE표준
____DSRC를이용한차량추적
__보안문제
__PKI기반보안대책
____차량인증서
____익명인증서
____인증서등록
____인증서폐지항목갱신
____비정상적행위보고
__요약

11장.CAN결과의활용
__C언어를이용한익스플로잇작성
____어셈블리어코드로변환
____어셈블리코드를셸코드로변환
____NULL제거
____메타스플로잇페이로드생성
__공격대상차종알아내기
____대화형탐색
____수동적CAN버스핑거프린팅
__책임감있는익스플로잇
__요약

12장.SDR을이용한무선시스템공격
__무선시스템과SDR
____신호변조
__TPMS해킹
____라디오수신기를이용한도청
____TPMS패킷
____신호활성화
____차량추적
____이벤트트리거링
____변조된패킷전송
__전자키와이모빌라이저공격
____전자키해킹
____PKES시스템공격
____이모빌라이저암호기술
____이모빌라이저시스템상물리적공격
____플래시백:핫와이어링
__요약

13장.성능튜닝
__성능튜닝의타협
__ECU튜닝
____칩튜닝
____플래시튜닝
__독립형엔진관리
__요약

부록A.차량해킹툴모음
__하드웨어
____보급형CAN디바이스
____고급형CAN디바이스
__소프트웨어
____와이어샤크
____PyOBDModule
____리눅스툴
____CANiBUS서버
____Kayak
____SavvyCAN
____O2OO데이터로거
____CaringCaribou
____c0fFingerprinting툴
____UDSimECUSimulator
____OctaneCAN버스스니퍼
____AVRDUDESSGUI
____RomRaiderECUTuner
____KomodoCAN버스스니퍼
____VehicleSpy

부록B.진단코드모드와PID
__0x10모드
__유용한PID

부록C.자신만의OpenGarage만들기
__특성시트작성
____모임일정
____제휴와프라이빗멤버십
____미팅공간에대한명시
____연락정보
____그룹초기관리자
____장비

출판사 서평

★추천의글★

세상은더많은해커를원하고있으며,더많은자동차해커역시필요로한다.차량기술은점점더복잡하고연결지향적으로발전하고있다.이러한변화들에대처하기위해서는차량보안에대한더높은관심과더능력있는전문가들이필요할것이다.하지만해커란무엇인가?이용어는많은미디어매체를거치면서의미가변질돼알려져버린용어다.그러나해커라는용어의정확한의미는창조하는사람,탐험하는사람,보수하는사람(즉,예술적으로실험하고,동작방법을이해하기위해시스템을디스어셈블해서발견해내는사람이다)과관련있다.내경험에비춰보면최고의보안전문가(보안이취미인사람)들은자연스럽게어떤것이어떻게동작하는지에대해관심을갖는사람이다.이런사람은탐험하고보수하고실험하며단지발견의재미를위해서만디스어셈블하고,이런사람이해킹을한다.
자동차는매우위협적인해킹의대상이될수있다.대부분의차량에는키보드나로그인을하기위한입력창이존재하지않지만,익숙하지않은프로토콜의배열,CPU,연결단자,운영체제들이탑재돼있다.이책은차량내의일반적인요소들을분석하며,차량해킹시작에필요한정보들과즉시사용가능한툴들을소개한다.이책을다읽을때쯤이면차량은서로연결된컴퓨터들의집합이며,바퀴는그저붙어있는것일뿐이라는사실을알게될것이다.적절한툴과정보들로무장하면해킹을할수도있음을느낄것이다.
이책은또한열려있는많은주제들을다룬다.자동차를비롯해서우리가의존하는시스템이조사,검사를통한문서화가가능하다면우리는더안전할것이다.이책을통해습득하는지식을이용하면차량을조사하고검사하고문서화할수있다.독자들의새로운발견을볼수있기를기대한다.

★이책에서다루는내용★

■차량에대한위협모델링수립
■CANbus리버스엔지니어링(ReverseEngineering)기술을통한엔진신호조작
■진단및데이터로깅시스템의익스플로잇(Exploit)공격
■ECU,펌웨어,임베디드시스템해킹
■인포테인먼트(Infotainment)와V-to-V통신시스템들에익스플로잇공격
■성능튜닝기법을이용한차량출하시설정변경
■물리적/가상적테스트벤치를구성하여익스플로잇공격테스트

★이책의대상독자★

자동차산업관련전문가,보안전문가또는자동차튜닝에관심있는일반인에게추천한다.차량보안에호기심이있고2톤짜리컴퓨터를해킹하고싶은충동이있다면,이책을펼치길추천한다.

★이책의구성★

1장,‘위협모델의이해’에서는차량을평가하는방법을배우며,고위험영역을식별하는방법을알게될것이다.자동차산업에서종사하고있다면내부의위협모델링시스템을구축하는데유용한가이드역할을하게될수있다.
2장,‘버스프로토콜’에서는차량을평가할때나버스프로토콜,전압,전선을분석할때접하게되는다양한버스네트워크의종류를자세히다룬다.
3장,‘SocketCAN을이용한차량통신’에서는리눅스시스템에서SocketCAN을이용해다양한CAN하드웨어툴을구현하는방법을소개하며,어떤진단대상이든사용할수있는툴을스스로만들수있도록설명한다.
4장,‘고장진단과로깅’에서는엔진의코드,범용진단서비스,ISO-TP프로토콜을읽는방법을다룬다.각서비스모듈이어떻게동작방식이다르고,공통적으로갖고있는취약점은무엇인지,저장되는로그정보가무엇이고어디에존재하는지에대해알게된다.
5장,‘CAN버스리버스엔지니어링’에서는가상CAN네트워크를구성하는방법과,CAN보안관련툴과퍼저(Fuzzer)를이용해CAN네트워크를분석하는방법을다룬다.
6장,‘ECU해킹’에서는ECU에서동작하는펌웨어에초점을맞춘다.펌웨어를얻는방법과수정하는방법,그리고펌웨어의바이너리데이터를분석하는방법을다룬다.
7장,‘ECU테스트벤치구축과활용’에서는안전한테스트환경을구축하기위해차량의부품을제거하는방법을설명한다.ECU간배선도를읽고엔진의ECU구성요소인온도센서들과크랭크축의동작등을시뮬레이션하는방법을다룬다.
8장,‘ECU와기타임베디드시스템공격’에서는집적회로의디버깅핀을연결하는방법을다룬다.또한전압차분석(DifferentialPowerAnalysis)이나클록글리칭(ClockGlitching)과같은부채널공격(SideChannelAnalysisAttacks)을다룬다.
9장,‘차량내인포테인먼트시스템’에서는차량내부의인포테인먼트시스템이가장많은공격지점을갖고있는중요한포인트이기때문에인포테인먼트시스템의동작원리를자세히다룬다.펌웨어를획득하는여러접근법과펌웨어를시스템상에서실행하는방법을중점적으로다룰것이며,테스트를위해일부오픈소스인포테인먼트시스템을활용한다.
10장,‘V2V통신’에서는차량과차량사이네트워크가어떻게동작하도록설계됐는지설명하고,암호방식과여러나라에서제안된여러프로토콜방식을다룬다.그리고일부잠재적인문제점도언급한다.
11장,‘CAN결과의활용’에서는CAN분석의결과들을어떻게사용가능한익스플로잇으로만드는지설명한다.PoCProof-of-Concept,개념증명코드를어셈블리코드(AssemblyCode)와궁극적인셸코드(Shellcode)로변환하는방법을배우고,특정목표차량만을익스플로잇하는방법과,취약점이발견되지않은차량을분석하는방법도테스트한다.
12장,‘SDR을이용한무선시스템공격’에서는무선통신을분석하기위해SDR(Software-DefinedRadio)을사용하는방법을다루며,TPMS,Keyfobs,이모빌라이저시스템(ImmobilizerSystems)들을분석하는데활용한다.예제로이모빌나이저시스템이동작할때사용하는암호구조나기타알려진무선통신의문제점을분석해본다.
13장,‘성능튜닝’에서는차량의성능을향상시키고변화시키는기술을다룬다.칩튜닝이나일반적인튜닝툴,그리고엔진을원하는상태로변경하는데필요한기술을다룬다.
부록A,‘차량해킹툴모음’에서는차량보안연구실을구축할때유용한하드웨어,소프트웨어툴의목록을제공한다.
부록B,‘진단코드모드와PID’에서는일반적인진단모드와사용하기쉬운PID의목록을제공한다.
부록C,‘자신만의OpenGarage만들기’에서는차량해킹커뮤니티에참가하는방법과자신만의OpenGarage를시작하는방법을다룬다.

★감수의글★

수십년간자동차는인간의이동수단으로안전을중심으로개발됐다.하지만자동차부품이하나둘씩전장화되면서자동차는어느덧컴퓨터또는전자제품으로탈바꿈하고있다.불과수년전구글,애플과같은IT공룡기업이자동차를만든다고선언했을때모두믿지않았다.하지만,이제는자율주행이라는기술을장착한자동차의시범운행을미디어를통해쉽게찾아볼수있다.세상은우리가생각하는것이상으로빠르게변하고있다.
지프제로키원격조정해킹사건으로크라이슬러는140만대가넘는자동차에대한리콜조치를했다.영화에서만보던자동차해킹이이제우리에게닥친현실이된것이다.여러유명해외컨퍼런스에서는안전위주의자동차부품개발프로세스에보안개발프로세스를접목하는사례를앞다투어발표하고있다.자동차보안이안전을위협하고있다는방증인셈이다.
자동차보안분야에서수년간업무를수행해오며아쉬웠던부분은학계나미디어에서자동차보안위협이나해킹사고를자주발표하지만,어디에도그원리및방법에대해체계적으로설명하는곳은없었다.이책은자동차해킹을선망의대상으로만바라보고있는독자들에게한줄기빛이자사막의오아시스와같은역할을해줄것을믿어의심치않는다.
자동차해킹은매우다양한지식과기술이필요하므로책한권으로모든것을설명하는것은불가능하다.이책은자동차해킹분야의필요한사항을간략하게설명하고필요할때에적절한내용을즉시확인할수있는핸드북이다.소프트웨어뿐만아니라하드웨어보안까지다양한각도에서자동차해킹을체계적으로다루고있기에자동차해킹을시작하는독자들에게충분한길잡이역할을해줄것이다.
자동차해킹서적번역을통해국내에차량보안을소개한다는사명감으로용어하나,문장하나를두고번역자신현진군과밤낮없이벌인논쟁과토론의수고가결실을보게되어매우기쁘다.이책을시작으로국내에서자동차해킹에대해더많은서적이출간되고번역되기를기대한다.