UnityGhost的檢測和回溯

wyzsk發表於2020-08-19
作者: 百度安全攻防實驗室 · 2015/09/23 15:45

0x01 問題描述和速查方法


此次XcodeGhost病毒並不僅僅只篡改Xcode的dmg安裝檔案,百度安全實驗室發現Unity3D也同樣被插入了惡意程式碼。Unity是由Unity Technologies開發的用於建立諸如三維影片遊戲、實時三維動畫等型別互動內容的多平臺的綜合型遊戲開發工具,Unity可釋出遊戲至Windows、OS X、Wii、iPhone、Windows phone 8和Android平臺。但目前安全實驗室蒐集到的樣本只有感染iOS app,還未發現感染安卓或是Windows平臺程式碼

目前我們觀察到Unity OS X平臺和Windows平臺的安裝包版本4.x至5.1.x(範圍可能更大), 64/32位版本均有被修改的現象,被修改後檔案均沒有數字簽名,在檔案安裝前可以很容易的區分開,對於OS X下dmg檔案中包含的pkg檔案,可以使用 pkgutil –check-signature Unity.pkg來進行檢查。這裡附上Windows和OS X下正確版本數字簽名校驗的截圖:

病毒作者修改了libiPhone-lib-il2cpp.a檔案, 在其中增加了libiPhone-lib-il2cpp.a-arch-masterx.x.o,其中arch為具體的架構名,並修改了project.pbxproj的配置資訊。libiPhone-lib-il2cpp.a在 mac平臺下位於./Unity/Unity.app/Contents/PlaybackEngines/iossupport/Trampoline/Libraries/ libiPhone-lib-il2cpp.a,windows平臺上的路徑為:Unity/Editor/Data/PlaybackEngines/iossupport/Trampoline/Libraries/libiPhone-lib-il2cpp.a

快速自查方法:由於.a是複合的archive檔案,解壓比較麻煩,可以直接檢查./iossupport/Trampoline/Unity-iPhone.xcodeproj/project.pbxproj中,是否含有”-ObjC”字串,如果有則屬於被感染版本。下圖左側為受感染檔案,右側為正常檔案。

0x02 程式碼邏輯


整體來說,Unity上受感染的惡意程式碼行為和XcodeGhost行為基本一致,更詳細的資訊可參看之前關於XcodeGhost分析。透過這些分析,可以見到,惡意程式碼作者有著很強的躲避檢測的動機。下圖是OS X平臺上的一個受感染檔案libiPhone-lib-il2cpp.a-armv7-master.o

0x03製作時間


透過對於惡意DMG和官方DMG中的檔案資訊,我們能夠非常清楚的看到惡意程式碼作者進行打包修改檔案的時間,以unity-4.6.6.dmg為例:

可以看出,UnityGhost作者在今年6月29日下午進行的修改操作。

下面是我們蒐集到的官方釋出版本和樣本篡改時間的時間軸:

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章