Windows系統也可以使用過濾嗎
有的公司採用技術手段禁止員工使用隨身碟,是為了防止員工通過隨身碟將敏感性資料帶出公司,本質上是禁止敏感性資料通過USB介面流出。USB介面比較複雜。本章討論一個類似但是簡單得多的裝置:串口。要禁止使用串口非常容易(給串口貼上封條,或者寫一個簡單的程式始終佔用串口),但是要區別處理,允許非機密資料流出,而禁止機密資料;或者要記錄串口上流過的資料,然而又不影響其他的程式使用串口,就有一定難度了。這一章中,我們通過給串口裝置增加一個過濾層來實現這個功能。
而下一章中,我們則把目標轉移到鍵盤,除了過濾之外,我們將進一步探討是否有方法保證從鍵盤輸入的密碼不被隱藏的駭客軟體通過類似的過濾方式截取。
在Windows系統上與安全軟體相關的驅動開發過程中,“過濾”(filter)是極其重要的一個概念。過濾是在不影響上層和下層介面的情況下,在Windows系統核心中加入新的層,從而不需要修改上層的軟體或者下層的真實驅動程式,就加入了新的功能。
舉一個比較容易理解的例子:即時監控的反病毒程式。任何高層軟體或者Windows的檔案系統都沒有考慮過應該什麼時候去檢查檔案中是否含有某個病毒的特徵碼,實際上也不應該要求某個軟體或者Windows的檔案系統去考慮這些。反病毒程式需要在不改變檔案系統的上層和下層介面的情況下,在中間加入一個過濾層,這樣就可以在上層軟體讀取檔案、下層驅動提供資料時,對這些資料進行掃描,看其中是否含有某個病毒的特徵碼。這是一個很典型的過濾過程。
本章之所以從串口過濾出發,是因為串口在Windows中是非常簡單的裝置。對一個安全軟體來說,串口過濾似乎沒有什麼意義。不過有一些特殊場合的電腦,要求防止“資訊外泄”,或者需要知道“哪些資訊外泄”了。除了網路和抽取式存放裝置裝置之外,有時串口也在考慮的範圍之內。
此外,使用這種方法也可以綁定鍵盤,從而截獲使用者的擊鍵。
更多精彩資源:
web開發專欄:http://blog.csdn.net/broadviewwebdev
資料庫開發專欄:http://blog.csdn.net/broadviewdatabase
程式設計專欄:http://blog.csdn.net/broadviewprograming
安全專欄:http://blog.csdn.net/BroadviewSecurity