計算機科學與技術專業(yè)的開題報告
在人們素養(yǎng)不斷提高的今天,大家逐漸認識到報告的重要性,我們在寫報告的時候要注意涵蓋報告的基本要素。那么你真正懂得怎么寫好報告嗎?下面是小編為大家收集的計算機科學與技術專業(yè)的開題報告,歡迎大家分享。
一、研究背景及意義
隨著信息技術的發(fā)展,人們越來越依賴于計算機來處理關鍵資料,并且逐步摒棄字紙?zhí)幚矸绞,因而整個社會中電子檔案信息的激增。如何去維護這些電子信息的安全,防止其泄漏和損壞也同時越發(fā)的引起關注。另外隨著移動存儲設備尤其是USB設備的快速發(fā)展和便捷,這個問題越發(fā)的嚴重起來。本課題主要針對研究Windows下通過USB方式轉(zhuǎn)移資料的行為進行監(jiān)控,確保電子資料通過USB傳播的有據(jù)可尋,以便于安全審計和統(tǒng)計。
由于USB總線較高的接口速率和靈活方便的使用特性,使得越來越多的存儲設備使用USB接口來接入計算機,如閃存盤、移動硬盤等;赨SB接口的存儲設備已取代軟盤,成為一種重要的信息交換方式。但USB存儲設備的廣泛使用帶來了許多安全隱患:
。1)竊密者可以在合法用戶不在場的情況下,利用USB存儲設備快速地將個人隱私、國家機密或商業(yè)敏感信息取走,并且不會留下痕跡;
。2)合法用戶的違規(guī)操作和逾權動作可以把USB存儲設備作為中轉(zhuǎn)媒;
。3)USB存儲設備可作為病毒載體以及開機鑰匙等。上述安全隱患都對主機安全構成了較大威脅。因此,對USB存儲設備的安全實施監(jiān)控具有重要意義。目前很多保密單位在物理上禁用USB端口,這會給用戶帶來很多不便。而一些基于用戶態(tài)的USB存儲設備監(jiān)控軟件很容易被病毒、木馬等惡意程序繞過,無法完成有效、實時的監(jiān)控。本文采用基于驅(qū)動層的技術實現(xiàn)其主要的監(jiān)控功能,相對應用層,更加安全和穩(wěn)定。
二、國內(nèi)外研究情況
1、Linux操作系統(tǒng):
因其具有源碼開放,穩(wěn)定,可靠。安全等顯著優(yōu)點。在電子政務中得到了廣泛應用。此類應用的安全性要求較高,特別是內(nèi)部網(wǎng)。據(jù)統(tǒng)計,80%的安全事件來自內(nèi)部網(wǎng)。其中USB接口是內(nèi)部網(wǎng)絡信息泄密的一個重要途徑由于USB設備種類眾多且使用廣泛。僅僅簡單地禁用USB接口會使其他的USB設備(如USB鼠標、USB鍵盤、ikey等)無法正常使用,給用戶帶來很多不便。文中在Linux環(huán)境下實現(xiàn)了一個分布式USB設備監(jiān)控系統(tǒng)。可以根據(jù)管理員制定的安全策略分類禁用USB設備。以便管理員對網(wǎng)絡中各主機的USB設備進行細粒度的管理。該系統(tǒng)的主要功能是以內(nèi)核模塊的形式實現(xiàn)的相對于應用層程序而言。其可靠性高并且很難被用戶破解。
2、USB監(jiān)控基本情況:
Linux的USB子系統(tǒng)分為USB客戶軟件、USB核心層和主控制器驅(qū)動程序3個層次。
USB客戶軟件是特定設備驅(qū)動程序的主機部分。主要完成設備功能驅(qū)動,為了和設備正常通信,它通過10請求包(IRP。I/ORequestPacket)向USB內(nèi)核發(fā)出數(shù)據(jù)接收或發(fā)送請求。USB內(nèi)核則為客戶端驅(qū)動程序?qū)雍椭鳈C控制器驅(qū)動函數(shù)提供了一套函數(shù)集。HCD(HostControllerDriver)與主機控制器合作完成USB各種事務處理[”對于USB設備的所有操作都是通過向USB設備發(fā)送相應的IRP完成的。本系統(tǒng)將攔截所有發(fā)給USB設備的IRP并對其中的內(nèi)容進行分析。得到USB設備的設備類型,如存儲類設備、USB集線器類設備或者廠商自定義設備等。然后根據(jù)安全策略文件來決定是否允許這個設備使用。USB設備監(jiān)控系統(tǒng)中的關鍵問題是IRP攔截。判斷設備類型以及對廠商自定義類設備的管理。
3、IRP攔截技術:
為了實現(xiàn)數(shù)據(jù)傳輸。USB內(nèi)核提供了一個數(shù)據(jù)結構稱為URB(USBRequestBlock)。一個URB由執(zhí)行任何一個USB事務信息、分發(fā)數(shù)據(jù)信息和回傳的狀態(tài)信息組成。URB中具有USB數(shù)據(jù)傳輸?shù)乃行畔,包括傳輸類型、傳輸方向、?shù)據(jù)緩存區(qū)、數(shù)據(jù)傳輸?shù)脑O備、端點、返回信息及指向傳輸完成的處理函數(shù)的指針。從圖l中可以看出。所有的USB設備I/O請求最終都由總線提交函數(shù)usbmit_ttrb(structurb*urb)發(fā)送到USB總線上。因此可以通過攔截usb_submiturb函數(shù)。對所有的URB數(shù)據(jù)包進行分析的方法來實現(xiàn)對USB設備的控制。目前。Linux(所支持的主控制器主要有OHC(OpenHostController)和UHC(UniversalHostController)種控制器的驅(qū)動程序分別是ohci。0和uhci。o。usbsubruiturb函數(shù)就是由這兩個模塊提供的一般情況下。一臺計算機只有一種控制器。Linux考慮了有多種控制器的可能性并為將來擴展更多的控制器提供了方便。
因此,攔截usbsubmiturb函數(shù)就是要攔截內(nèi)核模塊的導出函數(shù)。Linux采用整體式內(nèi)核結構。如果要對內(nèi)核功能進行修改或充。必須重新編譯整個內(nèi)核。這給擴展內(nèi)核功能帶來諸多不便。因此。Linux提供了一種新的機制:動態(tài)可加載內(nèi)核模塊內(nèi)核模塊將一些需要擴展的功能先單獨編譯成一組目標代碼。該代碼是核心的一分。但并沒有編譯到內(nèi)核里面去。可以根據(jù)需要在系統(tǒng)啟動后動態(tài)地加載到系統(tǒng)核心中。當模塊不再需要時,可以動態(tài)地從系統(tǒng)核心卸載。核心符號表中維護著一個核心資源鏈表。在加載模塊時。它能夠解析出模塊中對核心資源的引用某個模塊對其他模塊的服務或資源的需求類似于模塊對核心本身資源或服務的請求。不過此時所請求的服務是來自另外一個已加載的模塊每當加載模塊時核心將把該加載模塊輸出的所有資源和符號添加到核心符號表中21核心符號表中包含模塊導出函數(shù)名、變量的名字和其相應的地址通過更改函數(shù)地址值的方法可以對函數(shù)調(diào)用進行攔截。
但這種方法在攔截模塊導出函數(shù)的時并不適用。如前所述,模塊在加載的過程中會使用核心符號表中的信息對引用的函數(shù)和變量進行重定向。這種訪問是一次性的。系統(tǒng)在內(nèi)核級中執(zhí)行時,訪問了大量的寄存器,而很多寄存器值是由上層調(diào)用者提供的。如果改變這些寄存器值。系統(tǒng)會變得不穩(wěn)定。很可能出現(xiàn)不可預料的后果。
因此使用hook函數(shù)的最佳原則是:在hook函數(shù)中調(diào)用原函數(shù)時。所有寄存器的值與被hook前的信息一樣普通的C函數(shù)調(diào)用都提供了函數(shù)堆棧切換操作。而在funl和fun2中要使用原函數(shù)的堆棧來獲取傳人的參數(shù)地址。因此這兩個函數(shù)必須用匯編語言編寫這里分析一下攔截代碼的穩(wěn)定性在整個操作系統(tǒng)運行期間。系統(tǒng)服務會經(jīng)常被調(diào)用。當一個進程調(diào)用了被hook的系統(tǒng)服務。這時如果發(fā)生了進程切換,則另一個進程再次調(diào)用相同的系統(tǒng)服務時。就會出現(xiàn)此次調(diào)用沒有被hook的情況雖然可以通過關閉中斷方法加以避免。但對系統(tǒng)性能影響比較大USB子系統(tǒng)的數(shù)據(jù)傳輸通常不是提交一次URB就能完成的。
偶爾漏掉了一個URB并不會影響對數(shù)據(jù)傳輸?shù)慕眯Ч。所以這里完全可以忽略這種情況在實際的測試和使用中沒有出現(xiàn)禁用失效的情況。
三、監(jiān)控系統(tǒng)應用價值與基本方法
監(jiān)控系統(tǒng)在已有研究成果的基礎之上,對誤差控制、大塊數(shù)據(jù)處理、地形簡化等算法和實現(xiàn)技術進行了改進。包圍盒進行LOD誤差處理,大大地提高了算法的效率,該算法已經(jīng)應用到研制的某衛(wèi)星網(wǎng)管仿真測試系統(tǒng)中,取得了良好的效果。算法使用的是存儲在本地的地形數(shù)據(jù),未來有可能通過網(wǎng)絡使用實時的真實地形數(shù)據(jù),此時內(nèi)存映射文件將失效,因此需要進一步考慮如何有效地加載和傳輸來自網(wǎng)絡的數(shù)據(jù),從而實時顯示真實的地形。另外,使用C++語言實現(xiàn)算法和地形顯示,可以進一步提高軟件的效率;赨SB的CAN總線系統(tǒng)監(jiān)控平臺的開發(fā)成功,為CAN總線控制系統(tǒng)的開發(fā)、調(diào)試和診斷提供了得力工具。無論在實驗室還是在工業(yè)現(xiàn)場,開發(fā)人員都可方便地將CAN網(wǎng)絡與計算機互聯(lián),實時監(jiān)控系統(tǒng)的總線狀態(tài)。以此為基礎,今后還將進一步完善其上位機應用程序,豐富其監(jiān)控的現(xiàn)場總線種類,使其成為基于CAN的多種現(xiàn)場總線的監(jiān)控平臺。
USB(universalserialbus)通用串行總線,是由Intel、康柏、微軟和NEC等公司共同推出的串行接口。它支持即插即用和帶電熱插拔,占用的系統(tǒng)資源少,不會出現(xiàn)與其它外設資源沖突的情況,軟件安裝也很方便;其通信速度為1。5、12和480Mb/s,突破了傳統(tǒng)計算機串行通信接口(如RS一232)與高速外設進行數(shù)據(jù)傳輸時的速度“瓶頸”;接口還可以提供最大5V/500mA的總線電源,小型USB設備無需外擴電源,簡化電路設計。USB接口已經(jīng)成為PC的標準接口。為了便于攜帶使用,在下位橋接器設計中均采用體積小、功耗低的平面封裝器件,這可以減小體積、充分利用USB總線供電。另外,在下位橋接器設計中還設計了數(shù)據(jù)緩沖和CAN總線通信錯誤識別功能,這樣可以進一步避免系統(tǒng)監(jiān)控數(shù)據(jù)的丟失,并且能在CAN總線通信出錯時提供詳細的狀態(tài)記錄信息,提高平臺的監(jiān)控性能。
一個USB設備插入到計算機USB端口上時,操作系統(tǒng)硬件管理程序?qū)l(fā)現(xiàn)設備,然后查找該設備的驅(qū)動程序是否存在,如果存在,系統(tǒng)加載驅(qū)動程序,然后給USB設備分配盤符等。
從上面的分析中可以知道,如果要阻止USB設備在計算機上使用,至少有兩個方法可以使用:
第一種方法是修改設備驅(qū)動程序,在設備驅(qū)動程序里面加入對設備進行判斷的代碼,從而阻止非授權USB設備在系統(tǒng)上的識別;第二種方法是不修改驅(qū)動程序,而在USB設備枚舉完成后,立即把設備卸載,從而在系統(tǒng)中無法使用該設備。
上面兩種方法中,第一種需要熟悉驅(qū)動程序開發(fā)技術,難度比較大;第二種原理比較簡單,實現(xiàn)起來也相對容易。本文將采用第二種方法。第二種方法的原理是:當插入USB存儲設備時,應該立即獲取該USB設備的信息,然后判斷這些信息是否是經(jīng)過授權的,如果非法,立即調(diào)用卸載函數(shù)卸載該USB設備。系統(tǒng)可以分為三部分:USB存儲設備的檢測、USB設備信息的讀取判斷、設備的卸載。
四、小結
總之,面向端系統(tǒng)的行為安全監(jiān)控系統(tǒng)是針對Windows平臺的。隨著Windows平臺在電子政務中的日益廣泛應用。面向Windows平臺的行為安全監(jiān)控系統(tǒng)將具有廣泛的應用前景,課題設計提出的USB設備監(jiān)控技術不僅可以對USB設備行為進行有效監(jiān)控。還同樣適用于對并口設備及光驅(qū)類設備進行監(jiān)控。具有普遍的指導意義。此課題具有可以成功解決保密要求較高的個人和單位只能在物理上禁用USB端口、使用不靈活的問題。軟件關鍵功能的實現(xiàn),可優(yōu)先監(jiān)控到USB儲存設備,不易被惡意程序繞過,軟件資源的占有率低等優(yōu)點。
【計算機科學與技術專業(yè)的開題報告】相關文章:
計算機科學與技術專業(yè)畢業(yè)論文開題報告范文03-13
計算機科學技術畢業(yè)論文開題報告03-26
關于計算機專業(yè)的開題報告例文03-26
計算機專業(yè)論文開題報告格式03-24
計算機應用技術開題報告03-21
2015計算機專業(yè)網(wǎng)站設計開題報告03-10
計算機專業(yè)設計開題報告格式范文03-23
電子科學與技術畢業(yè)論文開題報告03-28
計算機科學與技術實習報告范文12-20