91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

454398 ? 來源:電子發(fā)燒友網(wǎng)整理 ? 作者:h1654155596.7254 ? 2017-08-04 09:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為助力中國電子工程師更好將創(chuàng)新創(chuàng)意落地,

由華強(qiáng)芯城、電子發(fā)燒友網(wǎng)攜手ARM聯(lián)合舉辦

華強(qiáng)芯城2017工程師創(chuàng)新設(shè)計(jì)大賽[點(diǎn)擊報(bào)名]

為什么要舉辦這個(gè)大賽?

簡單來說,就是一個(gè)給工程師創(chuàng)意創(chuàng)新造夢的舞臺(tái);

沒有參賽利器?送你mbed相關(guān)開發(fā)套件;

如果你是一枚科技極客俠,

擁有無數(shù)天馬行空的想法;

如果你是智造DIY達(dá)人,

用有眾多令人欽羨的技能;

如果你想親自參與改變未來智能電子產(chǎn)品,

而且創(chuàng)意爆表;

NB了,Word天!你還在猶豫什么?

Come on!“華強(qiáng)芯城2017工程師創(chuàng)新設(shè)計(jì)大賽”并且期待你組隊(duì)來迎戰(zhàn)!

未來的創(chuàng)新設(shè)計(jì)舞臺(tái)就在這里

快來盡情揮灑你的靈感吧~




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

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

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

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

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

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

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

神器BusPirate

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

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

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

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

BusPirate 接口連接示意圖:

BusPirate 命令列表:

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

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

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

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

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

在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)了。

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

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

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

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

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

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

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

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

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

手把手DIY,教你強(qiáng)攻嵌入式設(shè)備那些黑科技

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

總結(jié)

通過本文的介紹和實(shí)踐案例,相信大家對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)去。

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

    關(guān)注

    5202

    文章

    20518

    瀏覽量

    335347
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3759

    瀏覽量

    133727
  • DIY
    DIY
    +關(guān)注

    關(guān)注

    176

    文章

    898

    瀏覽量

    359478
  • 智能硬件
    +關(guān)注

    關(guān)注

    205

    文章

    2424

    瀏覽量

    111562
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    電子發(fā)燒友年終盤點(diǎn)——內(nèi)容精選

    其中排名靠前的TOP50,在這里綜合精選20余篇,讓諸位重溫這些文章。DIY高大上!用STM32單片機(jī)搞定四旋翼無人機(jī)飛控你想知道的NB-IoT知識(shí)都在這里了!手把手DIY,教你
    發(fā)表于 02-06 15:01

    手把手教你怎樣去實(shí)現(xiàn)一個(gè)嵌入式軟件架構(gòu)的設(shè)計(jì)

    手把手教你怎樣去實(shí)現(xiàn)一個(gè)嵌入式軟件架構(gòu)的設(shè)計(jì)?有哪些步驟及其要求呢?
    發(fā)表于 12-24 06:54

    手把手教你構(gòu)建一個(gè)完整的工程

    手把手教你構(gòu)建一個(gè)完整的工程
    發(fā)表于 08-03 09:54 ?33次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>構(gòu)建一個(gè)完整的工程

    手把手教你寫批處理-批處理的介紹

    手把手教你寫批處理-批處理的介紹
    發(fā)表于 10-25 15:02 ?69次下載

    美女手把手教你如何裝機(jī)(中)

    美女手把手教你如何裝機(jī)(中) 再來是硬碟的部份,這款機(jī)殼還不錯(cuò),可以旋轉(zhuǎn)支架~
    發(fā)表于 01-27 11:14 ?1641次閱讀

    美女手把手教你如何裝機(jī)(下)

    美女手把手教你如何裝機(jī)(下) 接著下來就是今天的重頭戲,開核蘿!~
    發(fā)表于 01-27 11:16 ?3175次閱讀

    手把手教你學(xué)電子書制作

    手把手教你學(xué)電子書制作,可以自己DIY電子書
    發(fā)表于 09-13 11:26 ?0次下載

    手把手教你安裝Quartus II

    本章手把手把教你如何安裝 Quartus II 軟件 ,并將它激活 。此外 還有USB -Blaster下載器的驅(qū)動(dòng)安裝步驟 。
    發(fā)表于 09-18 14:55 ?9次下載

    手把手教你在家搭建監(jiān)控系統(tǒng)

    手把手教你在家搭建監(jiān)控系統(tǒng)
    發(fā)表于 01-17 19:47 ?30次下載

    手把手教你如何開始DSP編程

    手把手教你如何開始DSP編程。
    發(fā)表于 04-09 11:54 ?13次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何開始DSP編程

    手把手教你學(xué)LabVIEW視覺設(shè)計(jì)

    手把手教你學(xué)LabVIEW視覺設(shè)計(jì)手把手教你學(xué)LabVIEW視覺設(shè)計(jì)手把手教你學(xué)LabVIEW視
    發(fā)表于 03-06 01:41 ?3566次閱讀

    嵌入式 - STM32開發(fā)指南》手把手教你搭建STM32開發(fā)環(huán)境 [Windows版 - 3]

    嵌入式 - STM32開發(fā)指南》手把手教你搭建STM32開發(fā)環(huán)境 [Windows版 - 1]《嵌入式 - STM32開發(fā)指南》手把手
    發(fā)表于 12-06 09:36 ?0次下載
    《<b class='flag-5'>嵌入式</b> - STM32開發(fā)指南》<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搭建STM32開發(fā)環(huán)境 [Windows版 - 3]

    嵌入式 - STM32開發(fā)指南》手把手教你搭建STM32開發(fā)環(huán)境 [Linux版 - 3]

    嵌入式 - STM32開發(fā)指南》手把手教你搭建STM32開發(fā)環(huán)境 [Linux版 - 1]《嵌入式 - STM32開發(fā)指南》手把手
    發(fā)表于 12-06 09:36 ?0次下載
    《<b class='flag-5'>嵌入式</b> - STM32開發(fā)指南》<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搭建STM32開發(fā)環(huán)境 [Linux版 - 3]

    嵌入式秘術(shù)】手把手教你如何劫持RTOS(下)

    在《【嵌入式秘術(shù)】手把手教你如何劫持RTOS(上)》中,我們做了簡單的熱身——介紹了一種在你擁有某一個(gè)庫的源代碼或者.lib文件時(shí),如何...
    發(fā)表于 01-25 18:51 ?7次下載
    【<b class='flag-5'>嵌入式</b>秘術(shù)】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何劫持RTOS(下)

    手把手教你學(xué)FPGA仿真

    電子發(fā)燒友網(wǎng)站提供《手把手教你學(xué)FPGA仿真.pdf》資料免費(fèi)下載
    發(fā)表于 10-19 09:17 ?2次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>學(xué)FPGA仿真