當新的軟件威脅被發現時,逆向工程師會深入到代碼以找出檢測攻擊的方法,識別該代碼及其作者,並發現惡意軟件背後的目的。
逆向檢測惡意程序的數字偵探與創建惡意軟件的開發人員斗智斗勇,在這場貓捉老鼠的游戲中,逆向工程師可以很容易地找到惡意軟件的副本來破解和分析,而攻擊者則制造各種障礙來減慢分析師的工作。攻擊者制造的主要障礙是加密和混淆。
網絡安全公司Arbor Networks的研究分析師Jeff Edwards表示,在不太遙遠的過去,惡意軟件中的加密反映了程序作者的勃勃野心。而現在,幾乎所有惡意軟件都使用了某種加密,大約有三分之二的僵屍網絡使用加密通信來混淆他們的活動。
“他們在提高其加密技術方面有一個漸進發展的趨勢,”Edward表示,“這一切都取決於僵屍網絡操作者和編寫者是否感到需要往前發展的壓力。”
在Rustock和Kelihos僵屍網絡被撤除後,控制這些僵屍網絡的地下操作者可能感覺到前所未有的壓力,他們需要在更大程度上隱藏其活動。此外,隨著惡意軟件開發人員變得越來越有經驗,他們經常采用更復雜和更好的加密技術。
例如,Black Energy僵屍軟件最初使用一種基本的加密技術來使其可執行文件不被殺毒軟件察覺,並使用Base64編碼來擾亂其通信。這兩個都很容易被逆向工程。然而,最新版本的Black Energy使用了更強大的RC4流加密的一個變種(事實證明存在一些缺陷)來編碼其通信。
Arbor Networks對用於拒絕服務攻擊的四個主要僵屍程序的加密進行了分析,分析發現了多種加密方法,從自定義替換算法到RC4流加密(安全套接字層使用的加密方法)等。在一個分析中,Arbor研究了Dark Comet遠程訪問木馬,該木馬使用RC4來加密其通信,並使用其他有趣的技術來混淆加密密鑰。
“惡意軟件從最開始的沒有加密發展到現在強大的加密技術,”Edward表示,“RC4是目前最流行的一種加密方法,或者RC4的變種,它是一個標准,很好理解,而且很安全。”
卡巴斯基實驗室高級安全研究員Kurt Baumgartner表示,僵屍網絡的加密發展很緩慢,五年前,Sinowal或者Torpig木馬使用XTEA區塊密碼的修改版本來加密其配置數據。自2008年年底以來,Waledac和Kelihos或者Hlux僵屍網絡使用AES混合其他編碼和壓縮來混淆他們的代碼和通信。
“在過去幾年中,我們看到惡意軟件陸陸續續開始使用加密技術,”Baumgartner表示,“這些家伙不會放棄的。”
奇怪的是,研究人員發現有時候惡意軟件只是使用簡單的混淆。雖然來自俄羅斯和歐洲的惡意軟件逐漸開始采用更好的加密方法,而來自某些國家的網絡犯罪分子仍然使用簡單的方法,有時候甚至不采用混淆。很多被認為是高級持續性威脅的攻擊避免使用加密方法,而是用其他類型的混淆。