物聯網硬件安全分析基礎-硬件分析初探

前言

當我們在分析IOT設備,如智能攝像頭、智能門鎖、智能路由器等等產品時,採用傳統的安全檢測手段,如對APP的逆向、雲端服務器的滲透測試、產品通信的抓包等方式可以獲得部分的信息,但如果需要深入分析智能設備底層的工作原理,從中發現更深層次的安全問題,就不可避免的需要直接接觸硬件本身,這也是傳統安全手段未能觸及的部分,據此,下面簡單的談下關於電路分析和芯片固件提取和調試的一點心得。

芯片

ROM 芯片

常見的 IOT 產品,一般採用嵌入式 linux 系統開發,對芯片分析主要目的之一就是獲取到硬件系統的固件,從固件中分析可能存在的安全風險。
固件一般存儲在 ROM 中,ROM 是隻讀存儲器(Read-Only Memory)的簡稱,是一種只能讀出事先所存數據的固態半導體存儲器。其特性是一旦儲存資料就無法再將之改變或刪除。通常用在不需經常變更資料的電子或電腦系統中,並且資料不會因爲電源關閉而消失。
常見的存儲芯片按照存儲讀取方式和製作工藝不同,可以分爲: ROM、PROM、EPROM、EEPROM、FLASH-ROM。
在大部分IOT產品中多采用 flash 芯片作爲存儲器,提取固件主要也是通過讀取 flash 芯片。
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

Flash芯片

FLASH ROM 屬於真正的單電壓芯片,在使用上很類似 EEPROM,因此,有些書籍上便把 FLASH ROM 作爲 EEPROM 的一種。事實上,二者還是有差別的。FLASH ROM在擦除時,也要執行專用的刷新程序,但是在刪除資料時,並非以 Byte 爲基本單位,而是以 Sector(又稱 Block)爲最小單位,Sector 的大小隨廠商的不同而有所不同;只有在寫入時,才以 Byte 爲最小單位寫入;FLASH ROM 芯片的讀和寫操作都是在單電壓下進行,不需跳線,只利用專用程序即可方便地修改其內容;FLASH ROM的存儲容量普遍大於EEPROM,約爲 512K 到至 8M KBit,由於大批量生產,價格也比較合適,很適合用來存放程序碼,近年來已逐漸取代了 EEPROM,廣泛用於主板的 BIOS ROM,也是 CIH 攻擊的主要目標。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

根據技術方式不同可分爲: IIC EEPROM、SPI NorFlash 、CFI Flash、Parallel NandFlash、SPI NandFlash、eMMC Flash、USF2.0 等。
其中 SPI NorFlash 因爲接口簡單,使用的引腳少,易於連接,操作方便,並且可以在芯片上直接運行代碼,其穩定性出色,傳輸速率高,在小容量時具有很高的性價比,這使其很適合應於嵌入式系統中作爲 FLASH ROM,所以在市場的佔用率非常高。
我們通常見到的 S25FL128、MX25L1605、W25Q64 等型號都是 SPI NorFlash,其常見的封裝多爲 SOP8,SOP16,WSON8,US0N8,QFN8、BGA24 等。
這裏寫圖片描述

這裏寫圖片描述

芯片印字

一般 PCB 上有多塊邏輯處理 IC,在多個 IC 芯片中,可以通過分析電路原理和查找芯片印字來確定具體的存儲芯片。
芯片上的絲印大多數情況會註明廠商和芯片型號,通過印字可以初步確定芯片類型,同時絲印層的文字也可以幫助我們來確定存儲的格式和大小,常見的 W25 芯片的印字含義如下:

這裏寫圖片描述

編程器

讀取Flash芯片,需要藉助編程器,編程器又稱燒錄器、寫入器、寫碼器,是專門用來對 IC 芯片進行讀寫、編程/燒錄的儀器。並口多功能 BIOS 編程器,它可以對 EPROM(27系列芯片)、EEPROM(28系列芯片)、FLASH ROM(29、39、49系列芯片)及單片機、串行芯片等進行讀寫、編程,是一種性價比較高的編程器。
編程器種類多樣,從功能簡單的專用型到功能全面的全功能通用型都有,價格從幾十元到上萬元不等。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

通信協議

串口通信指串口按位(bit)發送和接收字節。儘管比按字節(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。在串口通信中,常用的協議包括 RS-232、 RS-422 和RS-485。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

RS-232

通信方式允許簡單連接三線:Tx、Rx和地線。但是對於數據傳輸,雙方必須對數據定時採用使用相同的波特率。

RS-422

RS-422 標準全稱是“平衡電壓數字接口電路的電氣特性”,在 RS232 後推出,使用 TTL 差動電平表示邏輯,就是兩根的電壓差表示邏輯,RS422 定義爲全雙工的,所以最少要4根通信線(一般額外地多一根地線)。
### RS-485
RS485是一個定義平衡數字多點系統中的驅動器和接收器的電氣特性的標準,RS-485與 RS-422 的區別在於RS-485爲半雙工通信方式, RS-422 爲全雙工方式。 RS-422 用兩對平衡差分信號線分別用於發送和接收,所以採用 RS-422 接口通信時最少需要4根線。RS-485 只用一對平衡差分信號線,不能同時發送和接收,最少只需兩根連線。
### SPI
spi是串行外設接口(Serial Peripheral Interface)的縮寫。SPI是一種高速的,全雙工,同步的通信總線,並且在芯片的管腳上只佔用四根線,節約了芯片的管腳,同時爲 PCB 的佈局上節省空間,提供方便,正是出於這種簡單易用的特性,如今越來越多的芯片集成了這種通信協議,比如 AT91RM9200。
### I2C
I2C 即Inter-Integrated Circuit(集成電路總線),這種總線類型是由飛利浦半導體公司在八十年代初設計出來的一種簡單、雙向、二線制、同步串行總線,主要是用來連接整體電路(ICS) ,IIC 是一種多向控制總線,也就是說多個芯片可以連接到同一總線結構下,同時每個芯片都可以作爲實時數據傳輸的控制源。這種方式簡化了信號傳輸總線接口。

信號分析

示波器分析

示波器是一種用途十分廣泛的電子測量儀器。它能把肉眼看不見的電信號變換成看得見的圖像,便於人們研究各種電現象的變化過程。示波器利用狹窄的、由高速電子組成的電子束,打在塗有熒光物質的屏面上,就可產生細小的光點(這是傳統的模擬示波器的工作原理)。在被測信號的作用下,電子束就好像一支筆的筆尖,可以在屏面上描繪出被測信號的瞬時值的變化曲線。利用示波器能觀察各種不同信號幅度隨時間變化的波形曲線,還可以用它測試各種不同的電量,如電壓、電流、頻率、相位差、調幅度等等。

這裏寫圖片描述

這裏寫圖片描述

通過分析電路結構,找到待測的引腳和信號源,分析其信號變化和具體的信號形式,得到模擬信號和經過外部AD轉換信號的波形圖。

邏輯分析儀

邏輯分析儀是分析數字系統邏輯關係的儀器。邏輯分析儀是屬於數據域測試[2]儀器中的一種總線分析儀,即以總線(多線)概念爲基礎,同時對多條數據線上的數據流進行觀察和測試的儀器,這種儀器對複雜的數字系統的測試和分析十分有效。邏輯分析儀是利用時鐘從測試設備上採集和顯示數字信號的儀器,最主要作用在於時序判定。由於邏輯分析儀不像示波器那樣有許多電壓等級,通常只顯示兩個電壓(邏輯 1 和 0 ),因此設定了參考電壓後,邏輯分析儀將被測信號通過比較器進行判定,高於參考電壓者爲 High ,低於參考電壓者爲 Low,在 High 與 Low 之間形成數字波形。
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

通過連接待測設備的接口,分析其中通信數據,通過協議轉碼,可以得到具體的16進制數據。

設備拆解

對於一臺未接觸過的機器,拆解首先需要觀察其外部結構,是否存在暴露的螺絲孔,如果沒有,一般可能隱藏在貼紙或橡膠墊下面,可以用手感受是否存在空洞,部分機器採用卡榫結構,只要找對方向,用一字螺絲刀或撬片,從縫隙中就可以撬開,拆解設備唯一的要訣就是膽大心細。部分常用工具如下:

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

維修組合套裝,用來拆裝各類螺絲,PCB 夾用來拔出排線,熱風槍和焊臺用來拆焊各類元器件和芯片,BGA 焊臺用於拆焊 BGA 封裝的芯片。

常見物聯網智能設備

這裏寫圖片描述

共享充電寶,採用 gprs 模塊配合物聯卡與雲端通信。

這裏寫圖片描述

藍牙掛鎖,通過藍牙芯片與手機配對通信,
藍牙控制電機驅動,使卡鎖運轉。

這裏寫圖片描述

共享充電寶,採用 GSM 模塊加藍牙模塊控制通信。

這裏寫圖片描述

智能鎖,WIFI 芯片加藍牙芯片配合控制,外接指紋識別傳感器。

這裏寫圖片描述

智能攝像頭,採用 WIFI 芯片通信,外接音頻、視頻處理模塊。

這裏寫圖片描述

網絡攝像機,採用網卡芯片,配合多口輸出輸入視頻信號模塊。

這裏寫圖片描述

智能路由器,高容量內存搭配智能 OS。

這裏寫圖片描述

智能家居控制終端,高性能 WIFI 收發中繼控制。

這裏寫圖片描述

智能保險櫃,採用 WIFI 芯片控制加指紋識別傳感器。

這裏寫圖片描述

無線終端,採用 4G 模塊和 WIFI 芯片,做便攜式 WIFI 終端。

相關鏈接

名稱 鏈接
《物聯網安全百科》 iot-security.wiki
伏宸安全實驗室 future-sec.com
IOT Security iot-security.org
Yaseng Blog yaseng.org
知乎專欄 zhuanlan.zhihu.com
郵箱 [email protected]
qq 交流羣 306482276
微信公衆號
微信交流羣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章