隨著物聯(lián)網(wǎng)技術(shù)的不斷推進(jìn),基于物聯(lián)網(wǎng)的設(shè)備在我們的生活中越來越普及,但同時設(shè)備漏洞也成為了很大的隱患。
我們列舉了一些消費(fèi)者在物聯(lián)網(wǎng)設(shè)備中可能遇到的常見攻擊,并提出了一些解決策略
1 INTRODUCTION
物聯(lián)網(wǎng)(IoT)設(shè)備部署在家庭、辦公室、建筑物、城市以及軍事環(huán)境(如軍事物聯(lián)網(wǎng))等各種消費(fèi)應(yīng)用中。
根據(jù)應(yīng)用程序和設(shè)備類型,這些應(yīng)用程序中的數(shù)據(jù)包括環(huán)境數(shù)據(jù)(例如空氣質(zhì)量、濕度和溫度)、醫(yī)療數(shù)據(jù)(例如,用戶的心跳和個人習(xí)慣)等。
并不是所有數(shù)據(jù)都是私有和機(jī)密的,但物聯(lián)網(wǎng)設(shè)備仍需確保這些數(shù)據(jù)在感測和傳送的過程中是安全的。然而,對于一些物聯(lián)網(wǎng)設(shè)備,特別是那些廉價或計算受限的設(shè)備通常沒有設(shè)計任何安全機(jī)制。
(盡管PUF是軟件加密的廉價替代品,但設(shè)備制造商將不得不重新規(guī)劃設(shè)備布局以適應(yīng)PUF電路)
嚴(yán)格的質(zhì)量測試應(yīng)該是所有物聯(lián)網(wǎng)設(shè)備制造商都必須遵循的。必須在產(chǎn)品部署前做大量的安全性測試。
此外,有很多物聯(lián)網(wǎng)設(shè)備制造商為了滿足設(shè)備商的上市需求(例如縮短設(shè)備上市時間、設(shè)計和開發(fā)成本降至最低),很可能會在安全措施上“讓步”。
因此,很多不法分子就會針對這些物聯(lián)網(wǎng)設(shè)備上的漏洞進(jìn)行侵略性攻擊。
本篇文章針對八種常見物聯(lián)網(wǎng)設(shè)備攻擊漏洞進(jìn)行分析與案例詳細(xì)解析。
2 物聯(lián)網(wǎng)潛在攻擊漏洞
A 設(shè)備軟件故障
在這種類型的攻擊中,黑客會針對設(shè)備軟/硬件中的固有漏洞來“破壞”。
“ChargePoint”電動汽車充電器漏洞分析
有些研究人員已經(jīng)破解了如何通過在調(diào)試模式中將“Branch if equal”(BEQ)匯編指令更改為“Branch if not equal”(BNE)指令來繞過“ChargePoint”電動汽車充電器的密碼驗證。
攻擊者即使輸入不正確的密碼仍能登錄到設(shè)備的系統(tǒng)后臺。
可以在“ChargePoint”設(shè)備中創(chuàng)建具有根訪問權(quán)限的永久用戶帳戶,利用其Android應(yīng)用程序(app)和藍(lán)牙執(zhí)行拒絕服務(wù)攻擊(DoS)造成通信進(jìn)程btclassic之間的緩沖區(qū)溢出。
此外,通過這個漏洞,攻擊者還可以修改/創(chuàng)建系統(tǒng)中的任何文件,或在設(shè)備內(nèi)核上執(zhí)行任何操作系統(tǒng)(OS)保留的命令。
有時為了吸引客戶,物聯(lián)網(wǎng)設(shè)備制造商經(jīng)常在其產(chǎn)品中添加新功能(本例中為“ChargePoint”的電動汽車家用充電器),這可能造成制造商對設(shè)備測試不充分。
通過這些漏洞,攻擊者可以完全控制設(shè)備。例如,在上面的案例研究中,可以通過電動汽車充電時使用的最大電流值來禁用用戶的家用電氣系統(tǒng),甚至造成物理損壞??赡茉斐稍O(shè)備制動時突然中斷,造成更大的安全隱患。
漏洞對策:“ChargePoint”固件中的btclassic進(jìn)程在不驗證密碼長度的情況下將密碼復(fù)制到堆棧緩沖區(qū),導(dǎo)致出現(xiàn)緩沖區(qū)流。
我們可以用strncpy()函數(shù)代替strcpy()進(jìn)行字符串長度驗證,同時在btclassic進(jìn)程中解析WiFi密碼。
用uploadsm進(jìn)程傳遞“filename”參數(shù),可以實現(xiàn)在未經(jīng)驗證的情況下打開文件。
為了確保攻擊者不會利用上述兩個漏洞,應(yīng)提高權(quán)限級別,進(jìn)行參數(shù)驗證檢查。
任何類型的整數(shù)/緩沖區(qū)溢出漏洞都可能引起物聯(lián)網(wǎng)設(shè)備被攻擊的風(fēng)險。因此,可以使用靜態(tài)驗證技術(shù)(例如,檢測strcpy()和scanf()函數(shù)的不安全使用)、數(shù)組綁定檢查和動態(tài)驗證技術(shù)(例如,污染分析、內(nèi)存損壞檢測)等來阻止此類漏洞。
B.節(jié)點篡改攻擊
這是一種物理攻擊,攻擊者成功捕獲設(shè)備硬件并手動篡改其電子電路。
Itron-Centron CL200智能電表漏洞分析
攻擊人員發(fā)現(xiàn)可以改變智能電表的設(shè)備ID,通過分析EEPROM內(nèi)存轉(zhuǎn)儲,發(fā)現(xiàn)設(shè)備id存儲在EEPROM本地。
在EEPROM上填入復(fù)制的另一個智能電表的ID,致使這臺智能電表能輕而易舉地模擬另一個智能電表。
圖2 實驗期間捕獲和解析的儀表讀數(shù)的日志
日志中的最后兩行顯示來自共享同一ID但具有不同功耗值的兩個不同設(shè)備的讀數(shù),可以導(dǎo)致能量數(shù)據(jù)被盜。這種攻擊不僅會導(dǎo)致能源盜竊,還可能導(dǎo)致其他經(jīng)濟(jì)和商業(yè)損失。
漏洞對策:此設(shè)備中的EEPROM芯片不受任何讀寫訪問的保護(hù)。通過使用諸如“物理不可克隆函數(shù)”(PUFs)之類的防偽硬件原語作為芯片的附加組件來保護(hù)EEPROM中的數(shù)據(jù),可以使芯片具有抗篡改性。PUFs是軟件加密解決方案的廉價替代品,其功能就像數(shù)字指紋一樣,只允許經(jīng)過身份驗證的設(shè)備修改關(guān)鍵數(shù)據(jù)。
其他物聯(lián)網(wǎng)設(shè)備中的節(jié)點篡改還可能涉及電子查詢硬部件受損。任何一個PUFs電路都是基于質(zhì)詢-響應(yīng)原理工作的,在質(zhì)詢-響應(yīng)原理中,質(zhì)詢輸入會產(chǎn)生唯一的響應(yīng)。因此,添加到物聯(lián)網(wǎng)設(shè)備的PUFs可以幫助識別和保護(hù)其免受節(jié)點篡改攻擊。
C.竊聽攻擊
此攻擊是指來自目標(biāo)物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)流量被中間人(MITM)嗅探,該中間人能夠提取關(guān)鍵網(wǎng)絡(luò)信息用于進(jìn)一步的攻擊。
受損智能量表Fitbit-Aria漏洞分析
此設(shè)備通過無線接入點(WAP)向Fitbit服務(wù)器發(fā)送使用統(tǒng)計信息,使用戶能夠通過服務(wù)器上可用的健身配置文件跟蹤自己的健康狀況。
使用Kali,對該設(shè)備進(jìn)行了中間人攻擊(MITM):
使用DNSmasq(用于配置DNS和DHCP的工具)設(shè)置了一個動態(tài)主機(jī)配置協(xié)議(DHCP)服務(wù)器,用于為設(shè)備分配有效的IP地址。
接下來,建立IP表和一個通過接口wlan0轉(zhuǎn)發(fā)IP數(shù)據(jù)包的虛擬機(jī)(VM),將hostapd設(shè)置為虛擬WAP并將設(shè)備注冊到其中。
使用Wireshark可以嗅到設(shè)備傳輸?shù)臄?shù)據(jù)包
圖3 攻擊向量框圖
這是另一個由于配置不當(dāng)導(dǎo)致物聯(lián)網(wǎng)設(shè)備泄漏其所屬網(wǎng)絡(luò)敏感信息的示例。
攻擊者可以從Wireshark日志文件中找到網(wǎng)絡(luò)服務(wù)集標(biāo)識符(SSID)和預(yù)共享密鑰(PSK),攻擊者可以借助這些來攻擊家庭網(wǎng)絡(luò),也可以將該網(wǎng)絡(luò)作為其他攻擊的啟動平臺。
圖4 嵌套恒溫器
漏洞對策:這是由于Fitbit-Aria在后端服務(wù)器和設(shè)備之間缺少加密的通信通道,從而導(dǎo)致竊聽攻擊。攻擊者可以冒充合法實體,訪問通過其家庭網(wǎng)絡(luò)發(fā)送的未加密數(shù)據(jù),從而導(dǎo)致個人網(wǎng)絡(luò)信息被盜。
網(wǎng)絡(luò)安全中已知的傳統(tǒng)數(shù)據(jù)加密技術(shù)不夠輕量級,無法在內(nèi)存受限的物聯(lián)網(wǎng)設(shè)備上實現(xiàn),這就需要設(shè)計專門針對計算受限的物聯(lián)網(wǎng)設(shè)備的輕量級加密技術(shù)。
即使對于沒有特定加密需求的設(shè)備(例如Fitbit Aria),通信加密也可以確保物聯(lián)網(wǎng)的隱私性。在客戶端,可以設(shè)置低成本的隔離區(qū)(DMZ,內(nèi)外網(wǎng)防火墻之間的區(qū)域),作為緩沖區(qū)來限制攻擊者訪問個人家庭網(wǎng)絡(luò)中的數(shù)據(jù)。
D.惡意代碼注入
這是一種物理攻擊,在這種攻擊中,物聯(lián)網(wǎng)設(shè)備通過向公開且不安全的軟/硬件接口向設(shè)備中注入惡意代碼。
谷歌Nest恒溫器漏洞分析
Nest恒溫器進(jìn)入設(shè)備固件更新(DFU)模式后,允許從USB端口插入U盤引導(dǎo)更新。
利用此功能,攻擊者將其自定義圖像上傳到設(shè)備ROM中,其中包括x-loader、第一階段引導(dǎo)加載程序、U-Boot(嵌入式系統(tǒng)的引導(dǎo)加載程序)、用于加載Linux內(nèi)核的第二階段引導(dǎo)加載程序以及用于將文件系統(tǒng)加載到內(nèi)存中的ramdisk方案。
攻擊者修改了U-Boot,配置使用自定義ramdisk(虛擬內(nèi)存盤)執(zhí)行內(nèi)核的環(huán)境。
U-Boot使用攻擊者的ramdisk引導(dǎo)Linux,并安裝和修改Nest的現(xiàn)有文件系統(tǒng),從而為設(shè)備提供root訪問權(quán)限。
接下來,將Secure Shell(SSH)工具Dropbear安裝到該設(shè)備中,該服務(wù)器添加了攻擊者的用戶帳戶。然后,攻擊者繞過網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)注入Odysseus惡意軟件,使其成為家庭網(wǎng)絡(luò)的一部分,并遠(yuǎn)程連接到攻擊者的服務(wù)器Achaea。
恒溫器現(xiàn)在充當(dāng)“僵尸網(wǎng)絡(luò)”來控制整個家庭網(wǎng)絡(luò)。
入侵連接Internet的智能溫控器可能是攻擊者控制家庭網(wǎng)絡(luò)中其他設(shè)備的起點。
攻擊者可能會進(jìn)行非法行為如:監(jiān)視和拍攝個人照片和視頻(例如,在智能電視等泄露設(shè)備中使用攝像頭和揚(yáng)聲器功能)。
漏洞對策:在啟動過程劫持中,攻擊者試圖利用設(shè)備啟動路徑中的漏洞來破壞設(shè)備的正常啟動過程,以自定義啟動映像替換實際啟動映像。
由于對加載到ROM中的映像類型缺乏完整性檢查,攻擊者可以利用恒溫器的DFU功能從USB設(shè)備引導(dǎo)。進(jìn)一步將惡意軟件安裝到設(shè)備中,從而獲得對設(shè)備的遠(yuǎn)程訪問并進(jìn)入家庭網(wǎng)絡(luò)。
為了減輕這種攻擊,如果從代碼的初始運(yùn)行開始就有足夠的身份驗證機(jī)制,就可以建立一個基于信任的安全啟動鏈。這就要求用自定義硬件替換內(nèi)置處理器,以促進(jìn)安全引導(dǎo)支持。
對加載到設(shè)備中的軟件映像缺乏完整性檢查,不安全的軟件應(yīng)用程序編程接口(API)和硬件接口是物聯(lián)網(wǎng)設(shè)備中此類攻擊的主要來源。物聯(lián)網(wǎng)設(shè)備可能會提供不安全的API,以使應(yīng)用程序開發(fā)人員和其他用戶能夠與其連接和通信;因此,很有可能會受到未經(jīng)授權(quán)實體的惡意代碼注入攻擊。
E.未經(jīng)授權(quán)的訪問
攻擊者可以通過多種不同的方式對物聯(lián)網(wǎng)系統(tǒng)/設(shè)備進(jìn)行未經(jīng)授權(quán)的訪問,從利用軟/硬件漏洞到非法登錄嘗試。
特斯拉的漏洞分析
特斯拉服務(wù)中心和充電站配備了特斯拉服務(wù)WiFi SSID。訪問它們的憑據(jù)作為自動連接功能的一部分存儲在QtCarBrowser(特斯拉的網(wǎng)絡(luò)瀏覽器)中。
通過偽造此SSID,攻擊者將流量從瀏覽器重定向到其域。攻擊者利用這些漏洞讀取/寫入任意內(nèi)存地址并執(zhí)行任意代碼以獲得對shell的穩(wěn)定訪問。
一旦獲得根訪問權(quán)限,他們就會禁用Linux安全模塊AppArmor。
網(wǎng)關(guān)是存在于車輛通信網(wǎng)絡(luò)中的電子控制單元(ECU)之一,負(fù)責(zé)將控制命令傳遞給其他ECU。攻擊者通過不安全令牌繞過網(wǎng)關(guān)固件完整性驗證,以獲得對網(wǎng)關(guān)shell程序的特權(quán)訪問,并對其自定義固件進(jìn)行編程。
像特斯拉這樣的智能網(wǎng)聯(lián)車輛(ICV)配備了無線通信技術(shù),使車輛能夠相互通信和與路邊基礎(chǔ)設(shè)施通信。隨著ICV內(nèi)部網(wǎng)絡(luò)接口數(shù)量和范圍的增加,攻擊數(shù)量和安全風(fēng)險也相應(yīng)增加。
這種漏洞損失是巨大的,例如在2015年,克萊斯勒召回了140萬輛汽車,因報告的安全缺陷而遭受重大財務(wù)損失。
漏洞對策:特斯拉中發(fā)現(xiàn)了幾個安全漏洞,攻擊者能夠在待機(jī)和駕駛模式下遠(yuǎn)程接管車輛。首先,由于瀏覽器中沒有實現(xiàn)避免內(nèi)存泄漏的機(jī)制,二進(jìn)制讀/寫的內(nèi)存位置容易暴露。
通過強(qiáng)制的大小檢查,可以增強(qiáng)AppArmor模塊以禁止內(nèi)核地址泄漏。此外,特斯拉使用的Linux內(nèi)核發(fā)行版的當(dāng)前版本中也缺少修改特權(quán)用戶權(quán)限的訪問檢查。
物聯(lián)網(wǎng)設(shè)備制造商必須確?;ヂ?lián)網(wǎng)接入的設(shè)備定期更新,并通過空中下載(OTA)更新或其他替代機(jī)制修復(fù)已知的安全漏洞。用于固件完整性檢查的“安全令牌”有時以明文形式(例如,在上面的特斯拉代碼中)存儲,使攻擊者很容易修改固件并控制ECU。
F.社會工程攻擊
通過提取用戶的私有信息,攻擊者可以在家庭網(wǎng)絡(luò)中對用戶進(jìn)行預(yù)歸檔,從而影響物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)機(jī)密性和數(shù)據(jù)完整性。
車庫門開啟器Chamberlain MyQ漏洞分析
智能家電中的漏洞極易被利用,攻擊者可以通過漏洞訪問敏感數(shù)據(jù),并控制門鎖和傳感器等物聯(lián)網(wǎng)設(shè)備。
在獲得用戶帳戶的訪問權(quán)限后,攻擊者不僅能夠通過監(jiān)視網(wǎng)絡(luò)流量來讀取車庫門的狀態(tài)(打開、關(guān)閉或正在移動),而且還可以打開或關(guān)閉它。
還可以通過電子郵件自動提醒攻擊者狀態(tài)更改。攻擊者還可以通過研究車庫門使用的歷史數(shù)據(jù)來分析房屋住戶。
漏洞對策:對于前端連接,MyQ設(shè)備沒有強(qiáng)制使用強(qiáng)密碼。此外,在MyQ設(shè)備中運(yùn)行的HTTPS服務(wù)顯示了基本的連接信息。MyQ系統(tǒng)不要求用戶遵循密碼強(qiáng)度準(zhǔn)則,使得系統(tǒng)很容易成為暴力攻擊的目標(biāo)。強(qiáng)密碼(Strong password)會降低針對實時服務(wù)的字典攻擊的成功率。
另外,在導(dǎo)致哈希密碼數(shù)據(jù)庫被盜的場景中,由于MyQ系統(tǒng)使用未加密的用戶數(shù)據(jù)報協(xié)議(UDP)進(jìn)行通信,服務(wù)器和設(shè)備之間傳輸?shù)臄?shù)據(jù)包很容易被“欺騙”,從而觸發(fā)門的打開/關(guān)閉。包括身份驗證憑據(jù)和會話令牌在內(nèi)的關(guān)鍵信息也可能被盜。
強(qiáng)大的密碼保護(hù)是至關(guān)重要的,確保了物聯(lián)網(wǎng)設(shè)備的安全,防止個人用戶訪問設(shè)備數(shù)據(jù)的泄露。
對于這些漏洞,必須定期監(jiān)視此類設(shè)備,并使用關(guān)鍵軟件/固件升級進(jìn)行修補(bǔ)。
G.設(shè)備硬件開發(fā)
開放端口/物聯(lián)網(wǎng)設(shè)備制造商留下的未受保護(hù)的硬件接口很容易成為攻擊者控制這些設(shè)備的目標(biāo)。
鸚鵡AR 2.0 quadcopter漏洞分析
有研究人員做過一個實驗,使用開源Linux網(wǎng)絡(luò)掃描和嗅探工具包(NMAP)進(jìn)行端口掃描,發(fā)現(xiàn)了quadcopter系統(tǒng)中的開放端口(例如,端口21文件傳輸協(xié)議(FTP)和端口23 Telnet)。
可以利用這些信息對設(shè)備發(fā)起各種攻擊,使用兼容的移動應(yīng)用程序,通過其開放訪問點(AP)連接到目標(biāo)設(shè)備。
通過FTP,惡意文件可以加載到其文件系統(tǒng)中,或者執(zhí)行有害的固件更新,從而使無人機(jī)無法操作。使用匿名FTP登錄,攻擊者可以下載密碼陰影文件,刪除根用戶密碼的哈希值并上傳其他值。
通過惡意文件上傳,telnet服務(wù)器不再受密碼保護(hù),任何人都可以完全控制無人機(jī)。無人機(jī)越來越流行,被廣泛應(yīng)用于救援任務(wù)和農(nóng)業(yè)調(diào)查等領(lǐng)域。
然而,通過對于易受攻擊的無人機(jī)(如a.R.drone 2.0 quadcopter),攻擊者可以走私武器、毒品等,或?qū)嵤┛植酪u擊。無人機(jī)也可以被越權(quán)使用,從而損害用戶隱私和安全。攻擊者可以遠(yuǎn)程關(guān)閉并擊落飛行中的無人機(jī),導(dǎo)致服務(wù)中斷,甚至劫持無人機(jī)并將其飛離服務(wù)區(qū)域。
圖5 無人機(jī)網(wǎng)絡(luò)入侵
漏洞對策:無人機(jī)中,AP大多保持打開狀態(tài),因此容易受到黑客攻擊。這些接入點必須升級到WPA2技術(shù)(基于WPA的一種新的加密方式)。
使用強(qiáng)密碼保護(hù),只允許有限數(shù)量的注冊用戶與其連接。
如果無人機(jī)中的FTP和TELNET等輔助網(wǎng)絡(luò)端口被暴露出來,就很容易受到攻擊。
當(dāng)無人機(jī)在飛行中時,應(yīng)該關(guān)閉未使用的控制服務(wù),如FTP和Telnet及其相應(yīng)的接口/調(diào)試端口。
H.惡意節(jié)點插入
這種攻擊,是指軟件惡意節(jié)點被插入到網(wǎng)絡(luò)中。
Edimax IP攝像機(jī)系統(tǒng)漏洞分析
該攝像頭系統(tǒng)由三部分組成,IP攝像頭、控制器(與攝像頭通信的智能手機(jī)應(yīng)用程序)和注冊命令中繼服務(wù)器。
在連接到網(wǎng)絡(luò)之前,每個攝像機(jī)都必須在注冊服務(wù)器上注冊。攻擊從被惡意軟件(如Mirai)感染的公共物聯(lián)網(wǎng)設(shè)備開始,充當(dāng)軟件機(jī)器人,向網(wǎng)絡(luò)中的隨機(jī)IPv4地址發(fā)送異步無狀態(tài)的 TCP SYN(TCP同步消息)探測,猜測它們的12個字符的MAC地址。獲取其中一個的確認(rèn)信息將確認(rèn)一個有效的MAC地址。
按照與攝像機(jī)相同的步驟綁定并注冊到服務(wù)器。然后,向命令中繼服務(wù)器發(fā)送一個TCP請求,命令中繼服務(wù)器隨后用一個包含認(rèn)證信息(用于原始攝像機(jī))的數(shù)據(jù)包響應(yīng)軟件bot。
攻擊者現(xiàn)在可以很容易地從這些信息中提取密碼。一旦獲得密碼,IP攝像機(jī)將完全控制攻擊者。
一個單獨的加載程序下載并執(zhí)行于特定的主機(jī)系統(tǒng)架構(gòu)的惡意軟件。傳播惡意軟件并創(chuàng)建僵尸網(wǎng)絡(luò)。在這種攻擊中,軟件機(jī)器人通過互聯(lián)網(wǎng)連接模擬運(yùn)行Linux的設(shè)備,并將其用作遠(yuǎn)程控制,將其包含在僵尸網(wǎng)絡(luò)中。
據(jù)報道,2016年8月米萊僵尸網(wǎng)絡(luò)被發(fā)現(xiàn)時,在攻擊的前20小時內(nèi),有近65000個物聯(lián)網(wǎng)設(shè)備受到影響。
漏洞對策:12字符MAC地址的前6個字符表示制造商,很容易被猜到。對于每個綁定請求,可以采用需要附加信息(例如家庭WiFi SSID和密碼)安全綁定。使用暴力破解,攻擊者很可能找出攝像機(jī)的密碼。此外,通過響應(yīng)包,可以檢查密碼的正確性。由于Base64方案用于對身份驗證信息進(jìn)行編碼,攻擊者可以很容易地從中提取密碼。
隨著惡意節(jié)點插入等攻擊越來越普遍,物聯(lián)網(wǎng)設(shè)備對身份管理的需求也越來越大。只有服務(wù)器和原始設(shè)備知道共享密鑰的情況下,可以使用強(qiáng)對稱密鑰加密技術(shù)。
3 總結(jié)
消費(fèi)者物聯(lián)網(wǎng)設(shè)備的安全性易被忽略但至關(guān)重要。本文通過案例展現(xiàn)了部署在社會中(不安全)設(shè)備(如智能城市、智能家居和關(guān)鍵基礎(chǔ)設(shè)施安裝)所帶來的風(fēng)險。這些攻擊可能會產(chǎn)生潛在的致命后果,并且隨著我們的社會越來越依賴物聯(lián)網(wǎng)設(shè)備,安全和隱私保護(hù)應(yīng)該放在首位。因此,可以通過制定標(biāo)準(zhǔn)(例如通過設(shè)計安全)、不斷測試和修補(bǔ),以及跨部門合作,來解決現(xiàn)有的安全威脅。