狗汪汪玩轉(zhuǎn)嵌入式——I2C 協(xié)議分析
按:嵌入式产品Hacking一直都是备受关注的议题,而越来越多的攻击者也瞄上了物联网嵌入式设备。跟以往纯软件安全研究不同的是,这类研究往往需要结合相应的硬件知识和设备。如何能快速入门嵌入式系统?邀请了狗汪汪,分享针对I2C协议的实战案例和相应的工具使用。希望可以一起来Hackingall the Things。
本文由阿里云先知社区小冰推荐。
0x01 I2C协议基础
凡是接触过嵌入式系统的朋友,对I2C协议一定不会陌生。其与UART,SPI和JTAG等并列为最常见调试协议。I2C 全称为Inter-IntegratedCircuit,是由飞利浦公司设计的一种多主从架构的串口通讯协议。
I2C协议非常简单,仅有Clock 和 Data 两条数据总线,外加 Ground.通常是1个主设备和多个从设备的架构。在通讯速度上分别为100khz,400khz,1Mhz,3.2Mhz。在运用方面对速度没有高要求的,都可以使用I2C进行通讯。比如PC风扇的温度和电池的电压数据采集等,每个I2C设备都各有一个读和写地址,只有知道了这个读写地址才能跟其通讯。
除此之外许多用来存储系统配置和参数的EEPROM芯片自身也支持I2C协议,比如IBM Thinkpad 系列用来存储BIOS密码的EEPROM,就是通过I2C协议在MCU与EEPROM 之间进行交互。
0x02 神器BusPirate
工欲善其事必先利其器,拥有一款神器对嵌入式设备Hacking将起到事半功倍的作用。BusPirate 是由Dangerous prototypes设计出品的一款硬件hacking 瑞士军刀,支持多项常见协议并可跨平台Windows/Linux/MAC,并拥有丰富的帮助文档。
BusPirate可以Sniffing 和读写 I2C等协议,同时还可对AVR 等芯片进行编程操作,在操作上也是非常简单,只需用minicom以115200 波特率跟BusPirate连接便可。
BusPirate支持协议如下:
BusPirate 接口连接示意图:
BusPirate 命令列表:
0x03 攻击案例 -- 数字密码锁
接下来我们来看一个通过分析I2C 协议,从而破解门锁密码的实战案例,我们的目标是这款 型号为YL99的数字密码锁。这款密码锁完全依赖于用户设置的数字密码,也许对某些人来说不需要带一堆钥匙的确方便了很多。
因为YL99 是完全电子化的的门锁,所以提供了普通机械锁没有的功能。比如YL99 拥有多 个功能不同的账户,Master账户:可用于设置管理用户密码(默认0123#)。普通账户:用于存储普通用户密码。YL99 同时还提供了贴心的防密码泄漏功能,操作方法:键入起始码(0) +跟随用于掩盖的任意几位数字+ 跟随正确密码 + # (确认结束). 通过这样的方式就算边上有人,也不怕被看到正确密码了。
但是千里之堤,溃于蚁穴。YL99 的设计缺陷,竟能让人从外部将锁的键盘部分分离,从而访问到内部PCB 主板。而玩过硬件Hacking的朋友都知道,被人轻易访问到内部PCB 主板部分是大忌。
在YL99被打开后主板结构便展现眼前。除了YL99 使用的元器件外,我们还可以清晰看到主板上还标有一个Reset复位触点。那么这个时候我们便可以通过短接复位触点和Ground 的方式将密码恢复到出厂设置,从而得到bypass的目的。但这方法的短处也非常明显,在bypass 的时候每次都需要卸螺丝,而且如果恢复到出厂值,很容易就被人发现了。
演示视频如下:https://www.youtube.com/watch?v=4sqDXkUQbqM
不过好戏才刚开始。我们在主板上还发现了YL99使用的MCU em78p156e 和用来存储密码信息的EEPROM 24C02。通过阅读24C02的datasheet 我们得知其使用I2C 协议和MCU 通讯,同时datasheet 也清晰的标出了芯片管脚的用途,比如I2C 使用的SCL(时钟频率)和SDA(数据总线)。
终于我们的神器BusPirate要派上用场了。我们首先用数据线将24C02的I2C 管脚和BusPirate的对应接口连接起来。
随后通过minicom 或其他serial tools 进入Buspirate的I2C调试模式。
在I2C 的调试模式中,有个非常有用的功能I2C sniffer。通过它我们可以监控I2C 的数据,用过WIRESHARK 的朋友一定不会陌生。
开启了I2C Sniffer 模式后,我们便可开始观察MCU 和 EEPROM之间的密码交互。比如YL99 的密码输入过程为起始码(0) + 正确密码 +结束确认(#)。
通过观察发现在按下结束确认(#) 后,MCU 便向24C02 发送密码验证请求。但随后致命的设计错误出现,EPPROM 24C02将正确的密码以明文的方式发回给MCU 以求完成密码验证过程,而这过程我们通过BusPirate 的I2C sniffer一览无遗。
▲如图:因为使用的little endian 所以密码 123 和456 会反着显示
0X04 总结
通过本文的介绍和实践案例,相信大家对I2C协议和利用方式有了一定的了解。剑走偏锋,反其道行之。攻击者往往将系统的短板作为攻击点,倘若某款嵌入式系统的设计者仅仅考虑到软件层面的安全,而攻击者又能得到物理访问的话,那些防御方式便形同虚设。同时嵌入式产品往往面临上市后便难以升级的困难,一旦攻击方式曝光由此给产品带来的损失是巨大的,因此安全产品在设计之初即应将安全考虑进去。
0x05 参考文献
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
推薦系統(tǒng)
雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:WinXP雨林木風(fēng)在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)知名品牌,雨林木風(fēng)WindowsXP其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,是一款穩(wěn)定流暢的系統(tǒng),雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載,有需要的朋友速度下載吧。
系統(tǒng)等級:進入下載 >蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win7蘿卜家園win7純凈版是款非常純凈的win7系統(tǒng),此版本優(yōu)化更新了大量的驅(qū)動,幫助用戶們進行舒適的使用,更加的適合家庭辦公的使用,方便用戶,有需要的用戶們快來下載安裝吧。
系統(tǒng)等級:進入下載 >雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載
系統(tǒng)大?。?/em>1.01GB系統(tǒng)類型:WinXP雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載,雨林木風(fēng)WinXP系統(tǒng)技術(shù)積累雄厚深耕多年,采用了新的系統(tǒng)功能和硬件驅(qū)動,可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,加固了系統(tǒng)安全策略,運行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進入下載 >蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,(win10企業(yè)版,win10 ghost,win10鏡像),蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 ghost鏡像 X64位系統(tǒng)下載,其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團隊推出的蘿卜家園
系統(tǒng)等級:進入下載 >蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 ghost X64位 系統(tǒng)下載,蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團隊推出的蘿卜家園win10國內(nèi)鏡像版,基于國內(nèi)用戶的習(xí)慣,做
系統(tǒng)等級:進入下載 >windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:Win11蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,windows11下載 蘿卜家園win11專業(yè)版 X64位 官網(wǎng)正式版可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,使得軟件在WINDOWS11系統(tǒng)中運行得更加流暢,加固了系統(tǒng)安全策略,WINDOWS11系統(tǒng)在家用辦公上跑分表現(xiàn)都是非常優(yōu)秀,完美的兼容各種硬件和軟件,運行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進入下載 >
相關(guān)文章
- 如何解決銳龍2200g死機藍屏
- Win8.1本地搜索為什么無法使用
- Win8.1無線網(wǎng)絡(luò)不穩(wěn)定/掉線怎么辦
- 電腦機箱漏電怎么消除?電腦機箱漏電是哪里的問題?
- 電腦開不了機怎么辦?電腦無法開機怎么解決?
- 硬盤雙擊無法打開的問題該怎么辦
- 風(fēng)行下載速度慢甚至是為0怎么辦?風(fēng)行播放器下載問題及解決方法匯總
- 蘋果回應(yīng)新的iOS惡意軟件YiSpector:已在iOS8.4中解決該問題
- 沒有路由器怎么連無線 160wifi 解決沒有路由器連接無線問題
- 維棠FLV下載視頻失敗問題匯總及解決方法
- Word2016 出現(xiàn)“此功能看似已中斷 并需要修復(fù)”問題解決方案(圖文)
- Cisco管理的35個常見問題及解答
- NanoStudio怎么用?NanoStudio使用方法及常見問題
- IE瀏覽器登錄網(wǎng)上銀行時出現(xiàn)崩潰問題的解決辦法
熱門系統(tǒng)
推薦軟件
推薦應(yīng)用
推薦游戲
熱門文章
常用系統(tǒng)
- 1win11最新娛樂版下載 技術(shù)員聯(lián)盟x64位 ghost系統(tǒng) ISO鏡像 v2023
- 2電腦公司windows7純凈版 ghost x64位 v2022.05 官網(wǎng)鏡像下載
- 3外星人系統(tǒng)Win11穩(wěn)定版系統(tǒng)下載 windows11 64位穩(wěn)定版Ghost V2022
- 4win11一鍵裝機小白版下載 外星人系統(tǒng) x64位純凈版下載 筆記本專用
- 5蘿卜家園Ghost win10 64位中文版專業(yè)版系統(tǒng)下載 windows10純凈專業(yè)版下載
- 6【國慶特別版】番茄花園Windows11高性能專業(yè)版ghost系統(tǒng) ISO鏡像下載
- 7青蘋果系統(tǒng) GHOST WIN7 SP1 X64 專業(yè)優(yōu)化版 V2024
- 8深度技術(shù)ghost win7純凈版最新下載 大神裝機版 ISO鏡像下載
- 9雨林木風(fēng)windows11中文版免激活 ghost鏡像 V2022.04下載