Python脚本的脆弱性检测研究与实现

来源 :北京交通大学 | 被引量 : 0次 | 上传用户:xingzhewei1123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着人工智能和机器学习的快速发展,Python广泛应用于网络爬虫、机器学习、数据分析等领域,并且Python拥有强大第三方库,这使得Python在编程语言中的地位越来越高。但是,由于系统的不安全性,无法保证Python脚本在其整个生命周期内都是可信的。当系统受到攻击时,计算机中的Python脚本可能会被篡改。因此,需要研究Python脚本中存在的脆弱性,为此,本文从完整性验证和漏洞检测两个方面进行研究。在本文中,完整性验证和漏洞检测都是基于两个Python脚本,一个原始Python脚本和一个当前的Python脚本。原始的Python脚本在其生命周期内被更改后,就称为当前Python脚本。本文的研究内容及创新点如下:(1)当原始的Python脚本来源可信时,通过完整性校验检测当前的Python脚本与原始的Python脚本是否语义一致。这里的完整性校验是一种宽松的完整性校验,更加倾向于相似性检测而非密码学意义上的完整性校验。在此,提出一种UNIX diff指令和抽象语法树相结合的相似性检测方法。实验证明该方法可以有效地避免基于树形结构的相似性检测所带来的缺点。(2)当原始的Python脚本来源可信并且其完整性已经被破坏时,需要对当前的Python脚本进行漏洞检测。对此,对具有良好扩展性的Python漏洞检测工具Bandit进行分析,总结其优缺点,并针对其缺点进行改进——将污点分析与Bandit结合起来。实验证明该方案可以在不影响Bandit性能的前提下,降低漏洞的误报率。(3)当原始的Python脚本来源不可信时,直接对当前的Python脚本进行漏洞检测。对此,提出了一种基于特征矩阵的Python克隆代码漏洞检测方法。首先,针对不同的漏洞类型,提取相应的关键特征,依照不同关键特征对Python脚本进行前向或后向的程序切片。然后,利用基于代码块的抽象语法树,将代码转换为向量,构建特征矩阵。最后,利用机器学习的方法,对特征矩阵进行降维并计算相似度。实验证 明该方案可以有效地检测出Python程序中存在的漏洞。
其他文献
构建和谐社会离不开人与人之间的和谐,同学关系是学生在校学习期间最重要的人际关系,对成长有着极其重要的作用。建立和谐同学关系的关键是敬:相互之间互相学习,互相借鉴,遇到
目的研究兔骨髓间充质干细胞(BMSCs)在羟基磷灰石/磷酸三钙(HA/TCP)植骨材料上的黏附增殖情况。方法抽取兔股骨骨髓,进行贴壁培养BMSCs。在成骨诱导液中诱导BMSCs,于7d用钙钴
本文通过对黄正甫乡里、家世与生活年代、刻书活动的考证,证明黄正甫为晚明时期人。通过对黄正甫本《三国志传》正文、叙、目录和所谓“封面”的考订比勘,证明黄正甫本刊行于
目的:建立硝苯地平分散片中硝苯地平的质量控制方法,保证该制剂质量。方法:采用高效液相色谱法测定硝苯地平的含量,色谱柱为Kromasil-C18柱(200 mm×4.6 mm,5μm),甲醇-水(65
文章阐述了文档一体化的概念,通过分析传统的文书与档案管理模式对实行文档一体化的影响,从多方面提出了如何完善一体化管理条件,指出建立办公自动化系统是今后文档一体化发
抗战时废约外交并非完美无缺,了无遗憾,它甚至还带有弱国外交的烙印,但综观整个废约交涉的得失,我们仍不妨说,其成就斐然。它不仅是中华民族自鸦片战争以来长期不懈顽强御侮
目的研究制备磁性吉西他滨隐形纳米脂质体(MGSL)的最佳条件并考察其理化性质以及在体外的抑瘤效应。方法通过逆相蒸发法制备MGSL,采用扫描电镜和原子力显微镜对其形态进行观
为研究柯替氏器的超微结构,用豚鼠、猫及4个月胎儿的耳蜗,在扫描电镜下观察。柯替氏器呈螺旋梯状,围绕在蜗轴周围。蜗尖部的柯替氏器较宽,蜗底部的较窄,其上方的前庭膜由单层
目的:探讨中药四君子汤抗小鼠表老的药理作用。方法:采用D-半乳糖腹腔注射制备小鼠抗衰老模型,然后灌胃中药四君子汤,检测小鼠脑、肝MDA含量以及脑、肝SOD活性。结果:四君子
目的:探讨乳腺癌患者益处发现的相关因素。方法:选取安徽省某三甲和二甲医院经病理诊断确诊为乳腺癌的女性患者300名,采用益处发现评定量表(BFS)、事件影响量表修订版(IES-R)