LINUX内核级安全审计系统的设计与实现

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:excelong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:审计系统作为安全操作系统的重要组成部分,在系统监测中起着重要作用,它确保安全策略的正确实现和入侵检测系统的建立。原始的基于应用的Linux审计体系存在固有的缺点,应该对此进行改善。该篇介绍了在Linux内核中安全审计系统的设计与实现。在Linux内核中实现了基于可加载内核模块的安全审计模型并运用了一种新的基于复制中断描述表的系统调用拦截的方法。此外,该系统能在内核中全面采集信息,并且采取了有效的方法保护审计系统自身的安全。
  关键词:安全审计;可加载内核模块;中断描述表
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)14-20835-02
  
  1 引言
  
  通过对现实社会管理方式的模仿,审计被引入到计算机系统中并主要应用于监视系统行为。审计系统作为安全操作系统的重要组成,将用于监视,记录和控制计算机系统的安全行为。它的主要功能是检测和阻止非法用户的系统入侵和提示合法用户的错误操作。在公用的Linux操作系统中,日志机制实现了相似的功能。但是日志机制在审计粒度,审计安全和审计灵活性方面存在着明显的缺陷。
  现有的Linux的审计机制是基于应用层面的。典型的审计系统如“syslogd”(一种用于邮件收发的后台程序)。它主要应用于从各种受限制的服务(klogd,httpd,inetd,etc)中获取重要的信息,并且根据配置文件实现通讯处理。不同的类型有明显不同的输出模式并且这些输出将被保存到不同的日志文件中。原始的Linux审计系统中有以下安全问题:首先,一旦某用于收集审计数据的外部服务程序被恶意用户破坏,这些审计数据将不会被记录下来,因为服务程序运行于用户状态。其次,即使审计信息在用户状态被收集,这些信息也是不充分,不详细的。例如,只有系统调用名被记录,而不会提供与其相关的其他信息。在者,这里没有足够的方法来保护已存在的日志文件。换句话说,这些日志文件能够被其他用户访问,篡改和删除。而且,没有有效的方法去检查,分析这些审计信息。因此,我们应该改善原始的Linux审计机制,加强审计日志安全性的管理。
  在这篇文章中,提供了详细的安全审计系统在Linux内核中的设计和实现。该系统实现了一种新的基于中断描述表的系统拦截方法的调用。
  
  2 安全审计系统的设计
  
  内核作为操作系统中重要的组成部分,主要用于进程控制,内存寻址和管理,系统调用等方面。一个运行的Linux操作系统分为用户状态和内核状态。就用户程序而言,它们可以利用各种系统资源,如:文件,目录,外设等,只有当系统调用时进入内核状态,处理完成后,用户程序又返回到用户状态。因此我们可以基于这种机制在内核中设置审计指针记录关于系统运行状态的详细信息。这种审计机制的优越性在于:首先,所有的审计信息产生于内核。任何系统当前状态的行为都能够被真实的记录下来,因此审计信息可以避免被恶意用户在应用层破坏;其次,审计信息在内核中得到保存和处理,这种方式可以避免信息在黑客入侵后被删除或破坏。
  2.1 可加载内核模块(LKM)
  可加载内核模块是一种扩充操作系统功能的机制。新的内核代码可以在不重新编译内核的状况下通过动态加载直接执行。因此,可加载内核模块被用于特定设备的驱动程序。所有的可加载内核模块都包含两种基本函数:“int init_module(void)”和“void cleanup_module(void)”,这用于模块的初始化和模块的卸载。被加载的模块只是内核中运行的一段代码,它可以访问内核中许多机密部分。黑客可以利用KLM成功入侵内核,同样,我们也可以利用这种技术保护内核。
  2.2 系统调用拦截
  系统调用作为应用程序与操作系统内核的接口,它返回调用操作系统特定功能的用户程序的执行结果。当用户程序执行相应的系统调用,将传送给系统调用函数所需的所有信息。因此,我们可以在内核拦截这些系统调用,从这些特定的系统调用中获取审计信息并通过设备文件将信息保存到用户区域。在Linux中,指令“int ox80”被用于执行系统调用。做为用户和内核的接口,外壳用于解释和执行用户命令和程序。分析用户命令是外壳的基本操作。然后相关的子进程通过”execve()”函数得到执行。如果关于“execve()”的系统调用可以被拦截,我们就可以得到用户所要执行的相关命令的审计信息。
  主要的系统拦截过程如下:找到系统调用的入口(“sys_call_table[]”)在sys_call_table[]”中保存函数的原始入口指针;把用户函数指针放入“sys_call_table[]”。在用户程序中首先保存相关的系统调用审计信息,然后执行“execve()”。
  为了避免系统调用被恶意的修改和取代,系统调用不能直接从“sys_call_table[]”输出(内核版本2.4.18)。研究发现Linux内核对特定部分产生中断,我们就可以通过复制中断描述表(IDT)实现新的系统调用的拦截。
  IDT是一个关于系统中断或异常向量的表。每个向量有相应的中断入口或异常处理程序。在Linux中有256个中断向量;“ox80”是用来执行系统调用的。IDT由任务门,中断门,陷阱门组成。系统调用利用中断门。每个IDT的入口由8字节的描述符表示。中断门由64位的描述符来表示。中断程序的入口地址由“handler offset low”和“handler offset high”两部分组成。当中断发生,中断程序就被调用,执行。IDT寄存器可以使IDT位于内存的任意空间,并且指定物理的入口地址和IDT的最大长度。指令“sidt“可以查找IDT在内存中的入口地址并且系统调用的入口地址可以在IDT中找到。当检测到“system_call”的源码(在“/arch/i386/kernet/entry.s”),我们可以发现申明“call SYMBOL_NAME(sys_call_table)(,
其他文献
摘要:针对我国高校毕业生就业形势日趋严峻,用人单位招不到符合要求的毕业生,毕业生找不到适合自己的岗位等问题,以海南经贸职业技术学院的就业信息化建设情况为例,通过对毕业生、教师及其他高校的就业信息网的调查研究,分析海南经贸职业技术学院的就业信息网的组成、使用效果及其原因,并借鉴各高校的就业信息网的优点,结合学校实际情况,分析存在问题并提出解决建议。  关键词:高校;信息化;就业;信息网;招聘  中图
摘要:讲述了Windows API拦截的关键技术和方法,重点讲述了dll的注入技术和API拦截技术,并对各种技术进行了优缺点分析。  关键词:API;拦截  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)27-1920-03  Windows API Hooking Method  SHI Yong-lin,PAN Jin,LI Guo-Peng  (Departme
摘要:“任务驱动”是一种建立在建构主义教学理论基础上的教学方法。该文在建构主义学习理论和任务驱动教学思想的指导下,结合教学案例,探索在PROTEL99 SE教学中采用任务驱动的教学模式,在教学过程中通过任务的提出、分析、实现与评价等环节培养学生自主学习与协作学习的习惯,以达到增强学习主观能动性、提高教学效果的目的。  关键词:任务驱动;建构主义;PROTEL99 SE 教学  中图分类号:G642
人民教育出版社2013年秋季用书“语文·七年级上”重新将魏巍的《我的老师》选入教材。文中蔡老师教我们读过的《过印度洋》一诗对作者的注释是:“[她教我们的诗]下文所选的诗节选自周无君的《过印度洋》。”查阅工具书等相关资料,《过印度洋》这首诗的作者是“周太玄”或“周无”,并没有“周无君”这个名字。  周太玄于1895年1月20日(农历)生于四川省新都县,原名周焯号朗宣,后改名为周无,号太玄。我国著名生
摘要:描述了将Linux 移植到基于SEP4020处理器的目标板上的方法和过程,包括交叉编译环境的建立,开发工具使用,内核的裁剪、编译以及文件系统的移植。  关键词:嵌入式;Linux;移植  中图法分类号:TP316文献标识码:B 文章编号:1009-3044(2008)15-20ppp-0c    An Embedded Linux Porting Based on SEP4020 Proce
摘要:基于WEB的MIS系统正在日益普及,本文叙述了基于WEB的MIS系统中表单域编辑的一种动态实现方案,讲述了该方案的设计原理,并与传统方式进行比较,特别针对该方案的实现程序进行了详细的分析和解释,文中还通过一个典型的例子阐述了该方案的应用。  关键词:WEB;MIS;动态表单域  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)21-30393-04  Design
语文是母语教育,既可以在生活中习得,也需要在教学中学得。每个人都能开口说话,但并非每个人都“会说话”;每个人都能提笔写字,但并非每个人都“会写作”。教人学会说话、学会写作,既是表达能力的培养,又是完整人格的培育,学作文就是学做人。统编小学语文教材中的写作教学,将“立德树人”的根本任务一以贯之,着力于“文”的寫作,着眼于“人”的发展。  一、写作本质的重新审视  写作是一种社会现象,视角不同,对写作
摘要:电子商务的产生,改变了企业的经营理念,给社会的各个行业带来了巨大的变化,将成为引导经济发展的新潮流。Web数据挖掘从Web文档和Web活动中抽取用户感兴趣的潜在的有用模式和隐藏信息,本文主要从Web挖掘技术出发,着眼于在电子商务中的应用研究,对这一应用的理论和具体实现技术进行了探讨。  关键词:Web数据挖掘;电子商务;挖掘技术  中图分类号:TP311文献标识码:A文献编码:1009-30
摘要:PDM作为一门技术,它是依托IT技术实现企业最优化管理的有效方法,是科学的管理框架与企业现实问题相结合的产物,是计算机技术与企业文化结合的一种产品。现代企业把企业的PDM解决方案与Web的优势(Web节点的可扩充性和易维护性,Web技术的独特联合式分布模式等等)结合在一起。本文概述Web的产品数据管理技术,简单介绍了Web技术与PDM的发展PDM、的产生背景、PDM网络环境。  关键词:We
跨文化交流的日益频繁与深化对外语专业的教学提出了更高的要求,在让学生掌握听、说、读、写这些语言的基础技能,提升鉴赏、审美水平之外,还要使其进一步开阔眼界,感知语言背后的文化内涵,养成跨文化交际的意识,提高跨文化交际的能力,进而在国际化的交流和合作中实现更深层次的文化理解和文化认同。英美文学作为世界文学的重要组成部分,也正是以其独特的视角展现着英美文化中最为丰富而深刻的思想内容及精神内涵。因此,英美