基于代码语法分析器的网站恶意代码检测方法及装置制造方法及图纸

技术编号:17033332 阅读:28 留言:0更新日期:2018-01-13 19:38
本发明专利技术提供了一种基于代码语法分析器的网站恶意代码检测方法及装置,涉及信息安全技术领域,该方法包括获取待检测脚本的执行代码,其中,待检测脚本为用于实现目标动态网站的网站功能的脚本,执行代码为预先保存的代码;利用代码语法分析器将待检测脚本的执行代码编译成字节码;根据字节码,对目标动态网站进行检测,以检测得到对目标动态网站进行恶意操控的恶意代码。本发明专利技术缓解了传统的动态网站恶意代码检测方法存在检测准确性较差或成本较高的技术问题。

【技术实现步骤摘要】
基于代码语法分析器的网站恶意代码检测方法及装置
本专利技术涉及信息安全
,尤其是涉及一种动态网站脚本语言恶意代码检测方法及装置。
技术介绍
恶意代码是威胁计算机安全的重要形式之一,本质上是一段计算机代码,这段代码可以按照攻击者的意愿执行一系列包含恶意企图的操作。代码的形式包括:可执行代码性指令、脚本语言、字处理宏语言。对于动态网站而言,其一般是通过后台挂载的脚本(比如php,jsp,asp等)使得网页和用户之间实现一种实时性的、动态的、交互性的关系,使网页可以包含更多活跃的元素和更加精彩的内容。而黑客通过将自己写的恶意代码绕过服务器限制上传到服务器或者将恶意代码植入到已有的网站后台页面中,进而使脚本语言执行黑客的恶意代码,这样黑客就可以访问他上传了恶意代码的网站,从而导致安全问题。面对这些安全问题,亟需对动态网站的安全问题进行深入研究,提高对动态网站的恶意脚本的检测能力,保障互联网应用的安全。根据分析对象的不同,现有技术中恶意代码的检测技术分为静态检测和动态检测。其中,静态检测是基于模式匹配的思想,通过查找脚本文件中是否存在危险函数来确定是否存在恶意代码。然而,黑客只要将恶意代码在代码形式上做个混淆变形就能绕过已有的危险函数检测,因而准确率比较低。动态检测是基于行为的检测技术,一般需要动态执行代码或者虚拟执行代码,然后监测代码的执行过程是否存在病毒的特有行为来监测病毒。这种方式能够解决危险函数混淆变形导致的准确率较低的问题,但是这种检测方式需要在检测恶意代码时进行执行代码的过程,成本较高。综上所述,可见:传统的动态网站恶意代码检测方法存在检测准确性较差或成本较高的技术问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于代码语法分析器的网站恶意代码检测方法及装置,以缓解传统的动态网站恶意代码检测方法存在检测准确性较差或成本较高的技术问题。第一方面,本专利技术实施例提供了一种基于代码语法分析器的网站恶意代码检测方法,包括:获取待检测脚本的执行代码,其中,所述待检测脚本为用于实现目标动态网站的网站功能的脚本,所述执行代码为预先保存的代码;利用代码语法分析器将所述待检测脚本的执行代码编译成字节码;根据所述字节码,对所述目标动态网站进行检测,以检测得到对所述目标动态网站进行恶意操控的恶意代码。结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,根据所述字节码,对所述目标动态网站进行检测,包括:获取待检测恶意代码的代码特征,其中,所述代码特征包括预设危险函数;遍历所述字节码,判断所述字节码中是否存在所述预设危险函数的执行指令;在判断出是的情况下,确定出所述目标动态网站存在所述待检测恶意代码。结合第一方面的第一种可能的实施方式,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,在确定出所述目标动态网站存在所述待检测恶意代码之后,所述方法还包括:确定所述预设危险函数的调用参数;在所述字节码中,从所述预设危险函数的执行指令所处的位置开始,对目标字节码进行遍历,以从所述目标字节码中确定出所述调用参数的数值输入接口,并在确定出所述数值输入接口的情况下,将所述数值输入接口作为恶意操控的访问接口,所述目标字节码为所述字节码中位于所述预设危险函数的执行指令之前的字节码。结合第一方面的第二种可能的实施方式,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,在确定出所述调用参数的数值输入接口之后,所述方法还包括:通过所述数值输入接口,向所述调用参数赋予预设数值;执行所述待检测脚本,得到所述预设危险函数的执行结果;根据所述执行结果,确定所述预设危险函数的危险类型。结合第一方面的第三种可能的实施方式,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,在确定出所述预设危险函数的危险类型之后,所述方法还包括:创建危险报告,所述危险报告中至少包括以下之一:所述预设危险函数、所述数值输入接口、所述危险类型。结合第一方面的第一种可能的实施方式,本专利技术实施例提供了第一方面的第五种可能的实施方式,其中,在获取待检测恶意代码的代码特征之前,所述方法还包括:获取多个恶意代码样本;从所述恶意代码样本中,抽取恶意代码特征;将所述恶意代码特征存储在数据库中,以便通过读取所述数据库来从所述恶意代码特征中选取所述待检测恶意代码的代码特征。第二方面,本专利技术实施例还提供一种基于代码语法分析器的网站恶意代码检测装置,包括:第一获取模块,用于获取待检测脚本的执行代码,其中,所述待检测脚本为用于实现目标动态网站的网站功能的脚本,所述执行代码为预先保存的代码;编译模块,用于利用代码语法分析器将所述待检测脚本的执行代码编译成字节码;检测模块,用于根据所述字节码,对所述目标动态网站进行检测,以检测得到对所述目标动态网站进行恶意操控的恶意代码。结合第二方面,本专利技术实施例提供了第二方面的第一种可能的实施方式,其中,所述检测模块包括:获取单元,用于获取待检测恶意代码的代码特征,其中,所述代码特征包括预设危险函数;判断单元,用于遍历所述字节码,判断所述字节码中是否存在所述预设危险函数的执行指令;确定单元,用于在判断出是的情况下,确定出所述目标动态网站存在所述待检测恶意代码。结合第二方面的第一种可能的实施方式,本专利技术实施例提供了第二方面的第二种可能的实施方式,其中,所述装置还包括:第一确定模块,用于在确定出所述目标动态网站存在所述待检测恶意代码之后,确定所述预设危险函数的调用参数;第二确定模块,用于在所述字节码中,从所述预设危险函数的执行指令所处的位置开始,对目标字节码进行遍历,以从所述目标字节码中确定出所述调用参数的数值输入接口,并在确定出所述数值输入接口的情况下,将所述数值输入接口作为恶意操控的访问接口,所述目标字节码为所述字节码中位于所述预设危险函数的执行指令之前的字节码。结合第二方面的第二种可能的实施方式,本专利技术实施例提供了第二方面的第三种可能的实施方式,其中,所述装置还包括:赋值模块,用于在确定出所述调用参数的数值输入接口之后,通过所述数值输入接口,向所述调用参数赋予预设数值;执行模块,用于执行所述待检测脚本,得到所述预设危险函数的执行结果;第三确定模块,用于根据所述执行结果,确定所述预设危险函数的危险类型。结合第二方面的第三种可能的实施方式,本专利技术实施例提供了第二方面的第四种可能的实施方式,其中,所述装置还包括:创建模块,用于在确定出所述预设危险函数的危险类型之后,创建危险报告,所述危险报告中至少包括以下之一:所述预设危险函数、所述数值输入接口、所述危险类型。结合第二方面的第四种可能的实施方式,本专利技术实施例提供了第二方面的第五种可能的实施方式,其中,所述装置还包括:第二获取模块,用于获取多个恶意代码样本;抽取模块,用于从所述恶意代码样本中,抽取恶意代码特征;存储模块,用于将所述恶意代码特征存储在数据库中,以便通过读取所述数据库来从所述恶意代码特征中选取所述待检测恶意代码的代码特征。本专利技术实施例带来了以下有益效果:获取待检测脚本的执行代码,其中,待检测脚本为用于实现目标动态网站的网站功能的脚本,执行代码为预先保存的代码;利用代码语法分析器将待检测脚本的执行代码编译成字节码;根据字节码,对目标动态网站进行检测,以检测得到对目标动态本文档来自技高网
...
基于代码语法分析器的网站恶意代码检测方法及装置

【技术保护点】
一种基于代码语法分析器的网站恶意代码检测方法,其特征在于,包括:获取待检测脚本的执行代码,其中,所述待检测脚本为用于实现目标动态网站的网站功能的脚本,所述执行代码为预先保存的代码;利用代码语法分析器将所述待检测脚本的执行代码编译成字节码;根据所述字节码,对所述目标动态网站进行检测,以检测得到对所述目标动态网站进行恶意操控的恶意代码。

【技术特征摘要】
1.一种基于代码语法分析器的网站恶意代码检测方法,其特征在于,包括:获取待检测脚本的执行代码,其中,所述待检测脚本为用于实现目标动态网站的网站功能的脚本,所述执行代码为预先保存的代码;利用代码语法分析器将所述待检测脚本的执行代码编译成字节码;根据所述字节码,对所述目标动态网站进行检测,以检测得到对所述目标动态网站进行恶意操控的恶意代码。2.根据权利要求1所述的方法,其特征在于,根据所述字节码,对所述目标动态网站进行检测,包括:获取待检测恶意代码的代码特征,其中,所述代码特征包括预设危险函数;遍历所述字节码,判断所述字节码中是否存在所述预设危险函数的执行指令;在判断出是的情况下,确定出所述目标动态网站存在所述待检测恶意代码。3.根据权利要求2所述的方法,其特征在于,在确定出所述目标动态网站存在所述待检测恶意代码之后,所述方法还包括:确定所述预设危险函数的调用参数;在所述字节码中,从所述预设危险函数的执行指令所处的位置开始,对目标字节码进行遍历,以从所述目标字节码中确定出所述调用参数的数值输入接口,并在确定出所述数值输入接口的情况下,将所述数值输入接口作为恶意操控的访问接口,所述目标字节码为所述字节码中位于所述预设危险函数的执行指令之前的字节码。4.根据权利要求3所述的方法,其特征在于,在确定出所述调用参数的数值输入接口之后,所述方法还包括:通过所述数值输入接口,向所述调用参数赋予预设数值;执行所述待检测脚本,得到所述预设危险函数的执行结果;根据所述执行结果,确定所述预设危险函数的危险类型。5.根据权利要求4所述的方法,其特征在于,在确定出所述预设危险函数的危险类型之后,所述方法还包括:创建危险报告,所述危险报告中至少包括以下之一:所述预设危险函数、所述数值输入接口、所述危险类型。6.根据权利要求2所述的方法,其特征在于,在获取待检测恶意代码的代码特征之前,所述方法还包括:获取多个恶意代码样本;从所述...

【专利技术属性】
技术研发人员:王欢范渊黄进莫金友
申请(专利权)人:杭州安恒信息技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1