面向缓冲区溢出漏洞的堆内存随机化算法研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:zhangtie123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的飞速发展,计算机系统的安全问题越来越引人注意。但是由于软件程序自身存在着脆弱性,经常被黑客攻击并加以利用,轻则造成程序崩溃,计算机系统宕机,重则造成大量财产损失。缓冲区溢出漏洞就是经常被利用、极度危险的漏洞类型之一。在程序运行过程中,向缓冲区写入超出其长度的数据,就会造成缓冲区溢出。攻击者可以利用缓冲区溢出漏洞窥探内存数据,或者劫持程序控制流,进而对计算机发动攻击。而在常见的脚本运行环境中,堆缓冲区溢出漏洞最为常见,也更容易被利用,所以,这就给攻击者提供了利用堆缓冲区溢出发动攻击的机会。攻击者可以利用堆分配器存在的安全漏洞,通过去碎片化等技术手段窥探内存数据,改变程序控制执行路径,从而执行对内存读写甚至破坏的恶意指令。论文系统地研究了缓冲区溢出攻击与防御过程,通过对缓冲溢出产生机理的研究,总结了常用的修复手段;通过对漏洞利用程序的研究,概括了利用总体流程,总结了漏洞利用关键步骤。在对溢出漏洞机理充分研究的基础上,选择缓冲区溢出中最为严重的堆溢出漏洞为研究主题,解决现有平台上部署的堆内存管理器在内存分配过程中存在可预测性强、释放再申请内存时可能得到相同的地址等问题。本文首先研究了linux系统glibc库中应用的ptmalloc2算法,并深刻分析其中内存分配及释放过程中的安全性问题,提出一种针对整个堆内存空间的随机化策略。该策略核心设计是维护一段缓存池,并将其中缓存分类为三类堆结构:small_bin、big_bin以及top_chunk。然后设计一种随机化的内存区块分配算法,增加堆内存地址的不可预测性,避免溢出以及重用的漏洞隐患。该算法旨在性能和安全性之间求得平衡,以牺牲部分效率为代价,提高计算机系统的安全性。最后对新算法的安全性和性能消耗进行评估,根据实验结果证明当在随机化参数=12的情况下,能够有效防御现有的堆溢出漏洞,并将额外时间和空间消耗分别控制在10.2%和14%,相比其他算法在安全性上具有明显优势。
其他文献
我国食鱼生的历史可上溯到先秦时期,历经众多朝代.数度兴盛,形成了丰富的鱼生饮食文化。唐代鱼生兴盛时期,日本从唐朝带回了熟悉中国鱼生制作的庖厨,从此鱼生文化流传到东瀛
期刊
目的探讨盐酸氨溴索雾化吸入治疗小儿病毒性上呼吸道感染的临床效果。方法将60例病毒性上呼吸道感染患儿随机均分为观察组(盐酸氨溴索雾化吸入)和对照组(利巴韦林颗粒口服+盐
随着中日经济交流活动日趋频繁,对高质量、高能力的复合型商务日语人才的需求不断扩大,但是出现了院校所培养的日语专业人才与企业需求相脱节的现象。本文通过实证调查,明确
本文利用线性回归的分析方法对影响网站客户忠诚度的各个因素进行回归分析,根据分析结果将各个因素按照作用程度的不同分为5类:关键因素、重要因素、期望因素、失望因素、一
介绍以硅灰石用盐酸分解和固化剂熟化法制备水玻璃的方法。将硅灰石粉末用浓盐酸控制在80℃以下进行酸解反应。以活性二氧化硅为固化剂,将酸化后的物料与固化剂混合均匀后在8
<正>2015年只留下一个模糊的背影,对于人的一生来说,它短促如昙花一现。可是对我而言,却留下了太多挥之不去的记忆。因为在2015金色的秋天,我带着仰望和敬畏之心来到了海门市
根据国家高教委关于"卓越工程师"人才培养标准及规范,给出了卓越通信工程师人才培养的标准和基本要求;详细探究了卓越通信工程师人才培养模式的方针和方法:包括校内人才培养
<正> 苏联东欧国家的改革都是先从经济改革着手,除南斯拉夫在1950年开始实行工人自治原则以外,多数都是在50年代末和60年代才开始的。在三十多年的时间里,各国根据自己本国的
期刊
高校图书管理作为高校重要组成部分,在培养人才和服务社会中发挥着日益重要的作用。文章在分析目前高校图书管理存在的问题的基础上,提出了改善高校图书管理工作的有效措施,