丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
政企安全 正文
發(fā)私信給又田
發(fā)送

0

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

本文作者: 又田 2017-08-02 10:08
導(dǎo)語:如何快速入門嵌入式系統(tǒng)?

雷鋒網(wǎng)按:嵌入式產(chǎn)品Hacking 一直都是備受關(guān)注的議題,而越來越多的攻擊者也瞄上了物聯(lián)網(wǎng)嵌入式設(shè)備。跟以往純軟件安全研究不同的是,這類研究往往需要結(jié)合相應(yīng)的硬件知識(shí)和設(shè)備。如何能快速入門嵌入式系統(tǒng)?雷鋒網(wǎng)邀請(qǐng)了狗汪汪,分享針對(duì)I2C協(xié)議的實(shí)戰(zhàn)案例和相應(yīng)的工具使用。希望可以一起來Hacking all the Things。

本文由阿里云先知社區(qū)小冰推薦。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

0x01 I2C協(xié)議基礎(chǔ)

凡是接觸過嵌入式系統(tǒng)的朋友,對(duì)I2C協(xié)議一定不會(huì)陌生。其與UART,SPI和JTAG等并列為最常見調(diào)試協(xié)議。I2C 全稱為Inter-Integrated Circuit,是由飛利浦公司設(shè)計(jì)的一種多主從架構(gòu)的串口通訊協(xié)議。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

I2C協(xié)議非常簡單,僅有Clock 和 Data 兩條數(shù)據(jù)總線,外加 Ground. 通常是1個(gè)主設(shè)備和多個(gè)從設(shè)備的架構(gòu)。在通訊速度上分別為100khz,400khz,1Mhz,3.2Mhz。在運(yùn)用方面對(duì)速度沒有高要求的,都可以使用I2C進(jìn)行通訊。比如PC風(fēng)扇的溫度和電池的電壓數(shù)據(jù)采集等,每個(gè)I2C設(shè)備都各有一個(gè)讀和寫地址,只有知道了這個(gè)讀寫地址才能跟其通訊。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

除此之外許多用來存儲(chǔ)系統(tǒng)配置和參數(shù)的EEPROM芯片自身也支持I2C協(xié)議,比如IBM Thinkpad 系列用來存儲(chǔ)BIOS 密碼的EEPROM,就是通過I2C協(xié)議在MCU與EEPROM 之間進(jìn)行交互。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

0x02 神器BusPirate

工欲善其事必先利其器,擁有一款神器對(duì)嵌入式設(shè)備Hacking將起到事半功倍的作用。BusPirate 是由Dangerous prototypes 設(shè)計(jì)出品的一款硬件hacking 瑞士軍刀,支持多項(xiàng)常見協(xié)議并可跨平臺(tái)Windows/Linux/MAC,并擁有豐富的幫助文檔。

BusPirate可以Sniffing 和讀寫 I2C等協(xié)議,同時(shí)還可對(duì)AVR 等芯片進(jìn)行編程操作,在操作上也是非常簡單,只需用minicom 以115200 波特率跟BusPirate連接便可。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

BusPirate支持協(xié)議如下:

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

BusPirate 接口連接示意圖:

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

BusPirate 命令列表:

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

0x03 攻擊案例 -- 數(shù)字密碼鎖

接下來我們來看一個(gè)通過分析I2C 協(xié)議,從而破解門鎖密碼的實(shí)戰(zhàn)案例,我們的目標(biāo)是這款 型號(hào)為YL99 的數(shù)字密碼鎖。這款密碼鎖完全依賴于用戶設(shè)置的數(shù)字密碼,也許對(duì)某些人來說不需要帶一堆鑰匙的確方便了很多。

因?yàn)閅L99 是完全電子化的的門鎖,所以提供了普通機(jī)械鎖沒有的功能。比如YL99 擁有多 個(gè)功能不同的賬戶,Master 賬戶:可用于設(shè)置管理用戶密碼(默認(rèn)0123#)。普通賬戶:用于存儲(chǔ)普通用戶密碼。YL99 同時(shí)還提供了貼心的防密碼泄漏功能,操作方法:鍵入起始碼(0) + 跟隨用于掩蓋的任意幾位數(shù)字+ 跟隨正確密碼 + # (確認(rèn)結(jié)束). 通過這樣的方式就算邊上有人,也不怕被看到正確密碼了。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

但是千里之堤,潰于蟻穴。YL99 的設(shè)計(jì)缺陷,竟能讓人從外部將鎖的鍵盤部分分離,從而訪問到內(nèi)部PCB 主板。而玩過硬件Hacking 的朋友都知道,被人輕易訪問到內(nèi)部PCB 主板部分是大忌。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

在YL99被打開后主板結(jié)構(gòu)便展現(xiàn)眼前。除了YL99 使用的元器件外,我們還可以清晰看到主板上還標(biāo)有一個(gè)Reset 復(fù)位觸點(diǎn)。那么這個(gè)時(shí)候我們便可以通過短接復(fù)位觸點(diǎn)和Ground 的方式將密碼恢復(fù)到出廠設(shè)置,從而得到bypass 的目的。但這方法的短處也非常明顯,在bypass 的時(shí)候每次都需要卸螺絲,而且如果恢復(fù)到出廠值,很容易就被人發(fā)現(xiàn)了。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析演示視頻如下: https://www.youtube.com/watch?v=4sqDXkUQbqM

不過好戲才剛開始。我們?cè)谥靼迳线€發(fā)現(xiàn)了YL99使用的MCU em78p156e 和用來存儲(chǔ)密碼信息的EEPROM 24C02。通過閱讀24C02 的datasheet 我們得知其使用I2C 協(xié)議和MCU 通訊,同時(shí)datasheet 也清晰的標(biāo)出了芯片管腳的用途,比如I2C 使用的SCL(時(shí)鐘頻率) 和SDA(數(shù)據(jù)總線)。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

終于我們的神器BusPirate要派上用場了。我們首先用數(shù)據(jù)線將24C02的I2C 管腳和BusPirate的對(duì)應(yīng)接口連接起來。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

隨后通過minicom 或其他serial tools 進(jìn)入Buspirate的I2C調(diào)試模式。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

在I2C 的調(diào)試模式中,有個(gè)非常有用的功能I2C sniffer。通過它我們可以監(jiān)控I2C 的數(shù)據(jù),用過WIRESHARK 的朋友一定不會(huì)陌生。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

開啟了I2C Sniffer 模式后,我們便可開始觀察MCU 和 EEPROM之間的密碼交互。比如YL99 的密碼輸入過程為起始碼(0) + 正確密碼 + 結(jié)束確認(rèn)(#)。


通過觀察發(fā)現(xiàn)在按下結(jié)束確認(rèn)(#) 后,MCU 便向24C02 發(fā)送密碼驗(yàn)證請(qǐng)求。但隨后致命的設(shè)計(jì)錯(cuò)誤出現(xiàn),EPPROM 24C02 將正確的密碼以明文的方式發(fā)回給MCU 以求完成密碼驗(yàn)證過程,而這過程我們通過BusPirate 的I2C sniffer一覽無遺。

狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析

如圖:因?yàn)槭褂玫膌ittle endian 所以密碼 123 和456 會(huì)反著顯示

0X04 總結(jié)

通過本文的介紹和實(shí)踐案例,相信大家對(duì)I2C 協(xié)議和利用方式有了一定的了解。劍走偏鋒,反其道行之。攻擊者往往將系統(tǒng)的短板作為攻擊點(diǎn),倘若某款嵌入式系統(tǒng)的設(shè)計(jì)者僅僅考慮到軟件層面的安全,而攻擊者又能得到物理訪問的話,那些防御方式便形同虛設(shè)。同時(shí)嵌入式產(chǎn)品往往面臨上市后便難以升級(jí)的困難,一旦攻擊方式曝光由此給產(chǎn)品帶來的損失是巨大的,因此安全產(chǎn)品在設(shè)計(jì)之初即應(yīng)將安全考慮進(jìn)去。

0x05 參考文獻(xiàn)

https://learn.sparkfun.com/tutorials/i2c

http://dangerousprototypes.com/docs/Bus_Pirate

https://code.google.com/archive/p/the-bus-pirate/

http://dangerousprototypes.com/blog/bus-pirate-manual/i2c-guide/

http://arduino.ada-language.com/recovering-ibm-thinkpad-t42-bios-password-with-avr-ada-and-arduino.html

雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說