現代的汽車比以往任何時候都更加計算機化。信息娛樂和導航系統、Wi-Fi、軟件自動更新,以及其他一些創新都以使駕駛更加便利為目標。然而,汽車技術尚未適應當今更加充滿敵意的安全環境,令數以百萬計的人受到攻擊威脅。 《汽車黑客大曝光》能夠深化你對現代汽車中計算機系統和嵌入式軟件的理解,以脆弱性檢測以及對 CAN總線上和設備/系統間通信的詳解開始。理解了汽車的通信網絡之后,本書接著介紹如何攔截數據并執行特定的黑客手段,以跟蹤車輛、解鎖車門、進行發動機時鐘脈沖干擾攻擊及泛洪通信攻擊等。本書專注于低成本的開源黑客工具,如Metasploit、Wireshark、Kayak、can-utils和ChipWhisperer。 主要內容 ● 為車輛構建的威脅模型 ● 對CAN總線進行逆向工程,以偽造發動機信號 ● 利用診斷和數據記錄系統中的漏洞 ● 黑掉ECU和其他固件,以及嵌入式系統 ● 通過信息娛樂系統和車輛間通信系統注入漏洞利用程序 ● 利用性能調校技術覆蓋出廠設置 ● 構建物理和虛擬的測試平臺,以安全地實驗漏洞利用技術 如果你對汽車安全技術有興趣,有激情攻擊兩噸重的“計算機”,可將本書作為你的站。
本書源于Open Garages社區的本汽車黑客培訓教材,涵蓋了汽車黑客技術的各個方面。作者深入淺出地介紹了多種汽車黑客技術,既包括相關理論介紹,又包括利用特定工具開展汽車黑客攻擊的具體應用實例,還列舉了實施汽車黑客技術所使用的相關硬件和軟件工具。本書既適用于學習汽車黑客技術的初學者,也適用于對汽車黑客技術有一定了解的“老手”。需要注意的是,學習汽車黑客技術的目的并不是為了攻擊車輛、搞破壞,而是為了深入理解汽車的工作原理,從而能夠更加客觀科學地對汽車進行安全性測試,以發現汽車中存在的漏洞和安全隱患,進而指導采取針對性的防護措施以防止汽車被惡意人員所攻擊。
Craig Smith經營著Theia Labs,這是一家致力于安全審計和軟硬件原型構建的安全研究公司。他曾就職于多家汽車廠商,為它們提供公開研究,他也是Hive13創客空間和OpenGarages.org的創始人之一。Craig是汽車黑客技術領域的活躍演講家,曾在RSA、DEF CON以及其他一些主要的安全大會上主持研討會。
目 錄
第1章 理解威脅模型 1
1.1 尋找攻擊面 2
1.2 威脅建模 2
1.2.1 Level 0級:鳥瞰視圖 3
1.2.2 Level 1級:接收端 3
1.2.3 Level 2級:接收端分解 4
1.3 威脅識別 6
1.3.1 Level 0級:鳥瞰視圖 6
1.3.2 Level 1:接收端 7
1.3.3 Level 2級:接收端分解 9
1.4 威脅分級體系 10
1.4.1 DREAD分級體系 10
1.4.2 CVSS:DREAD之外的
另一選擇 12
1.5 應用威脅建模結果 12
1.6 本章小結 13
第2章 總線協議 15
2.1 CAN總線 16
2.1.1 OBD-II連接器 17
2.1.2 找到CAN連接器 18
2.1.3 CAN總線的數據包格式 18
2.1.4 ISO-TP協議 20
2.1.5 CANopen協議 20
2.1.6 GMLAN總線 20
2.2 SAE J1850協議 20
2.2.1 PWM協議 21
2.2.2 VPW協議 21
2.3 關鍵字協議和ISO 9141-2 22
2.4 局域互聯網協議 23
2.5 MOST協議 24
2.5.1 MOST網絡層 25
2.5.2 MOST控制塊 25
2.5.3 破解MOST 26
2.6 FlexRay總線 26
2.6.1 硬件 26
2.6.2 網絡拓撲 26
2.6.3 實現方法 27
2.6.4 FlexRay循環 27
2.6.5 數據包結構 28
2.6.6 嗅探FlexRay網絡 29
2.7 汽車以太網 29
2.8 OBD-II連接器引腳圖 30
2.9 OBD-III標準 32
2.10 本章小結 33
第3章 使用SocketCAN與
車輛通信 35
3.1 設置can-utils以連接
CAN設備 37
3.1.1 安裝can-utils 37
3.1.2 配置內置芯片組 37
3.1.3 配置串行CAN設備 39
3.3.4 設置虛擬CAN網絡 40
3.2 CAN實用工具套件 41
3.2.1 安裝附加的內核模塊 42
3.2.2 can-isotp.ko模塊 43
3.3 SocketCAN應用程序編程 43
3.3.1 連接到CAN套接字 44
3.3.2 設置CAN數據幀 44
3.3.3 procfs接口 45
3.4 socketcand守護進程 45
3.5 Kayak 46
3.6 本章小結 48
第4章 診斷和日志 49
4.1 故障診斷代碼 50
4.1.1 DTC格式 51
4.1.2 用掃描工具讀取DTC 52
4.1.3 清除DTC 52
4.2 統一診斷服務 52
4.2.1 利用ISO-TP和CAN
發送數據 53
4.2.2 深入理解模式和PID 55
4.2.3 暴力破解診斷模式 56
4.2.4 保持車輛處于診斷狀態 58
4.3 事件數據記錄器日志 59
4.3.1 讀取EDR中的數據 60
4.3.2 SAE J1698標準 60
4.3.3 其他數據獲取方法 60
4.4 自動事告呼救系統 61
4.5 惡意意圖 61
4.6 本章小結 62
第5章 CAN總線逆向工程 63
5.1 定位CAN總線 64
5.2 使用can-utils和Wireshark
逆向CAN總線通信 64
5.2.1 使用Wireshark 65
5.2.2 使用candump 66
5.2.3 分組can總線數據流 66
5.2.4 使用錄制/回放 69
5.2.5 創造性數據包分析 72
5.2.6 獲得轉速表讀數 74
5.3 使用儀器總成仿真器
創建背景噪聲 76
5.3.1 設置ICSim 76
5.3.2 讀取ICSim上的
CAN流量 78
5.3.3 更改ICSim的難度 78
5.4 使用OpenXC進行CAN
總線逆向 79
5.4.1 翻譯CAN總線消息 79
5.4.2 寫入CAN總線 81
5.4.3 改造OpenXC 81
5.5 CAN總線模糊測試 83
5.6 排除問題 83
5.7 本章小結 84
第6章 ECU黑客 85
6.1 前門攻擊 86
6.1.1 J2534:標準化
車輛通信API 86
6.1.2 使用J2534工具 87
6.1.3 KWP2000及其他
早期協議 87
6.1.4 應用前門攻擊:
種子-密鑰算法 88
6.2 后門攻擊 88
6.3 漏洞利用 89
6.4 逆向汽車固件 89
6.4.1 自診斷系統 90
6.4.2 庫函數 90
6.4.3 通過字節比較進行
參數識別 94
6.4.4 使用WinOLS識別
ROM數據 95
6.5 代碼分析 96
6.5.1 基礎反匯編工具實戰 98
6.5.2 交互式反匯編器 100
6.6 本章小結 102
第7章 ECU測試平臺的
構建與使用 103
7.1 基本ECU測試平臺 104
7.1.1 獲得ECU 104
7.1.2 分解ECU線路 105
7.1.3 進行連線 107
7.2 搭建高級的ECU
測試平臺 107
7.2.1 仿真傳感器信號 108
7.2.2 霍爾效應傳感器 108
7.3 仿真車速 110
7.4 本章小結 114
第8章 攻擊ECU與其他
嵌入式系統 115
8.1 分析電路板 116
8.1.1 識別型號編碼 116
8.2.2 解剖并識別芯片 116
8.2 使用JTAG和串行線纜
調試功能調試硬件 118
8.2.1 串行線調試 119
8.2.2 高級用戶調試器 120
8.2.3 Nexus 121
8.3 利用ChipWhisperer進行
旁路分析 121
8.3.1 安裝軟件 122
8.3.2 設置Victim Board 124
8.4 使用功率分析攻擊方法
暴力破解安全引導程序 125
8.4.1 使用AVRDUDESS
進行測試準備 126
8.4.2 設置ChipWhisperer
以進行串行通信 126
8.4.3 設置自定義密碼 128
8.4.4 復位AVR 130
8.4.5 設置ChipWhisperer ADC 130
8.4.6 監視密碼輸入時的功耗 130
8.4.7 ChipWhisperer Python
腳本編程 133
8.5 故障注入 134
8.5.1 時鐘干擾 134
8.5.2 設置觸發線路 139
8.5.3 電源干擾 141
8.5.4 有損故障注入 141
8.6 本章小結 142
第9章 車載信息娛樂系統 143
9.1 攻擊面 144
9.2 利用系統更新進行攻擊 145
9.2.1 識別系統 145
9.2.2 確定更新文件類型 146
9.2.3 改造系統 147
9.2.4 App和插件 149
9.2.5 識別脆弱性 149
9.3 攻擊IVI硬件 151
9.3.1 分解IVI單元的連接 151
9.3.2 拆解IVI單元 153
9.4 信息娛樂系統測試平臺 154
9.4.1 GENIVI Meta-IVI 154
9.4.2 Automotive Grade Linux 157
9.5 獲取實驗用OEM IVI 158
9.6 本章小結 159
第10章 車間通信 161
10.1 V2V通信方法 162
10.2 DSRC協議 163
10.2.1 特征及用途 164
10.2.2 路旁DSRC系統 165
10.2.3 WAVE標準 167
10.2.4 使用DSRC進行
車輛跟蹤 169
10.3 安全問題 170
10.4 基于PKI的安全措施 171
10.4.1 車輛證書 171
10.4.2 匿名證書 172
10.4.3 證書供應 172
10.4.4 更新證書吊銷列表 173
10.4.5 不端行為報告 174
10.5 本章小結 175
第11章 武器化CAN研究成果 177
11.1 用C語言編寫漏洞
利用程序 178
11.1.1 改寫為匯編代碼 180
11.1.2 將匯編代碼轉換為
shellcode 183
11.1.3 刪除NULL 184
11.1.4 創建Metasploit載荷 184
11.2 確定目標種類 187
11.2.1 交互式探測 187
11.2.2 被動式CAN總線
指紋識別 189
11.3 負責任的漏洞利用 192
11.4 本章小結 192
第12章 使用軟件無線電
攻擊無線系統 193
12.1 無線系統和軟件無線電 194
12.2 TPMS黑客技術 195
12.2.1 使用射頻接收器監聽 196
12.2.2 TPMS數據包 197
12.2.3 激活信號 197
12.2.4 跟蹤車輛 198
12.2.5 觸發事件 198
12.2.6 發送構造的數據包 198
12.3 攻擊遙控鑰匙和
防盜系統 198
12.3.1 遙控鑰匙黑客技術 199
12.3.2 攻擊PKES系統 201
12.3.3 防盜器密碼學 202
12.3.4 對防盜器系統的
物理攻擊 208
12.3.5 閃回:搭線攻擊 211
12.4 本章小結 211
第13章 性能調校 213
13.1 性能調校的取舍 215
13.2 ECU調校 215
13.2.1 芯片調校 216
13.2.2 閃存調校 218
13.2.3 獨立發動機管理工具 219
13.3 本章小結 219
附錄A 專業工具 221
附錄B 診斷代碼的模式和PID 233
附錄C 創建自己的
Open Garages 237
術語表 243
書的質量不錯,包裝很好,內容新穎。適合初學者入門。
包裝好,物流快,慕名而買,非常滿意
書很好!!
紙張很好!
書已經收到,包裝很好,運輸中沒有損壞和缺損,給個好評吧,支持貨到付款pos刷卡很方便,開具稅控清單發票流程較為麻煩,要等貨物收到后致電客服開具再快遞送達,無法隨貨物一起收到。