情報信息是現代網絡安全中重要的一種資源。由于網絡空間裡的黑客有了更強大的工具軍火庫和資源,攻擊行為更多的是有組織犯罪和政府背景行為,攻擊變得越來越複雜,态勢感知技術也因此被應用于網絡空間安全領域來對抗這種複雜的攻擊。為了實現對威脅的全面感知、分析和響應,态勢感知技術需要掌握所有出現的威脅信息,但一種單獨的網絡安全設備無法檢測到所有類型的攻擊,一家單獨的組織也無法發現所有的安全威脅,因此在設備間和組織間交換安全威脅相關的情報成為搭建态勢感知系統的重要基礎。由于不同設備和組織各自有不同的數據格式和數據組織形式,為了加強安全設備的配合,以及促進不同組織間的協同響應,需要開發标準化的機器可識别的網絡空間威脅情報數據交換方法。在這個過程中,不同的組織定義了不同的數據交換協議标準,下面将從時間發展角度介紹幾種不同的常用于威脅情報交換的數據标準:IDMEF、IOMEF、OpenIOC和STIX。
IDMEF
入侵檢測消息交換格式IDMEF(IntrusionDetectionMessageExchangeFormat)是最早定義于安全設備間進行數據交換的标準之一,由IETF的入侵檢測工作組IDWG(IntrusionDetectionWorkingGroup)定義,最後發表時間為2007年。IDMEF主要用于在不同的入侵檢測系統之間交換警報信息,從而實現商用、開源和在研等不同類型的入侵檢測系統之間可以自動地交換數據。IDMEF的格式如圖1所示,隻包括警報(Alert)和心跳(HeartBeat)兩種信息。警報信息中除了常用的時間、攻擊源類型等信息之外,還定了少量的工具、溢出攻擊等字段來說明攻擊的詳細信息,可以被基于網絡和基于主機的入侵檢測系統使用。IDMEF标準的定義時間較早,交換對象也僅限于入侵檢測系統之間警報信息,無法描述更豐富的不同類型的情報數據,因此作為最早的标準之一,盡管大多數入侵檢測系統都支持IDMEF格式的消息輸出,實際應用并不廣泛。
OpenIOC
随着APT攻擊的出現,人們希望能快速地将情報信息用于安全響應,如将僵屍網絡的控制器加入黑名單,将攻擊軟件的代碼特征和網絡特征配置進入主機防禦系統和網絡入侵檢測系統。這些種類的情報信息被命名為IOC(IndicatorofCompromise),它們描述了入侵過程的各種可被觀測的信息。IOC信息根據複雜度可以被分為不同的種類,最簡單的如IP地址、URL信息、郵件主題信息可以直接應用在檢測中,文件Hash、報文負載的正則表達式特征則需要對原始數據進行處理以後才可以使用,為了防止誤報,有時需要将多個簡單或複雜的IOC組合以後才能唯一标記出一類入侵。大量的威脅情報網站(如AlientVault公司的OpenThreatExchange)都定義了自己的IOC格式來發布不同類型的IOC信息,在應用這些信息時,用戶需要開發不同的格式解析軟件,因此2013年Mandiant公司(以研究APT攻擊出名)定義了OpenIOC,一種基于XML的IOC數據表示标準,并提供了免費軟件進行OpenIOC的編輯。但是由于商業公司之間的壁壘,Mandiant公司沒能成功推廣該标準。IODEF
威脅情報交換不僅僅是設備間的交互,更重要的是不同組織之間的交互,事件對象描述交換格式(IODEF,IncidentObjectDescriptionExchangeFormat)被定義用于在不同的安全響應組織之間進行安全信息的交換。IODEF最初定義于2007年,經過了長期的發展,最後一版定義于2016年,期間經曆了多個不同的工作組,目前由IETF的MILE工作組(ManagedIncidentLightweightExchange)負責維護,主要負責單位為美國卡内基梅隆大學的CERT。早期的IODEF和IDMEF相似,能表達的信息内容有限,經過長期的發展,融合IOC等新出現的威脅情報數據類型,表達能力得到了很大的增強。其基本格式如圖2所示。IODEF以文檔(Document)為所有數據的總入口,一個文檔可以包含多個事件,事件包含豐富的子屬性來描述事件發生的時間、原因、方法、影響範圍、聯系人信息等,同時也支持IOC數據的表示。2017年MILE工作組還發布了IODEF使用指南和使用調查報告兩個RFC(RFC8274IncidentObjectDescriptionExchangeFormatUsageGuidance,RFC8134ManagementIncidentLightweightExchange(MILE)ImplementationReport),應該說CERT作為全球安全響應組織的重量級單位,對推廣IODEF的實用化起了很大作用。
STIX
結構化威脅信息表示标準STIX(StructuredThreatInformationeXpression)是由MITRE公司提出的結構化威脅情報交換格式标準,最早發布于2012年,後來交由标準化組織OASIS的CTI(CyberThreatIntelligence)委員會負責,目前版本已經發展到2.0(2017年),目前該工作組既包括了MITRE、CTIN這樣的安全公司,也包含了美國DHS等政府部門。STIX被定義為用于自動化的威脅情報交換,以實現協同響應和自動化的威脅檢測分析。相對于前面幾類文檔式的數據格式,STIX的2.0版本全面采用了面向圖(Graphbased)的表示結構,将威脅情報的不同類型數據解構成不同的節點類型,然後通過定義數據節點間的關系節點來描述更高層的信息。STIX定義的節點類型分成12種,從漏洞、惡意軟件、工具、攻擊模式、戰役、威脅角色、組織标識等方面覆蓋了威脅的各個不同角度。
STIX對象類型
基于圖的結構允許威脅數據以不同的角度來進行展示,比如Campaign(戰役)從一次具體的攻擊過程來描述威脅信息,AttackPattern(攻擊模式)則從通用攻擊模式的角度将不同的攻擊者、攻擊戰役進行關聯。這種靈活的數據組織方式可以使用各類基于圖的算法或技術對威脅情報數據進行組織和檢索。
STIX本身定義了大量的術語(在STIX中叫Vocabulary)來保證不同組織間可以盡量使用相同的術語對同一對象進行描述,并引用了CAPEC、CVE等第三方标準進一步加強術語的通用性。由于MITRE公司本身在安全标準領域的權威地位,STIX推出後得到了廣泛的認可。
經過長時間的發展,這四種标準中,IODEF和STIX已經發展的較為完善,是目前實際被廠商和安全組織支持最廣泛的兩種标準。這兩種标準在内容上有一定的相似性,例如很多對象的命名上很相近。主要的差别在格式上,IODEF的文檔式結構讓數據間耦合過緊,擴展起來并太方便,而STIX基于圖的表示擴展更為方便。另一方面,在表示對象上,IODEF依然以Incident為頂級主題,STIX則有不同的選擇,在對象支持上也更多。由于使用了圖結構,STIX在存儲上和傳統的SQL數據庫相容性較差,需要NoSQL數據庫支持。(責編:王左利)
(作者單位為東南大學網絡空間安全學院)