Black Hat EU 2003 - Hunting Flaws in JDK
三句話摘要
網路安全研究的前沿實踐:從 Java 開發工具包漏洞挖掘到蜜罐網路部署。 Java 開發工具包的漏洞與全球蜜罐網路的實戰數據,揭示了防禦必須同時在代碼層級強化檢驗、在架構層級主動監控,方能對抗日益複雜的攻擊。 Java 安全反模式的系統性威脅:JDK 內部的 Sun 類別對無效參數缺乏適當驗證,攻擊者可藉由空值、溢位參數組合觸發本機程式碼崩潰。特別是 java.util.zip 類別的緩衝區邊界檢查不足,導致整數溢位漏洞在 Windows、Linux、Solaris 等多平台通用,影響 Tomcat、Lotus Domino、ColdFusion 等生產環境。
重點整理
重點- 1
Java 安全反模式的系統性威脅:JDK 內部的 Sun 類別對無效參數缺乏適當驗證,攻擊者可藉由空值、溢位參數組合觸發本機程式碼崩潰。特別是 java.util.zip 類別的緩衝區邊界檢查不足,導致整數溢位漏洞在 Windows、Linux、Solaris 等多平台通用,影響 Tomcat、Lotus Domino、ColdFusion 等生產環境。
- 2
漏洞發現的自動化方法:透過反編譯工具與依賴分析找出從公開 API 到易受攻擊本機函數的調用路徑,使用 Java 反射 API 動態構造 Sun 物件並測試各 JDK 版本,大幅降低手工漏洞挖掘的時間成本。
- 3
HoneyNet 的眾包安全研究模式:完全志工組織部署全球蜜罐網路,目標是理解駭客社群的工具、策略與動機,並開源所有發現以提升社群安全意識。蜜罐收集的數據質量高、誤報少,能捕捉加密通訊與自訂工具的攻擊行為。
- 4
第二代蜜罐的隱形監控架構:Sebek 核心模組在作業系統內核層級截獲讀取呼叫,將鍵盤輸入、網路通訊直接送往遠端伺服器。透過修改乙太網路幀頭部隱藏 IP 特徵、限制出站連線次數迷惑入侵者,即使蜜罐被察覺也能繼續蒐集情報。
實用技巧與重點
乾貨- Java 漏洞相關:
- 易受攻擊的 Sun 類別:sun.java2d.Span Clip、sun.awt.image.ImageSurfaceData、java.util.zip.Adler32、java.util.zip.CRC32
- 漏洞報告時間:3 月 3 日
- 首個完全修復的版本:JDK 1.4.1_02
- 不穩定的版本:Sun JDK 1.3.1、IBM JDK 1.3.1
- 工具參考:Jakarta Apache、Java P(反編譯器)、BCL(B 程式碼工程庫)
- 漏洞網站:illegal access.org
- HoneyNet 計畫相關:
- 成立時間:1999 年正式郵件→2000 年 6 月成為專案→2001 年 6 月註冊非營利實體→2002 年成立研究聯盟
- 研究聯盟成員國:英國、挪威、愛爾蘭、巴西、希臘、印度、荷蘭(荷蘭牽頭)
- 出站連線控制規則:一小時內不超過 10 個
- 防火牆軟體:Checkpoint 防火牆
- 數據捕獲工具:Sebek(核心模組)、Snort(內聯入侵檢測)
- 記錄指標:讀取呼叫長度為 1 視為互動式、長度 > 1 且來自 SCP/SSH/SSHD 的流量
- 虛擬環境:VMware GSX Server on Red Hat 7.3
- 作業系統移植:Linux(Mike Clark)、Solaris(演講者負責)、Windows(Mike Davis)、OpenBSD(DROS)
- 網路協定:UDP 資料包,自訂乙太網路標籤過濾
- 數據處理工具:tcpdump、netcat、swatch(日誌分析)
結論
結論“Java 開發工具包的漏洞與全球蜜罐網路的實戰數據,揭示了防禦必須同時在代碼層級強化檢驗、在架構層級主動監控,方能對抗日益複雜的攻擊。”
完整解析
詳細本次演講涵蓋網路安全研究的兩大前沿領域。首部分由博士研究生 Mark Sheld 揭示 Java 開發工具包中的隱藏威脅。Mark 發現 JDK 內部的許多 Sun 類別(位於 RT.jar 中)在調用本機程式碼時,對使用者輸入的參數檢查不足。特別是 java.util.zip 套件的算法(如 Adler32 和 CRC32)存在邊界檢查漏洞:當偏移量加長度超過緩衝區大小時,原本應拋出異常的邏輯因整數溢位而失效,導致不合法的參數值直接傳遞給本機程式碼,引發 JVM 崩潰。這個漏洞影響範圍驚人——Mark 在 Windows、Linux、Solaris 等多個平台上測試,所有平台都會崩潰,且不同 JDK 版本(Sun、IBM)均受影響。更危險的是,java.util.zip 可被使用者程式碼直接存取,也可透過 Applet、Live Connect 或 ColdFusion 等第三方環境被調用,意味著一個惡意網頁或伺服器端 JSP 就能導致整個應用伺服器當機。Mark 還開發了自動化工具,利用 Java 反射 API 動態構造 Sun 物件並測試漏洞,大幅加快了漏洞發現速度。這些工具和發現發布於 illegal access.org。
演講的後半段轉向防守立場,介紹 HoneyNet 計畫如何透過蜜罐網路捕捉攻擊者的行為。HoneyNet 是一個全球志工組織,由來自不同背景的安全專家組成(包括駭客、心理學博士、語言學家、統計學家)。其核心使命是理解駭客社群的工具、策略與動機,並將所有發現開源分享給社群。蜜罐是一種故意暴露的網路資源,不產生實際價值,因此任何與它的互動幾乎必然是惡意的。相比傳統入侵偵測系統每日產生數萬條警報、誤報率高的困境,蜜罐只記錄真實攻擊,數據質量極高。HoneyNet 的第二代技術重點是隱形控制與數據捕獲。透過 Snort 內聯引擎修改過往的網路流量,使系統可以限制攻擊者的出站連線(每小時最多 10 個),同時在攻擊者無法察覺的情況下記錄其所有行為。核心創新是 Sebek 模組——一個被載入作業系統內核的隱形紀錄器。它截獲 read() 系統呼叫,將鍵盤輸入、網路通訊直接外傳至遠端伺服器,即使攻擊者使用 SSH 或 IRC 加密連線也無法逃脫監控。為避免洩露蹤跡,Sebek 修改乙太網路幀頭部,使網路流量無法被標準工具檢測,並在重啟後持續隱藏運行。整個系統設計的關鍵是縮小駭客與防守者之間的資訊不對稱——即使蜜罐被發現是蜜罐,HoneyNet 仍掌握了攻擊者的完整行為紀錄。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

