基于GCC编译器插件的内核安全加固方法研究

来源 :北京交通大学 | 被引量 : 5次 | 上传用户:xiaotaowang33
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
操作系统是计算机软件与硬件资源的管理者,控制着整个计算机系统的运行。它直接和硬件交互并为用户提供接口,是计算机软件的运行核心和基础。因此,操作系统安全是整个计算机系统安全的基本前提和保障。而内核作为操作系统最核心部分,更成为操作系统安全乃至整个计算机系统安全的关键所在。然而,内核漏洞的不断发现和频繁利用,却给系统安全带来了巨大威胁。所以,对内核安全加固方法进行研究非常必要且具有重要的应用价值。论文工作主要包括以下三方面:(1)分析了内核安全威胁和内核加固方法。首先,研究讨论了缓冲区溢出漏洞、本地权限提升漏洞、空指针引用漏洞的原理及攻击方法,分析比较了每类漏洞的防护方法,针对每类漏洞提出有效且可实施的防护方法。其次,通过分析比较现有的内核安全加固方法,确定了基于编译器技术进行内核安全加固。最后,根据GCC编译器强大的兼容性和可移植性的特点,选取GCC编译器作为实现内核安全加固的技术手段。根据GCC编译器的整体结构及优化过程,确定了在GCC后端的优化过程作为执行内核加固的时期。(2)设计了基于GCC编译器插件的内核安全加固方法。针对内核安全威胁的严重性,提出了采用控制流边界检查和栈完整性检查的设计方法,达到有效防护漏洞攻击,加固内核的目的。特别地,针对控制流边界检查,提出了通过将转移指令的目标地址与用户空间和内核空间的边界值比较,判断转移指令的目标地址在合法的范围内的方法。针对栈完整性检查,提出通过函数调用前加入检测字节,在函数返回前验证检测字节,判断栈中返回地址完整性的方法。(3)实现了基于GCC编译器插件的内核安全加固方法。利用GCC编译器插件技术实现了控制流边界检查和栈完整性检查的设计方法。在Linux操作系统下,使用C语言编写融入安全检查功能的GCC插件,加以编译后生成共享库并加载到GCC编译器中使之生效。在此基础上,利用嵌入安全检查功能插件的GCC编译器重新编译内核,从而实现内核加固。对安全加固后的内核原型系统进行功能测试和微/宏观性能测试,结果表明该内核加固系统能有效防护漏洞,并且相对于其它的防护系统性能开销较小。
其他文献
网络安全管理中心SOC,是面向大型企业的安全综合管理、协助用户实现安全组织管理、安全运作管理和安全技术框架的中心枢纽。基于SOC分层防护骨干网中的重要网络设备,重点保护
三维重建是计算机图形学的重要分支,有着广泛的应用。随着虚拟现实技术、计算机图形学和多媒体技术在各个领域的广泛应用,人们越来越多的关注对高度真实感三维模型建模与绘制
随着互联网技术的迅猛发展和网络用户相互交流的迫切需要,电子邮件日益成为人们办公和沟通的重要途径,它的数据规模也呈飞速膨胀的趋势。传统的文件系统很难满足海量数据存储
移动ad hoe网络是一种具有实用价值的新兴研究领域,具有广阔发展前景,是目前无线移动网络研究的热点之一,由于它的独特性质,如具有开放式的传输媒介、动态的拓朴结构、无中心
AODV路由协议拥有带宽开销和控制负载低,以及耗电量低等特点,它是按需路由协议中的一种。文中通过深入分析AODV路由协议的工作原理,发现其不足之处并针对不足提出了一种改良
随着互联网技术以及现代密码学的快速发展,电子投票作为一种新的投票方式,逐渐得到人们的关注。电子投票的优势突出,不但能让选民享受到便捷的投票方式和公平公正的投票过程,
本文在分析了软计算方法和经典数学形态学的基本原理及其性质的基础上提出了Soft多结构元素和基于软计算方法的Soft多结构形态学算子,并详细探讨了它们的基本性质及其与经典
近年来,数据库中的数据量与日俱增、数据形式多种多样,但各种应用的核心—数据,仍以不同形式存储在不同的系统中,分而不聚,聚而不合,呈分布异构状态。越来越多的用户希望能够
数据挖掘是人工智能领域的一个热点研究问题,是探讨如何智能地从大量数据中提取出有用的信息和知识。粗糙集与概念格作为数据挖掘分析中两种有效途径,在关联规则提取应用中得
无线通讯网络的发展如火如荼,基于电路交换的无线通讯系统逐步被基于分组交换的全IP网络取代。UMTS(UniversalMobileTelecommunications通用移动通讯系统)作为3G的主要标准,得