在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

物聯網設備低層復雜攻擊的挖掘研究

454398 ? 來源:嘶吼網 ? 作者:fanyeee ? 2020-11-30 12:08 ? 次閱讀

在本文中,我們將為讀者詳細介紹如何挖掘物聯網設備中的復雜惡意軟件。

這篇文章的動機之一,就是鼓勵對這個話題感興趣的其他研究人員加入進來,分享自己的想法和知識,建立更多的安全工具,以便更好地保護我們的智能設備。

研究背景

智能手表、智能家居設備甚至智能汽車……隨著越來越多的聯網設備加入物聯網生態系統,確保其安全性的重要性已經變得不言而喻了。

眾所周知,現在已經成為我們生活中不可分割的一部分的智能設備,在面對各種網絡攻擊時,還不是非常安全。實際上,針對物聯網設備的惡意軟件已經存在十多年了。其中,Hydra是第一個已知的自動化路由器惡意軟件,于2008年以開源工具的形式被公之于眾。不過,Hydra只是一個開源的路由器惡意軟件原型。在Hydra問世之后不久,安全專家又發現了針對網絡設備的在野惡意軟件。此后,不同的僵尸網絡家族相繼出現并廣為流傳,包括Mirai、Hajime和Gafgyt等家族。

除了以上提到的惡意軟件外,在物聯網設備中使用的通信協議中也爆出了許多漏洞,比如Zigbee協議,攻擊者可以將某一設備作為攻擊目標,并在得手后向網絡中的其他設備傳播惡意軟件,這種行為非常類似于計算機蠕蟲。

在這項研究中,我們重點挖掘針對物聯網設備的低層復雜攻擊。準確來說,我們將特別關注物聯網設備的固件,以挖掘后門植入、對引導過程的篡改以及對固件其他部分的惡意篡改。

下面,讓我們先來介紹物聯網設備固件的結構,以便更好地了解其中的各個組成部分。

IoT固件結構

無論物聯網設備的CPU采用了哪種架構,啟動過程由以下幾個階段組成:引導加載程序、內核和文件系統(如下圖所示)。當物聯網設備啟動時,板載SoC(片上系統)上的ROM中的代碼首先會將控制權轉移到引導加載程序,之后,引導加載程序將加載內核,而內核則會掛載根文件系統。

引導加載程序、內核和文件系統也構成了典型的物聯網固件的三個主要組成部分。

物聯網設備的引導過程

物聯網設備中使用的CPU架構有很多種。因此,為了分析和理解固件的不同組件,就需要對這些深入了解這些架構以及其指令集。在物聯網設備中,最常見的CPU架構包括:

  • ARM
  • MIPS
  • PowerPC
  • SPARC

可能的攻擊場景

了解了固件結構后,我們就可以考察攻擊者在部署難以檢測的隱形攻擊時,會如何利用這些組件了。

引導加載程序是第一個獲得系統控制權的組件。因此,以引導加載程序為目標的攻擊,為攻擊者提供了執行惡意任務的絕佳機會。這也意味著攻擊可以在重啟后保持持久性。

除此之外,攻擊者還可以操縱內核模塊。實際上,大多數物聯網設備使用的都是Linux內核。就像開發者很容易從Linux內核中定制和選擇他們需要的任何東西一樣,一個能夠設法訪問和操縱設備固件的攻擊者也可以添加或編輯內核模塊。

下面,我們來考察文件系統。實際上,許多常用的文件系統都可以用于物聯網設備。這些文件系統通常很容易被攻擊者所利用。攻擊者可以從固件中提取、解壓縮并安裝原始文件系統,添加惡意模塊,然后使用通用實用程序再次對其進行壓縮。例如,SquashFS是一個Linux的壓縮文件系統,在物聯網廠商中相當流行。通過Linux實用程序“squashfs”和“unsquashfs”,我們就可以非常輕松地掛載或解壓SquashFS文件系統。

本研究所面臨的挑戰

獲取固件

實際上,有多種獲取固件的方法。在進行調查時,有時我們希望獲得的固件屬于規格完全相同的設備。同時,我們還希望通過某些特定方式將其部署在設備上。例如,您懷疑用于更新固件的網絡存在安全問題,并且考慮到在供應商的服務器和設備之間進行過渡時固件存在被篡改的可能性,因此,您想調查更新的固件以驗證其完整性。在另一個示例場景中,您的設備可能是從第三方供應商處購買的,并懷疑固件可能被動過手腳了。

除此之外,還有大量的物聯網設備,其制造商根本就沒有實現任何獲取固件的方法,甚至根本沒有考慮要更新固件。也就是說,這些固件從設備出廠之日開始,終生不變。

在這種情況下,獲取這些固件的最可靠方法是從設備本身提取固件。

這里的主要挑戰是,這個過程不僅需要特定領域的相關知識,還需要具備使用嵌入式系統的專業硬件/軟件經驗。如果要挖掘針對IoT設備的復雜攻擊,這種方法也缺乏可擴展性。

在獲得IoT固件的各種方法中,最簡單的方法就是從設備制造商的網站下載固件。但是,并非所有制造商都在其網站上發布其固件。通常情況下,大部分IoT設備只能通過設備物理接口或用于管理設備的特定軟件應用程序(例如移動應用程序)來進行更新。

當從供應商的網站下載固件時,一個常見的問題是,你可能無法找到特定設備型號的舊版本固件。我們也不要忘記,在許多情況下,發布的固件二進制文件是加密的,它們只能通過設備上安裝的舊固件模塊來進行解密。

了解固件

根據Wikipedia的說法,“固件是一種特殊的計算機軟件,用于為設備的特定硬件提供底層控制。固件既可以為更復雜的設備軟件提供標準化的操作環境(提高硬件的獨立性),也可以為不太復雜的設備充當設備的完整操作系統,來提供所有的控制、監視和數據處理功能。”

盡管固件的主要組件幾乎都是一樣的,但固件并沒有標準的架構。

固件的主要組件通常是引導加載程序、內核模塊和文件系統組成。但是,在固件二進制文件中還可以找到許多其他組件,例如設備樹、數字證書以及其他設備特有的資源和組件。

一旦從廠商網站上獲取了固件的二進制文件后,我們就可以著手進行分析,并對其進行反匯編處理了。鑒于固件的特殊性,其分析過程不僅具有很大的挑戰性,并且非常繁瑣。要獲取有關這些挑戰及其解決方案的詳細信息,請參閱“IoT固件分析”部分。

查找固件中的可疑元素

在固件的組件被提取后,您就可以開始尋找可疑的模塊、代碼片段或針對組件的惡意篡改了。

首先,我們可以根據一組YARA規則來掃描文件系統內容,并且,這些規則可以基于已知的IoT惡意軟件或啟發式規則。此外,我們還可以使用防病毒掃描程序來掃描經過解壓縮處理的文件系統的內容。

同時,您還可以在文件系統中查找啟動腳本。這些腳本中通常會包含每次系統啟動時所加載的模塊列表。而惡意模塊的地址就很可能會被插入到這些腳本中。

在這里,我們可以利用Firmwalker工具來掃描解壓縮的文件系統,查找潛在的易受攻擊的文件。

Firmwalker的功能(https://craigsmith.net/Firmwalker/)

另一個需要研究的地方是引導加載程序組件,盡管這更具有挑戰性。

在物聯網設備中有很多常用的引導加載程序,其中U Boot是最常見的。實際上,由于U Boot具有高度的可定制性,這使得確定編譯后的代碼是否被操縱變得非常困難。另外,在不常見或自定義的引導加載程序中查找惡意修改將會更加繁瑣。

IoT固件分析

目前,已經有許多開源和閉源工具可以幫助我們來分析固件。不過,實際工作中我們最好采用經驗豐富的固件分析師所推薦的工具和技術組合。

下面,讓我們從功能最為豐富的固件分析工具Binwalk開始介紹。Binwalk可以用來掃描固件二進制文件并查找已知的模式和簽名。

該工具不僅擁有IoT設備各種引導加載器和文件系統的簽名集合,還提供了用于普通加密和壓縮算法的簽名,以及用于解壓縮和解碼的相應例程。

除此之外,Binwalk還能夠提取在固件二進制文件中發現的組件。

下面的截圖顯示了Binwalk掃描一個樣本固件二進制文件后的輸出結果:

Binwalk工具的掃描結果

在上圖中,Binwalk已經找到并打印出了頭部信息、引導加載程序、Linux內核以及文件系統。此外,還輸出了從頭部信息和組件本身提取出的元數據的相關細節信息,如每個組件的類型和大小、CRC校驗和、重要地址、CPU架構、鏡像名稱等。現在,我們可以繼續使用Binwalk來提取上述組件,或者根據Binwalk找到的起始偏移量手動計算其大小,并提取相關組件。

提取完固件的組成部分后,我們還可以繼續提取、解壓甚至掛載文件系統,以考察文件系統的內容。當然,我們也可以在反匯編器中查看引導加載程序的代碼,或者通過調試器對其進行調試。

然而,固件分析并不總是那么簡單。實際上,由于固件種類太過繁多,以至于理解其結構和提取組件通常是相當繁瑣的。

下面,讓我們仔細考察另一個樣本固件,并嘗試了解它的結構。

1. Binwalk firmware.bin

Binwalk的掃描結果中沒有顯示任何內容。這意味著Binwalk沒有發現任何已知的簽名。

Binwalk的掃描結果

在這種情況下,我們發現簡單的Binwalk掃描沒有太大的幫助。但是,請注意,我們還可以使用其他工具和技術來深入了解固件的結構。

2. File firmware.bin

下面讓我們利用Linux系統的file實用程序來考察這個固件的二進制文件。

File實用工具的輸出結果

File實用程序將該文件的類型顯示為Targa圖像數據。通過查看二進制文件的頭部,并對Targa圖像數據簽名進行Google搜索,發現這顯然是誤報。

固件二進制文件的第一個字節的內容

之所以出現這種誤報,是因為這個固件文件的第一個字節的內容0x01010000與Targa圖像數據的簽名相匹配,具體請看上面的截圖。

3. Binwalk -E firmware.bin

現在,讓我們開始使用Binwalk工具的另一個功能:檢查固件二進制文件的熵。

使用“-E”命令選項運行Binwalk時,會輸出固件二進制文件的熵圖,以及一些額外的詳細信息,如熵增和熵減的起始處的偏移量。

與熵相關的詳細信息

熵圖

熵值接近1的內容表示經過了壓縮處理,而熵值較低的內容表示未壓縮和未加密。從上面的截圖可以看出,偏移量55296(0xD800)開始,熵值進入高值區。

此外,還有另一個工具可以用來對二進制文件進行可視化處理:binvis.io。通過它,我們可以通過兩個并排的窗格來考察固件文件的內容,并將其可視化。對于文件的不同的部分,會根據熵值以不同的顏色加以顯示。

由binvis.io創建的固件的可視化結果

4. Binwalk -A firmware.bin

此外,Binwalk還可以掃描二進制文件,以尋找常見的可執行操作碼的簽名。

在文件中發現的第一個函數序言

在文件中發現的最后一個函數序言

從上面的截圖中我們可以看到,操作碼簽名檢查結果其實是非常有用的! 首先,我們可以藉此判斷出該固件屬于ARM設備。

其次,如果我們考慮到第一個和最后一個函數序言簽名的偏移量,我們可以得到這樣一個結論,即這些偏移量指向固件二進制文件中存放代碼的段(sections)。

從截圖中我們還可以看到,最后一個函數是在地址0xD600處找到的,也就是在熵上升的部分之前的0x200字節處。由此,我們可以進行一個有根據的猜測:這個偏移量很可能指向引導加載程序代碼的結束位置,同時,也是壓縮后的內核模塊的開始位置。

5. Hexdump -C


hexdump-Cfirmware.bin|grep-C4-e“^*$”

現在,我們知道了固件文件中一些組件的大致邊界,接下來,我們就可以通過查看這些區域周圍固件文件的實際內容來確認這些邊界的具體偏移量了。

如果我們通過hexdump來處理固件文件,并尋找只包含星號 "*"的代碼行,我們就可以找到每個固件組件的編譯器添加的填充字節。

固件二進制文件的內容

固件二進制文件其他部分的內容

通過Hexdump實用程序的輸出內容,加上之前的發現,我們就能確認該固件二進制文件中包含ARM代碼的部分。我們之前曾懷疑這段代碼屬于引導加載程序。

6. Strings –radix=x firmware.bin

接下來,讓我們從固件中提取ASCII字符串以及相關的偏移量。

最后在固件二進制文件中找到的ASCII碼字符串

從上面的截圖來看,其中有一些是與模塊入口點相關的字符串。這些字符串可以幫助我們更好地了解相關代碼的性質。

在下面的截圖中,我們可以從固件二進制的開頭部分看到一些讓人感興趣的字符串。例如,庫名“MctlApplet.cpp”可以用來查找來自同一開發商的其他二進制文件或軟件包。擁有來自同一廠商的其他固件鏡像有助于更好地理解這些二進制文件的結構。

從同一截圖中,另一個引起我們關注的字符串是“Not Booting from softloader”,它可能用于表示進程狀態,或這個模塊的性質。

同時,含有“Assert()”的字符串也可能暗示代碼的不同信息。使用Asserts函數是固件開發中非常常見的一種做法,因為它可以幫助開發人員在開發和生產階段調試和排除代碼中的故障。

在固件二進制文件中找到的第一個ASCII字符串

7. IDA -parm firmware.bin

到目前為止,我們已經從這個固件二進制中收集到了很多有價值的信息,而這些信息在一開始看來是相當難以理解的。

現在,讓我們使用IDA來考察這些代碼。由于這個二進制文件不是一個具有標準頭部的ELF文件,因此,我們需要顯式地告訴IDA使用ARM指令集來反匯編代碼。

IDA中函數部分的反匯編視圖

上面來自IDA的屏幕截圖顯示了如何使用在前面的分析步驟中找到的字符串來幫助查找對內核模塊入口點的調用。

8. dd

現在,我們可以繼續提取固件二進制代碼部分,我們分析后發現該部分屬于引導加載程序模塊。

9. Qemu

從固件二進制文件中提取所有模塊(文件系統內容、內核模塊和其他組件)之后,我們就可以使用Qemu來運行這些二進制文件了,甚至可以模擬運行與我們自己機器的體系結構不同的文件,并與它們進行交互。

小結

如今,物聯網設備的數量正在與日俱增。從工業控制系統、智慧城市、汽車到消費級設備,如手機、網絡設備、個人助理、智能手表以及種類繁多的智能家電等,到處都可以看到物聯網設備的身影。

物聯網設備源自于已經存在多年的嵌入式系統。由于這些設備的自身特性的緣故,嵌入式設備軟件的制造和開發一直有著不同于通用計算機系統的優先考慮事項。這些優先事項是由設備本身的有限和特定功能、底層硬件的有限能力和容量以及所開發的代碼無法進行后續更改和修改所決定的。同時,物聯網設備與傳統的嵌入式系統還是具有顯著的差異的。如今,大多數物聯網設備都在具有與通用計算機系統相似功能的硬件上運行。

隨著物聯網設備變得越來越普遍,它們現在正在訪問和控制我們生活和日常互動的許多方面。物聯網設備現在有可能給攻擊者帶來前所未有的入侵機會。這不僅凸顯了物聯網設備安全的重要性,也彰顯了圍繞這一主題進行研究的現實意義。不過,好消息是,目前已經有許多工具和技術可用于協助安全研究人員進行該領域當前和未來的相關研究。掌握物聯網設備的架構,學習這些設備所用的語言,以及堅定的決心和毅力是進入這個研究領域所必需的。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3634

    瀏覽量

    129927
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10932

    瀏覽量

    213556
  • 智慧城市
    +關注

    關注

    21

    文章

    4281

    瀏覽量

    97995
  • 物聯網設備
    +關注

    關注

    1

    文章

    235

    瀏覽量

    19887
收藏 人收藏

    評論

    相關推薦

    宇樹科技在聯網方面

    是機器人感知環境的重要部件,如同機器人的 “眼睛”,能夠幫助機器人獲取周圍環境的三維信息、識別物體和障礙等,為機器人在復雜環境下的導航、避障和操作提供了關鍵支持。 傳感器技術應用拓展:隨著
    發表于 02-04 06:48

    聯網就業有哪些高薪崗位?

    進行分析和挖掘,提供有價值的信息和見解,以支持決策和業務發展。對于數據科學和人工智能有深入了解的數據分析專家,將迎來更多的高薪崗位機會。 聯網產品經理: 負責對
    發表于 01-10 16:47

    聯網(IoT)智能設備是什么?

    什么是iot智能設備聯網(IoT)智能設備是指接入互聯網并搭載了各種傳感器和執行器,能夠收集、交換、處理和執行操作的各種
    的頭像 發表于 01-02 15:51 ?445次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯網</b>(IoT)智能<b class='flag-5'>設備</b>是什么?

    聯網學習路線來啦!

    聯網學習路線來啦! 聯網方向作為目前一個熱門的技術發展方向,有大量的人才需求,小白的學習入門路線推薦以下步驟。 1.了解
    發表于 11-11 16:03

    藍牙AES+RNG如何保障聯網信息安全

    指定地點,對魚缸所在企業造成較大經濟損失以及其他損失。因此物聯網數據安全尤為重要。藍牙通信協議常作為聯網通信協議,應用到各大聯網場景中。
    發表于 11-08 15:38

    芯科科技如何應對聯網安全挑戰

    任何連接到互聯網的東西都可能在某一時候面臨攻擊攻擊者可能會試圖遠程破壞聯網設備,以竊取數據,
    的頭像 發表于 11-08 14:44 ?458次閱讀

    聯網設備的標準與規范

    聯網(IoT)正在改變我們的生活方式,從智能家居到工業自動化,再到智慧城市,聯網設備正在滲透到我們生活的方方面面。隨著
    的頭像 發表于 10-29 11:34 ?975次閱讀

    如何選擇聯網設備的PCB技術

    隨著聯網(IoT)技術的不斷發展和應用范圍的擴大,適合聯網設備的PCB技術也在不斷創新和進步。選擇適合
    的頭像 發表于 10-16 15:11 ?444次閱讀

    如何測試聯網設備的功耗

    如何測試聯網設備的功耗聯網(IoT)將涵蓋我們日常生活的各個方面,因為它使數十億的物品能夠隨時隨地與任何事物和任何人連接。消費者對智能
    的頭像 發表于 10-11 08:05 ?632次閱讀
    如何測試<b class='flag-5'>物</b><b class='flag-5'>聯網</b><b class='flag-5'>設備</b>的功耗

    基于聯網設備管理

    聯網設備管理的重要性日益凸顯,設備數量激增帶來數據泄露風險。加強設備安全性、軟件升級與修復、身份驗證和互操作性是關鍵。
    的頭像 發表于 09-10 11:04 ?743次閱讀
    基于<b class='flag-5'>物</b><b class='flag-5'>聯網</b>的<b class='flag-5'>設備</b>管理

    什么是聯網技術?

    什么是聯網技術? 聯網技術(Internet of Things, IoT)是一種通過信息傳感設備,按約定的協議,將任何物體與網絡相連
    發表于 08-19 14:08

    IP地址與聯網安全

    聯網(IoT)迅速發展大量的設備接入網絡,使得我們的生活獲得極大的便利。那么你了解聯網嗎?本文將探討IP地址在
    的頭像 發表于 07-15 10:26 ?628次閱讀

    家里聯網設備每天遭受10次攻擊聯網安全制度建設需加速推進

    近日,安全解決方案廠商NETGEAR和網絡安全軟件供應商Bitdefender聯合發布了一份關于聯網設備安全形勢的報告,該報告研究
    的頭像 發表于 07-11 08:05 ?286次閱讀
    家里<b class='flag-5'>聯網</b><b class='flag-5'>設備</b>每天遭受10次<b class='flag-5'>攻擊</b>,<b class='flag-5'>物</b><b class='flag-5'>聯網</b>安全制度建設需加速推進

    設備監控聯網SaaS平臺是什么?設備監控聯網SaaS平臺的功能

    設備監控聯網SaaS平臺是一種基于云計算技術,專為設備監控和管理設計的軟件即服務(Software as a Service)解決方案。這種平臺允許企業無需自行搭建和維護
    的頭像 發表于 05-15 16:17 ?676次閱讀

    英國實施新法令強制聯網設備禁用默認弱密碼

    攻擊手段揭秘:此次攻擊并非復雜技術,黑客通過Mirai僵尸網絡,利用無線攝像頭至WiFi路由器等聯網消費設備進行
    的頭像 發表于 04-30 16:53 ?1408次閱讀
    主站蜘蛛池模板: 美女被免费网站视频九色 | 久操精品在线观看 | 久久影视免费观看网址 | 久青草视频免费视频播放线路1 | 成 人 a v黄 色 | 情久久| 天天看天天爽 | 在线www天堂资源网 在线播放 你懂的 | a级午夜毛片免费一区二区 a看片 | 欧美色图亚洲综合 | 久久在草 | 欧美在线免费 | 久操中文| 亚洲天堂最新地址 | 97影院理论片在线观看 | 欲色网站| 国产一级特黄 | 91网址在线播放 | 67194最新网址| 天天更新影院 | 一区二区视屏 | 午夜欧美在线 | 色视频观看| 午夜免费视频观看 | 亚洲人成网i8禁止 | 在线免费国产 | 中文字幕第一 | 国产综合13p | 99久久免费精品国产免费高清 | 七月婷婷在线视频综合 | 日本视频h| 手机在线看福利 | 亚洲天堂成人网 | 天天射日 | 高清欧美日本视频免费观看 | 一二三区乱码一区二区三区码 | 看黄网站免费 | 色多多免费观看 | 视频免费播放 | 日韩免费高清一级毛片 | 1024你懂的国产在线播放 |