亚洲一区,男人J放进女人P全黄在线,无码h黄肉3d动漫在线观看,大地资源网视频观看免费高清

業(yè)界資訊

物聯(lián)網(wǎng)安全研究之二:IoT系統(tǒng)攻擊面定義分析

2022-03-18 18:49:06 admin 178

在前文中,我們了解了IoT技術(shù)的基本架構(gòu),本文我將來說說IoT安全,在此過程中,我們會(huì)嘗試定義一種新方法來理解IoT安全,同時(shí)也會(huì)創(chuàng)建一個(gè)結(jié)構(gòu)化流程來方便認(rèn)知IoT相關(guān)的攻擊研究和滲透測(cè)試。

依據(jù)前文我們定義的IoT體系結(jié)構(gòu),現(xiàn)在我們可以非常清晰地分離出物聯(lián)網(wǎng)系統(tǒng)的各種組件,并嘗試為每種組件定義攻擊面,各種組件的攻擊面組合將形成一個(gè)整體的物聯(lián)網(wǎng)生態(tài)系統(tǒng)攻擊面。

我之所以把它稱為物聯(lián)網(wǎng)生態(tài)系統(tǒng)而不是物聯(lián)網(wǎng)產(chǎn)品,是因?yàn)樗_實(shí)是一個(gè)由不同組件組成的生態(tài)系統(tǒng),它們相互通信并解決特定的現(xiàn)實(shí)問題。 我們先來詳細(xì)討論每種組件的攻擊面,如果我們把通信作為一種攻擊面的話,總體攻擊面可分為以下四類:

移動(dòng)端

云端

通信層面

設(shè)備層面

OWASP在IoT安全方面也做了很多工作,他們也給IoT架構(gòu)定義了攻擊面,值得認(rèn)真研讀一番(點(diǎn)此查看),你可以綜合不同觀點(diǎn)形成自己的看法。

移動(dòng)端攻擊面

移動(dòng)端是IoT用戶了解物理設(shè)備狀態(tài)的一個(gè)重要接口,移動(dòng)App與IoT系統(tǒng)之間的命令發(fā)送和數(shù)據(jù)讀取,是與IoT通信的窗口。以下IoT系統(tǒng)移動(dòng)端可能面臨的一些攻擊面:

存儲(chǔ)介質(zhì)

認(rèn)證方式

加密手段

通信方式

原生移動(dòng)端系統(tǒng)漏洞

云端攻擊面

IoT系統(tǒng)不只包括硬件,云端服務(wù)對(duì)IoT服務(wù)來說同樣重要,它是產(chǎn)品線的各種實(shí)例匯聚,而實(shí)例中又包含了所有終端用戶使用者的相關(guān)數(shù)據(jù),同時(shí)云端服務(wù)還具備一定的命令執(zhí)行權(quán)限,攻擊者一旦成功滲透,就能對(duì)相關(guān)部署設(shè)備形成管理控制,危害甚大??傮w來說,云端服務(wù)攻擊面主要體現(xiàn)在所提供服務(wù)的接口上:

存儲(chǔ)介質(zhì)

認(rèn)證方式

加密手段

通信方式

APIs接口

原生Web端和云端架構(gòu)漏洞

硬件設(shè)備攻擊面

接下來就是IoT技術(shù)的關(guān)鍵角色-硬件設(shè)備,它是物理世界的接口體現(xiàn)也是虛擬數(shù)字世界的通信媒介。相關(guān)的數(shù)據(jù)轉(zhuǎn)換會(huì)首先經(jīng)過硬件設(shè)備,由于它本身存儲(chǔ)了用戶相關(guān)的敏感信息(例如家庭統(tǒng)計(jì)數(shù)據(jù)、身體統(tǒng)計(jì)信息、個(gè)人信息等),所以這種用戶隱私存儲(chǔ)機(jī)制也存在一些爭(zhēng)議。而在未來,不同硬件設(shè)備還能使用用戶的電子錢包或綁定賬戶實(shí)現(xiàn)商品購買或遠(yuǎn)程維護(hù)等服務(wù)。其存在的攻擊面可能有:

存儲(chǔ)介質(zhì)

認(rèn)證方式

加密手段

通信方式

感應(yīng)接口

外設(shè)接口

硬件接口

人機(jī)交互接口

通信方式攻擊面

盡管通信攻擊不是一種有形的攻擊,其理想的有形攻擊面將是通信接口和負(fù)責(zé)通信的各個(gè)驅(qū)動(dòng)器和固件,但這只是其中的一部份,因?yàn)闊o數(shù)通信協(xié)議會(huì)共同在有線和無線介質(zhì)上作用于物聯(lián)網(wǎng)生態(tài)系統(tǒng)。以下是通信方式可能存在的攻擊面:

認(rèn)證方式

加密手段

偏離協(xié)議標(biāo)準(zhǔn)

協(xié)議實(shí)現(xiàn)異常

硬件接口允許通信交互,然后實(shí)際的數(shù)據(jù)通信分組是由上層的軟件實(shí)現(xiàn)定義的,因此,通信攻擊面的問題我們就只討論一些協(xié)議,雖然各種協(xié)議缺陷可能導(dǎo)致對(duì)移動(dòng)設(shè)備、硬件設(shè)備或云端服務(wù)的端點(diǎn)攻擊,但為了理解清晰,我們?nèi)詫⑵渥鳛閱为?dú)的攻擊面來討論,我會(huì)列出各種物聯(lián)網(wǎng)產(chǎn)品中使用的一些通用協(xié)議。如下:

WEB

Web或HTTP(S)技術(shù)是常用的通信協(xié)議,由于Web端的攻擊面非常廣泛,但好在攻擊面、漏洞和緩解技術(shù)很多都已經(jīng)標(biāo)準(zhǔn)化了。網(wǎng)上有很多攻擊描述和防護(hù)的詳細(xì)資源。可以參考OWASP的Web Top 10、測(cè)試指南和各種開源工具。

其它

除了WEB端外還存在其它很多特定通用或高效的協(xié)議,為了簡(jiǎn)潔起見,我只列出一些通用協(xié)議供參考學(xué)習(xí),經(jīng)驗(yàn)告訴我們,所有協(xié)議都存在實(shí)施缺陷、協(xié)議設(shè)計(jì)缺陷和配置缺陷,這些缺陷則需要在深入的滲透測(cè)試中進(jìn)行分析驗(yàn)證。

CoAP – https://en.wikipedia.org/wiki/Constrained_Application_Protocol

MQTT – https://en.wikipedia.org/wiki/MQTT

AMQP – https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol

WebSocket – https://en.wikipedia.org/wiki/WebSocket

CANbus – https://en.wikipedia.org/wiki/CAN_bus

Modbus – https://en.wikipedia.org/wiki/Modbus

Profibus – https://en.wikipedia.org/wiki/Profibus

DNP3 – https://en.wikipedia.org/wiki/DNP3

BACNet – https://en.wikipedia.org/wiki/BACnet

HL7 – https://en.wikipedia.org/wiki/Health_Level_7

XMPP – https://en.wikipedia.org/wiki/XMPP

UPnP – https://en.wikipedia.org/wiki/Universal_Plug_and_Play

DNS

SSH

以上這些為你提供了有關(guān)物聯(lián)網(wǎng)生態(tài)系統(tǒng)攻擊面的一些全局概述,現(xiàn)在我們就嘗試來對(duì)硬件設(shè)備定義一種詳細(xì)的攻擊面,以便我們知曉標(biāo)準(zhǔn)的物聯(lián)網(wǎng)滲透測(cè)試攻擊目標(biāo),這也有利于物聯(lián)網(wǎng)安全架構(gòu)師為物聯(lián)網(wǎng)產(chǎn)品創(chuàng)建威脅模型。但請(qǐng)注意,我就不具體定義移動(dòng)端和云端的攻擊面了,因?yàn)榭稍诨ヂ?lián)網(wǎng)上找到大量的類似相關(guān)資源,該博客系列旨在為安全研究人員建立一個(gè)物聯(lián)網(wǎng)安全研究的入門通道,所以我們只重點(diǎn)討論硬件設(shè)備這種當(dāng)前在IoT安全中未成型的知識(shí)。

具體定義硬件設(shè)備攻擊面

以下就是根據(jù)我個(gè)人理解來定義的一些硬件相關(guān)的分離和結(jié)構(gòu)化的IoT攻擊面:

存儲(chǔ)介質(zhì)

涉及硬件設(shè)備使用的各種內(nèi)部、外部、 持久性和易失性存儲(chǔ)。它們包含:

SD卡:SD卡是一種典型的數(shù)據(jù)和配置存儲(chǔ)介質(zhì),它們也可用來存儲(chǔ)固件更新,利用SD卡可形成有意思的攻擊面,后期我會(huì)在博客中作具體技術(shù)分析。

USB載體:某些IoT產(chǎn)品會(huì)使用USB載體代替SD卡,來存儲(chǔ)和讀寫某些下載好或預(yù)先配置好的的數(shù)據(jù)。USB載體和SD卡的攻擊手段相似。

非易失性內(nèi)存:大量的感應(yīng)讀寫數(shù)據(jù)、啟動(dòng)引導(dǎo)、固件、密碼憑據(jù)等信息都利用這種內(nèi)存進(jìn)行存儲(chǔ),當(dāng)測(cè)試硬件電路板時(shí),存儲(chǔ)在芯片上的數(shù)據(jù)至關(guān)重要。我們可以對(duì)存儲(chǔ)器和微控制器之間的通信執(zhí)行運(yùn)行分析,以判斷不同操作中存儲(chǔ)/讀取的不同數(shù)據(jù)類型。例如通過一個(gè)邏輯分析儀去嗅探總線通信,進(jìn)而發(fā)現(xiàn)觸發(fā)特定操作的各種讀寫數(shù)據(jù)。該種內(nèi)存有不同類型的芯片:

EPROM(可擦除可編程只讀存儲(chǔ)器)

EEPROM(帶電可擦除可編程只讀存儲(chǔ)器)

FLASH – (非易失性閃存,具備快速高效特點(diǎn))

以下為一個(gè)I2C串行EEPROM:

4G攝像機(jī)|4G視頻監(jiān)控|4G無線模塊|直播聲卡

易失性內(nèi)存:這種內(nèi)存也就是我們會(huì)想起的RAM(隨機(jī)存取存儲(chǔ)器), 它廣泛應(yīng)用于電腦電路板和一些嵌入式系統(tǒng)中的隨機(jī)數(shù)據(jù)存儲(chǔ),當(dāng)斷電后其不能保存數(shù)據(jù),它分為以下兩類:

SRAM (靜態(tài)隨機(jī)存取存儲(chǔ)器) – 芯片斷電后不保存數(shù)據(jù)

DRAM (動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器) – 數(shù)據(jù)只能被短時(shí)存儲(chǔ),為了保持?jǐn)?shù)據(jù)必須短時(shí)刷新,否則存儲(chǔ)信息會(huì)丟失,且芯片斷電后同樣不保存數(shù)據(jù)

單片機(jī)內(nèi)存:?jiǎn)纹瑱C(jī)或微控制器內(nèi)部一樣具備存儲(chǔ)數(shù)據(jù)的內(nèi)存,這種內(nèi)存通常在使用JTAG等調(diào)試工具時(shí)可以訪問到,這種單片機(jī)內(nèi)存一般為以下類型存儲(chǔ):

SRAM (靜態(tài)隨機(jī)存取存儲(chǔ)器)

EEPROM(帶電可擦除可編程只讀存儲(chǔ)器)

FLASH – (非易失性閃存)

硬件通信接口

一塊電路板上的不同硬件之間以及電路板與外部世界之間都需要進(jìn)行相互通信,這些通信都基于定義好的標(biāo)準(zhǔn)硬件通信協(xié)議,從一個(gè)攻擊者角度來看,可以通過嗅探或惡意數(shù)據(jù)注入等方式來了解這種實(shí)際的通信過程,從以下描述的通用接口中我們可以具體來分析一些安全問題:

UART:UART (通用異步收發(fā)傳輸器) 是一種硬件外設(shè)之間的異步通信收發(fā)器,它可用于同一電路板上(例如單片機(jī)與電機(jī)或LED屏幕通信)或兩個(gè)不同設(shè)備(如單片機(jī)與PC通信)之間的通信。這是一個(gè)有意思的攻擊面,它可能允許串行方式對(duì)設(shè)備進(jìn)行讀/寫訪問。 在許多設(shè)備中,電路板上的UART端口是開放的,任何人都可以通過串行連接和訪問,以獲得某種類型的shell控制權(quán)、自定義命令行控制端、日志輸出等,為了發(fā)送和接收串行數(shù)據(jù),這種設(shè)備通常具有一組輸出連接到單片機(jī)UART的RX和TX引腳,后續(xù)我會(huì)發(fā)文討論如何識(shí)別和訪問設(shè)備的UART端口。以下為一個(gè)標(biāo)準(zhǔn)的4引腳輸出UART端口電路:

4G攝像機(jī)|4G視頻監(jiān)控|4G無線模塊|直播聲卡

單片機(jī)調(diào)試端口:?jiǎn)纹瑱C(jī)在運(yùn)行時(shí)都能利用特定的引腳和輸出對(duì)進(jìn)行調(diào)試,這些引腳輸出(端口)是為開發(fā)和設(shè)計(jì)者預(yù)留的,利用它們可以進(jìn)行設(shè)備調(diào)試、固件內(nèi)存讀寫、后期引腳控制測(cè)試等,因此,基于攻擊者角度的權(quán)限來說,這類調(diào)試端口可能會(huì)成為最致命的攻擊面。以下是包含調(diào)試端口的幾類標(biāo)準(zhǔn)接口:

1.JTAG(聯(lián)合測(cè)試工作組):隨著單片機(jī)和電路板設(shè)計(jì)越來越小,成型產(chǎn)品的后期測(cè)試變得非常困難。因此,為了對(duì)電路板執(zhí)行高效的后期測(cè)試,多家主要電子制造商聯(lián)合成立了該組織,并確定了一系列電路板后期測(cè)試方法標(biāo)準(zhǔn),后成為IEEE 1149.1,也稱為JTAG測(cè)試協(xié)議,它具體定義了單片機(jī)調(diào)試的標(biāo)準(zhǔn)接口和命令。 標(biāo)準(zhǔn)的JTAG接口包括4個(gè)引腳接口和1個(gè)額外可選的TRST引腳接口:

TMS – 測(cè)試模式選擇

TCK – 測(cè)試時(shí)鐘

TDI – 測(cè)試數(shù)據(jù)輸入

TDO – 測(cè)試數(shù)據(jù)輸出

TRST – 測(cè)試復(fù)位 (可選)

除了芯片調(diào)試之外,調(diào)試器還能利用這些引腳與單片機(jī)上的測(cè)試訪問端口(TAP)進(jìn)行通信,從安全角度來看,識(shí)別JTAG端口并與之連接,攻擊者可以實(shí)施固件提取、邏輯逆向、惡意固件植入等非法目的。

2.cJTAG (緊湊型JTAG): 這是一種新的JTAG測(cè)試協(xié)議(IEEE 1149.7),它不是對(duì)JTAG(1149.1)的取代,而是在其基礎(chǔ)上的一個(gè)向后兼容擴(kuò)展測(cè)試協(xié)議, 它定義了TCK和TMS兩個(gè)引腳接口和TAP的一些實(shí)現(xiàn)特性。

3. SWD (串行線調(diào)試): 這是單片機(jī)調(diào)試的另一種方法,它定義了SWDIO(雙向)和SWCLK (時(shí)鐘)引腳接口,它是基于ARM技術(shù)的ARM CPU雙向線標(biāo)準(zhǔn)調(diào)試協(xié)議,來源于V5版本的ARM調(diào)試接口定義,其中說明了SWD是一種比JTAG更高效的調(diào)試方法。

以下為一個(gè)電路板上的JTAG接口位置:

4G攝像機(jī)|4G視頻監(jiān)控|4G無線模塊|直播聲卡

I2C(內(nèi)置集成電路):I2C是飛利浦公司發(fā)明的,同塊電路板上芯片之間進(jìn)行短距離通信的協(xié)議,它具備主從架構(gòu)和以下二線總線:

SDA – 串行數(shù)據(jù)信號(hào)線

SCL – 串行時(shí)鐘信號(hào)線

I2C的典型應(yīng)用就是在EEPROM(帶電可擦除可編程只讀存儲(chǔ)器)芯片上連接I2C引腳并進(jìn)行數(shù)據(jù)和代碼存儲(chǔ),對(duì)這種協(xié)議的攻擊包括數(shù)據(jù)嗅探、敏感信息提取、數(shù)據(jù)破壞等,我們可以對(duì)EEPROM芯片進(jìn)行靜態(tài)數(shù)據(jù)分析,也可對(duì)I2C通信進(jìn)行動(dòng)態(tài)嗅探來分析其行為和安全問題,后續(xù)我會(huì)發(fā)文討論I2C的通信安全問題。

串行外設(shè)接口(SPI):串行外設(shè)接口也是芯片間的一種短距離通信協(xié)議,由摩托羅拉公司發(fā)明,它具備全雙工和主從架構(gòu)特點(diǎn),比I2C吞吐量更高,并使用了以下四線串口總線:

SCLK – 串行時(shí)鐘信號(hào)線或SCL

MOSI – 串行數(shù)據(jù)輸出信號(hào)線

MISO – 串行數(shù)據(jù)輸入信號(hào)線

SS – 從選擇信號(hào)線

SPI應(yīng)用于多種外設(shè)間的通信,閃存Flash和EEPROM同樣使用SPI, 其測(cè)試分析方法類似I2C,只是總線接口不同。

USB:USB接口一般用于充電和數(shù)據(jù)通信,后期出于方便也用于問題調(diào)試,可進(jìn)行動(dòng)態(tài)數(shù)據(jù)嗅探和靜態(tài)數(shù)據(jù)FUZZ來分析其中的安全問題。

傳感器:它是物理設(shè)備的外部接口,但不僅限于溫度計(jì)之類的感應(yīng)類接口,還包括一些開關(guān)控制按鈕。按照其實(shí)現(xiàn)操作可分為三類:

監(jiān)控器: 這是最接近傳感器意思表達(dá)的設(shè)備了,感應(yīng)和監(jiān)控外部世界變化,如溫度、行為、脈博、血壓和胎壓等。

控制器: 多為控制外部設(shè)備的開關(guān)和行為,如開關(guān)、分發(fā)器等。

混合控制器: 是監(jiān)控器和控制器的兩種混合設(shè)備,如溫度控制器、燈光感應(yīng)器等,由于這類控制器的感應(yīng)數(shù)據(jù)會(huì)被發(fā)往遠(yuǎn)程云服務(wù)端或其它控制端,所以其接口安全至關(guān)重要,攻擊者可以向該類控制器發(fā)送畸形數(shù)據(jù)進(jìn)行混淆干擾,進(jìn)而對(duì)整個(gè)IoT系統(tǒng)形成影響,可以導(dǎo)致IoT系統(tǒng)癱瘓、產(chǎn)生運(yùn)行異常甚至形成物理破壞。

人機(jī)交互接口(HMI):與傳感器接口類似, HMI不局限于工控系統(tǒng)應(yīng)用,它也被定義為IoT架構(gòu)中用戶與設(shè)備之間的通信接口,用戶可以通過它來直接對(duì)設(shè)備進(jìn)行操控,如觸屏、按下按鈕、觸摸板等,HMI也會(huì)存在一些繞過機(jī)制和安全設(shè)置問題。

其它硬件通信接口:還存在其它與硬件設(shè)備的通信方式,作為滲透測(cè)試人員,要積極分析并擅于發(fā)現(xiàn)接口的一些安全繞過和設(shè)置錯(cuò)誤問題,其它硬件通信接口包括(但不限于):

D-Subminiature – 顯示器VGA類接口

ecommended Standards (RS232, RS485 etc) – 一些推薦性標(biāo)準(zhǔn)接口

On-board Diagnostics (OBD) – 汽車在線診斷接口

網(wǎng)絡(luò)通信接口

該接口允許設(shè)備與包括傳感器網(wǎng)絡(luò)、云端和移動(dòng)設(shè)備的其它數(shù)字設(shè)備進(jìn)行網(wǎng)絡(luò)通信,而負(fù)責(zé)網(wǎng)絡(luò)通信的硬件接口可能包含自主獨(dú)立的單片機(jī)/固件等,所以,這種情況的攻擊面可能為底層通信實(shí)現(xiàn)的固件或驅(qū)動(dòng)程序代碼。

無線網(wǎng)絡(luò)通信:無線網(wǎng)絡(luò)通信接口存在一些已知的安全問題,從攻擊角度看,可對(duì)無線芯片形成攻擊乃至物理破壞、DOS、安全驗(yàn)證繞過或代碼執(zhí)行等。

以太網(wǎng)接口:以太網(wǎng)設(shè)備接口如wifi接口等都存在一些底層TCP/IP通信漏洞、硬件實(shí)現(xiàn)漏洞和其它攻擊向量。

無線電通信接口:由于很多IoT產(chǎn)品都集成或轉(zhuǎn)向無線電通信方式,無線電通信接口將會(huì)是一個(gè)關(guān)鍵的攻擊面,在很多情況下,無線通信要比有線通信更加高效,這毋庸置疑。我之所以把無線通信單獨(dú)列出,就是為了把它和需要網(wǎng)關(guān)設(shè)備的無線網(wǎng)絡(luò)通信和有線通信區(qū)分開來,無線電通信與它們完全不同,它可以分為以下兩類:

1.簡(jiǎn)單/非結(jié)構(gòu)化:通常用于簡(jiǎn)單產(chǎn)品,如百葉窗、鎖、門鈴等。簡(jiǎn)單非結(jié)構(gòu)化也即是它使用簡(jiǎn)單數(shù)據(jù)流,并通過無線接口進(jìn)行發(fā)送。 作為滲透測(cè)試人員,需要對(duì)通信過程進(jìn)行逆向,去發(fā)現(xiàn)其中的運(yùn)行漏洞,可使用無線電嗅探硬件工具(如SDR等)對(duì)無線電通信流量進(jìn)行抓包嗅探。

2.復(fù)雜/結(jié)構(gòu)化:這種通信意味著它使用結(jié)構(gòu)化數(shù)據(jù)包進(jìn)行無線電通信,除了數(shù)據(jù)之外,它們?cè)谕ㄐ胖袛y帶了關(guān)于協(xié)議的附加信息和元數(shù)據(jù),稍顯復(fù)雜。 由于高效、標(biāo)準(zhǔn)、成本低廉、運(yùn)行方便等原因,這類協(xié)議已物聯(lián)網(wǎng)領(lǐng)域應(yīng)用廣泛,針對(duì)該類協(xié)議有多種嗅探和分析工具可以提取其中的通信數(shù)據(jù)。常見的該類協(xié)議包括:

Bluetooth (and BLE)

ZigBee

Zwave

NFC

RFID

LoRA

Wireless HART

以上就是我對(duì)IoT安全和其攻擊面的一些個(gè)人理解和定義,不足之處,請(qǐng)多包涵。