金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上
91手機維修論壇
標題:
還原系統保護技術(shù)原理和攻防
[打印本頁(yè)]
作者:
好想有點(diǎn)田
時(shí)間:
2009-9-21 07:20
標題:
還原系統保護技術(shù)原理和攻防
大家好!我今天給大家介紹這幾個(gè)方面:背景、還原系統技術(shù)原理概覽、流行還原系統穿透技術(shù)介紹、通用還原系統保護技術(shù)、演示& GuardField、還原系統保護之未來(lái)趨勢。最近一段時(shí)間,有機器狗這類(lèi)病毒工具對還原系統攻擊,使用還原系統環(huán)境的用戶(hù)一般都不會(huì )安裝其他的防護軟件,一旦還原軟件被穿透的話(huà),會(huì )帶來(lái)比較大的安全威脅。
還原系統技術(shù)原理:基本原理是磁盤(pán)設備過(guò)濾驅動(dòng)。比較常用方法是自己會(huì )建一個(gè)磁盤(pán)卷設備,在harddiskX進(jìn)行文件過(guò)濾。過(guò)濾驅動(dòng)如何做到還原?首先還原系統會(huì )在磁盤(pán)上分配一塊預留的區域,應用程序以為他已經(jīng)寫(xiě)到真實(shí)磁盤(pán),實(shí)際上被分配到一塊內容區域里,真實(shí)磁盤(pán)根本就沒(méi)有被寫(xiě)入。
下面介紹一下還原軟件怎么更新過(guò)濾。首先是一個(gè)普通的Windows程序,會(huì )調用Win32API,從用戶(hù)模式到內存模式,這些函數調用Windows內核,把文件請求發(fā)到文件系統上,根據磁盤(pán)卷分區格式不同來(lái)創(chuàng )建。文件系統設備會(huì )將上層發(fā)來(lái)的文件讀寫(xiě)請求轉化磁盤(pán)讀寫(xiě)請求,在harddisk volume之前會(huì )有還原系統過(guò)濾驅動(dòng)。再往下會(huì )根據硬盤(pán)接口不同而有不同。如果IDE結構硬盤(pán),會(huì )發(fā)布到電源系統。api最終會(huì )調用函數讀寫(xiě)端口。如果是USB設備,會(huì )發(fā)送到usb stor。
剛才說(shuō)了還原系統的一些基本原理,知道原理之后對如何穿透還原也就很簡(jiǎn)單了。既然還原系統都在磁盤(pán)上過(guò)濾驅動(dòng),只要我們解除過(guò)濾驅動(dòng)與真實(shí)磁盤(pán)之間的關(guān)系,繞過(guò)過(guò)濾關(guān)系的話(huà),就等于直接穿透了還原。第一種方法:DR0設備過(guò)濾設備鏈摘鏈。這種方法其實(shí)就是摘除一個(gè)harddiskDR0上的過(guò)濾設備。指明設備上會(huì )有哪些過(guò)濾設備,第一代機器狗病毒將這個(gè)域給清零,導致還原系統設備被清除,所有請求就不通過(guò)還原系統直接到達過(guò)濾磁盤(pán)設備。對于沒(méi)有防備的還原系統就被成功攻破了。國內大部分還原系統都沒(méi)有辦法對抗這種技術(shù)。但是這種技術(shù)也是有一些缺陷的,只能摘除在DR0上的物理設備。文件請求先到達磁盤(pán)卷,磁盤(pán)卷上的過(guò)濾設備摘除的話(huà)對系統有影響。所以第一代機器狗病毒使用了自己解析文件系統方式進(jìn)行感染,這是它的缺陷。
第二種方法:會(huì )自己創(chuàng )建虛擬磁盤(pán)設備,作為磁盤(pán)卷掛載到文件系統上,對虛擬磁盤(pán)讀寫(xiě)影射到真實(shí)磁盤(pán),將請求下發(fā)到下層設備。相對第一代機器狗來(lái)說(shuō),這種方法不需要對磁盤(pán)系統摘除,可以通過(guò)文件對虛擬磁盤(pán)操作,操作結果是和對真實(shí)磁盤(pán)操作是一樣的,可以成功穿透還原。在這里還用一種方式就是他沒(méi)有直接發(fā)送磁盤(pán)讀寫(xiě)請求,發(fā)送SCSI-REQUEST-BLOCK下發(fā)到下層磁盤(pán)設備。
還有一種方法,這是方法不使用驅動(dòng)程序,直接在用戶(hù)模式穿透還原系統。磁盤(pán)系統提供一套passthrough指令,不向磁盤(pán)發(fā)送直接請求,就可以獲取磁盤(pán)信息甚至直接讀寫(xiě)磁盤(pán)扇區。IDE/SCSI/ATA Pass Through指令穿透還原,RING3下使用Devicelocontrel函數發(fā)送請求。大多數還原系統對此過(guò)濾不嚴或根本未過(guò)濾,導致在RING3 下即可達成攻擊。
其他一些方法,比如說(shuō)直接操作端口驅動(dòng),比如USB,更底層的磁盤(pán)操作:端口驅動(dòng)、直接IO等等,缺點(diǎn)是難度大,通用較麻煩。另外的方法是可以摘除其他一些過(guò)濾設備,Attach到還原系統上,先于磁盤(pán)系統獲得磁盤(pán)的請求,可以做一個(gè)繞過(guò)動(dòng)作?梢栽诖疟P(pán)卷設備保存指針上所手腳。方法很多,不再一一解釋了。主要是兩類(lèi),第一類(lèi)是新的磁盤(pán)技術(shù)或者磁盤(pán)卷繞過(guò)或者穿透的一些技巧。
通用還原系統的保護技術(shù),GuardField。還原系統脆弱的原因是什么呢?剛才也說(shuō)過(guò)了他是通過(guò)磁盤(pán)設備上的過(guò)濾驅動(dòng),也就是說(shuō)他跟磁盤(pán)設備沒(méi)有緊密聯(lián)系,只要被攻擊者使用、摘除或者繞過(guò)方法就可以把磁盤(pán)請求發(fā)送到真實(shí)磁盤(pán)上。穿透基本原理:必須使讀寫(xiě)請求不經(jīng)過(guò)還原系統物理驅動(dòng),而是到了下層的物理磁盤(pán)設備。這里就有一個(gè)穿透思路,一個(gè)磁盤(pán)請求是從上層逐層發(fā)布到下層,我們只要監控發(fā)送路徑,進(jìn)行對比操作,就可以作為一個(gè)還原穿透的角色。
這是我們上周發(fā)布的360GuardField文件,給大家演示一下效果。這是一臺XP虛擬機,安裝了冰點(diǎn)的還原系統,這個(gè)還原系統正常會(huì )被第一代機器狗穿透。這是我們第一代機器(圖)。這個(gè)系統已經(jīng)安裝了還原保護?梢钥吹竭原攻擊已經(jīng)被攔截了,這個(gè)時(shí)候看到攻擊者已經(jīng)沒(méi)有了。然后使用微軟工具查看一下,可以看到攻擊者攻擊是失敗的。這是第二代機器狗樣本,它可以直接對文件操作,不需要感染。他可以在啟動(dòng)目錄上拷貝一個(gè)文件,因為他是穿透還原去拷貝文件,所以重啟后就無(wú)法被還原了。這里會(huì )有第三種攻擊方法,passthrouh,它可以破壞磁盤(pán)數據。我們用Winhex看一下。攻擊演示就做到這里?梢钥吹轿覀冊趯Υ谝、二、三代攻擊都成功做到保護。
現在說(shuō)一下GuardField原理,首先在啟動(dòng)時(shí)手機、掛鉤還原系統的磁盤(pán)過(guò)濾驅動(dòng),監視磁盤(pán)IRP發(fā)送。之后我們掛鉤底層磁盤(pán)設備,監視磁盤(pán)IRP達到,如果數據結構里沒(méi)有磁盤(pán)IRP,我們就認為磁盤(pán)IRP沒(méi)有經(jīng)過(guò)還原系統到達下層。我們首先對系統做一個(gè)檢查、修復,檢查之前保存的磁盤(pán)過(guò)濾設備鏈有沒(méi)有被摘除,如果摘除了,我們恢復。然后會(huì )將這個(gè)信息發(fā)送到Ring3服務(wù)進(jìn)程。我剛才說(shuō)的第一種攻擊手段,它以后讀寫(xiě)都不會(huì )再成功了。后面請求的時(shí)候都會(huì )被還原系統攔截到。第二代虛擬磁盤(pán)方式,每次讀寫(xiě)都穿透還原,所以每次穿透還原都會(huì )攔截掉。
我們掛鉤還原系統在磁盤(pán)卷上的過(guò)濾驅動(dòng),進(jìn)行收集IRP操作,下面還原系統在磁盤(pán)上的過(guò)濾驅動(dòng),然后在磁盤(pán)設備下層也會(huì )掛鉤,GuardField分析IRP。
IRP 監視回收,他不一定會(huì )發(fā)送到下層?赡茉诖疟P(pán)卷或者過(guò)濾設備上被取消或者直接完成掉,沒(méi)有往下傳送。數據始終保持在數據結構里沒(méi)有被清除。 Lofreelrp是用于IRP取消或者完成來(lái)釋放的。他jmp ds_Plofreelrp。每次當IRP回收的時(shí)候,我們從數據結構里可以得到一個(gè)監視。
對抗passthrough,因為我們掛鉤下層磁盤(pán)設備,TM都會(huì )使用passthrough這些指令,他是通過(guò)這些指令獲取磁盤(pán)信息。分析passthrough請求包意圖。攔截惡意攻擊者的passthrough指令。
同時(shí)還結合傳統反病毒技術(shù),為什么還會(huì )使用傳統反病毒技術(shù)呢?主要原因是Ringo攻擊者同我們處在同一水平,除非阻止其進(jìn)入RING0,不可能完全對其進(jìn)行防御。GuardField使用方法,通過(guò)Mmloadsystemlmage函數。如果是一個(gè)已知的驅動(dòng)的話(huà),我們會(huì )阻止,最大可能樂(lè )觀(guān)防止攻擊者攻擊。
還原系統未來(lái)趨勢。我們現在有GuardField的保護,惡意攻擊者肯定會(huì )開(kāi)發(fā)出一些新的更新,對抗GuardField。他們可能會(huì )使用哪些手段,猜測主要有兩方面:第一,更底層或者更新的磁盤(pán)讀寫(xiě)技術(shù),繞過(guò)磁盤(pán)IRP分析,直接寫(xiě)入磁盤(pán)。第二,針對GuardField本身的工具,對GuardField進(jìn)行破壞、脫鉤。我們發(fā)布之后,大概不到兩天時(shí)間就有新的驅動(dòng)出來(lái),對我們GuardField脫鉤。
如何防御:更底層的磁盤(pán)讀寫(xiě)監視。他們開(kāi)發(fā)起來(lái)難度比較大,短期內沒(méi)有辦法形成比較大的規模。GuardField這套系統如果有一定時(shí)間可以進(jìn)行修改的話(huà),還是可以用現有系統兼容,對磁盤(pán)底盤(pán)操作進(jìn)行監視。我們知道atapi.sys IRP還是存在的,對這一層做hook。
針對第二種方法脫鉤,可以適量的自我保護、恢復。就我個(gè)人來(lái)看,針對性攻擊不足為懼。如果攻擊者對防御者產(chǎn)生一些針對性攻擊,等于攻擊者容易落入一個(gè)被動(dòng)捱打的局面。如果已經(jīng)到脫鉤了,說(shuō)明攻擊者已經(jīng)比較窮了。還原系統在軟件方面的對抗應該是沒(méi)有止境的。有什么問(wèn)題大家可以問(wèn)。
以下是現場(chǎng)問(wèn)答部分:
問(wèn):我給鄭文彬補充一些數據,根據權威部門(mén)統計,盜號70%是來(lái)自網(wǎng)吧。而網(wǎng)吧幾乎100%安裝了還原設備。剛才鄭文彬也介紹了還原設備的攻防。其實(shí)還原系統是很重要的一塊。我想請問(wèn)一下您剛才介紹的還原系統軟件原理、實(shí)現方法,能不能介紹還原卡硬件的原理?
鄭文彬:對于還原卡來(lái)說(shuō),一般有兩種,F在市面上的還原卡都不是真正的硬件上的還原卡,他們使用技術(shù)就是PCI設備,可以在OS啟動(dòng)之前獲得控制權,在OS 無(wú)整個(gè)過(guò)程中監控磁盤(pán)讀寫(xiě),但是實(shí)質(zhì)上是通過(guò)磁盤(pán)驅動(dòng)監視。應該國外有一些硬盤(pán)磁盤(pán)設備監控磁盤(pán)IO端口,在IDE接口上做一些保護。但是這種硬件還原產(chǎn)品至今我沒(méi)有看到。主要還是采用軟件方面保護。
問(wèn):你的意思是你看到還原卡本質(zhì)還是軟件還原設備?
鄭文彬:用PCI就可以比磁盤(pán)的OS啟動(dòng)的更早。
問(wèn):那就是說(shuō)PCI還原卡是忽悠人的?
鄭文彬:它的好處就是可以更早的監視。像一些純軟件的還原卡,如果在DoS下攻擊的話(huà),應該是沒(méi)有辦法
作者:
都市2689
時(shí)間:
2009-9-21 11:17
學(xué)習了
作者:
sureluyi
時(shí)間:
2009-9-27 21:12
太深了,看不懂個(gè)
歡迎光臨 91手機維修論壇 (http://www.jstransmit.com/)
Powered by Discuz! X3.4
柯坪县
|
钟山县
|
虞城县
|
多伦县
|
潮州市
|
城市
|
仲巴县
|
岚皋县
|
海晏县
|
蓬溪县
|
佳木斯市
|
永丰县
|
沾益县
|
通化县
|
柘城县
|
遵义市
|
鹤庆县
|
堆龙德庆县
|
乳山市
|
昌邑市
|
古交市
|
博客
|
广元市
|
始兴县
|
曲周县
|
江孜县
|
卓资县
|
黑水县
|
九龙城区
|
宜都市
|
龙泉市
|
平果县
|
田东县
|
田东县
|
双牌县
|
资溪县
|
朔州市
|
故城县
|
厦门市
|
浠水县
|
鄂州市
|