肖仕僑
【摘 要】第三次工業革命帶來了信息技術的高速發展,掀起了新時代的革命的高潮。信息技術的發展給信息安全帶來了新的挑戰,計算機安全監控系統是一種保障信息安全的有效機制。它通過數據采集、分析處理、規則判別、違規阻止和全程記錄等手段,對本地或遠程計算機中各類信息和用戶操作進行保護和監控。本文對文件、文本和用戶操作的監控技術做出了簡要分析。
【關鍵詞】計算機安全 文件監控 剪貼板監控 用戶操作
【中圖分類號】TP309 【文獻標識碼】A 【文章編號】1672-5158(2013)03-0163-01
隨著信息技術的發展,計算機在很多領域得到廣泛應用,占有極其重要的地位,因此計算機的安全監控問題越來越受到重視。如果計算機系統的安全監控問題得不到解決勢必給各領域、各部門的生產生活帶來嚴重影響。
1.計算機安全監控的對象
一般情況下,計算機安全監控的對象可分成兩類:信息和操作。其中,信息主要是指系統的文件和文本信息,操作主要是指用戶人為產生的操作行為。監控系統要對文件信息的變更,文本信息的復制傳播以及人為操作做到及時記錄和判別,必要時阻止有威脅的信息的傳播。
文件是信息的主要載體。在信息安全領域,計算機安全監控系統會對涉密文件進行保護,對文件的新建、修改、刪除等操作進行準確的記錄,更有甚者會依據判別規則進行操作干預,防止受保護的文件被非法修改、刪除或復制傳播;文本是大部分信息的直接表現形式。文本的監控保護主要體現在對文本內容復制的監控并且記錄復制的相關信息,阻止敏感信息的非法傳播;人為操作因為具有高度不確定性和破壞性等特點,因此可以在記錄鍵盤和鼠標的操作基礎上,結合操作對象來判斷操作目的和生成信息,以阻止有威脅的操作和信息非法傳播。
2.文件變更的監控技術研究
文件變更監控是對目錄和文件的新建、修改、重命名和刪除等操作進行記錄,保存發生變更的時間、位置、類型等信息。監控可以針對整個文件系統,也可以針對指定的存儲位置,這對于集中管理安全文件和減少系統開銷具有重要意義。
實現文件變更監控的方法有很多,按照實現機制的不同可以分為3個層次:基于 Windows API 的方法,基于攔截系統調用的方法和基于中間層驅動程序的方法。
2.1 基于 Windows API 的方法
Windows 應用程序接口(API)是 Windows 系統提供給用戶進行系統編程和外設控制的函數庫。其中,與實現文件變更監控相關的 API 函數為ReadDirectoryChangesW。ReadDirectoryChangesW 函數的主要特征是提供了同步和異步兩種監控結果的處理方式,該方法最大的特點就是提供了比較完備的文件變更監控處理,功能強大,可以滿足大部分文件的變更監控功能。
2.2 基于攔截系統調用(API Hook)的方法
攔截系統調用也稱為 Windows應用程序接口掛接技術。它的核心功能就是設法使一個活動進程空間中的一塊代碼(API)在發生調用時,轉向到一段編程者提供的掛接代碼中,實現攔截調用的功能。在文件監控系統中,當應用程序需要打開文件時,首先調用用戶空間態中的Kerne132.DLL 模塊提供的 API 函數CreateFileA,處理相關參數后調用Ntdll.DLL 模塊提供的 API函數NtCreateFile。隨后,Ntdll.DLL 模塊通過一個軟中斷 INT2Eh 指令進入內核態的處理程序,相應系統調用NtCreateFile。所以,只要把包含監控代碼的模塊MyAPI.DLL注入到Ntdll.DLL 中,并攔截其中的 NtCreateFile函數,插入 MyAPI.DLL 提供的監控代碼,就完成了文件打開操作的監控。
2.3 基于中間層驅動程序的方法
中間層文件設備監控驅動程序處在應用程序和文件設備驅動程序之間,實現文件監控功能。它攔截所有用戶程序向內核驅動發出的文件I/O 請求,與監控程序通信完成監控功能。
3.文本復制的監控技術研究
文本的復制在本質上可以歸結為 Windows 剪貼板操作。Windows系統是消息驅動的,當剪貼板內容發生變化時,Windows 提供了剪貼板變化消息,因此要實時感知剪貼板內容的變化,關鍵是監控程序要能響應和處理 Windows 觸發的剪貼板變化消息。剪貼板監控的關鍵技術實現主要分為兩個部分:注冊/注銷剪貼板監控鏈和響應剪貼板變化消息。
3.1 注冊/注銷剪貼板監控鏈
剪貼板監控鏈(clipboard viewer chain)是一個由剪貼板監控器(clipboard viewer)組成的鏈表結構,應用程序通過SetClipboardViewer 函數將自己注冊成監控器,系統自動將最新的監控器掛接到監控鏈上。當發生剪貼板事件時,剪貼板消息將在監控鏈上傳遞。當應用程序結束或不需要剪貼板消息時,應調用ChangeClipboardChain 函數注銷自己的監控器,并自行維護監控鏈的完整性。
3.2 響應剪貼板變化消息
在監控程序接收到剪貼板變化消息后,進行剪貼板內容的讀取,主要通過 Windows 剪貼板 API 來實現。當系統發生復制到剪貼板的操作時,剪貼板中的內容是一組復合數據類型,只需從中提取操作者關心的文件類型和文本類型信息即可。
4.人為操作的監控技術研究
操作者對計算機的操作主要通過鍵盤和鼠標進行,所以對鍵盤和鼠標所有動作進行監控就基本上完成了對操作者的直接監控。
4.1 鍵盤監控
在注冊安裝 Hook 時,有 3 種類型的 Hook 都可以實現鍵盤監控,分別是 WH_JOURNALRECORD、WH_KEYBOARD和WH_KEYBOARD_LL。WH_JOURNALRECORD 注冊系統日志鉤子,它只能對接收到的事件消息進行拷貝處理,類似于快照的功能,并不能改變消息的傳遞或消息的內容,不利于監控。WH_KEYBOARD 注冊鍵盤鉤子,可以實現對鍵盤操作事件信息的監控,但是它作為獨立進程,不能做到全局監控,若要實現全局監控,必須以 DLL 的形式附屬于其他進程。WH_KEYBOARD_LL 注冊底層鍵盤鉤子 Low Level,能夠作為獨立進程實現全局鍵盤監控,同時可以對鍵盤操作信息進行修改或阻斷消息的傳遞,是一種理想的鍵盤監控實現方式。
4.2 鼠標監控
鼠標監控與鍵盤監控類似,使用 WH_MOUSE_LL 注冊底層鼠標鉤子,在掛鉤函數中處理鼠標操作,對鼠標按鍵、位置等信息進行處理、保存,實現對鼠標操作的監控。函數結束后,可調用 CallNextHookEx 函數繼續向后傳遞消息,或直接返回使消息阻斷,實現鼠標的屏蔽功能。
5.結束語
計算機安全監控系統作為保障信息安全的有效屏障,可以實現對本地甚至遠程計算機中各類信息和用戶操作的保護與監控。通過對文件、文本和用戶操作等監控技術的深入研究,可以更好地根據系統需求選用適當的技術方式,提高監控的針對性,確保系統的穩定與高效。
參考文獻
[1] Power R. 2002 CSI/FBI Computer Crime and Security Survey[Z]. San Francisco: American Computer Security Institute,2002.
[2] 馮德旺,蘭建容,謝純珀. 基于 windows NT 主機入侵檢測系統的文件和進程監控[J]. 計算機系統應用,2001,8(12): 19-22.
[3] 邱建雄,蔡 放,方 逵. Hook 技術及其在軟件研發中的應用[J].計算機應用與軟件,2003,20(2): 1-3.