國家保密局網(wǎng)站>>保密科技

5G C-IoT終端安全測評體系和技術(shù)研究

2021年12月09日    來源:國家保密科技測評中心【字體: 打印

【摘 要】 本文提出了構(gòu)建C-IoT終端安全防護能力和方案的建設(shè)技術(shù)和思路,強調(diào)安全是保證設(shè)備安全入網(wǎng)的關(guān)鍵環(huán)節(jié),并在闡述C-IoT終端安全總體框架和方法的基礎(chǔ)上,總結(jié)并提出了如何依照“等保2.0”要求開展C-IoT終端安全測評的建議。

【關(guān)鍵詞】 等保2.0 新特性 C-IoT 終端安全 安全風(fēng)險

【中圖分類號】 TP391 【文獻標識碼】 A

1 引言

蜂窩物聯(lián)網(wǎng)(Celluar Internet of Things,C-IoT)即基于蜂窩無線通信系統(tǒng)的物聯(lián)網(wǎng)技術(shù),是一種將物理設(shè)備(如傳感器)與互聯(lián)網(wǎng)連接起來的方式,它將物理設(shè)備(如傳感器)與智能手機搭載在同一個移動網(wǎng)絡(luò)上。因其基礎(chǔ)設(shè)施簡單,在5G出現(xiàn)后,C-IoT正逐漸成為連接領(lǐng)域的一個強有力的參與者。

C-IoT終端是蜂窩物聯(lián)網(wǎng)數(shù)據(jù)的入口,所以在一定程度上,我們可以認為C-IoT終端安全就是整個蜂窩物聯(lián)網(wǎng)安全的源頭。當前,C-IoT相關(guān)技術(shù)已經(jīng)滲透并深入應(yīng)用到智慧城市、智慧農(nóng)業(yè)、智慧糧庫、智慧能源、智慧海洋、智慧醫(yī)療等領(lǐng)域,涉及關(guān)鍵信息基礎(chǔ)設(shè)施的各個方面,C-IoT的安全問題成為了關(guān)鍵信息基礎(chǔ)保護的重中之重。

2 C-IoT終端安全風(fēng)險體系分析

《等保2.0要求》第四部分“物聯(lián)網(wǎng)擴展安全要求”中包括技術(shù)要求和管理要求2個部分,技術(shù)要求包括4個部分:物理和環(huán)境安全、網(wǎng)絡(luò)和通信安全、設(shè)備和計算安全、應(yīng)用和數(shù)據(jù)安全。結(jié)合等保2.0擴展安全要求的技術(shù)要求和C-IoT終端本身的技術(shù)架構(gòu),我們可以將C-IoT終端安全威脅分析體系模型分為4個部分,如圖1所示,具體為硬件和物理安全風(fēng)險、系統(tǒng)和訪問控制安全風(fēng)險、應(yīng)用安全風(fēng)險、數(shù)據(jù)安全風(fēng)險。

硬件和物理安全風(fēng)險。首先,市面上主流芯片的技術(shù)規(guī)格及開發(fā)規(guī)范可以通過互聯(lián)網(wǎng)輕松找到,黑客可以從官網(wǎng)或者直接從芯片上獲取固件后進行分析,找到漏洞并利用。其次,很多設(shè)備的開發(fā)接口,如UART,TTL,SPI等,編程接口在出廠時未禁用,這些暴露的接口可能被黑客利用來破解設(shè)備運行機制和替換非法固件,從而引發(fā)系統(tǒng)安全問題。

系統(tǒng)和訪問控制安全風(fēng)險。由于部分C-IoT終端硬件資源受限,傳統(tǒng)的系統(tǒng)安全防御技術(shù)很可能會因此無法使用,研究人員通過分析大量嵌入式設(shè)備系統(tǒng)固件,發(fā)現(xiàn)其主要存在3個問題:終端系統(tǒng)安全設(shè)計的缺失、原有安全機制的直接沿用、沒有充分利用自身硬件架構(gòu)特性,F(xiàn)有C-IoT終端系統(tǒng)在設(shè)計之初,普遍只關(guān)注其功能要求,大多并沒有考慮對系統(tǒng)安全進行額外的設(shè)計,即使像ARM的mbed操作系統(tǒng)在設(shè)計時將安全考慮在內(nèi),但其對于操作系統(tǒng)本身也并沒有采取有效的保護措施,僅僅是為了保護通信安全添加了如SSL功能,啟動代碼沒有進行合法性、完整性驗證,系統(tǒng)和預(yù)置應(yīng)用組件等漏洞未及時修補,系統(tǒng)權(quán)限開放過多或權(quán)限限制不嚴格等問題普遍存在。

應(yīng)用安全風(fēng)險。由于C-IoT終端受制于成本控制,導(dǎo)致設(shè)備廠商會偏向于采用現(xiàn)有方案,所以絕大多數(shù)廠商會選擇開源的軟硬件方案。大面積開源方案的采用也導(dǎo)致了軟件供應(yīng)鏈的安全成為設(shè)備廠商盲區(qū),如果產(chǎn)品大量部署后,某個開源方案或者組件被發(fā)現(xiàn)漏洞,那么因這個漏洞被黑客利用而造成的后果將很可能不亞于Mirai病毒事件的影響。

數(shù)據(jù)安全風(fēng)險。首先,如上文所述,C-IoT終端是蜂窩物聯(lián)網(wǎng)數(shù)據(jù)的源頭,而每個終端以及終端之間的交互通常都會涉及大量個人隱私信息或者其他業(yè)務(wù)數(shù)據(jù),當前,在成本控制的前提下傳統(tǒng)數(shù)據(jù)安全保護機制無法引入,敏感數(shù)據(jù)缺少保護機制。其次,沒有統(tǒng)一的規(guī)范來明確數(shù)據(jù)采集、傳輸和訪問控制范圍,很多設(shè)備存在未經(jīng)用戶允許,設(shè)備擅自采集大量的用戶隱私信息的行為。除此以外,隱私信息存儲位置不安全或者未加密,數(shù)據(jù)訪問控制權(quán)限過高等缺陷將會帶來嚴重的數(shù)據(jù)泄露風(fēng)險,這些數(shù)據(jù)很有可能被攻擊者直接篡改或者加以利用。

3 C-IoT終端安全

為了加強C-IoT終端安全的管理,針對各產(chǎn)品類型的C-IoT終端安全水平進行客觀、綜合評價,保證蜂窩物聯(lián)網(wǎng)終端發(fā)展與信息安全措施同步規(guī)劃、同步建設(shè)、同步運行,提升蜂窩物聯(lián)網(wǎng)終端安全整體水平,更好地貫徹和落實國家網(wǎng)絡(luò)安全法和等保2.0的相關(guān)安全要求,切實保護國家利益,進行安全評估是行之有效且必需的安全方案。

3.1 C-IoT終端安全體系架構(gòu)

通過研究等保2.0要求第四部分物聯(lián)網(wǎng)擴展安全要求(以下簡稱等保2.0擴展要求),同時結(jié)合上文提出的C-IoT終端安全威脅分析模型,我們可以將C-IoT終端安全模型也分為4個部分,如圖2所示。具體包括了設(shè)備的物理訪問控制、身份鑒別、系統(tǒng)權(quán)限限制、系統(tǒng)更新安全機制、內(nèi)置應(yīng)用安全、數(shù)據(jù)傳輸、數(shù)據(jù)存儲及日志安全等方面。

3.2 硬件安全技術(shù)

硬件安全的重點其實就是硬件(硬件接口和芯片管腳)的分析和調(diào)試,與軟件的接口(Application Program Interface,API)一樣,硬件也有很多種接口,不同接口使用不同的通信協(xié)議,由于硬件產(chǎn)品經(jīng)常是多種硬件協(xié)同工作,它們之間的信息交互正是通過這些硬件接口實現(xiàn)的。同樣,通過嗅探這些接口,我們就可以獲取這些交互數(shù)據(jù),對應(yīng)等保2.0擴展要求驗證交互數(shù)據(jù),從而達到硬件安全的目的。

硬件的第一步是獲取設(shè)備元器件的電路圖。取下設(shè)備的外殼后,對應(yīng)等保2.0擴展要求,驗證相關(guān)物理安全要求,之后去除集成電路芯片上的物理保護涂層,就可以進行集成電路芯片的識別了,基本所有IC芯片都可以通過搜索引擎找到配套的數(shù)據(jù)手冊,而數(shù)據(jù)手冊中就包含了零件包裝、電器特性、管腳圖等重要信息。硬件的第二步是硬件調(diào)試,而硬件調(diào)試又分為總線調(diào)試和接口調(diào)試。

3.2.1 總線調(diào)試技術(shù)

對于總線調(diào)試來說,與網(wǎng)絡(luò)數(shù)據(jù)傳輸不同,硬件間總線傳輸?shù)臄?shù)據(jù)往往沒有進行保護,因此較為容易被執(zhí)行數(shù)據(jù)攔截、重放等操作來進行調(diào)試。要對硬件設(shè)備總線進行調(diào)試,需要將探針連接到不同芯片的管腳上,然后調(diào)整邏輯分析儀的頻率,隨后通過邏輯分析儀記錄下總線傳輸?shù)?、1信號并進行數(shù)據(jù)解碼。通過觀察解碼后的數(shù)據(jù),我們可以對等保2.0擴展要求中數(shù)據(jù)源認證、感知設(shè)備訪問控制以及設(shè)備安全等相關(guān)安全要求進行驗證。

3.2.2 接口調(diào)試技術(shù)

獲取總線上的數(shù)據(jù)有時非常容易,但有時候又會無比困難,而這時我們就可以使用接口調(diào)試來對C-IoT終端進行硬件安全測試。通常來說,C-IoT終端為了出場的測試或者后期的維護,都會設(shè)有調(diào)試接口,如通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)、聯(lián)合測試工作組接口(Joint Test Action Group,JTAG)、串行外設(shè)接口(Serial Peripheral Interface,SPI)等。和總線一樣,嗅探這些接口同樣可以獲得硬件交互數(shù)據(jù)。

UART,即通常所說的TTL電平的串口,是筆者接觸到的C-IoT終端中,最為廣泛的調(diào)試接口,通常用于與嵌入式系統(tǒng)調(diào)試通信,如圖3所示。這種接口通常會對應(yīng)一個虛擬控制臺(TeleTYpe,TTY)設(shè)備,一旦登陸成功便很可能會獲得管理員權(quán)限(root shell),這時對應(yīng)等保2.0的安全需求,我們可以直接通過命令行或者檢測腳本進行密碼規(guī)則(包含密碼有效期、密碼格式、密碼長度等)、賬戶權(quán)限分配、終端狀態(tài)(內(nèi)存、端口、處理器占用情況等)等安全要求的合規(guī)性驗證。

3.3 固件安全技術(shù)

多數(shù)C-IoT終端需要一些定制化的固件才能正常工作,通過研究這些固件可以獲得大量的設(shè)備信息,包括默認口令、管理端口或者調(diào)試接口等。在等保2.0中,很大一部分的入侵防范安全要求、身份鑒別安全要求以及資源控制安全要求是可以通過固件安全進行驗證的,所以固件安全是C-IoT終端安全的重要一環(huán)。

3.3.1 固件提取

想要進行固件安全分析,第一步要進行固件的提取,一般來說固件提取的方式分為兩類。

第一類,編程器讀取法。通過飛線將固件芯片管腳接出,如圖4所示,連接好固件芯片的管腳,通過夾具連接芯片到編程器,再通過專用編程器軟件,對該芯片進行讀取。除飛線外,也可以將固件芯片拆除后直接放到編程器讀取。

第二類,命令行導(dǎo)出。如果終端使用的是嵌入式Linux,那么通常存儲的固件會被掛載到/dev/mtd。此時我們便可以通過命令行導(dǎo)出mtd0的內(nèi)容,從而實現(xiàn)終端固件的導(dǎo)出。

3.3.2 固件

固件安全目標包括固件漏洞驗證、賬戶安全、系統(tǒng)配置安全、系統(tǒng)升級安全等,通過對C-IoT終端固件的信息檢測、第三方組件檢測,發(fā)現(xiàn)與等保2.0相關(guān)要求不符合的內(nèi)容,其主要的方式是通過靜態(tài)和動態(tài)兩種方式進行。

靜態(tài)手段包括但不限于代碼分析、代碼審查、質(zhì)量度量等。靜態(tài)分析不必運行被測系統(tǒng)代碼,而是借助專用的軟件工具對源程序進行分析,主要分析固件文件的接口數(shù)據(jù)部分和表達式部分。接口數(shù)據(jù)分析涉及子程序以及函數(shù)之間的接口一致性,包括檢查參與實參類型、個數(shù)、維數(shù)、順序的一致性;而表達式分析則是找出其可能存在不正確使用括號造成的錯誤、數(shù)組下標越界造成的錯誤、除數(shù)為零造成的錯誤、對負數(shù)開平方的錯誤,其中最復(fù)雜的一類表達式分析是對浮點數(shù)計算的誤差進行檢查。

動態(tài)包括但不限于數(shù)據(jù)流分析、控制流分析、接口分析、表達式分析等。數(shù)據(jù)流分析通常是用數(shù)據(jù)流圖來分析數(shù)據(jù)處理的異常現(xiàn)象,這些異常包括初始化、賦值或引用數(shù)據(jù)等。對數(shù)據(jù)流的分析主要包括對過程或函數(shù)調(diào)用信息的分析以及對數(shù)據(jù)流的反常分析。主要集中關(guān)注定義/引用異常的缺陷(定義的變量沒有使用,使用的變量沒有定義)。而通過控制流分析可發(fā)現(xiàn)以下錯誤:無條件跳轉(zhuǎn)的使用、不適當?shù)难h(huán)嵌套和分支嵌套、死循環(huán)、轉(zhuǎn)向不存在的語句標號、調(diào)用不存在的子程序、未使用的變量、子程序定義、不可達語句等。

3.4 應(yīng)用安全技術(shù)

應(yīng)用安全目的是進行應(yīng)用漏洞分析、應(yīng)用配置安全評估、確保業(yè)務(wù)安全等。手段主要是動靜態(tài)結(jié)合的分析方式,通過靜態(tài)反編譯應(yīng)用軟件或者利用虛擬環(huán)境動態(tài)運行應(yīng)用文件監(jiān)聽應(yīng)用行為軌跡,從而分析出應(yīng)用漏洞及異常,這個過程需要借助應(yīng)用模擬器、二進制分析工具等。

導(dǎo)致應(yīng)用程序漏洞的最主要原因是開發(fā)階段導(dǎo)致的錯誤,因此保證開發(fā)中的應(yīng)用沒有任何嚴重的安全問題至關(guān)重要。根據(jù)等保的要求,應(yīng)用在上線前,應(yīng)由內(nèi)部安全團隊或者外部專業(yè)安全公司進行一次全面的應(yīng)用安全評估。在模擬真實運行環(huán)境中對應(yīng)用進行動態(tài)分析或者對應(yīng)用的二進制包進行逆向靜態(tài)分析,這是較為通用的做法,這里不重復(fù)贅述。

3.5 數(shù)據(jù)安全技術(shù)

數(shù)據(jù)安全的目的是對C-IoT終端的數(shù)據(jù)存儲和數(shù)據(jù)傳輸進行安全保障,其中數(shù)據(jù)主要指的是固件數(shù)據(jù)、終端隱私數(shù)據(jù)(賬號密碼、日志、剩余信息、業(yè)務(wù)交互數(shù)據(jù))等信息。在等保2.0中,數(shù)據(jù)可用性、數(shù)據(jù)完整性等安全要求就可以通過這一部分內(nèi)容的安全性進行驗證。

3.5.1 數(shù)據(jù)存儲安全技術(shù)

數(shù)據(jù)存儲安全技術(shù)主要涉及硬件層和系統(tǒng)層,通過硬件工具和技術(shù)手段將芯片中的固件和文件系統(tǒng)導(dǎo)出,從而提取出設(shè)備中的二進制數(shù)據(jù),我們重點關(guān)注的是這些二進制文件中包含的固件文件系統(tǒng)存儲的用戶名密碼、系統(tǒng)配置文件、日志等數(shù)據(jù)。

通常來說,我們將測試分為3個部分,包括數(shù)據(jù)完整性、數(shù)據(jù)訪問控制、數(shù)據(jù)安全隔離。數(shù)據(jù)完整性驗證是指對C-IoT終端數(shù)據(jù)進行讀取操作時的完整性檢測,驗證終端是否具備可以發(fā)現(xiàn)數(shù)據(jù)的完整性被破壞,以及防止未授權(quán)實體對數(shù)據(jù)進行篡改、刪除和插入等操作的能力;數(shù)據(jù)訪問控制驗證是指當非授權(quán)實體訪問終端數(shù)據(jù)時,驗證終端系統(tǒng)是否具備終止非授權(quán)的訪問行為并提供告警信息的能力;數(shù)據(jù)安全隔離驗證是指當通過設(shè)備外部接口進行設(shè)備訪問時,終端是否具備將系統(tǒng)配置數(shù)據(jù)、用戶數(shù)據(jù)等按賬戶或其他區(qū)分原則進行安全隔離的能力。

3.5.2 數(shù)據(jù)傳輸安全技術(shù)

C-IoT終端傳輸技術(shù)主要基于無線傳輸,通常無線傳輸是基于系統(tǒng)層功能實現(xiàn)的。通過以下安全技術(shù)可以對Wi-Fi、藍牙和ZigBee等協(xié)議進行通用的安全保護。安全技術(shù)包括通信嗅探(Sniffing)技術(shù)、重放攻擊技術(shù)、加密密鑰的安全性和獲取的容易程度、通過無線電波控制智能硬件設(shè)備、協(xié)議自身的安全評估等。

在等保2.0中,數(shù)據(jù)傳輸安全的測評主要包括保密性、完整性、抗干擾性和抗抵賴性。我們可以通過一系列的嗅探技術(shù)來驗證終端數(shù)據(jù)在傳輸時是否滿足等保的安全要求。

4 結(jié)語

隨著C-IoT終端深入人們的生活,人與C-IoT終端的關(guān)系越來越密切,而C-IoT終端上所承載的隱私數(shù)據(jù)也越來越多,C-IoT終端受到的攻擊越來越多,影響也越來越大。C-IoT的發(fā)展離不開穩(wěn)定的C-IoT生態(tài)環(huán)境,大量針對C-IoT的攻擊不僅會打擊消費者對產(chǎn)業(yè)的信心、興趣以及從業(yè)者的熱情,情況惡化之后甚至?xí)绊憞嬅裆。而等?.0的發(fā)布對于C-IoT安全產(chǎn)業(yè)來說是一針強心劑,如果企業(yè)貫徹落實等保2.0的安全要求,機構(gòu)認真踏實地做好測評服務(wù),這將為建設(shè)綠色C-IoT生態(tài)環(huán)境起到至關(guān)重要的作用。

 

(原載于《保密科學(xué)技術(shù)》雜志2021年2月刊)