從遠(yuǎn)古時(shí)代的飛鴿傳書(shū)到后來(lái)的郵政快遞,寫(xiě)信人與收信人之間的物理消息傳遞方式逐漸在演變發(fā)展,之后,傳真技術(shù)的出現(xiàn)從某種程度上說(shuō),幫助人們走出了信件傳遞的黑暗時(shí)代。
然而,技術(shù)發(fā)展到今天,就通信手段而言,我們有電子郵件、社交聊天、移動(dòng)通信渠道、網(wǎng)絡(luò)服務(wù)和高大上的量子衛(wèi)星通信等等,但在這種喜新厭舊的信息時(shí)代中,傳真技術(shù)仍然沒(méi)被淘汰,且依舊被廣泛使用。根據(jù)簡(jiǎn)單的谷歌搜索可以發(fā)現(xiàn),網(wǎng)上出現(xiàn)了超過(guò)3億個(gè)的在用傳真號(hào)碼,看來(lái),傳真技術(shù)還是我們常用的辦公通信方式之一。
為此,CheckPoint 決定深入研究一下這種“老派”的通信方式,看看它除了具備嘈雜的傳呼機(jī)功能和官僚主義負(fù)擔(dān)之外,是否存在著嚴(yán)重的網(wǎng)絡(luò)安全風(fēng)險(xiǎn)。以下為CheckPoint 的相關(guān)研究:
研究背景
傳真通信是利用掃描和光電變換技術(shù),從發(fā)端將文字、圖像、照片等靜態(tài)圖像通過(guò)有線或無(wú)線信道傳送到接收端,并在接收端以記錄的形式重顯原靜止的圖像的通信方式。傳真是基于傳統(tǒng)電信線路電話交換網(wǎng)(PSTN)與軟交換技術(shù)(NGN)的融合。
如今的傳真技術(shù)被廣泛集成于多功能一體打印機(jī)設(shè)備中,之后,家庭或企業(yè)通過(guò)以太網(wǎng)、WiFi、藍(lán)牙等接口把這些一體機(jī)接入內(nèi)網(wǎng)使用。當(dāng)然,為了支持傳真功能,這些一體機(jī)還連接了傳統(tǒng)話務(wù)(PSTN)的電話線。
我們?cè)谘芯恳婚_(kāi)始就定下了這種假設(shè),攻擊者能否僅僅通過(guò)電話線和相應(yīng)的傳真號(hào)碼,就能向多功能一體打印機(jī)發(fā)送惡意傳真來(lái)實(shí)現(xiàn)入侵呢?如果答案是“能”,那么通過(guò)這臺(tái)受控打印機(jī),就有可能深入向企業(yè)內(nèi)網(wǎng)滲透。終于,經(jīng)過(guò)漫長(zhǎng)而乏味的研究,我們有了突破。
事實(shí)上,我們?cè)诙喙δ芤惑w打印機(jī)中發(fā)現(xiàn)了幾個(gè)關(guān)鍵漏洞,利用這些漏洞,通過(guò)向其發(fā)送構(gòu)造的惡意傳真,就能實(shí)現(xiàn)對(duì)其完全的入侵控制。這樣一來(lái),打開(kāi)了企業(yè)內(nèi)網(wǎng)之門(mén),也就什么可能都存在了,攻擊者可以潛伏在多功能一體機(jī)中,向脆弱的企業(yè)內(nèi)網(wǎng)電腦發(fā)起“永恒之藍(lán)”漏洞攻擊,或通過(guò)傳真方式竊取內(nèi)網(wǎng)電腦數(shù)據(jù)并向外回傳。
我們把這種攻擊稱之為“Faxploit”攻擊。以下為實(shí)際網(wǎng)絡(luò)環(huán)境中的PoC視頻:
演示視頻:
逆向固件
首先,在固件逆向分析過(guò)程中,我們使用IDA來(lái)識(shí)別傳真功能中實(shí)際的運(yùn)行進(jìn)程和環(huán)境,有了一些發(fā)現(xiàn):
架構(gòu)
我們測(cè)試的多功能一體機(jī)是基于ARM 32bit的CPU架構(gòu)的大端存儲(chǔ)模式(Big-Endian),主CPU使用共享存儲(chǔ)區(qū)與控制LCD屏幕的MCU元件進(jìn)行通信。
操作系統(tǒng)
操作系統(tǒng)是Green Hills的ThreadX式嵌入式實(shí)時(shí)操作系統(tǒng),它使用平面內(nèi)存架構(gòu),很多任務(wù)進(jìn)程運(yùn)行于內(nèi)核模式下,使用同一個(gè)虛擬地址空間。也是由于這種平面內(nèi)存架構(gòu)的原因,我們認(rèn)為任務(wù)進(jìn)程的通信是通過(guò)消息隊(duì)列方式進(jìn)行的(FIFO),另外,其虛擬地址空間是固定的,未部署任何地址空間布局隨機(jī)化(ASLR)保護(hù)機(jī)制。
DSID值
然而,當(dāng)我們?cè)诜治?span lang="EN-US">T.30狀態(tài)機(jī)任務(wù)(“tT30”)時(shí),偶然發(fā)現(xiàn)了很多使用特別ID的追蹤方法(trace),深入分析發(fā)現(xiàn),這些ID也被用于一些以“DSID_”為前綴開(kāi)頭的字符串列表中。實(shí)際上,這些字符串看似是與那些使用ID的追蹤方法(trace)邏輯相匹配,這也給了我們重要的逆向提示線索。于是乎,我們從所有不同的DSID列表中創(chuàng)建了一個(gè)枚舉類型,形成了任務(wù)中的各種追蹤方法文本描述。以下為trace追蹤方法中使用的DSID值:
T.30狀態(tài)機(jī)中的DSID列表:
在追蹤方法中應(yīng)用DSID枚舉:
任務(wù)不一致性
當(dāng)我們逆向T.30狀態(tài)機(jī)和之后處理HDLC的傳真貓(“tFaxModem”)時(shí),發(fā)現(xiàn)缺少了多個(gè)函數(shù)指針表。之后我們還發(fā)現(xiàn),有兩種常規(guī)的代碼模式貌似和 allocation/deallocation路徑有些相似。每個(gè)模塊中采用的方法,是為了接收來(lái)自其它模塊的消息,或者,也可能是把緩存發(fā)送到下一模塊中,如下圖使用某個(gè)功能表從另一個(gè)任務(wù)接收數(shù)據(jù)幀:
如果我們不能定位這些模塊中采用的具體方法,也就無(wú)法弄清固件中的數(shù)據(jù)流形式,會(huì)對(duì)固件的下一步分析造成阻礙。由于我們無(wú)法定位到大多數(shù)方法指針的初始化,所以,我們需要一種動(dòng)態(tài)方法,也即調(diào)試器來(lái)進(jìn)行調(diào)試。
創(chuàng)建調(diào)試器
串行調(diào)試接口
首先,我們分析了一體機(jī)的主板,想找到上面的串行調(diào)試端口,不一會(huì),我們就有了發(fā)現(xiàn)。下圖為連接JTAGULATOR到打印機(jī)的串行調(diào)試器:
但接入調(diào)試器之后,我們才發(fā)現(xiàn)其調(diào)試接口的默認(rèn)權(quán)限是受限的,不能有效地執(zhí)行我們的預(yù)設(shè)命令:
這看起來(lái)是需要提權(quán)才行了,但提權(quán)就得需要漏洞啊,那就來(lái)找找看吧!
匹配已知漏洞
尋找已知漏洞
當(dāng)你要exploit一種特定固件時(shí),首先的方法就是去看看它使用了哪些開(kāi)源代碼,對(duì)比不同版本,盡可能地找到能用的CVE。這項(xiàng)工作1天已經(jīng)足夠了,對(duì)于調(diào)試目的來(lái)說(shuō)也是綽綽有余。有兩種方法來(lái)判斷使用的開(kāi)源代碼:
在固件逆向代碼中使用字符串查找,從中找出關(guān)鍵字符串
從廠商網(wǎng)站中查找一些產(chǎn)品的開(kāi)源代碼認(rèn)證信息
另外,要發(fā)現(xiàn)這些開(kāi)源代碼漏洞有幾種方法:
在CVE庫(kù)中查找與其代碼庫(kù)相匹配的漏洞
用熟悉的漏洞進(jìn)行驗(yàn)證
關(guān)注US-CERT每周發(fā)布的CVE更新消息
gSOAP工具包調(diào)試漏洞 - CVE-2017-9765
在開(kāi)源代碼分析中,我們發(fā)現(xiàn)其中使用了gSOAP庫(kù),經(jīng)分析確認(rèn),gSOAP庫(kù)曾存在“魔鬼綠蘿”(Devil’s Ivy)的CVE-2017-9765漏洞,是早前在監(jiān)控?cái)z像頭開(kāi)源軟件中爆出的0-day漏洞,曾影響了全球大量IoT設(shè)備。以下為該漏洞代碼段的反編譯代碼:
利用該漏洞,向多功能一體機(jī)發(fā)送超過(guò)2Gb的XML數(shù)據(jù)時(shí),將造成整型下溢,最終會(huì)導(dǎo)致棧緩沖區(qū)溢出,可執(zhí)行任意代碼,能實(shí)現(xiàn)對(duì)目標(biāo)多功能一體機(jī)的完全控制。
但是,該漏洞的利用存在兩個(gè)前提限制:
漏洞利用代碼的傳輸需要耗費(fèi)大量時(shí)間,優(yōu)化后,傳輸時(shí)間還是在7分鐘左右
只能在IDA和每次嘗試失敗時(shí)產(chǎn)生的基本串行轉(zhuǎn)儲(chǔ)環(huán)境下來(lái)開(kāi)發(fā)這個(gè)漏洞
對(duì)Devil’s Ivy的CVE-2017-9765漏洞利用
該漏洞可以觸發(fā)棧緩沖區(qū)溢出,但存在一些限制型字符。這種字符如下:
不可打印的: 0x00 – 0x19
‘?’對(duì)應(yīng)的: 0x3F
該漏洞的一個(gè)好處是溢出無(wú)限制,也就是說(shuō),我們可以把整個(gè)漏洞利用鏈發(fā)送到目標(biāo)設(shè)備的棧區(qū)中進(jìn)行攻擊。
但在嵌入式環(huán)境中,我們需要注意的是其CPU的各種緩存可能會(huì)對(duì)漏洞觸發(fā)造成影響。CPU中接收到的數(shù)據(jù)包會(huì)存放在數(shù)據(jù)存儲(chǔ)區(qū) Data Cache (D-Cache),而執(zhí)行指令則會(huì)在Instruction Cache (I-Cache)中進(jìn)行。也就是說(shuō),即使沒(méi)有NX位支持,由于CPU會(huì)通過(guò) I-Cache 執(zhí)行代碼,那么我們也不能直接在棧緩沖區(qū)中實(shí)現(xiàn)漏洞Payload的觸發(fā)。
如何才能繞過(guò)以上這些各種限制呢?我們需要用到一種包含以下部分的Bootstrapping算法利用:
可以刷新D-Cache 和 I-Cache 的基本的ROP(面向返回的編程)控制
加載到調(diào)試器網(wǎng)絡(luò)加載端的解碼shellcode
整個(gè)調(diào)試器可以通過(guò)網(wǎng)絡(luò)發(fā)送到加載端
在此,我們就不展開(kāi)詳談漏洞利用鏈構(gòu)造過(guò)程,如果你感興趣請(qǐng)自己嘗試測(cè)試。接下來(lái),我們來(lái)說(shuō)說(shuō)漏洞利用的各種載體。
Scout調(diào)試器
我們構(gòu)建的調(diào)試器是一個(gè)基于指令的網(wǎng)絡(luò)調(diào)試器,它支持基本的內(nèi)存讀寫(xiě)請(qǐng)求,還能擴(kuò)展支持特定固件指令。我們使用調(diào)試器從多功能打印機(jī)中提取了其內(nèi)存,然后對(duì)它進(jìn)行了一些擴(kuò)展測(cè)試。
一旦調(diào)試器被配置了附帶固件API函數(shù),如memcpy、sleep和send等地址后,由于它是位置無(wú)關(guān)的,所以調(diào)試器就可以加載任意地址。Scout Debugger下載地址:https://github.com/CheckPointSW/Scout
ITU T.30 - Fax協(xié)議
多功能一體機(jī)如果支持傳真功能,那么也一定能支持涉及傳真設(shè)備的ITU-T G3協(xié)議標(biāo)準(zhǔn),該標(biāo)準(zhǔn)定義了傳真發(fā)送端和接收端的基本功能,以及協(xié)議的不同實(shí)現(xiàn)階段,如下圖所示:
我們重點(diǎn)來(lái)看上圖的Phase B和Phase C,Phase B負(fù)責(zé)發(fā)送端和接收端之間的協(xié)商(握手),而Phase C則根據(jù)協(xié)商規(guī)定進(jìn)行數(shù)據(jù)幀傳輸。數(shù)據(jù)幀利用面向比特的高級(jí)數(shù)據(jù)鏈路控制協(xié)議(HDLC),通過(guò)電話線來(lái)進(jìn)行傳輸,如下圖所示:
挖掘攻擊向量
發(fā)送TIFFs
存在一種誤解,也就是傳真只是一種簡(jiǎn)單地TIFF報(bào)文發(fā)送手段。實(shí)際上,T.30協(xié)議能發(fā)送頁(yè)面,且Phase B階段協(xié)商的參數(shù)中就已經(jīng)包括了頁(yè)面長(zhǎng)度和寬度,而且,Phase C階段則主要是傳輸頁(yè)面的數(shù)據(jù)行。也就是說(shuō),傳真最終的輸出是一個(gè)包含IFD標(biāo)簽的TIFF文件,IFD標(biāo)簽在該過(guò)程中用于構(gòu)建協(xié)商用的元數(shù)據(jù),.TIFF文件中包含有接收到的頁(yè)面行。
盡管.tiff解析器存在很多漏洞,但很多都是在IFD標(biāo)簽的解析代碼漏洞,而且我們這里的研究用例中,這些IFD標(biāo)簽都是由多功能打印一體機(jī)自己創(chuàng)建的,這里唯一會(huì)對(duì)我們的頁(yè)面內(nèi)容執(zhí)行的處理過(guò)程就是,打印過(guò)程中打開(kāi)其壓縮內(nèi)容。
TIFF壓縮
不幸的是,.tiff格式使用的壓縮機(jī)制有多個(gè)名字,因此首先需要把它們找出來(lái)。以下是它們的一個(gè)基本映射關(guān)系:
TIFF Compression Type 2 = G3 without End-Of-Line (EOL) markers
TIFF Compression Type 3 = G3 = ITU T.30 Compression T.4 = CCITT 1-D
TIFF Compression Type 4 = G4 = ITU T.30 Compression T.6 = CCITT 2-D
由于傳真基本是黑白顏色的,所以,壓縮機(jī)制實(shí)際上是一種使用了固定霍夫曼表的黑白代碼行程編碼方式(RLE)。因此,我們?cè)賹?duì)T.4 和 T.6 的代碼壓縮機(jī)制進(jìn)行分析,沒(méi)發(fā)現(xiàn)什么可以利用的漏洞。
T.30擴(kuò)展
在Pahse B階段,傳真貓會(huì)進(jìn)行功能交換,所以它可以找出能支持的最佳傳輸方式。為此,我們編寫(xiě)了一個(gè)簡(jiǎn)單腳本對(duì)這些使用ITU T.30標(biāo)準(zhǔn)的消息進(jìn)行了語(yǔ)法分析,下圖為對(duì)數(shù)字識(shí)別信號(hào)(DIS)的解析結(jié)果:
看似我們測(cè)試的一體機(jī)支持ITU T.81 (JPEG) 格式,也就是說(shuō),它能發(fā)送彩色傳真。而在分析彩色傳真的處理代碼過(guò)程中,我們有了另外的新發(fā)現(xiàn):接收到的數(shù)據(jù)按原樣存儲(chǔ)到.jpg文件中,與.tiff文件中標(biāo)頭由接收端創(chuàng)建的不同,這里的.jpg我們可以對(duì)整個(gè)文件進(jìn)行控制。
我們基于標(biāo)準(zhǔn)對(duì)這種傳真行為進(jìn)行了檢查后發(fā)現(xiàn),由于JPEG格式非常復(fù)雜,其標(biāo)頭Header(也稱為標(biāo)記maker)確實(shí)是通過(guò)電話線發(fā)送的,接收端負(fù)責(zé)處理它們并決定保留下什么。一些標(biāo)頭可能不受接收端支持,會(huì)被丟棄,如COM的其它標(biāo)頭則會(huì)被忽略。在我們對(duì)固件和開(kāi)源代碼的測(cè)試檢查中,接收內(nèi)容總會(huì)被無(wú)過(guò)濾地轉(zhuǎn)儲(chǔ)到一個(gè)文件中保存,這也就成了攻擊者的一個(gè)很好的“獵物”。
打印彩色傳真
概括來(lái)說(shuō),當(dāng)目標(biāo)打印機(jī)接收到一個(gè)彩色傳真,它就會(huì)簡(jiǎn)單地?zé)o安全過(guò)濾地,把其內(nèi)容轉(zhuǎn)儲(chǔ)到一個(gè).jpg文件中,通常來(lái)說(shuō),這個(gè)文件位于%s/jfxptemp%d%d.jpg。然而,接收傳真只是第一步,接下來(lái)還需要打印傳真,為此打印模塊需要首先確認(rèn)接收文件的長(zhǎng)度和寬度,所以,還要進(jìn)行一個(gè)基本的語(yǔ)法分析。
JPEG解析器
存在一些說(shuō)不清的原因,這種特定固件的開(kāi)發(fā)者傾向于把主流開(kāi)源項(xiàng)目中實(shí)現(xiàn)的模塊功能進(jìn)行重新編寫(xiě),改善優(yōu)化,也就是說(shuō),他們不會(huì)用開(kāi)源的libjpeg標(biāo)準(zhǔn)庫(kù),轉(zhuǎn)而是用自己的 JPEG 解析器。從攻擊者角度來(lái)說(shuō),這就是一個(gè)可以利用的點(diǎn),在開(kāi)發(fā)者自己開(kāi)發(fā)的復(fù)雜文件格式解析器中來(lái)發(fā)現(xiàn)可利用的漏洞,似乎也不是沒(méi)有可能。JPEG解析器原理非常簡(jiǎn)單:
先檢查圖像開(kāi)始SOI標(biāo)記:0xFFD8
循環(huán)分析各個(gè)支持標(biāo)記
完成以上步驟后向調(diào)用者返回相關(guān)數(shù)據(jù)
這不,我們就以此為突破口,發(fā)現(xiàn)了以下兩個(gè)漏洞。
CVE-2018-5925 – COM標(biāo)記解析緩沖區(qū)溢出漏洞
根據(jù)ITU T.30 standard標(biāo)準(zhǔn),COM標(biāo)記 (0xFFFE)是一種大小可變的文本字段,這種文本字段一般用來(lái)代表文本類型的注釋說(shuō)明。從這個(gè)點(diǎn)上,我們希望發(fā)現(xiàn)某種解析漏洞。比較搞笑的是,根據(jù)ITU T.30 標(biāo)準(zhǔn)來(lái)看,這種COM標(biāo)記應(yīng)該要被傳真接收端丟棄才是。然而,我們卻在其中發(fā)現(xiàn)了以下漏洞:
解析模塊會(huì)解析一個(gè)低字節(jié)序或小端模式的2字節(jié)長(zhǎng)度字段,并反復(fù)執(zhí)行從傳真文件中復(fù)制數(shù)據(jù)到一些全局?jǐn)?shù)組中的操作。貌似數(shù)組中的每個(gè)條目都有2100字節(jié)的大小,而我們的構(gòu)造的長(zhǎng)度字段可以高達(dá)64KB,這就給了我們一個(gè)大容量的可控緩沖區(qū)溢出區(qū)域。
CVE-2018-5924 – 解析DHT標(biāo)記時(shí)的堆棧緩沖區(qū)溢出漏洞
由于上一個(gè)漏洞的發(fā)現(xiàn)是標(biāo)準(zhǔn)實(shí)現(xiàn)中不應(yīng)支持的標(biāo)記所導(dǎo)致的,所以,我們繼續(xù)把關(guān)注點(diǎn)擴(kuò)展到了其它標(biāo)記身上。在解碼文件的數(shù)據(jù)幀時(shí),DHT標(biāo)記(Difine Huffman Table) 定義了一個(gè)特定的霍夫曼表來(lái)使用。而且,這個(gè)DHT標(biāo)記漏洞涉及到的函數(shù)比上個(gè)漏洞函數(shù)還簡(jiǎn)單容易一些:
可以看到存在一個(gè)讀取16字節(jié)的初始解析循環(huán),這是因?yàn)槊總€(gè)字節(jié)代表了一個(gè)長(zhǎng)度字段,所有這些字節(jié)最后累積成為一個(gè)總的長(zhǎng)度變量
存在一個(gè)全0填充的256字節(jié)本地備用堆棧
第二個(gè)解析循環(huán)會(huì)使用之前的長(zhǎng)度字段,從傳真文件中拷貝數(shù)據(jù)到本地堆棧緩沖區(qū)中
一個(gè)簡(jiǎn)單的計(jì)算就能知曉具體的漏洞成因:16 * 255 = 4080 > 256,也就是說(shuō),我們可以構(gòu)造一個(gè)大容量可控且無(wú)限制的堆棧緩沖區(qū)溢出,這是多好的一個(gè)漏洞啊。
創(chuàng)建漏洞利用代碼
對(duì)比以上兩個(gè)漏洞,由于DHT標(biāo)記解析漏洞相對(duì)容易實(shí)現(xiàn)。在Devil’s Ivy漏洞中,其中的調(diào)試exploit利用代碼,也是利用了一個(gè)堆棧溢出漏洞,那么這里我們也是一樣,僅只需要對(duì)調(diào)試exploit作出一些小修改即可。
自動(dòng)化Payload – 實(shí)現(xiàn)圖靈機(jī)機(jī)制
我們可以使用同樣的網(wǎng)絡(luò)加載器來(lái)構(gòu)造調(diào)試exploit。然而,當(dāng)前的攻擊向量有一個(gè)主要的優(yōu)勢(shì):完整的攻擊Payload可以存儲(chǔ)在傳真發(fā)送的“JPEG”中,鑒于它不對(duì)傳真內(nèi)容執(zhí)行任何安全過(guò)濾檢查,因此我們可以把整個(gè)Payload都存儲(chǔ)在發(fā)送文檔中,不需要擔(dān)心它是否會(huì)被轉(zhuǎn)儲(chǔ)為一個(gè)非法的JPEG文件。
而且文件的fd文件描述符也存儲(chǔ)在可訪問(wèn)的全局變量中,所以, 我們編寫(xiě)了一個(gè)基于文件的加載器,該加載器會(huì)從文件中讀取Payload,然后把它加載到內(nèi)存中去。之后,每次Payload想要用輸入執(zhí)行任務(wù)時(shí),它就會(huì)從同一文件中讀取輸入并按照其中的指令實(shí)現(xiàn)任務(wù)操作。為此,我們構(gòu)建了一個(gè)基本的圖靈機(jī)機(jī)制來(lái)從發(fā)送傳真中讀取輸入并實(shí)現(xiàn)操作。
通過(guò)網(wǎng)絡(luò)傳播
入侵控制一臺(tái)企業(yè)打印機(jī)也不錯(cuò),但是我們想做的遠(yuǎn)不只這些。實(shí)際上,如果能通過(guò)打印機(jī)來(lái)控制整個(gè)企業(yè)內(nèi)網(wǎng),那影響和威脅就就非常之大了。所以,我們利用我們漏洞分析團(tuán)隊(duì)之前的研究結(jié)果,綜合了NSA武器 - “永恒之藍(lán)”( Eternal Blue)和“雙脈沖星”(Double Pulsar),應(yīng)用于此次傳真漏洞的基于文件的圖靈機(jī)中來(lái)。
我們的漏洞Payload具備以下功能特點(diǎn):
可以控制多功能一體機(jī)的LCD顯示屏 - 這是一種打印機(jī)完全控制權(quán)的體現(xiàn)
檢查多功能一體機(jī)的網(wǎng)絡(luò)是否為連通狀態(tài)
使用NSA“永恒之藍(lán)”( Eternal Blue)和“雙脈沖星”(Double Pulsar)武器,攻擊目標(biāo)內(nèi)網(wǎng)受害主機(jī),實(shí)現(xiàn)入侵控制。
由此,我們通過(guò)傳真漏洞遠(yuǎn)程實(shí)現(xiàn)企業(yè)內(nèi)網(wǎng)的多功能一體機(jī)入侵控制,并以此為據(jù)點(diǎn),可向企業(yè)內(nèi)網(wǎng)深入進(jìn)行橫向滲透。
總結(jié)
我們測(cè)試用的多功能一體機(jī)為 HP Officejet Pro 6830,研究測(cè)試表明,這種當(dāng)前的傳真實(shí)現(xiàn)協(xié)議存在安全隱患,其它啥都不用,僅需要向目標(biāo)一體機(jī)發(fā)送一份傳真就能完全控制設(shè)備,可以此為潛伏據(jù)點(diǎn),用已知的NSA漏洞exploit深入向企業(yè)內(nèi)網(wǎng)滲透。
從現(xiàn)在起,傳真機(jī)也能成為滲透入侵企業(yè)內(nèi)網(wǎng)的途徑之一。我們認(rèn)為,這種傳真技術(shù)存在的安全風(fēng)險(xiǎn)應(yīng)該被重視,因?yàn)樗由炝爽F(xiàn)代企業(yè)網(wǎng)絡(luò)的安全邊界,網(wǎng)絡(luò)打印機(jī)和傳真機(jī)都有能成為網(wǎng)絡(luò)架構(gòu)中的一個(gè)入侵風(fēng)險(xiǎn)點(diǎn)。
漏洞披露進(jìn)程
在與惠普公司(HP)進(jìn)行協(xié)商之后,有了以下的漏洞披露進(jìn)程:
2018.5.1 向HP公司上報(bào)漏洞
2018.5.1 HP公司感謝提交并著手處理漏洞
2018.5-2018.6 不停的重現(xiàn)PoC場(chǎng)景,修補(bǔ)漏洞
2018.6.2/3 與HP公司面對(duì)面溝通
2018.7.23 發(fā)現(xiàn)的兩個(gè)漏洞被標(biāo)記為高危
2018.8.1 HP公司公布固件升級(jí)補(bǔ)丁
2018.8.12 在 DEFCON 26 會(huì)議中首次公開(kāi)