设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于源代码的软件同源性分析与漏洞检测系统(C++和QT) 毕业论文+项目源码
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

目 录

目    录 ································ ································ ································ ··········· I

1 课程设计任务书································ ································ ··························· 1

1.1

课程设计目的 ································ ································ ····························

1

1.2

课程设计要求 ································ ································ ····························

1

1.3

系统环境 ································ ································ ································

·· 1

1.4

实验过程记录 ································ ································ ····························

1

2

绪言································ ································ ································

··········

3

2.1

标准 ································ ································ ································

········

3

3

系统方案设计································ ································ ······························

4

3.1

利用字符串匹配进行同源性检测································ ································

·····

4

3.2

利用控制流程图 CFG 进行源代码同源性检测································ ·····················

4

3.3

支持分布式任务调度································ ································ ····················

4

3.4

栈缓冲区溢出 ································ ································ ····························

5

3.5

堆缓冲区溢出 ································ ································ ····························

5

3.6

整数宽度漏洞检测································ ································ ·······················

5

3.7

整数运算漏洞检测································ ································ ·······················

6

3.8

整数符号漏洞检测································ ································ ·······················

6

3.9

格式化字符串漏洞检测································ ································ ·················

6

4

系统实现································ ································ ································

····

7

4.1

文件预处理 ································ ································ ·······························

7

4.2

字符串同源性匹配································ ································ ·······················

9

4.3

判断是函数体以及生成函数链表································ ································

·····

9

4.4

生成 CFG 图并进行 CFG 图的比较································ ································

11

4.5

多线程进行 CFG 图的比较 ································ ································

··········

11

4.6

栈溢出漏洞检测中的函数体链表形成································ ·····························

12

4.7

栈溢出漏洞检测中的漏洞的检测································

································

···

13

4.8

堆溢出漏洞检测 ································

································

·······················

13

4.9

整数宽度溢出漏洞检测································

································

···············

14


4.10 整数运算溢出漏洞检测································

································

···············

15

4.11 整数符号溢出漏洞检测································

································

···············

18

4.12 格式化字符串漏洞检测································

································

···············

19

5 系统测试································ ································

································

··

21

6 总结与展望································ ································

·······························

29

6.1   实验总结与展望 ································ ································ ······················· 29

7 对该课程的建议与意见································ ································ ················ 30

8 参考文献 31

1 课程设计任务书
1.1课程设计目的
本课程题目为基于源代码的软件同源性分析与漏洞检测系统,在学习了 C 语言、汇编语言、数据结构、软件安全等先导课程后,要求自行完成完整的软件系统
1.2课程设计要求
本次课程设计要求设计与完成从界面、算法到系统优化等各个环节内容,形成完整的软件系统。在任务中,必做部分为 R1-R6,是所有同学必须完成的部分,是本课程设计考核合格所需要的基本构成,选做部分根据自己的擅长做出最好的成果。
1.3系统环境
任务可以自己选择 Windows 或者 Linux 平台实现,检测的源代码可以为 c/c++/Java.跨语言同源性为 c 语言与其它语言的对比检测。
我选择的系统环境为: Win10 VS2019 QT
1.4实验过程记录
R1 提供系统界面
所有功能要有图形界面展示,形成完整的软件系统.可以使用 VS/QT/Python 等工具实现。
R2 利用字符串匹配进行同源性检测
通过代码有效字符串对比匹配,分析样本之间的拷贝比率
R3 利用控制流程图 CFG 进行源代码同源性检测
通过提取代码的调用关系图,检测样本之间各个函数调用关系图是否相似,得出相似的概率
R4 栈缓冲区检测
根据栈缓冲区原理分析分配的栈数据区是否存在溢出的问题,给出可疑代码行数与列数。
R5 格式化字符串漏洞检测
根据格式化字符串漏洞原理分析使用的格式化函数是否存在溢出的问题,给出可疑代码
行数与列数。
R6 提供样本库
提供漏洞检测与同源性检测样本库,样本数量不少于10 个,每个代码行数不少于100 行; 每种漏洞至少一个。
A2 支持分布式任务调度
需要设计一个主控,多个进程/主机并发检测。
B1 堆缓冲区检测
根据堆缓冲区原理分析分配的数据区是否存在溢出的问题,给出可疑代码行数与列数。
B2 整数宽度溢出检测
根据整数宽度溢出原理分析分配的数据是否存在溢出的问题,给出可疑代码行数与列数。
B3 整数运算溢出检测
根据整数运算溢出原理分析分配的数据是否存在溢出的问题,给出可疑代码行数与列数。
B4 整数符号溢出检测
根据整数符号溢出原理分析分配的数据是否存在溢出的问题,给出可疑代码行数与列数。
C1 同源性检测样本库
样本数大于等于 50 个,每个代码行数不少于 100 行,包含 1-100 行相同代码。界面部分可以 VS/QT/Python 等工具实现



  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于Python的在线自主考试系 基于腾讯云的个人知识库管理系统 基于Android的酒店预定系统
基于matlab变频器控制交流电 基于微信小程序的家校联动平台管理 基于时频分析与自适应滤波技术的多
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!