- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于地址随机和段隔离的全局偏移表保护方法.doc
基于地址随机和段隔离的全局偏移表保护方法
摘要:在可执行和可链接格式(ELF)的可执行程序中,存在一个全局偏移表(GOT),用于存放引用库函数的绝对地址,但是在Linux系统中,GOT解引用和GOT覆写是两种比较常用的漏洞利用方法。通过分析GOT的特性,提出并实现了基于地址随机和段隔离的GOT保护方法。通过修改Linux的可执行程序加载器,将与GOT有数据指向关系的节均加载到随机内存地址;同时使用段隔离技术,对GOT的代码引用的指令使用一个新的段寄存器进行间接引用。实验结果证明,该方法不仅能够有效地防御针对GOT的漏洞利用方法,而且性能损耗极低,只有平均2.9ms的额外开销。
关键词:
全局偏移表保护;地址随机;段隔离;全局偏移表解引用;全局偏移表覆写
中图分类号: TP309.2 文献标志码:A
0引言
Linux是一套免费使用和自由传播的操作系统,广泛应用于文件服务器、数据库服务器、Web服务器、应用程序服务器等服务器之中。服务器作为提供基本服务的设备,需要保证其提供服务的可靠性和安全性。形形色色的针对服务器上的攻击,已经导致诸多严重的后果:敏感数据丢失或损失、系统受损以及经济损失等。其中,通过挖掘软件漏洞,利用漏洞进行攻击是最为常见的攻击方法。这些漏洞的成因主要是在软件设计和实现方面对如何保护系统考虑不周,在开发实践方面对消除会导致漏洞的实现瑕疵关注不够。攻击者在发现软件产品中的漏洞后,可以迅速开发出漏洞利用的脚本,继而使用这些脚本威胁计算机的安全。为了增加漏洞利用的难度,防御者在系统中部署了漏洞利用缓解技术,如地址空间布局随机化(Address Space Layout Randomization, ASLR)[1]和数据执行保护(Data Execution Prevention, DEP)[2]等,但是即使在部署了以上缓解技术的系统中,通过利用全局偏移表(Global Offset Table, GOT),可以绕过这些缓解技术从而实现漏洞的完美利用。
全局偏移表,是Linux下可执行程序中一个专门的节,用于存放依赖库函数的目的地址。因为延迟解析机制,全局偏移表中的库函数只有在第一次真正引用时才解析,并在解析后将目的地址写入全局偏移表,为此,全局偏移表具有可写权限。目前Linux虽然采用地址空间布局随机化技术,对栈、堆、共享库进行了随机化,但是可执行程序仍然加载到固定内存地址,因此全局偏移表仍然加载到固定内存地址,因此,全局偏移表是固定内存的可写函数指针集合。正是由于全局偏移表的这种特性,存在两种常见的使用全局偏移表的漏洞利用方法:全局偏移表解引用技术[3-4]和全局偏移表覆写技术[5-6]。全局偏移表解引用技术,通过信息泄露漏洞,读取全局偏移表中已解析的库函数地址,可以得到该函数的真实地址,为此可以计算得到相应动态链接库的基地址,从而绕过地址空间布局随机化的防护;全局偏移表覆写技术,通过任意地址写漏洞,修改全局偏移表中库函数的地址,能够劫持程序控制流。
针对这些攻击方式,有研究者提出了一些相应的保护方法。完全地只读重定位(Full Relocation ReadOnly, Full RELRO)[7-8],禁用延迟解析,在链接器初始化阶段将所有全局偏移表中函数的值解析为真正函数的地址,然后将全局偏移表所在内存页标记为只读权限,很好地防止了对全局偏移表的改写。安全全局偏移表(Secure Global Offset Table, SecGOT)[9-10],通过重写可执行和可链接格式(Executable and Linkable Format, ELF)[11]文件,并用定制的链接器进行链接,在链接时将全局偏移表移动到随机的内存中;同时修改访问全局偏移表的指令。
Full RELRO方法中,全局偏移表仍然位于固定内存地址,因此可以对全局偏移表内容进行直接读取,不能防止全局偏移表解引用。在启动时需对可执行程序使用的所有库函数进行解析,而函数符号解析过程相对比较耗时,对程序启动过程的性能影响较大。SecGOT方法随机不够彻底,虽然攻击者不能立刻知道全局偏移表地址,但是指向全局偏移表的数据和代码引用全局偏移表的指令仍位于固定地址,通过读取这些固定地址,可以计算得到全局偏移表的地址。针对这两种方法的不足,本文提出一种新的保护方法:基于地址随机和段隔离的全局偏移表保护(Global Offset Table protection based Randomization, GOTRand)方法。在可执行程序加载时,不仅将全局偏移表加载到随机的内存中,而且将所有对全局偏移表有数据指向关系的节也加载到随机内存中。同时,引用一个新的段寄存器,利用段的隔离特性,将所有对全局
您可能关注的文档
最近下载
- 全套IECQQC080000-2017有害物质过程管理体系文件(HSPM).pdf VIP
- 中国东方资产管理股份有限公司招聘笔试题库2025.pdf
- 市场调查与分析: 数据分析网络调查报告撰写 (慕课版)王晓燕习题答案.docx
- 起重装卸机械操作工高级工培训大纲与教学内容概述.docx VIP
- 2025至2030中国中药饮片行业市场发展现状及竞争格局与投资发展报告.docx
- 2025年教科版六年级上册科学第一单元综合检测试卷及答案.pptx VIP
- 《企业质量管控与应用》课件.ppt VIP
- 吊顶施工合同范本.pdf VIP
- 公共建筑室内温度控制管理办法——空调系统节能运行管理制度.doc VIP
- 统编版八年级语文上册课件《诗词五首-渔家傲》.pptx VIP
文档评论(0)