惡意軟件變異:改變行為以實(shí)現(xiàn)隱蔽性和持久性
近年來,企業(yè)組織為了應(yīng)對(duì)惡意軟件威脅采取了大量工作,但是,似乎每天都有新的惡意軟件樣本能夠繞過各種防護(hù)措施。這些層出不窮的惡意軟件從何而來?答案是惡意軟件變異。通過變異,攻擊者讓惡意軟件不斷“煥然一新”,從而逃避安全控制。
例如 REvil 或 DarkSide 這樣的組織會(huì)在其惡意代碼中放置“識(shí)別開關(guān)”,用于檢查它所在設(shè)備上的語言是否為俄語或英語。這種策略造成了惡意軟件的“變異性”——同一段代碼可以在不同的計(jì)算機(jī)上進(jìn)行不同的操作,具體不同取決于操作系統(tǒng)版本、安裝的庫(kù)或語言設(shè)置。如果有人嘗試在三到四臺(tái)不同的機(jī)器上運(yùn)行相同的惡意軟件,可能會(huì)得到三到四種不同的操作行為。
惡意軟件變異性的廣泛性
雖然安全研究人員早就意識(shí)到惡意軟件的變異性,但很少有研究人員評(píng)估其廣泛性。為了解更多信息,馬里蘭大學(xué)帕克分校研究助理 Erin Avllazagaj 查看了 113 個(gè)國(guó)家/地區(qū)的 540 萬臺(tái)真實(shí)主機(jī)中記錄的 760 萬條惡意軟件執(zhí)行痕跡。結(jié)果發(fā)現(xiàn),由于時(shí)間和設(shè)備不同而產(chǎn)生的這種變異性,可能會(huì)帶來令人不安的影響——企業(yè)安全人員不能簡(jiǎn)單地說一個(gè)惡意軟件是木馬,即便它的行為確實(shí)很像木馬,也許在下一次執(zhí)行時(shí)它又會(huì)表現(xiàn)得像勒索軟件一樣。
有時(shí),這些變化是無意的,因?yàn)閻阂廛浖o法正常運(yùn)行。我們更應(yīng)該關(guān)注那些有意的變化——當(dāng)惡意軟件被設(shè)計(jì)為“僅在正確的計(jì)算機(jī)或在正確情況下執(zhí)行某些活動(dòng)”時(shí),那些不滿足這些條件的惡意軟件會(huì)表現(xiàn)出良性特征。像這種在大多數(shù)機(jī)器上看起來是良性的惡意軟件,很難被發(fā)現(xiàn)。一般情況下,國(guó)家資助的黑客組織會(huì)利用惡意軟件變異性的復(fù)雜性,實(shí)施攻擊活動(dòng)。但研究顯示,一些大規(guī)模分布的惡意軟件同樣使用了這些技巧。
Avllazagaj 的研究可以揭示惡意代碼的變異性,以幫助安全社區(qū)更好地理解這個(gè)問題。Avllazagaj 表示:“我們憑經(jīng)驗(yàn)評(píng)估了惡意軟件發(fā)生了多少變化、其行為的哪些部分發(fā)生了變化,以及可以采取哪些措施來應(yīng)對(duì)這些變化。對(duì)此,防病毒供應(yīng)商正處于非常有利的位置,可以采取一些行動(dòng)進(jìn)行應(yīng)對(duì)。”
Avllazagaj 及其同事研究了幾種惡意軟件的行為,包括 Ramnit ,一種影響 Windows 設(shè)備的蠕蟲,旨在竊取信息;以及 DarkComet RAT ,它也可以竊取密碼并截取屏幕截圖。通過分析 2018 年捕獲的 760 萬個(gè)樣本,研究人員注意到大部分惡意軟件的變異性與文件創(chuàng)建和命名有關(guān)。研究人員稱, DarkComet RAT 在某些執(zhí)行過程中創(chuàng)建了注冊(cè)表項(xiàng),而 Ramnit 有時(shí)會(huì)構(gòu)建很多互斥鎖( Mutex ),這可能是因?yàn)樗枰恢边\(yùn)行漏洞直至成功為止。
研究人員在一篇論文中寫道:“對(duì)于至少 50% 的惡意軟件來說,在一次執(zhí)行過程中觀察到的 30% 的操作不會(huì)出現(xiàn)在另一臺(tái)設(shè)備上。此外,一半的惡意軟件樣本在所有執(zhí)行過程中似乎只存在 8% 的共同參數(shù)。”這再次證明,使用沙箱分析惡意軟件并不能提供全貌。當(dāng)安全專家想要查看特定樣本是否屬于特定惡意軟件家族時(shí),僅在一個(gè)沙箱中執(zhí)行一次操作遠(yuǎn)遠(yuǎn)不夠。分析惡意軟件的安全專家需要使用多臺(tái)電腦捕捉不同行為。
研究人員表示,分析人員應(yīng)該在第一次收到惡意軟件樣本 3 周后重新執(zhí)行它們,以更新其行為模型。
為什么惡意軟件會(huì)改變行為?
復(fù)雜的威脅行為者,例如國(guó)家資助的團(tuán)體,有足夠的資源來創(chuàng)建自定義工具,這些工具在大多數(shù)設(shè)備上看起來都是良性的,并且只有在滿足某些條件時(shí)才會(huì)觸發(fā)。惡意軟件開發(fā)者這樣做,主要是為了實(shí)現(xiàn)惡意軟件的隱蔽性和持久性。在大多數(shù)情況下,攻擊性很強(qiáng)的惡意軟件都會(huì)將“隱蔽性”作為一個(gè)重要考量因素。攻擊者一開始都會(huì)先執(zhí)行一些小工具,因?yàn)榧幢闼鼈儽话l(fā)現(xiàn)或檢測(cè)到,替換這些小工具也要比替換完整的關(guān)鍵惡意程序容易得多。
不過, APT 組織并不是唯一使用這種策略的團(tuán)體。研究顯示,勒索軟件組織也在采用這種策略,通常勒索軟件被部署為第二階段的有效載荷。有些勒索軟件還會(huì)在執(zhí)行時(shí)檢查其環(huán)境,如果發(fā)現(xiàn)勒索軟件在測(cè)試環(huán)境或虛擬機(jī)中運(yùn)行,則拒絕執(zhí)行任何更改。勒索軟件組織還會(huì)部署虛擬映像來執(zhí)行其有效載荷以逃避檢測(cè)。
未來,我們可能會(huì)看到更多具有可變行為的惡意軟件在各行各業(yè)產(chǎn)生影響,國(guó)家資助的團(tuán)體和網(wǎng)絡(luò)犯罪分子也都在不斷磨練技能。為了應(yīng)對(duì)這種情況,防病毒企業(yè)正在密切研究這些群體,并采用廣泛的技術(shù)分析那些不同尋常的樣本,以便了解其微小細(xì)節(jié)。它一般通過將反匯編程序中的靜態(tài)分析與某些沙盒環(huán)境、虛擬機(jī)等相結(jié)合來完成。
這種分析不太可能因惡意軟件在不同環(huán)境中表現(xiàn)出的不同而受到阻礙——開展逆向工程的人員無需執(zhí)行即可查看實(shí)際程序,因此他們可以探索代碼中的所有可能路徑。雖然這種方法很耗時(shí),但它可以幫助回答一些難題,例如“惡意軟件如何生成文件名或注冊(cè)表項(xiàng)?”或“它如何生成所連接的 URL ?”
隨著勒索軟件團(tuán)伙和國(guó)家支持的間諜組織能力不斷升級(jí),了解這些問題和廣泛的惡意軟件行為將變得至關(guān)重要。這種知識(shí)將使組織更加警覺,以保護(hù)自身安全。
【本文是51CTO專欄作者“安全牛”的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過安全牛(微信公眾號(hào)id:gooann-sectv)獲取授權(quán)】