摘 要 本文主要探究了計算機文本、文件以及用戶操作等監(jiān)控技術,期望為計算機監(jiān)控技術的研究提供有價值的參考。
關鍵詞 計算機 安全監(jiān)控系統(tǒng) 關鍵技術
中圖分類號:TP316.2 文獻標識碼:A
信息技術的高速發(fā)展中出現(xiàn)了一個不和諧的現(xiàn)象,給信息安全帶來了新的威脅,計算機安全監(jiān)控系統(tǒng)是保證信息安全的重要機制。該系統(tǒng)工作時主要通過采集相關數(shù)據(jù),并按照安全規(guī)則進行分析、判定,對違規(guī)操作進行阻止,并全程記錄操作過程等實現(xiàn)監(jiān)控功能。
1 計算機安全監(jiān)控對象
計算機安全監(jiān)控對象總的來講包括信息和操作兩類,其中信息主要指系統(tǒng)中文本、文件信息,操作主要是用戶進行的操作行為。計算機監(jiān)控系統(tǒng)的工作是對文本、文件的復制、變更以及用戶操縱進行監(jiān)控、鑒別,并能阻止有關威脅信息的傳播。
文件是信息的主要載體,尤其在信息安全領域更加重視文件的安全保護。因此,計算機安全監(jiān)控系統(tǒng)應將文件的保護放在重要地位,尤其對文件的修改、復制、刪除等應嚴密監(jiān)控,必要情況時應主動干預,防止重要文件的丟失。
文本能夠直接體現(xiàn)信息的表達形式,文本內容來自的范圍比較廣泛,文本監(jiān)控保護主要體現(xiàn)在文本內容的復制上,從而能夠有效阻止敏感詞匯的傳播等。
用戶操作確定起來難度較大,破壞作用不可估量,因此為了方便監(jiān)控人為操作帶來的巨大損失,計算監(jiān)控系統(tǒng)主要通過監(jiān)控鍵盤、鼠標的行為結合操作對象進行監(jiān)控,從而防止有害信息在互聯(lián)網(wǎng)的傳播。
2 文件變更監(jiān)控技術
文件變更監(jiān)控主要記錄文件目錄、文件新建、文件復制、文件修改、文件刪除等操作,并且保存更改文件的位置和時間等內容。監(jiān)控可以具體到指定的存儲內容,也可以對整個系統(tǒng)的文件操作進行監(jiān)控。根據(jù)文件監(jiān)控實現(xiàn)的方法可以將其劃分成三個方面:基于Windows API方法、基于攔截系統(tǒng)調用方法以及基于中間層驅動程序的方法。
2.1基于Windows API方法
Windows應用程序中API是操作系統(tǒng)留給應用程序的一個調用接口,應用程序通過調用操作系統(tǒng)的 API 使操作系統(tǒng)去執(zhí)行應用程序的命令。其中和文件操作相關的API函數(shù)是ReadDirectoryChangesW,該函數(shù)對文件的監(jiān)控主要通過同步和異步兩種方式實現(xiàn)。
例如,該函數(shù)以異步方式工作時,首先通過ReadDirectoryChangesW函數(shù)注冊回調函數(shù)后立即返回,當指定監(jiān)控事件發(fā)生時程序會進入回調函數(shù)進行處理,如果該事件需要持續(xù)監(jiān)控,就需要重新調用ReadDirectoryChangesW函數(shù)并反復執(zhí)行該過程完成監(jiān)控任務。
2.2基于攔截系統(tǒng)調用方法
攔截系統(tǒng)調用(API Hook)的主要作用是設法對進程中的代碼進行監(jiān)控,當發(fā)生API調用時轉向編程者事先準備的代碼,最終實現(xiàn)攔截調用功能。
API Hook執(zhí)行過程主要包括API攔截和DLL注入兩方面內容。應用程序打開文件其工作流程是:首先會調用Kernel32.DLL模塊提供的API函數(shù)CreateFileA對相關參數(shù)進行處理,結束后調用Ntdll.DLL模塊提供的API函數(shù)NtCreateFileA,然后Ntdll.DLL會執(zhí)行軟中斷指令調用相應系統(tǒng)的NtCreateFileA。因此對攔截系統(tǒng)調用只需要將含有監(jiān)控代碼的模塊,注入到Ntdll.DLL中,同時攔截NtCreateFileA函數(shù)執(zhí)行的操作,就能對文件的打開操作進行監(jiān)控。
2.3基于中間層驅動程序方法
設備驅動程序是管理相關設備的代碼,實現(xiàn)數(shù)據(jù)緩沖區(qū)和設備緩沖區(qū)的數(shù)據(jù)交換工作。當進行文件操作時應用程序會將LOCTL控制代碼傳遞給文件設備驅動程序,以此實現(xiàn)文件的相關操作。例如當執(zhí)行文件的讀寫操作時需要將LOCTL控制代碼中的IRP_MJ_WRITE以及IRP_MJ_READ傳給文件設備驅動程序。
3 文本復制監(jiān)控技術
文本復制時均首先將復制內容復制到剪貼板上,然后進行粘貼操作。因此,對文本復制進行監(jiān)控實質上是對剪切板的監(jiān)控。Windows應用程序中對剪貼板均有訪問的權利,復制程序執(zhí)行時主要通過響(下轉第25頁)(上接第23頁)應剪貼板消息以及利用剪貼板API執(zhí)行讀寫操作。眾所周知Windows系統(tǒng)由信息觸發(fā),剪貼板內容發(fā)生變化時Windows會提示剪貼板的變化信息。所以監(jiān)控系統(tǒng)能夠對剪貼板內容實時監(jiān)控,應能夠及時響應和處理觸發(fā)剪貼板變化信息。剪貼板監(jiān)控關鍵技術的實現(xiàn)主要通過兩部分實現(xiàn):注冊、注銷剪貼板監(jiān)控鏈和響應剪貼板的變化信息。
3.1注冊、注銷剪貼板控制鏈
剪貼板監(jiān)控鏈主要由剪貼板監(jiān)控器組成的一種鏈表結構,Windows系統(tǒng)通過SetClipboardViewer函數(shù)將自身注冊成監(jiān)控器,然后將其掛接到監(jiān)控鏈上,當剪貼板事件被觸發(fā)時剪貼板消息會在監(jiān)控鏈上傳遞,當監(jiān)控器獲得消息后就會對其進行處理。結束剪貼板消息時,系統(tǒng)會調用ChangeClipboardChain函數(shù)將自身的監(jiān)控器注銷。
3.2響應剪貼板消息
當剪貼板信息發(fā)生變化時將觸發(fā)Windows的一個消息,同時會將觸發(fā)的消息傳遞給ClipboardViewerChain的第一個窗口,當每個窗口對該消息響應和處理后,需將其傳遞給下一個ClipboardViewer窗口。
剪貼板內容的讀取主要通過Windows剪貼板中的API實現(xiàn),用戶只需提取剪貼板中對自身有用的數(shù)據(jù)類型即可。
4 人為操作監(jiān)控技術
人為操作監(jiān)控技術主要通過監(jiān)控鼠標和鍵盤行為實現(xiàn)。Window消息處理時允許程序建立消息掛鉤函數(shù),通過該函數(shù)能夠實現(xiàn)對消息傳遞線路的監(jiān)控。系統(tǒng)會將各種信息傳遞給對應的掛鉤函數(shù)進行處理,這些掛鉤函數(shù)會根據(jù)自己的功能對相關信息進行監(jiān)控。
Windows掛鉤函數(shù)能夠響應系統(tǒng)中多種類型的消息,其中包括鼠標和鍵盤事件消息。掛鉤函數(shù)執(zhí)行的具體步驟是:首先由SetWindowsHookEx函數(shù)注冊Hook,并定義Hook掛接的事件類型和用于處理消息的掛鉤回調函數(shù)Hook Procedure,當事件發(fā)生時相關信息會進入掛鉤函數(shù)進行處理,處理結束后通過相關函數(shù)將掛鉤函數(shù)卸載。
5 總結
計算機安全監(jiān)控系統(tǒng)能夠實現(xiàn)計算機各項信息和擁護操作的監(jiān)控。通過對文本、文件和擁護操作的監(jiān)控的探究,能夠選擇有效的應對措施,提高監(jiān)控工作效率,為計算機系統(tǒng)的安全運行奠定堅實的基礎。
參考文獻
[1] 李文靜,徐宏炳.計算機安全監(jiān)控系統(tǒng)的設計[J].計算機應用研究,2003(7).
[2] 于揚,楊澤紅,賈培發(fā).計算機安全監(jiān)控系統(tǒng)的關鍵技術研究[J ].計算機工程,2007(24).