基于USB的存儲設(shè)備信息安全防護設(shè)計
2.3 區(qū)分硬盤和U盤驅(qū)動器本文引用地址:http://butianyuan.cn/article/202622.htm
作為磁盤驅(qū)動器的低層設(shè)備過濾器驅(qū)動程序。在區(qū)分硬盤和U盤驅(qū)動器時,Device_Ob_iect->DeviceType的值并不能真正區(qū)分硬盤和U盤驅(qū)動器。這個值對于U盤而言,第一次插入時是0x2d,但是,一旦被虛擬化成磁盤分區(qū)后,它將變成07。這和本地硬盤沒有任何區(qū)別。因此,如果采用IoGetDeviceProperty來獲得當(dāng)前物理設(shè)備對象的總線類型的GUID,就往往會導(dǎo)致操作系統(tǒng)出現(xiàn)藍屏(系統(tǒng)死機)。因為函數(shù)調(diào)用要求在passive-level執(zhí)行。而不是dispatch―level。其代碼如下:
但是,由于符號鏈接的名稱和光盤驅(qū)動器的設(shè)備類型將保持不變。所以,可以通過修改設(shè)備擴展的內(nèi)部結(jié)構(gòu),并增加DeviceType項,然后根據(jù)符號鏈接的名稱和設(shè)備類型來設(shè)置:deviceExtension->DeviceType
該方法對光盤和硬盤以及USB都有很好的支持。其代碼如下:
3 結(jié)束語
本文在分析了磁盤讀寫技術(shù)的基礎(chǔ)上,采用對磁盤驅(qū)動器進行過濾的方法,給出了基于過濾驅(qū)動的USB存儲設(shè)備的單向控制方法。這種技術(shù)的實現(xiàn)能有效解決涉密信息的外泄,是內(nèi)網(wǎng)安全的一種重要輔助手段。
評論