CN109309677B - 一种基于语义协同的Web应用动态防御方法 - Google Patents

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

Info

Publication number
CN109309677B
CN109309677B CN201811140572.4A CN201811140572A CN109309677B CN 109309677 B CN109309677 B CN 109309677B CN 201811140572 A CN201811140572 A CN 201811140572A CN 109309677 B CN109309677 B CN 109309677B
Authority
CN
China
Prior art keywords
semantic
character
dynamic
list
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811140572.4A
Other languages
English (en)
Other versions
CN109309677A (zh
Inventor
陈海松
吴震东
李阳政
吴春明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Chaitin Tech Co ltd
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201811140572.4A priority Critical patent/CN109309677B/zh
Publication of CN109309677A publication Critical patent/CN109309677A/zh
Application granted granted Critical
Publication of CN109309677B publication Critical patent/CN109309677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

一种基于语义协同的Web应用动态防御方法
技术领域
本发明属于网络安全技术领域,涉及一种基于语义协同的Web应用动态防御方法。
背景技术
随着Web应用的不断发展,通过SQL注入、XSS攻击等Web注入方法攻击Web系统,窃取数据的行为日益增多。当前Web应用系统上线需要耗费大量的人力、物力进行代码的安全审计工作,一般只有大公司的应用系统能做到安全性较高,而大量的小型公司开发的Web应用系统往往存在一定量的Web安全漏洞。为此,需要在Web应用与用户之间开发Web注入防御系统,对流入与流出Web应用的数据流进行检测与防护,为各类应用增加安全保障。目前主要的防护手段有基于规则的防火墙、入侵检测系统,基于机器学习的防火墙、入侵检测系统等,现有系统对新型攻击的防护效果均不理想,基于机器学习的防护方法误报率过高。发明专利“一种保护Web应用安全的url拟态方法(CN 104954384 B)”提出了一种将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):
Figure BDA0001815712770000021
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协议的变化,<a herf..>标签有可能变为<b herf..>等。
语义协同列表将需要替换的元素标签及动态资源地址可能涉及的语义内容均在列表中予以明确表示。其中,动态资源地址是网站后端为前端预留的可灵活选择的不同资源访问地址,其虽然是动态的,但动态范围是能够被框定的,语义协同列表将该动态范围明确表示在列表中。表示方法能够采用键值对(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应用资源地址,训练针对资源地址的马尔可夫模型(马尔可夫模型训练为本技术领域内的通用训练方法),模型可以是0阶、1阶、2阶、3阶等,具体阶数可根据收集的训练样本的大小来决定,数量越多,可训练的模型阶数越高,一般取1、2、3阶即可,不超过5阶,阶数越高训练耗费、数据耗费越高。
根据训练后得到的马尔可夫模型对屏蔽后字符串计算当前字符的下一个字符出现的概率(计算方法为本技术领域内的通用方法),例如,1阶Markov模型采用如下公式见式(1):
Figure BDA0001815712770000051
P表示Markov模型中的概率,x是当前字符,v是关于字符在Web应用资源地址中平均出现概率的函数。已知当前字符及v(xi+1|xi)值,便能计算出下一个字符出现的概率。
对屏蔽后字符串随机化,从左至右扫描字符串,取当前字符,设定2个阈值n1、n2,根据马尔可夫模型得出当前字符n1个出现概率最高的下一个字符,在n1个字符中随机选择n2(n2<n1)个字符作为下一个字符的替换字符(串),将下一个字符作为当前字符,继续该步骤直至完成所有的字符串替换。阈值n1、n2可由用户根据经验自行设定。
(4)将步骤(1)中屏蔽的字符串回填随机化后的字符串:
如“*******/ap_doShow.action?id=”经随机化后得
“*******/bdiertu.dtyion&wrt”,
经本步骤回填后得"${path}/bdiertu.dtyion&wrt",
该字符串为返回给客户端的资源地址。
(4)记录未变化字符串与动态变化后的替换字符串之间的映射关系。
在步骤(1)中初次提取的字符串中扫描"keywords_key_values"中的有效键值对,是否存在对应的键值,如${path},若存在则用对应的values替换该键值,需注意的是对应的values可能不只1个,全部替换,得到与对应values个数相同的新字串;
对步骤(3)中得到的返回给客户端的资源地址进行"keywords_key_values"有效键值扫描,若存在则用对应的values替换该键值,需注意的是对应的values可能不只1个,全部替换,得到与对应values个数相同的随机化后的客户端的资源地址新字串;
将上述得到的对应字符串建立映射关系,可用如下列表形式,但不限于如下形式,只要能建立起确切的映射关系即可。
[
{"ABC/bdiertu.dtyion&wrt"<->"ABC/ap_doShow.action?id="},
{"DEF/bdiertu.dtyion&wrt"<->"DEF/ap_doShow.action?id="},
{"GHI/bdiertu.dtyion&wrt"<->"GHI/ap_doShow.action?id="},
……
]
步骤四、动态防御系统依据步骤三中建立的映射关系,对客户端流向Web服务端的访问进行动态替换,以保证Web访问的正常进行。

Claims (1)

1.一种基于语义协同的Web应用动态防御方法,其特征在于:包括如下步骤;
步骤一、构建前后端Web资源语义协同列表;
语义协同列表用于处理动态资源地址,及有动态变化的元素标签;语义协同列表将需要替换的元素标签及动态资源地址涉及的语义内容均在列表中予以明确表示;动态资源地址是网站后端为前端预留的可灵活选择的不同资源访问地址,其虽然是动态的,但动态范围是能够被框定的,语义协同列表将该动态范围明确表示在列表中;
步骤二、设计语义协同列表为一个能动态配置的导入系统;将Web应用动态防御系统设计为能动态读入上述语义协同列表,并正确解析该列表;
步骤三、动态防御系统依据语义协同列表,对Web服务器后端向客户端前端返回的Web页面进行相关字符串提取与变换,具体过程为:
(1)依据语义协同列表中的每一项对Web页面中的相关字串进行提取;
(2)对屏蔽后字符串进行基于马尔可夫模型的字符串随机化,具体步骤为:
收集各类Web应用资源地址,训练针对资源地址的马尔可夫模型,模型具体阶数根据收集的训练样本的大小来决定,数量越多,可训练的模型阶数越高,一般取1、2、3阶即可,不超过5阶,阶数越高训练耗费、数据耗费越高;
根据训练后得到的马尔可夫模型对屏蔽后字符串计算当前字符的下一个字符出现的概率,1阶Markov模型采用如下公式见式⑴:
Figure FDA0002664498820000011
P表示Markov模型中的概率,x是当前字符,v是关于字符在Web应用资源地址中平均出现概率的函数;已知当前字符及v(xi+1|xi)值,便能计算出下一个字符出现的概率;
对屏蔽后字符串随机化,从左至右扫描字符串,取当前字符,设定2个阈值n1、n2,根据马尔可夫模型得出当前字符n1个出现概率最高的下一个字符,在n1个字符中随机选择n2个字符作为下一个字符的替换字符,将下一个字符作为当前字符,继续该步骤直至完成所有的字符串替换;阈值n1、n2可由用户根据经验自行设定;
(3)将步骤(1)中屏蔽的字符串回填随机化后的字符串,回填后字符串为返回给客户端的资源地址;
(4)记录未变化字符串与动态变化后的替换字符串之间的映射关系;
步骤四、动态防御系统依据步骤三中建立的映射关系,对客户端流向Web服务端的访问进行动态替换,以保证Web访问的正常进行。
CN201811140572.4A 2018-09-28 2018-09-28 一种基于语义协同的Web应用动态防御方法 Active CN109309677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811140572.4A CN109309677B (zh) 2018-09-28 2018-09-28 一种基于语义协同的Web应用动态防御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811140572.4A CN109309677B (zh) 2018-09-28 2018-09-28 一种基于语义协同的Web应用动态防御方法

Publications (2)

Publication Number Publication Date
CN109309677A CN109309677A (zh) 2019-02-05
CN109309677B true CN109309677B (zh) 2020-11-17

Family

ID=65224857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811140572.4A Active CN109309677B (zh) 2018-09-28 2018-09-28 一种基于语义协同的Web应用动态防御方法

Country Status (1)

Country Link
CN (1) CN109309677B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263533A (zh) * 2019-04-28 2019-09-20 清华大学 网页安全防护方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158799A (zh) * 2014-07-17 2014-11-19 天津大学 一种基于url动态映射的http ddos防御方法
CN105095526B (zh) * 2015-09-29 2018-12-04 中企动力科技股份有限公司 Url结构处理方法、装置以及系统
KR20170093475A (ko) * 2016-02-05 2017-08-16 한국전자통신연구원 무선 센서 네트워크 환경에서 동적 주소 할당 운영 장치 및 방법
US10484428B2 (en) * 2016-06-09 2019-11-19 LGS Innovations LLC Methods and systems for securing VPN cloud servers
CN106657044B (zh) * 2016-12-12 2019-09-06 杭州电子科技大学 一种用于提高网站系统安全防御的网页地址跳变方法

Also Published As

Publication number Publication date
CN109309677A (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
CN108259494B (zh) 一种网络攻击检测方法及装置
CN103559235B (zh) 一种在线社交网络恶意网页检测识别方法
Khan et al. Detecting malicious URLs using binary classification through ada boost algorithm.
CN104156490A (zh) 基于文字识别检测可疑钓鱼网页的方法及装置
CN110650117B (zh) 跨站攻击防护方法、装置、设备及存储介质
CN104935494A (zh) 信息处理方法和装置
Yoo et al. Two-phase malicious web page detection scheme using misuse and anomaly detection
CN112182614B (zh) 一种动态Web应用防护系统
CN112989348B (zh) 攻击检测方法、模型训练方法、装置、服务器及存储介质
CN112929390A (zh) 一种基于多策略融合的网络智能监控方法
Zhou et al. CTI view: APT threat intelligence analysis system
CN112989831A (zh) 一种应用在网络安全领域的实体抽取方法
CN106250761B (zh) 一种识别web自动化工具的设备、装置及方法
CN110602030A (zh) 网络入侵阻断方法、服务器及计算机可读介质
CN108683649A (zh) 一种基于文本特征的恶意域名检测方法
JP2012088803A (ja) 悪性ウェブコード判別システム、悪性ウェブコード判別方法および悪性ウェブコード判別用プログラム
CN109284465A (zh) 一种基于url的网页分类器构建方法及其分类方法
CN109309677B (zh) 一种基于语义协同的Web应用动态防御方法
CN114117299A (zh) 一种网站入侵篡改检测方法、装置、设备及存储介质
CN110532784A (zh) 一种暗链检测方法、装置、设备及计算机可读存储介质
CN111125704B (zh) 一种网页挂马识别方法及系统
Stephen et al. Prevention of cross site scripting with E-Guard algorithm
CN113688346A (zh) 一种违法网站识别方法、装置、设备及存储介质
CN104301300A (zh) 一种检测网络钓鱼欺诈风险的方法、客户端和系统
Fu Web identity security: advanced phishing attacks and counter measures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Chen Haisong

Inventor after: Wu Zhendong

Inventor after: Li Yangzheng

Inventor after: Wu Chunming

Inventor before: Wu Zhendong

Inventor before: Li Yangzheng

Inventor before: Wu Chunming

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220523

Address after: 100083 Beijing Haidian District College Road No. 5, Building No. 1, Building No. 3, Building No. 1, West 2-007

Patentee after: BEIJING CHAITIN TECH Co.,Ltd.

Address before: 310018 No. 2 street, Xiasha Higher Education Zone, Hangzhou, Zhejiang

Patentee before: HANGZHOU DIANZI University