物聯(lián)網(wǎng)時(shí)代下的緩沖區(qū)溢出威脅 |
中國軟件評(píng)測中心網(wǎng)安中心 |
目前物聯(lián)網(wǎng)產(chǎn)業(yè)高速發(fā)展,隨著LPWAN以及5G的崛起,可以預(yù)測物聯(lián)網(wǎng)的發(fā)展速度將會(huì)更為迅猛。《辦公廳關(guān)于深入推進(jìn)移動(dòng)物聯(lián)網(wǎng)全面發(fā)展的通知》(工信廳通信〔2020〕25號(hào))中提出到2020年底,國內(nèi)移動(dòng)物聯(lián)網(wǎng)連接數(shù)達(dá)到12億。在物聯(lián)網(wǎng)龐大的設(shè)備數(shù)量背后,信息泄露、設(shè)備監(jiān)控、數(shù)據(jù)欺騙等安全問題已經(jīng)成為影響廣泛的社會(huì)性問題。而緩存區(qū)溢出則是物聯(lián)網(wǎng)安全的嚴(yán)重威脅之一。 |
一、緩存區(qū)溢出漏洞廣泛存在 |
據(jù)國家信息安全漏洞共享平臺(tái)2020年11月—2021年1月數(shù)據(jù)顯示,三個(gè)月內(nèi)物聯(lián)網(wǎng)終端設(shè)備類披露緩沖區(qū)溢出漏洞18個(gè),其中高危漏洞11個(gè),中危漏洞7個(gè),涉及華為、IBM、Intel、Dell等多家行業(yè)企業(yè)。 |
漏洞情況舉例如下: |
Huawei Mate 30緩沖區(qū)溢出漏洞(CVE-2020-9209),攻擊者可以利用該漏洞通過向目標(biāo)設(shè)備發(fā)送帶有特定參數(shù)的包,致使設(shè)備行為異常。 |
IBM MQ Appliance緩沖區(qū)溢出漏洞(CVE-2020-4869),遠(yuǎn)程攻擊者可利用該漏洞可以發(fā)送一個(gè)特別設(shè)計(jì)的SNMP查詢,使設(shè)備重新加載。 |
Intel NUC Kit緩沖區(qū)溢出漏洞(CVE-2020-12337),該漏洞源于不適當(dāng)?shù)木彌_區(qū)限制,可能允許特權(quán)用戶通過本地訪問潛在地啟用特權(quán)升級(jí)。 |
Dell Inspiron緩沖區(qū)溢出漏洞(CVE-2020-5388),該漏洞源于包含一個(gè)不適當(dāng)?shù)腟MM通信緩沖區(qū)驗(yàn)證漏洞。本地經(jīng)過身份驗(yàn)證的攻擊者可以利用該漏洞通過使用SMI來獲得SMRAM中任意代碼的執(zhí)行。 |
二、緩沖區(qū)溢出的本質(zhì) |
緩沖區(qū)是程序運(yùn)行時(shí),操作系統(tǒng)為了保存用戶輸入數(shù)據(jù)、程序臨時(shí)數(shù)據(jù)而在內(nèi)存中分配的一片連續(xù)的內(nèi)存存儲(chǔ)空間。緩沖區(qū)溢出是一種程序缺陷,緩沖區(qū)中填入超出內(nèi)存邊界的數(shù)據(jù),致使數(shù)據(jù)覆蓋了相鄰的內(nèi)存空間,使得程序崩潰或信息被篡改,被非法利用易造成嚴(yán)重后果。 |
三、物聯(lián)網(wǎng)設(shè)備易受溢出攻擊的原因分析 |
基于物聯(lián)網(wǎng)設(shè)備內(nèi)存容量小,物聯(lián)網(wǎng)系統(tǒng)及底層開發(fā)普遍使用C/C++語言,物聯(lián)網(wǎng)操作系統(tǒng)相比通用操作系統(tǒng)可用資源有限的三個(gè)特點(diǎn),物聯(lián)網(wǎng)設(shè)備易被攻擊者利用緩沖區(qū)溢出漏洞攻擊。 |
(一)緩沖區(qū)溢出基于緩沖區(qū)的有限性。物聯(lián)網(wǎng)設(shè)備為平衡功能和成本,大多配置較小的內(nèi)存容量,而內(nèi)存越小,通常緩沖區(qū)也越小,溢出操作越容易。 |
(二)緩沖區(qū)邊界缺乏檢查是溢出的主要原因。物聯(lián)網(wǎng)設(shè)備采用的操作系統(tǒng)普遍由C/C++語言編寫。在C和C++語言編寫的程序中,編譯器注重程序的運(yùn)行效率,缺乏對(duì)數(shù)組和指針的邊界檢查,可以被攻擊者利用。 |
(三)通用操作系統(tǒng),配備大量資源,可以通過增加資源損耗來加強(qiáng)防御能力。而物聯(lián)網(wǎng)操作系統(tǒng),注重實(shí)時(shí)性,為保證性能盡可能減少額外資源開銷,不能采用以資源換安全的方式。 |
四、物聯(lián)網(wǎng)設(shè)備緩沖區(qū)溢出的防范技術(shù) |
目前,考慮到資源開銷和性能問題,研究者們更多地從硬件或者軟硬件結(jié)合的角度去思考如何解決緩沖區(qū)溢出與物聯(lián)網(wǎng)設(shè)備安全的問題。相關(guān)研究如:Bresch等人提出了一種輕量級(jí)的硬件防范對(duì)策Speculoos,通過對(duì)目標(biāo)核心進(jìn)行最小程度的硬件修改,防止物聯(lián)網(wǎng)設(shè)備處理器堆棧中的返回地址損壞,進(jìn)而達(dá)到防范緩沖區(qū)溢出攻擊的目的;XuBin等人提出了一種基于監(jiān)視模型和安全標(biāo)簽的架構(gòu)增強(qiáng)安全硬件設(shè)計(jì),用于檢測緩沖區(qū)溢出攻擊;另一批研究者Shao等人則在更早以前提出了一種軟硬件結(jié)合的HSDefender技術(shù)。 |
|
總的來說,采取硬件機(jī)制或軟硬件結(jié)合的安全機(jī)制,實(shí)現(xiàn)緩存區(qū)邊界檢查、緩沖區(qū)基地址隨機(jī)化以及控制內(nèi)存地址讀寫權(quán)限,一定程度上可以幫助物聯(lián)網(wǎng)設(shè)備達(dá)到防范緩存區(qū)溢出的目的。? |