資源描述:
《Stuxnet病毒驅(qū)動(dòng)分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Stuxnet蠕蟲驅(qū)動(dòng)分析這里只是分析文字,貼圖影響速度,就不貼了,具體看附件pdf文檔,難免有錯(cuò)誤之處,歡迎指正!一.Stuxnet蠕蟲(超級(jí)工廠病毒)簡(jiǎn)單說明能夠利用對(duì)windows系統(tǒng)和西門子SIMATICWinCC系統(tǒng)的7個(gè)漏洞進(jìn)行攻擊,被稱為是新時(shí)代網(wǎng)絡(luò)戰(zhàn)爭(zhēng)開始的標(biāo)志,也有人宣稱是"政府發(fā)動(dòng)的網(wǎng)路戰(zhàn)爭(zhēng)、帶有圣經(jīng)訊息、最高機(jī)密等",呵呵,有點(diǎn)雷人!windows下最主要的傳播途徑是攻擊快捷方式自動(dòng)執(zhí)行漏洞(MS10-046),WindowsServer服務(wù)的遠(yuǎn)程溢出漏洞(MS08-067)以及打印后臺(tái)程序服務(wù)中的遠(yuǎn)程代碼執(zhí)行漏洞(MS10-061)。病毒成功攻擊
2、了伊朗核電站,造成伊朗核電站推遲發(fā)電.由于能夠?qū)ξ鏖T子公司的SIMATICWinCC監(jiān)控與數(shù)據(jù)采集(SCADA)系統(tǒng)進(jìn)行攻擊,因此也能攻擊我國(guó)的鋼鐵、電力、能源、化工等重要行業(yè),Stuxnet超級(jí)工廠病毒直到2010-09-25,才在傳入國(guó)內(nèi)網(wǎng)絡(luò).我是在近兩個(gè)月前才收到的,當(dāng)時(shí)只需要簡(jiǎn)單分析用戶態(tài)的部分樣本,因此沒有對(duì)驅(qū)動(dòng)進(jìn)行分析.后來(lái)閑著沒事時(shí),就分析了驅(qū)動(dòng)部分.不過,此病毒強(qiáng)大之處大部分都在用戶態(tài)實(shí)現(xiàn).二.Stuxnet蠕蟲(超級(jí)工廠病毒)驅(qū)動(dòng)(mrxnet.sys)分析從Stuxnet蠕蟲病毒樣本中提取出了兩個(gè)驅(qū)動(dòng)文件,mrxnet.sys(17k),mrxcls
3、.sys(26k),其中驅(qū)動(dòng)mrxnet.sys在蠕蟲通過u盤驅(qū)動(dòng)器傳播時(shí)被用來(lái)隱藏特定文件,這個(gè)驅(qū)動(dòng)是一個(gè)文件系統(tǒng)過濾驅(qū)動(dòng),支持三種文件系統(tǒng)ntfs,fastfat和cdfs文件系統(tǒng).驅(qū)動(dòng)文件mrxcls.sys則被用于向用戶空間中注入代碼,被注入的模塊被放在一個(gè)配置文件中,這應(yīng)該就是最初讓卡巴斯基頭痛的"父進(jìn)程注入"技術(shù),輕松地繞過卡巴.這里單就只分析驅(qū)動(dòng)mrxnet.sys.入口處開始分析:1.此驅(qū)動(dòng)首先創(chuàng)建一個(gè)設(shè)備類型為FILE_DEVICE_DISK_FILE_SYSTEM,設(shè)備特征為FILE_DEVICE_SECURE_OPEN,設(shè)備擴(kuò)展為8字節(jié)的無(wú)名設(shè)備對(duì)
4、象.這個(gè)驅(qū)動(dòng)沒有控制設(shè)備,因此不會(huì)跟用戶態(tài)交換信息.其中設(shè)備擴(kuò)展的類似如下定義:DeviceExtension{PDEVICE_OBJECTLowerDevice;PDEVICE_OBJECTRealDevice;}其中LowerDevice為本驅(qū)動(dòng)的下層驅(qū)動(dòng),RealDevice為VPB中的RealDevice設(shè)備,其實(shí)也就是文件系統(tǒng)的卷設(shè)備.2.接下來(lái)注冊(cè)MajorFunction:IRP_MJ_FILE_SYSTEM_CONTROLIRP_MJ_DIRECTORY_CONTROL這兩個(gè)派遣例程,這個(gè)驅(qū)動(dòng)主要就處理這兩例程,其他的用一個(gè)例程處理,其實(shí)是直接pass了
5、,不做任何處理.兩個(gè)例程分別是FileSystemControl,DirControl.是本驅(qū)動(dòng)核心功能的實(shí)現(xiàn),留到最后闡述.3.接著就是填充FastIoRoutines,驅(qū)動(dòng)并沒填充所有的FastIoRoutines,這里填充了如下:FastIoCheckIfPossible;FastIoRead;FastIoWrite;FastIoQueryBasicInfo;FastIoQueryStandardInfo;FastIoLock;FastIoUnlockSingle;FastIoUnlockAll;FastIoUnlockAllByKey;FastIoDeviceC
6、ontrol;FastIoDetachDevice;FastIoQueryNetworkOpenInfo;MdlRead;MdlReadComplete;PrepareMdlWrite;MdlWriteComplete;FastIoReadCompressed;FastIoWriteCompressed;MdlReadCompleteCompressed;MdlWriteCompleteCompressed;FastIoQueryOpen;這些FastIoRoutines沒有做什么實(shí)質(zhì)性的工作,只是把簡(jiǎn)單判斷一下,然后調(diào)用下層驅(qū)動(dòng).4.然后就是attach到文件系統(tǒng)了,
7、函數(shù):AttatchTargetDrivers.先獲取通過MmGetSystemRoutineAddress動(dòng)態(tài)獲取ObReferenceObjectByName函數(shù)的地址,將其地址作為參數(shù)去獲取文件的驅(qū)動(dòng)對(duì)象,文件系統(tǒng)名為:\FileSystemtfs\FileSystem\fastfat\FileSystem\cdfs支持的文件系統(tǒng)有ntfs,fastfat,cdfs.這三個(gè)文件系統(tǒng)名的地址被放在一個(gè)指針數(shù)組中,這個(gè)指針數(shù)組以后會(huì)被通過ObReferenceObjectByName獲取的驅(qū)動(dòng)對(duì)象覆蓋;這里有個(gè)循環(huán),循環(huán)