惡意軟件防御之道:高級逃避技術大起底
在本文中,專家Nick Lewis探討了高級惡意軟件為逃避檢測所使用的一些技術,并解釋了如何檢測和緩解這些威脅。
只要有攻擊目標和金錢吸引,惡意軟件就會不斷進化。
為了保持攻擊性和賺取利益,惡意軟件編寫者將會采用高級逃避技術,并增加新功能來滿足其客戶的要求,這樣一來,利用惡意軟件的攻擊會變得更加有效和有利可圖。在過去幾個月,我們看到惡意軟件變得更加復雜的很多例子,包括Zeus從32位過渡到64位以及iBanking惡意軟件改進為針對Android設備。
除了惡意軟件中引入新功能,還出現了圍繞“回歸自然”的新理念,即攻擊者利用內置或合法工具來防止其攻擊被反惡意軟件檢測。Poweliks惡意軟件是這方面最新的例子。在本文中,筆者將探討最新的惡意軟件改進以及檢測和控制惡意軟件所需的企業控制。
惡意軟件的進化
TROJ_POWELIKS.A或者Poweliks是一種fileless惡意軟件,旨在下載其他惡意軟件來控制受感染系統。Poweliks需要單獨的初始感染媒介來感染本地系統和安裝該惡意軟件,據報道,這個媒介是Word文件。在初次感染后,惡意軟件會被安裝,并作為經編碼的動態鏈接庫(DLL)存儲在注冊表中,這個DLL被提取和注入系統中運行的合法dllhost.exe進程,隨后將會被執行。
雖然存儲DLL在注冊表并不是在端點安裝惡意軟件的常見方法,但這確實使企業更難以檢測到該惡意軟件,因為并不是所有反惡意軟件工具都會檢查注冊表。然而,對于檢測注冊表的工具,發現包含大量數據的注冊表項肯定會有所警覺。Poweliks惡意軟件還會運行PowerShell命令來完成攻擊。PowerShell命令可以被用來避免檢測,因為PowerShell被安裝在大多數系統,并且它具有與操作系統交互的高級功能,這可以幫助完成攻擊。
其他惡意軟件也在繼續改進,以讓惡意軟件編寫者保持盈利。成熟的Zeus惡意軟件不斷加入新功能;據稱最新添加的功能是完善的社會工程攻擊,即惡意軟件發送假的瀏覽器警告消息來讓用戶安裝惡意軟件。同樣地,iBanking.Android也添加了新功能,它使用假的安全軟件來讓用戶安裝該惡意軟件,然后它竊取雙因素身份驗證中使用的短信。
必要的企業控制
我們可以通過很多不同的方式來檢測高級惡意軟件。多級惡意軟件(例如Poweliks)和多級攻擊會給企業更多時間來檢測惡意軟件,因為每個步驟都需要一定的時間;然而,未必需要檢測出每個步驟,因為有些步驟本身可能并不是惡意。
在Poweliks的例子中,當每個單獨的階段發生時,其多級方面可能很難檢測,但關聯所有階段和操作可以幫助檢測和緩解惡意活動。
例如,雖然PowerShell腳本對系統管理員或高級用戶很有用,但很少有終端用戶會開發和使用它們。檢測惡意PowerShell命令很難,因為有很多PowerShell功能的合法企業用例。然而,對于最終用戶使用的PowerShell腳本,系統管理員可能會要求腳本在執行前進行簽名;這可以幫助阻止惡意軟件執行惡意腳本。盡管這個政策不能阻止專注的攻擊者,但這會提高攻擊難度,足以阻撓他們來防止攻擊。
雖然Poweliks惡意軟件的PowerShell方面可能很難檢測,但檢測它的命令和控制基礎設施及網絡連接會更容易。趨勢科技的博客文章提到特定IP可以用作攻擊的指標,讓企業可以監控其網絡對該IP的連接,并調查每個連接。監控惡意網絡連接還可以幫助發現受感染系統,并對系統進一步調查。這可能包括查看NetFlow日志來看看哪些系統是連接到外部IP的主要系統,或者具有大量失敗身份驗證嘗試的系統。
新修改的Zeus惡意軟件和iBanking.Android惡意軟件可以通過用來發現Poweliks類似的步驟來識別,因為它們都依賴于安全意識。Zeus變體可以通過檢測網絡中到命令控制IP的連接來檢測;而iBanking.Android則可以通過使用移動反惡意軟件工具來掃描系統中的惡意文件來檢測。
需要注意的是,檢測知識有效控制惡意軟件的一部分。對涉及惡意軟件事件的積極響應才是盡量減小受感染系統的影響的關鍵。
總結
毫無疑問,惡意軟件將會繼續改進和自動化其最有效的手動攻擊技術。隨著企業惡意軟件防御措施日趨成熟,惡意軟件將不可避免地尋找新方法來規避它們。這將需要企業的持續關注來控制和緩解潛在攻擊。企業需要不斷審查安全控制和技術來確保其可以有效抵御當前攻擊。在發現新攻擊或新漏洞時,更新安全程序和控制是領先于攻擊者的關鍵。
同樣重要的是,企業不僅需要評估其如何管理系統,還需要評估對其系統的管理以決定某些功能(例如PowerShell腳本)是否會給其環境帶來新的風險,并需要額外的政策來防止漏洞被利用。