汽車黑客大曝光 (The Car Hacker's Handbook:A Guide for the Penetration Tester) 汽车黑客大曝光

克雷格·史密斯 (Craig Smith)

買這商品的人也買了...

商品描述

內容簡介

現代的汽車比以往任何時候都更加電腦化。信息娛樂和導航系統、Wi—Fi、軟件自動更新,以及其他一些創新都以使駕駛更加便利為目標。然而,汽車技術尚未適應當今更加充滿敵意的安全環境,令數以百萬計的人受到攻擊威脅。能夠深化你對現代汽車中電腦系統和嵌入式軟件的理解,以脆弱性檢測以及對CAN總線上和設備/系統間通信的詳解開始。理解了汽車的通信網絡之後,《汽車黑客大曝光》接著介紹如何攔截數據並執行特定的黑客手段,以跟蹤車輛、解鎖車門、進行發動機時鐘脈沖乾擾攻擊及泛洪通信攻擊等。《汽車黑客大曝光》專註於低成本的開源黑客工具,如Metasploit、Wireshark、Kayak、can—utils和ChipWhisperer。

編輯推薦

本書源於Open Garages社區發布的第一本汽車黑客培訓教材,涵蓋了汽車黑客技術的各個方面。作者深入淺出地介紹了多種汽車黑客技術,既包括相關理論介紹,又包括利用特定工具開展汽車黑客攻擊的具體應用實例,還列舉了實施汽車黑客技術所使用的相關硬件和軟件工具。本書既適用於學習汽車黑客技術的初學者,也適用於對汽車黑客技術有一定瞭解的“老手”。需要註意的是,學習汽車黑客技術的目的並不是為了攻擊車輛、搞破壞,而是為了深入理解汽車的工作原理,從而能夠更加客觀科學地對汽車進行安全性測試,以發現汽車中存在的漏洞和安全隱患,進而指導採取針對性的防護措施以防止汽車被惡意人員所攻擊。

作者簡介

作者簡介

作者:Craig Smith 

經營著Theia Labs,這是一家致力於安全審計和軟硬件原型構建的安全研究公司。他曾就職於多家汽車廠商,為它們提供公開研究,他也是Hive13創客空間和OpenGarages.org的創始人之一。Craig是汽車黑客技術領域的活躍演講家,曾在RSA、DEF CON以及其他一些主要的安全大會上主持研討會。

目錄大綱

目錄

第1章理解威脅模型
1.1尋找攻擊面
1.2威脅建模
1.2.1Level 0級:鳥瞰視圖
1.2.2Level 1級:接收端
1.2.3Level 2級:接收端分解
1.3威脅識別
1.3.1Level 0級:鳥瞰視圖
1.3.2Level 1:接收端
1.3.3Level 2級:接收端分解
1.4威脅分級體系
1.4.1DREAD分級體系
1.4.2CVSS:DREAD之外的另一選擇
1.5應用威脅建模結果
1.6本章小結

第2章總線協議
2.1CAN總線
2.1.1OBD—II連接器
2.1.2找到CAN連接器
2.1.3CAN總線的數據包格式
2.1.4ISO—TP協議
2.1.5CANopen協議
2.1.6GMLAN總線
2.2SAEJ1850協議
2.2.1PWM協議
2.2.2VPW協議
2.3關鍵字協議和ISO 9141—2 
2.4局域互聯網協議
2.5MOST協議
2.5.1MOST網絡層
2.5.2MOST控制塊
2.5.3破解MOST 
2.6FlexRay總線
2.6.1硬件
2.6.2網絡拓撲
2.6.3實現方法
2.6 .4FlexRay循環
2.6.5數據包結構
2.6.6嗅探FlexRay網絡
2.7汽車以太網
2.8OBD—II連接器引腳圖
2.9OBD—III標準
2.10本章小結

第3章使用SocketCAN與車輛通信
3.1設置can—utils以連接CAN設備
3.1.1安裝can— utils 
3.1.2配置內置芯片組
3.1.3配置串行CAN設備
3.3.4設置虛擬CAN網絡
3.2CAN實用工具套件
3.2.1安裝附加的內核模塊
3.2.2can—isotp.ko模塊
3.3SocketCAN應用程序編程
3.3 .1連接到CAN套接字
3.3.2設置CAN數據幀
3.3.3procfs接口
3.4socketcand守護進程
3.5Kayak 
3.6本章小結

第4章診斷和日誌
4.1故障診斷代碼
4.1.1DTC格式
4.1.2用掃描工具讀取DTC 
4.1.3清除DTC 
4.2統一診斷服務
4.2.1利用ISO—TP和CAN發送數據
4.2.2深入理解模式和PD 
4.2.3暴力破解診斷模式
4.2.4保持車輛處於診斷狀態
4.3事件數據記錄器日誌
4.3.1讀取EDR中的數據
4.3.2SAEJ1698標準
4.3.3其他數據獲取方法
4.4自動事告呼救系統
4.5惡意意圖
4.6本章小結

第5章CAN總線逆向工程
5.1定位CAN總線
5.2使用can—utils和Wireshark逆向CAN總線通信
5.2.1使用Wiresllark 
5.2.2使用candump 
5.2.3分組can總線數據流
5.2.4使用錄製/回放
5.2.5創造性數據包分析
5.2.6獲得轉速表讀數
5.3使用儀器總成仿 真器創建背景噪聲
5.3.1設置ICSim 
5.3.2讀取ICSim上的CAN流量
5.3.3更改ICSim的難度
5.4使用OpenXC進行CAN總線逆向
5.4.1翻譯CAN總線消息
5.4.2寫入CAN總線
5.4. 3改造0penXC 
5.5CAN總線模糊測試
5.6排除問題
5.7本章小結

第6章ECU黑客
6.1前門攻擊
6.1.1J2534:標準化車輛通信API 
6.1.2使用J2534工具
6.1.3KWP2000及其他早期協議
6.1.4應用前門攻擊:種子一密鑰算法
6.2後門攻擊
6.3漏洞利用
6.4逆向汽車固件
6.4.1自診斷系統
6.4.2庫函數
6.4.3通過字節比較進行參數識別
6.4.4使用WinOLS識別ROM數據
6.5代碼分析
6.5.1基礎反彙編工具實戰
6.5.2交互式反彙編器
6.6本章小結

第7章ECU測試平台的構建與使用
7.1基本ECU測試平台
7.1.1獲得ECU 
7.1.2分解ECU線路
7.1.3進行連線
7.2搭建高級的ECU測試平台
7.2.1仿真傳感器信號
7.2.2霍爾效應傳感器
7.3仿真車速
7.4本章小結

第8章攻擊ECU與其他嵌入式系統
8.1分析電路板
8.1.1識別型號編碼
8.2.2解剖並識 別芯片
8.2使用JTAG和串行線纜調試功能調試硬件
8.2.1串行線調試
8.2.2高級用戶調試器
8.2.3Nexus 
8.3利用ChipWhisperer進行旁路分析
8.3.1安裝軟件
8.3.2設置Victim Board 
8.4使用功率分析攻擊方法暴力破解安全引導程序
8.4.1使用AVRDUDESS進行測試準備
8.4.2設置Chip Whisperer以進行串行通信
8.4.3設置自定義密碼
8.4.4復位AVR 
8.4.5設置Chip Whisperer ADC 
8.4. 6監視密碼輸入時的功耗
8.4.7Chip Whisperer Python腳本編程
8.5故障注入
8.5.1時鐘干擾
8.5.2設置觸發線路
8.5.3電源干擾
8.5.4有損故障注入
8.6本章小結

第9章車載信息娛樂系統
9.1攻擊面
9.2利用系統更新進行攻擊
9.2.1識別系統
9.2.2確定更新文件類型
9.2.3改造系統
9.2.4App和插件
9.2.5識別脆弱性
9.3攻擊IVI硬件
9.3.1分解IVI單元的連接
9.3.2拆解IVI單元
9.4信息娛樂系統測試平台
9.4.1GENIVI Meta—IVI 
9.4.2Automotive Grade Linux 
9.5獲取實驗用OEMIVI 
9.6本章小結

第10章車間通信
10.1V2V通 方法
10.2DSRC協議
10.2.1特徵及用途
10.2.2路旁DSRC系統
10.2.3WAVE標準
10.2.4使用DSRC進行車輛跟踪
10.3安全問題
10.4基於PKI的安全措施
10.4.1車輛證書
10.4.2匿名證書
10.4. 3證書供應
10.4.4更新證書吊銷列表
10.4.5不端行為報告
10.5本章小結


第11章武器化CAN研究成果
11.1用C語言編寫漏洞利用程序
11.1.1改寫為彙編代碼
11.1.2將彙編代碼轉換為shellcode 
11.1.3刪除NULL 
11.1.4創建Metasploit載荷
11.2確定目標種類
11.2.1交互式探測
11.2.2被動式CAN總線指紋識別
11.3負責任的漏洞利用
11.4本章小結

第12章使用軟件無線電
攻擊無線系統
12.1無線系統和軟件無線電
12.2TPMS黑客技術
12.2.1使用射頻接收器監聽
12.2.2TPMS數據包
12.2.3激活信號
12.2.4跟踪車輛
12.2.5觸發事件
12.2.6發送構造的數據包
12.3攻擊遙控鑰匙和防盜系統
12.3.1遙控鑰匙黑客技術
12.3.2攻擊PKES系統
12.3.3防盜器密碼學
12.3.4對防盜器系統的物理攻擊
12.3.5閃回:搭 攻擊
12.4本章小結

第13章性能調校
13.1性能調校的取捨
13.2ECU調校
13.2.1芯片調校
13.2.2閃存調校
13.2.3獨立發動機管理工具
13.3本章小結

附錄A專業工具
附錄B診斷代碼的模式和PID 
附錄C創建自己的Open Garages 
術語表