精品福利视频一区二区三区,免费A级毛片无码无遮挡,偷窥目拍性综合图区,亚洲欧洲无码AV电影在线观看,超清无码熟妇人妻AV在线电影

認證培訓,h3c認證體系,網(wǎng)絡(luò )工程師
豐沃創(chuàng  )新

物聯(lián)網(wǎng)弱設備防護方法,網(wǎng)絡(luò )工程師需要深入學(xué)習

  • 發(fā)布時(shí)間: 2018-5-19 8:41:47

物聯(lián)網(wǎng)設備之所以存在安全隱患,是因為其暴露了足夠的敏感信息,從而被攻擊者利用來(lái)制造攻擊。這些敏感信息,從暴露位置來(lái)看,可分為兩類(lèi):一類(lèi)是存儲在設備中的固件和印制在產(chǎn)品內部的信息(如PCB絲印、芯片型號)等;另一類(lèi)是傳輸在網(wǎng)絡(luò )(不僅僅是以太網(wǎng)、Wi-Fi、藍牙等)中的信息。本文通過(guò)從本地信息、網(wǎng)絡(luò )信息這兩個(gè)角度介紹物聯(lián)網(wǎng)弱設備存在的安全隱患,進(jìn)而提出設備加固的方法。

一. 簡(jiǎn)介

近年來(lái),隨著(zhù)物聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,物聯(lián)網(wǎng)產(chǎn)品的數量也在呈爆發(fā)式增長(cháng)。Gartner預測,兩年后,物聯(lián)網(wǎng)設備的裝機量將超過(guò)200億[1] ,這些物聯(lián)網(wǎng)設備所帶來(lái)的信息量將非常龐大。與此同時(shí),因物聯(lián)網(wǎng)設備導致的信息安全隱患也在逐年增加,甚至有些隱患已經(jīng)造成了不可挽回的損失,如2016年底的Mirai事件[2] ,就是因為大量的暴露在互聯(lián)網(wǎng)上的物聯(lián)網(wǎng)設備存在弱口令和未修復的漏洞。2018年3月27日,《綠盟科技2017物聯(lián)網(wǎng)安全年報》[3] 發(fā)布,其中對物聯(lián)網(wǎng)資產(chǎn)的暴露情況、物聯(lián)網(wǎng)設備的脆弱性和物聯(lián)網(wǎng)設備面臨的威脅風(fēng)險進(jìn)行了分析,并給出了物聯(lián)網(wǎng)安全防護體系。

物聯(lián)網(wǎng)設備之所以存在安全隱患,是因為其暴露了足夠的敏感信息,從而被攻擊者利用來(lái)制造攻擊。這些敏感信息,從暴露位置來(lái)看,可分為兩類(lèi):一類(lèi)是存儲在設備中的固件和印制在產(chǎn)品內部的信息(如PCB絲印、芯片型號)等,在本文我們暫時(shí)稱(chēng)其為本地信息;另一類(lèi)是傳輸在網(wǎng)絡(luò )(不僅僅是以太網(wǎng)、Wi-Fi、藍牙等)中的信息。

目前看來(lái),不論是生產(chǎn)廠(chǎng)商還是用戶(hù),對弱設備的安全問(wèn)題的關(guān)注并不是非常足夠。例如,在2017年9月的XPwn2017未來(lái)安全探索盛會(huì )[4] 上,某黑客逆向了某共享單車(chē)的單片機程序,從而挖掘出了漏洞。2017年10月,物聯(lián)網(wǎng)安全研究人員滲透進(jìn)LIFX智能燈泡的Zigbee網(wǎng)絡(luò )[5] ,并對設備的固件進(jìn)行逆向破解,從而得到了其Wi-Fi網(wǎng)絡(luò )密碼。

由此可見(jiàn),物聯(lián)網(wǎng)設備存在許多的安全隱患,而且,我們面臨一個(gè)挑戰:如何消除這些安全隱患。本文就以弱設備為例,闡述如何對弱設備進(jìn)行加固,解決已經(jīng)出現的安全隱患。

后續小節中,筆者會(huì )先介紹物聯(lián)網(wǎng)弱設備存在的安全隱患,再介紹物聯(lián)網(wǎng)弱設備的加固方法與建議,最后再進(jìn)行簡(jiǎn)單地總結。

二、物聯(lián)網(wǎng)弱設備存在的隱患

一般,攻擊者會(huì )收集足夠的信息,以利用現有的漏洞或挖掘新的漏洞對設備發(fā)起攻擊行為。如果攻擊者拿不到可以利用的信息,設備的安全隱患也就不會(huì )存在。物聯(lián)網(wǎng)弱設備一般會(huì )暴露哪些信息呢?從信息的未知看,可以分為本地的信息和網(wǎng)絡(luò )中的信息兩類(lèi)。接下來(lái),將從這兩方面介紹物聯(lián)網(wǎng)弱設備存在的安全隱患。

1. 本地信息

所謂本地信息,這里定義為可以通過(guò)購買(mǎi)設備,觀(guān)察或者使用工具直接對產(chǎn)品接觸式操作獲取到的信息。一般包含PCB絲印、硬件接口、固件信息等。

(1) PCB絲印

PCB中文名稱(chēng)為印制電路板。在設計和制作PCB的過(guò)程中,絲印為工程師的焊接、調試工作帶來(lái)了極大的便利。然而,在產(chǎn)品出廠(chǎng)后,它上面的PCB絲印信息對用戶(hù)沒(méi)有任何幫助,反而為攻擊者的成功破解提供了信息。

以圖 1所示的Wi-Fi智能插座[6] 為例,在PCB上,插座暴露了三類(lèi)敏感信息:JTAG調試接口(紅色標記的位置)、UART接口位置(紫色標記的位置)和設置程序啟動(dòng)位置的BOOT(藍色標記的位置)。JTAG和UART是芯片供應商提供給工程師進(jìn)行讀取和下載程序的兩類(lèi)接口。攻擊者也可以利用這兩類(lèi)接口嘗試把固件讀取出來(lái)。其具體的讀取、下載方法,可參考《滲透低性能智能設備的關(guān)鍵技術(shù)-固件提取》[7] 。

圖 1 — 某智能插座PCB絲印信息

(2) 硬件接口和芯片信息

上節已經(jīng)提到了JTAG、UART接口信息。事實(shí)上,這兩類(lèi)接口對攻擊者是最有幫助的,因為只需要一些工具,就可以把設備內的固件信息讀取出來(lái),進(jìn)而分析出更多的信息。

圖 2 — 某智能設備PCB

以圖 2所示的PCB為例,我們很容易發(fā)現規則排列的6個(gè)焊盤(pán)(紅色方框標記),結合芯片上的型號信息(JN516x),很容易在芯片手冊[8] 中查到該芯片的引腳圖和芯片的固件下載方式,如圖 3所示。

圖 3 — JN5169的芯片引腳圖

根據圖 3,結合萬(wàn)用表,可以測試出這6個(gè)焊盤(pán)和芯片的引腳是否直接相連(短路測試),如果是直接相連,就可以確定,該接口是用來(lái)下載程序的。事實(shí)上,芯片JN5169下載程序使用的接口,一共需要的也是6個(gè)。

攻擊者定位程序下載接口所需的信息,只是通過(guò)搜索設備拆解文章,或者把設備買(mǎi)回來(lái)拆解后即可獲取。攻擊者獲取這些信息的目的非常明確:拿到固件,從而分析出更多的信息或挖掘出網(wǎng)絡(luò )通信相關(guān)的漏洞。

(3) 固件信息

固件中幾乎包含了除了網(wǎng)絡(luò )信息中的全部信息,包括程序執行流程,初始化參數等。如果雙方通信的內容一開(kāi)始就是被加密的,那初始或默認的加密參數(如密鑰、初始向量)等信息將被編碼到固件中。如Z-Stack協(xié)議棧中,Zigbee通信的默認密鑰會(huì )被硬編碼,如圖 4和圖 5所示。如果再深入一些,在IAR編譯環(huán)境下生成多個(gè)固件,分析該密鑰出現的位置,就會(huì )發(fā)現密鑰出現的位置比較有規律。

圖 4 — Z-Stack中的默認密鑰信息

圖 5 — 編譯Z-Stack得到的固件中,Zigbee通信使用的默認密鑰

2. 網(wǎng)絡(luò )信息

網(wǎng)絡(luò )中包含兩類(lèi)信息,一類(lèi)是用于控制的信息,另一類(lèi)是用于共享、存儲的信息。一般,如果網(wǎng)絡(luò )信息存在隱患,說(shuō)明前者會(huì )存在設備失控的隱患,或者后者存在隱私泄露的隱患。

一般,網(wǎng)絡(luò )中存在的攻擊有以下幾種:

重放:藍牙、Wi-Fi等協(xié)議,云管端通信的應用層控制報文等。明文:HTTP協(xié)議等不安全協(xié)議的應用,導致敏感信息泄露、設備受控等。Dos:拒絕服務(wù)攻擊,使設備不能正常提供網(wǎng)絡(luò )服務(wù)。

接下來(lái),筆者以低功耗藍牙協(xié)議棧為例,簡(jiǎn)單介紹控制信息和存儲/共享信息在網(wǎng)絡(luò )傳輸過(guò)程中存在的隱患。

低功耗藍牙協(xié)議棧和其他的協(xié)議棧一樣,也可以采用分層模型來(lái)理解。一般,制造低功耗藍牙芯片的廠(chǎng)商會(huì )在芯片手冊中介紹協(xié)議棧,并總結出類(lèi)似的分層模型。此處引用Nordic[9] 總結的模型,如圖 6所示,大抵可分為3層,底層為Controller,中間層為Host,頂層為Profiles。

圖 6 — 低功耗藍牙協(xié)議棧分層模型

這里不對協(xié)議棧做深入的分析,但是,需要注意的是GATT部分。當藍牙設備通信在GATT層時(shí),通信雙方可理解為Client和Server,當二者建立連接后,可以相互對雙方的服務(wù)(以UUID標識)進(jìn)行讀寫(xiě)。例如:

圖 7 — 協(xié)議棧中預定義的UUID

介紹兩個(gè)例子,分別代表控制信息被利用,用于共享、存儲的信息被非法獲取這兩種情況。一般情況下,如果往UUID為0x1802的服務(wù)中寫(xiě)入值,會(huì )引起設備報警。如果低功耗藍牙設備(A,用戶(hù)實(shí)際使用的產(chǎn)品)沒(méi)有對攻擊者使用的藍牙設備(B,電腦、手機等雙模藍牙設備)進(jìn)行身份認證,攻擊者在利用B攻擊A時(shí),非常容易寫(xiě)入成功,即引起設備異常報警。同樣,也可以讀取A設備內UUID為0x180D的服務(wù)中的數據來(lái)獲得用戶(hù)的心率(前提是信息沒(méi)有被加密)。事實(shí)上,某些廠(chǎng)商的手環(huán)類(lèi)產(chǎn)品的通信過(guò)程是沒(méi)有經(jīng)過(guò)加密的,造成了設備可控或隱私信息泄露。

三、加固方法與建議

一般,漏洞挖掘過(guò)程會(huì )涉及代碼審計、黑盒測試、文檔研究等。本節的弱設備加固方法會(huì )最大限度地保證攻擊者無(wú)法對弱設備進(jìn)行代碼審計,保證黑盒測試結果不會(huì )存在有價(jià)值的信息。所以,筆者提出防護方法的目的很明確:不讓攻擊者獲取到源碼、固件、端口等信息。禁止這些信息泄露的方法很直接,可以分兩步:信息讀保護設置和信息加密設置。這樣能保證:有信息不可讀(不可見(jiàn)),即使讀出來(lái),也極難解密。

1. 信息不可讀的方法

(1) 針對PCB:

一般,PCB上會(huì )有絲印、接口、芯片型號等信息,這些信息為攻擊者查找固件提取接口提供了便利。如圖 1所示,暴露的JTAG、UART、BOOT模式選擇接口能使攻擊者有目標地提取出固件。

所以,建議開(kāi)發(fā)工程師把PCB絲印、芯片型號等信息清除,同時(shí),把下載固件的接口移除。但是,這并不能從根本上解決問(wèn)題,如果攻擊者熟悉主控芯片的封裝,通過(guò)測試總是可以匹配上的。

(2) 針對固件-MCU內部:

弱設備由控制芯片和外圍模塊(如傳感器、聯(lián)網(wǎng)模塊等)組成,代碼在控制芯片中或聯(lián)網(wǎng)控制芯片上或聯(lián)網(wǎng)模塊中?梢宰龅焦碳豢勺x。存儲設備有讀保護能力?梢酝ㄟ^(guò)設置一些讀保護選項,使內存里的內容不可讀。

以常見(jiàn)的STM32f1系列的單片機為例。

可以通過(guò)設置RDP(Global Read-out Protection)寄存器的值來(lái)改變單片機內部flash讀保護選項。當啟用讀保護選項時(shí),單片機的固件是無(wú)法通過(guò)JTAG和UART接口讀出來(lái)的。也就是說(shuō),必須破壞芯片結構,才有可能把芯片內部的程序讀出。

圖 8 — STM32f1系列單片機的RDP功能

類(lèi)似的功能不僅僅出現在ST公司的芯片中,還有NXP的CRP(Code Read Protection)、TI 的FMPRE寄存器等。

實(shí)現這一安全能力,需要產(chǎn)品研發(fā)團隊投入足夠的精力在MCU的讀保護策略的學(xué)習上,以保證代碼安全。

(3) 針對固件-MCU外:

對弱設備來(lái)說(shuō),目前市場(chǎng)上,MCU外的固件會(huì )存放在專(zhuān)門(mén)的ROM芯片中,如以SPI總線(xiàn)進(jìn)行通信的SOP8封裝的W25Q128系列,如圖 9所示。

圖 9 — SOP8封裝的Flash芯片

一般,之所以選用Flash芯片作為存儲固件的存儲器,是因為僅僅一個(gè)MCU中集成的Flash容量,不足以保證協(xié)議棧的完整移植。

所以建議協(xié)議棧的代碼和產(chǎn)品業(yè)務(wù)相關(guān)的代碼分開(kāi),在MCU中運行業(yè)務(wù)相關(guān)的代碼,并使用讀保護功能開(kāi)啟,這樣即可保證業(yè)務(wù)代碼不可讀。必要時(shí),可以對協(xié)議棧的代碼進(jìn)行部分加密保護和混淆,以防止攻擊者進(jìn)行逆向分析或漏洞挖掘。

2. 信息加密

比較安全的加密算法是RSA,而且,根據目前的MCU發(fā)展情況看,在MCU中實(shí)現RSA加密體制并不難。如IEEE 802.15.4無(wú)線(xiàn)芯片cc2538的內部集成了ECC RSA-2048加速器,可以提高單片機在RSA密碼體制下的工作效率;ST公司提供了加密的庫函數(Cryptographic Library)。從當前芯片的性能看,在弱設備上做RSA加密已經(jīng)不是一個(gè)難題了。

(1) 協(xié)議棧

以lwip協(xié)議棧為例,在協(xié)議棧的官方文檔中,找不到關(guān)于加密傳輸的內容,所以,有必要對該協(xié)議進(jìn)行二次加密功能的集成,如圖 10所示。

比較理想的是利用RSA和AES混合加密方法:利用RSA來(lái)加密傳輸AES密鑰,再基于A(yíng)ES加密實(shí)現數據傳輸。因為,設備端保存的公鑰是沒(méi)有解密能力的,僅僅根據密文和公鑰解密出AES密鑰非常困難,攻擊者得不到解密密鑰,那就沒(méi)辦法對信息解密,從而保證了信息傳輸的安全。

圖 10 — lwip協(xié)議棧的特性

(2) 應用層通信

應用層加固的方法有三個(gè):加密應用層傳輸的數據、關(guān)閉不必要的端口開(kāi)放、黑白名單策略。

加密應用層傳輸的數據可以解決2.2 節中提到的藍牙數據包被解密的導致的一系列問(wèn)題。安卓手機可以對藍牙通信過(guò)程以日志的形式進(jìn)行抓包保存,保存后,可以使用wireshark等工具軟件打開(kāi)該日志文件進(jìn)行分析,而此時(shí)的數據包是經(jīng)過(guò)藍牙協(xié)議棧解密的。如果在產(chǎn)品開(kāi)發(fā)過(guò)程中,消息傳輸的內容是明文的,會(huì )導致信息(gatt的描述信息和值等)泄露的問(wèn)題出現。此時(shí),加密(依然是采用RSA和AES加密混合方式)是一個(gè)比較好的方式,有助于防止黑客進(jìn)行加密重放。

作為弱設備,要盡可能的關(guān)閉不必要端口,筆者建議不開(kāi)啟端口。弱設備和云端的交互過(guò)程中作為客戶(hù)端角色存在即可。良好的黑白名單機制可以保證設備的通信對象合法。這里對這兩種方法不再深入介紹。

四、總結

本文通過(guò)從本地信息、網(wǎng)絡(luò )信息這兩個(gè)角度介紹物聯(lián)網(wǎng)弱設備存在的安全隱患,進(jìn)而提出設備加固的方法?偟膩(lái)說(shuō),弱設備防護的思路比較簡(jiǎn)單,就是消除冗余的信息。只要生產(chǎn)廠(chǎng)商的產(chǎn)品設計方案和研發(fā)流程都比較規范,產(chǎn)品存在的安全隱患會(huì )比較少,甚至沒(méi)有。


精品福利视频一区二区三区,免费A级毛片无码无遮挡,偷窥目拍性综合图区,亚洲欧洲无码AV电影在线观看,超清无码熟妇人妻AV在线电影