KeyFrame內部研究專用

Black Hat USA 2000 - Bypassing Intrusion Detection Systems

YouTube Creator·10月1日週二·66 min英文

三句話摘要

入侵偵測系統(IDS)的技術限制與繞過方法——涵蓋網路型、主機型 IDS 以及實際攻擊策略。 安全防禦不是單一的系統或技術,而是多層防禦與持續改進的過程,了解防禦機制的限制正是改進這些防禦的起點。 網路型 IDS 的核心弱點在於失同步——IDS 和目標主機對同一封包的重組方式可能不同。攻擊者若能使 IDS 的隊列失效或造成解釋差異,就能在偵測系統視野中插入看不見的資料,從而逃避簽名偵測。

重點整理

重點
  • 1

    網路型 IDS 的核心弱點在於失同步——IDS 和目標主機對同一封包的重組方式可能不同。攻擊者若能使 IDS 的隊列失效或造成解釋差異,就能在偵測系統視野中插入看不見的資料,從而逃避簽名偵測。

  • 2

    IP 分片攻擊的多層面性——除了簡單的分片化外,攻擊者可以發送重疊分片或利用不同作業系統對分片的不同處理方式。此外,透過發送大量初始化分片來耗盡 IDS 的重組隊列資源,攻擊者可以在資源耗竭後完成真正的攻擊。

  • 3

    TCP 層失同步技術的複雜性——檢查和欺騙、序號操縱、時間活躍值濫用等技術都利用了 RFC 實現的細微差異。攻擊者甚至可以偽造重設封包,使 IDS 誤認為工作階段已結束,藉此隱藏後續攻擊流量。

  • 4

    應用層協定的無限變體問題——HTTP 的各種 URI 編碼方式(點斜線、反向遍歷等)和 Telnet 的退格序列等,都代表合法但非標準的輸入形式。IDS 無法窮盡所有可能的變體,簽名式防禦因此天生存在漏洞。

實用技巧與重點

乾貨
  • 繞過網路型 IDS 的具體技術:
  • IP 分片攻擊(重疊分片、耗盡隊列資源)
  • TCP 檢查和欺騙(發送無效檢查和的封包)
  • TCP 序號操縱(插入序號無效但被 IDS 接受的封包)
  • 時間活躍值 (TTL) 攻擊(利用 TTL 限制使特定封包只被 IDS 看到)
  • 最大傳輸單元 (MTU) 濫用(發送超過 MTU 但設置「勿分片」位的封包)
  • HTTP 變體:CGI-BIN/./PHF、../../../etc/passwd 等目錄遍歷
  • Telnet 退格攻擊:su\b(退格)root 繞過簽名
  • 相關工具與研究:
  • Whisker(RainForest Puppy,HTTP 變體生成工具)
  • Fragrouter(Linux 可載入核心模組,自動化分片攻擊)
  • Bro IDS(專注監控伺服器出站流量而非入站攻擊)
  • Stack Guard(對抗緩衝區溢位,但可被繞過)
  • ITFS 核心模組(隱藏進程、檔案、網路連接)
  • Tripwire(檔案完整性檢查工具)
  • 主機型 IDS 繞過方法:
  • 核心模組修改或後門安裝
  • 庫重定向(攔截系統呼叫,如執行 login 時改為執行惡意程式)
  • 日誌禁用或修改(如將 IP 位址改為其他值)
  • 檔案完整性檢查繞過(修改核心而非修改檔案)
  • 識別與繞過 IDS 基礎設施:
  • DNS 查詢尋找 IDS 主機名(如 ids1.companyname.com)
  • 觀察 IDS 連接重置的方式以識別型號
  • 掃描 IDS 管理介面的開放連接埠
  • 搜尋已發表文章中該 IDS 的已知限制
  • 尋找 DNS 中或網頁上洩露的 IDS 型號資訊
  • 連接埠掃描繞過:
  • 慢速掃描(數小時至三天)超過 IDS 的時間閾值
  • 改變目標連接埠號以避免模式識別
  • 分散式掃描(多個源 IP 各發送少量連接,避免單一來源觸發閾值)
  • 利用分散式阿尼服務工具(Trinoo、TFN)進行多源連接埠掃描

結論

結論

安全防禦不是單一的系統或技術,而是多層防禦與持續改進的過程,了解防禦機制的限制正是改進這些防禦的起點。

完整解析

詳細

這場技術演講系統性地分析了入侵偵測系統的防禦原理及其固有弱點。演講者開篇強調安全是持續的過程,沒有完美的防禦機制,理解這些限制才能改進防禦策略。

網路型入侵偵測系統的核心運作機制是透過分析網路封包中的特定模式來識別攻擊。這個過程涉及兩個關鍵的系統資源:第一是 IP 分片重組隊列,用於接收和重新組裝被分割的 IP 封包;第二是 TCP 工作階段隊列,用於追蹤跨越多個封包的通訊流。IDS 需要將這些分散的數據片段正確重組,然後與已知攻擊簽名比對。然而,演講者強調,這個看似簡單的過程實際上存在根本性的弱點——IDS 對封包的解釋方式可能與目標主機不同。

IP 分片攻擊是最直接的繞過方法。如果 IDS 根本不支援分片重組,攻擊者只需簡單地分割攻擊負載即可完全逃避偵測。即使 IDS 支援分片重組,攻擊者仍可利用不同作業系統對重疊分片的不同處理方式。例如,某些系統會用後來的分片覆蓋先前的數據,而另一些則保留先前的數據。演講者進一步說明了一種資源耗竭攻擊——發送大量初始化分片片段來填滿 IDS 的隊列記憶體,然後在隊列已滿且 IDS 無法進一步處理時,完成真正的攻擊。由於 IDS 資源已耗盡,它將無法檢測真實攻擊。

TCP 層面的失同步攻擊更加複雜且難以防禦。TCP 協議規定了嚴格的序號、確認號和各種控制位元規則,但不同的實作在細節上存在差異。演講者以 TCP 檢查和為例——每個 TCP 封包都包含一個檢查和欄位,用於驗證資料的完整性。攻擊者可以發送一個具有無效檢查和的封包。IDS 會接受它並加入工作階段隊列(在簽名比對時造成污染),但目標主機的核心會驗證檢查和並直接丟棄該封包。這樣攻擊者就在 IDS 的視圖中植入了目標主機實際上看不到的數據。類似的技術還包括操縱 TCP 序號——發送序號超前或落後的封包,使 IDS 的流量重組與實際主機接收到的流量不同。

時間活躍值 (TTL) 攻擊利用了網路拓撲的特性。如果 IDS 位於網路邊界前方且離目標伺服器有多個路由跳躍,攻擊者可以發送 TTL 值較低的封包。這些封包會被 IDS 看到,但在到達目標主機之前耗盡 TTL 並被路由器丟棄。演講者指出,許多組織有複雜的網路拓撲,特別是大型政府機構,可能有五到六個以上的路由跳躍。最大傳輸單元 (MTU) 濫用則利用了不同網路路徑的不同 MTU 設定。攻擊者可以發送超過某個 VPN 或撥號連接的 MTU 的封包,但設置「勿分片」位。第一個邊界路由器會丟棄該封包(因為它無法分片),但 IDS 可能已經將其納入分析,造成誤判。

應用層協定帶來了另一維度的問題。以 HTTP 為例,Web 伺服器實現非常寬容,接受多種合法但非標準的 URI 形式。演講者提到 Whisker 工具展示了如何使用各種 URI 變體來繞過簽名——包括額外的斜線、反向遍歷序列、不存在的目錄等。這些變體在伺服器端通常會被規範化為相同的資源,但傳輸層的 IDS 無法窮盡所有可能的形式。Telnet 協議中的退格鍵問題更加說明了這一點。標準簽名可能尋找「su root」命令,但使用者可以輸入「su(退格)root」,使傳輸線上看到的字符序列完全不同。演講者指出,即使 IDS 試圖理解退格邏輯,不同的終端設定也會導致不同的解釋——沒有完整的線上資訊來判斷接收方實際理解了什麼。

主機型入侵偵測系統面臨一個根本性的困境——它們必須運行在一個不受信任的作業系統上。一旦攻擊者獲得系統存取權限,他們可以修改核心甚至整個作業系統的行為。演講者提到著名的 ITFS 核心模組只有幾千行代碼,卻能隱藏特定進程、檔案和網路連接。這些隱藏是透過攔截系統呼叫實現的,但基於檔案完整性檢查的工具(如 Tripwire)只會發現核心本身已被修改,而不是發現真實的入侵痕跡。庫重定向是另一種相似的技術——攻擊者可以修改動態連結器,使得執行任何命令時都先執行惡意程式。演講者強調了日誌分析的脆弱性——攻擊者可以進入系統並禁用日誌記錄,或更隱蔽地修改日誌以移除自己的痕跡。

演講者也分析了針對 IDS 基礎設施本身的攻擊。許多組織運行多個 IDS 代理程式並將資料集中到單一伺服器(如大型 Oracle 資料庫),這個中央伺服器本身可能成為拒絕服務攻擊的目標。此外,IDS 通常有可識別的特徵——DNS 中註冊的主機名、特定的連接重置方式、開放的管理介面連接埠。這些特徵允許攻擊者在攻擊前識別系統類型,進而採用針對性的繞過策略。

實際的攻擊者在計劃繞過 IDS 時會考慮多個因素:網路是否有多個進入點,是否存在 IDS 無法處理的協議(如路由協議 OSPF、BGP),以及是否可以透過慢速掃描、隨機化或分散式掃描來避免觸發偵測閾值。演講者特別指出,分散式拒絕服務攻擊工具(如 Trinoo 和 TFN)的代理架構也可用於分散式連接埠掃描——多個源各發送少量連接會難以被相關性檢測系統識別為掃描活動。

關鍵時刻

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 的組織必須立即修補。