您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)Windows 10 IoT Core遠(yuǎn)程命令執(zhí)行漏洞驗(yàn)證及建議是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
近日,安天微電子與嵌入式安全研發(fā)部(安天微嵌)針對SafeBreach[1]公司披露的Windows IoT[2]操作系統(tǒng)的安全漏洞進(jìn)行了詳細(xì)分析和驗(yàn)證。攻擊者利用該漏洞可實(shí)現(xiàn)對目標(biāo)設(shè)備的完全控制,如遠(yuǎn)程命令執(zhí)行、文件上傳/下載等。對此,安天微嵌成立了分析小組,分析驗(yàn)證了SafeBreach公司在GitHub中公布的該漏洞的原理及POC,對該漏洞的影響范圍進(jìn)行了確認(rèn),并針對不同應(yīng)用場景給出了相應(yīng)的防護(hù)建議。
Windows作為IoT市場中僅次于Linux系統(tǒng)的第二大系統(tǒng),其Windows IoT Core是面向物聯(lián)網(wǎng)領(lǐng)域的核心操作系統(tǒng)版本,覆蓋了智能家居、智能醫(yī)療、智慧城市、智能物流等眾多領(lǐng)域。Windows IoT分為IoT Core和IoT Enterprise版本,而Windows IoT Core又分為Stock Image和Custom Image兩個版本。其中,Stock Image版本也被稱為Test Image版本,其包含了用于開發(fā)及硬件兼容性測試用途的相關(guān)接口。
Windows IoT Core系統(tǒng)目前支持的硬件平臺包括:高通DragonBoard 410c、樹莓派2、樹莓派3B、MinnowBoard Turbot、Aaeon Up Squared。
HLK(Hardware Lab Kit)是一個用于測試硬件設(shè)備及對應(yīng)驅(qū)動程序和Windows系統(tǒng)之間兼容性的測試框架。PC端軟件HLK Studio[3]中包含了該測試框架的Server部分,測試設(shè)備中包含了該測試框架的Client部分。用戶可在HLK Studio中選擇測試用例并發(fā)送到待測試的設(shè)備中進(jìn)行測試。在底層實(shí)現(xiàn)中,HLK Studio軟件通過Sirep協(xié)議[4]與待測試設(shè)備進(jìn)行交互。HLK Server與HLK Client的關(guān)系如圖1-1所示:
圖1-1 HLK Server與HLK Client的關(guān)系
實(shí)現(xiàn)Sirep協(xié)議的DLL文件位于Windows IoT Core系統(tǒng)的C:\..\testsirepsvc.dll位置,該DLL實(shí)現(xiàn)了包括HLK Studio和Windows IoT Core系統(tǒng)間的通信功能,及執(zhí)行HLK Studio下發(fā)至Windows IoT Core的測試任務(wù)等功能。而Sirep協(xié)議本身實(shí)現(xiàn)了如下功能:
獲取Windows IoT Core系統(tǒng)信息;
執(zhí)行Windows IoT Core系統(tǒng)命令;
下載Windows IoT Core系統(tǒng)中的文件;
上傳文件到Windows IoT Core系統(tǒng)中;
獲取Windows IoT Core系統(tǒng)中的文件屬性信息。
根據(jù)公開資料及分析小組實(shí)際驗(yàn)證,該漏洞目前主要影響Windows IoT Core的Stock/Test Image[4]版本。若開發(fā)人員或廠商在最終發(fā)布的產(chǎn)品中使用了Stock/Test Image版本的系統(tǒng),且該產(chǎn)品存在有線連接場景,則會受到此次披露的漏洞影響。構(gòu)建Custom版本需要從CA(Certificate Authority)購買簽名證書,并使用該證書對Custom版本的系統(tǒng)進(jìn)行簽名,因?yàn)闀r間倉促,分析小組暫未對Custom版本的Windows IoT系統(tǒng)進(jìn)行驗(yàn)證。
本次分析過程使用樹莓派2B和Windows IoT Core(17763)版本作為驗(yàn)證環(huán)境。設(shè)備連接示意圖如圖3-1所示:
圖3-1 設(shè)備連接示意圖
首先,可使用Windows 10 IoT Core Dashboard[5]軟件制作帶有Windows IoT Core系統(tǒng)的TF卡,然后將TF卡插入到樹莓派中,使用網(wǎng)線連接樹莓派,通電后即可啟動系統(tǒng)。系統(tǒng)啟動后,Windows 10 IoT Core Dashboard軟件可自動發(fā)現(xiàn)局域網(wǎng)范圍內(nèi)的Windows IoT 設(shè)備、執(zhí)行啟用遠(yuǎn)程PowerShell、向設(shè)備中部署應(yīng)用軟件等。但這些操作需要首先通過Windows IoT系統(tǒng)管理員賬號和密碼認(rèn)證才能正常使用。
在實(shí)現(xiàn)Sirep協(xié)議時,testsirepsvc.dll的代碼使用TCP Socket服務(wù)程序監(jiān)聽了29817、29819、29820端口,且在代碼中并未對接收到的請求進(jìn)行適當(dāng)?shù)臋?quán)限檢查,進(jìn)而導(dǎo)致了在未經(jīng)授權(quán)的情況下即可執(zhí)行Sirep協(xié)議所實(shí)現(xiàn)的功能。
在testsirepsvc.dll中,實(shí)現(xiàn)對遠(yuǎn)程請求進(jìn)行權(quán)限檢查的函數(shù)名稱為:
ControllerWSA::IsConnectionAllowed
在Windows IoT Core系統(tǒng)運(yùn)行后,可通過U盤將該DLL文件拷貝到分析機(jī)中,使用IDA查看實(shí)現(xiàn)該函數(shù)的匯編代碼,如圖3-2、圖3-3所示:
圖3-2 ControllerWSA::IsConnectionAllowed函數(shù)代碼片段1
圖3-3 ControllerWSA::IsConnectionAllowed函數(shù)代碼片段2
以上代碼片段解釋了testsirepsvc.dll如何對接收到的請求進(jìn)行權(quán)限檢查的邏輯,程序邏輯僅僅判斷getsockname函數(shù)返回的SOCKADDR_IN數(shù)據(jù)結(jié)構(gòu)是否為有線網(wǎng)卡的IP地址,也就是說testsirepsvc.dll認(rèn)為所有來自有線網(wǎng)絡(luò)的請求都是合法的請求,這個過程并不需要用戶輸入用戶名和密碼進(jìn)行認(rèn)證。
在testsirepsvc.dll中的服務(wù)程序接收到HLK Studio發(fā)送的命令數(shù)據(jù)后,會經(jīng)過SirepPipeServiceRoutine函數(shù)進(jìn)行分流,在該函數(shù)中通過命令類型字段將不同的命令分流到不同的函數(shù)中進(jìn)行執(zhí)行,不同的命令類型對應(yīng)的執(zhí)行函數(shù)名稱分別為:
SirepGetSystemInformationFromDevice;SirepPutFileOnDevice;SirepGetFileFromDevice;SirepGetFileInformationFromDevice;SirepLaunchWithOutput
實(shí)現(xiàn)該命令分流過程的SirepPipeServiceRoutine函數(shù)匯編代碼如圖3-4所示:
圖3-4 SirepPipeServiceRoutine函數(shù)命令分流代碼
分析小組通過樹莓派2B和Windows IoT Core(17763)(Stock/Test Image)搭建了驗(yàn)證環(huán)境,結(jié)合上述的分析過程對公開的POC[6]進(jìn)行了驗(yàn)證。
上傳文件POC執(zhí)行示例如圖4-1、圖4-2所示:
圖4-1 上傳文件POC執(zhí)行示例
如圖4-1所示,該P(yáng)OC在C:\Windows\System32\目錄下創(chuàng)建了一個名為uploaded.txt的文件,文件內(nèi)容為“Hello Windows IoT!”。
圖4-2 查看上傳文件結(jié)果
如圖4-2所示,在執(zhí)行圖4-1所示的POC命令后,使用cat命令可查看C:\Windows\System32\目錄下的文件名為uploaded.txt的文件內(nèi)容。
遠(yuǎn)程執(zhí)行系統(tǒng)命令POC執(zhí)行示例如圖4-3所示:
圖4-3 遠(yuǎn)程執(zhí)行系統(tǒng)命令POC執(zhí)行示例
如圖4-3所示,該P(yáng)OC實(shí)現(xiàn)了遠(yuǎn)程命令執(zhí)行,在目標(biāo)設(shè)備中執(zhí)行了hostname命令,并返回了命令執(zhí)行的結(jié)果,即“minwinpc”
經(jīng)過驗(yàn)證,SafeBreach公司安全研究人員公開的POC能夠?qū)崿F(xiàn)對Stock/Test Image版本的Windows IoT Core系統(tǒng)的上傳文件和執(zhí)行系統(tǒng)命令,Stock/Test Image版本的Windows IoT Core系統(tǒng)存在嚴(yán)重的安全隱患。
本次驗(yàn)證的漏洞能夠不經(jīng)授權(quán)就可以在受影響系統(tǒng)設(shè)備上執(zhí)行上傳文件和執(zhí)行系統(tǒng)命令等高危動作,惡意軟件通過本漏洞的利用很容易劫持設(shè)備成為僵尸網(wǎng)絡(luò)的一員,成為黑客發(fā)起網(wǎng)絡(luò)攻擊的武器之一;設(shè)備也能夠被黑客控制成為挖礦中的一部分;同時由于IoT設(shè)備應(yīng)用于各行各業(yè),一旦受到控制最直接的就是影響設(shè)備的正常運(yùn)行,進(jìn)而對生產(chǎn)生活造成影響;同時黑客也可以通過設(shè)備作為跳板進(jìn)一步入侵IoT設(shè)備所在網(wǎng)絡(luò)進(jìn)行病毒傳播、情報竊取和網(wǎng)絡(luò)破壞等危險行為,對目標(biāo)網(wǎng)絡(luò)造成嚴(yán)重威脅。
雖然本次驗(yàn)證的漏洞僅適用于Stock/Test Image版本的Windows IoT Core系統(tǒng),但由于構(gòu)建Custom版本需要從Certificate Authority (CA)購買簽名證書,并使用該證書對Custom版本的系統(tǒng)進(jìn)行簽名,廠商可能出于成本或其它方面考慮直接使用Stock/Test Image版本的Windows IoT Core系統(tǒng)進(jìn)行產(chǎn)品發(fā)布,也就是說以Stock/Test Image版本的Windows IoT Core系統(tǒng)IoT設(shè)備可能已經(jīng)廣泛進(jìn)入供應(yīng)鏈。并且IoT設(shè)備在現(xiàn)實(shí)應(yīng)用場景中進(jìn)行固件升級較為困難,容易被忽視。
綜合上述情況,為了有效降低漏洞所帶來的威脅,在提高產(chǎn)品安全性的同時,有效提升產(chǎn)品所在網(wǎng)絡(luò)的安全防護(hù)能力,保障客戶價值,我們結(jié)合漏洞的分析和驗(yàn)證情況給出三點(diǎn)安全建議,具體如下:
建議一: 產(chǎn)品實(shí)際的上線過程應(yīng)該嚴(yán)格按照官方要求的研發(fā)、測試和發(fā)布流程規(guī)范操作,使用Custom Image而非Stock/Test Image版本的Windows IoT系統(tǒng)作為實(shí)際產(chǎn)品的發(fā)布系統(tǒng),能夠有效避免本次或其它未被發(fā)現(xiàn)的Stock/Test Image版本系統(tǒng)漏洞所產(chǎn)生的影響。
建議二:本漏洞所涉及到的服務(wù)使用29817、29819、29820三個端口,且涉及到的服務(wù)僅用于研發(fā)階段的兼容性測試,并不是實(shí)際產(chǎn)品所使用的功能。在暫時無法升級固件的情況下,并確保實(shí)際產(chǎn)品中沒有依賴相應(yīng)端口的功能,以防止在關(guān)閉相應(yīng)端口后影響設(shè)備的正常使用,則可以臨時在Windows IoT Core系統(tǒng)防火墻中將兼容性測試服務(wù)所使用的29817、29819、29820三個端口進(jìn)行阻斷,也可暫時避免本次披露漏洞所產(chǎn)生的影響。但仍需要盡快升級固件修補(bǔ)漏洞,才能有效避免本次或其它未被發(fā)現(xiàn)的Stock/Test Image版本系統(tǒng)漏洞所產(chǎn)生的影響。
在Windows IoT Core系統(tǒng)臨時阻斷端口的命令如下:
建議三: 根據(jù)IoT設(shè)備所實(shí)現(xiàn)功能的技術(shù)特征并結(jié)合實(shí)際運(yùn)行環(huán)境,詳細(xì)梳理可以訪問設(shè)備的IP列表、端口列表、訪問協(xié)議類型,以及設(shè)備可以向外主動連接的協(xié)議類型、IP列表和端口列表,結(jié)合梳理結(jié)果使用邊界防火墻產(chǎn)品或設(shè)備專用防火墻產(chǎn)品配置相應(yīng)的雙向IP地址、端口和協(xié)議的白名單訪問規(guī)則列表,可最大限度的保障IoT設(shè)備的訪問安全。該方法雖然能夠有效保障IoT設(shè)備的訪問安全,降低漏洞被利用的可能,但并未根除漏洞風(fēng)險,所以盡快升級固件修補(bǔ)漏洞,才能有效避免本次或其它未被發(fā)現(xiàn)的Stock/Test Image版本系統(tǒng)漏洞所產(chǎn)生的影響。
以上就是Windows 10 IoT Core遠(yuǎn)程命令執(zhí)行漏洞驗(yàn)證及建議是什么,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。