沈榮
摘 要:傳統還原軟件對計算機系統程序進行讀寫具有一定的難度,而虛擬還原軟件則可以針對系統數據存儲信息進行備份和還原,使用戶更好的進行驅動程序穿透。當前對于虛擬還原穿透技術的研究已取得了一定的進展,其在系統磁盤中所占空間較小,而且具有高效率的還原速度,深受計算機用戶的青睞。本文將對虛擬還原穿透技術進行簡要闡述,并在此基礎上對基于端口操作的虛擬還原穿透驅動程序的設計進行研究和分析。
關鍵詞:端口操作;虛擬還原;穿透驅動程序;設計
現代技術的不斷進步和計算機網絡的飛速發展,社會需求也在不斷提高,人類生活變得越來越便利和快捷的同時,所面臨的網絡問題也越來越嚴峻,隨著網絡技術的發達,各類網絡犯罪問題不斷涌現,從社會角度而言,網絡法律尚不完善,懲戒力度較弱是造成網絡犯罪猖獗的一大因素,為了凈化網絡環境,還給人們一片綠色的網絡環境,相關的計算機網絡安全技術營運而上,虛擬還原穿透技術即是其中的一種,其主要通過對驅動程序進行穿透能夠截取系統操作程序,從而獲得相關操作,便于網絡管理。
1 虛擬還原穿透技術
虛擬還原軟件與傳統的穿透軟件并不相同,其主要功能在于對計算機相關信息進行備份和存儲,如FAT、MBR等,當其進行還原操作時,也僅僅是將這些備份的信息進行還原,嚴格意義上來說,該還原技術應當被稱之為虛擬還原技術。在系統中暗轉了虛擬還原軟件之后,系統磁盤而對讀寫操作在進行相關命令執行時將會產生改變,通過外部媒介向磁盤寫入的數據并不會到達真正的目的地址中,而是進入虛擬還原軟件所分配出的連續空間當中。在操作系統中進行FAT表讀取時也不會出現修改程序,所修改的只是虛擬還原軟件中備份的FAT表,在用戶讀取磁盤的數據時,所顯示的數據一般都是經過備份的數據,當系統中出現相關數據記錄時則根據所備份的FAT表進行數據讀取。虛擬還原軟件在此基礎上可以實現還原功能并將原有的FAT表對備份表進行替換,從而清除連續空間數據,為系統提供更大的存儲空間。
2 基于端口操作的虛擬還原穿透驅動程序的設計
2.1 虛擬還原技術原理
計算機軟硬件中所配備的虛擬還原軟件主要用于還原軟件,盡管虛擬還原產品在不同廠家有不同的形狀,但其原理性缺是一致的。計算機系統磁盤中傳統驅動程序還原主要在于還原軟件,如在磁盤扇區中保留了某一數據信息,虛擬還原技術則通過該扇區的信息進行相關代碼錄入,從而使操作系統在運行軟件之前獲取可執行權,保證程序運行的安全。
2.2 程序的設計:POVRPD穿透方法的應用
還原軟件目前僅有過濾驅動和中斷重定向兩種,其穿透方式主要是在磁盤中截獲磁盤I/O操作。磁盤I/O操作基本流程如圖1所示:
通過該圖可知,以過濾驅動方式進行穿透的還原軟件會在元軟件上多加一層驅動程序,在磁盤I/O執行操作命令之前,該驅動程序即可對其進行截獲處理,獲取其操作流程。還原軟件調用API之后將模式轉為內核,并交由磁盤I/O執行,在相關應用程序對磁盤進行操作時,通過API建立IRP,再通過內核驅動程序進行操作,在內核態驅動程序出現設備極中斷情況時,可通過硬件抽象層進行分層,并由操作硬件獨立完成IRP建立,最后將處理的結果逆向傳遞給用戶模式程序進行相關存儲。
在虛擬還原穿透方式中主要以避免硬件在進一步處理之前相關磁盤操作被還原軟件劫持,進行還原穿透后用戶的操作可以繼續進行,并且不會被截取。因此,在虛擬還原穿透程序的設計中,還可以將磁盤I/O操作直接放給計算機硬件進行處理,避免操作截獲。該基于端口操作的虛擬還原穿透驅動程序為POVRPD,改程序運用后,磁盤I/O操作的處理流程如圖2所示:
POVRPD進行IRP處理的流程如下:首先通過調用硬件抽象層的函數內容來還原程序,避免設備級中斷,以中斷重定向的方式進行虛擬穿透,一般情況下,POVRPD程序在計算機內容模式下的驅動扇區通常能夠直接對IRP進行讀寫,從而避免其被還原為磁盤I/O操作。在IRP被建立后,直接歸入POVRPD進行相關處理,減少了計算機系統中各軟件層驅動所受到的干擾。從而減輕對軟件對于驅動層面的處理,使軟件能夠順利被穿透。
POVRPD之所以能夠實現穿透驅動程序的功能,主要在于其能夠通過硬件抽象層所提供的函數進行磁盤讀寫。在系統硬件抽象層中備有可供讀寫的端口函數,這些函數在被POVRPD調用后 ,加上端口讀寫技術的結合,計算系系統即能夠實現一個或多個磁盤扇區。扇區可被直接讀寫,但在計算機的安全性方面出發,這一虛擬操作系統對于底層端口函數進行了一定的屏蔽,使得POVRPD的訪問權限收到了阻擋,因而,POVRPD必須先突破操作系統再進行虛擬還原穿透驅動程序的運作。
綜上所述,虛擬還原技術還在不斷發展,我們有理由相信其在未來將會具有更為強大的還原功能,其針對于計算機驅動程序所發展的穿透技術也會不斷進行創新,訊還原穿透驅動程序必然會在未來擁有廣闊的發展空間。
[參考文獻]
[1]王健婷,趙霞,劉杰,許慶平.基于P2PSIP的NAT穿透方法的研究[J].北京工商大學學報(自然科學版),2008,26(3):70-75.
[2]梁坤,秦拯.一種面向安全虛擬網絡的NAT雙向穿透方法研究[J].計算機應用研究,2010(15).
[3]夏弟方,薛質.遠程接入的安全策略[J].信息網絡安全,2004(4):61-62.
[4]姚渝春,李杰.計算機軟件系統的保護及恢復技術[J].重慶大學學報(自然科學版),2002,25(10):121-123+127.