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

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

0

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

本文作者: 又田 2018-08-02 17:38
導(dǎo)語(yǔ):來(lái)自綠盟科技的馬良以“智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)”為演講題目是,分享了針對(duì)智能設(shè)備固件提取的攻防手段。

雷鋒網(wǎng)編者按:如果說(shuō)一場(chǎng)安全大會(huì)能召集五湖四海的白帽子們前來(lái)朝圣,看雪學(xué)院的安全開(kāi)發(fā)者峰會(huì)必然算是一場(chǎng)。不久前,第二屆安全開(kāi)發(fā)者峰會(huì)在北京國(guó)家會(huì)議中心落幕,峰會(huì)現(xiàn)場(chǎng)有近1000位來(lái)自全國(guó)各地的安全和開(kāi)發(fā)人員參加。

本次峰會(huì)以“萬(wàn)物互聯(lián),安全開(kāi)發(fā)”為主題,聚焦物聯(lián)網(wǎng)及區(qū)塊鏈的開(kāi)發(fā)安全,10大議題覆蓋物聯(lián)網(wǎng)、智能設(shè)備、區(qū)塊鏈、機(jī)器學(xué)習(xí)、WEB安全、逆向、安卓、iOS等前沿領(lǐng)域。

其中,來(lái)自綠盟科技的馬良以“智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)”為演講題目是,分享了針對(duì)智能設(shè)備固件提取的攻防手段。并從嵌入式系統(tǒng)的軟硬件的基礎(chǔ)架構(gòu)、智能設(shè)備提取固件的十大方法兩個(gè)方面進(jìn)行講解,其中還涉及到軟件和硬件工具,及工具的作用和用法。除此之外,馬良還對(duì)智能設(shè)備安全研究人員提取固件的常用方法進(jìn)行梳理,也對(duì)開(kāi)發(fā)者提出了一些安全方面的建議,避免廠家辛苦開(kāi)發(fā)出的產(chǎn)品、想要保護(hù)的固件沒(méi)有保護(hù)好,被輕易提取出固件分析。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

以下為演講實(shí)錄:

馬良:今天我講的目錄大綱是四點(diǎn)。我既做過(guò)開(kāi)發(fā)者,也做過(guò)安全從業(yè)人員,在這個(gè)會(huì)議上把固件知識(shí)介紹給安全的朋友,把安全的知識(shí)做開(kāi)發(fā)的朋友。

今天我講的目錄大綱是這四點(diǎn)。

一、智能設(shè)備基礎(chǔ)知識(shí)

二、 提取固件的十種思路

三、 從固件發(fā)掘漏洞的思路

四、 智能設(shè)備的加固建議

一、智能設(shè)備基礎(chǔ)知識(shí)

這是智能設(shè)備的組成,分為幾個(gè)部分,智能設(shè)備必須有這么幾個(gè)東西,比如它必須有CPU、內(nèi)存、相當(dāng)于硬盤的flash,有網(wǎng)絡(luò)、網(wǎng)口接口、串口,有時(shí)會(huì)有SD卡插座存儲(chǔ)設(shè)備,也有的有顯示界面。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

CPU有很多架構(gòu),有X86、Linux、ARM等等;內(nèi)存分為好幾種。存儲(chǔ)也有各種,比如flash、TF卡、mmc卡、硬盤;一般的電路板都會(huì)留串口,尤其做調(diào)試時(shí)。廠商做維護(hù)時(shí)不得不面對(duì)的問(wèn)題:智能設(shè)備如果在使用中出現(xiàn)了問(wèn)題,客戶要求馬上給解決,如果開(kāi)發(fā)者沒(méi)有維護(hù)的接口,開(kāi)發(fā)人員到現(xiàn)場(chǎng)可能解決不了問(wèn)題。所以這些是必備的;有時(shí)是串口,有時(shí)是網(wǎng)口之類的;有時(shí)候是USB口。智能設(shè)備內(nèi)運(yùn)行的軟件也叫固件,固件有對(duì)系統(tǒng)進(jìn)行引導(dǎo)的部分,常用的是Uboot,這占很大市場(chǎng)份額;操作系統(tǒng)用Linux非常多,因?yàn)樗鼘?duì)網(wǎng)絡(luò)的支持非常好。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

跟大家介紹一下什么是串口,串口一般分為兩種類型,主要是RS232或者TTL,TTL是5V或者3.3V,相當(dāng)于CPU的電壓。左下角是對(duì)串口的定義,串口真正引用的是三條線,就是RXD、TXD、DCD。串口傳輸時(shí),有三根線的時(shí)候,是按照一定的時(shí)序傳輸?shù)模@個(gè)時(shí)序有一定的周期,這個(gè)周期是異步產(chǎn)生的。異步傳輸有一個(gè)波特率的概念: 如:9600的波特率,換算過(guò)來(lái)大概1秒鐘傳送1000個(gè)字節(jié)。波特率越大,傳輸越快。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

智能設(shè)備的組成里比較重要的還有flash,分為兩種,一種是Nor falsh,它的特點(diǎn)是價(jià)格比較貴、容量小、地址線和數(shù)據(jù)線是分開(kāi)的,好處是CPU可直接尋址,因?yàn)殡娐穲D上每一個(gè)地址線都是單個(gè)連出來(lái)的,數(shù)據(jù)線也是單獨(dú)連出來(lái)的。它常用做代碼存儲(chǔ),存儲(chǔ)容量越大,這個(gè)地址線是越多的。

算一下上圖的nor Flash的地址線的尋址范圍: 

8MB = 0x800000(16進(jìn)制)
換算成二進(jìn)制: 100000000000000000000000
地址線正好是從addr0 - addr22. 最大地址是22個(gè)1

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

還有一種是Nand Flash,它價(jià)格便宜、容量大,主要用作數(shù)據(jù)存儲(chǔ),但這個(gè)東西一般是不可尋址,需要驅(qū)動(dòng)程序。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

下面講一下軟件里面的Uboot和busybox,Uboot在嵌入式里一個(gè)功能是做引導(dǎo)程序,啟動(dòng)的時(shí)候引導(dǎo)用,還有一個(gè)功能是做更新時(shí)用.支持CPU的種類比較多,比如ARM、Linux、MIPS、PowerPC都支持,也支持簡(jiǎn)單的網(wǎng)絡(luò)命令之類的。Busybox集成了三百多個(gè)常用的Linux命令和工具軟件,它非常小巧,編譯后大概在1-2兆左右,但支持的命令非常多,而且可以根據(jù)需要做裁減。例如:有的裁剪了busybox的指令nc,dd,tar等。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

這是智能設(shè)備軟件和硬件的協(xié)作關(guān)系,以Linux操作系統(tǒng)為例,上面是內(nèi)存,下面是存儲(chǔ)flash,中間是固件,固件里面的Uboot是啟動(dòng)時(shí)引導(dǎo)用的,啟動(dòng)起來(lái)是kernel,后面跟著是文件系統(tǒng),文件系統(tǒng)里面包括RAMFS和FALSH FS。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

這是升級(jí)接口,我們對(duì)維護(hù)接口要有一定的了解,為什么?因?yàn)榻涌谑欠浅V匾?,一個(gè)是升級(jí)時(shí)要用,另外一個(gè)是調(diào)試時(shí)要用,還有一個(gè)是升級(jí)固件時(shí)要用。調(diào)試接口的基本就是這幾個(gè)功能。

二、提取固件的十種思路

這十種思路是我所熟知的,是我經(jīng)常用的十種方法,其他不講的方法并不代表不存在。固件提取方法簡(jiǎn)單分為硬件和軟件兩種類型。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

我剛才對(duì)基礎(chǔ)知識(shí)做了大概的介紹,比如我要提取它的固件,它的固件放在flash里,我肯定要做一些了解。還有對(duì)串口和接口都要有研究。還有固件里面支持這些程序,對(duì)文件系統(tǒng)、基礎(chǔ)小命令等都要有一定的了解,這些知識(shí)和技巧利用好是可以發(fā)揮很大功效的。

智能設(shè)備提取固件的十種思路:

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

這里先講九種固件提取方法, 最后一種方法給大家一個(gè)驚喜!

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

1、 官網(wǎng)或聯(lián)系售后索取升級(jí)包。這點(diǎn)不多講。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

2、 在線升級(jí)方式提取固件。如果有手機(jī)應(yīng)用或者電腦應(yīng)用,可以點(diǎn)“升級(jí)”,升級(jí)固件的時(shí)候就可以通過(guò)抓包的方式,把固件給抓到。如果老版本和新版本固件的下載地址有一定的命名規(guī)律的話,新版本抓到了,老版本也可以猜出來(lái)。PPT這只是一個(gè)例子,并不針對(duì)于任何廠家。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

3、 逆向升級(jí)軟件,軟件內(nèi)置解包和通訊算法。如果它的設(shè)計(jì)是在下位機(jī)解密的話稍微安全點(diǎn);在上位機(jī)解密的話是可以逆向破解的。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

4、 從調(diào)試接口:JTAG/SWD等方式獲取固件。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

騰訊玄武實(shí)驗(yàn)室的小馬哥去年有兩次公開(kāi)講解,今天時(shí)間所限,不做描述。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

5、折flash、SD/TF卡、硬盤等,用編程器/讀卡器獲取固件。

常用的是焊下flash芯片,用編程器讀取固件,讀完后再把芯片焊回去。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

需要注意的是芯片是有方向的,第一腳的地方有一個(gè)圓點(diǎn),焊接或用編程器讀取時(shí),弄清芯片的方向。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

6、從串口(UART)調(diào)試口獲取固件。

這種方法是我在安全測(cè)試中幫客戶測(cè)試產(chǎn)品總結(jié)出來(lái)的。廠商自己做的產(chǎn)品,它在安全方面有追求,但可能力不從心,就找我們做安全方面的測(cè)試。還有OEM的產(chǎn)品要上市了,貼大廠的牌子,大廠肯定有安全方面的要求,不希望OEM產(chǎn)品砸了它的招牌,這時(shí)也會(huì)找我們做一個(gè)測(cè)試。

在安全測(cè)試過(guò)程中我發(fā)現(xiàn)了uboot提取固件漏洞,總結(jié)出了一系列固件提取方法。

我最常做的是工控設(shè)備漏洞安全的研究,這個(gè)東西基本是拿不到固件,拿到的固件也是加密的,困擾了我很長(zhǎng)時(shí)間。經(jīng)過(guò)一段時(shí)間摸索之后,有了10來(lái)個(gè)成功的提取固件的案例。今年又在攝像頭方面,普通物聯(lián)網(wǎng)路由器、攝像頭等類似設(shè)備,經(jīng)過(guò)實(shí)踐研究有二三十個(gè)成功案例后,發(fā)現(xiàn)通過(guò)串口提取固件的方式是最穩(wěn)妥、最可靠的。為什么這么說(shuō)呢?去給客戶做測(cè)試時(shí),客戶說(shuō),隨便你折騰,壞了也無(wú)所謂,但樣品就這一個(gè)!我想焊下flash提取固件,但設(shè)備就這一個(gè),萬(wàn)一焊接芯片搞壞設(shè)備了,后面就無(wú)法驗(yàn)證漏洞了。關(guān)鍵是工控設(shè)備一個(gè)就2、3萬(wàn),5、6萬(wàn),10幾萬(wàn),一旦給客戶搞壞設(shè)備了,就比較尷尬了。所以我慢慢想出了一些辦法,在這里與大家分享。

串口識(shí)別:串口有兩種標(biāo)準(zhǔn),串口識(shí)別的時(shí)候,一般是把設(shè)備拆開(kāi)以后,串口一般有四個(gè)腳,第一步要找到地(GND),地是很好找的,和電源相連的那個(gè)地,或者芯片跟地相連的。地確定了以后,我們把它接到USB接口上,我先把接收的腳接上,兩個(gè)腳都有可能是高電,這時(shí)把接收的腳和地接上,然后隨便接上一個(gè)腳,設(shè)備一啟動(dòng),如果這個(gè)時(shí)候只要有輸出了,就是接對(duì)了;然后把另外一個(gè)腳一接,三個(gè)腳就接好了。我一般找串口就是上面的思路。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

這頁(yè)ppt是修改uboot啟動(dòng)腳本進(jìn)入密碼保護(hù)的登陸系統(tǒng)思路,不展開(kāi)講了。共5條,每一條都是一個(gè)不用密碼進(jìn)入系統(tǒng)的思路。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

前面說(shuō)到uboot,每次啟動(dòng)時(shí)都有3秒時(shí)間,這個(gè)時(shí)間是可設(shè)的,一般有3秒時(shí)間在等待輸入(或者其它快捷鍵,一般有提示),進(jìn)入uboot模式后,uboot有幫助命令,這些命令里有一條引起我的注意,就是md。md有什么作用?顯示內(nèi)存,能夠把內(nèi)存顯示出來(lái)。這就有點(diǎn)意思了。發(fā)現(xiàn)只要是Nor flash,md可以把Nor flash的內(nèi)容顯示出來(lái)(因?yàn)閚or flash可以通過(guò)CPU直接尋址),這就相當(dāng)于md命令可以提取固件。但md命令是需要知道起始地址和長(zhǎng)度的,知道起始地址和長(zhǎng)度就可以把固件提取出來(lái)。怎么知道起始地址和命令?我查看了更多的命令的信息,結(jié)果發(fā)現(xiàn)bdinfo和flinfo可以查看到flash起始地址和容量。如果還是找不到的話就重啟一下,重啟時(shí)不要打斷,看它會(huì)不會(huì)打印更多flash地址分布信息,通過(guò)這些信息基本就能找到起始地址把固件提取出來(lái)了。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

最后把uboot提取固件的流程總結(jié)出來(lái)了:第一步,獲取flash的存儲(chǔ)信息,它這個(gè)flash有多大、什么型號(hào)的、CPU訪問(wèn)它的地址區(qū)間是什么?第二步,用md命令提取固件信息。第三步,記錄下來(lái)。第四步,分析輸出信息,獲取固件。但這個(gè)方法的缺點(diǎn)是時(shí)間長(zhǎng)一點(diǎn),有的時(shí)候半個(gè)小時(shí),有的時(shí)候2個(gè)小時(shí)。但這也無(wú)所謂,只要能穩(wěn)定的提取固件,不要把硬件損壞,焊3條線就可以搞定了。

視頻請(qǐng)工作人員幫我放一下。(視頻播放)我用簡(jiǎn)單的命令去嘗試,果然能夠讀到內(nèi)核。下一步就全部讀出來(lái),提取固件了。把上面的信息刪除掉,當(dāng)時(shí)的內(nèi)存地址信息和固件沒(méi)關(guān)系就刪掉了,右邊ASCII碼信息沒(méi)關(guān)系也刪掉了。最后把文件轉(zhuǎn)成二進(jìn)制,就是我要得到的固件。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

成功案例比較多,暫時(shí)沒(méi)有失敗的案例。總結(jié)為三個(gè)難度(第三個(gè)Level難度不講),Level1最簡(jiǎn)單,用md就可以搞定了,只用Nor flash做存儲(chǔ)。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

Level2級(jí)別是Nand flash里有其他文件系統(tǒng),這里有一個(gè)命令先把nand flash讀到內(nèi)存,然后用md把內(nèi)存讀出來(lái),這個(gè)簡(jiǎn)單的思路就可以搞定了。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

這是我當(dāng)時(shí)調(diào)試的經(jīng)驗(yàn),發(fā)現(xiàn)用上面的這些命令可以獲取信息。另外一種需要重啟,重啟的方式有時(shí)會(huì)打印關(guān)鍵地址信息。

還有讀取命令,把flash里的md直接讀出來(lái),如果讀不出來(lái)就用其他的思路,把SD卡或者其他文件系統(tǒng)的存儲(chǔ)讀到內(nèi)存里,最后再?gòu)膬?nèi)存里讀出來(lái),基本就是這個(gè)思路。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

Uboot提取固件不是針對(duì)某一個(gè)廠商,幾乎所有廠商都存uboot安全問(wèn)題,嵌入式設(shè)備里面95%都用uboot作為它的啟動(dòng),基本相當(dāng)于嵌入式Linux的一個(gè)標(biāo)配。在開(kāi)發(fā)者大會(huì)上希望與開(kāi)發(fā)者做個(gè)溝通,也希望安全研究員有新的固件提取方式或者有些漏洞利用的方式能夠讓開(kāi)發(fā)者知道,也是為了讓廠家更快修復(fù)漏洞,為安全做貢獻(xiàn)。這個(gè)方法有可能成為未來(lái)一段時(shí)間提取固件一個(gè)比較流行的方法,我發(fā)現(xiàn)基本都能提取出固件來(lái)。

7、通過(guò)利用網(wǎng)頁(yè)和通訊漏洞獲取固件的敏感信息。這個(gè)就不做演示了,只要做安全的,這種都是小問(wèn)題,通過(guò)網(wǎng)頁(yè)能夠把敏感信息提取出來(lái),再通過(guò)字典產(chǎn)生密碼暴力猜解passwd的破解設(shè)備口令。一般是嵌入式系統(tǒng)的權(quán)限配置不當(dāng)。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

8、用邏輯分析儀監(jiān)聽(tīng)flash,ram獲取信息。它的優(yōu)點(diǎn)是不用拆東西,只要把這個(gè)東西接上去就可以了,而且這個(gè)東西也挺好接的。但缺點(diǎn)是邏輯分析儀目前價(jià)格便宜的頻率低,但flash一般頻率比較高,都是100兆、200兆。我做了一個(gè)實(shí)驗(yàn),結(jié)果發(fā)現(xiàn)確實(shí)是可以的。需要把這幾個(gè)腳引出來(lái),在它啟動(dòng)的時(shí)候抓取數(shù)據(jù),用夾子夾在芯片上,那個(gè)標(biāo)紅色的腳是第一腳。抓在上面以后,通過(guò)SPI接口把傳輸?shù)倪@個(gè)數(shù)據(jù)保存。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

前面是SPI的命令,命令里面這個(gè)是輸出的數(shù)據(jù)。前面第一個(gè)是讀的意思,這三個(gè)應(yīng)該是地址,后面的是數(shù)據(jù)。這邊是發(fā)出的命令,那邊是接收的命令,結(jié)果是這個(gè)邏輯分析儀提取出的東西跟flash里的固件的二進(jìn)制是一致的,說(shuō)明這個(gè)思路是可行的,我當(dāng)時(shí)找了一個(gè)速度稍微慢點(diǎn)的設(shè)備,也是可以把固件提取出來(lái)的。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

9、用tar/dd、nc提取固件。利用原來(lái)的硬件接口,再用它原來(lái)的軟件,可能會(huì)達(dá)到事半功倍的效果,不用焊板子。這里先是用串口,通過(guò)串口得到系統(tǒng)權(quán)限,用nc從網(wǎng)絡(luò)傳輸固件出去。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

10、綜合應(yīng)用

第十種固件提取方法是,前面幾種方法的融會(huì)貫通,綜合應(yīng)用。它相當(dāng)于“降龍十八掌”的最后一掌。

通過(guò)串口獲取權(quán)限的話,如果運(yùn)氣好,它也沒(méi)有設(shè)登陸密碼,如果能夠進(jìn)入系統(tǒng),就用這種方法:通過(guò)USB或者SD卡,執(zhí)行拷貝命令、打包命令,把這個(gè)打包到U盤里或者大的內(nèi)存文件系統(tǒng)里,然后再拷貝到外置文件系統(tǒng)里(U盤或TF卡)。

第二種是發(fā)現(xiàn)echo命令可以通過(guò)二進(jìn)制方式寫入“1234567”,用輸入命令的方式發(fā)送二進(jìn)制文件,通過(guò)命令的方式傳輸木馬,這個(gè)木馬把固件輸出來(lái),通過(guò)串口記錄輸出,這也是一個(gè)思路。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

總結(jié)固件提取方法:智能設(shè)備普遍存在uboot,如果沒(méi)有把md類似的命令屏蔽掉,是可以輕易提取固件的。智能設(shè)備固件存在flash里,flash沒(méi)有保護(hù)固件被非法讀取的措施。如果FLASH和RAM集成在CPU上,并且開(kāi)啟了加密的話是比較難提取固件的。但如果它用另外一種方式:(FLASH和RAM、CPU分別獨(dú)立),是特別容易被提取固件的,原因是拆下FLASH用編程器直接能讀到flash里面的內(nèi)容了。

硬件調(diào)試接口方法方便了維護(hù)客戶,但有時(shí)也方便了不速之客,軟件如果留一個(gè)后門是便于維護(hù),但密碼太簡(jiǎn)單的話容易被破解或者猜測(cè),或者容易讓別人從固件里分析出來(lái)。結(jié)論是目前部分智能設(shè)備的架構(gòu)存在一定安全隱患。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

三、從固件發(fā)掘漏洞的思路

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

用binwalk進(jìn)行固件拆解,有些同事用binwalk解不出來(lái),但我能夠解出來(lái),為什么?因?yàn)樗菦](méi)有掌握binwalk的安裝方法,binwalk有些依賴的軟件,這些依賴的東西都要裝全。有一個(gè)命令(./deps.sh)是需要執(zhí)行的,會(huì)把所有相關(guān)的依賴的軟件安裝,安裝以后就比較好提取了。我常用的-Me的方式提取固件。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

這里舉了一個(gè)例子,可以通過(guò)密碼字典暴力破解的方式破解linux登陸密碼,如果它的密碼比較簡(jiǎn)單,很快就破解出來(lái)了。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

我以前做過(guò)開(kāi)發(fā),所有的問(wèn)題如果沒(méi)有思路時(shí),就想一下開(kāi)發(fā)人員會(huì)怎么做?他會(huì)留下什么調(diào)試后門?有什么接口?如果你提取固件以后。能不能查固件里系統(tǒng)的敏感信息?看一下廠家有沒(méi)有留下維護(hù)的后門密碼?如果有后門密碼就簡(jiǎn)單了。這些看完了以后,看總共有多少網(wǎng)絡(luò)服務(wù)、網(wǎng)絡(luò)端口,網(wǎng)絡(luò)服務(wù)運(yùn)行的二進(jìn)制有沒(méi)有溢出點(diǎn),把web調(diào)用接口調(diào)試調(diào)試,看看有沒(méi)有問(wèn)題。基本就是這些思路,非常簡(jiǎn)單。時(shí)間有限,只能點(diǎn)一下。

四、智能設(shè)備的加固建議

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

信息隱藏非常重要,比如uboot把固件提取出來(lái)就是因?yàn)橹浪鞘裁葱酒?,如果芯片是打磨的可能好一點(diǎn),或者把封裝改了也好一點(diǎn),這些重要信息要注意隱藏。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

調(diào)試接口能不能屏蔽掉,比如軟件的、硬件的屏蔽掉,或者busybox不用的功能能不能去掉和裁剪掉。比如,智能設(shè)備進(jìn)入系統(tǒng)都是root權(quán)限,權(quán)限太大,可以干的事情太多了,這些是可以避免的,不一定要給root權(quán)限。其他加固建議如PPT。

綠盟馬良:智能設(shè)備漏洞挖掘中的幾個(gè)突破點(diǎn)|看雪2018峰會(huì)

雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知

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