0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何打開車聯(lián)網(wǎng)安全的大門

jf_EksNQtU6 ? 來源:談思實驗室 ? 2023-06-15 15:28 ? 次閱讀

車聯(lián)網(wǎng)安全是目前較為熱門的發(fā)展方向,但是由于他的入門門檻太高(沒有實車)導致大部分人被卡在門檻這里。所以我總結了網(wǎng)上的相關資料寫出這篇文章,可以讓學習車聯(lián)網(wǎng)安全的同學來模擬控制一輛車是什么樣的感覺,本篇文章通過Ubuntu模擬了車載CAN總線的收發(fā)包來進行操作學習,接下來跟著我一步步操作來打開車聯(lián)網(wǎng)安全的大門吧!

什么是CAN總線

CAN總線又稱控制器局域網(wǎng)是Controller Area Network的縮寫,CAN總線是一種功能豐富的車用總線標準。被設計用于在不需要主機(Host)的情況下,允許網(wǎng)絡上的單片機和儀器相互通信。它基于消息傳遞協(xié)議,設計之初在車輛上采用復用通信線纜,以降低銅線使用量,后來也被其他行業(yè)所使用。簡單來說就是用來控制車輛功能的通信協(xié)議,比如車門解鎖、轉向燈、剎車、油門等,為什么要使用CAN協(xié)議,簡單來說就是便宜好用。

CAN總線特性

安全性:CAN是低級協(xié)議,不支持任何內(nèi)在的安全功能。在標準的CAN中也沒有加密,這使得這些網(wǎng)絡數(shù)據(jù)能被截取。在大多數(shù)應用中,應用程序需要部署自己的安全機制,例如認證傳入命令或網(wǎng)絡上某些設備的存在。若不執(zhí)行適當?shù)陌踩胧渌丝赡茉O法在總線上插入消息。盡管一些安全關鍵功能(如修改固件,編程鍵或控制防抱死制動)存在密碼,但這些系統(tǒng)并未普遍實施,并且密鑰對的數(shù)量有限。

通信機制:多主機-即每個節(jié)點都有接入總線的能力。

尋址機制:消息區(qū)別:不設節(jié)點的地址,通過消息的標志符來區(qū)別消息。

幀類型:數(shù)據(jù)幀、遠程幀、錯誤幀、超載幀、幀間隔

攻擊方式:

應用報文模糊測試

Dos攻擊測試

重放攻擊

由于CAN總線上面的數(shù)據(jù)包沒有任何加密,所以這些數(shù)據(jù)包能夠被截取竊聽。由于車載網(wǎng)絡使用CAN協(xié)議進行通信,所以我們可以聯(lián)想到車聯(lián)的功能也是通過CAN網(wǎng)絡進行數(shù)據(jù)發(fā)送和交換。比如我們打開左轉向燈,那么電信號就會通過CAN總線發(fā)送到網(wǎng)絡上的每個設備,然后左轉向燈會解釋數(shù)據(jù)包并且執(zhí)行數(shù)據(jù)包中的指令。

在網(wǎng)絡上發(fā)送的數(shù)據(jù)包由兩部分組成:標識符和數(shù)據(jù)。標識符是車輛中設備的表示。數(shù)據(jù)字段表示要與所述設備一起完成的指令。讓我們看下面的例子:

(1668496788.311506)vcan0095#800007F400000017

數(shù)據(jù)包的開始部分是標識符。在這種情況下,標識符是095。#之后的數(shù)據(jù)包剩余部分是數(shù)據(jù)字段??梢钥聪耊ireshark抓到的包9d7c5d18-0a99-11ee-962d-dac502259ad0.png標識符在不同車型,相同車型不同年份的情況下也是不相同的,如果是相同車型相同年份的車型那么標識符大概率是通用的,不同的標識符表示車上不同的設備發(fā)的包,后面我們需要找到我們想要控制車輛功能的標識符包。

攻擊方式

在前面CAN總線特性處我們寫的CAN總線攻擊方式包括應用報文模糊測試、Dos攻擊測試、重放攻擊等,接下來我們來實操一下重放攻擊,顧名思義就是可以截取數(shù)據(jù)包然后重新發(fā)送導致車輛處于我們的控制之下而不受到車輛所有人的操控。

安裝工具

kali2022.03

ICSim (儀表盤模擬器)

Socketcand(CAN網(wǎng)絡)

Kayak(一款基于SocketCAN的CAN總線分析工具)

can-utils

ICSim是一個開源的車輛儀表模擬器,該模擬器包含controls和ICSim兩個模塊,其中controls負責生成模擬的車輛數(shù)據(jù),以CAN報文的方式發(fā)送給虛擬的CAN接口,ICSim從虛擬CAN接口讀取CAN報文,并在儀表上更新對應零件的狀態(tài),如車速、車門狀態(tài)等等。

安裝依賴

sudo apt install libsdl2-dev libsdl2-image-dev can-utils maven autoconf

9da5c57c-0a99-11ee-962d-dac502259ad0.png9dd8542e-0a99-11ee-962d-dac502259ad0.png

安裝ICSim

下載

git clone https://github.com/zombieCraig/ICSim.git

編譯

cd ICSim/
sudo make
9e1ff7f2-0a99-11ee-962d-dac502259ad0.png在這里插入圖片描述

安裝socketcand

下載

git clone https://github.com/linux-can/socketcand.git

獲取缺少的文件

wget https://raw.githubusercontent.com/dschanoeh/socketcand/master/config.h.in
9e5249be-0a99-11ee-962d-dac502259ad0.png在這里插入圖片描述

編譯安裝

cd socketcand/
autoconf
9e7ea144-0a99-11ee-962d-dac502259ad0.png在這里插入圖片描述
./configure
9ea2eeb4-0a99-11ee-962d-dac502259ad0.png在這里插入圖片描述
make clean
9ebd1eb0-0a99-11ee-962d-dac502259ad0.png在這里插入圖片描述
make
9edb2c98-0a99-11ee-962d-dac502259ad0.png在這里插入圖片描述
sudo make install
9f02bdd0-0a99-11ee-962d-dac502259ad0.png在這里插入圖片描述

安裝Kayak

下載

git clone https://github.com/dschanoeh/Kayak.git

安裝

cd Kayak/
mvn clean package
9f29565c-0a99-11ee-962d-dac502259ad0.png在這里插入圖片描述

安裝CAN Utils

can-utils是一套Linux特有的實用工具,它可以讓Linux與車輛上的CAN網(wǎng)絡進行通信,為了發(fā)送、接收和分析CAN數(shù)據(jù)包,需要安裝CAN utils。canutils主要包括5個經(jīng)常使用的工具:

cansniffer 用于嗅探數(shù)據(jù)包

cansend 發(fā)送一條數(shù)據(jù)

candump 轉儲所有接收的數(shù)據(jù)包

canplayer 重播CAN數(shù)據(jù)包

cangen 隨機生成CAN數(shù)據(jù)包這可以通過apt-get安裝:

sudo apt-get install can-utils -y

至此,全部安裝完畢。

開始攻擊

首先設置vcan(虛擬CAN)接口

sudomodprobecan
sudomodprobevcan
sudoiplinkadddevvcan0typevcan
sudoiplinksetupvcan0

9f509a96-0a99-11ee-962d-dac502259ad0.png打開儀表盤模擬器

./icsim vcan0

9f77e3ee-0a99-11ee-962d-dac502259ad0.png打開儀表盤控制器

./controls vcan0

9f9b7a16-0a99-11ee-962d-dac502259ad0.png點擊儀表盤控制器界面就可以模擬操縱車輛了。

功能 控制按鈕
轉向燈 鍵盤左右鍵
速度 鍵盤上下鍵
開車門 右SHIFT鍵+A
關車門 左SHIFT鍵+A
開啟全部車門 左SHIFT鍵+右SHIFT鍵
關閉全部車門 右SHIFT鍵+左SHIFT鍵

9fc63616-0a99-11ee-962d-dac502259ad0.gif使用candump進行抓包

candump vcan0 -l

CTRL+C停止a05cd288-0a99-11ee-962d-dac502259ad0.png看到抓到的包,由于CAN在不停的通信所以包會非常大。a07e2a78-0a99-11ee-962d-dac502259ad0.png接下來我們找到CAN網(wǎng)絡上面控制車輛的數(shù)據(jù)包對他進行攻擊。監(jiān)聽抓包,然后打開所有車門然后關閉。抓到了一萬多個包。a0b2bf86-0a99-11ee-962d-dac502259ad0.png嘗試重放我們的包

canplayer -I candump-2022-11-15_052559.log

可以看到全部車門打開隨即關閉。a0df2bd4-0a99-11ee-962d-dac502259ad0.gif接下來我們采用二分法每次刪除一半來查找關閉車門的包。

最終通過二分法找到打開所有車門的包為:

(1668507963.222323) vcan0 19B#000000000000

a124ccde-0a99-11ee-962d-dac502259ad0.png其中的19B是設備標識符,在數(shù)據(jù)包中查找19B。

└─$ grep 19B candump-2022-11-15_052559.log 

(1668507960.512530) vcan0 244#000000019B
(1668507962.233563) vcan0 19B#00000F000000
(1668507963.222323) vcan0 19B#000000000000
(1668507963.517110) vcan0 244#000000019B
(1668507964.208966) vcan0 19B#00000F000000
(1668507965.319056) vcan0 244#000000019B

a1446e7c-0a99-11ee-962d-dac502259ad0.png我們可以看到其中有一個19B#00000F000000,如果我們得到19B#000000000000是打開所有車門,那么后面我們也進行了關閉所有車門的操作,可以猜測19B#00000F000000是關閉所有車門。a170a26c-0a99-11ee-962d-dac502259ad0.gif可以看到上圖,我們成功關閉了所有車門。

如上可知這個數(shù)據(jù)包中通過第三位字節(jié)來控制。

(1668507962.233563) vcan0 19B#00000F000000  //打開所有車門
(1668507963.222323) vcan0 19B#000000000000  //關閉所有車門

鎖上所有門的數(shù)據(jù)包將半字節(jié)表示為十六進制F。將其分解為二進制可得出 16 種可能的門組合。

二進制 十六進制
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 a
1011 b
1100 c
1101 d
1110 e
1111 f

嘗試字符控制的不同車門。

字符 車門
8 右后車門
4 左后車門
2 右前車門
1 左前車門

假設1是鎖門的動作,0是解鎖門的動作。因此,當我們識別我們的門時,識別出的門會收到鎖門的指令,而其他門會收到解鎖的指令。比如字符8的二進制是1000那么就是鎖門,開門,開門,開門。

右后車門  左后車門  右前車門  左前車門
  8        4        2       1
  1        1        0       0  等于 C

可以嘗試查看C是不是關閉了后排兩個門,打開了前排兩個門。a1a2e312-0a99-11ee-962d-dac502259ad0.png至此,就可以操控每個門的開關了。同理,轉向和油門都是相同原理。
責任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:車聯(lián)網(wǎng)安全入門之仿真一輛車的通信網(wǎng)絡

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    直擊物聯(lián)網(wǎng)安全問題:機智云與斗象科技建物聯(lián)網(wǎng)安全實驗室

    2016年12月28日,在上海國際會議中心舉辦的Freebuf互聯(lián)網(wǎng)安全創(chuàng)新大會(FIT 2017)上,全球領先的專業(yè)物聯(lián)網(wǎng)開發(fā)和云服務平臺機智云與上海斗象科技(漏洞盒子)聯(lián)合宣布將共同建立物
    發(fā)表于 12-30 14:25

    如何保障物聯(lián)網(wǎng)設備安全

    聯(lián)網(wǎng)時代,智能家居,共享設備等物聯(lián)網(wǎng)設備安全和云服務安全成為產(chǎn)品是否能得到市場認可的最大障礙,物聯(lián)網(wǎng)設備與系統(tǒng)需要有效的防護措施,以免遭受
    發(fā)表于 09-07 10:36

    聯(lián)網(wǎng)面臨的安全問題

    作者:朱紅儒 齊旻鵬來源:中國移動通信有限公司研究院物聯(lián)網(wǎng)面對的安全問題根據(jù)物聯(lián)網(wǎng)自身的特點,物聯(lián)網(wǎng)除了面對移動通信網(wǎng)絡的傳統(tǒng)網(wǎng)絡安全問題之
    發(fā)表于 07-19 06:56

    電子門鎖將開啟新時代物聯(lián)網(wǎng)生活的大門

    在發(fā)展物聯(lián)網(wǎng)(IoT)新世界的過程中,企業(yè)和家庭對于通過云服務保護其財產(chǎn)安全更有信心。電子門鎖(電子鎖)只是開啟新時代物聯(lián)網(wǎng)生活的大門。 傳統(tǒng)的門鎖已經(jīng)發(fā)展了好幾個世紀,現(xiàn)代門鎖的發(fā)展
    發(fā)表于 08-20 04:45

    聯(lián)網(wǎng)安全與每一個人緊密相關

    `物聯(lián)網(wǎng)給我們打開了新世界的大門,物聯(lián)網(wǎng)為我們展示了一個更便捷的世界,物聯(lián)網(wǎng)連接數(shù)量已經(jīng)遠遠超過了互聯(lián)網(wǎng)
    發(fā)表于 06-12 21:42

    凹杯散熱專利 打開高功率LED通往一般照明的大門

    LED臺廠世晶綠能(LEDDER)日前對外表示,該公司獨有的圓弧型平底凹杯與散熱鰭片發(fā)明全球專利技術及專有設備,已經(jīng)成功打開高功率LED通往一般照明的大門。
    發(fā)表于 07-10 09:24 ?991次閱讀
    凹杯散熱專利 <b class='flag-5'>打開</b>高功率LED通往一般照明的<b class='flag-5'>大門</b>

    ISM波段遠程無鑰匙進入系統(tǒng)增加了不同應用的價值

    無鑰匙進入使用一個短距離,相對安全的無線連接有很多機會超過打開車門。連接到電磁閥,遙控鑰匙(RKE)系統(tǒng)可以打開存儲單元,寵物門或安全的入口大門
    發(fā)表于 08-13 10:16 ?2次下載
    ISM波段遠程無鑰匙進入系統(tǒng)增加了不同應用的價值

    密碼朋克是如何打開加密貨幣神秘大門

    的計算機科學家約翰·吉爾摩(John Gilmore)邀請了二十位最親密的朋友參加了一次非正式會議,期間他們討論了一些看似最令人頭疼的程序和密碼問題,加密貨幣的神秘大門也正是從這個時候開始,被他們打開了。
    發(fā)表于 01-18 14:06 ?928次閱讀

    利用傳感器技術在汽車落水后可自動打開車

    今年3月,哥印拜陀市一個家庭的六名成員乘坐汽車掉進運河后溺水身亡。因為汽車墜入水中后,在水壓的影響下很難打開車門,所以車上的人根本無法逃生。也就是說,打開車門是不可取的,因為這樣汽車會下沉得更快。該原理也適用于一些高端汽車上的安全
    發(fā)表于 06-01 09:10 ?1110次閱讀

    聯(lián)網(wǎng)怎樣助力采礦安全

    聯(lián)網(wǎng)帶來的新一波智能傳感器技術正在為有效的、無損的錨桿監(jiān)測打開大門。這些傳感器內(nèi)置于螺栓中,可自動捕捉結構和操作條件的多個讀數(shù)。
    發(fā)表于 10-24 10:44 ?649次閱讀

    華為公開車聯(lián)網(wǎng)安全通信的方法專利

    據(jù)天眼查APP顯示,2月23日,華為技術有限公司公開一項名為“一種車聯(lián)網(wǎng)安全通信的方法”發(fā)明專利,公開號CN112399370A,申請日期為2019年8月。 該專利摘要顯示,本申請?zhí)岢鲆环N安全代理
    的頭像 發(fā)表于 02-23 14:44 ?1521次閱讀

    沒有鑰匙時怎么打開安全掛鎖

    我們知道安全掛鎖的打開方式 非常簡單,只必須根據(jù)鑰匙就可以打開??墒怯捎?b class='flag-5'>安全掛鎖的鑰匙較為小,如果我們把鑰匙弄丟了得話,又應當如何去打開五金
    發(fā)表于 06-28 09:57 ?9224次閱讀

    如何為汽車門禁系統(tǒng)的發(fā)展打開機遇大門

    如何為汽車門禁系統(tǒng)的發(fā)展打開機遇大門
    發(fā)表于 10-31 08:24 ?2次下載
    如何為汽車門禁系統(tǒng)的發(fā)展<b class='flag-5'>打開</b>機遇<b class='flag-5'>大門</b>

    驅動器和 SiC MOSFET 打開電源開關的大門

    驅動器和 SiC MOSFET 打開電源開關的大門
    的頭像 發(fā)表于 01-03 09:45 ?761次閱讀
    驅動器和 SiC MOSFET <b class='flag-5'>打開</b>電源開關的<b class='flag-5'>大門</b>

    用手機APP和Wemos D1板打開大門或車庫

    電子發(fā)燒友網(wǎng)站提供《用手機APP和Wemos D1板打開大門或車庫.zip》資料免費下載
    發(fā)表于 07-03 10:11 ?0次下載
    用手機APP和Wemos D1板<b class='flag-5'>打開大門</b>或車庫