KeyFrame內部研究專用

Black Hat EU 2003 - Design and Software Vulnerabilities In Embedded Systems

YouTube Creator·10月3日週四·92 min英文

三句話摘要

嵌入式系統的安全漏洞:從 Pocket PC 到 HP 印表機、Cisco 路由器的設計缺陷與軟體脆弱性分析。 嵌入式系統無法更新、診斷功能未隔離、HTTP 實作普遍脆弱,但其掌控的網路關鍵基礎設施和個人資料同樣重要——應將其視為與桌面系統等同的威脅,並透過網路隔離、禁用不必要服務、強化認證機制進行防禦。 嵌入式系統安全本質上脆弱。大多數嵌入式系統無法像桌面作業系統那樣快速打補丁,硬體設備一旦發現安全漏洞,用戶往往必須送回經銷商更新,這種滯後性導致漏洞長期存在。同時,嵌入式系統通常無法額外安裝防護軟體,只能依賴出廠配置。

重點整理

重點
  • 1

    嵌入式系統安全本質上脆弱。大多數嵌入式系統無法像桌面作業系統那樣快速打補丁,硬體設備一旦發現安全漏洞,用戶往往必須送回經銷商更新,這種滯後性導致漏洞長期存在。同時,嵌入式系統通常無法額外安裝防護軟體,只能依賴出廠配置。

  • 2

    設計缺陷是最常見的攻擊入口。包括未文檔化的開發者後門、「開箱即用」功能長期保持啟用、對標準協議的非標準實作(如 Cisco 對 RFC 的自定義解釋),以及因倉促開發導致的功能交互漏洞。例如 S.E.N.D 路由器預設允許 UDP 協議遠端重新配置。

  • 3

    HTTP 服務實作普遍不堪一擊。逐字稿中提及「我還沒看過一個不完全有問題的嵌入式 HTTP 守護程式」,簡單的長用戶名或畸形 GET 請求即可導致設備當機。這些漏洞跨越多個廠商和產品,並非孤立事件。

  • 4

    記憶體管理的任意寫入能力可達成完整控制。Cisco iOS 的堆溢位允許攻擊者透過精心構造的記憶體塊頭部,在利用指標交換機制執行任意代碼,進而修改 NVRAM 配置、禁用中斷保護並獲取完整路由器控制權。

實用技巧與重點

乾貨
  • Pocket PC 密碼繞過:
  • 進入 Bootloader 模式:按下電源鍵→軟重啟→按日曆按鈕進入密碼菜單
  • 密碼菜單選項:顯示密碼統計、停用密碼、清除密碼
  • RAM 容量:32 MB(可複製到 SD 卡檢查)
  • 停用後可無密碼登入,無需知道原密碼
  • HP 印表機漏洞:
  • PGL(印表機工作語言)安全密碼:1 到 65535 間的數字,可在 6 小時內遠端爆破
  • SNMP 硬編碼社群字串返回管理員密碼
  • 檔案系統存取:早期型號 8 MB 儲存空間,新型號 80+ GB
  • Shy VM:Java 虛擬機,內含可修改的 HTML 檔、圖形、固韌體
  • CS Config 檔案:修改可載入不同 Java 類別並執行
  • S.E.N.D 路由器 ATMP 漏洞:
  • 預設啟用 ATMP(S.N. 隧道管理協議)
  • 建立 GRE 隧道時檢查本地連接設定檔
  • 空設定檔配對空密碼即可通過認證,無需使用者名稱
  • Cisco 增強 IGRP 拒絕服務:
  • Hello 訊息計時器:16 位元,最大 ~18 小時
  • ARP 重試次數:計時器每次遞減時重新 ARP 一次,發送多個非存在 IP 地址導致 CPU/頻寬全佔用
  • 影響:所有 iOS 版本,Cisco 未修復
  • Cisco 2500/1600 堆溢位利用:
  • TFTP 長檔名觸發堆溢位
  • 記憶體塊頭部大小:32 位元組(包含魔法數字、指標、大小、紅區)
  • 紅區檢查:唯一的記憶體保護機制,每 30 秒執行一次
  • 利用步驟:第一次溢位洩漏記憶體佈局→第二次溢位寫入假塊頭→利用指標交換寫入 NVRAM→重啟裝置
  • OSPF 漏洞(UPSPF):
  • 相鄰路由器數量限制:256(類別 C 網路設計遺物)
  • Hello 封包路由器 ID:允許空字符
  • I/O 記憶體固定大小區塊,容量達到閾值後新增/釋放
  • 最小 iOS 配置:一個介面 IP + 回傳路由
  • 防護措施:
  • 不信任單一廠商設備(Cisco、Checkpoint 都可能被破解)
  • 印表機:設定管理員密碼、更改 SNMP 社群、移除預設 Loader、使用 IP 過濾或實體隔離
  • 路由器:移除未使用服務(TFTP)、保持 iOS 更新、啟用 Debug Sanity、配置 NVRAM 保護、分離 Syslog 日誌
  • 配置暫存器 0:禁止開機載入配置(需實體存取主控台)

結論

結論

嵌入式系統無法更新、診斷功能未隔離、HTTP 實作普遍脆弱,但其掌控的網路關鍵基礎設施和個人資料同樣重要——應將其視為與桌面系統等同的威脅,並透過網路隔離、禁用不必要服務、強化認證機制進行防禦。

完整解析

詳細

這場演講跨越多位安全研究者的發現,揭示嵌入式系統從設計到實作的系統性安全危機。

Pocket PC 的完整破解涉及硬體層面的直接存取。研究者發現 Pocket PC 的韌體允許使用診斷 SD 卡進入 Bootloader 模式,從而繞過所有軟體層的密碼保護。透過 Bootloader 內建的密碼菜單,攻擊者可以直接停用或清除密碼,隨後取得裝置完全控制權。這個案例說明即使軟體層實作了密碼機制,硬體層的診斷功能若未妥善隔離,將使所有上層防護形同虛設。XDA 開發者社群開發的工具更進一步,能夠直接修改 GSM 模組參數、清除通話記錄,顯示嵌入式系統的安全邊界極其模糊。

HP 印表機漏洞的利用鏈從設計缺陷開始。PGL 協議原本用於列印任務管理,卻允許直接存取印表機檔案系統。安全密碼機制看似有 65535 種可能,但因為沒有嘗試限制和鎖定機制,遠端爆破只需 6 小時。更嚴重的是,SNMP 實作硬編碼了包含管理員密碼的變量,對標準 SNMP 讀取社群字串的查詢直接洩露憑證。演講者展示的工具利用 Shy VM(印表機內的 Java 虛擬機)執行任意代碼。由於 Shy VM 內的各服務完全信任彼此,一旦代碼執行就如同取得 root 權限。HP 甚至提供了郵件服務,攻擊者可透過外部郵箱發送命令,印表機會定期檢查並執行。此外,修改 CS Config 檔案可繞過簽名驗證機制,加載未簽名的 Java 類別。演講者團隊設計的網頁介面工具將這一切簡化,讓任何人都能修改印表機顯示訊息、設定列印份數上限、甚至鎖定實體按鈕。

Cisco 路由器漏洞展示了記憶體管理的根本設計問題。iOS 的堆溢位漏洞基於雙連結串列結構,記憶體塊頭部包含指標、大小、紅區等欄位。攻擊者透過 TFTP 長檔名觸發溢位,精心構造假塊頭部,利用 iOS 的指標交換機制(在釋放記憶體時進行)達成任意記憶體寫入。第一步是洩漏記憶體佈局,通過製造可控的當機並重啟,觀察重啟後的記憶體初始化狀態。第二步構造指向 NVRAM 配置存儲位置的指標,透過一個精心設計的「自修改代碼」區塊,不但能寫入新配置,更能在重啟前禁用中斷並解除 NVRAM 寫保護。最終效果是遠端重寫路由器配置、添加管理帳戶,無需實體存取。對於 OSPF UPSPF 漏洞,攻擊者大量發送偽造的 Hello 封包,使相鄰路由器表溢出。I/O 記憶體採用固定大小區塊池,當溢位發生時保持穩定(因為記憶體管理不使用鏈結串列),但當達到記憶體閾值觸發新增/釋放時,預先溢位的代碼就會執行。這允許攻擊者投放一個「休眠」漏洞,在流量激增時激活。

設計缺陷無所不在。S.E.N.D 路由器預設啟用的 ATMP 協議在無 RADIUS 伺服器情況下,對空使用者名稱和空密碼的認證請求直接返回 GRE 隧道 ID。HP 印表機和 Cisco 路由器的 HTTP 實作都無法正確處理超長輸入,短短一個畸形請求即導致當機。這些問題不是孤立的程式設計錯誤,而是嵌入式系統開發文化的根本缺陷——開發人員往往是電子工程背景,對軟體安全的關注遠不如桌面應用開發社群;同時限制的資源和無法快速迭代的佈署模型,使得安全修復成本極高,因此廠商傾向於對已知漏洞視而不見。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。