産品特色
編輯推薦
本書源於Open Garages社區發布的第1本汽車黑客培訓教材,涵蓋瞭汽車黑客技術的各個方麵。作者深入淺齣地介紹瞭多種汽車黑客技術,既包括相關理論介紹,又包括利用特定工具開展汽車黑客攻擊的具體應用實例,還列舉瞭實施汽車黑客技術所使用的相關硬件和軟件工具。本書既適用於學習汽車黑客技術的初學者,也適用於對汽車黑客技術有一定瞭解的“老手”。需要注意的是,學習汽車黑客技術的目的並不是為瞭攻擊車輛、搞破壞,而是為瞭深入理解汽車的工作原理,從而能夠更加客觀科學地對汽車進行安全性測試,以發現汽車中存在的漏洞和安全隱患,進而指導采取針對性的防護措施以防止汽車被惡意人員所攻擊。
內容簡介
現代的汽車比以往任何時候都更加計算機化。信息娛樂和導航係統、Wi-Fi、軟件自動更新,以及其他一些創新都以使駕駛更加便利為目標。然而,汽車技術尚未適應當今更加充滿敵意的安全環境,令數以百萬計的人受到攻擊威脅。
《汽車黑客大曝光》能夠深化你對現代汽車中計算機係統和嵌入式軟件的理解,以脆弱性檢測以及對 CAN總綫上和設備/係統間通信的詳解開始。理解瞭汽車的通信網絡之後,本書接著介紹如何攔截數據並執行特定的黑客手段,以跟蹤車輛、解鎖車門、進行發動機時鍾脈衝乾擾攻擊及泛洪通信攻擊等。本書專注於低成本的開源黑客工具,如Metasploit、Wireshark、Kayak、can-utils和ChipWhisperer。
主要內容
● 為車輛構建精確的威脅模型
● 對CAN總綫進行逆嚮工程,以僞造發動機信號
● 利用診斷和數據記錄係統中的漏洞
● 黑掉ECU和其他固件,以及嵌入式係統
● 通過信息娛樂係統和車輛間通信係統注入漏洞利用程序
● 利用性能調校技術覆蓋齣廠設置
● 構建物理和虛擬的測試平颱,以安全地實驗漏洞利用技術
如果你對汽車安全技術有興趣,有激情攻擊兩噸重的“計算機”,可將本書作為你的第一站。
作者簡介
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
前言/序言
2014年,Open Garages——對汽車安全技術的共享與協作感興趣的一群人,發布瞭第一本Car Hacker’s Manual(《汽車黑客手冊》),作為汽車黑客培訓班的教材。原書被設計為可放入汽車手套箱的小開本,在一兩天的汽車安全課程中涵蓋汽車黑客技術的基礎內容。我們幾乎沒有預料到它會引起讀者如此濃厚的興趣:在第一周它就被下載瞭超過30萬次。實際上,該書如此熱門,甚至讓我們的Internet服務提供商癱瘓兩次!,讓他們對我們頗有微詞(還好,最後他們原諒瞭我們,這好極瞭,因為本人很喜歡這傢小的Internet服務提供商HiSpeedSpan.net!)
讀者反饋基本上也是好評如潮;主要的批評集中在於該手冊篇幅太短,沒有足夠多的細節。本書就是應這些批評而生的。這本《汽車黑客大曝光》深入到汽車黑客技術的大量細節,甚至涵蓋瞭與安全並不直接相關的內容,例如性能調校以及理解與操作汽車的有用工具。
為何汽車黑客活動能令所有人受益?
盡管買下本書意味著你可能已經明白自己為什麼想要黑掉汽車,但為保險起見,這裏還是給齣一份詳述汽車黑客活動益處的列錶。
● 理解車輛如何工作:汽車産業推齣瞭一些具有復雜電子和計算機係統的優秀車型,但他們很少公開這些係統如何工作的信息。理解車輛網絡如何工作,及其如何與汽車自身係統和外部通信,將有助於更好地診斷和排除問題。
● 玩轉電子係統:隨著車輛技術的演進,其機械部件減少,而電子部件增加。遺憾的是,汽車電子係統通常對除瞭代理商的機械師之外的所有人都是封閉的。雖然代理商相對於個人能接觸到更多信息,但汽車製造商自己也進行部件外包,並且需要用於診斷問題的專用工具。搞清楚車輛電子設備如何工作能幫助突破上述壁壘。
● 改裝車輛:通曉汽車如何通信可以提高改裝效果,例如降低油耗以及使用第三方替換件。理解瞭通信係統原理,就能將其他係統——如顯示性能的附加屏幕,或集成性與原廠件同樣良好的第三方部件——無縫集成到車上。
● 發現未公開的功能:有時車輛擁有未公開或隻是單純被禁用的功能特性。發現這些未公開/禁用的功能特性並利用它們,能夠充分發揮車輛的潛力。例如,某種車可能有一個未公開的“停車員”模式,可在交鑰匙給停車員前,將車輛置於受限製的該模式下。
● 驗證車輛的安全性:截至本書成文時,車輛安全性導則中對惡意電子威脅沒有應對措施。雖然車輛和桌麵計算機易受同樣惡意軟件的攻擊,汽車廠商並不被要求審計車輛的電子係統的安全性。該狀況顯然無法令人接受:乘坐這些車東奔西跑的是我們的傢人和朋友,人人都希望能盡量安全。如果學會如何黑客汽車,就能知道車輛哪裏易受攻擊,從而做齣相應預防措施,並成為更稱職的更高安全標準的推動者。
● 幫助汽車工業:汽車工業也能從本書涵蓋的知識中受益。本書介紹瞭識彆威脅的指南,以及可規避當前防護措施的最新技術。除瞭幫助設計安全實踐,本書還嚮研究者就如何交流成果提供瞭指導。
今天的汽車比以往任何時候都更加電子化。在一份發錶於IEEE Spectrum期刊上的名為“這輛車運行在代碼之上”的報告中,作者Robert N. Charette指齣,2009年時,典型的汽車包含超過100個以上的處理器、50個以上的電子控製單元、5韆米以上的布綫和100萬行以上的代碼。豐田公司的工程師曾開玩笑說,他們給汽車安裝車輪的唯一原因就是防止計算機與地麵擦撞。隨著計算機係統與車輛的集成日趨緊密,進行安全審計也變得日益重要和復雜。
警告:
汽車黑客活動不能等閑視之。摺騰車輛的網絡、無綫連接、車用電腦或其他電子係統時可能會損壞或禁用它們。在實驗本書中的任何技術時,都必須小心翼翼,並將安全作為壓倒一切的重點,本書作者和齣版社都不會為對你的車輛的任何損害負責。
本書內容
本書將介紹黑掉一輛汽車所需要的方方麵麵知識。本書從縱覽車輛安全相關策略開始,繼而深入講解如何檢查車輛是否安全,以及如何尋找復雜硬件係統中的脆弱性。
各章內容提要如下:
第1章:理解威脅模型 教你如何評估一輛汽車,你會學到如何識彆具備最高風險的部件所在的區域。對於從事汽車工業工作的讀者而言,該章可作為建立自己的威脅模型係統的有用指南。
第2章:總綫協議 詳細說明在對車輛進行安全審計時可能遇到的不同總綫網絡,並分析瞭各種總綫使用的布綫、電壓和協議。
第3章:使用SocketCAN與車輛通信 展示如何使用Linux係統中的SocketCAN接口集成多種CAN硬件,以便編寫或使用與設備無關的工具。
第4章:診斷和日誌 涵蓋如何讀取發動機代碼、統一診斷服務(Unified Diagnostic Services,UDS)和ISOTP協議。該章說明瞭不同的模塊服務如何工作,它們的共同弱點,以及何種信息將被日誌記錄以及日誌信息的存儲位置。
第5章:CAN總綫逆嚮工程 詳解如何分析CAN網絡,包括如何設置虛擬CAN測試環境,以及如何使用CAN安全相關的工具和模糊測試器。
第6章:ECU黑客 聚焦於在ECU上運行的固件。你會學到如何訪問、修改固件以及分析其二進製數據。
第7章:ECU測試平颱的構建與使用 說明如何從車上拆卸部件以搭建安全的測試環境。此外,該章還介紹瞭如何閱讀布綫圖,以及如何為ECU仿真發動機部件,如溫度傳感器或麯軸。
第8章:攻擊ECU與其他嵌入式係統 涵蓋集成電路調試針腳和方法學。該章還解析瞭旁路分析攻擊方法,例如差分功耗分析和時鍾錯誤注入攻擊,並附以循序漸進的示例。
第9章:車載信息娛樂係統 詳解車載信息娛樂係統的工作原理。由於車載信息娛樂係統很可能具有全車最大的攻擊麵,該章聚焦於進
汽車黑客大曝光/安全技術經典譯叢 下載 mobi epub pdf txt 電子書