




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络安全审计系统开发 科研训练论文 西安郵電學院 科研训练报告 题 目:_网络安全审计系统开发_ 学 院:_ 通信与信息工程学院 专 业:_ 信息安全 _ 班 级: _ 安全0705 _ _ 学生姓名1:_ 董建姣06073144_ 学生姓名2:_ 聂媛媛 06073176 _ 指导老师: 张雪峰 起止时间: 2010年 月 日至2010年12月17日摘要 随着对网络安全的认识和技术的发展,为了防止内部的非法违规行为,需要在网络中实现对网络资源的使用进行审计。本文对信息系统中安全审计系统的概念、内容、实现原理、存在的问题做出了讨论。第一,通过对审计系统要求的分析和对Linux内核版本升级的考虑,提出了通过扩展LSM机制来构造审计系统。第二,论述了审计模块的设计与实现,就审计记录结构、审计规则等关键问题进行了阐述。第三,探讨了审计文件的处理和审计对系统性能的影响。关键词: 信息安全技术 、网络、安全审计、钩子函数、LSM机制、接口。一、什么是安全审计国内通常对计算机信息安全的认识是要保证计算机信息系统中信息的机密性、完整性、可控性、可用性和不可否认性。安全审计对计算机信息系统中的所有网络资源进行安全审计,记录所有发生的事件,提供给系统管理员作为系统维护以及安全防范的依据。一旦有突发事件可以快速的查阅进出记录和行为记录,确定问题所在,以便采取相应的处理措施。为了能够方便地对整个计算机信息系统进行审计,就需要设计综合的安全审计系统。它的目标是通过数据挖掘和数据仓库等技术,实现在不同网络环境中对网络设备、终端、数据资源等进行监控和管理,在必要时通过多种途径向管理员发出警告或自动采取排错措施,并且能够对历史审计数据进行分析、处理和追踪。二、安全审计系统的特点安全审计系统的主要特点如下:1.安全审计系统可对可对系统访问及操作、网站访问、邮件收发、远程终端访问、数据库访问、论坛发帖等进行关键信息监测、还原。2.安全审计系统可对网络行为,如网站访问、邮件收发、数据库访问、远程终端访问、即时通讯、论坛、在线视频、P2P下载、网络游戏等,提供全面的行为监控,方便事后追查取证。3.安全审计系统可对网络流量进行综合分析,为网络带宽资源的管理提供可靠策略持。三、审计系统需要解决的问题 根据对审计的要求和整个安全操作系统的设计需要,审计系统需要解安全审计系统的设计与实现需解决的问题主要有:(l)审计系统对内核的影响 Linux内核是不断升级的,在系统中也可能加载其他的安全模块,因此,审计系统要能适应内核的升级,也不能对内核的其他功能影响过多。同时,为了适应不同的Linux用户的需要,避免内核的庞大,审计系统需要做成单独的LKM(loadablekemelmodule 可加载内核模块)的形式。但另一方面,审计信息需要从内核系统调用中分散收集,审计系统又是和内核紧密相关的,从这方面来说,很难将审计系统“分”出来。因此,如何建立对内核影响较小而又能收集到全面的审计信息的模块化审计系统成为一个难点。(2)审计文件的超出问题 审计文件最终要存储在永久存储介质上,通常是存放在磁盘中。一旦审计面广了,审计记录更为详尽了,就不可避免的要考虑审计记录文件所占的磁盘空间。怎样防止审计记录文件大小超出限定的磁盘空间,SunBSMt4中对这个问题进行了讨论。可以考虑从以下几个方面来解决:1、从审计配置方面来看,尽量减少审计事件。当然要考虑到比较重要的、与安全相关的事件要审计到。可以提供灵活的审计配置方式,让用户根据使用的安全要求来选择。2、专门设定一台存储审计记录的计算机,通过网络传输,将审计记录存放到该机器上。四、安全审计系统结构及模型 安全审计系统(Security Auditing System)由审计中心、审计控制台和审计Agent组成. 审计中心使整个审计系统的数据进行集中存储和管理,并使用应急响应的专用软件,它基于数据库平台,采用数据库方式进行审计数据管理和系统控制,并在无人看守的情况下长期运行。审计控制台是提供给管理员用于对审计数据进行查阅,对审计系统进行规则设置,实现报警功能的界面软件。可以有多个审计控制台软件同时运行。审计Agent是直接同被审计网络和系统连接的部件,不同的审计Agent完成不同的功能。审计Agent将报警数据和需要记录的数据自动保送到审计中心,并由审计中心进行统一的调度管理。 根据通用入侵检测框架的模型,作者认为安全审计系统由事件产生器、事件分析器、响应单元、事件数据库组成。 其中,事件是需要分析的数据统称,它可以是网络中的数据包,也可以是从系统日志等其他途径得到的信息等等。事件产生器的目的是从整个计算环境中获得事件,并向系统的其他部分提供此事件。事件分析器的作用是分析得到的数据,并产生分析结果。响应单元则是对分析结果作出反应的功能单元,它可以作出切断连接、改变文件属性等强烈反应,也可以只是简单的报警。事件数据库是存放各种中间和最终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件。 五、设计方向:LSM框架总体结构 LSM框架是随着安全操作系统的不断发展而出现的。针对这种各自为政的情况,Linus提出一个安全框架的概念,通过它能够以可加载内核模块(LKM)的形式实现任何安全模型,同时,他建议现有的安全操作系统项目都移植到这个统一的框架下。LSM由此应运而生。LSM框架在内核中增加了两个部分:在内核数据结构中加入了安全域来存放安全属性;在内核代中加入对钩子函数的调用(这些调用称为“钩子”),这些钩子函数是操作安全域和实现访问控制的。安全域一般就是在数据结构中增加的*vd指针,具体指向的数据结构由设计安全模块的开发者定义。同时,LSM定义了一个全局表,钩子就是该表中的函数指针,该指针具体指向哪个函数,采用什么安全政策也是由具体的安全模块定义的。LSM仅仅定义了每个钩子的参数和它们的位置。 当加载一个安全模块时,必须使用register_seeurity()函数向Linux安全模块(LSM)框架注册这个安全模块:这个函数将设置全局表security_oPS,使其指向这个安全模块的钩子函数指针,从而使内核向这个安全模块询问访问控制决策。一旦一个安全模块被加载,就成为系统的安全策略决策中心,而不会被后面的register_security()函数覆盖,直到这个安全模块被使用unr。gister_security()函数向框架注销:这简单的将钩子函数替换为缺省值,系统回到UNIX超级用户机制。另外,Linux安全模块(LSM)框架还提供了函数mod_reg_seeurity()和函数mod_unreg_seeurity(),审计系统设计思想 系统调用 用户在系统中的一切活动都需要系统调用的支持。在系统调用中设立审计能够把用户在系统中的所有活动记录下来。同时,所有隐蔽信道都是开发者通过内核调用找到并利用的。如果通过审计与隐蔽信道有关的系统调用,那么利用隐蔽信道时可能被使用的事件也就被审计了。这些系统调用涵盖进程控制、文件系统控制、扩展属性控制、IPC控制、用户管理等几大类。 根据国家标准中对审计内容的要求,审计内容主要包括四个方面:事件基本信息、主体信息、客体信息和事件特殊信息。具体如下:l)审计事件基本信息:时间,审计号,审计类别等2)主体信息:事件发出的用户uid,安全级别等3)客体信息、:事件作用的客体(可以是文件,进程等),安全级别4)事件特殊信息:参数等 审计钩子机制 LSM是访问控制的一个框架。将这个增强的访问控制框架加入到内核中,可以增进机安全,避免服务器遭受恶意攻击。当然它本身并不能增进安全,它只是提供一个支持安全块的基础。使用LSM可以使访问控制模块以可加载内安全审计系统的设计与实现核模块的式加入内核。 LSM框架是在内核中增加了两个部分:在内核数据结构中加入了安全域来存放安全属性;在内核代码中加入对钩子函数的调用(这些调用称为“钩子”),这些钩子函数是操作安全域实现访问控制的。安全域一般就是在数据结构增加的*void指针,具体指向的数据结构由设安全模块的开发者定义。同时,LSM定义了一个全局表se。urity_。ps,钩子就是该表中的数指针,该指针具体指向哪个函数,采用什么安全政策也是由具体的安全模块定义的。LS仅仅定义了每个钩子的参数和它们的位置。 我们可以具体来看一个例子sys-ppen。我们在函数sy纱pen中加入审计钩子。原来的函数用伪代码写出来如下:sys一opengetfilenamefromuserspace;if(!filename)penprocessing;out:endingwork;relumvalue;handleerr;go to out;加入审计钩子后,函数结构如下:sys一opengetfilenamefromuserSPace;aud-clteck(AUDes0PEN,argsif(!filename)OpenPfocesslllg;endingwork;将钩子插在此处是为了利用上一步得到的复制到内核空间的函数名out:aud-toeebuf(Value);retumvalue;out of:handleerr;go to ollt; 我们来看看通过这两个钩子是否能收集到审计信息。open事件的客体信息包括:文件(包括路径)、当前路径、打开的文件描述符、文件属主(uid)、文件模式(mode)、安全标记,数是打开参数和模式。通过aud_.heck钩子我们可以收集到信息有:文件名、当前路径、打标志和模式。打开的文件描述符、文件属主、文件模式不能直接得到,需要经过一些处理才得到。但这些工作并不需要审计函数来完成,在原来的内核函数处理中可以得到结果。得到些结果也不需要增加新的审计钩子,可以利用LSM的访问控制钩子。六、审计的具体实现审计记录结构每个审计事件主要记录以下四个方面的内容:1)审计事件基本信息:时间,审计号,审计类别,审计记录大小等2)主体信息:事件发出的用户uid,安全级别等3)客体信息:事件作用的客体(可以是文件,进程等),安全级别4)事件特殊信息:参数等 其中,前两个是所有审计记录共有的信息,后两个是根据不同审计事件有不同的内容。根据每个审计事件所要求收集的审计信息不同,我们将审计事件分成了39个审计类。考虑到很多审计事件都有共性的地方,比如文件系统控制方面的审计事件,他们的客体都是文件。借鉴SUNBSM和SNARE系统的方法,我们先将一些基本信息组装成不同的数据结构(我们称之为token),审计记录就由这些token组成。其中,最重要的一个token就是header_token这个token是每个记录都带有的一个部分。它的结构如下:1)事件基本信息Event_c1ass事件类别Event_id事件Event_1ze审计记录大小time;事件发生时间2)主体信息USer1ellseridgrouP_idegrouP_idsub_rangePid主体(用户)id主体(用户)euid主体(用户)gid主体(用户)安全标记主体(进程)pid安全审计系统的设计与实现Pflaflle主体(进程)名,该变量长度跟系统规定的长度一样,见头文件/usr/inelude/linux/sehed.h中eurrent-onun3)返回值returneode数据结构审计内核线程启动后读配置文件,在内存中建立如下数据结构:(1)void*smos_aud_attri审计属性指针,指向下面的结构typedefstruetall_event_tall_event;/*全局审计事件向量*/*主体审计事件*/sub_namesub_name_header:/*根据主体名称审计链表头*/sub_gidSub_gid-header;/*根据主体组标识审计链表头*/intSub_name_count:/*主体名称审计项个数*/intSub_gid_count;/*主体组标识审计项个数*/*客体审计事件*/obj_fd_name*obj_fd_name_header;/*根据文件名称审计链表头*/obj_u_name*obj_u_name_header;/*根据用户名称审计链表头*/*如果定义了安全标记,则增加根据安全级别审计*/#ifdefMLSTYPESHobj_u_level*obj_u_level_header;/*根据用户安全级别审计链表头*/obj_fd_level*obj_fd_level_header:/*根据文件安全级别审计链表头*/#end ifintobj_fd_intobj_fd_namelevelcount;coufltintobj_u_name_eount:intobj_u_level_eount:/*文件名称审计项个数*/*文件安全级别审计项个数*/*用户名称审计项个数*/*用户安全级别审计项个数*/Smos_aud_eonfig_t:第4章审计的具体实现(2)主体审计向量链表a)根据主体名审计每个节点中有两项:用户id,审计事件向量向量每一位代表与主体有关的事件,和全局审计事件向量一样,共128位。b)根据主体组标识审计每个节点中有两项:组id,审计事件向量向量每一位代表与主体有关的事件,和全局审计事件向量一样,共128位。(3)客体审计向量链表a)根据客体名称审计每个节点中有2项:客体路径(包括名称),客体审计事件向量b)根据客体安全级别审计每个节点中有2项:客体安全级别,客体审计事件向量向量数据结构:文件相关的事件有:文件管理设备相关的事件有:mknod,模块操作的4个系统调用,文件管理用户相关的事件有:用户管理审计记录的存放 我们将收集到的审计信息整理成记录形式,最终是要存放到磁盘文件中保留的。在这个过程中,审计记录要经过三个状态:收集审计信息状态、在审计记录链表中、在磁盘文件中。重要命令的审计 审计系统应该对关系到系统安全的重要shell命令进行审计,它们包括:login用户登录su改变用户passwd改用户密码sudo改变身份执行操作useradd加入新用户userdel删除用户 这些命令实际上都是用户层应用程序,它们的功能也是通过调用系统调用来完成的。如果对系统调用进行审计,实际上可以把这些事件记录下来,例如运行1.gin程序,涉及到的系统调用可能包括:sys_xe,sys_en等。 在/etc/sys10g.conf中与这些命令有关的审计配置如下:*.info;mail.none;news.none:authPriv.none:eron.none/var/109/messages#TheauthPrivfilehasrestrietedaecess.authPriv.*/var/109/seeurelogin,su,passwd产生的记录级别都是KERN_INFO,因此记录在ar/109/meSSages中,Sudo,useradd,userdel都是和文件/ete/passwd等有关特权的操作,产生的记录在secure文件中。用户层审计接口 除了这些重要命令外,审计系统还向用户层提供审计接口。为了避免增加新的系统调用,我们可以利用系统调用syslog来实现审计接口。_syseall3(int,syslog,int,type,ehar*,bufp,int,len):intsyslog(inttype,ehar*bufp,intlen);原有的syslog系统调用处理的type有9种:0-8。我们设定当type为10-13时为审计系统的用户接口。具体的调用有:type=10:用户可以在程序中使用该系统调用来审计type=n:授权用户在审计运行过程中更新审计配置type=12:授权用户开启审计type=13:授权用户关闭审计LsM框架在Syslog系统调用中已经插入一个LSM钩子seeurity_syslog。我们利用这个钩子接口来增加审计功能。在这个钩子对应的函数中,检查type的值,如果其值为10-13,则执行相应的审计系统操作。否则不做任何操作返回。审计系统设定了两个特权用户audoPr和audadm审计模块的装载(l)以内核方式装载 在编译内核时,在配置文件中将AUDIT模块选为编入内核,则可把审计系统代码编入内核,这种内核运行后只要用audon命令就可使审计系统工作。(2)以模块方式装载 在编译内核时,在配置文件中将AUDIT选成模块方式,则在内核运行后用insmod命令可加载审计模块。审计配置(l)启动:在shen命令提示符下输入命令audeeconfig(2)功能描述:审计配置可以对基本信息、全局审计、主体审计、客体审计进行配置。基本信息包括设定审计文件的大小和报警比例。主体审计和客体审计都包含对主体和客体的安全级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租房协议书样板
- 山林买卖协议书
- 电荷泵协议书
- 中梵协议书危害
- 房产合作协议书
- 万能型公路施工方案
- 租赁厂房协议书
- 2025安保员聘用劳动合同书
- 2025二手商品转让合同协议书
- 2025贵州黔晨综合发展有限公司招聘观光车驾驶员及高压电工人员15人考前自测高频考点模拟试题及答案详解(全优)
- 科普:农药毒性分类
- 陈阅增普通生物学第1篇3细胞结构与细胞通讯教学课件
- 练习使用显微镜 全国公开课一等奖
- 【执业药师考试】执业药师历年真题
- 2023年高考地理(上海卷)-含答案
- 比重式精选机的使用与维护
- FZ/T 81004-2022连衣裙、裙套
- GB/T 34875-2017离心泵和转子泵用轴封系统
- 细胞培养技术培训课件
- 故障录波器课件
- 管片质量问题原因分析及控制措施
评论
0/150
提交评论