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

目录

1 毕业设计设计任务书

1.1 毕业设计设计目的

1.2 毕业设计设计要求

1.3 系统环境

1.4 实验过程记录

2 绪言

2.1 字符串匹配同源性检测

2.2 控制流程图CFG源代码同源性检测

2.3 漏洞检测

3 系统方案设计

3.1 系统方案设计

3.2 字符串匹配同源性检测

3.3 CFG匹配源代码同源性检测

3.4 栈缓冲区溢出

3.5 格式化字符串漏洞检测

3.6 分布式任务调度

3.7 堆缓冲区检测

3.8 整数宽度溢出检测

3.9 整数运算溢出检测

3.10 空指针引用

4 系统实现

4.1 字符串匹配的同源性检测

4.1.1 检测流程

4.1.2 关键函数说明

4.1.3 LCS函数

4.1.4 相似性计算

4.2 CFG控制流程图的同源性检测

4.2.1 检测流程

4.2.2 关键函数说明

4.3 栈缓冲区溢出

4.3.1 检测流程

4.4 堆缓冲区溢出检测

4.4.1 检测流程

4.5 整数宽度溢出

4.5.1 检测流程

4.6 格式化字符串漏洞检测

4.6.1 检测流程

4.7 空指针引用

4.7.1 检测流程

4.8 分布式任务调度

4.8.1 运行流程

4.9 整数运算溢出检测

4.9.1 检测流程

4.10 UI模块

4.10.1 制作流程

5 系统测试

5.1 字符串匹配同源性检测

5.1.1 样例测试

5.1.2 问题解决

5.2 CFG同源性检测

5.2.1 样例检测

5.2.2 问题解决

5.3 缓冲区溢出

5.3.1 样例测试

5.4 格式化字符串输出漏洞

5.4.1 样例测试

5.5 整数溢出检测

5.5.1 样例测试

5.6 整数宽度溢出

5.6.1 样例测试

5.7 多进程调度

5.7.1 样例测试

5.8 空指针引用

5.8.1 样本测试

5.9 栈溢出检测

5.9.1 样本测试

5.10 UI界面

5.10.1 样例测试

6 总结与展望

6.1 总结

6.2 展望

7 参考文献






















1 毕业设计设计任务书

1.1 毕业设计设计目的

本次毕业设计设计为了巩固上学期在软件安全毕业设计上所学的安全知识,包括堆栈溢出、整数溢出等等,同时考察了一些课外的新事物,例如字符串匹配与CFG控制流程图的同源性检测。根本目的是让同学们加深对软件安全本门学科的理解和深入的实践。

以下是本次课设的具体目的:

l 对代码的同源性检测,分为字符串匹配和CFG的检测,在于考察学生自我解决问题的能力,包括自己查找文献,根据文献提炼思想,再将思想转化为实际代码的能力。

l 对于漏洞的检测,包括几种不同类型的漏洞种类,这要求学生对于每种漏洞的特征做一个总结,通过静态分析的方式将代码中可能隐藏的漏洞发掘出来。

1.2 毕业设计设计要求

本次毕业设计设计要求设计与完成从界面、算法到系统优化等各个环节内容,形成完整的软件系统。在任务中,必做部分为R1-R6,是所有同学必须完成的部分,是本毕业设计设计考核合格所需要的基本构成,选做部分根据自己的擅长做出最好的成果。

具体任务如下:

序号

任务(必须完成的)

要求

R1

提供系统界面

所有功能要有图形界面展示,形成完整的软件系统.可以使用VS/QT/Python等工具实现。

R2

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

通过代码有效字符串对比匹配,分析样本之间的拷贝比率

R3

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

通过提取代码的调用关系图,检测样本之间各个函数调用关系图是否相似,得出相似的概率

R4

栈缓冲区检测

根据栈缓冲区原理分析分配的栈数据区是否存在溢出的问题,给出可疑代码行数与列数。

R5

格式化字符串漏洞检测

根据格式化字符串漏洞原理分析使用的格式化函数是否存在溢出的问题,给出可疑代码行数与列数。

R6

提供样本库

提供漏洞检测与同源性检测样本库,样本数量不少于10个,每个代码行数不少于100行;每种漏洞至少一个。

以下为2选1:

A1

跨语言同源性检测验证

在软件版权保护中,有时候需要检测是否参考了有版权的代码,换用一种语言实现同样的功能,本功能可以通过CFG检测实现,但需要给出4个以上不用语言的同源性分析样本。

A2

支持分布式任务调度

需要设计一个主控,多个进程/主机并发检测。

以下为6选4:

B1

堆缓冲区检测

根据堆缓冲区原理分析分配的数据区是否存在溢出的问题,给出可疑代码行数与列数。

B2

整数宽度溢出检测

根据整数宽度溢出原理分析分配的数据是否存在溢出的问题,给出可疑代码行数与列数。

B3

整数运算溢出检测

根据整数运算溢出原理分析分配的数据是否存在溢出的问题,给出可疑代码行数与列数。

B4

整数符号溢出检测

根据整数符号溢出原理分析分配的数据是否存在溢出的问题,给出可疑代码行数与列数。

B5

空指针引用

根据课堂学习其它溢出原理是否存在空指针引用的问题,给出可疑代码行数与列数。

B6

竞争性条件

给出竞争性条件存在的代码位置。

以下2选1:

C1

同源性检测样本库

样本数大于等于50个,每个代码行数不少于100行,包含1-100行相同代码。

C2

漏洞检测样本库

样本数大于等于50个,每个代码行数不少于100行;每种漏洞至少一个。

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

                 

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

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