您的位置: turnitin查重官网> 计算机 >> 计算机毕业题目 >试议缓冲区缓冲区溢出攻击代码检测和防御技术学位

试议缓冲区缓冲区溢出攻击代码检测和防御技术学位

收藏本文 2024-02-07 点赞:7538 浏览:23581 作者:网友投稿原创标记本站原创

摘要:缓冲区溢出是一种危害巨大,及其普遍的的漏洞攻击策略,攻击者利用缓冲区溢出可以远程植入木马,执行非授权指令,获取机密信息等操作,由此引发了大量的安全事件。由此,防御缓冲区溢出漏洞已刻不容缓。探讨缓冲区溢出漏洞防御策略与技术,对于主机安全具有重要作用。针对目前缓冲区漏洞防御策略的不足,本论文提出基于缓冲区溢出攻击代码检测和随机化内存布局的协同防御策略。首先,探讨缓冲区溢出漏洞的原因、机理,由此设计了防御缓冲区溢出漏洞的策略与方式,构建了缓冲区防御模型。缓冲区溢出漏洞攻击时,通过网络传播而使大量相同的主机遭受攻击是危害严重的根源,而攻击代码成功运转是成功的关键。由此,防御缓冲区溢出漏洞的关键在于防止攻击代码成功运转。第二,攻击代码检测可通过函数返回地址法和代码特点法检测。返回地址的策略,只能检测栈缓冲区溢出攻击。本论文在传统特点匹配的基础上,浅析了不定长度数据分片技术,以及Bloom Filter的特点数据提取算法,提出了基于位置信息的Bloom Filter算法改善。攻击代码检测是不可判定的,检测不可能完全消除缓冲区溢出攻击。第三,多样化的计算机运转环境是防御缓冲区溢出攻击的有效方式。实现多样化之后,相同的软件,在每一次运转时或者在不同的计算机上运转时,呈现出不同的运转环境特性。因而,攻击代码即使在某一台计算机上成功,也不能在其它计算机上成功。以而可有效地防止缓冲区溢出攻击。本论文以Windows内核角度出发,探讨了随机化内存分布多样化的进程创建、内核内存管理等关键技术。第四,通过Windows操作系统的HOOK技术,挂钩系统调用,截获程序数据,在运用层实现攻击代码检测;在内核层,挂钩系统内核函数调用,修改内存分配算法,采取平衡二叉树的内存管理算法,重新管理内存,实现了Windows平台下的内存分布多样化。最后,本论文利用漏洞测试工具对缓冲区溢出漏洞防御系统进行了各项测试。实验结果表明,运用层未能成功检测的缓冲区溢出攻击行为,在内核层被多样化机制自动防御。本论文实现的攻击代码检测和随机化内存分布的漏洞防御系统能够有效抵御已知和0day缓冲区溢出漏洞攻击。关键词:缓冲区溢出论文攻击代码论文检测论文多样化论文地址随机化论文SHELLCODE论文

    表目录7-8

    图目录8-10

    摘要10-11

    ABSTRACT11-12

    第一章 绪论12-19

    1.1 课题背景12-13

    1.2 国内外探讨近况13-17

    1.2.1 缓冲区溢出漏洞检测13-15

    1.2.2 多样化防御15-17

    1.3 探讨目的与内容17-18

    1.3.1 探讨目的17

    1.3.2 探讨内容17-18

    1.4 论文组织结构18-19

    第二章 缓冲区溢出漏洞攻击原理及防御系统设计19-34

    2.1 缓冲区溢出原理19-23

    2.1.1 缓冲区相关概念19

    2.1.2 缓冲区溢出分类19-20

    2.1.3 栈溢出利用原理20-22

    2.1.4 堆溢出利用原理22-23

    2.2 缓冲区溢出攻击历程浅析23-27

    2.2.1 获取漏洞信息23-24

    2.2.2 定位漏洞位置24-25

    2.2.3 更改制约流程25-26

    2.2.4 运转 SHELLCODE26-27

    2.3 缓冲区溢出攻击的关键技术27-29

    2.3.1 定位 SHELLCODE 位置27

    2.3.2 定位 API 函数地址27-28

    2.3.3 代码重定位28-29

    2.4 缓冲区溢出漏洞防御模型设计29-33

    2.4.1 防御时机浅析29-30

    2.4.2 攻击代码检测浅析30-31

    2.4.3 多样化防御浅析31-32

    2.4.4 缓冲区溢出漏洞防御模型设计32-33

    2.5 本章小节33-34

    第三章 缓冲区溢出攻击代码检测技术探讨34-45

    3.1 缓冲区溢出漏洞检测策略34-35

    3.1.1 函数返回地址检测算法34-35

    3.1.2 基于特点的检测策略35

    3.2 检测数据获取技术35-37

    3.2.1 截取待检测数据35-36

    3.2.2 典型 SHELLCODE 特点归纳36-37

    3.3 特点数据分片技术37-40

    3.3.1 特点子序列定义37

    3.3.2 固定长度数据分片法37-38

    3.3.3 不定长度分片策略38-39

    3.3.4 基于终止符的不定长度分片策略39-40

    3.4 特点提取技术40-44

    3.4.1 Bloom Filter 算法40-42

    3.4.2 BloomFilter 算法改善42-43

    3.4.3 BloomFilter 算法测试43-44

    3.5 本章小节44-45

    第四章 缓冲区溢出攻击多样化防御技术探讨45-57

    4.1 多样化防御原理浅析45-48

    4.1.1 基于指令集随机的多样性45-46

    4.1.2 基于代码混淆的多样化46-47

    4.1.3 基于地址随机的多样化47-48

    4.2 基于地址随机的多样化实现关键技术48-54

    4.2.1 调用机制浅析48-49

    4.2.2 进程虚拟地址管理49-51

    4.2.3 进程创建历程逆向浅析51-53

    4.2.4 HOOK 技术53-54

    4.3 地址随机化有效性浅析54-56

    4.4 本章小节56-57

    第五章 缓冲区溢出漏洞防御系统探讨与实现57-71

    5.1 HBVDS 系统概述57-59

    5.1.1 HBVDS 系统实现技术路线57

    5.1.2 HBVDS 系统组成57-58

    5.1.3 HBVDS 系统工作流程58-59

    5.2 预处理模块实现59-60

    5.2.1 驱动模块59-60

    5.2.2 HBVDS 挂钩模块60

    5.3 攻击代码检测模块实现60-61

    5.3.1 攻击代码库生成算法60-61

    5.3.2 攻击代码检测算法61

    5.4 多样化模块实现61-70

    5.4.1 PE 装载基地址随机化实现61-66

    5.4.2 堆基地址随机化66-69

    5.4.3 栈基地址随机化69

    5.4.4 PEB/TEB 基地址随机化69-70

    5.5 本章小结70-71

    第六章 系统测试与评估71-77

    6.1 测试环境71

    6.2 性能测试71-72

    6.3 功能测试72-74

    6.3.1 随机化粒度浅析72-73

    6.3.2 测试代码73

    6.3.3 测试结果73

    6.3.4 漏洞防御验证73-74

    6.4 比较测试74-76

    6.4.1 测试用例74-75

    6.4.2 测试步骤75

    6.4.3 测试结果75-76

    6.4.4 结果浅析76

    6.5 本章小结76-77

    结束语77-79

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号