2018_oakland_linuxmalware

2018年oakland論文:理解linux惡意軟件

論文地址:http://www.s3.eurecom.fr/~yanick/publications/2018_oakland_linuxmalware.pdf

introduction

論文提出了linux而已軟件長期沒有被關注,尤其是學術界。

早期的幾個linux下惡意軟件的事件有VirusTotal,一些人的博客,以及對Mirai殭屍網絡的一篇分析文章,在原文的引文234中。

這篇文章作爲第一個全面分析linux下惡意軟件的文章,對10548個linux下的惡意軟件進行了長達一年的分析。這篇文章的貢獻在於

1、記錄了設計用來支持分析Linux惡意軟件的幾個工具的設計和實現,並討論了處理這種特殊類型的惡意文件時所涉及的挑戰

2、在一年內首次對10548個Linux惡意軟件樣本進行了大規模的實證研究。

3、揭示並討論了現實世界中惡意軟件使用的一些低層特定於linux的技術,並提供了當前使用情況的詳細統計數據。

挑戰

目標多樣性:目的設備有很多種,比如智能電視,智能攝像頭等待一些IOT設備。而這些設備分析起來都比較複雜

1、架構多樣性:linux支持多種架構,所以要全面分析linux的惡意軟件還需要做多種架構的支持

2、加載器和庫:ELF允許自定義加載器和庫,不同的環境使用的加載器和庫不同,可能會直接造成程序不可執行

3、操作系統:由於ELF也是支持多種操作系統,很難區分開這寫ELF是爲那種系統編寫的,因爲其他系統中甚至連繫統調用號否不一樣

靜態鏈接:會導致庫函數被編譯進可執行文件中,導致二進制分析變得很困難

分析環境:一些嵌入式設備上,惡意軟件假定以管理員權限運行,而在分析惡意軟件時,賦予而已軟件root權限,則會賦予它更改沙箱的能力

缺乏相關工作:這是第一個全面分析惡意軟件的工作,如何分析有很多的問題

分析流程

數據蒐集:從VirusTotal獲得樣本

文件和元數據分析:直接分析ELF文件的格式等信息

靜態分析:利用IDA分析加殼等信息

動態分析:kvm加qemu虛擬機運行,利用systemtap等共計收集運行時的一些信息

行爲分析

1、ELF頭操縱

文章指出而已軟件經常通過更改ELF頭

異常的ELF頭,爲什麼需要更改這些信息

1、刪除節信息:可以執行

2、更改可執行文件所在系統:報出提示但是還是可以執行

無效ELF

1、節表異常

2、重疊段

對用戶程序的影響

IDA對異常ELF的處理最好,readelf、gdb等都不夠好

2、持久性

子系統初始化:/stc/rcX.d下面這些腳本,rc.local腳本等,systemv intit的配置更改

cron進程:cron是Unix系統中基於時間的作業調度程序

文件替換和感染:替換掉關鍵地方的文件,感染關鍵文件

修改用戶主目錄中的配置文件:比如bashrc等

3、欺騙

使用一些特定的名字,比如正常軟件的名字,或是每次執行都更改已從進程的名字

4、權限獲取

隱藏自身痕跡:刪除/var/log文件,刪除/var/log/wtmp(包含登錄信息)

系統漏洞提權

linux模塊

5、打包和多態

UPX

自定義打包器

6、進程交互

多進程DDOS攻擊

使用shell命令,實現持久性和刪除歷史等

進程注入,向運行進程注入代碼來改變進程行爲,或是竊取一些進程信息,3種方式實現進程跟蹤

1、ptrace,子進程執行,執行ptrace,然後父進程也執行

2、ptrace加PID跟蹤目標進程,然後向/proc/<target_pid>/mem中寫值

3、執行process_vm_writev調用。process_vm_writev調用是2012年引入的一個新的系統調用,使用內核3.2在兩個進程的地址空間之間直接傳輸數據。

7、信息獲取

 proc文件系統和sys文件系統

/etc目錄下的配置文件

8、逃避

沙盒檢測:蒐集系統中的一些信息來看是不是有Wmware,qemu等信息

進程枚舉:測試機器是否被感染,或是選擇進程去殺死

ptrace反調試

拖延代碼:只是用來進行網絡通信

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章