一种PHP代码审计技术的研究与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:dotnetgroup
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在当今的信息时代,人们的衣食住行已经离不开互联网。网络世界中,各种各样的Web应用为用户提供着丰富多彩的内容。在人们与互联网络联系越来越密切的同时,Web应用潜在的安全问题也严重地威胁着网络用户的个人信息安全、企业的正常发展以及国家的网络空间安全。为此如何有效地发现Web应用的潜在漏洞已然成为了软件工程及网络安全领域的一个重点研究方向。在众多的Web应用中,以PHP作为后台开发语言的占比接近80%。但由于PHP语言的自身特性极易在开发过程中造成各种各样的安全漏洞,为此多年来学术界及工业界一直致力于PHP语言开发的Web应用程序漏洞挖掘技术的研究与创新。近年来随着机器学习在各个领域中的成功应用,结合Web应用的历史漏洞样例及机器学习算法训练漏洞挖掘模型成为了漏洞的自动化挖掘的一种新兴方法。考虑到传统的基于机器学习的漏洞挖掘方法无法对PHP代码进行有效表示。本文将PHP语言漏洞挖掘问题转化为PHP语言代码向量化表示问题。通过有效的代码向量化表示方法将PHP代码转化为充分包含代码语法、语义及上下文信息的向量,并在此向量的基础上结合简单的分类算法即可实现有效的针对PHP语言的自动化漏洞挖掘模型,本文主要工作如下所示:(1)分析并总结了PHP语言的执行原理以及常见的Web应用的漏洞,深入研究了基于PHP语言的Web应用漏洞的形成原因。据此从抽象语法树及操作码序列两个层次出发结合机器学习算法构建了PHP代码向量化表示模型,并在此基础上实现了针对PHP语言的漏洞挖掘模型。(2)提出了一种基于抽象语法树的PHP漏洞挖掘模型ASTEncoder。考虑到现有方法对抽象语法树分析维度单一以及将抽象语法树转化为二叉树而造成的代码信息损失的问题。此模型首先将抽象语法树划分为表达式子树;其次,通过聚集表达式子树的路径信息获得代码的语法及过程间信息,通过聚集节点信息保留了代码的过程内语义及过程内信息;最后,通过在此模型中引入注意力机制以使其能够提供准确的漏洞定位能力。(3)提出了一种基于opcode序列的PHP漏洞挖掘模型Opcode2Vec。考虑到传统的基于opcode序列的模型将序列视为维度单一的文本进行处理以及忽略序列中的变量信息而造成的信息损失问题,此模型根据opcode序列的跳转语句将其划分为多个单一维度的子序列,并以此为处理对象构建代码向量化模型。除此之外,此模型提出了变量名向量随着数据流动态更新的方法,以对操作码序列中的变量名进行合理表示。(4)基于SARD-testsuite-103数据集设计了四组实验以比较基于ASTEncoder、Opcode2Vec的PHP代码漏洞挖掘模型与传统模型的性能差异,实验结果表明基于ASTEncoder的模型准确率、召回率及F1值平均达到了98.42%、96.69%及98.03%;基于Opcode2Vec的模型准确率、召回率及F1值平均达到了88.27%、84.43%及83.88%,均高于传统方法。此外,还设计了一组实验比较了与工业界普遍使用的PHP代码审计工具Seay、RIPS之间性能差异。实验结果表明基于ASTEncoder的模型准确率高于98%;基于Opcode2Vec的模型准确率接近于50%,两者均高于Seay与RIPS的准确率。
其他文献
随着科技的发展,无人机(Unmanned Aerial Vehicle,UAV)从军事领域逐渐渗透到民用领域中、从科研技术人员逐渐渗透到大众用户中,在现代社会的各方面均发挥着越来越大的作用。与单架无人机执行任务相比,多无人机编队运动具有更高的工作效率,更强的稳定性和鲁棒性,更适合高强度与复杂的任务。虽然多无人机编队技术具有上述优点,但目前编队的应用仍然受到限制。无人机编队应用受到限制的原因在于系统
近年来Web前端技术飞速发展,主流Web前端开发框架Angular JS、React和Vue等技术趋于成熟,越来越符合Web Components标准。同时Web技术标准趋于规范化和现代化。随着Web前端技术的发展,Web应用开发难度逐渐降低,而应用的性能和质量的重要性不断提高。高质量的Web应用会带来更好的用户体验,从而赢得市场上同类产品的竞争,为公司创造更大的收益。因此,分析Web页面质量,进
中国经济现如今处于高质量发展阶段,在这个机遇与挑战并存的年代,企业们面临更加严峻的竞争环境,拥有更多机遇,同时也面对着巨大的挑战。人们加快了生活的节奏,同时也承担着
无人机基站具有快速部署、轻便灵活的特性,被广泛应用于应急通信场景中。在部署基站时,需要首先获取地面用户的分布信息,进而作为无人机基站部署的基础。本文以应急通信为背景,提出了无人机基于通信导航一体化的多目标定位方法以及无人机空中位置优化算法。主要研究工作如下:第一部分,主要介绍了无人机与地面节点通信时的经典空地信道模型,为后面的研究工作做好理论准备。此外,还介绍了多种无线通信定位技术,讲解定位原理并
随着无人机运输物体在现实中有着越来越多的应用,使得越来越多的人了解到该系统的优势。无人机能够完成很多机器人不能实现的空中作业,同时能够更快的将物体运输到目的地,这也促使更多的人热衷于研究无人机运输物体。本文针对无人机携带载荷系统在现实中物流运输的应用中设计三种控制方法,以满足不同的需求,主要工作包括:第一、针对一般的物流运输的问题研究了一种基于级联饱和的控制方法,利用级联饱和控制策略对系统的摆幅控
目前,空时自适应处理(Space-time Adaptive Processing,STAP)技术在机载雷达中占据着越来越重要的角色。机载雷达的地物杂波呈现空时二维耦合特性,雷达系统采用STAP技术并结合相控阵体制可以自适应滤除杂波和抑制干扰,处理性能稳定,其中降维(Reduced-dimension,RD)STAP处理方法选取空时二维平面内的部分数据计算自适应权值,改善了全维STAP在计算量和训
在初中数学教学过程中,变式教学主要是指将数学问题的条件和结论进行变换,从不同的角度、不同的形式、不同的意义等方面进行变换,从而揭露问题的本质属性,展示不同知识点之间的内在联系,使学生更好地把握事物的本质和规律,针对疆内初中班数学课堂上实施的“变式教学”进行探索分析。内初班学生汉语水平差,文化程度低。数学教学采取变式教学能够有效弱化语言对数学学习效果的影响,提升学生的学习成绩和数学学科核心素养。该研
全球经济一体化的背景下,国际经营企业往往通过跨国并购行为谋求自身快速发展并完成经营战略举措。而跨国并购被公认为是一项复杂、难度极高的企业间交易活动,企业在并购交易
随着互联网技术的发展,人们每天都会在网络上产生大量数据。这些数据多种多样,它们记录了每个互联网用户的上网行为习惯。而用户每天浏览的信息量呈现出一种爆炸式地增长,用
无网格方法是在有限元法等科学方法之后发展起来的一类重要的数学方法,近年来发展的很快。由于它在解决问题时不需要进行网格划分,只需要在节点处的相关信息,同时在计算时可以依据自己的需求在某一区域内减少或者增加节点,以方便我们进行计算。无网格方法可以用来分析结构破坏过程仿真、高速碰撞和爆破等问题。所以我们研究无网格方法具有非常重要的理论意义和研究价值。本文首先推导了改进的移动最小二乘法(IMLS)以及改进