易強+彭永杰+肖靜
摘 要:隨著上機上網頻率日益提高、機器感染病毒的機會大大增加,由于病毒具有傳染性、潛伏性、可觸發性和破壞性,一旦出現在網絡中,破壞性非常大,可能對機房造成不可估量的損失。還原精靈是機房軟件系統保護與數據恢復的重要工具,正確運用可大大降低機房軟件維護工作的繁瑣與重復。
關鍵詞:邏輯扇區;十六進制編輯器;病毒;還原精靈;中斷
計算機公共機房特點是軟件內容繁多、機器數目龐大、人員流動性高,機房管理者的日常工作往往都比較煩瑣,硬件維護維修工作隨機性大;而系統的安裝、軟件的更新和病毒查殺等工作,則往往零碎而繁復。如何在機房的管理和維護中,防止系統和應用程序不被破壞、保護正常的上機環境、減少恢復系統的工作量,還原軟件的使用顯得尤為重要。作為機房管理者,筆者在工作中能夠接觸和使用到各種類型的保護系統和還原軟件,在實際使用中我們發現,無論是聯想各版本的硬盤保護系統,清華同方的同方易教以及七彩虹的智能主板系列功能其實大同小異,都基于最早的Recovery Genius(還原精靈)。
根據相關資料及筆者多年來使用經驗總結,還原軟件的工作原理大致如下:首先它修改引導區(MBR),它位于硬盤的0頭0柱1扇區,在擴展int 13中沒有頭、柱、扇區這個概念,它只有邏輯扇區,在擴展的int 13中MBR位于是0扇區,如果BIOS中設置的是硬盤啟動的話,系統會首先載入這個扇區到內存,然后運行這個代碼,還原軟件就是用的是自己的引導代碼,這個方法與引導型病毒一樣;這個代碼接管了INT13中斷,每當我們向硬盤寫入數據時,其實還是寫入到硬盤中,可是沒有真正修改硬盤中的FAT。由于INT13被接管,當還原精靈發現是寫操作,如果沒有激活管理身份(寫入權限),便將原先數據目的地址重新指向它自己定義的一段連續的空磁盤空間,并將先前背份的第二份FAT中的被修改的相關數據指向這片空間。當我們讀取數據時,和寫操作相反。所以還原軟件需要被保護的磁盤上有較大的空閑空間,這就是聯想硬盤保護系統在安裝時必須為每個分區指定一定大小的暫存空間的原因。
由此我們發現保護程序是通過修改中斷向量來達到保護硬盤不被真正寫入的,其中int13是關鍵,它攔截了int13的處理程序,將自己的程序掛到上面,這也是無法寫進數據的原因所在,有的硬件還原卡同時還修改了時鐘中斷來達到反跟蹤,它會利用早以被它修改過的時鐘中斷定時檢查中斷向量表,它一旦發現修改為別的值.就會一一還原。用戶也不可能格式化真正的硬盤,還是因為被接管的INT13,所有對硬盤的操作都要通過INT13。對于一部分還原卡,它的本質上更應該是網卡,不過它有BOOTROM啟動芯片,所以啟動的時候不是先啟動硬盤,它里面的程序來起著與還原精靈一樣的作用。對于這種類型的還原卡,以七彩虹主板C.P43 Twin的數據保護功能為例,只要進入BIOS設置里把boot from network這項關掉,系統起動時就只能進入提示符狀態,不能進入桌面,其實就是找不到相應的引導文件。
還原精靈也不是無懈可擊。在實際測試中我們繞過還原,在BIOS中設置從制作啟動盤或從光盤啟動,進入Windows后,發現托盤中的還原精靈圖標已變為紅色,然后運行卸載程序,重新啟動后,一般會成功。如果是多系統,雖然不會馬上移除,不過密碼已被初始化(12345678)。最簡單的方法莫過于直接運行ghost進行鏡像恢復操作,雖然這時候在進入操作系統前還能通過按HOME鍵調出管理菜單,但還原功能已經失效,進入系統后可以直接運行安裝文件卸載。不過原有系統分區可能丟失,硬盤上所有的數據都會被破壞。
用WinHex編輯運行在內存的保護文件(如hddgmon.exe)也可以破解還原精靈。運行winhex。這時你會發現有很多文件在內存中運行。選擇tools→ram ediutor→hddgmon→primary memoty→ok,就可以了。接著尋找我們要的頁面→search→find text,后綴為.dmb的就是原始密碼。
針對以上還原精靈的破解或者漏洞,現在的硬盤保護系統也就完善了相應的功能:
1.保護模式下阻止更改CMOS參數設置,包括開機密碼和網絡啟動項。
2.保護模式下僅能從C:盤啟動,系統安裝過程中會出錯。
3.保護模式下防止低級格式化對硬盤數據的破壞,理論上防所有病毒,包括未知病毒。
4. 所有的功能及口令都工作在基于DOS實模式的管理界面下,使用者不能用DEBUG功能和WinHEX內存編輯進行口令追蹤。
這幾個方面的改進從很大程度上彌補了還原精靈的不足,實際上可以看作是其功能的完善和擴展。
參考文獻:
[1]俸遠禎《計算機組成原理》電子工業出版社,1996,4.
[2]張夷人《微機組裝與維護》清華大學出版社,2003,7.