【技术实现步骤摘要】
一种语法特征提取方法、系统、设备及可读存储介质
[0001]本申请涉及计算机应用
,特别是涉及一种语法特征提取方法、系统、设备及可读存储介质。
技术介绍
[0002]黑客会利用web漏洞注入恶意代码,从而窃取服务器数据甚至控制服务器,由于恶意代码都是符合语法的代码块或代码片段,因此语法分析是一种防御web攻击十分常见且实用的手段。然而web漏洞并不仅仅局限于一种语言,在实际web攻防的场景下,可能存在多种语言的漏洞。而且即使是同一种语言,不同版本之间也存在差异。因此,基于语法分析的防护手段通常需要多个语法引擎同时检测,当使用多个引擎检测时,对性能和内存的要求较高。
[0003]WAF(Web应用防火墙,Web Application Firewall)一般会采用相似语言兼容在一个引擎的做法来降低对性能和内存的要求,如将mysql5.8和mysql8.0兼容在一个语法引擎中进行检测,从而减少开发成本。但是,相似语言的词法、语法并非完全相同,在这些差异点上难以兼容,甚至无法兼容,导致可以被攻击者利用绕过。
...
【技术保护点】
【技术特征摘要】
1.一种语法特征提取方法,其特征在于,包括:在目标语法引擎对目标语句分析失败后,对所述目标语句进行裁剪,得到若干个语句片段;利用所述目标语法引擎对若干个所述语句片段进行语法分析,得到各个所述语句片段分别对应的片段特征;对所述目标语句中的关键词进行合法性检测;在检测通过后,对所述片段特征进行整合,得到片段式的语法特征。2.根据权利要求1所述的语法特征提取方法,其特征在于,所述确定目标语法引擎对目标语句分析失败,包括:确定是否因兼容性问题导致所述目标语法引擎对所述目标语句分析失败。3.根据权利要求2所述的语法特征提取方法,其特征在于,确定是否因兼容性问题导致所述目标语法引擎对所述目标语句分析失败,包括:获取所述目标语句,并利用所述目标语法引擎对所述目标语句进行语法分析;在语法分析失败后,获取所述目标语句的标记序列;利用所述标记序列,确定所述目标语句是否存在词法冲突或语法冲突;如果是,则确定所述失败原因对应兼容性问题。4.根据权利要求3所述的语法特征提取方法,其特征在于,利用所述标记序列确定所述目标语句是否存在词法冲突,包括:判断所述标记序列中是否存在冲突标记;所述冲突标记在不同语言中的正则表达式及其含义不同;如果是,则确定存在所述词法冲突。5.根据权利要求3所述的语法特征提取方法,其特征在于,利用所述标记序列,确定所述目标语句是否存在语法冲突,包括:判断所述标记序列中是否存在目标关键字;所述目标关键字在不同语言对应不同的使用方式;如果是,则确定存在语法冲突。6.根据权利要求4所述的语法特征提取方法,其特征在于,对所述目标语句进行裁剪,得到若干个语句片段,包括:当仅存在所述词法冲突,则在所述冲突标记处裁...
【专利技术属性】
技术研发人员:王震,黄忠强,艾江俊,
申请(专利权)人:深信服科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。