一种页面检测方法及装置制造方法及图纸

技术编号:23343924 阅读:20 留言:0更新日期:2020-02-15 04:04
本申请提供了一种页面检测方法及装置。方案如下:获取待检测页面的脚本语言代码;将脚本语言代码划分为多个词法片段,并确定每一词法片段对应的片段类型;按照每一词法片段在脚本语言代码中的位置,组合多个词法片段对应的片段类型,得到目标Token流;对目标Token流中片段类型对应的词法片段进行表达式化简,得到脚本语言代码对应的简化代码;将简化代码输入预设安全引擎,检测待检测页面是否为恶意页面。应用本申请实施例提供的技术方案,提高了恶意代码的正确率,降低了用户信息泄露的概率,提高了网络的安全性。

A page detection method and device

【技术实现步骤摘要】
一种页面检测方法及装置
本申请涉及安全防护
,特别是涉及一种页面检测方法及装置。
技术介绍
Javascript(简称:JS)是一种直译式脚本语言。JS广泛的应用于超文本标记语言(英文:HyperTextMarkupLanguage,简称:HTML)页面中,从而给浏览器显示的HTML页面增加动态功能。目前,非法用户可以利用浏览器漏洞来进行网页挂马。例如,非法用户针对浏览器漏洞在HTML页面中植入恶意的JS代码(以下简称恶意代码),当合法用户通过未修补漏洞的浏览器访问携带恶意代码的HTML页面时,将会触发该恶意代码,造成用户信息的泄露,网络安全性差。
技术实现思路
有鉴于此,本申请的目的在于提供一种页面检测方法及装置,以提高恶意代码的正确率,降低用户信息泄露的概率,提高网络的安全性。具体技术方案如下:第一方面,本申请提供了一种页面检测方法,该方法包括:获取待检测页面的脚本语言代码;将所述脚本语言代码划分为多个词法片段,并确定每一词法片段对应的片段类型;按照每一词法片段在所述脚本语言代码中的位置,组合多个词法片段对应的片段类型,得到目标令牌(英文:Token)流;对所述目标Token流中片段类型对应的词法片段进行表达式化简,得到脚本语言代码对应的简化代码。结合第一方面,在第一种可能的实施方式中,上述方法还包括:接收所述待检测页面的多个脚本语言代码片段,所述多个脚本语言代码片段组成所述待检测页面的脚本语言代码;将所述多个脚本语言代码片段缓存到预设缓存空间中;所述获取待检测页面的脚本语言代码,包括:从所述预设缓存空间中,读取所述多个脚本语言代码片段。结合第一方面或第一方面的第一种可能的实施方式中,在第二种可能的实施方式中,所述将所述脚本语言代码划分为多个词法片段,包括:将所述脚本语言代码中的每一运算符划分为一个词法片段;将所述脚本语言代码中除运算符外的连续至少一个字符划分为一个词法片段。结合第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述确定每一词法片段对应的片段类型,包括:对于每一词法片段,若该词法片段为运算符,则将该词法片段作为该词法片段的片段类型;若该词法片段为连续至少一个字符,检测该词法片段是否与预设语法运算函数中的连续至少一个字符匹配;若匹配,则确定该词法片段的片段类型为标识类型;若否,则确定该词法片段的片段类型为字符类型。结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,所述按照每一词法片段在所述脚本语言代码中的位置,组合多个词法片段对应的片段类型,得到目标Token流,包括:将所述脚本语言代码中每一词法片段替换为该词法片段对应的片段类型,得到初始Token流;若所述初始Token流中包括连续的多个目标片段类型,则将所述连续的多个目标片段类型替换为一个标识类型,得到目标Token流,其中,所述目标片段类型包括标识类型和预设运算符,所述连续的多个目标片段类型中首个片段类型和最后一个片段类型为标识类型,并且所述连续的多个目标片段类型中不包括字符类型;若所述初始Token流中不包括连续的多个目标片段类型,则将所述初始Token流作为目标Token流。结合第一方面,在第五种可能的实施方式中,所述预设安全引擎包括:恶意页面的代码片段;所述将所述简化代码输入预设安全引擎,检测所述待检测页面是否为恶意页面,包括:将所述简化代码输入预设安全引擎,检测所述简化代码与所述代码片段是否匹配;若是,则确定所述待检测页面为恶意页面;若否,则确定所述待检测页面为正常页面。第二方面,本申请还提供了一种页面检测装置,该装置包括:获取模块,用于获取待检测页面的脚本语言代码;划分模块,用于将所述脚本语言代码划分为多个词法片段,并确定每一词法片段对应的片段类型;组合模块,用于按照每一词法片段在所述脚本语言代码中的位置,组合多个词法片段对应的片段类型,得到目标Token流;化简模块,用于对所述目标Token流中片段类型对应的词法片段进行表达式化简,得到脚本语言代码对应的简化代码;检测模块,用于将所述简化代码输入预设安全引擎,检测所述待检测页面是否为恶意页面。结合第二方面,在第一种可能的实施方式中,上述装置还包括:接收模块,用于接收所述待检测页面的多个脚本语言代码片段,所述多个脚本语言代码片段组成所述待检测页面的脚本语言代码;缓存模块,用于将所述多个脚本语言代码片段缓存到预设缓存空间中;所述获取模块,具体用于从所述预设缓存空间中,读取所述多个脚本语言代码片段。结合第二方面或第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述划分模块,具体用于:将所述脚本语言代码中的每一运算符划分为一个词法片段;将所述脚本语言代码中除运算符外的连续至少一个字符划分为一个词法片段。结合第二方面的第二种可能的实施方式,在第三种可能的实施方式中,所述划分模块,具体用于:对于每一词法片段,若该词法片段为运算符,则将该词法片段作为该词法片段的片段类型;若该词法片段为连续至少一个字符,检测该词法片段是否与预设语法运算函数中的连续至少一个字符匹配;若匹配,则确定该词法片段的片段类型为标识类型;若否,则确定该词法片段的片段类型为字符类型。结合第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述划分模块,具体用于:将所述脚本语言代码中每一词法片段替换为该词法片段对应的片段类型,得到初始Token流;若所述初始Token流中包括连续的多个目标片段类型,则将所述连续的多个目标片段类型替换为一个标识类型,得到目标Token流,其中,所述目标片段类型包括标识类型和预设运算符,所述连续的多个目标片段类型中首个片段类型和最后一个片段类型为标识类型,并且所述连续的多个目标片段类型中不包括字符类型;若所述初始Token流中不包括连续的多个目标片段类型,则将所述初始Token流作为目标Token流上述分析模块,具体用于基于Token流以及预设语法规则,构建语法树;对语法树进行化简,得到简化后的代码。结合第二方面,在第五种可能的实施方式中,所述预设安全引擎包括:恶意页面的代码片段;所述检测模块,具体用于:将所述简化代码输入预设安全引擎,检测所述简化代码与所述代码片段是否匹配;若是,则确定所述待检测页面为恶意页面;若否,则确定所述待检测页面为正常页面。第三方面,本申请还提供了一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述任一所述的页面检测方法步骤。第四方面,本申请还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器:实现本文档来自技高网...

【技术保护点】
1.一种页面检测方法,其特征在于,所述方法包括:/n获取待检测页面的脚本语言代码;/n将所述脚本语言代码划分为多个词法片段,并确定每一词法片段对应的片段类型;/n按照每一词法片段在所述脚本语言代码中的位置,组合多个词法片段对应的片段类型,得到目标令牌Token流;/n对所述目标Token流中片段类型对应的词法片段进行表达式化简,得到脚本语言代码对应的简化代码;/n将所述简化代码输入预设安全引擎,检测所述待检测页面是否为恶意页面。/n

【技术特征摘要】
1.一种页面检测方法,其特征在于,所述方法包括:
获取待检测页面的脚本语言代码;
将所述脚本语言代码划分为多个词法片段,并确定每一词法片段对应的片段类型;
按照每一词法片段在所述脚本语言代码中的位置,组合多个词法片段对应的片段类型,得到目标令牌Token流;
对所述目标Token流中片段类型对应的词法片段进行表达式化简,得到脚本语言代码对应的简化代码;
将所述简化代码输入预设安全引擎,检测所述待检测页面是否为恶意页面。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述待检测页面的多个脚本语言代码片段,所述多个脚本语言代码片段组成所述待检测页面的脚本语言代码;
将所述多个脚本语言代码片段缓存到预设缓存空间中;
所述获取待检测页面的脚本语言代码,包括:
从所述预设缓存空间中,读取所述多个脚本语言代码片段。


3.根据权利要求1或2所述的方法,其特征在于,所述将所述脚本语言代码划分为多个词法片段,包括:
将所述脚本语言代码中的每一运算符划分为一个词法片段;
将所述脚本语言代码中除运算符外的连续至少一个字符划分为一个词法片段。


4.根据权利要求3所述的方法,其特征在于,所述确定每一词法片段对应的片段类型,包括:
对于每一词法片段,若该词法片段为运算符,则将该词法片段作为该词法片段的片段类型;
若该词法片段为连续至少一个字符,检测该词法片段是否与预设语法运算函数中的连续至少一个字符匹配;若匹配,则确定该词法片段的片段类型为标识类型;若否,则确定该词法片段的片段类型为字符类型。


5.根据权利要求4所述的方法,其特征在于,所述按照每一词法片段在所述脚本语言代码中的位置,组合多个词法片段对应的片段类型,得到目标Token流,包括:
将所述脚本语言代码中每一词法片段替换为该词法片段对应的片段类型,得到初始Token流;
若所述初始Token流中包括连续的多个目标片段类型,则将所述连续的多个目标片段类型替换为一个标识类型,得到目标Token流,其中,所述目标片段类型包括标识类型和预设运算符,所述连续的多个目标片段类型中首个片段类型和最后一个片段类型为标识类型,并且所述连续的多个目标片段类型中不包括字符类型;
若所述初始Token流中不包括连续的多个目标片段类型,则将所述初始Token流作为目标Token流。


6.根据权利要求1所述的方法,其特征在于,所述预设安全引擎包括:恶意页面的代码片段;
所述将所述简化代码输入预设安全引擎,检测所述待检测页面是否为恶意页面,包括:
将所述简化代码输入预设安全引擎,检测所述简化代码与所述代码片段是否匹配;
若是,则确定所述待检测页面为恶意页面;
...

【专利技术属性】
技术研发人员:马文强
申请(专利权)人:新华三信息安全技术有限公司
类型:发明
国别省市:安徽;34

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

1