1006大设计翻译版基于虚拟化文件监控系统与实现_第1页
1006大设计翻译版基于虚拟化文件监控系统与实现_第2页
1006大设计翻译版基于虚拟化文件监控系统与实现_第3页
1006大设计翻译版基于虚拟化文件监控系统与实现_第4页
1006大设计翻译版基于虚拟化文件监控系统与实现_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

我,本及其研究工作是由在导师指导下独立完成的,在完成时所利用的一切资料均已考文献中列出。时间:20146MethodandSystemoftheUser’sSensitiveFiles’ProtectionBasedonVirtualI/OMonitorTutor:LiTherapiddevelopmentofcomputertechnologytopeople'sworkandlifehasbroughtunprecedentedconvenienceandefficiency,butwiththebirthofthedevelopmentofcomputingtechnology,computeres,Trojanhorsesandothermaliciouscode,forpeopletoliveandworkgreatinconvenienceorevenahugeamountofdamage.Corecomputerdatafileisprocessedandtheoperationofthesystem,especiallyfortheuser,thedatafilesoftencontainsensitiveinformation,manycompaniesorindividuals,especiallyinthecurrentfilenumberfortheuserstoredandprocessedintheoperationofthethirdpartyplatform,thefilesecurityandprivacynaturally eafocusofconcern.Inthispaper,auserneedstoprotectsensitivefiles,designedbasedvirtualI/Omonitoringmethodstoprotecsitivefilestheuser,themainresearchworkincludes:.PhysicalStructureofEXT4filesystem,combinedwiththeexperimentalmethodtogetthefilesystemtodeletethefilesystemprocessesonLinuxopen-sourcevirtualmachinemonitorsystemqemu-kvm-0.12.5sourcetoimproveandoptimizeinordertobetterprotectthefiledoesnotbedeletedtampering..Userscanviewthevirtualmachineonthewebsiteshippedshapedstate,checksuspiciousprocess,addingfeaturessuchasfileprotectionsystemafterthecompletionofthefunctionandperformanceofthetestsystem,theresultsshowthatthesystemhasgoodusability.InFinally,improveandperfectthesystemofrelatedfunctionsputforwardsome:Virtualization,I/Ocontrol,protection,绪 研究背 研究现 课题来 相关理论基础及技 EXT4文件系 Ext4文件系统布局综 Inode 项的两种分 2 KVM和QEMU相关知 KVM与QEMU概 QEMU处理I/O请求的流程分 本章小 基于虚拟化的文件的系统设 设计原 基于虚拟化I/O的用户敏感文件保护系统实 开发环 技术基 本章小 实 实验环 功能实 实验目 性能实 实验目 本章小 总结与展 工作总 工作展 致 参考文 绪计算机技术的迅猛发展,给人们的工作和生活带来了前所未有的便利和效然而随着计算技术的发展,计算机、特洛伊木马等代码的诞生,这全造成的经济损失超过170亿。75%的公司报告财政损失是由于计算机系统的安全问题造成的。超过50%的安全来自。而仅有59%的损失可以定量第一种.计算机,是指“编制者在计算机程序中的破坏计算机功能第二种。被称为木马通过将自身吸户执行,向施种木马者提虚拟化技术最早于20世纪60年代,是计算领域的一项传统技术,虚拟源的和可靠利用。目前有很多流行的虚拟机,如VMware、KVM、Xen虚拟化技术作为云计算的关键技术,使得云计算成为能够提供动态资源IT技术。然而从安全角度来分析,却又带来了很多,除传统的之外,如隐蔽通道、基于VM的Rootkit(VMBR)以及新的软件等也随之(VMMKKernl-1.1KVM管理员来决定它们在何处可以以何种方式被。Linuxext4ext3Windows上使用FAT32NTFS文件系统。Linux上是以挂接点(mountpoint)的模式来构架文件系统,挂接点可能是根,也可能是子。文件或是存放于最近的挂下,而非/usrWindows下,结构属于分区,Windows有不同的分区,目linuxFHS的准则(规范在根(/)下面各个主要linux系统出现故障,产生安全问题。因此,为了研究磁盘的读写情况,我们需要了文件项的数据以及文件索引节点e2fsprogsext4文件系统详细信息,查看文件索引节点,以及文件项的变化,通过这些我们可以获取删除一个文件的时候项,以及索引节点的相关变化。Tripwire,TripwireHash算法,因此准确度非常高。Tripwire也可检测多达十余种的Unix文件系统属性和二十余种的NT文件系统(包括表)属性,因此了四种Hash算法--CRC32、MD5、SHA、HAVAL--用来生成签名[6]。进行完整性检查时,Tripwire会根据策略文件中的规则对指定的文件重新生的报告中查阅文件被改动的具体情况。Tripwire软件安装完毕后,已经对配置文文件进行完整性检查。但是用户仍然需要做好重要文件的备份,因为TripwireNext3比较突出。Next3ext3的一个扩展,受影响的块会移动到快照文件,然后分配一个新块去替代它。Next3由CTERANetworks开发,目前主要用于其C200网络附加设备。Next3的快照能创建文件系统的任意时间点数据副本,可以随时从中恢复到先前的状态。Next3不需要预先为快照分配空间,而是根据需要来分配空间。这些快照也很有空除之后,系统会自动进行清除工作,因此空间可以很快回收[1]基于虚拟机器的检测技定义可以看出,VMM管理计算机系统的真实资源,为虚拟机提供接口。现存的基于虚拟机器的研究成果主要有AntFarm、Lycoside、SIM等,AntFarmLycosideCR3寄存器截获进程相关信息的方法对客户机的I/O(DirectI/O)QEMUqemu的相关代码即可达到目标,不依赖于虚拟机器的类型。第一.分析查看文件系统改写文件的流程,分析对文件项进行修改时所产生的流程,对数据块的改写内容,对整个文件系统的影响。第三.通过分析研究的基于虚拟机I/O的文件保护系统完善文件保护 第五.研究QEMU对虚拟化I/O的处理流程,由于虚拟机器截获的客户机的高效运行支撑”(项目2011CB302602)下的项目iVCE二期。本文的主要内容是研究基于虚拟化的文件系统的设计与实现。首第一章绪论liunx文件系统删除文件流程。第四章基于虚拟化的文件实完成系统的设计后,针对系统功能和性能进试实验并给出评价。相关理论基础及技linuxLinux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、 及文件保护信息等都在其中。目前Linux已经支持多种文件系统如:ext,ext2,xia,minix,umsdos,msdos,vfat,proc,smb,ncp,iso9660,sysv,hpfs,affs以及ufs。LinuxMinixLinux设计的文件系统——扩展文件系统第二版或EXT2被设计出来并添加到Linux中,这对Linux产生了重大影响。EXT2文件系统功能强大、易扩充、性能上进行了全面优化,也是所有Linux发布和安装的标准文件系统类型。VFS来通讯。VFSLinux可以支持多个不同的文件VFSLinux文件系统的所有细节进行了转换,所以Linux的其它部分及系统中运行的程序将看到统一的文件系统。Linux的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。在Linux文件系统中,作为一种特殊类型/proc文件系统只存在内存当中,而不件系统是一个伪文件系统,用户和应用程序可以通过/proc得到系统的信息,并LinuxLinux界中设计最成功的文件系统,目前的是ext4文件系统。Ext4Ext4是一种针对ext3系统的扩展日志式文件系统,Linux开发的原始的扩展文件系统(extextfs)Linuxkernel2.6.28Ext4Ext4Ext3Ext3中部分重要的Ext4块组。。。。。块组。。。。。。块组块组Indoe2.1EXT4Ext4文件系统的时候,mkfs将在块GDT表数据块(“ReserveGDTblocks”)以用于将来扩GDTinode表位图,这inode表的使用,inode表数据块之后就位图都是整个文件系统的元数据,当然inode表也是文件系统的元数据,但是inodeinode当做文件的元数据,因为在inode表中写入与文件相关的inode信息Inode 型(通常在inode中)的拷贝,这对性能提升有益。Inode表的大小为ext4_super_block.s_inode_size*ext4_super_block.s_inodes_per_groupBytes。Ext4的inode的数据结构大小156bytesExt4的标准inode256bytesext4_super_block.s_inodes_per_groupinodes。因0号inode不存在,可以通过如下的算式计算inode所在的块组:bg_num=(inode_num-index=(inode_num-1)%inodeinodeoffset=index*ext4_super_block.s_inode 线性(经典一般文件系统缺省地设置都是线性,文件中包含一个线性的项数组。未使用的项标记为inode=0。Ext4文件系统默认地使用structext4_dir_entry_2记录项,除非没有设置filetype特性标志。在没有设置filetype特性标志的情况下,使用structext4_dir_entry记录项表2.1文 /*Directoryentrylength /*Namelength文件名包含的字符数*/ /*Filename文件名*/ 使用哈希的B(hashedbtree,htree)组织和查找 图2.2EXT4哈希树文 Ext2的惯例,树的根总是在 它们不存到树中。根结点的其他部分包含树的元数据,最后一个hash->blockmap查找到htree中更低的节点。如果dx_.indirect_levels不为0,那么htree有两层;htree根结点的map指向的数据块是一个节点,由一个minorhash索引。Htree中的节点的minor_hash->blockmap之后包含一个零化的(zeroedout)structext4_dir_entry_2找到叶子节点。叶子节点包括一个线性的structext4_dir_entry_2数组;所有这些项都哈希到相同的值。如果 htree的方式遍历,计算要查找的文件名称的哈希值,然后使用哈希值找到flat,该数据块是项的线性数组,因而可被搜索到;否则,计算文件名称的minorhashminorhash查找相应的第三个数据块号。第三个数据块是项线性数组。1025bytes,则此文件占有2Block。Inode置上可以是间断开的。是特殊的文件,它的内容的每一项(即项)拥有固定的格式,描述了每个项的相关信息。2.3EXT42.42.5从图中看出是一个pointer指针。该指针指向真正的数据存放的block数2.6而一个文件对应一个inode号,无件小到1,2K还是大到1,2GB都一在创建文件系统会自动创建inode表,默认的inode表也是有大小的。达如图,我们可以看到各文件系统的inode的总数量,以及使用了多少,剩余2.7indoe执行命令“rmftestfile”时,这时其实删除的只是对应这个文件的文件名与其inode的关联,数据其实还在,同时这个文件之前所占用的inode号被indoe之间的连接2.8如上图rm指令的实际操作是将文件的indoe清空,删除文件在项2.9inode如上图,test文件inode号为98315,而删除之后,再建立个新的文件,它的inode号使用了之前空余出的相同的inode号。当然这个在不同文件系统是不同的,例如在redhat的GFS文件系统中,被删的文件的inode号是会保留下来的,新的文件会用新的inode号。当然在GFS中也可以通过命令的形式去清空无效被删的inode号,将其还原成可被用的状态。 KVMQEMUKVMQEMUKVMlinuxlinux2.6.20linux的各个主要版本中。它使用linux自身的调度器进行管理,所以相对于xen,技术),是基于硬件的完全虚拟化。而xen早期则是基于软件模拟的由kqemu这个闭源的,QEMU能模拟至接近真实电脑的速度。现在运用最多的就是将KVM和QEMU结合起来。准确来说,KVMLinuxkernelmodprobe化软件QEMU。虚拟机器对来自虚拟机的读写处理,最终会通过QEMU中的代码硬件设备,进而读写磁盘。基于KVMQEMUI/O2.1所示:虚虚拟机虚拟机VMExitVMExitLinux内底层硬件(支持硬件虚拟化技术QEMUQEMU普Linux进普Linux进2.10KVMQEMUI/O的功能是由QEMU提供的,客户操作系统所生成的任何I/O请求都会被中途虚拟机(即客户机发起一个I/O指令虚拟机器通过陷阱捕获I/O指令,序,发I/O进程由客户调度程序进行调度执行,进程上下文切换通过I/O进程初始化客户的I/O等I/O进程发送信号(通过客户内核和虚拟机器:I/O的初始化结束虚拟机器切回到最初的客户虚拟机,器继续执行客户代码。KVM主机上同样的执行顺序:会产生I/O中断陷入到虚拟机器中,在Qemu-kcm.c源文件中kvm_run函数,通过判断中断类型(run->exit_reason)进入不同的分支,由I/O请求引起的为KVM_EXIT_IO,则调用handle_io函数,该函数通过判断请求的方向(run->io.direction)确定是KVM_EXIT_IO_IN还是KVM_EXIT_IO_OUT,在进ioport.coutb函数,该函数调用ioport_write函数,在ioport_write函数中,有一个函数二维数组变量ioport_write_table,ide_ioport_write函数就在该数组中。ide_ioport_write函数通过调用ide_sector_write_dma启动dma,之后进入Dma-helpers.c源文件的dma_bdrv_writeblock.c源文件,对磁盘上 2.1EXT4文件系统的物理布局结构,重点分析了关键数据结构和文件项的方法过程,本系统相关功能的实现提供了设计思路。2.2小节KVMQEMUKVM/QEMU虚拟化结构对虚拟基于虚拟化的文件的系统设一些系统会导致被的计算机性能下降;基于虚拟机器的安全检测系系统便会根据更改后的配置进行保护。系统不易被虚拟机内的代码发现。虚拟机内的代码或软件一次读/写操作都要进行检验,需要消耗一部分时间,所以不可能达到原实简洁可用的UI设计准则,方便用户控制系统运行。利用QEMU源代码中已有的函数和数据结构,避免重复代码。减少代码重3.1虚拟机运行过程中,对虚拟机内的I/O操作进行实时和截获。每一次读/将对该数据块的操作与其受保护等级进行对比,若该操作该数据块的访问权限则此次操作,虚拟机内的该操作被虚拟机器并取消;若3.2文件系统的总体架构如下图所示。3.3行过程中对受保护文件的记录。FileSecSystem工FileSecSystem工 文件:fdisk.confrun.logsys.loguser.conf 文件:fdisk.confrun.logsys.log图3.4文件存 程安装下的vm_images/文件夹下,这样设计的目的是方便统一管理同一宿主机内的多个虚拟机。在进行系统的结构初始化时,在系统工程下的data/vm_images/中的每一个虚拟机镜像文件创建了对应的,并在每个、run.log、sys.loguser.conf文件。mnt/是用来挂载虚拟机镜像的文件夹。init是进行系统结构初始化的可执行文件。数据。如虚拟机运行进程,保护文件列表,i/o处理情况等。所以管理控制模块3.53.6看虚拟机I/O的情况,观察是否有I/O峰值。查看是否有异常进程,查看基于虚拟化的文件系统实本系统在Linux(Debian)系统环境下进行开发,由于本系统是基于虚拟机计语言,并且编译产生的目标代码简洁,执行效率快。针对本系统,C语言具有QEMU的编译、安装和调试:本系统选用qemu-kvm-0.12.5版本的源代码进统中顺利地修改qemu-kvm-0.12.5版本的源代码并进行调试和测试,需要使用./configure命令将该版本的源代码安装在指定的 LinuxCLinux操作系统内,由于修改的虚拟机器系统是使用C语言开发的,为了系统良好的兼容性,本系统采用C语言作为系统实现语言。在进行系统开发实现的过程中,LinuxC的使用是需要掌握的,包括Vim编辑器的使用、Make工具和GDB调试工具的使用,mysql数据库:MySQL是一个关系型数据库管理系统M被广泛地应用在Internet上的中小型中,体积小、速度快。所以采用mysql数据,用phpmyadmin管理mysql数据库。交互模块,三个模块之间互相通信实现该系统功能,其中文件保护模块在qemu-kvmqemu之中最为重要,实现虚拟保护文件功能,管该模块位于虚拟机器qemu-kvm-0.12.5源代码中,主要分为两个部分,vl.cinit_vm_info()函数中,该函数在虚拟机运行vmstructFile_infofiles信息。而在虚拟机运行时候则调用core.cide_ioport_write()进行判断,对需要保护的文件读写操作进行。4.1Block_dir_infostruct{structBlock_info*dir_block;intdiraddress;int}4.2File_infoFile_info{intcharabs_dir[FILE_PATH_LEN_MAX];//theabsolutepathofthefileshortintlimit;//0:NO_WRITE,1:NO_READ_NO_WRITEstructBlock_info*first_block;structBlock_dir_info } init_vm_info()函数来初始化VM结构中的uuid和虚拟机镜像文件(img_fil_pthFile_info结构初始化,将文件保护信息更新到到vm结构中。mem_sever.c,通过网络连接与用户交互模块连接,并且接受数据进行初步处根据数据的不同,调用不同的子程序,分别为io_main,info_register,info_proc,file_op,file_proc程序。io_main程序获取虚拟机的当io计数存入数据库中,info_register程序为获取当前虚拟机寄存器信息。info_proc为获取虚拟机当前进图4.1程序运行io_mainecho\"infodisk_io_count_i\">/dev/pts/"并4.3字类空默注否否否否否否t否否enum('1',否否否字类空默注否否否否4.4字类空默注否否否否4.5字类空默注否否是否否否是字类空默注是t是4.6i/o字类空默注否否否否否否否否否否否否否否计和模块详细设计,给出了本系统三大模块的具体实现过程与方法。4.1小节介系统最初功能。实 (R)Core(TM)i7 @GCC4.3.5Debian4.3.5-4)GDB版本:6.8-debianVNC版本:RealVNCViewerFreeEdition本实验的目的是通过使用添加本系统后的qemu-kvm-0.11.0工程启动虚拟机,5.1使用程序 加上虚拟机镜像名称启动虚拟启动mem_server运行管理模块虚拟在虚拟机删除文件执行 在网页中修改文件保护等级改变文件testfile为不可测试文件是否可5.55.6执行./write_tests来的额外时间消耗在可用范围内,不影响qemu-kvm-0.12.5工程的使用。qemu-kvm-0.12.5工程和添加本系统后将宿主机内/home/qemu-kvm-0.12.5/下的未修改过的工程安装到 /home/binqemu/bin/更改用户配置文件,受保护的文件改为2.5M、5M、10M、20M、40M的/home下的testfile-2_5Mtestfile-5Mtestfile-10Mtestfile-20M、testfile-40M文件,所占数据块数分别为 ./iozone–alm–n1m–g512m–i0–i1–f/tmp/iozoneiozone1m,最大512mreadwrite,测试时生成的临时文件放在/mnt下,结果存放在/root/iozone.xls文件中。 写写16M0原虚拟 修改后的虚拟 为5.1016M读读16M文件速率对比图0原虚拟 修改后的虚拟 5.1116M1.由iozone的可知,对16M大小的文件进行读写时,随着文件系统然后再减小,而且修改后的读/写速率较未修改时的分别平均减小8.22%和分析了EXT4文件系统的物理布局及关键数据结构,给定文件的绝对路分析ext4文件系统操作文件的流程,提供了对文件的 老师在科研、学习方面给了我非常多的帮助。是一位非常和蔼可亲的导师,谢老师对我们本科毕业生的关心和指导,尽管很忙,但仍然促监督自己冷静下来,谢谢一路以来对我关心和帮助。们一届又一届学生,谢谢教给我知识和人生道理。会接受高等教育,真的很感谢对我学业的支持。MonirulSharif,WenkeLee,andWeidongCui.SecureIn-VMMonitoringUsingHardwareVirtualization.InCCS’09:Proceedingsofthe16thACMconferenceonComputerandcommunicationssecurity.ACM,2009.CNCERT/CC S.Patil,A.Kashyap,G.Sivathanu,andE.Zadok.I3FS:AnIn-KernelIntegrityCheckerandIntrusionDetectionFileSystem.InProceedingsofthe18thUSENIXLargeInstallationSystemAdministrationConference(LISA2004),pages69–79,Atlanta,GA,November2004.,蔡海滨.基于Linux下网络服务安全可靠性研究[J].计算机工程与设计,2005,26(3):73

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论