關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于USB的存儲設備信息安全防護設計

        基于USB的存儲設備信息安全防護設計

        作者: 時間:2009-11-20 來源:網絡 收藏

          其次是應為驅動程序函數選擇名字。由于每個驅動程序中都要包含標準的驅動程序函數,因此,應使用一套區別于其他驅動程序的函數命名機制,由于使程序更容易開發、調試和測試。

          此外,還要編寫一個為AddDevice、DispatchPnP、DispatchPower和DispatchCreate函數設置入口點的DriverEntry函數,同時要編寫一個完成內容的AddDevice函數。這四個內容。第一是調用IoCreateDevice以創建一個獨立設備對象:第二是調用IoAttachDeviceToDeviceStack。以把它自己加入設備棧,同時填寫PDEVICE_EXTENSION;第三是調用IoRegisterDeviceInterface,并為它的設備暴露一個接口,暴露的接口可為訪問該設備的應用程序提供途徑:第四調用IoSetDevi.ceInterfaceState,以激活它先前注冊的接口。

          至此,過濾設備就可以在DeviceTree中看到了。

          最后,應為IRP_MJ_PNP請求編寫一個基本DispatchPnP函數。該DispatchPnP函數必須準備處理具體的PnP IRP,然后為IRP_MJ_POWER編寫一個基本DispatchPower函數,再為IRP_MJ_CREATE請求編寫一個基本Dispatch Create函數,同時攔截相應的IRP請求,接著再為I/O控制請求編寫一個基本DispatchDevCtrl函數,以與應用程序進行通訊和處理具體的控制請求。

          2單向控制關鍵技術分析

          2.1 SCSI命令的分析

          對應于不同的過濾功能,其需要攔截的IRP也不相同。要對U盤進行單向控制。就需要攔截所有的寫操作,使U盤成為只讀的。但是,寫U盤的時候,發送的并不是通常的IRP_MJ_WRITE請求,而是要分析相應的SCSI命令,對SCSI命令的取得和操作大致有兩種。

          第一種是得到當前的SCSI命令,其格式為:

          2.2單向控制的實現

          系統進行寫操作時,通常都是先寫在緩存區,然后經過一定的延時后,才會寫到真正的磁盤中。所以,當攔截到SCSI命令中的SCSIOP WRITE后,雖然系統不會真正的寫東西到U盤上,但卻要過很久才會提示延時寫錯誤。所以,本文采用了另外一種方法,即用軟件實現“帶寫保護功能”的U盤,其效果與硬件實現的寫保護方式一樣,從而實現了U盤的只讀。其軟件實現方法如下:



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 海晏县| 梅州市| 荥经县| 将乐县| 犍为县| 东丰县| 桐梓县| 金山区| 都匀市| 马边| 郓城县| 浑源县| 山西省| 浦江县| 卫辉市| 怀集县| 余干县| 西林县| 肇庆市| 漯河市| 康平县| 新疆| 合阳县| 壤塘县| 合肥市| 城固县| 祁阳县| 巴彦淖尔市| 比如县| 克山县| 广汉市| 交口县| 达州市| 台北县| 休宁县| 井研县| 昌宁县| 永德县| 额敏县| 乳源| 武强县|