一种基于语义协同的Web应用动态防御方法技术

技术编号:20286586 阅读:32 留言:0更新日期:2019-02-10 18:33
本发明专利技术涉及一种基于语义协同的Web应用动态防御方法。本发明专利技术利用语义协同技术以及基于马尔可夫模型的字符串随机化技术对资源地址进行动态变换,对服务端返回的静态地址及动态资源地址进行有效的动态变换,并保持变换后的资源地址具有一定的可阅读性,使攻击者难以辨别该地址是否经过了动态防御处理,从而增加Web应用的防御强度。本发明专利技术利用语义协同列表,使得动态防御系统可以有效处理资源地址中动态生成代码的问题。采用基于马尔可夫模型的随机化方法可以得到更具隐蔽性的Web资源地址,让攻击者难以迅速定位网站采取的防御手段。语义协同列表与马尔可夫模型的运用有效增加了Web应用系统的安全性。

A Dynamic Defense Method for Web Applications Based on Semantic Collaboration

The present invention relates to a dynamic defense method for Web applications based on semantic collaboration. The present invention utilizes semantic collaboration technology and string randomization technology based on Markov model to dynamically transform resource addresses, effectively dynamically transform static and dynamic resource addresses returned by server, and maintains certain readability of the transformed resource addresses, which makes it difficult for an attacker to distinguish whether the address has undergone dynamic defensive processing or not. Increase the defense strength of Web applications. The invention utilizes the semantic cooperative list to enable the dynamic defense system to effectively deal with the problem of dynamically generating code in the resource address. The randomization method based on Markov model can get more covert Web resource addresses, which makes it difficult for attackers to locate the defensive measures adopted by the website quickly. The application of Semantic Cooperative List and Markov Model effectively increases the security of Web application system.

【技术实现步骤摘要】
一种基于语义协同的Web应用动态防御方法
本专利技术属于网络安全
,涉及一种基于语义协同的Web应用动态防御方法。
技术介绍
随着Web应用的不断发展,通过SQL注入、XSS攻击等Web注入方法攻击Web系统,窃取数据的行为日益增多。当前Web应用系统上线需要耗费大量的人力、物力进行代码的安全审计工作,一般只有大公司的应用系统能做到安全性较高,而大量的小型公司开发的Web应用系统往往存在一定量的Web安全漏洞。为此,需要在Web应用与用户之间开发Web注入防御系统,对流入与流出Web应用的数据流进行检测与防护,为各类应用增加安全保障。目前主要的防护手段有基于规则的防火墙、入侵检测系统,基于机器学习的防火墙、入侵检测系统等,现有系统对新型攻击的防护效果均不理想,基于机器学习的防护方法误报率过高。专利技术专利“一种保护Web应用安全的url拟态方法(CN104954384B)”提出了一种将Web应用的url资源拟态化使攻击者难以判断资源的实际情况,从而大大降低Web攻击成功率的方法。该专利技术阐述的方法在实际使用时会造成客户端动态输入后拼接而成的资源地址与保存的“字串映射”不匹配,地址动态转换失效,从而使客户端资源访问出现差错,直观表现是用户无法正常访问Web页面。另外,当前技术对资源地址进行动态替换的一般方法为,用随机地址替换原有地址,并将这两个地址同时保存,即保存了一对替换映射。以上技术方案在攻防对抗环境下存在一定的缺点,由于随机地址与正常Web资源地址差异比较明显,攻击者可以立刻判断出系统使用了资源动态变换的防御方法,从而针对性调整攻击策略,加大了防御难度。
技术实现思路
本专利技术的目的就是提供一种基于语义协同的Web应用动态防御方法,该方法利用语义协同技术以及基于马尔可夫模型的字符串随机化技术对资源地址进行动态变换,对服务端返回的静态地址及动态资源地址进行有效的动态变换,并保持变换后的资源地址具有一定的可阅读性,使攻击者难以辨别该地址是否经过了动态防御处理,从而增加Web应用的防御强度。本专利技术包括如下步骤;步骤一、构建前后端Web资源语义协同列表。语义协同列表用于处理动态资源地址,及有动态变化的元素标签。语义协同列表将需要替换的元素标签及动态资源地址可能涉及的语义内容均在列表中予以明确表示。动态资源地址是网站后端为前端预留的可灵活选择的不同资源访问地址,其虽然是动态的,但动态范围是能够被框定的,语义协同列表将该动态范围明确表示在列表中。步骤二、设计语义协同列表为一个能动态配置的导入系统。将Web应用动态防御系统设计为能动态读入上述语义协同列表,并正确解析该列表。步骤三、动态防御系统依据语义协同列表,对Web服务器后端向客户端前端返回的Web页面进行相关字符串提取与变换,具体过程为:(1)依据语义协同列表中的每一项对Web页面中的相关字串进行提取;(2)对屏蔽后字符串进行基于马尔可夫模型的字符串随机化,具体步骤为:收集各类Web应用资源地址,训练针对资源地址的马尔可夫模型(马尔可夫模型训练为本
内的通用训练方法),模型可以是0阶、1阶、2阶、3阶等,具体阶数可根据收集的训练样本的大小来决定,数量越多,可训练的模型阶数越高,一般取1、2、3阶即可,不超过5阶,阶数越高训练耗费、数据耗费越高。根据训练后得到的马尔可夫模型对屏蔽后字符串计算当前字符的下一个字符出现的概率,1阶Markov模型采用如下公式见式(1):P表示Markov模型中的概率,x是当前字符,v是关于字符在Web应用资源地址中平均出现概率的函数。已知当前字符及v(xi+1|xi)值,便能计算出下一个字符出现的概率。对屏蔽后字符串随机化,从左至右扫描字符串,取当前字符,设定2个阈值n1、n2,根据马尔可夫模型得出当前字符n1个出现概率最高的下一个字符,在n1个字符中随机选择n2(n2<n1)个字符作为下一个字符的替换字符(串),将下一个字符作为当前字符,继续该步骤直至完成所有的字符串替换。阈值n1、n2可由用户根据经验自行设定。(3)将步骤(1)中屏蔽的字符串回填随机化后的字符串,回填后字符串为返回给客户端的资源地址。(4)记录未变化字符串与动态变化后的替换字符串之间的映射关系。步骤四、动态防御系统依据步骤三中建立的映射关系,对客户端流向Web服务端的访问进行动态替换,以保证Web访问的正常进行。本专利技术利用语义协同列表将Web应用前后端语义在动态防御系统中进行表达,使得动态防御系统可以有效处理资源地址中动态生成代码的问题。同时,本专利技术利用马尔可夫模型对资源地址进行随机化,与不做任何掩饰的随机化比较,基于马尔可夫模型的随机化方法可以得到更具隐蔽性的Web资源地址,让攻击者难以迅速定位网站采取的防御手段。语义协同列表与马尔可夫模型的运用有效增加了Web应用系统的安全性。附图说明图1为语义协同的Web应用动态防御方法流程示意图;图2为对Web字符串提取、筛选和随机化过程示意图;图3为动态资源地址映射示意图。具体实施方式一种基于语义协同的Web应用动态防御方法,包括如下步骤;步骤一、构建前后端Web资源语义协同列表。语义协同列表主要用于处理动态资源地址,及有可能动态变化的元素标签,例如随着html协议的变化,<aherf..>标签有可能变为<bherf..>等。语义协同列表将需要替换的元素标签及动态资源地址可能涉及的语义内容均在列表中予以明确表示。其中,动态资源地址是网站后端为前端预留的可灵活选择的不同资源访问地址,其虽然是动态的,但动态范围是能够被框定的,语义协同列表将该动态范围明确表示在列表中。表示方法能够采用键值对(key-values)的方式(键值对方式为本领域内的通用数据表示方法),values能够是一个值,也能够是一个范围。上述示例只是语义协同列表的一种表示方法,只要能将语义协同信息有效表示出来的方法均可以使用。步骤二、设计语义协同列表为一个能动态配置的导入系统。将Web应用动态防御系统设计为能动态读入上述语义协同列表,并正确解析该列表。步骤三、动态防御系统依据语义协同列表,对Web服务器后端向客户端前端返回的Web页面进行相关字符串提取与变换,如图2和3所示,具体过程为:(1)依据语义协同列表中的每一项对Web页面中的相关字串进行提取,如{"tag":"a","f_mode":"value","f_option":"href",…}表示<a>标签的‘href’选项的值,得初次提取字串;扫描该选项的"keywords_key_values"值,屏蔽初次提取字串中出现的"keywords_key_values"键值,如屏蔽"${path}/ap_doShow.action?id="中的"${path}",得屏蔽后字串"*******/ap_doShow.action?id=",‘*’为用于屏蔽的特殊字符,可用任何合适的字符与字符串代替,在后续处理时特殊字符越过不处理;(2)对屏蔽后字符串进行基于马尔可夫模型的字符串随机化,具体步骤为:收集各类Web应用资源地址,训练针对资源地址的马尔可夫模型(马尔可夫模型训练为本
内的通用训练方本文档来自技高网
...

【技术保护点】
1.一种基于语义协同的Web应用动态防御方法,其特征在于:包括如下步骤;步骤一、构建前后端Web资源语义协同列表;语义协同列表用于处理动态资源地址,及有动态变化的元素标签;语义协同列表将需要替换的元素标签及动态资源地址可能涉及的语义内容均在列表中予以明确表示;动态资源地址是网站后端为前端预留的可灵活选择的不同资源访问地址,其虽然是动态的,但动态范围是能够被框定的,语义协同列表将该动态范围明确表示在列表中;步骤二、设计语义协同列表为一个能动态配置的导入系统;将Web应用动态防御系统设计为能动态读入上述语义协同列表,并正确解析该列表;步骤三、动态防御系统依据语义协同列表,对Web服务器后端向客户端前端返回的Web页面进行相关字符串提取与变换,具体过程为:(1)依据语义协同列表中的每一项对Web页面中的相关字串进行提取;(2)对屏蔽后字符串进行基于马尔可夫模型的字符串随机化,具体步骤为:收集各类Web应用资源地址,训练针对资源地址的马尔可夫模型,模型可以是0阶、1阶、2阶、3阶等,具体阶数根据收集的训练样本的大小来决定,数量越多,可训练的模型阶数越高,一般取1、2、3阶即可,不超过5阶,阶数越高训练耗费、数据耗费越高;根据训练后得到的马尔可夫模型对屏蔽后字符串计算当前字符的下一个字符出现的概率,1阶Markov模型采用如下公式见式(1):...

【技术特征摘要】
1.一种基于语义协同的Web应用动态防御方法,其特征在于:包括如下步骤;步骤一、构建前后端Web资源语义协同列表;语义协同列表用于处理动态资源地址,及有动态变化的元素标签;语义协同列表将需要替换的元素标签及动态资源地址可能涉及的语义内容均在列表中予以明确表示;动态资源地址是网站后端为前端预留的可灵活选择的不同资源访问地址,其虽然是动态的,但动态范围是能够被框定的,语义协同列表将该动态范围明确表示在列表中;步骤二、设计语义协同列表为一个能动态配置的导入系统;将Web应用动态防御系统设计为能动态读入上述语义协同列表,并正确解析该列表;步骤三、动态防御系统依据语义协同列表,对Web服务器后端向客户端前端返回的Web页面进行相关字符串提取与变换,具体过程为:(1)依据语义协同列表中的每一项对Web页面中的相关字串进行提取;(2)对屏蔽后字符串进行基于马尔可夫模型的字符串随机化,具体步骤为:收集各类Web应用资源地址,训练针对资源地址的马尔可夫模型,模型可以是0阶、1阶、2阶、3阶等,具体阶数根据收集的训练样本的大小来决定,数量越多,可训练的...

【专利技术属性】
技术研发人员:吴震东李阳政吴春明
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

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

1