2013年2月20日星期三

傳統保安失效 APT肆虐全球 新興保安方案乘時而起

幾去數年,全球陸續發現了不少潛伏的惡意程式(Malware),這些程式一般極為隱秘,亦極而難清除。故此,資訊保安業稱之為進階持續性威脅(Advanced Persistent Threat,APT)。APT構成的損失個案駭人驚聞,即使資訊保安公司亦不能倖免,成為入侵受害者。

APT是資訊保安最新戰線;大部分惡意程式,均屬於「零日」(Zero Day)式攻擊;也就是從未有紀錄,或不斷變種,甚至專門針對某些環境編寫。傳統防毒軟件發揮不了作用,其行為模式既不固定,亦無往績可尋,即使IPS和SIEM系統,往往也無法準確描述惡意程式。傳統上,以病毒特徵(Signature),或憑過往經驗啟發的行為分析(Behavior heuristic analysis),通通無用武之地。

過去數年, APT幾乎如入無人之境,不少機構損失慘重。APT不能以個別反病毒方案對付,其乃精心部署的入侵行為,以一連串行動巧妙配合,必須逐一查看,拼湊相關事件,才能找到入侵端倪始末。

部署嚴密設計精巧

APT進入後,首先會跟外部「指令及控制服務器」(Command and Control Server,C&C Server)聯繫,植入其他程式,盗取帳戶身份證明(Credential),登入數據庫系統,繞過「數據庫活動監控」( DMA),轉移機密資料(Exfitration),至外部黑客控制的第三方網站。

即使以Web Filtering過濾域名黑名單,也無從追尋惡意程式的來源。一般惡意程式通過社交網絡;如Google或Facebook等暫用域名發動功擊或接收資料,加上通訊內容加密,無從得悉已遭入侵。況且一般向外通訊,檢查比較寬鬆,更容易暗渡陳倉。

目前,所有保安機制;從防毒、防火牆、反垃圾郵件、IPS、Web過濾工具,往往皆獨立運作,均各自為政。APT卻是有組織行動,可逐一瞞騙保安機制,令上述工具無法悉知APT操作過程。除非具備SIEM系統;類似Splunk、ArcSight和IBM的Q1Lab,已能串連起攻擊步驟,有機會從不同來源記錄檔,整理出異常情況。但SIEM系統的誤報(False Positive)往往嚴重,待確定攻擊出現,可能為時已晚。

網絡戰爭已非電影橋段,尤其軍備國防工業,必須保護知識產權,免落入敵國之手。美 國惡意程式分析(Malware Analysis)成為大產業;美國國防部以大量經費,聘用多家公司;包括Mandiant和FireEye進行惡意程式分析。其中FireEye更是炙手可熱;投資者包括了Juniper、Sequoia Capital、Norwest Venture、高盛等,從2004年開始已為國防部開發防禦系統。

盗取金融軍事機密

西方國家有不少破壞活動已利用APT。據《紐約時報》報導,針對核電設施Stuxnet病毒,正是以色列和美國國防部合作,破壞伊朗提煉核原料的離心機。去年,Gauss和Flame也病毒活躍於中東,據聞亦為以色列情報機關的傑作,刺探中東金融機密。

過去數年,西方多個政府和金融機構,先後出現大規模泄密;大量機密文件遭披露,黑客幾乎如入無人之境,即使RSA、HBGary等知名保安產業,甚至Google和美國銀行,均先後遭入侵,RSA甚至因遭入侵,更換大量的密碼產生器(Token)。

除了以色列和美國,中國及俄羅斯均為APT主要來源地;攻擊對象包括不少機構,包括《紐約時報》和多部報章,甚至美國商會和大銀行。更棘手的是APT極難發現,俟曝光已構成嚴重損失。

目前,FireEye是唯一能夠準確辨認APT方案,已成功在多家大金融機構,發現隱藏多時的APT。美國的主要金融和國防機構,例如波音和摩根大通等均為FireEye客戶。

道高一尺魔高一丈

雖然,部分反APT技術,透過虛擬機器(Virtual Machine),利用雲運算上虛擬環境,以沙盒(Sandbox)原理,預先在雲端上安裝進入系統的exe和dll檔一次,並以除錯器(Debugger)分析程式執行碼,動機是否有異;原理上,組合語言(Assembly-level)的Debugger毋須知道源碼,也可以執行程式,並確定其意圖。

FireEye亞太區銷售副總裁Douglas Schultz表示,惡意程式之所以難以發現,正因其設計本為逃避檢查,根本上是貓捉老鼠的遊戲。所以FireEye完全放棄以病毒特徵來辨別APT,甚至不利用「沙盒」檢查。因為病毒通過多種不同途徑進入;除了執行的exe和dll檔,也可通過Java、PDF或者Flash程式的漏洞,執行指令潛行入系統,單純掃描exe和dll檔,並不能杜絕APT植入。

此外,「沙盒」不能確保安全,更難符合法規遵從。Schultz表示:「首先,金融或政府機構,大多不容許敏感資料,離開公司的範圍;通過雲運算「沙盒」檢查,難以通過法規遵從的要求。惡意程式一旦探測到身處虛擬的環境,又或正被Debugger檢查,會馬上隱藏身份。」

以靜制動引君入甕

APT極難發現其中一個原因,乃具備多種反偵察能力。一般APT均具備自我隱藏能力,因為一般虛擬環境和Debugger,均在記憶體留下多少蛛絲馬跡,APT一旦發現身處虛擬的環境,就先改變執行方式,或延遲執行,如發現受到Debugger檢驗,索性隱藏部分功能,甚至反制令Debugger無從執行,並通過測試;這也是何以其極難被發現。

一般APT均利用多種不同方法避開偵察,甚至如被抄成樣本,受到逆向破解源碼( Reverse engineering),遇見抽樣或破解前,甚至會自行毀滅,例如Flame病毒就有自毀機制,導致長時間遲遲未能破解。

惡意程式成功登錄後,會向黑客的C&C Server,發出成功登陸訊息,一般APT與C&C Server通訊,均以 base64或其他方法加密。FireEye原理很類似 HoneyPot(誘捕器),以反追蹤方式,先學習惡意程式的作業和通訊方式,再進行圍捕。

FireEye專屬設備本身有多部虛擬機器,模仿不同組合作業系統,虛擬機器會故意露出一些漏洞,讓黑客有可乘之機,FireEye從其通訊特點,確定惡意程式已存在。一旦確認APT運作模式,就鎖定其對外通訊和所在位置,通訊協定的內容格式和入侵程序,先攔截其與C&C Server通訊,孤立後再逐一消滅內部APT。

Schultz表示,FireEye發現APT後,會跟蹤惡意程式一段時間,好留下日後作法律鑑證用途。不過,Schultz表示,FireEye並不能取代新一代防火牆和其他設備,例如 IPS和Web Filtering,更不能取代Web防火牆、DMA和SIEM等,相反FireEye具備各個SIEM和防火牆的接口(Plug-in),一旦發現惡意程式的活動,就更新SIEM和防火牆的設定,配合上述系統加強防衛,更新防毒程式清除有問題檔案,並通知Impreva或Guardium等,報告那些登入證證已遭破解,攔截這些登入。

FireEye設計利用特殊虛擬環境,記憶體定址跟正常的機器,執行上完全沒有分別,令APT惡意程式中計,又只通過觀察來確定身份,APT也不會感到被Debugger干擾。

「FireEye不利用x86環境,完全是專屬的硬件設計,一旦觀察可疑的活動,就安裝這些問題程式,靜靜地進行觀察。因為不屬一般虛擬環境,APT無法從記憶體殘留,發現出任何異常。FireEye錄下入侵過程後,就截斷對外的通訊,通知其他系統加強防衛,徹底清除病毒。」他說APT進入過程,幾乎一覽無遺,也有助日後堵塞保安漏洞。

Schultz也同意,如果FireEye設備被黑客解剖,有可能幫助黑客,日後製作出反追蹤機制,故此FireEye出貨極為嚴格,並確保設備安全,暫時還未能向部分地區出售,包括了中國內地。

沒有留言:

發佈留言