注1:本文為湖南底網安全信息技術有限公司安全團隊原創文章,轉發請注明出處
注2:該文已同步在今日頭條"湖南底網安全"主頁發布(原"電子技術論"主頁),鏈接如下:https://www.toutiao.com/article/7197968863081284133/?
前言
固件分析和固件檢測的技術“深”不可測,其范疇包括但不限于CPU架構類型、指令集、應用程序、文件系統、操作系統、驅動、內核、boot、die晶圓、集成晶體管電路等等,越往底層越深不可測,其“段位”也越高,“固件分析”和“固件檢測”如何差異化理解對于客戶需求理解、甲方固件安全類產品設計、乙方固件安全類產品應用理念同樣非常重要。
固件檢測
重點指檢測平臺采用“模板”式方式對固件“特定”內容進行自動化、高效率匹配檢測,如元信息提取、指定文件分析、開源或已知組件漏洞關聯檢測等功能,其特點是“呆板式”、高自動化、高效率檢測,換而言之,平臺“模板”以外、固件“特定”內容以外的固件無法檢測,當然沒有絕對的固件“檢測”,很多廠商提供的固件檢測產品定會附帶部分固件分析功能,側重點不同而已。
固件分析:
行業內人士最先想到的是IDAPro,這只是固件分析的有力工具之一,最重要的是有“目的”的會用活用這類工具。重點指平臺具備對固件所有內容或部分內容進行反匯編逆向解析的能力,平臺逆向解析的能力包括且不限于:函數調用關系圖(非函數對應關系圖)、反匯編指令及對應地址的解析呈現、內存數據及對應地址的解析呈現、指令的拓展解析(偽代碼、寄存器映射、指令功能注釋等)、指令/RAM的內存分布解析、動靜態模擬逆向仿真等能力,特點是強調平臺反匯編逆向解析能力、人工分析的結果。不少國際頂尖安全團隊時不時爆出某某設備或系統的固件高危漏洞或隱患,不僅僅單獨依托固件自動化檢測平臺檢測出來,而主要是靠人工分析、摸索、測試、挖掘、驗證出來。
關鍵點
固件檢測、固件分析的結果能否真正打動客戶、撬動客戶內心尤其是引起客戶高層重視甚至震撼業界,是爭取客戶、打動客戶并贏得口碑的關鍵。這需要團隊各方面的努力,固件分析服務前期、中期、末期各階段都不容忽視,也就說所謂的“全生命周期、閉環理念”。
固件分析工作如何開展?
1.首先要能夠通過各種途徑獲取到分析對象--固件,固件提取/固件截獲監聽/uboot內存導出、root權限下載、廠商索要等都是可以嘗試的方式。
2.明確或嘗試明確固件對應設備/應用功能特點、通信接口、業務功能、技術參數等信息,初步總結出固件分析的最終達到目的。避開設備/應用信息不談的固件分析是“不負責任”或“情不得已”的固件分析。
3.確定固件對應處理器的內核種類、指令集,明確該固件是應用處理器的固件還是微控制器的固件,因為這是兩個固件分析/檢測的方向,這一步相對容易。
4.熟悉固件對應芯片型號,深入分析芯片datasheet,想辦法確定其內存分布空間、代碼運行機制、代碼加載/運行地址等細節,這一步較難、很抽象,需要有較深的相關技術背景和基礎學科沉淀。
5.固件逆向分析,這一步是最難、最核心一步,對技術基礎學科、技術功底、技術面、心理素質、邏輯思維等方面要求極高,尤其對硬件底層綜合技術和固件編程正反向技術開發能力兼備的要求極高(這里涉及的技術點太多太廣,不展開論述),這也是最容易失敗、遭遇挫折的一步,分析的方法沒有固定也不會固定,主要靠個人或團隊經驗,不同的設備,采取的固件分析方法、思路都不同。千變萬化、變幻莫測。
6.“固件分析”相關的工作開展,除了講究技術策略、技術功底外,還有什么很重要?
答曰:發散思維,最忌諱墨守成規,鼓勵“自主創新”、“天馬行空”、“頭腦風暴”式的探索、挖掘、驗證,其實這和IOT設備滲透測試、模糊測試的思維類似,這句話表面看似好理解,真正能融會貫通、深入理解運用到實際工作中卻很難,包括我們安全團隊自己也需要不斷學習摸索。另外需持續不斷學習“新”的技術知識,還要不斷鞏固夯實“舊”的技術基礎。
7.“固件分析”與“固件攻擊”兩者您能聯想到什么?
兩者應緊密結合起來考慮,“固件攻擊”是“固件分析”的升華版,以攻促防是“固件攻擊”的核心出發點,也是我們安全團隊的職業道德準則,只做固件分析,不考慮固件攻擊,會有點“虧”,因為具備了固件分析的能力,固件攻擊也近在咫尺,固件分析是服務,固件攻擊是固件分析的“反”面教材,直接演示效果,很有“觀賞性”、“警示性”,是最能直接撥動客戶高層內心“琴弦”的”說客“,也是樹立口碑、品牌推廣最有效、花費成本最低的捷徑之一。
關聯技術不可忽略
國內或國際頂級固件分析、硬件底層、網絡底層安全研究團隊,我們堅信他們用到的技術絕非單一、孤成一體,而是靈活多變、有的放矢、借助其它外部關聯技術、工具相輔相成、環環相扣、循序漸進的開展,包括且不限于KPI密鑰管理體系、嵌入式正向開發編程、ARM硬件體系架構、匯編指令、證書文件編碼格式、加解密算法特征掌握、動態協議分析驗證、標準和非標準安全/非安全協議(TLS、telnet、ssh、UDS、私有CA認證協議等)熟悉、TCP/IP、CAN、UART、I2C、SPI、USB等各常用總線協議的理論知識和實踐應用甚至具備開發級能力……太多太多(這是個漫長的過程,需要個人及團隊不斷沉淀積累,非一朝一夕之功)。
我們在分析固件時,其對應的設備種類、功能千變萬化,沒有上述關聯技術支撐,很難有重大突破,當然即便有關聯技術支撐,固件分析整個過程也很艱辛,尤其是越來越多的芯片廠商逐漸重視固件的防護,矛和盾之間的彼此競爭賽跑,誰落后就得“挨打”。
這里著重強調下TCP/IP底層網絡攻擊,所謂底層網絡攻擊,主要是相對于上層應用來區分的,典型的上層TCP/IP網絡攻擊包括且不限于:HTTPS截獲篡改攻擊、SQL注入、跨站腳本攻擊(XSS)、DNS欺騙、釣魚網站誘導等等都是TCP/IP應用層攻擊,那么TCP/IP底層協議攻擊包括哪些?又如何理解這些攻擊背后的防護理念和技術競爭力?
答曰:包括且不限于DHCP攻擊、ARP欺騙、DOS攻擊、TCP半連接攻擊、SYN洪流攻擊、IP欺騙、IP報文攻擊(如TTL值篡改)、路由表攻擊、MAC欺騙、ICMP協議攻擊(重定向、IPtrace嗅探)等等,運用上述攻擊方法理論知識并同時具備TCP/IP驅動層編程能力(類似LINUX或WIN系統內核級TCP/IP編程),就可實現針對任意普通局域網內(相比軍事網絡、特定安全防御網絡而言)任何上網設備,如臺式機PC、筆記本電腦、手機、工控機、其它IOT智能聯網設備,均可遠程無接觸、無需授權即可篡改這些設備的IP配置信息,如IP地址、DNS、網關等關鍵配置,并可獲取該網絡里所有或指定設備里各應用程序與外網通訊的所有TCP/IP數據流(具體可詳見湖南底網安全官網另一篇文章:模擬黑客攻擊視頻),當然,也可進一步配合架設外部DNS欺騙服務器,實現典型的DNS欺騙攻擊、網頁欺騙攻擊等。
結束語
上述內容均聚焦于固件分析、硬件底層、網絡底層安全分析、攻防及檢測三大塊,這三大塊是系統最脆弱、最易被攻擊的地方,雖然現在很多安全公司宣稱有很多安全防護技術,如沙箱隔離防護技術、零信任認證體系等,但這些都是基于上層的防御,對于硬件底層攻擊毫無抵抗之力。固件分析、硬件底層、網絡底層這三大塊每一塊都是個重要領域、一門專業,很多公司甚至是設專人專崗,獨成一體甚至獨成一團隊,但三者又是相輔相成,你離不開我,我離不開你,我們堅信,頂級的硬件底層安全研究團隊,分工明確,看問題、看需求、做事情能大膽創新、融會貫通、靈活有效運用不同技術方法、技術策略、技術驗證等手段達成目標。
-
網絡安全
+關注
關注
10文章
3176瀏覽量
59923 -
固件
+關注
關注
10文章
558瀏覽量
23067 -
物聯網安全
+關注
關注
1文章
111瀏覽量
17254 -
硬件安全
+關注
關注
0文章
13瀏覽量
2470
發布評論請先 登錄
相關推薦
評論