- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LINUX内核级安全审计系统的设计与实现 摘要:审计系统作为安全操作系统的重要组成部分,在系统监测中起着重要作用,它确保安全策略的正确实现和入侵检测系统的建立。原始的基于应用的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()”。
您可能关注的文档
最近下载
- 工学一体化课程《小型网络管理与维护》任务4单元4教学单元活动方案.docx VIP
- 铜矿开采施工人员培训方案.docx
- 配电架空线路通道内树木砍伐修剪施工方案.docx VIP
- 中文网络成瘾量表修订版(CIASR).docx VIP
- 如何正确上颌架?.pptx VIP
- 《燕尾型配合工件说》课件.pptx VIP
- ISO 4210-8-2023中文+英文-自行车–自行车的安全要求-第8部分.pdf
- 超星尔雅学习通《中华民族共同体概论(云南大学)》章节测试答案.docx VIP
- T∕ZZB 1228-2019 强制式简易升降机.pdf VIP
- (正式版)S-H-T 3551-2024 石油化工仪表工程施工及验收规范.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)