今天收到了兩套南京厚德物聯網(熊總)寄過來的物聯網開發板EVB_MX和小熊派BearPi。
EVB_MX+是針對騰訊的TencentOS-tiny物聯網操作系統,小熊派BearPi是針對華為的LiteOS物聯網操作系統。
物聯網(IoT)是新興技術,是對傳統Internet的擴展,它使所有帶有射頻識別(RFID),傳感器或GPS等功能的物體相互連通。
IoT安全問題頻發,但是從攻擊者的角度來看,用來評估物聯網安全性的方法卻很少。到目前為止,滲透測試已廣泛應用于評估傳統的Internet或系統安全性,但通常需要花費大量成本和時間。
下面,我們針對物聯網的安全問題,提出一種基于BDI模型的滲透測試方法及其自動化,以評估物聯網的安全性。
1 什么是IoT?
物聯網(IoT)是1999年由麻省理工學院(MIT)提出;這段特殊的時期預示著重要的新一代信息技術的出現。物聯網被認為是交易的延伸附加互聯網,便于信息通信傳遞。具有識別位置,跟蹤信息,監視射頻識別的數據管理(RFID),傳感器或GPS等功能。
根據現有的文獻,物聯網結構包括三層:應用層,網絡層和感知層。
應用層為用戶提供在不同的場景中的服務。
網絡層負責信息的傳輸和處理。
感知層收集信息并識別對象。(包括各種硬件終端例如RFID,傳感器,GPS等)
目前,物聯網的使用技術已應用于各種領域,例如智能網格,智能交通,智慧城市,智能家居,智能醫療保健,體育鍛煉和智能建筑。然而,由于安全事件不斷頻發,引起業界的廣泛關注,特別是安全方面。
滲透測試是常見提高安全能力方法之一,通過模擬真實攻擊來保障安全性。根據PTES(滲透測試執行標準),滲透測試的過程包括交互,信息收集建模,Vul-可行性分析,開發,后期開發等。滲透測試旨在提高系統的安全性,而不是為了破壞,不會影響目標系統的可用性。
越來越多的公司和組織開始利用此方法來識別和解決系統中潛在的漏洞,以防止在未來出現重大紕漏。但是,大部分IoT安全研究都側重于分析,防御或攻擊特定設備。
雖然滲透測試是一種非常受歡迎的方法,但是該過程需要花費大量的費用和時間。但是,滲透測試自動化可以科學的提高效率。
2 物聯網的安全性
與傳統互聯網相比,物聯網具有特殊的特征,三層結構會導致更多的漏洞出現。在物聯網的三層結構中,每一層都有特定的安全性問題,其中一些類似于傳統網絡。本節分析每個人的安全性問題層。
A. 感知層安全
感知層,也稱為識別層或物理層,是從現實世界中收集信息,通過RFID將這些信息集成到數字世界中(比如:傳感器,GPS和其他硬件設備)。感知層中的節點一般是低功率,計算能力受限,低存儲空間和重復使用。
所以,感知層并沒有采用傳統的信息安全解決方案。從每個感知層網絡到節點,特定的安全問題會導致更多漏洞和攻擊面出現。例如,節點是容易遭到竊聽,欺騙,克隆,killing,干擾和屏蔽攻擊等。
B. 網絡層安全
網絡層負責傳輸應用層和感知層之間的信息。網絡層是各種網絡架構的組合,包括互聯網,移動通信網絡,衛星,GSM網絡,GPRS,3G,4G,WIFI網絡等。
這些網絡的安全性問題與傳統的相似,容易受到DDoS、中間人、數據篡改、數據重放和信號干擾等攻擊。此外,混合不同的網絡架構也可能帶來新的安全問題。
C. 應用層安全
應用層為用戶提供了多種服務,例如:智能電網,智能交通,智慧城市,智能家居,智能醫療保健和智能建筑等。物聯網可以通過各種平臺訪問,用戶可以通過在不同平臺上的應用程序來實現相應的功能。例如:計算機,移動設備或智能硬件設備。
應用層(與其他層類似)的安全風險取決于物聯網場景的攻擊漏洞(例如攻擊緩沖區溢出,SQL注入,XSS,密碼攻擊和社會工程攻擊)。
3 PENETRATION測試
基于已建立的物聯網特定安全問題研究和OWASP的物聯網攻擊項目,我們能夠分析出,傳統物聯網滲透測試與當前物聯網滲透測試的區別在于感知層。
我們將物聯網滲透測試的過程分為四個階段:
1)信息搜集
2)分析
3)開發
4)報告
圖1 物聯網滲透測試流程
A.信息收集
初始階段的信息收集是一個關鍵步驟,通過探測所有三個物聯網結構層(感知、網絡和應用)的信息來確定滲透測試的成功。
1) 感知層:在感知層,收集有關物理環境的各種信息,比如節點的位置、節點的類型、節點的范圍、類型連接方式、通信協議類型、拓撲結構節點、節點操作系統的類型、節點的電源、安全機制、節點漏洞和傳播協議漏洞等。
工具示例包括:
? Hardware Bridge API:用于物聯網滲透測試。
? Nmap:開源免費工具,掃描網上電腦開放的網絡連接端。
? Openvas:開放式漏洞評估系統,也可以說它是一個包含著相關工具的網絡掃描器。
? Nessus:目前全世界最多人使用的系統漏洞掃描與分析軟件。
2) 網絡層:在網絡層,利用網絡攻擊工具(如著名的wirelessatck套件、aircack)采集與傳統滲透測試類似的網絡類型、連接類型、安全機制、通信類型和傳輸協議漏洞等信息是非常關鍵的。
3) 應用層:盡管物聯網被廣泛用于 各種應用場景,應用層信息收集類似于傳統的信息收集。它是對于收集有關操作系統類型,端口,服務信息,訪問控制類型,配置Nmap提供的信息和漏洞信息,vas,Nessus等等。
4) 社會工程信息:用來改善滲透測試性能,社會工程學信息也需要收集。例如,DNS信息,電子郵件列表,應用程序信息等。Dnsenum和Fierce以收集DNS信息而聞名,我們可以通過Harvester收集電子郵件列表。
B.分析
在分析階段,必須對目標的相關信息進行組織、分析,隨后識別出目標的攻擊路徑,并嘗試獲得目標的訪問權限,通常需要對實驗環境進行有效性檢查。
C.開發
在此階段,將把分析階段已經分析出來的可行的攻擊路徑和規劃進行真正的攻擊。在滲透測試期間,將禁止DDoS攻擊,以確保目標的可用性。
1)感知層:感知層物聯網節點的特性決定了對感知層的攻擊的方法,是傳統物聯網滲透測試與傳統物聯網滲透測試不同的原因。特定攻擊可由硬件橋接API或IoTseeker形成,包括:
? 略讀:非法讀取節點信息。
? 竊聽:嗅探節點之間的信息路由器。
? 欺騙:生成偽造的節點數據。
? 克?。嚎寺喂濣c。
? 殺死:竊取并破壞節點。
? 緩沖區溢出w攻擊節點。
? 節點上的訪問控制攻擊:IoTseeker打破了IoT設備的默認密碼。
2) 網絡層:網絡層上的攻擊,包括網絡流量嗅探器,信號重放,信號偽造,并在不同的網絡通信中劫持信號WIFI,3G,4G,GSM,藍牙和通過無線攻擊Aircrack-ng等。攻擊的內容如下:
? 網絡流量嗅探器:sniffer之間的信息網絡。
? 信號重放:重放信息以進行攻擊目標。
? 假信號:生成信息來進行攻擊目標。
? 信號劫持:干擾目標網絡并強制將目標節點連接到可控制的偽造網絡上。
3) 應用層:對應用層的攻擊與傳統的滲透測試非常相似,包括Web應用程序攻擊,軟件緩沖區溢出攻擊,密碼攻擊等。使用的工具有:
? Metasploit:最受好評的滲透測試框架包括成千上萬的漏洞利用加載。
? W3af:Web應用程序攻擊框架。
? John the Ripper:密碼破解。
4)社會工程攻擊:社會工程攻擊是指針對那些缺乏安全意識的普通民眾。假如,員工可以通過向它們啟用對目標的訪問特權并進一步的進行滲透測試。執行此類攻擊的能力需要Setoolkit,它是滲透測試領域最著名的工具,由社會工程攻擊工具組成。
D.報告
一個成功的滲透測試模擬會發現漏洞,其中的細節將被處理,并隨后向目標所有者報告,以提高未來的安全性。
通過模擬滲透測試的流程,我們會從中發現某系統或應用平臺的漏洞。通過對流程中的信息進行分析評估總結,形成最終的測試報告,以提高系統的安全性能。
4 BDI模型的自動化
滲透測試的成功需要一套完整的目標和計劃。為了實現自動化,BDI是解決這一問題的理想模型,因為它能夠在滲透測試中通過感知和動作與目標進行交互。
我們可以使用BDI模型為物聯網滲透測試進行建模。BDI模型描述了在滲透測試期間如何選擇與目標信息相關的操作,此過程分為三個邏輯成分:信念、愿望和意圖。我們的模型遵循Jason解釋器,這個模型是基于過程推理系統(PRS)。
BDI代理定義為“元組”< Ag,B,D,I,P,A,S >
? Ag是代理名稱;
? B是一個信念集,代表有關目標,并在執行操作后將其更新;
? D是一個愿望集,代表所有選項或可能的滲透測試候選計劃代理商
? I是一個意圖集,代表代理商的目標或代理商決定執行的計劃。
? P是一個計劃集,由可用計劃組成,每個計劃提供有關如何達到的信息ve的目標。
? A是一個操作集,其中包括可以執行的代理操作。
? S是一個感知集,它存儲了來自環境的各種信息。
BDI代理的推理周期如圖2所示:
圖2 BDI代理推理循環
5 驗證
我們通過仿真對物聯網進行自動化滲透測試實驗
我們的模型運行在具有2.3 GHz,I5 CPU和8GB的RAM的PC上。如圖3所示,
圖3 BDI代理與物聯網的相互作用
模擬實驗代表BDI代理和三層物聯網在Jason中使用內部溝通動作,來模擬BDI模型與物聯網。我們的模型是在AgentSpeak Jason中實現的,這是一種多代理系統編程語言。
A. 物聯網目標
我們將物聯網目標信息預先定義為三層,包括服務和相應的漏洞能力,如表1所示:
該信息存儲在信念集中,三個物聯網結構層的仿真需要創建4個代理,分別表示應用層和網絡層,以及感知層中的兩個節點。
網絡層負責應用層和感知層之間的信息傳輸此外,為了使場景不確定,我們使用隨機數來確定攻擊的結果。
B. BDI代理
在BDI代理中,特權的默認值是none,初始目標是應用層中的root特權或控制IoT。我們在前一節描述的物聯網滲透測試的基礎上,預先定義了對三層代理進行信息和攻擊的探測計劃,例如,BDI代理可以探測操作系統類型、端口、服務、漏洞信息和網絡類型,還可以執行密碼攻擊、嗅探攻擊,重放攻擊和緩沖溢出攻擊。模擬實驗是由Jason的內部動作完成的
Jason代碼如下所示:
+!probe information: true.send(agent name, askAll, information type(value)).
+!attack action: true.send(agent name, tell, attack action)
C.模擬
通過對應用層的失敗攻擊和對網絡層和感知層的成功攻擊,說明了傳統物聯網滲透測試系統與當前物聯網滲透測試系統的不同。成功獲得了操作系統類型、端口、服務、網絡類型、網絡安全和漏洞三個層次的基本信息。
圖4顯示了BDI模型對物聯網進行滲透測試的過程,如圖所示:
圖4 BDI代理的物聯網滲透測試流程
此外,BDI代理成功地破解了SSH password,并獲得了用戶權限。
由于隨機性較低,無法執行本地緩沖區溢出攻擊以獲取根權限。由于對每一層之間的信息傳輸缺乏安全保護,BDI代理成功地執行了Sniffertack。
可以獲得有關光傳感器和光控制指令的必要信息,BDI代理收集并存儲在信念集中的信息如圖5所示:
圖5 BDI代理的信念集
圖6顯示了信息在網絡層傳輸的過程:
圖6信息在網絡層傳輸過程
“turn on the light”命令和光傳感器信息在應用程序和網絡層之間傳輸,顯示在網絡層的信念集中。感知層的基本信息和值包含在圖7所示的應用層代理的信念集中:
圖7 應用層代理的信念集
我們假設光傳感器的值是40。在感知層,兩個代理分別代表光和光傳感器,我們的BDI代理可以根據光傳感器信息和光控制指令執行重放攻擊,如圖8、圖9:
圖8 節點1的信念集
圖9 節點2的信念集
6 結論
在本文中,我們首先介紹了物聯網的概念和滲透測試。其次,我們討論了安全性物聯網的概念,并描述了其安全功能。我們提出了一種方法來執行滲透測試物聯網,引入了特殊的專用tools。然后,進行效率上的改善。
我們使用BDI模型來實現其自動化,最后,我們通過模擬實驗來驗證我們的工作。在未來的研究中,我們將擴展模型進行更多操作并在實際環境中進行實驗。
-
傳感器
+關注
關注
2548文章
50665瀏覽量
751947 -
物聯網
+關注
關注
2903文章
44262瀏覽量
371221 -
自動化
+關注
關注
29文章
5511瀏覽量
79100
發布評論請先 登錄
相關推薦
評論