CN114124448B - 一种基于机器学习的跨站脚本攻击识别方法 - Google Patents
一种基于机器学习的跨站脚本攻击识别方法 Download PDFInfo
- Publication number
- CN114124448B CN114124448B CN202111195689.4A CN202111195689A CN114124448B CN 114124448 B CN114124448 B CN 114124448B CN 202111195689 A CN202111195689 A CN 202111195689A CN 114124448 B CN114124448 B CN 114124448B
- Authority
- CN
- China
- Prior art keywords
- cross
- data
- site
- attack
- machine learning
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000010801 machine learning Methods 0.000 title claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 10
- 230000011218 segmentation Effects 0.000 claims abstract description 8
- 238000004458 analytical method Methods 0.000 claims abstract description 5
- 238000012549 training Methods 0.000 claims abstract description 5
- 238000012512 characterization method Methods 0.000 claims abstract description 4
- 238000004140 cleaning Methods 0.000 claims abstract description 4
- 230000008595 infiltration Effects 0.000 claims abstract description 4
- 238000001764 infiltration Methods 0.000 claims abstract description 4
- 238000002372 labelling Methods 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims abstract description 4
- 230000004044 response Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 208000028257 Joubert syndrome with oculorenal defect Diseases 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于机器学习的跨站脚本攻击识别方法,包括以下步骤:S1、网页数据收集:搭建含有跨站脚本攻击漏洞的靶场,使用扫描器和人工渗透的方式收集含有跨站脚本攻击的相关数据,对相关数据进行分类标注;S2、数据特征工程:对相关数据进行数据清洗;S3、数据特征化分析:将跨站脚本攻击语句视为文本信息,进行文本特征抽取,生成分词信息;S4、机器学习:将分词信息通过XGBoost集成算法模型进行训练,得到用于跨站脚本攻击识别的分类器模型;S5、跨站脚本攻击识别:将Web请求数据经过特征工程及向量化处理后进入分类器模型进行预测,识别跨站脚本攻击。本发明能够有效提高跨站脚本攻击识别效率,提高安全性。
Description
技术领域
本发明涉及网络数据安全技术领域,具体涉及一种基于机器学习的跨站脚本攻击识别方法。
背景技术
当今,计算机网络技术发展得十分迅速,网络犯罪行为日益增加。网络犯罪行为主要有两种形式,一是非法获取系统数据,二是让系统无法提供服务。在非法获取系统数据方面,跨站脚本攻击利用网站漏洞恶意盗取信息是非常典型的攻击手段。与大多数攻击不同的是,跨站脚本漏洞涉及到攻击者、客户端和网站,而不像大多数攻击一样只有攻击者和受害者。这无疑增加了跨站脚本漏洞的攻防难度。
传统的方法是人工动态检测检测方法和静态检测方法两种方式进行。第一种动态检测方法,该方法从黑盒测试入手,又结合了渗透攻击相关的方法,实现了对XSS漏洞的检测。当前的动态检测方法都会使用真实的XSS攻击代码,或者利用网络爬虫对目标网页进行爬取分析,但是网络爬虫的时间开销十分巨大,且不能保证爬取到的页面数据覆盖了网站的全部页面,并且数据库中存储的攻击代码又无法涵盖所有的攻击场景,存取的开销对服务器的要求也非常。第二种静态检测方法是HTML5和CORS属性规则在浏览器设计一个过滤器来检测XSS攻击,并提供了一个系统来判断被拦截的请求是否有恶意企图。通过以上我们不难看出传统的跨站脚本检测方法往往需要花费大量的时间和精力来提取这些攻击数据的特征,而且还需要一定的经验相结合才能取得很好的效果。对人员依赖程度很大,人员能力水平参差不齐,会影响最终的效果,并且对服务器资源的开销也是非常大的。
发明内容
本发明是为了解决现有技术中人们在使用互联网数据时无法及时有效预防跨站脚本攻击的技术问题,提供一种基于机器学习的跨站脚本攻击识别方法,能够有效提高跨站脚本攻击识别效率,提高安全性。
本发明提供一种基于机器学习的跨站脚本攻击识别方法,包括以下步骤:
S1、网页数据收集:搭建含有跨站脚本攻击漏洞的靶场,使用扫描器和人工渗透的方式收集含有跨站脚本攻击的相关数据,对相关数据进行分类标注;
S2、数据特征工程:对相关数据进行数据清洗;
S3、数据特征化分析:将跨站脚本攻击语句视为文本信息,进行文本特征抽取,生成分词信息;
S4、机器学习:将分词信息通过XGBoost集成算法模型进行训练,得到用于跨站脚本攻击识别的分类器模型;
S5、跨站脚本攻击识别:将Web请求数据经过特征工程及向量化处理后进入分类器模型进行预测,识别跨站脚本攻击。
XGBoost是一个优化的分布式梯度增强库,旨在实现高效,灵活和便携。它在Gradient Boosting框架下实现机器学习算法。XGBoost提供并行树提升(也称为GBDT,GBM),可以快速准确地解决许多数据科学问题。相同的代码在主要的分布式环境上运行,并且可以解决数十亿个示例之外的问题。XGBoost是对梯度提升算法的改进,求解损失函数极值时使用了牛顿法,将损失函数泰勒展开到二阶,另外损失函数中加入了正则化项。训练时的目标函数由两部分构成,第一部分为梯度提升算法损失,第二部分为正则化项。
本发明所述的一种基于机器学习的跨站脚本攻击识别方法,作为优选方式,相关数据包括请求参数、请求方法、响应内容、响应状态。
本发明所述的一种基于机器学习的跨站脚本攻击识别方法,作为优选方式,分类标注包括跨站脚本攻击类和非跨站脚本攻击类。
本发明所述的一种基于机器学习的跨站脚本攻击识别方法,作为优选方式,扫描器为wvs或appscan。
本发明所述的一种基于机器学习的跨站脚本攻击识别方法,作为优选方式,步骤S2进一步包括以下步骤:
S21、采用下采样算法将相关数据中包含缺失值的数据清除;
S22、使用xpath将响应内容中的标签去除,只保留页面内容;
S23、采用urlparse包中的方法将所述请求参数、IP地址、端口号进行区分;
S24、使用Pearson相关系数评价相关数据的特征变量跟特征之间的关系,去除和最终类别无关的数据。
XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言;XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。
Pearson相关系数(Pearson Correlation Coefficient)是用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系。
本发明具有以下优点:
(1)对跨站脚本的识别方式更加灵活多样;
(2)减少了对人员的依赖程度;
(3)识别结果不依赖于相关人员的经验。识别准确度大幅度提高;
(4)识别准确度大幅度提高;
(5)进一步提高了跨站脚本的识别效率。
附图说明
图1为一种基于机器学习的跨站脚本攻击识别方法流程图;
图2为一种基于机器学习的跨站脚本攻击识别方法数据特征工程流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1所示,一种基于机器学习的跨站脚本攻击识别方法,包括以下步骤:
S1、网页数据收集:搭建含有跨站脚本攻击漏洞的靶场,使用wvs、appscan等扫描器和人工渗透的方式收集含有跨站脚本攻击的相关数据,对相关数据进行分类标注;相关数据包括请求参数、请求方法、响应内容、响应状态;分类标注包括跨站脚本攻击类和非跨站脚本攻击类;
S2、数据特征工程:对相关数据进行数据清洗;如图2所示,包括以下步骤:
S21、采用下采样算法将相关数据中包含缺失值的数据清除;
S22、使用xpath将响应内容中的标签去除,只保留页面内容;
S23、采用urlparse包中的方法将所述请求参数、IP地址、端口号进行区分;
S24、使用Pearson相关系数评价相关数据的特征变量跟特征之间的关系,去除和最终类别无关的数据;
S3、数据特征化分析:将跨站脚本攻击语句视为文本信息,进行文本特征抽取,生成分词信息;
S4、机器学习:将分词信息通过XGBoost集成算法模型进行训练,得到用于跨站脚本攻击识别的分类器模型;
S5、跨站脚本攻击识别:将Web请求数据经过特征工程及向量化处理后进入分类器模型进行预测,识别跨站脚本攻击。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (3)
1.一种基于机器学习的跨站脚本攻击识别方法,其特征在于:包括以下步骤:
S1、网页数据收集:搭建含有跨站脚本攻击漏洞的靶场,使用扫描器和人工渗透的方式收集含有跨站脚本攻击的相关数据,对所述相关数据进行分类标注;
S2、数据特征工程:对所述相关数据进行数据清洗;所述相关数据包括请求参数、请求方法、响应内容、响应状态;步骤S2进一步包括以下步骤:
S21、采用下采样算法将所述相关数据中包含缺失值的数据清除;
S22、使用xpath将所述响应内容中的标签去除,只保留页面内容;
S23、采用urlparse包中的方法将所述请求参数、IP地址、端口号进行区分;
S24、使用Pearson相关系数评价所述相关数据的特征变量跟特征之间的关系,去除和最终类别无关的数据;
S3、数据特征化分析:将跨站脚本攻击语句视为文本信息,进行文本特征抽取,生成分词信息;
S4、机器学习:将所述分词信息通过XGBoost集成算法模型进行训练,得到用于跨站脚本攻击识别的分类器模型;
S5、跨站脚本攻击识别:将Web请求数据经过所述数据特征工程及向量化处理后进入所述分类器模型进行预测,识别所述跨站脚本攻击。
2.根据权利要求1所述的一种基于机器学习的跨站脚本攻击识别方法,其特征在于:所述分类标注包括跨站脚本攻击类和非跨站脚本攻击类。
3.根据权利要求1所述的一种基于机器学习的跨站脚本攻击识别方法,其特征在于:所述扫描器为wvs或appscan。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111195689.4A CN114124448B (zh) | 2021-10-14 | 2021-10-14 | 一种基于机器学习的跨站脚本攻击识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111195689.4A CN114124448B (zh) | 2021-10-14 | 2021-10-14 | 一种基于机器学习的跨站脚本攻击识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124448A CN114124448A (zh) | 2022-03-01 |
CN114124448B true CN114124448B (zh) | 2024-03-19 |
Family
ID=80375910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111195689.4A Active CN114124448B (zh) | 2021-10-14 | 2021-10-14 | 一种基于机器学习的跨站脚本攻击识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124448B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115695054B (zh) * | 2023-01-04 | 2023-03-21 | 北京知其安科技有限公司 | 基于机器学习的waf拦截页面识别的方法、装置及相关组件 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165507A (zh) * | 2018-07-09 | 2019-01-08 | 深圳开源互联网安全技术有限公司 | 跨站脚本攻击漏洞检测方法、装置及终端设备 |
CN109766693A (zh) * | 2018-12-11 | 2019-05-17 | 四川大学 | 一种基于深度学习的跨站脚本攻击检测方法 |
CN110321707A (zh) * | 2018-03-28 | 2019-10-11 | 蓝盾信息安全技术有限公司 | 一种基于大数据算法的sql注入检测方法 |
CN110351301A (zh) * | 2019-07-26 | 2019-10-18 | 长沙市智为信息技术有限公司 | 一种http请求双层递进式异常检测方法 |
KR20200084392A (ko) * | 2018-12-20 | 2020-07-13 | 문수연 | 기계학습을 이용한 행위 분석 기반의 웹 공격 분류 및 탐지 |
CN112671703A (zh) * | 2020-11-18 | 2021-04-16 | 中国电子科技网络信息安全有限公司 | 基于改进fastText的跨站脚本攻击检测方法 |
-
2021
- 2021-10-14 CN CN202111195689.4A patent/CN114124448B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321707A (zh) * | 2018-03-28 | 2019-10-11 | 蓝盾信息安全技术有限公司 | 一种基于大数据算法的sql注入检测方法 |
CN109165507A (zh) * | 2018-07-09 | 2019-01-08 | 深圳开源互联网安全技术有限公司 | 跨站脚本攻击漏洞检测方法、装置及终端设备 |
CN109766693A (zh) * | 2018-12-11 | 2019-05-17 | 四川大学 | 一种基于深度学习的跨站脚本攻击检测方法 |
KR20200084392A (ko) * | 2018-12-20 | 2020-07-13 | 문수연 | 기계학습을 이용한 행위 분석 기반의 웹 공격 분류 및 탐지 |
CN110351301A (zh) * | 2019-07-26 | 2019-10-18 | 长沙市智为信息技术有限公司 | 一种http请求双层递进式异常检测方法 |
CN112671703A (zh) * | 2020-11-18 | 2021-04-16 | 中国电子科技网络信息安全有限公司 | 基于改进fastText的跨站脚本攻击检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114124448A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11716347B2 (en) | Malicious site detection for a cyber threat response system | |
US9935967B2 (en) | Method and device for detecting malicious URL | |
CN103559235B (zh) | 一种在线社交网络恶意网页检测识别方法 | |
CN104954372B (zh) | 一种钓鱼网站的取证与验证方法及系统 | |
CN112541476B (zh) | 一种基于语义特征提取的恶意网页识别方法 | |
US20190297092A1 (en) | Access classification device, access classification method, and recording medium | |
CN107463844B (zh) | Web木马检测方法及系统 | |
Liu et al. | An efficient multistage phishing website detection model based on the CASE feature framework: Aiming at the real web environment | |
CN110572359A (zh) | 基于机器学习的钓鱼网页检测方法 | |
CN104504335A (zh) | 基于页面特征和url特征的钓鱼app检测方法及系统 | |
CN109756467B (zh) | 一种钓鱼网站的识别方法及装置 | |
CN109858248A (zh) | 恶意Word文档检测方法和装置 | |
CN105975523A (zh) | 一种基于栈的暗链检测方法 | |
Park et al. | Phishing website detection framework through web scraping and data mining | |
CN108183902B (zh) | 一种恶意网站的识别方法和装置 | |
Geng et al. | RRPhish: Anti-phishing via mining brand resources request | |
CN114357443A (zh) | 基于深度学习的恶意代码检测方法、设备与存储介质 | |
CN114124448B (zh) | 一种基于机器学习的跨站脚本攻击识别方法 | |
CN116015772A (zh) | 恶意网址的处理方法、装置、设备及存储介质 | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 | |
CN114169432B (zh) | 一种基于深度学习的跨站脚本攻击识别方法 | |
CN113904834A (zh) | 基于机器学习的xss攻击检测方法 | |
Valiyaveedu et al. | Survey and analysis on AI based phishing detection techniques | |
CN114143074A (zh) | webshell攻击识别装置及方法 | |
Onashoga et al. | A HYBRID APPROACH FOR DETECTING MALICIOUS WEB PAGES USING DECISION TREE AND NAÏVE BAYES ALGORITHMS. |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |