课程设计(论文)-文件的监控的设计与实现.doc
成都信息工程学院课程设计报告文件的监控姓名:专业:信息安全班级:08级4班提交日期:2011年12月13日文件的监控的设计与实现摘要计算机使用的普及与应用已渗透到社会各个层面,在为企业提供便利的同时,也对企业运行造成了负担。本文通过文件监控系统的实习,对用户的操作系统进行监视,有助于保护用户隐私,计算机安全,以及企业安全等。本设计主要针对本机用户,可监视本机文件的操作信息。什么是文件监控呢?文件监控可以对计算机上得文件实施保护,保证文件对不同的文件,不被修改,不被移动,以及对文件修改后记录log信息等。关键词:监视修改移动目录论文总页数:12页1引言.11.1课题背景.11.2国内外研究现状.11.3本课题研究的意义.11.4本课题的研究方法.12需求分析.22.1网络流量监控分析的需求包括:.22.2本设计用VS2008实现,所用语言为C#.23系统设计.23.1系统设计图.24编码和测试.34.1编码.34.2测试.7结论.11参考文献.12第1页共12页1引言1.1课题背景随着社会的发展,计算机已成为我们生活中不可缺少的一部分,而文件系统在其中有着重要的作用,它是个人用户与存储信息的桥梁。通过的文件系统的监控,对使用相应的软件进行监控,清楚的软件使用的状态,从而不管在管理方面还是在安全方面,都会对系统管理人员有很大的帮助。1.2国内外研究现状随着计算机快速的发展,各类的木马,病毒层出不穷,入侵技术也不断的提高,计算机高速发展也同时带来了隐患。此时,文件监控以及一些入侵检测技术越来越受到专业人士的关注,一系列的关于文件系统监控的安全软件也便应运而生了。1.3本课题研究的意义文件系统监控能够帮助用户管理操作系统,保护指定的文件,监控文件系统的使用并形成日志信息。此外,文件系统监控还能主动阻止一些病毒或者木马程序试图修改文件,提升操作系统安全。1.4本课题的研究方法本课题采用windows平台提供的API进行研发,使用windows提供的一些接口函数实施对文件系统的监控。第2页共12页2需求分析2.1网络流量监控分析的需求包括:(1)对指定文件不允许访问(2)对指定文件不允许修改(3)对指定文件不允许删除(4)对指定文件进行隐藏(5)对指定的文件夹及其子目录进行监控,并形成日志信息2.2本设计用vs2008实现,所用语言为C#3系统设计3.1系统设计图保护模块监控模块文件监控系统第3页共12页4编码和测试4.1编码1.取消用户对指定文件的某种权限publicstaticvoidDelRight(stringFileName,stringAccount,FileSystemRightsRights)DirectoryInfoFile=newDirectoryInfo(FileName);DirectorySecuritySecurity=File.GetAccessControl();Security.AddAccessRule(newFileSystemAccessRule(Account,Rights,AccessControlType.Deny);File.SetAccessControl(Security);2.增减用户对指定文件的某种权限publicstaticvoidAddRight(stringFileName,stringAccount,FileSystemRightsRights)DirectoryInfoFile=newDirectoryInfo(FileName);DirectorySecuritySecurity=File.GetAccessControl();Security.RemoveAccessRule(newFileSystemAccessRule(Account,Rights,AccessControlType.Deny);File.SetAccessControl(Security);3.选择指定文件privatevoidbtn_choose_Click(objectsender,EventArgse)openFileDialog.Filter="任意文件|*.*";openFileDialog.InitialDirectory="D:";openFileDialog.Title="Lookinto";openFileDialog.FileName="";if(openFileDialog.ShowDialog()=DialogResult.OK)textBox_file.Text=openFileDialog.FileName;4.文件保护第4页共12页privatevoidbtn_Protect_Click(objectsender,EventArgse)stringfileName=textBox_file.Text;stringUserName=Environment.UserName;tryif(fileName!="")if(checkBox_hide.Checked)File.SetAttributes(fileName,FileAttributes.Hidden);elseFile.SetAttributes(fileName,FileAttributes.Normal);if(checkBox_all.Checked)DelRight(fileName,UserName,FileSystemRights.FullControl);elseAddRight(fileName,UserName,FileSystemRights.FullControl);if(checkBox_del.Checked)DelRight(fileName,UserName,FileSystemRights.Delete);elseAddRight(fileName,UserName,FileSystemRights.Delete);if(checkBox_read.Checked)DelRight(fileName,UserName,FileSystemRights.Read);