安全事件共享構想之OpenIOC
安全事件調查人員在安全事件應急響應過程中面臨的其中一個挑戰(zhàn)是,找一個有效的方法把所有調查過程中的信息組織起來,這些信息包括攻擊者的活動、所用的工具、惡意軟件、或者其他的攻擊指示器(indicators of compromise),簡稱IOCs,而OpenIOC格式(OpenIOC is designed to fill a void that currently exists for organizations that want to share threat information both internally and externally in a machine-digestible format.)正好可以解決這個難題。OpenIOC可提供一個標準的格式和術語來描述調查事件中遇到的分析結果,以便在不同組織間進行共享。
在開始下面的介紹前,需要澄清的是IOCs不是一個簽名(signatures),所以不是要實現(xiàn)signature的功能。它設計出來是用于幫助你的調查,或者其他人的調查,這些人是你與之共享威脅情報的人。
下面列舉幾個最常見的IOC用例:
惡意軟件/工具型:
這是最常見的用例,本質上講,這種類型的IOC可用于發(fā)現(xiàn)某些已知類型的惡意軟件或惡意工具,通常通過查找二進制文件或其文件屬性,或其執(zhí)行時創(chuàng)建的特征,例如一些預讀文件、注冊表鍵值等。
方法論型:
不同于上一種可直接識別惡意軟件/工具,這種類型的IOC為了生成一些調查的線索,讓你可以發(fā)現(xiàn)你不一定知道的東西。例如,如果你想識別出任何沒有經(jīng)過簽名,而且從任何在“windows\system32”目錄外加載的DLL,那你就可以寫一個IOC去描述這個條件。另一個比較好的“方法論IOC”例子就是查找注冊表中所有“Run”鍵值內容結尾為“.jpg”,這個IOC代表了一種不正常的情況,在安全調查中就指示出很可能是一個已被惡意利用了的證據(jù)。
“袋裝”型:
你可能已經(jīng)在使用這種IOC,很多組織會訂閱一些威脅情報,這些訂閱的feed通常會投遞一些MD5或者ip地址列表,一“袋裝”的IOC可以代表這些入侵指示器(indicator)的一個集合。這種類型的IOC非黑即白,通常在調查事件中用于準確匹配的話會比較好。
調查case型:
當你在環(huán)境里面調查可疑的系統(tǒng)時,識別出一些惡意的活動證據(jù),例如關于安裝了后門、執(zhí)行了惡意工具、文件已被竊取等等的元數(shù)據(jù)時,你就可以在一個IOC里面跟蹤到這些信息。這類IOC跟“袋裝”型IOC有點類似,然而調查型IOC只包括一個調查事件中的指示器,這種類型的IOC可以幫助你區(qū)分哪些系統(tǒng)需要優(yōu)先去調查。
下面在介紹一下IOC的組件:
一個IOC通常由三個部分組成,分別是IOC元數(shù)據(jù)部分、參考部分以及定義部分。下面使用Mandiant的IOC編輯器來了實際了解一下這些組成部分。
元數(shù)據(jù):
IOC元數(shù)據(jù)描述了以下信息,例如本IOC的名稱(Evil.exe[BACKDOOR])、作者(jsmith@domain.tld)以及簡述
參考:
在IOC的參考里面,可以有調查事件的名稱或者case編號,IOC成熟度的評論和信息(例如Alpha, Beta,Public Release等等)這些信息有助于你理解這個IOC適合放到你的威脅情報庫中的什么位置。這個參考字段通常的用法是用于把IOC關聯(lián)到特定的威脅組織(好比如APT1)。當于第三方共享IOC信息時,刪除特定的參考字段的做法并不常見。
定義:
這是IOC的核心內容了,包括了調查人員決定編寫IOC的關鍵內容。例如,可能包括一個文件的MD5值,注冊表路徑或一些在進程內存中發(fā)現(xiàn)的線索,所謂的指示器(indicator)會列在這個定義字段里,或者組合到表達式里面,這些表達式通常由兩個術語和一些布爾型邏輯符組成。OpenIOC的其中一個特性令它特別有用,就是它可簡單的組合一些and,or的邏輯條件判斷符。
下面舉例看看這些邏輯判斷條件如何運用。
1.服務名為"MS 1atent time services" or
2.任何含有DLL調用名為evil.exe的服務 or
3.文件名是“bad.exe” AND 其文件的大小在4096-10240-bytes之間。
AND代表表達式兩邊都必須為真 OR代表表達式兩邊只需要一邊為真
理解清楚這個AND OR的關系就可以明白,用上面的例子來匹配IOC時,并不是一個if-else的聲明,也不是都必須存在。在安全事件調查中,如果發(fā)現(xiàn)一個名為“MS 1atent time services”的服務,那這個IOC就匹配上了,而不管IOC所描述的惡意文件是否在這臺主機上出現(xiàn)。