Python脚本的脆弱性检测研究与实现
发布时间:2021-01-08 10:55
随着人工智能和机器学习的快速发展,Python广泛应用于网络爬虫、机器学习、数据分析等领域,并且Python拥有强大第三方库,这使得Python在编程语言中的地位越来越高。但是,由于系统的不安全性,无法保证Python脚本在其整个生命周期内都是可信的。当系统受到攻击时,计算机中的Python脚本可能会被篡改。因此,需要研究Python脚本中存在的脆弱性,为此,本文从完整性验证和漏洞检测两个方面进行研究。在本文中,完整性验证和漏洞检测都是基于两个Python脚本,一个原始Python脚本和一个当前的Python脚本。原始的Python脚本在其生命周期内被更改后,就称为当前Python脚本。本文的研究内容及创新点如下:(1)当原始的Python脚本来源可信时,通过完整性校验检测当前的Python脚本与原始的Python脚本是否语义一致。这里的完整性校验是一种宽松的完整性校验,更加倾向于相似性检测而非密码学意义上的完整性校验。在此,提出一种UNIX diff指令和抽象语法树相结合的相似性检测方法。实验证明该方法可以有效地避免基于树形结构的相似性检测所带来的缺点。(2)当原始的Python脚本...
【文章来源】:北京交通大学北京市 211工程院校 教育部直属院校
【文章页数】:64 页
【学位级别】:硕士
【部分图文】:
图2-5差异文件图??Figure?2-5?An?example?of?difference?files??
图3-1?UNIX?diff文件的预处理??Figure?3-1?Postprocess?the?UNIX?diff?file??对diff文件进行预处理,包括如图3-1中间所示的以下内容:??(1)
是在我们方案中,可以借助UNIX?diff指令的一些特性。在UNIX?diff指令中,如??果交换两行代码的顺序,则在UNIX?difif文件中显示对同一行代码先进行删除,再??进行增加,如图3-2所示。在图3-2的左半部分中交换了代码a?=?0和6?=?1的顺序,??体现在结果上的为先对a?=?0进行了?“,’,也就是删除,再对a?=?0进行了?“《”,也??就是增加。所以在对该类型进行处理时,如果UNIX?diff的结果上出现了对同一行??代码的增加和删除,即将其视为语句顺序进行了改变。??a?=?0??b=1?\????Printa+b?ldO??气?<a?=?0??it?2a2??"b^l?1/?l>a?=?Q??a?=?0??print?a?+?b??图3-2用UNIX?diff改变独立语句的顺序??Figure?3-2?An?example?of?changing?the?order?of?independent?code?in?UNIX?diff?file??类型v是等价语句的替换,由于等价语句有多种情况,且部分等价语句具有??不同的结构,且没有统一的规律,所以需要根据不同的情况进行的分析。表3-5??25??
【参考文献】:
期刊论文
[1]基于污点分析的PHP漏洞检测[J]. 曹凯,何晶,范文庆,黄玮. 中国传媒大学学报(自然科学版). 2019(01)
[2]面向源代码的软件漏洞静态检测综述[J]. 李珍,邹德清,王泽丽,金海. 网络与信息安全学报. 2019(01)
[3]程序分析研究进展[J]. 张健,张超,玄跻峰,熊英飞,王千祥,梁彬,李炼,窦文生,陈振邦,陈立前,蔡彦. 软件学报. 2019(01)
[4]基于动态分析的XSS漏洞检测模型[J]. 谷家腾,辛阳. 计算机工程. 2018(10)
[5]数值稳定性相关漏洞隐患的自动化检测方法[J]. 沈维军,汤恩义,陈振宇,陈鑫,李彬,翟娟. 软件学报. 2018(05)
[6]一种基于结构特征的树相似度计算方法[J]. 陈彦桦,李剑. 计算机工程. 2018(11)
[7]污点分析技术的原理和实践应用[J]. 王蕾,李丰,李炼,冯晓兵. 软件学报. 2017(04)
[8]一种基于特征矩阵的软件脆弱性代码克隆检测方法[J]. 甘水滔,秦晓军,陈左宁,王林章. 软件学报. 2015(02)
[9]基于AST的程序代码相似性度量研究[J]. 朱波,郑虹,孙琳琳,杨友星. 吉林大学学报(信息科学版). 2015(01)
[10]基于Token的结构化匹配同源性代码检测技术研究[J]. 刘云龙. 计算机应用研究. 2014(06)
硕士论文
[1]程序切片技术研究及切片方案设计[D]. 张新杰.电子科技大学 2017
[2]MD5算法的分析与研究[D]. 李森.杭州电子科技大学 2017
本文编号:2964469
【文章来源】:北京交通大学北京市 211工程院校 教育部直属院校
【文章页数】:64 页
【学位级别】:硕士
【部分图文】:
图2-5差异文件图??Figure?2-5?An?example?of?difference?files??
图3-1?UNIX?diff文件的预处理??Figure?3-1?Postprocess?the?UNIX?diff?file??对diff文件进行预处理,包括如图3-1中间所示的以下内容:??(1)
是在我们方案中,可以借助UNIX?diff指令的一些特性。在UNIX?diff指令中,如??果交换两行代码的顺序,则在UNIX?difif文件中显示对同一行代码先进行删除,再??进行增加,如图3-2所示。在图3-2的左半部分中交换了代码a?=?0和6?=?1的顺序,??体现在结果上的为先对a?=?0进行了?“,’,也就是删除,再对a?=?0进行了?“《”,也??就是增加。所以在对该类型进行处理时,如果UNIX?diff的结果上出现了对同一行??代码的增加和删除,即将其视为语句顺序进行了改变。??a?=?0??b=1?\????Printa+b?ldO??气?<a?=?0??it?2a2??"b^l?1/?l>a?=?Q??a?=?0??print?a?+?b??图3-2用UNIX?diff改变独立语句的顺序??Figure?3-2?An?example?of?changing?the?order?of?independent?code?in?UNIX?diff?file??类型v是等价语句的替换,由于等价语句有多种情况,且部分等价语句具有??不同的结构,且没有统一的规律,所以需要根据不同的情况进行的分析。表3-5??25??
【参考文献】:
期刊论文
[1]基于污点分析的PHP漏洞检测[J]. 曹凯,何晶,范文庆,黄玮. 中国传媒大学学报(自然科学版). 2019(01)
[2]面向源代码的软件漏洞静态检测综述[J]. 李珍,邹德清,王泽丽,金海. 网络与信息安全学报. 2019(01)
[3]程序分析研究进展[J]. 张健,张超,玄跻峰,熊英飞,王千祥,梁彬,李炼,窦文生,陈振邦,陈立前,蔡彦. 软件学报. 2019(01)
[4]基于动态分析的XSS漏洞检测模型[J]. 谷家腾,辛阳. 计算机工程. 2018(10)
[5]数值稳定性相关漏洞隐患的自动化检测方法[J]. 沈维军,汤恩义,陈振宇,陈鑫,李彬,翟娟. 软件学报. 2018(05)
[6]一种基于结构特征的树相似度计算方法[J]. 陈彦桦,李剑. 计算机工程. 2018(11)
[7]污点分析技术的原理和实践应用[J]. 王蕾,李丰,李炼,冯晓兵. 软件学报. 2017(04)
[8]一种基于特征矩阵的软件脆弱性代码克隆检测方法[J]. 甘水滔,秦晓军,陈左宁,王林章. 软件学报. 2015(02)
[9]基于AST的程序代码相似性度量研究[J]. 朱波,郑虹,孙琳琳,杨友星. 吉林大学学报(信息科学版). 2015(01)
[10]基于Token的结构化匹配同源性代码检测技术研究[J]. 刘云龙. 计算机应用研究. 2014(06)
硕士论文
[1]程序切片技术研究及切片方案设计[D]. 张新杰.电子科技大学 2017
[2]MD5算法的分析与研究[D]. 李森.杭州电子科技大学 2017
本文编号:2964469
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2964469.html