压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

MD5投毒繞過安全軟件檢測

MD5 被證明不安全已經超過十年了,在 2006 年就出現了實用攻擊方法,自那時起公共碰撞發生工具也出現了。碰撞攻擊的風險被學術界和白帽子們都證實了,但是從 Flame 的案例來看,惡意軟件團伙仍然在利用真實世界的弱點。

雖然大部分公司已經拋棄了 MD5,但是仍然有很多公司仍然在用這種過時的算法,尤其是安全廠商。似乎在安全行業中,MD5 變成了惡意樣本指紋的實施標準,而且行業內并沒有更替這種技術的動力。我們的朋友 Zoltán Balázs 收集了長期使用 MD5 的安全廠商名單,令人震驚的是其中不乏業界的領頭羊。

名單中甚至包括卡巴斯基,作為 Flame 的發現者,前不久卡巴斯基還提醒人們 MD5 已死,但是他們最近發布的報告仍然只包含了 MD5 的指紋,諷刺的是,他們內部使用 SHA-1 來分析惡意軟件。

MD5投毒繞過安全軟件檢測

如果你認為 MD5 在惡意軟件識別上足夠優秀,讓我們看一個例子。下面顯示了 FireEye 的 MAS 控制臺,直觀的顯示了 MD5 哈希值、時延和狀態指示燈。

下載示例文件:https://blog.silentsignal.eu/wp-content/uploads/2015/06/727dc36c6a87d3e25e51ba1f7ee85ce8.zip

正如你所見,提交分析的文件用它們的 MD5 校驗和來判定,并且沒有沙盒執行記錄。這意味著,如果你可以創建兩個具有相同 MD5 校驗和的文件,其中一個是惡意的,另一個則不是,你就可以給反病毒軟件的數據庫“投毒”了!它們再遇到惡意樣本時甚至都不會進行檢測。

閱讀過 Nat McHugh 關于創建碰撞文件的文章后,我決定建立一個 Poc 來驗證此類攻擊。盡管 Nat 演示了在 ELF 文件上的案例,但是安全產品大多數瞄準的平臺還是 Windows。雖然基本原理相同,但是 Windows(PE) 仍然有細微的差別。最初的例子基于兩個字符串常量的比較來改變程序的執行流程。碰撞是調整這些常量以便可以匹配其中一種,而不是其他的。

我的目標是創建兩個 MD5 校驗和完全一致的文件,一個可以執行我的 Shellcode(狼),另一個則完全無害(羊)。我的實現基于早期 Peter Selinger 的工作(Nat 的 PHP 腳本被證明是不可靠的跨平臺),所以添加了一些有用的補充:

隱藏與執行 Shellcode 的通用模板

對 Shellcode 進行 RC4 加密,確保真正的 payload 只能在“狼”的機器上出現,而不會出現在“羊”的機器上

對于 Windows 的簡化工具鏈,使用Marc Stevens fastcoll(可以將碰撞時間從幾小時降低到幾分鐘)

該方法在對付那些為了避免浪費資源而跳過相同文件的傳統反病毒軟件同樣有效,不需要其使用 MD5,就算是其他算法也是可以的(雖然經過 RC4 加密后在 VT 上的結果是 0/57)。看看所謂的威脅情報和信譽數據庫是否能被這種投毒攻擊所污染?

代碼可以在 GitHub 上得到,你可以用來測試你部署的安全解決方案,并且勸說安全廠商在下次發布它們的營銷 APT 報告之前更新一下算法。

對于受影響的安全廠商,請立即停止使用 MD5。如果報告中非要使用,請不要僅僅依賴 MD5 一種哈希。

去年我們公布了 PoC 來證明依賴過時的 MD5 哈希方法的安全產品是可以被繞過的。

這種方法允許通過創建兩個 MD5 校驗和完全相同的可執行程序來繞過惡意軟件檢測和白名單。其中“羊”是無害的,甚至還可以完成一些有用的任務,可能會被受害者認定為安全的軟件。“羊”被受害者接受后,“狼”就被發送出去了。由于那些完全依賴 MD5 指紋識別的安全產品已經掃描過“羊”了,“狼”也會被列入白名單,“狼”就可以正常運行。

盡管研究在大多數情況下會得到積極評價,但也有一小部分人懷疑這個問題的嚴重性和有效性。所幸在此期間我們又得到了更多受影響的產品的信息, NDA 進一步證明了我們是正確的,這個問題不僅存在而且有著不小的影響面。

今天,我們用 Panda Adaptive Defense 360來演示這個問題的影響。我們在產品更嚴格的“鎖定模式”下驗證可行,鎖定模式意味著 Panda 將只允許已知安全的可執行程序運行(應用程序白名單)。為了視頻的效果,我們手動解鎖了無害版本的可執行程序(sheep4.exe)否則分析過程可能會持續數小時才能完成(在不通過手工解鎖時,可執行程序“羊”也不會被云掃描器判定為惡意程序,這一點已經被證實了)。

演示視頻

如果你對策略升級不感興趣,你可以跳過視頻的 01:00-01:55 段。

我們通過它們在匈牙利的合作伙伴通知了 Panda 安全公司這個問題,Panda 回復說這是一個已知的問題,預計在下個主要版本進行修復,但沒有提供 ETA。Panda 表示使用 MD5 是出于性能考慮,不過我們告知 Panda:使用 BLAKE2 哈希算法可以提供比 MD5 更好的性能表現的同事提供更好的安全性(感謝 Tony Arcieri 提供這個信息)。

總結

我們想強調的是,這個不安全的做法不是個別廠商的問題,而是整個行業的普遍性為。我們現在知道至少有四家安全廠商存在此問題,還有其他一些廠商在它們的工具和報告中只提供 MD5 指紋。在逐步淘汰 SHA-1 時安全行業仍然在廣泛使用 MD5,這對于安全行業是可恥的,甚至已有利用這種漏洞進行攻擊的案例。我們知道,逃避檢測有更多直截了當的方法,但這個問題是一個衡量安全產品開發是否跟得上形勢的良好指標。

來源:安全客

上一篇:30秒攻破任意密碼保護的電腦

下一篇:Mirai變種中的DGA