美國軍事智庫蘭德公司網絡安全與新興技術研究人員,Lillian Ablon,在今年7月末舉辦的黑帽大會中,展示了蘭德旗下安全研究團隊BUSBY最新的零時差漏洞的研究成果。其在2002年到2016年期間搜集了207個零時差漏洞(被發現后立即被惡意利用的安全漏洞),包括微軟(55個)、Linux(39個)、蘋果(14個)、甲骨文(11個),以及谷歌(88個)、Mozilla等其他64家公司產品的零時差漏洞。
零時差漏洞的活躍時間比我們認為的時間更久,當然也會產生更長遠的影響。Lillian Ablon指出,這些零時差漏洞的潛伏期,最長超過9.53年才被外界發現,最短也要1年半才曝光,零時差漏洞存留時間多數在5.39年到8.84年之間,平均每個零時差漏洞存留6.9年之久,而且她搜集的所有零時差漏洞,仍然存在約79個,占38.2%,已經被發現或公開的零時差漏洞約83個,占40.1%,其中被發現的零時差漏洞中33.3%有提供修復程序。
然而,安全公司或研究人員早期發現零時差漏洞能夠針對漏洞進行修復,但零時差漏洞也容易被黑客利用發動攻擊,造成數據外泄或入侵內部系統啟動其他攻擊,如勒索攻擊或癱瘓系統,根據Lillian Ablon調查分析指出,大多數零時差漏洞在6到37天內就會被黑客利用,71%的零時差漏洞在一個月內被黑客開發利用,31.44%零時差漏洞在一星期內被利用,僅10%的零時差漏洞超過90天才變成黑客發動攻擊的武器。
弄清楚企業內部所有軟硬件設備狀況,可以減小零時差攻擊的損害
Lillian Ablon分析所有零時差漏洞時發現,零時差漏洞分為3種類型——第一種類型包括堆溢出(heap overflow)漏洞,以及棧溢出(stack overflow)漏洞,一半數以上零時差漏洞都屬于這種類型,駭客經常利用這兩種漏洞來攻擊,造成內存運行錯誤,賽門鐵克旗下25款安全產品就出現了堆溢出漏洞,不僅可以破壞被黑電腦里的內存,還可以入侵公司內部網絡。
第二類是內存管理失誤造成的漏洞(memory mismanagement),這類型漏洞最常出現數據外泄,并造成空指針引用(Null Dereference,空指針引用是一類普遍存在的內存故障,當指針指向無效內存地址時對其引用,有可能產生不可預見的錯誤,導致軟件系統崩潰)問題。今年5月VMware的vstor2驅動程序漏洞就屬于之一類型,可以利用程序內的Null Dereference漏洞發動DoS攻擊。
第三類是程序設計邏輯錯誤形成的漏洞,容易導致內存出現紊亂情況(race condition)、認證旁路(authentication bypass)漏洞、權限錯誤(privilege error),以及對象注入任意代碼(object injection)。過去,Liunx開機管理程序曾出現認證旁路漏洞,只需按28次Backspace,可以入侵任何Linux作業系統。
Lillian Ablon表示,207個零時差漏洞中有172個零時差漏洞被黑客利用發動了零時差攻擊,而且多數零時差攻擊都是在本地和遠程發起,僅少數攻擊來自客戶端。她同時也強調,虛擬主機與防毒軟件無法減緩零時差攻擊,甚至有7款防毒軟件也存在零時差漏洞。
如何更有效抵御零時差攻擊呢?Lillian Ablon提出了3項監測零時差漏洞的策略,包括分析仍大量在使用的舊代碼,如工控系統、設計能夠阻止黑客發現漏洞路徑的防御技術,以及系統或軟件漏洞已被黑客利用時,需要尋求更好的方式來監測漏洞。
此外,她還認為,防護零時差攻擊的重點要放在緩解、隔絕、問責,以及維護健全的基礎設施4個方向,例如使用微軟提供EMET(增強緩解應急工具包)防護工具(2017年Windows 10秋季更新版中名為Windows Defender Exploit Guard)減緩攻擊造成的損害、設備采取物理隔離、定期整理軟硬件使用情況,并保持最新版本更新。
最后Lillian Ablon強調,隨著物聯網概念的興起,使用越來越多聯網設備對于未來防御零時差攻擊將面臨更大的挑戰。