劉意先 吳限 羅康健 張巍耀
【摘要】 為解決計算機主機系統存在的安全漏洞,增強全性,開發出一款基于移動存儲設備的主機安全保護系統(以下簡稱系統)。系統針對當前個人主機的安全性問題,通過修改主機MBR引導,以及主機喚醒后的Hook函數的訪問控制,提出了一種新式的、操作簡單,同時具有拓展性的主機安全保護措施,保證非專業行的普通用戶的主機不受威脅。系統具有唯一性和不可否認性,防止偽造驗證信息.同時驗證設備與方式具有可更改和可拓展性,由移動存儲設備進行動態加密,使以后每次解密的密鑰都是不一樣的,即使丟失移動存儲設備,MBR很難被破解。經過測試,系統可以有效的解決主機的安全問題,實現主機安全保護。
【關鍵詞】 訪問控制 附加硬件 隨機密鑰
隨著科技的不斷發展,計算機已經成為人們的必需品,但是計算機的安全問題一直困擾著廣大用戶。近年來,計算機丟失后資料被輕松竊取的情況頻頻發生。反映出目前的計算機應用中存在著以下不足[1]:易于泄漏[2]、易于猜測、易于攻擊,無法提供足夠的訪問安全性。針對以上問題開發出一款基于移動存儲設備的主機安全保護系統。系統提出了一種新式的、操作簡單,同時具有拓展性的主機安全保護措施[3]。以此來保證非專業行的普通用戶也能確保自己的主機不受威脅。系統包含上位機程序模塊以實現基于windows操作系統的主機鎖定和對訪問權限的控制。底層匯編程序模塊以實現對主機喚醒之前的引導區域程序的控制,使主機操作系統的跳轉在移動存儲設備模塊實現。移動存儲設備模塊實現計算機使用過程中如果拔出移動存儲設備,實現整個系統輸入鎖死。操作者需要再次刷入驗證信息,驗證正確后,操作者方可對主機進行操作。系統的主要特點是移動存儲設備在經過軟件安裝后具有唯一性與不可否認性,防止偽造驗證信息。驗證設備與方式具有可更改和可拓展性,移動存儲設備模塊可由智能手機替換,通過手機的屏幕滑動解鎖方式,操作方便快捷。同時由移動存儲設備進行動態加密,使以后每次解密的密鑰都是不一樣的,即使丟失移動存儲設備,我們的MBR很難被破解。
在測試中,針對BIOS讀取引導扇區將匯編信息顯示在屏幕上和Hook API自動鎖死鍵鼠等功能進行了測試,還針對客戶機掉電或強行關機后重啟機器,不丟失數據等可靠性,安全性,兼容性進行了測試。測試的結果表明,本系統可以有效的解決主機的安全問題,實現基于移動存儲設備的主機安全保護。
一、系統結構
系統針對當前個人主機的安全性問題,通過修改主機MBR引導,以及主機喚醒后的Hook函數的訪問控制,提出了一種新式的、操作簡單,同時具有拓展性的主機安全保護措施。以此來保證非專業行的普通用戶也能確保自己的主機不受威脅。
系統如圖1包括兩部分:1.基于主機的軟件程序中包含了上位機程序:基于windows操作系統,利用Hook API對喚醒后的主機進行鎖定,直到接受到移動存儲設備板傳遞來的操作指令。并根據操作指令對訪問權限進行控制。底層匯編程序:軟件面向cpu編程。主機喚醒之前的引導區域程序,通過修改硬盤1磁道0扇區的整個64字節匯編代碼,使主機操作系統的跳轉在移動存儲設備模塊實現。 2.安全終端載體移動存儲設備。
二、核心技術
2.1 移動存儲設備驗證模塊
移動存儲設備模塊實現動態加密和問題。首先將MBR放到ARM的扇區中,然后進行每一位的按位加密,寫好簡單加密算法對MBR進行加密。然后調用隨機函數生成一個512B的字符串,與原來字符串進行按位加密運算,解密的時候用原來的字符串與加密MBR進行按位解密運算,然后再與原來第一步實現的加密算法進行解密,得到真正的MBR。在進入計算機之前,只有BIOS,而BIOS有著非常簡單的計算和處理能力,那么移動存儲設備和計算機BIOS的通信只能通過字符串傳遞,而不能通過文件的形式傳遞,那么用512個字符當成文件,將512個字符傳送到MBR指定的位置上,然后由固化在硬盤扇區中的程序將真正的MBR加載到指定扇區,就能夠開機啟動。
2.2 計算機引導匯編部分
(1)分析計算機啟動的引導過程:按下開機電源→固化在計算機主板上的BIOS進行開機自檢→如果自檢成功→檢測第一存儲外設的第一塊扇區標志位是否是55AA→是則BIOS將第一外設存儲的第一個扇區(也就是MBR)加載到計算機內存0000:7C00H處,不是則檢測第二存儲外設…… →然后將計算機的控制權力給了第一外設的第一快硬盤分區→計算機開始執行該扇區上的代碼 →代碼將執行一系列代碼引導計算機啟動。
(2)由于系統主要在重寫MBR,所以下面來分析下MBR:MBR一共512B,是446B+64B+2B的結構:446B是功能性引導代碼部分,這一部分是寫功能代碼的區域,代碼的長度不能超過446B,如果超過就要跨扇區寫代碼,對于程序的穩定性和可移植性都有一定的影響,所以將代碼控制在446B;64B是計算機分區表,分區表的功能是為電腦的磁盤劃分多個分區便于用戶管理,最多四個表項每個表項16B,如果這一部分丟失,那么計算機識別的硬盤就是一整硬盤,毫無意義,如果加密該64B的內容,那么對于磁盤的信息保護有了極大的保障。
2B是MBR標識符,常為55AA,如果不是這個數值,那么則該扇區不會當做MBR。
(3)匯編程序大體思路
第一步將計算機真正的MBR備份,以防丟失,把MBR存儲到移動存儲設備的存儲器中,然后將MBR進行按位加密,這樣即使以后有人得到移動存儲設備外設,也很難能夠分析出來MBR在什么地方;
第二步向計算機磁盤的第一扇區寫上代碼,代碼功能是在屏幕上顯示如圖2。
第三步是將移動存儲設備的代碼寫入到移動存儲設備指定扇區,代碼功能是在屏幕上顯示,如圖3。
ENTER THE SYSTEM然后等待驗證識別,如果成功將MBR解密寫入扇區,如果失敗將虛擬MBR寫入扇區,最后都會把計算機的引導權給計算機。
2.3 上位機程序模塊
模塊如圖4所示。
2.3.1 開機自啟原理
在上位機程序代碼中使用RegCreateKey等注冊表函數在注冊表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run下新建一個字符串,值為所要自動執行的程序名,將數據設置為程序所在的目錄,即可將該程序設置自動執行。當程序第一次執行時,寫入注冊表行為同時得到執行,由此實現了上位機程序的開機自啟動。主機喚醒后,由于Hook程序的自啟動,因此,主機屏蔽所有鍵盤鼠標消息。
2.3.2 程序相關源代碼
Hook模塊定義文件
1 LIBRATY Hook
2 EXPORTS
3 SetHook @2
4 SEGMENTS
5 MySec READ WRITE SHARED
由于單一程序調用的HOOK API是僅在當前程序下的線程消息,所以需要設置動態鏈接庫(DLL)實現Hook對系統全局消息的屏蔽。由于DLL由模塊定義文件及Hook函數設置編譯得到,所以此處無法附上DLL代碼
加載全局定義
5 #pragma data_seg(“MySec”)
6 HWND g_hWnd=NULL;
7 #pragma data_seg()
8 //#pragma comment (lib,”Hook.lib”)
9 #pragma comment(linker,”/section:MySec,RWS”)
Hook函數定義
調用聲明
_declspec(dllimport) void SetHook(HWND hwnd);
DLL及客戶端程序聯調
int cxScreen,cyScreen;
cxScreen=GetSystemMetrics(SM_CXSCREEN);
cyScreen=GetSystemMetrics(SM_CXSCREEN);
SetwindowPos(&wndTopMost,0,0,cxScreen,cy
Screen,SWP_SHOWWINDOW);
SetHook(m_hWnd);
直到接收到ARM嵌入式板傳遞來的指紋特征信息碼。
三、創新性、可拓展性
(1)獨立于主機的移動存儲設備:通過外置的移動存儲設備,將個人安全信息識別提取傳遞的實現在主機系統之外,避免由于主機系統可能存在的漏洞或者其他可以繞過系統安全設置的工具,突破針對個人主機設置的安全環境。(2)對系統引導扇區的轉移與重寫:仍然通過外置移動存儲設備,將系統1磁道0扇區的系統引導轉移至移動存儲設備閃存,在主機喚醒之前就已經設置了安全屏障。將提示信息寫入0扇區,為用戶提供操作指南。(3)啟動后的主機訪問控制:以HOOK API對系統全局消息進行屏蔽,同時寫入注冊表運行,避免非法用戶對喚醒后主機進行重啟、注銷等操作的以此突破訪問控制。(4)驗證方式的可拓展性與多樣性:智能手機的使用已經普遍化、大眾化,手機用戶的滑屏、手勢解鎖可用以對系統個人信息驗證進行替代,再根據鍵鼠無線輸入輸出的原理,手機用戶即可方便快捷地對主機進行喚醒前后的安全控制。省去了外置生物模塊設備對大眾的陌生感與操作困難。
四、結論
針對當前主機訪問控制所面臨的嚴重安全問題,系統從移動存儲設備與密碼體制結合的角度實現了對主機系統的安全訪問,實現了對計算機加解密,訪問唯一性,開關機驗證等安全認證功能。與現有的主機身份認證方式相比,系統實現了主機安全的自主防護,以移動存儲設備為硬件載體,結合上層軟件形成了多層次、立體化的安全防御體系,賦予了多層權限訪問控制策略,極大地保證了主機訪問控制安全。基于移動存儲設備的主機安全保護系統應用前景極其廣闊,根據生物特征識別技術的拓展性與多樣性,可廣泛應用于個人、企事業單位、政府、軍隊等用戶存儲隱私或機密數據,也可以擴展應用到銀行業務、電子商務、數字版權、專利等更廣泛的領域。
參 考 文 獻
[1] 尤一名. 主機安全檢測系統的研究和實現[D]. 北京:北京交通大學,2010
[2] 單國棟. 計算機電磁信息泄露與防護研究[J]. 電子技術應用,2002,(04):3-6
[3] 侯興超. 基于移動存儲設備管理的主機防信息泄露系統研究[D]. 北京:解放軍信息工程大學,2007