什么方式可以通过影子系统传播恶意代码_将恶意代码隐藏在图像中:揭秘恶意软件使用的隐写术...
概述
本周,許多Facebook用戶都會(huì)發(fā)現(xiàn),一些用戶發(fā)布圖片上出現(xiàn)了原本應(yīng)該隱藏的圖像標(biāo)簽。由此可以證明,圖像可以攜帶大量表面上不可見(jiàn)的數(shù)據(jù)。實(shí)際上,Facebook和Instagram所使用的圖片元數(shù)據(jù)與惡意攻擊者制作的特制圖像相比顯得非常簡(jiǎn)單,攻擊者可以采用復(fù)雜的方法,制作出用于傳遞惡意代碼或泄露用戶數(shù)據(jù)的圖像。在過(guò)去幾年中,使用隱寫(xiě)技術(shù)和隱寫(xiě)式技巧的野外惡意軟件活動(dòng)有顯著增加。攻擊者利用這種技術(shù),在圖片和其他“載體”文件中嵌入隱藏的信息。在本篇文章中,我們將了解隱寫(xiě)術(shù)是什么,以及惡意攻擊者是如何使用它的。
什么是隱寫(xiě)術(shù)?
隱寫(xiě)術(shù)(Steganography)是一種可以隱藏代碼的技術(shù),例如在圖像文件中加入隱藏的標(biāo)簽信息。該技術(shù)也通常被稱為“Stego”,是指在其他非秘密文本中(在“載體”消息內(nèi))隱藏消息或信息的做法。這也就意味著,惡意行為者可以使用此技術(shù),在網(wǎng)站上僅僅托管圖像,或僅通過(guò)電子郵件發(fā)送圖像。
盡管隱藏?cái)?shù)據(jù)的載體文件不一定必須是圖像,但數(shù)字圖像具有與其他文件一樣的字節(jié)流,就使得它們成為隱藏秘密文本和其他數(shù)據(jù)的一個(gè)有效媒介。當(dāng)用戶在設(shè)備上打開(kāi)圖片時(shí),很少有人會(huì)關(guān)注除了視覺(jué)呈現(xiàn)之外的內(nèi)容,也就是隱藏在.jpg、.png、.bmp或其他圖像文件格式內(nèi)的內(nèi)容。
隱寫(xiě)術(shù)是一種混淆的方法,它與密碼學(xué)完全不同。密碼學(xué)是編制編碼或加密消息的實(shí)踐。一段加密的消息,能夠很明顯地被看出它隱藏了一些內(nèi)容,這些消息通??雌饋?lái)沒(méi)有任何邏輯,需要采用專業(yè)的方法來(lái)進(jìn)行解碼或解密。
另一方面,盡管隱寫(xiě)信息看起來(lái)像普通信息,但卻巧妙地隱藏了一些意想不到的信息。我們可以采用熟悉的技術(shù),使用簡(jiǎn)單的示例來(lái)說(shuō)明隱寫(xiě)術(shù)背后的基本思想:
秘密消息“HelLo, worlD”沒(méi)有被編碼,閱讀者只需要知道以某種特定的方式來(lái)查看消息,即可讀取其中的信息,我們無(wú)需向“載體”中添加任何額外數(shù)據(jù)來(lái)實(shí)現(xiàn)傳播。盡管圖像隱寫(xiě)術(shù)的實(shí)現(xiàn)過(guò)程具有較強(qiáng)的技術(shù)性,但它在一個(gè)更低的維度上來(lái)看,其原理是相同的。
在上面這個(gè)簡(jiǎn)單的例子中,是由人類的大腦解碼在純文本中隱藏的消息,但計(jì)算機(jī)程序讀取的字節(jié)并不是自然語(yǔ)言,這樣一來(lái),對(duì)計(jì)算機(jī)來(lái)說(shuō)就非常容易隱藏明顯的信息。對(duì)于人類來(lái)說(shuō),也幾乎不可能在沒(méi)有任何工具幫助的情況下實(shí)現(xiàn)對(duì)其的解析。
事實(shí)上,考慮到圖像文件的性質(zhì),它不僅可以用來(lái)隱藏文本字符串,還可以隱藏.jpg和其他圖像格式的整個(gè)文件。實(shí)際上,根據(jù)所使用的技術(shù),也可以實(shí)現(xiàn)在原始圖像的文件大小不明顯增長(zhǎng)的情況下隱藏信息。
隱寫(xiě)術(shù)如何隱藏信息?
要了解圖像隱寫(xiě)術(shù)的工作原理,首先我們先來(lái)看看在圖像文件中隱藏文本的一些基本方法。
最簡(jiǎn)單的一個(gè)方法,就是將一個(gè)字符串附加到文件的末尾。這樣做,既不會(huì)影響圖像的正常顯示,也不會(huì)改變圖像的視覺(jué)外觀。在這里,我們只需要將“hello world”附加到文件的末尾。通過(guò)Hexdump,我們看到了被添加的額外字節(jié)。
純文本字符串可以很容易地被程序轉(zhuǎn)儲(chǔ)或讀取。在這種情況下,我們只需使用xxd實(shí)用程序來(lái)逆向十六進(jìn)制,并以純文本的形式打印出來(lái)。
echo 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a | xxd -r -p我們可以使用相同的思路,借助RAR壓縮格式將完整的文件附加到圖像之中。圖像查看器只會(huì)讀取并顯示與圖像相關(guān)的代碼,會(huì)忽略壓縮包中包含的其他任何文件。但是,惡意行為者或程序可以輕松提取附加的文件。
在此示例中,文件new.jpg在圖像查看器應(yīng)用程序中打開(kāi)時(shí)會(huì)顯示圖片,但在使用WinRAR壓縮實(shí)用程序進(jìn)行查看時(shí),我們可以看到解壓縮后的.jpg文件中包含一個(gè)秘密的28字節(jié)文本文件msg.txt。
這些簡(jiǎn)單的技術(shù),可能對(duì)于擴(kuò)展用戶數(shù)據(jù)很有幫助,但同時(shí)也具有缺點(diǎn)。首先,這些技術(shù)會(huì)增加文件的大小,其次,它們會(huì)更改文件的哈希值。此外,由于其不尋常的格式,可以很容易被安全軟件檢測(cè)到。
有一種更好的方式,是以二進(jìn)制形式修改代碼,并操縱每個(gè)像素的最低有效位(LSB)。彩色圖像中的像素可以用3個(gè)字節(jié)表示,分別是R(紅色)、G(綠色)、B(藍(lán)色)。假設(shè)我們有三個(gè)字節(jié),表示一種特定的顏色,例如橙色:
如果我們從左到右看,最后的四位,實(shí)際上對(duì)顏色的視覺(jué)外觀沒(méi)有太大的影響。
1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
我們可以將最后四位修改成我們希望的任何值,最終會(huì)導(dǎo)致該像素看起來(lái)與原來(lái)的值幾乎相同。接下來(lái),我們來(lái)看看另一個(gè)完全不同的顏色,比如綠松石色:
1 0 0 1 1 0 0 1
1 1 0 0 1 1 0 0
1 1 0 0 1 1 0 0
我們使用綠松石代碼的前四位,來(lái)替換橙色代碼的后四位,從而生成復(fù)合的RGB:
1 1 1 1 1 0 0 1
0 1 1 1 1 1 0 0
0 0 0 0 1 1 0 0
新生成的顏色與此前相比,沒(méi)有明顯的顏色變化。
然而,如果我們構(gòu)建一個(gè)程序,來(lái)分別讀取和提取這四位,那么我們就可以有效地在橙色的代碼中隱藏了綠松石的代碼。兩個(gè)像素的信息共同保存在一個(gè)像素之中,所以文件的大小也沒(méi)有增加。由此證明,我們可以在不增加原始消息長(zhǎng)度的情況下傳輸隱藏的消息,也無(wú)需操縱文件格式,因此對(duì)于依賴于文件掃描查找的簡(jiǎn)單檢測(cè)方式來(lái)說(shuō)是無(wú)效的。實(shí)際上,這些代碼完全被混淆,直到攻擊者重新組裝。
簡(jiǎn)而言之,這意味著攻擊者可以使用最后四位編碼的RGB數(shù)據(jù)來(lái)寫(xiě)入其他數(shù)據(jù),而不會(huì)顯著降低圖像的視覺(jué)呈現(xiàn)效果,也不會(huì)增加文件的大小。隨后,隱藏的數(shù)據(jù)可以被另一個(gè)程序讀取,并用于重建惡意文件或泄露用戶數(shù)據(jù)。
LSB操縱只是眾多隱寫(xiě)技術(shù)中的一種。實(shí)際上,有許多其他方法可以操縱圖像和其他類型的文件,以實(shí)現(xiàn)隱藏密碼的目的。攻擊者甚至還可以在網(wǎng)絡(luò)協(xié)議中使用隱寫(xiě)術(shù),即所謂的“網(wǎng)絡(luò)隱寫(xiě)術(shù)”,以攜帶隱藏的消息。在這些情況下,其原則保持不變,通過(guò)在可見(jiàn)載體上搭載不可見(jiàn)的信息,從而將特定內(nèi)容隱藏在人們的視線之外。
目前在野外發(fā)現(xiàn)已經(jīng)使用隱寫(xiě)術(shù)的惡意軟件
目前,已經(jīng)在野外發(fā)現(xiàn)存在一些針對(duì)Windows和macOS平臺(tái)的惡意軟件使用了隱寫(xiě)術(shù)。我們已經(jīng)發(fā)現(xiàn),攻擊者使用隱寫(xiě)術(shù)來(lái)隱藏部分勒索軟件的攻擊代碼,提供惡意JavaScript,甚至承載挖礦工具。下面展示了使用隱寫(xiě)術(shù)的主要惡意軟件。
AdGhonlas:該惡意軟件在圖像、文本、HTML文件中隱藏了惡意JavaScript。
Cerber:在圖像文件中嵌入惡意代碼。
DNSChanger:使用PNG LSB隱藏惡意軟件的AES加密密鑰。
Stegano:在PNG格式的橫幅廣告中包含惡意代碼。
Stegoloadr(又名Lurk):該惡意軟件使用隱寫(xiě)術(shù)和密碼術(shù),隱藏加密的URL,從而提供后期階段的Payload。
Sundown:使用合法PNG文件來(lái)隱藏漏洞利用代碼或泄露用戶數(shù)據(jù)。
SyncCrypt:勒索軟件,將部分核心代碼隱藏在圖像文件中。
TeslaCrypt:在HTTP 404錯(cuò)誤頁(yè)面中,存在HTML注釋標(biāo)記,其中包含C2服務(wù)器命令。
Vawtrak(又名Neverquest):在圖標(biāo)的LSB中隱藏用于下載惡意Payload的URL。
VeryMal:該惡意軟件針對(duì)macOS用戶,將惡意JavaScript嵌入到合法文件中。
Zbot:將數(shù)據(jù)附加到包含隱藏?cái)?shù)據(jù)的JPEG文件的末尾。
ZeroT:使用隱寫(xiě)技術(shù),將惡意軟件隱藏到Britney Spears的照片之中。
如何防范惡意圖像
將惡意代碼隱藏在圖像或其他載體中,只是威脅行為者試圖繞過(guò)反病毒安全產(chǎn)品時(shí)所利用的眾多技術(shù)之一。無(wú)論使用哪種技術(shù),惡意軟件作者總有著相同的目標(biāo):在終端上保證持久性、掃描遍歷網(wǎng)絡(luò)、收集并泄露用戶數(shù)據(jù)。為了實(shí)現(xiàn)這些目標(biāo),惡意軟件作者留下了可以通過(guò)行為AI解決方案檢測(cè)到的足跡。
總結(jié)
將文件、圖片、消息甚至是視頻隱藏在另一個(gè)文件中,可能是惡意軟件作者用于模糊其Payload或者泄露用戶數(shù)據(jù)的一種有效方式??紤]到社交媒體網(wǎng)站上圖像的覆蓋程度之高,以及大多數(shù)廣告都是以圖像形式展現(xiàn),我們預(yù)計(jì)未來(lái)惡意軟件使用隱寫(xiě)術(shù)的趨勢(shì)將會(huì)保持??紤]到最終用戶難以鑒別出精心構(gòu)造的的惡意圖像文件,對(duì)于企業(yè)來(lái)說(shuō),使用行為AI軟件來(lái)檢測(cè)惡意代碼的執(zhí)行就顯得至關(guān)重要,無(wú)論該代碼是來(lái)自圖像還是來(lái)自其他文件,甚至還包括無(wú)文件惡意軟件。因此,我們建議企業(yè)用戶可以考慮選用自動(dòng)化終端防護(hù)產(chǎn)品來(lái)防范此類風(fēng)險(xiǎn)。
本文翻譯自:https://www.sentinelone.com/blog/hiding-code-inside-images-malware-steganography/如若轉(zhuǎn)載,請(qǐng)注明原文地址: https://www.4hou.com/technology/19065.html更多內(nèi)容請(qǐng)關(guān)注“嘶吼專業(yè)版”——Pro4hou總結(jié)
以上是生活随笔為你收集整理的什么方式可以通过影子系统传播恶意代码_将恶意代码隐藏在图像中:揭秘恶意软件使用的隐写术...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python编写代码_用 Python
- 下一篇: 仙剑厂商新作《女鬼桥:开魂路》新游戏截图