CN110602038B - 一种基于规则的异常ua检测和分析的方法及*** - Google Patents
一种基于规则的异常ua检测和分析的方法及*** Download PDFInfo
- Publication number
- CN110602038B CN110602038B CN201910706278.3A CN201910706278A CN110602038B CN 110602038 B CN110602038 B CN 110602038B CN 201910706278 A CN201910706278 A CN 201910706278A CN 110602038 B CN110602038 B CN 110602038B
- Authority
- CN
- China
- Prior art keywords
- abnormal
- uas
- normal
- client
- http
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- 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/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于规则的异常UA检测和分析的方法及***,基于Spark网络流量捕获平台对网络流量进行捕获,根据HTTP格式将HTTP流量从所有网络流量中过滤出来,通过对HTTP流量进行UA字段的提取,可以有效针对网络流量中的异常UA进行检测和分析,从而便于网络管理和恶意软件检测。
Description
技术领域
本发明属于网络信息技术领域,具体涉及一种基于规则的异常UA(User Agent)检测和分析的方法及***。
背景技术
在网络流量中的关键字段在网络流量中起着至关重要的作用。Domain NameSystem(DNS)中的关键字段可用于解决域中的剩余信任以查看DNS解析的演变,以及检测网络中的恶意软件行为。同样,HyperText Transfer Protocol(HTTP)和Transport LayerSecurity/Secure Socket Layer(TLS/SSL)协议中的关键字段,如UA,cookie,server nameindication(SNI),在网络行为分析和恶意行为检测中起着至关重要的作用。
由于HTTP每天产生的所有流量中占据了所有协议流量的将近一半,用户使用HTTP的频率很高且涉及到的用户使用HTTP数目很多,并且HTTP中的User Agent字段包含客户端的信息,包括客户端的操作***及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。因此,研究User Agent字段既可以被认为是研究了网络中流量关键字段含有异常字符的情况还可以从客户端的角度分析异常字符出现的原因,因为产生含有这些异常字符的客户端可能存在恶意行为。为了研究这种在网络流量中各种协议的关键字段存在异常字符的现象,对HTTP协议的User Agent字段作为数据进行检测和分析。由于UA可以包含客户端的信息,UA也会被用于识别恶意软件,同时通过统计客户端的操作***,浏览器以及设备的信息可以显现客户端的偏好。
在高速网络环境下,对网络协议实现深度解析,提取关键字段内容是对网络测绘,流量属性标注的首要前提,然而,由于网络协议的复杂性,现有的解析工具对高速网络环境下的协议解析经常出现关键字段存在异常字符的情况,这些关键字段中的异常字符对实现网络流量的有效测绘与标注引入了污染的错误信息。
对于关键字段出现异常字符的情况,在以往对UA的相关研究中中通常会被忽视,不直接对这些关键字段进行处理。由于对这些UA也在一定程度生反应出客户端的行为和客户端有着紧密的联系,这些UA是不应该被忽略的,它们也表现了在网络流量中UA的生态***。
发明内容
本发明的目的在于提供一种基于规则的异常UA检测和分析的方法及***,通过对网络中的HTTP流量进行UA字段的提取,可以有效针对网络流量中的异常UA进行检测和分析,从而便于网络管理和恶意软件检测。
为实现上述目的,本发明采用如下技术方案:
一种基于规则的异常UA检测和分析的方法,包括以下步骤:
基于Spark网络流量捕获平台对网络流量进行捕获;
对捕获到的流量进行协议解析,根据HTTP格式将HTTP流量从所有网络流量中过滤出来,提取出UA字段和客户端的IP信息并存储为日志;
通过正则表达式对提取出的UA进行异常检测,判断UA是否存在异常字符,若存在异常字符,则判定为异常UA;
根据检测出的异常UA,对日志中的数据计算异常UA和正常UA的相似度,保存与异常UA的相似度大于0的正常UA;
对含有异常UA数目最多的前若干个客户端进行分析,找出出现异常字符的原因;
对保存的正常UA进行自定义类别并按照自定义类型进行分类,将不符合自定义类别的正常UA重新判定为异常UA,并对含有该异常UA的客户端所使用的设备类型和浏览器类型进行偏好分析,检测出恶意客户端。
进一步地,UA字段和客户端的IP信息以<client ID,UA>的格式形成日志。
进一步地,使用Levenshtein距离对日志中的数据计算异常UA和正常UA的相似度。
进一步地,所述若干个客户端的指含有的异常UA总数占所有异常UA总数的80%的客户端。
进一步地,对异常UA进行单独存储,并统计数量。
进一步地,出现异常字符的原因包括:恶意软件自身产生异常UA,UA的编码和解码方式不同产生异常UA。
一种基于规则的异常UA检测和分析的***,包括:
Spark网络流量捕获平台,用于捕获网络流量;
过滤器,用于对捕获到的流量进行协议解析,提取出UA字段和客户端的IP信息并存储为日志,通过正则表达式对提取出的UA进行异常检测,检测出含有异常字符的异常UA和与异常UA的相似度大于0正常UA;
分析器,用于对含有异常UA数目最多的前若干个客户端进行分析,找出出现异常字符的原因;以及对保存的正常UA进行自定义类别并按照自定义类型进行分类,将不符合自定义类别的正常UA重新判定为异常UA,并对含有该异常UA的客户端所使用的设备类型和浏览器类型进行偏好分析,检测出恶意客户端。
进一步地,过滤器包括HTTP提取器、UA提取器和IP提取器,HTTP提取器用于根据HTTP格式将HTTP流量从所有网络流量中过滤出来,UA提取器用于从HTTP流量中提取出UA字段,IP提取器用于从HTTP流量中提取出客户端的IP信息。
本发明方法旨在关注通常被忽略的含有异常字符的UA,使用基于规则的方法(即正则表达式),对网络流量中所有的UA过滤出含有异常字符的UA和对这些UA的数量进行统计,并且从这些UA中分析出恶意的客户端。本方法实现高速网络流量进行被动测量,使用基于Spark的高速网络流量捕获平台捕获网络流量,并且对HTTP进行了识别和深度解析,提取出了其中的UA字段。研究了通常被忽略的异常UA的检测方法以及它们出现的原因,使用了基于规则的方法,即正则表达式对UA字段进行异常UA检测,使用正则表达式成功区分含有异常字符的UA和正常的UA。通过使用Levenshtein距离计算每个异常UA和其他正常UA的相似度,并且将于这些异常UA的相似度大于0的正常UA保存起来以便分析。从编码和恶意用户的角度揭示了网络流量中产生异常字符的原因。
本发明方法具有以下优点:
(1)关注细节,测量分析在网络流量中含有异常字符的UA。
(2)使用基于规则的正则表达式从所有的UA字段中检测出了含有异常字符的UA,从耗费的时间上来看会快于基于统计的方法。并且正常UA具有固定的格式和字符,使用正确规则的方法不会出现误判的情况产生。
(3)对含有异常字符数目最多的前若干个(例如前20个)的客户端进行分析,避免偶然因素造成的UA含有异常字符干扰分析结果,从客户端的角度分析异常UA产生的原因。
(4)不仅对异常UA进行分析,同时还对使用Levenshtein距离计算与这些异常UA的相似度大于0的正常UA进行分析,形式上正常的UA在含义上可能是异常的,本方法中不仅检测出形式上异常的UA还可以检测出含义上异常的UA,展现了异常UA在网络流量中的“生态***”。
附图说明
图1是一种基于规则的异常UA检测和分析的方法流程图。
图2是一种基于规则的异常UA检测和分析的***框架图。
具体实施方式
为使本发明的上述特征和优点能更明显易懂,下文结合附图,对本发明公开的一种基于规则的异常UA检测和分析的方法进行详细说明,如图1所示流程图,包括以下步骤:
一、检测阶段:
(1)网络流量捕获:使用基于Spark的高速网络流量捕获平台,对高速流量进行捕获,并且等待处理。
(2)网络流量过滤和关键字段提取:将上述捕获到的流量进行协议解析,根据HTTP格式将HTTP流量从所有网络流量中过滤出来,并且按照HTTP的格式提取出UA字段和客户端的IP信息,以<client ID,UA>的格式形成日志存储起来。
(3)异常UA检测:通过正则表达式对提取出的UA进行检测,判断是否存在异常字符,若UA不符合所制定的规则,则判定为存在异常字符,对其进行单独存储起来,并且同时统计他们的数量。
(4)正常UA提取:根据检测出的异常UA,使用Levenshtein距离在收集的日志中的数据计算异常UA和正常UA的相似度,并且保存与这些异常UA的相似度大于0的正常UA。
二、分析阶段:
(1)异常UA分析:为了防止网络中的偶然因素造成的UA中出现异常字符的情况,选择含有异常UA数目在所有客户端中为前20的客户端进行出现异常字符的原因分析,这20个客户端含有的异常UA总数占所有异常UA总数的80%左右。通过对过滤出的异常UA的分析,发现这些UA出现的原因有两个,其中主要是由于恶意软件自身产生的异常UA,因为这种客户端产生了大量相同的异常UA,同时UA的编码和解码方式不同也是造成异常UA的原因之一。可以通过这些异常UA检测和追踪这些恶意软件的恶意行为,有利于维护网络安全,并且展示了异常UA的生态***可以通过这些异常UA检测和追踪这些恶意软件的恶意行为,有利于维护网络安全,并且展示了异常UA的生态***。
(2)正常UA分析:由于这些客户端产生了很多的异常UA,这些客户端的正常UA从UA的使用意义来说也一定是正常的,对这些正常的UA自定义类别和分类,并且从客户端使用设备类型和浏览器进行了分析。
上述方法通过一种基于规则的异常UA检测和分析的***实现,如图1和图2所示,具体包括以下几个部分:
Spark网络流量捕获平台,用于捕获网络流量;
过滤器,用于对捕获到的流量进行协议解析,提取出UA字段和客户端的IP信息并存储为日志,通过正则表达式对提取出的UA进行异常检测,检测出含有异常字符的异常UA和与异常UA的相似度大于0正常UA;具体地,过滤器包括HTTP提取器、UA提取器和IP提取器,HTTP提取器用于根据HTTP格式将HTTP流量从所有网络流量中过滤出来,UA提取器用于从HTTP流量中提取出UA字段,IP提取器用于从HTTP流量中提取出客户端的IP信息。
分析器,用于对含有异常UA数目最多的前若干个客户端进行分析,找出出现异常字符的原因;以及对保存的正常UA进行自定义类别并按照自定义类型进行分类,将不符合自定义类别的正常UA重新判定为异常UA,并对含有该异常UA的客户端所使用的设备类型和浏览器类型进行偏好分析,检测出恶意客户端。
以下特举一实施例,对本发明方法做进一步说明:
如图2所示,使用流量捕获平台捕获了2个月的流量,一共收集了超过1500亿的UA,其中有近2200万的UA含有异常字符,这些异常UA与正常UA的比例约为0.1485‰,其中含有异常字符的客户端的数目大约有91000个,它们分布在世界各地。
选择含有异常UA的数目为所有客户端的前20的客户端查找原因,避免偶然因素给分析带来干扰。从中找到了两个原因导致异常UA,其中一个原因是UA的解码和编码方法不匹配,另一个原因是用户/应用程序本身产生了这些异常UA,这些恶意用户更容易生成异常UA来进行恶意活动,并且它们的格式不同于正常UA的格式。
最后对过滤出的正常UA进行自定义类别,并且按照自定义类别使用正则表达式对正常UA进行分类,发现了3种含义上异常(即不符合上述自定义类别)的UA的类型,展现了异常UA的生态***。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (10)
1.一种基于规则的异常UA检测和分析的方法,包括以下步骤:
基于Spark网络流量捕获平台对网络流量进行捕获;
对捕获到的流量进行协议解析,根据HTTP格式将HTTP流量从所有网络流量中过滤出来,提取出UA字段和客户端的IP信息并存储为日志;
通过正则表达式对提取出的UA进行异常检测,判断UA是否存在异常字符,若存在异常字符,则判定为异常UA;
根据检测出的异常UA,对日志中的数据计算异常UA和正常UA的相似度,保存与异常UA的相似度大于0的正常UA;
对含有异常UA数目最多的前若干个客户端进行分析,找出出现异常字符的原因;
对保存的正常UA进行自定义类别并按照自定义类型进行分类,将不符合自定义类别的正常UA重新判定为异常UA,并对含有该异常UA的客户端所使用的设备类型和浏览器类型进行偏好分析,检测出恶意客户端。
2.如权利要求1所述的方法,其特征在于,UA字段和客户端的IP信息以<client ID,UA>的格式形成日志。
3.如权利要求1所述的方法,其特征在于,使用Levenshtein距离对日志中的数据计算异常UA和正常UA的相似度。
4.如权利要求1所述的方法,其特征在于,所述若干个客户端的指含有的异常UA总数占所有异常UA总数的80%的客户端。
5.如权利要求1所述的方法,其特征在于,对异常UA进行单独存储,并统计数量。
6.如权利要求1所述的方法,其特征在于,出现异常字符的原因包括:恶意软件自身产生异常UA,UA的编码和解码方式不同产生异常UA。
7.一种基于规则的异常UA检测和分析的***,包括:
Spark网络流量捕获平台,用于捕获网络流量;
过滤器,用于对捕获到的流量进行协议解析,提取出UA字段和客户端的IP信息并存储为日志,通过正则表达式对提取出的UA进行异常检测,检测出含有异常字符的异常UA,计算所述异常UA与正常UA的相似度,保存与所述异常UA的相似度大于0的正常UA;
分析器,用于对含有异常UA数目最多的前若干个客户端进行分析,找出出现异常字符的原因;以及对保存的正常UA进行自定义类别并按照自定义类型进行分类,将不符合自定义类别的正常UA重新判定为异常UA,并对含有该异常UA的客户端所使用的设备类型和浏览器类型进行偏好分析,检测出恶意客户端。
8.如权利要求7所述的***,其特征在于,过滤器包括HTTP提取器、UA提取器和IP提取器,HTTP提取器用于根据HTTP格式将HTTP流量从所有网络流量中过滤出来,UA提取器用于从HTTP流量中提取出UA字段,IP提取器用于从HTTP流量中提取出客户端的IP信息。
9.如权利要求8所述的***,其特征在于,UA字段和客户端的IP信息以<client ID,UA>的格式形成日志。
10.如权利要求7所述的***,其特征在于,所述若干个客户端的指含有的异常UA总数占所有异常UA总数的80%的客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910706278.3A CN110602038B (zh) | 2019-08-01 | 2019-08-01 | 一种基于规则的异常ua检测和分析的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910706278.3A CN110602038B (zh) | 2019-08-01 | 2019-08-01 | 一种基于规则的异常ua检测和分析的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110602038A CN110602038A (zh) | 2019-12-20 |
CN110602038B true CN110602038B (zh) | 2020-12-04 |
Family
ID=68853368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910706278.3A Active CN110602038B (zh) | 2019-08-01 | 2019-08-01 | 一种基于规则的异常ua检测和分析的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110602038B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113382000A (zh) * | 2021-06-09 | 2021-09-10 | 北京天融信网络安全技术有限公司 | 一种ua字符串的异常检测方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109691023A (zh) * | 2017-05-25 | 2019-04-26 | 微软技术许可有限责任公司 | 解析器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100493094C (zh) * | 2006-08-25 | 2009-05-27 | 清华大学 | 基于特征码的p2p数据报文检测方法 |
CN103856524A (zh) * | 2012-12-04 | 2014-06-11 | 中山大学深圳研究院 | 基于用户代理的白名单识别合法内容的方法和*** |
US9729509B2 (en) * | 2013-03-23 | 2017-08-08 | Fortinet, Inc. | System and method for integrated header, state, rate and content anomaly prevention for session initiation protocol |
US9215240B2 (en) * | 2013-07-25 | 2015-12-15 | Splunk Inc. | Investigative and dynamic detection of potential security-threat indicators from events in big data |
CN107483488B (zh) * | 2017-09-18 | 2021-04-30 | 济南互信软件有限公司 | 一种恶意Http检测方法及*** |
CN109583472A (zh) * | 2018-10-30 | 2019-04-05 | 中国科学院计算技术研究所 | 一种web日志用户识别方法和*** |
-
2019
- 2019-08-01 CN CN201910706278.3A patent/CN110602038B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109691023A (zh) * | 2017-05-25 | 2019-04-26 | 微软技术许可有限责任公司 | 解析器 |
Also Published As
Publication number | Publication date |
---|---|
CN110602038A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109960729B (zh) | Http恶意流量的检测方法及*** | |
CN108683687B (zh) | 一种网络攻击识别方法及*** | |
CN108471429B (zh) | 一种网络攻击告警方法及*** | |
CN108881263B (zh) | 一种网络攻击结果检测方法及*** | |
US10721245B2 (en) | Method and device for automatically verifying security event | |
CN111277578A (zh) | 加密流量分析特征提取方法、***、存储介质、安全设备 | |
CN109167754A (zh) | 一种网络应用层安全防护*** | |
CN108833185B (zh) | 一种网络攻击路线还原方法及*** | |
US10187412B2 (en) | Robust representation of network traffic for detecting malware variations | |
CN113259313A (zh) | 一种基于在线训练算法的恶意https流量智能分析方法 | |
CN108718298B (zh) | 一种恶意外连流量检测方法及装置 | |
Deokar et al. | Intrusion detection system using log files and reinforcement learning | |
CN107547490B (zh) | 一种扫描器识别方法、装置及*** | |
CN110958231A (zh) | 基于互联网的工控安全事件监测平台及其方法 | |
CN107209834B (zh) | 恶意通信模式提取装置及其***和方法、记录介质 | |
US20230092159A1 (en) | Label guided unsupervised learning based network-level application signature generation | |
Kirchner | A framework for detecting anomalies in http traffic using instance-based learning and k-nearest neighbor classification | |
Machlica et al. | Learning detectors of malicious web requests for intrusion detection in network traffic | |
CN110602038B (zh) | 一种基于规则的异常ua检测和分析的方法及*** | |
CN115134147A (zh) | 电子邮件检测方法及装置 | |
Díaz-Verdejo et al. | A methodology for conducting efficient sanitization of HTTP training datasets | |
CN108763916B (zh) | 业务接口安全评估方法及装置 | |
CN113779573A (zh) | 一种基于***溯源图的大规模勒索软件分析方法和分析装置 | |
CN116738369A (zh) | 一种流量数据的分类方法、装置、设备及存储介质 | |
Iqbal et al. | Analysis of a payload-based network intrusion detection system using pattern recognition processors |
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 |