亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        USB移動存儲設(shè)備密級保護系統(tǒng)的設(shè)計與實現(xiàn)

        2014-04-29 00:00:00李永強譚立清馬同茂張迪周高磊何旭
        計算機光盤軟件與應(yīng)用 2014年13期

        摘 要:隨著USB技術(shù)的快速發(fā)展,各種移動存儲設(shè)備給人們的生活帶來許多便利,同時USB移動存儲設(shè)備的安全問題也日益嚴重。本文設(shè)計了一種管理USB移動存儲設(shè)備的方法,基于MFC平臺使用C++語言設(shè)計實現(xiàn)了USB移動存儲設(shè)備密級保護管理系統(tǒng),對USB移動存儲設(shè)備進行授權(quán)管理,從而緩解USB移動存儲設(shè)備帶來的諸多安全問題。

        關(guān)鍵詞:USB移動存儲設(shè)備;密級保護;安全問題;授權(quán)管理

        中圖分類號:TP309

        現(xiàn)代生活中,USB移動存儲介質(zhì)因其使用靈活、快捷、方便的特點迅速得到普及。但同時也帶來了諸如數(shù)據(jù)拷貝不受限、數(shù)據(jù)傳輸不受限、內(nèi)外網(wǎng)交叉使用等安全問題,對數(shù)據(jù)安全產(chǎn)生嚴重威脅[1],因此安全威脅是移動存儲介質(zhì)應(yīng)用急需解決的問題。

        USB移動存儲設(shè)備帶來的安全性問題主要有以下幾個方面:第一,信息文件的盜竊。在現(xiàn)在的企業(yè)中,由于信息安全的需要,每個企業(yè)都制定各種保密制度,并采取一定的安全防護措施,例如防火墻應(yīng)用、入侵檢測等措施,但這些措施只能防范企業(yè)外網(wǎng)的攻擊,而對于企業(yè)內(nèi)網(wǎng)起不到任何的防范作用。據(jù)中國信息安全組織提供有關(guān)調(diào)查顯示,在眾多計算機安全的事件中,發(fā)生頻率最高事件是主機信息泄露,并且這些事件中有95%是單位內(nèi)部人員通過內(nèi)網(wǎng)主機完成[2],比如,一些惡意人員可以拷取企業(yè)主機上文件并帶走,給企業(yè)帶來了極大的安全隱患。第二,病毒傳播。由于其廣泛應(yīng)用,USB移動存儲設(shè)備成為了眾多病毒攻擊對象[3]。一些電腦病毒可以感染USB移動存儲設(shè)備,并通過該設(shè)備把病毒傳播到其它的電腦、筆記本上,從而造成病毒的大肆傳播。第三,USB移動存儲設(shè)備的丟失。許多人把資料拷貝到移動存儲設(shè)備中隨身攜帶,而當移動存儲設(shè)備丟失時,造成嚴重的信息泄漏。

        目前,解決USB移動存儲設(shè)備安全威脅方式有兩種,一種是人為禁止USB移動存儲設(shè)備使用,另一種是采用技術(shù)手段控制USB移動存儲設(shè)備使用,即在計算機內(nèi)部部署解決方案對設(shè)備進行實時監(jiān)控。解決方案主要分為驅(qū)動級編程和Windows應(yīng)用程序兩種,本文主要介紹的是Windows應(yīng)用程序這種方案的實現(xiàn)。文章中我們將介紹USB移動存儲設(shè)備密級保護系統(tǒng)的設(shè)計與實現(xiàn),通過對USB移動存儲設(shè)備信息的提取來進行授權(quán)管理,從而保護主機信息安全。

        1 系統(tǒng)原理分析

        USB移動存儲設(shè)備密級保護系統(tǒng)主要管理外圍存儲設(shè)備的使用權(quán)限,該系統(tǒng)主要涉及到兩種技術(shù),分別為USB移動存儲設(shè)備插拔的監(jiān)聽技術(shù)和信息提取技術(shù)。

        USB移動存儲設(shè)備插拔的監(jiān)聽技術(shù)可以監(jiān)聽到USB移動存儲設(shè)備的插拔活動情況,系統(tǒng)只有監(jiān)聽到這些活動,才能對USB移動存儲設(shè)備的物理信息進行提取和管理。在Windows系統(tǒng)中,當PC機上添加或者刪除一個即插即用設(shè)備時,將觸發(fā)系統(tǒng)WM_DEVICECHANGE消息。我們可以利用WM_DEVICECHANGE向應(yīng)用程序的主窗口提供監(jiān)聽到的設(shè)備的活動信息,然后添加響應(yīng)函數(shù)BOOL OnDeviceChange(UINT nEventType,DWORD wData)即可捕捉到USB移動存儲設(shè)備的插拔情況。其中nEventType變量主要傳遞USB移動存儲設(shè)備的活動狀態(tài),其取值包括以下6個變量值:DBT_DEVICEARRIVAL、DBT_DEVICEQUERYREMOVE、DBT_DEVICETYPESPECIFIC、DBT_DEVICEQUERYREMOVEFAILED、DBT_DEVICEREMOVECOMPLETE、DBT_DEVICEREMOVEPENDING,這6個變量值代表了USB移動存儲設(shè)備插入或拔出的情況。

        USB移動存儲設(shè)備在生產(chǎn)時廠家在設(shè)備上標注了物理編號(序列號SeriaNumber),這種編號具有終生不變、只能讀取不能寫入的特點,所以可以被提取出進行授權(quán)[4]。通常把能夠惟一標識USB設(shè)備的標識信息稱惟一性標志[5],該唯一性標志通常由VID(廠家ID)、PID(產(chǎn)品ID)和硬件序列號組成,所以USB移動存儲設(shè)備密級保護系統(tǒng)將提取USB移動存儲設(shè)備的VID、PID和SeriaNumber這三個信息值,通過對這三個信息值進行授權(quán)來對USB移動存儲設(shè)備進行管理,并將這三個數(shù)據(jù)信息保存到數(shù)據(jù)庫中,其在數(shù)據(jù)庫中保存形式如表1所示。

        表1 數(shù)據(jù)庫中數(shù)據(jù)存儲形式

        VID(廠家ID)PID(產(chǎn)品ID)SeriaNumber

        在提取USB移動存儲設(shè)備的信息,將用到USB設(shè)備的句柄,

        HANDLE hDrive=CreateFile(pDetail->DevicePath,0,F(xiàn)ILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,NULL,NULL);通過使用該句柄可以獲取USB移動存儲設(shè)備的信息。

        2 系統(tǒng)需求與總體功能

        通過需求分析,得到了USB移動存儲設(shè)備密級保護系統(tǒng)所應(yīng)該具備的功能,該系統(tǒng)主要包括授權(quán)管理、刪除數(shù)據(jù)、修改密碼、插入數(shù)據(jù)、預覽數(shù)據(jù)、設(shè)備彈出等功能模塊。系統(tǒng)總體功能框圖如圖1所示。

        圖1 USB移動存儲設(shè)備密級保護系統(tǒng)總體功能

        該系統(tǒng)采用訪問控制技術(shù),該技術(shù)是一種靜態(tài)的安全技術(shù),常用一張訪問控制表定義用戶訪問的權(quán)限[6]。因此系統(tǒng)將建立一張權(quán)限控制表來管理USB移動存儲設(shè)備的使用權(quán)限。該系統(tǒng)主要在Windows平臺上運行,通過對USB移動存儲設(shè)備狀態(tài)的監(jiān)聽對USB移動存儲設(shè)備進行授權(quán)管理。當移動存儲設(shè)備插入到主機上,該系統(tǒng)就會監(jiān)聽到該設(shè)備插入的消息并提取設(shè)備的信息,通過與數(shù)據(jù)庫中信息對比,來判斷該移動存儲設(shè)備是否已經(jīng)得到授權(quán),如果已經(jīng)得到授權(quán)運行,該USB移動存儲設(shè)備就可以在主機上正常運行,如果未被授權(quán),可以通過授權(quán)功能對該設(shè)備授權(quán),否則該設(shè)備將會被彈出。通過授權(quán)管理,系統(tǒng)只允許得到授權(quán)運行的USB移動存儲設(shè)備在主機上使用,從而防止惡意人員非法拷貝主機上的信息文件。USB密級保護系統(tǒng)的工作流程圖如圖2所示。

        圖2 USB移動存儲設(shè)備密級保護系統(tǒng)工作流程圖

        3 系統(tǒng)功能實現(xiàn)

        USB移動存儲設(shè)備密級保護系統(tǒng)使用基于MFC平臺的C++語言來搭建軟件的框架并進行內(nèi)部實現(xiàn),使用嵌入式數(shù)據(jù)庫Sqlite3進行數(shù)據(jù)存儲和處理,整個系統(tǒng)將在Windows系統(tǒng)下運行。

        USB移動存儲設(shè)備密級保護系統(tǒng)的運行主界面如圖3所示,該界面顯示了系統(tǒng)的大部分功能,其中點擊預覽時,會在USB列表中顯示目前主機上允許運行的USB移動存儲設(shè)備。點擊刷新,在左下部分的列表上顯示目前正在運行的USB移動存儲設(shè)備的盤符和名稱,選中列表的USB移動存儲設(shè)備,點擊彈出,設(shè)備將會被安全彈出。其中插入數(shù)據(jù)、刪除數(shù)據(jù)、密碼修改、關(guān)閉等操作都需要密碼驗證。對于該系統(tǒng)的授權(quán)管理功能模塊,只有在新的USB移動存儲設(shè)備插入到主機時,該功能才能被觸發(fā),對該設(shè)備進行信息讀取和授權(quán)管理。

        圖3 USB移動存儲設(shè)備密級保護系統(tǒng)主界面

        下面將詳細介紹部分主要功能模塊的實現(xiàn)及相應(yīng)的核心代碼。

        授權(quán)功能模塊是該軟件系統(tǒng)的核心模塊,USB移動存儲設(shè)備只有得到授權(quán)后才可以在主機上使用。授權(quán)功能模塊主要通過USB移動存儲設(shè)備插拔的監(jiān)聽技術(shù)和USB移動存儲設(shè)備信息提取技術(shù)來實現(xiàn)。當對USB移動存儲設(shè)備信息提取后,將對該設(shè)備進行權(quán)限分級,主要分為只讀權(quán)限和正常使用權(quán)限。其中只讀權(quán)限只能讀取USB移動存儲設(shè)備中的文件而不能把主機中文件拷貝到移動存儲設(shè)備中。USB移動存儲設(shè)備插拔監(jiān)聽的實現(xiàn)首先在BEGIN_MESSAGE_MAP(CUSBDlg,CDialog)中添加ON_WM_DEVICECHANGE()語句,隨后實現(xiàn)監(jiān)聽函數(shù),監(jiān)聽函數(shù)如下:

        BOOL OnDeviceChange(UINT nEventType,DWORD wData){

        switch(nEventType)

        {

        case DBT_DEVICEARRIVAL:

        //USB移動存儲設(shè)備插入消息

        MatchDevInfo();

        //判斷USB移動存儲設(shè)備是否已經(jīng)授權(quán)

        break;

        case DBT_DEVICEQUERYREMOVE:

        //USB移動存儲設(shè)備請求移出消息

        ::MessageBox(NULL,_T(\"移動存儲設(shè)備安全移除!\"),_T(\"USB\"),MB_OK);

        break;

        case DBT_DEVICEREMOVECOMPLETE:

        //USB移動存儲設(shè)備已經(jīng)彈出消息

        ::MessageBox(NULL,_T(\"移動存儲設(shè)備安全移除!\"),_T(\"USB\"),MB_OK);

        break;

        default:break;

        }

        return TRUE;

        }

        以上代碼實現(xiàn)USB移動存儲設(shè)備監(jiān)控,當插入新的USB移動存儲設(shè)備時,將會執(zhí)行case DBT_DEVICEARRIVAL,對于MatchDevInfo()函數(shù)將實現(xiàn)USB移動存儲設(shè)備信息讀取并且判斷該設(shè)備是否已經(jīng)得到授權(quán),如果未授權(quán)就轉(zhuǎn)到授權(quán)界面,如果已經(jīng)授權(quán)就可以正常在主機上使用,以下簡單講MatchDevInfo()中主要代碼段。獲得USB移動存儲設(shè)備的ID的代碼

        char chID[MAX_PATH*2]=\"\";

        CM_Get_Parent(spdd.DevInst,spdd.DevInst,0);

        DWORD dwEr=CM_Get_Device_ID(spdd.DevInst,chID,sizeof(chID),0);

        if(dwEr==CR_SUCCESS)

        {

        if(GetAbcPid(chID))

        {

        HANDLE hDrive=CreateFile(pDetail->DevicePath,0,F(xiàn)ILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,NULL,NULL);//定義USB移動存儲設(shè)備句柄

        if (hDrive!=INVALID_HANDLE_VALUE)

        {STORAGE_DEVICE_NUMBER sdn;

        DWORD dwBytesReturned=0;

        BOOL res=eviceIoControl(hDrive,//設(shè)備句柄IOCTL_STORAGE_GET_DEVICE_NUMBER,NULL,0,sdn,sizeof(sdn),dwBytesReturned,NULL);//獲取設(shè)備號temp_DeviceNumber.Format(\"%d\",sdn.DeviceNumber);//數(shù)據(jù)轉(zhuǎn)換獲得定義規(guī)格字符串pszDevicePath=temp_DeviceNumber+chID;}

        ::CloseHandle(hDrive);//釋放句柄

        }

        }

        通過以上兩種技術(shù)就可以獲得USB移動存儲設(shè)備的固定信息,接下來就是把數(shù)據(jù)進行權(quán)限分級,然后插入到數(shù)據(jù)庫中,這里使用的數(shù)據(jù)庫是Sqlite3。Sqlite3是一款穩(wěn)定、開源的輕型數(shù)據(jù)庫,遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),能夠執(zhí)行大部分的SQL命令,具有ODBC接口[7]。先對Sqlite3進行編譯得到Sqlite3.lib然后動態(tài)調(diào)用,系統(tǒng)中數(shù)據(jù)庫的連接代碼為

        sqlite3 *db=NULL;//定義數(shù)據(jù)庫指針變量

        int flag;

        flag=sqlite3_open(\"USB.db\",db);

        if(flag){

        AfxMessageBox(_T(\"打不開USB.db\"));

        sqlite3_close(db);}

        else

        {AfxMessageBox(_T(\"打開USB.db\"));}

        連接成功后就可以通過SQL語句進行數(shù)據(jù)插入、刪除等操作。

        對于自制的按鈕的實現(xiàn),比如后臺運行和最小化是通過添加如下代碼實現(xiàn)

        ShowWindow(SW_MINIMIZE);//最小化

        ShowWindow(SW_HIDE);//后臺運行

        可以在自制的按鈕中添加一些判斷條件,比如密碼驗證,就可以增強按鈕的功能性,從而增加系統(tǒng)的安全性。

        軟件質(zhì)量是一個軟件企業(yè)成功的必要條件,其重要性無論怎樣強調(diào)都不過分。為了保證軟件的質(zhì)量,將會對軟件進行測試。其目的就是能夠找出軟件中存在的一些錯誤,并加以改正[8]。通過軟件測試運行,該系統(tǒng)具有較好的可靠性和穩(wěn)定性,對數(shù)據(jù)庫的操作比較穩(wěn)定,滿足軟件質(zhì)量的諸多要求。

        4 結(jié)束語

        本文主要介紹了USB移動存儲設(shè)備的應(yīng)用帶來的安全性問題,并且提出一種Windows平臺上開發(fā)應(yīng)用程序的解決方案。本文詳細描述USB移動存儲設(shè)備密級保護系統(tǒng)的設(shè)計和實現(xiàn),并摘錄部分功能的核心代碼。該系統(tǒng)的創(chuàng)新點如下:系統(tǒng)專注于對USB移動存儲設(shè)備進行管理,對USB移動存儲設(shè)備進行授權(quán)操作,得到授權(quán)運行的USB移動存儲設(shè)備才可以在主機上按照權(quán)限等級運行。同時,該系統(tǒng)的數(shù)據(jù)插入、數(shù)據(jù)刪除、密碼修改和關(guān)閉軟件等操作都需要密碼驗證,防止其它人員對該系統(tǒng)的惡意操作,使主機上的信息更加安全。從運行測試結(jié)果看,該系統(tǒng)可靠性強,運行穩(wěn)定,具有良好的實際應(yīng)用價值。

        參考文獻:

        [1]俞衛(wèi)華,路松峰.移存儲介質(zhì)信息安全系統(tǒng)的研究與實現(xiàn)[J].計算機工程,2009(19):135-137.

        [2]李金長.企業(yè)內(nèi)網(wǎng)信息安全防護系統(tǒng)設(shè)計與實現(xiàn)[D].電子科技大學,2010.

        [3]楊思燕.USB可移動存儲設(shè)備監(jiān)控軟件研究與實現(xiàn)[J].計算機技術(shù)與發(fā)展ISTIC,2013(12):151-154+160.

        [4]彭棟,凌捷.移動存儲設(shè)備安全管理技術(shù)的研究與實現(xiàn)[J].計算機與現(xiàn)代化,2009(10):188-190.

        [5]廖洪其,凌捷,郝彥軍.USB移動存儲設(shè)備的惟一性識別方法研究[J].計算機工程與設(shè)計,2010(12):2778-2780.

        [6]許祖娥.信息安全產(chǎn)品測試管理系統(tǒng)的設(shè)計與實現(xiàn)[D].中國海洋大學,2013.

        [7]段昌平.SQLite3數(shù)據(jù)庫在工業(yè)測量中的應(yīng)用[J].信息與電腦(理論版),2013(01):56.

        [8]羅凱.計算機軟件測試技術(shù)分析[J].電子技術(shù)與軟件工程,2014(05):91.

        作者簡介:李永強(1990-),男,江蘇邳州人,學生,本科,主要研究方向:信息安全;譚立清(1994-),男,本科,主要研究方向:信息安全;馬同茂(1993-),男,本科,主要研究方向:軟件工程;張迪(1992-),男,本科,主要研究方向:軟件工程;周高磊(1991-),男,本科,主要研究方向:信息安全;何旭(1991—)男,本科,主要研究方向:軟件工程。

        作者單位:中國石油大學(華東) 計算機與通信工程學院,山東青島 266580

        基金項目:本文由中國石油大學(華東)國家級大學生創(chuàng)新實驗計劃(基于detours的USB密級保護系統(tǒng),項目編號:201310425051)資助。

        久久伊人精品一区二区三区| 亚洲天堂一二三四区在线| 国产70老熟女重口小伙子| 1区2区3区高清视频| 亚洲 高清 成人 动漫| 日韩精品一区二区三区视频| 国内精品一区二区三区| 最新精品国偷自产在线婷婷| 国产精品网站夜色| 水蜜桃在线视频在线观看| 国产av一区二区三区国产福利| 中文字幕亚洲精品高清| 麻豆国产精品伦理视频| 青青草在线免费观看在线| 日韩av在线不卡一区二区| 蜜桃臀av一区二区三区| 中文字幕一区二区三区久久网| 人妻少妇精品中文字幕专区| а天堂中文在线官网在线| 免费乱理伦片在线观看| 丰满多毛的大隂户毛茸茸| 影音先锋女人av鲁色资源网久久| 少妇人妻偷人精品视频| 熟妇五十路六十路息与子| 国产V亚洲V天堂A无码| 亚洲美女主播一区二区| 亚洲精品女同在线观看| 中文文精品字幕一区二区| 国产精品亚洲二区在线看| 无码爽视频| aa片在线观看视频在线播放| 国产97在线 | 亚洲| 夜夜被公侵犯的美人妻| 乱色视频中文字幕在线看| 青青草国内视频在线观看| 在线观看一区二区三区国产| 一区二区在线视频免费蜜桃| 国产精品成人观看视频国产奇米| 国产熟妇按摩3p高潮大叫| 久久久久亚洲av无码专区体验| 美女裸体无遮挡黄污网站|