不可修補的“DoubleAgent”攻擊可以劫持所有Windows版本,甚至殺毒軟件!
新的注入代碼技術適用于所有版本的微軟Windows操作系統,從Windows XP到最新版本的Windows 10。
更糟的是什么?DoubleAgent利用Windows的一個15年未經記錄的合法功能“應用程序驗證程序”,該功能無法修補。
Application Verifier是一種運行時驗證工具,它將DLL(動態鏈接庫)加載到進程中進行測試,允許開發人員快速檢測和修復應用程序中的編程錯誤。
無法修補的Microsoft Application Verifier漏洞
該安全漏洞存在于該應用程序驗證工具處理DLL的方式中。研究人員稱,作為該過程的一部分,DLL被綁定到Windows注冊表項中的目標進程,但攻擊者可以用惡意DLL替換真正的DLL。
只需創建一個與他想要劫持的應用程序同名的Windows注冊表項,攻擊者就可以提供他自己的自定義驗證程序DLL,并將其注入任何應用程序的合法進程中。
一旦注入自定義DLL,攻擊者就可以完全控制系統并執行惡意操作,例如安裝后門和持久性惡意軟件,劫持任何現有受信任進程的權限,甚至劫持其他用戶的會話。
Cybellum的研究人員說,這種攻擊是如何起作用的:
“DoubleAgent使攻擊者能夠將任何DLL注入任何進程。代碼注入發生在受害者進程啟動的極早期,使攻擊者完全控制進程,而進程無法保護自己。”
利用雙代理攻擊全面控制反病毒
為了演示DoubleAgent攻擊,該團隊利用其技術劫持了反病毒應用程序,并將其轉化為惡意軟件。反病毒應用程序是防止任何惡意軟件運行的系統的主要防御。
該團隊能夠利用DoubleAgent攻擊破壞反病毒應用程序,并讓安全軟件充當磁盤加密勒索軟件。
該攻擊適用于從Windows XP到Windows 10的所有Windows操作系統版本,很難阻止,因為惡意代碼可以在系統重新啟動后重新注入目標合法進程–;多虧了持久的注冊表項。
研究人員表示,目前市場上的大多數安全產品都容易受到雙重代理攻擊。以下是受影響的安全產品列表:
- Avast(CVE-2017-5567)
- 平均值(CVE-2017-5566)
- 阿維拉(CVE-2017-6417)
- Bitdefender(CVE-2017-6186)
- 趨勢科技(CVE-2017-5565)
- 舒適的
- ESET
- 芬殺客
- 卡巴斯基
- 馬爾瓦利字節
- 麥克菲
- 熊貓
- 極曉防毒
- 諾頓
在劫持殺毒軟件后,攻擊者還可以使用DoubleAgent攻擊禁用安全產品,使其對惡意軟件和網絡攻擊視而不見,將安全產品用作代理,對本地計算機或網絡發起攻擊,提高所有惡意代碼的用戶權限級別,隱藏惡意流量或過濾數據,或損壞操作系統或導致拒絕服務。
注:Cybellum的研究人員只關注反病毒程序,盡管DoubleAgent攻擊可以適用于任何應用程序,甚至Windows操作系統本身。
許多抗病毒藥物即使在經過90天的負責任的披露后仍然沒有得到修補
Cybellum表示,該公司已在90多天前向所有受影響的反病毒供應商報告了DoubleAgent網絡攻擊事件。
Cybellum的研究人員一直在與一些反病毒公司合作解決這個問題,但到目前為止,只有Malwarebytes和AVG發布了一個補丁,而Trend Micro也計劃很快發布一個。
因此,如果你使用上述三款應用中的任何一款,強烈建議你盡快更新。
作為一種緩解措施,研究人員指出,對于防病毒供應商來說,最簡單的修復方法是從應用程序驗證程序切換到一種稱為受保護進程的較新體系結構。
Protected processes mechanism protects anti-malware services against such attacks by not allowing other apps from injecting unsigned code, but this mechanism has so far been implemented only in Windows Defender, which was introduced by Microsoft in Windows 8.1.
Cybellum還提供了DoubleAgent攻擊的視頻演示,展示了他們如何將一個防病毒應用程序變成一個勒索軟件,對文件進行加密,直到你付清費用。