1、此资料由网络收集而来,如有侵权请告知上传者立即删除。资料共分享,我们负责传递知识。计算机科学与技术专业的开题报告一、研究背景及意义随着信息技术的发展,人们越来越依赖于计算机来处理关键资料,并且逐步摒弃字纸处理方式,因而整个社会中电子档案信息的激增。如何去维护这些电子信息的安全,防止其泄漏和损坏也同时越发的引起关注。另外随着移动存储设备尤其是USB设备的快速发展和便捷,这个问题越发的严重起来。本课题主要针对研究Windows下通过USB方式转移资料的行为进行监控,确保电子资料通过USB传播的有据可寻,以便于安全审计和统计。由于USB总线较高的接口速率和灵活方便的使用特性,使得越来越多的存储设备使
2、用USB接口来接入计算机,如闪存盘、移动硬盘等。基于USB接口的存储设备已取代软盘,成为一种重要的信息交换方式。但USB存储设备的广泛使用带来了许多安全隐患:(1)窃密者可以在合法用户不在场的情况下,利用USB存储设备快速地将个人隐私、国家机密或商业敏感信息取走,并且不会留下痕迹;(2)合法用户的违规操作和逾权动作可以把USB存储设备作为中转媒;(3)USB存储设备可作为病毒载体以及开机钥匙等。上述安全隐患都对主机安全构成了较大威胁。因此,对USB存储设备的安全实施监控具有重要意义。目前很多保密单位在物理上禁用USB端口,这会给用户带来很多不便。而一些基于用户态的USB存储设备监控软件很容易被
3、病毒、木马等恶意程序绕过,无法完成有效、实时的监控。本文采用基于驱动层的技术实现其主要的监控功能,相对应用层,更加安全和稳定。二、国内外研究情况1、Linux操作系统:因其具有源码开放,稳定,可靠。安全等显著优点。在电子政务中得到了广泛应用。此类应用的安全性要求较高,特别是内部网。据统计,80%的安全事件来自内部网。其中USB接口是内部网络信息泄密的一个重要途径 由于USB设备种类众多且使用广泛.仅仅简单地禁用USB接口会使其他的USB设备(如USB鼠标、USB键盘、ikey等)无法正常使用,给用户带来很多不便。文中在Linux环境下实现了一个分布式USB设备监控系统.可以根据管理员制定的安全
4、策略分类禁用USB设备.以便管理员对网络中各主机的USB设备进行细粒度的管理。该系统的主要功能是以内核模块的形式实现的.相对于应用层程序而言。其可靠性高并且很难被用户破解。2、USB监控基本情况:Linux的USB子系统分为USB客户软件、USB核心层和主控制器驱动程序3个层次。USB客户软件是特定设备驱动程序的主机部分.主要完成设备功能驱动,为了和设备正常通信,它通过10请求包(IRP.I/O Request Packet)向USB内核发出数据接收或发送请求。USB内核则为客户端驱动程序层和主机控制器驱动函数提供了一套函数集。HCD(Host Controller Driver)与主机控制器
5、合作完成USB各种事务处理”对于USB设备的所有操作都是通过向USB设备发送相应的IRP完成的。本系统将拦截所有发给USB设备的IRP并对其中的内容进行分析.得到USB设备的设备类型,如存储类设备、USB集线器类设备或者厂商自定义设备等.然后根据安全策略文件来决定是否允许这个设备使用。USB设备监控系统中的关键问题是IRP拦截.判断设备类型以及对厂商自定义类设备的管理。3、IRP拦截技术:为了实现数据传输.USB内核提供了一个数据结构称为URB(USB Request Block)。一个URB由执行任何一个USB事务信息、分发数据信息和回传的状态信息组成。URB中具有USB数据传输的所有信息,
6、包括传输类型、传输方向、数据缓存区、数据传输的设备、端点、返回信息及指向传输完成的处理函数的指针。从图l中可以看出。所有的USB设备I/O请求最终都由总线提交函数usbmit_ttrb(struct urb*urb)发送到USB总线上.因此可以通过拦截usb_submit urb函数.对所有的URB数据包进行分析的方法来实现对USB设备的控制。目前.Linux(所支持的主控制器主要有OHC(Open Host Controller) 和UHC (Universal HostController) 种控制器的驱动程序分别是ohci.0和uhci.o.usb subruit urb函数就是由这两个
7、模块提供的一般情况下。一台计算机只有一种控制器。Linux考虑了有多种控制器的可能性并为将来扩展更多的控制器提供了方便。因此,拦截usb submit urb函数就是要拦截内核模块的导出函数。Linux采用整体式内核结构.如果要对内核功能进行修改或充.必须重新编译整个内核。这给扩展内核功能带来诸多不便。因此。Linux提供了一种新的机制:动态可加载内核模块 内核模块将一些需要扩展的功能先单独编译成一组目标代码.该代码是核心的一分.但并没有编译到内核里面去.可以根据需要在系统启动后动态地加载到系统核心中.当模块不再需要时,可以动态地从系统核心卸载。核心符号表中维护着一个核心资源链表.在加载模块时
8、.它能够解析出模块中对核心资源的引用 某个模块对其他模块的服务或资源的需求类似于模块对核心本身资源或服务的请求.不过此时所请求的服务是来自另外一个已加载的模块 每当加载模块时核心将把该加载模块输出的所有资源和符号添加到核心符号表中21核心符号表中包含模块导出函数名、变量的名字和其相应的地址通过更改函数地址值的方法可以对函数调用进行拦截。但这种方法在拦截模块导出函数的时并不适用。如前所述,模块在加载的过程中会使用核心符号表中的信息对引用的函数和变量进行重定向。这种访问是一次性的。系统在内核级中执行时,访问了大量的寄存器,而很多寄存器值是由上层调用者提供的。如果改变这些寄存器值.系统会变得不稳定。
9、很可能出现不可预料的后果。因此使用hook函数的最佳原则是:在hook函数中调用原函数时。所有寄存器的值与被hook前的信息一样 普通的C函数调用都提供了函数堆栈切换操作。而在funl和fun2中要使用原函数的堆栈来获取传人的参数地址.因此这两个函数必须用汇编语言编写这里分析一下拦截代码的稳定性 在整个操作系统运行期间.系统服务会经常被调用。当一个进程调用了被hook的系统服务.这时如果发生了进程切换,则另一个进程再次调用相同的系统服务时.就会出现此次调用没有被hook的情况 虽然可以通过关闭中断方法加以避免.但对系统性能影响比较大USB子系统的数据传输通常不是提交一次URB就能完成的。偶尔漏
10、掉了一个URB并不会影响对数据传输的禁用效果.所以这里完全可以忽略这种情况 在实际的测试和使用中没有出现禁用失效的情况。三、监控系统应用价值与基本方法监控系统在已有研究成果的基础之上,对误差控制、大块数据处理、地形简化等算法和实现技术进行了改进。包围盒进行LOD误差处理,大大地提高了算法的效率,该算法已经应用到研制的某卫星网管仿真测试系统中,取得了良好的效果。算法使用的是存储在本地的地形数据,未来有可能通过网络使用实时的真实地形数据,此时内存映射文件将失效,因此需要进一步考虑如何有效地加载和传输来自网络的数据,从而实时显示真实的地形。另外,使用C+语言实现算法和地形显示,可以进一步提高软件的效
11、率。基于USB的CAN总线系统监控平台的开发成功,为CAN总线控制系统的开发、调试和诊断提供了得力工具。无论在实验室还是在工业现场,开发人员都可方便地将CAN网络与计算机互联,实时监控系统的总线状态。以此为基础,今后还将进一步完善其上位机应用程序,丰富其监控的现场总线种类,使其成为基于CAN的多种现场总线的监控平台。USB(universal serial bus)通用串行总线,是由Intel、康柏、微软和NEC等公司共同推出的串行接口。它支持即插即用和带电热插拔,占用的系统资源少,不会出现与其它外设资源冲突的情况,软件安装也很方便;其通信速度为1.5、12和480Mb/s,突破了传统计算机串
12、行通信接口(如RS一232)与高速外设进行数据传输时的速度“瓶颈”;接口还可以提供最大5V/500mA的总线电源,小型USB设备无需外扩电源,简化电路设计。USB接口已经成为PC的标准接口。为了便于携带使用,在下位桥接器设计中均采用体积小、功耗低的平面封装器件,这可以减小体积、充分利用USB总线供电。另外,在下位桥接器设计中还设计了数据缓冲和CAN总线通信错误识别功能,这样可以进一步避免系统监控数据的丢失,并且能在CAN总线通信出错时提供详细的状态记录信息,提高平台的监控性能。一个USB设备插入到计算机USB端口上时,操作系统硬件管理程序将会发现设备,然后查找该设备的驱动程序是否存在,如果存在
13、,系统加载驱动程序,然后给USB设备分配盘符等。从上面的分析中可以知道,如果要阻止USB设备在计算机上使用,至少有两个方法可以使用:一是修改设备驱动程序,在设备驱动程序里面加入对设备进行判断的代码,从而阻止非授权USB设备在系统上的识别;第二种方法是不修改驱动程序,而在USB设备枚举完成后,立即把设备卸载,从而在系统中无法使用该设备。上面两种方法中,第一种需要熟悉驱动程序开发技术,难度比较大;第二种原理比较简单,实现起来也相对容易。本文将采用第二种方法。第二种方法的原理是:当插入USB存储设备时,应该立即获取该USB设备的信息,然后判断这些信息是否是经过授权的,如果非法,立即调用卸载函数卸载该
14、USB设备。系统可以分为三部分:USB存储设备的检测、USB设备信息的读取判断、设备的卸载。四、小结总之,面向端系统的行为安全监控系统是针对Windows平台的。随着Windows平台在电子政务中的日益广泛应用.面向Windows平台的行为安全监控系统将具有广泛的应用前景,课题设计提出的USB设备监控技术不仅可以对USB设备行为进行有效监控.还同样适用于对并口设备及光驱类设备进行监控.具有普遍的指导意义。此课题具有可以成功解决保密要求较高的个人和单位只能在物理上禁用USB端口、使用不灵活的问题。软件关键功能的实现,可优先监控到USB储存设备,不易被恶意程序绕过,软件资源的占有率低等优点。参考文
15、献1 刘蕊红,蔡皖东,张 赘. 面向Linux的USB设备监控技术研究与实现J. 西安:西北工业大学,2019.2 张赞 蔡皖东 王胡. 基于IRP拦截技术的USB设备监控系统D. 西安:西北工业大学,2019.3 Walter Oney.Programming the Microsoft Windows Driver Mode1M.San Francisco, Microsoft Press, 1999.4 Art Baker,Jerry Lozano.The Windows2019 Device Driver BookM.San Francisco, Prentice Hall PTR,2
16、019.5 王成儒,李英伟.USB 2.0原理与工程开发M.北京:国防工业出版社,2019:34-36.6 肖踞雄,翁铁成,宋中庆.USB技术及应用设计M.北京:清华大学出版社,2019.7 陈莉君.深入分析Linux内核源代码M.北京:人民邮电出版社,2019.8 张赞,蔡皖东,王弱.基于IRP拦截技术的USB设备监控系统J.微电子学与计算机,2019,22(12):179-183.9 Daniel P Bovet,Macro Cesati.Understanding the Linuxkerne1M.New York:O reillk,2019.10Peter Jay Salzman, I
17、Jnux kernel program module guideM, New York:Academic Pr ,2019.11阳宪惠,主编.现场总线技术及其应用M.北京:清华大学出版社,1999.12现场总线技术的发展.全国高校制造自动化研究会东北、华北地区2019年学术会议论文集C. 天津出版者不详:2019.13尹罗生,等.一种具有USB接13的通信控制器的设计实现J.电力系统自动化,2019,18(12):65-68.14潘琢金,施国君.C8051Fxxx高速SOS单片机原理及应用M.北京:北京航空航天大学出版社,2019.15Jan Axelson.USB大全M.陈逸,译.北京:中国电力出出版社,2019.6