CN113382000A - 一种ua字符串的异常检测方法、装置、设备及介质 - Google Patents
一种ua字符串的异常检测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113382000A CN113382000A CN202110643284.6A CN202110643284A CN113382000A CN 113382000 A CN113382000 A CN 113382000A CN 202110643284 A CN202110643284 A CN 202110643284A CN 113382000 A CN113382000 A CN 113382000A
- Authority
- CN
- China
- Prior art keywords
- character string
- string
- character
- strings
- detected
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 32
- 230000002159 abnormal effect Effects 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000011218 segmentation Effects 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000009877 rendering Methods 0.000 claims description 15
- 230000005856 abnormality Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000007619 statistical method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 6
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/1425—Traffic logging, e.g. anomaly detection
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开实施例涉及一种UA字符串的异常检测方法、装置、设备及介质,其中该方法包括:获取待检测的UA字符串;对所述待检测的UA字符串进行切分处理,得到多个目标字符串;通过预先建立的字符串库判别各个所述目标字符串是否异常;其中,所述字符串库中收录有基于多个正常UA字符串提取得到的多个子字符串;如果发现异常的目标字符串,确定所述待检测的UA字符串异常。本公开实施例能够较为可靠地实现UA字符串的异常检测,有助于保障网络信息安全。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种UA字符串的异常检测方法、装置、设备及介质。
背景技术
UA(User-Agent,用户代理)字段是HTTP(HyperText Transfer Protocol,超文本传输协议)首部字段之一,UA字段对应的字符串(UA字符串)携带有诸如操作系统及版本、CPU(Central Processing Unit,中央处理器)类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等多种信息。然而,发明人经研究发现,在实际网络环境中,存在恶意软件利用UA字符串传输恶意数据,具体而言,恶意软件选择在UA字符串中插入自定义数据,用于传输恶意信息或标识符,或者基于插入的自定义数据标识出相应的HTTP流量,以便后续进行恶意攻击,对网络信息安全具有威胁性。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种UA字符串的异常检测方法、装置、设备及介质。
本公开实施例提供了一种UA字符串的异常检测方法,所述方法包括:获取待检测的UA字符串;对所述待检测的UA字符串进行切分处理,得到多个目标字符串;通过预先建立的字符串库判别各个所述目标字符串是否异常;其中,所述字符串库中收录有基于多个正常UA字符串提取得到的多个子字符串;如果发现异常的目标字符串,确定所述待检测的UA字符串异常。
可选的,所述获取待检测的UA字符串的步骤,包括:对接收到的HTTP流量进行UA字段检测;如果检测到UA字段,将所述UA字段对应的字符串提取出来作为待检测的UA字符串。
可选的,所述对所述待检测的UA字符串进行切分处理,得到多个目标字符串的步骤,包括:识别所述待检测的UA字符串中所包含的标点符;基于所述标点符对所述待检测的UA字符串进行切分处理,得到多个目标字符串。
可选的,所述基于所述标点符对所述待检测的UA字符串进行切分处理,得到多个目标字符串的步骤,包括:基于所述标点符对所述待检测的UA字符串进行切分处理,得到多个初始字符串;其中,所述初始字符串为相邻标点符之间的字符串;将多个所述初始字符串中的数字类字符串删除,将余下的初始字符串作为目标字符串。
可选的,所述基于所述标点符对所述待检测的UA字符串进行切分处理的步骤,包括:基于全部所述标点符对所述待检测的UA字符串进行切分处理;或者,从全部所述标点符中删除指定标点符,基于余下的所述标点符对所述待检测的UA字符串进行切分处理。
可选的,所述通过预先建立的字符串库判别各个所述目标字符串是否异常的步骤,包括:对于每个所述目标字符串,均从预先建立的字符串库中检索是否存在与该目标字符串一致的子字符串;如果未检索到与该目标字符串一致的子字符串,确定该目标字符串异常。
可选的,所述字符串库按照如下步骤建立得到:获取多个正常UA字符串;对所述多个正常UA字符串按照操作系统类别、渲染引擎类别、浏览器类别、语言类别进行子字符串提取,得到每种类别对应的多个子字符串;对所述多个正常UA字符串进行统计分析,提取出除了所述类别对应的子字符串之外还重复出现的多个子字符串;基于所述每种类别对应的多个子字符串以及所述重复出现的多个子字符串构建字符串库。
本公开实施例还提供了一种UA字符串的异常检测装置,包括:字符串获取模块,用于获取待检测的UA字符串;字符串切分模块,用于对所述待检测的UA字符串进行切分处理,得到多个目标字符串;字符串判别模块,用于通过预先建立的字符串库判别各个所述目标字符串是否异常;其中,所述字符串库中收录有从多个正常UA字符串中提取得到的多个子字符串;异常确定模块,用于如果发现异常的目标字符串,确定所述待检测的UA字符串异常。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的UA字符串的异常检测方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的UA字符串的异常检测方法。
本公开实施例提供的上述技术方案,能够对获取到的待检测的UA字符串进行切分处理,得到多个目标字符串,然后通过预先建立的字符串库判别各个目标字符串是否异常;其中,字符串库中收录有基于多个正常UA字符串提取得到的多个子字符串;如果发现异常的目标字符串,确定待检测的UA字符串异常。这种方式将UA字符串切分为多个小的目标字符串,然后采用预先构建的包含合法字符串(也即正常UA字符串提取的子字符串)的字符串库来识别每个目标字符串是否异常,能够较为可靠地发现被恶意插入的异常字符,从而实现UA字符串的异常检测,有助于保障网络信息安全。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种UA字符串的异常检测方法流程图;
图2为本公开实施例提供的另一种UA字符串的异常检测方法流程图;
图3为本公开实施例提供的另一种UA字符串的异常检测方法流程图;
图4为本公开实施例提供的一种UA字符串的异常检测装置的结构示意图;
图5为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
针对相关技术中存在利用UA字符串进行恶意攻击的问题,为了保障网络信息安全,本公开实施例提供了一种UA字符串的异常检测方法、装置、设备及介质,本公开实施例可以用于诸如网关、防火墙等任何为了保障网络信息安全而需要对HTTP流量的UA字符串合法性进行判别的应用场景,在此不进行限制,本公开实施例提供的技术方案详细说明如下:
图1为本公开实施例提供的一种UA字符串的异常检测方法流程图,该方法可以由UA字符串的异常检测装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在诸如手机、计算机等电子设备中。如图1所示,该方法主要包括如下步骤S102~步骤S108:
步骤S102,获取待检测的UA字符串。
在一些实施方式中,可以逐一获取待检测的UA字符串,诸如,可以针对每次接收到的HTTP流量进行UA字符串检测及提取,具体而言,对接收到的HTTP流量进行UA字段检测;如果检测到UA字段,将UA字段对应的字符串提取出来作为待检测的UA字符串。在一个具体示例中,可以接收HTTP数据包,首先判断HTTP流量中是否存在UA字段,若不存在,则读取下一个HTTP数据包;若存在,则从该数据包中提取出UA字段的值(即UA字符串)作为待检测的字符串。
在另一些实施方式中,还可以直接接收诸如用户上传的一个或多个待检测的UA字符串,也即,对待检测的UA字符串进行批量获取。
步骤S104,对待检测的UA字符串进行切分处理,得到多个目标字符串。在实际应用中,可以将UA字符串切分为多个包含字符较少的子字符串(目标字符串),以便后续针对长度较为简短的目标字符串进行识别,从而更加快速高效地识别出存在异常字符的字符串。在一些实施方式中,可以按照UA字符串中所包含的标点符对UA字符串进行切分,通常而言,UA字符串所包含的标点符主要有:‘()’、‘/’、‘空格’、‘;’、‘:’、‘,’这几种,这种利用UA字符串已有的标点符进行切分的方式更为方便快捷,而且两个标点符之间的字符串通常具有特定含义,也更有利于充分识别出夹杂异常字符的字符串。此外,还可以根据实际情况预先设定其它切分方式,在此可以不进行限定。
步骤S106,通过预先建立的字符串库判别各个目标字符串是否异常;其中,字符串库中收录有基于多个正常UA字符串提取得到的多个子字符串。其中,字符串库又可称为正常UA子字符串库。
考虑到相比于HTTP中的其它首部字段,UA字段的字符串的表现形式通常具有一定规律性,发明人对大量的UA字符串进行分析统计,发现正常UA字符串基本都包含有用于表征诸如操作系统、渲染引擎、浏览器、语言等一种或多种类别的子字符串以及一些重复出现的子字符串,因此可以对大量的正常UA字符串进行分析统计,收录各个类别可能对应的子字符串以及重复出现的子字符串构建字符串库,也即,字符串库包含有正常UA字符串中可能出现的子字符串,在前述步骤中已将待检测的UA字符串划分为多个简短的目标字符串,而恶意软件由于要在UA字符串中传递数据,通常会出现不在字符串库中的字符串,因此可以通过检索字符串库快速高效地判别每个简短的目标字符串是否正常。
以下给出一种具体的实施示例:对于每个目标字符串,均从预先建立的字符串库中检索是否存在与该目标字符串一致的子字符串;如果未检索到与该目标字符串一致的子字符串,确定该目标字符串异常。可以理解的是,诸如操作系统、渲染引擎、浏览器、语言等类别可能包含的子字符串以及一些重复出现的子字符串都是固定的,字符串库收录有这些正常UA字符串可能包含的子字符串,通常而言,任何正常UA字符串被切分后的子字符串(目标字符串)都可以从字符串库检索到,如果未检索到,则说明该子字符串可能被恶意加有异常字符,因此可判别该子字符串异常,该子字符串所在的UA字符串异常。
步骤S108,如果发现异常的目标字符串,确定待检测的UA字符串异常。也即,UA字符串被切分为多个目标字符串,并判别每个目标字符串是否异常,只要发现有一个目标字符串异常,就认为该UA字符串异常。
在一种具体的实施示例中,可以将待检测的UA字符串切分得到的N个目标字符串按顺序陈列,假设分别为字符串1、字符串2、字符串3…字符串N;然后逐一针对每个目标字符串在字符串库中进行检索,以字符串1为例,如果检索成功(也即在字符串库中找到与字符串1一致的字符串),则记录检索结果为“True”,如果检索失败(也即在字符串库中未找到与字符串1一致的字符串),则记录检索结果为“False”。依次类推,可以得到N个检索结果,然后将N个检索结果进行“与”运算,如果运算结果为“True”,则判定该UA字符串正常,如果运算结果为“False”,则判定该UA字符串异常。
综上所述,上述UA字符串的异常检测方法,将UA字符串切分为多个小的目标字符串,然后采用预先构建的包含合法字符串(也即正常UA字符串提取的子字符串)的字符串库来识别每个目标字符串是否异常,能够较为可靠地发现被恶意插入的异常字符,从而实现UA字符串的异常检测,进而有助于保障网络信息安全。
相比于HTTP中的其它首部字段,UA字段的字符串的表现形式通常具有一定规律性,诸如,该字符串可以划分为四大部分:第一部分:Mozilla/Mozilla版本号;第二部分:操作系统相关信息;第三部分:渲染引擎名称/渲染引擎版本号;第四部分:浏览器名称/浏览器版本;其中,Mozilla/Mozilla版本号因特定历史原因而保留在各UA字符串中,当前基本不表示任何实义,操作系统相关信息对应的字符串通常会被括号‘()’包围。‘()’里面存放表示操作系统及平台的字符串,此外还会存放表示语言、渲染引擎、.NET框架等信息的字符串;渲染引擎名称/渲染引擎版本号表示浏览器所采用的渲染引擎的类型及版本的字符串;浏览器名称/浏览器版本表示浏览器名称及版本的字符串,有时该部分会出现不止一个浏览器名称及版本。
为便于理解,以Chrome浏览器的某一UA字符串为例分解上述四个部分。User-Agent:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/70.0.3538.77Safari/537.36。第一部分:Mozilla/5.0;第二部分:(WindowsNT 10.0;Win64;x64);第三部分:AppleWebKit/537.36(KHTML,like Gecko);第四部分:Chrome/70.0.3538.77Safari/537.36。由上分析可知,UA字符串是具有一定规律性的,正常的UA字符串所包含的子字符串也是有章可循的,因此发明人对大量的正常UA字符串进行统计分析,构建字符串库,在字符串库中按照预设类别收录有各种正常UA字符串中可能出现的子字符串,以便于后续能够直接通过字符串库检索的方式来发现待检测UA字符串中存在的异常字符串(没有在字符串库中检索到的字符串即可被视为异常字符串)。
在一些实施方式中,字符串库按照如下步骤(1)~(4)建立得到:
(1)获取多个正常UA字符串;在实际应用中,可以获取大量的正常UA字符串,以便后续分析统计更为全面。
(2)对多个正常UA字符串按照操作系统类别、渲染引擎类别、浏览器类别、语言类别进行子字符串提取,得到每种类别对应的多个子字符串。
基于UA字段的字符串的规律性表达方式,发明人对大量UA字符串进行分析,发现UA字符串所包含的字符基本可以按照操作系统类别、渲染引擎类别、浏览器类别、语言类别这四个主要类别进行划分,每个主要类别所包含的字符串都是可以统计并全部列举的,诸如,操作系统字符串为:Windows、Macintosh、Linux/X11;渲染引擎字符串只存在五种:Trident,Gecko,Presto,Blink、AppleWebKit。浏览器字符串的种类为当前所有的浏览器的类别数,是一个有明确上界的数,可以列举得到,诸如Chrome、Edge、Firefox、InternetExplorer、Safari等,在实际应用中可以从网络中查询当前已有的全部浏览器字符串;语言字符串在官方RFC(Request For Comments)文档给出了规范定义,类别数也具有明确的上界,诸如CN(表征中文)、EN(表征英语)、FR(表征法语)等。
在实际中,每个正常UA字符串中可能包含上述四种类别中的多种,不一定全部都包含,诸如有的正常UA字符串可能并没有包含语言类别,此时对于该UA字符串而言,语言类别对应的子字符串即为空。但是,由于获取的正常UA字符串很多,每个正常UA字符串都可以按照上述类别提取出相应的子字符串,由于每个类别所包含的字符串种类都有上限(也即可以完全统计得到),通过对大量的UA字符串按照上述类别进行分类统计,基本可以较为全面的得到每种类别对应的多个子字符串,从而使字符串库可以较为全面的收录所有正常的UA字符串可能包含的子字符串。
(3)对多个正常UA字符串进行统计分析,提取出除了类别对应的子字符串之外还重复出现的多个子字符串。
发明人对大量的正常UA字符串进行统计发现,除了上述(2)中提及的指定类别的字符串之外,正常UA字符串中通常还有一些固定的、重复出现的字符串(包括一个或多个字符),诸如:X11、compatible、MSIE、Intel、Mac、OS、X、WOW64、i386、x86_64、x64、U、NT、rv、.NET、CLR、KHTML、like等字符串,同样是可以罗列出来的,因此通过对多个正常UA字符串进行统计分析,可以较为全面地提取出除了类别对应的子字符串之外还重复出现的多个子字符串。同样,在实际中,每个正常UA字符串中可能包含上述重复出现的字符串中一种或多种,也可能都不包含。
(4)基于每种类别对应的多个子字符串以及重复出现的多个子字符串构建字符串库。
发明人统计的上述四种类别的字符串以及重复出现的字符串概括了正常UA字符串中所有可能出现的子字符串,利用这些子字符串可以建立全面的字符串库,有助于更为可靠地采用该字符串库对待检测的UA字符串进行异常识别。
为了能够更为合理的对UA字符串进行切分,在一些实施方式中,对待检测的UA字符串进行切分处理,得到多个目标字符串的步骤,包括如下步骤a和步骤b:
步骤a,识别待检测的UA字符串中所包含的标点符;通常而言,UA字符串中可能包含的标点符主要有:‘()’、‘/’、‘空格’、‘;’、‘:’、‘,’。
步骤b,基于标点符对待检测的UA字符串进行切分处理,得到多个目标字符串。在一些实施方式中,可参照如下步骤b1和步骤b2实现:
步骤b1,基于标点符对待检测的UA字符串进行切分处理,得到多个初始字符串;其中,初始字符串为相邻标点符之间的字符串。为便于理解,本公开实施例给出了基于标点符对待检测的UA字符串进行切分处理的两种方式:
方式一:基于全部标点符对待检测的UA字符串进行切分处理。也即,将待检测的UA字符串中所包含的所有标点符都作为切分点,任两个相邻的标点符之间的字符串都作为初始字符串。
方式二:从全部标点符中删除指定标点符,基于余下的标点符对待检测的UA字符串进行切分处理。也即,仅将待检测的UA字符串中所包含的部分标点符都作为切分点,任两个余下的标点符之间的字符串都作为初始字符串。指定标点符可以根据需求而设置,诸如,指定标点符包括‘()’,也即,指定标点符包括左括号和右括号。在该方式中,可以先将待检测的UA字符串中的左右括号删除,然后采用余下的标点符对待检测的UA字符串进行切分处理。
步骤b2,将多个初始字符串中的数字类字符串删除,将余下的初始字符串作为目标字符串。其中,数字类字符串是指全部都是数字的字符串。考虑到数字可以有多种组合,渲染引擎和浏览器的版本号均为数字或者用‘.’连接的多个数字(比如:5.0或70.0.3538.77)表示,由于表示版本号的数字类字符串的数量相对较大,而且恶意软件通过插入数字字符进行攻击的可能性也较低,为了减缓字符串库中收录正常数字类字符的压力,在构建字符串库时可以不存储这些表示版本号的数字子字符串,从而减少字符串库中元素的数量,以便加快检索速度。基于此,可以优先将待检测的UA字符串中的数字类字符串(大多主要用于表示版本号)删除,不再考察数字类字符串,诸如,可以删除上述UA字符串:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/70.0.3538.77Safari/537.36中的5.0、10.0、537.36、70.0.3538.77。
通过上述方式,可以合理地对待检测的UA字符串进行切分,并从中合理提取出目标字符串,以便后续基于目标字符串判别是否存在异常字符串。
在前述基础上,本公开实施例提出了一种UA字符串的异常检测方法的一种实施示例,参见图2所示的另一种UA字符串的异常检测方法流程图,主要包括如下步骤S202~步骤S212:
步骤S202,获取待检测的UA字符串;
步骤S204,识别待检测的UA字符串中所包含的标点符;
步骤S206,基于标点符对待检测的UA字符串进行切分处理,得到多个初始字符串;
步骤S208,将多个初始字符串中的数字类字符串删除,将余下的初始字符串作为目标字符串;
步骤S210,通过预先建立的字符串库判别各个目标字符串是否异常;
步骤S212,如果发现异常的目标字符串,确定待检测的UA字符串异常。
上述UA字符串的异常检测方法,基于标点符对UA字符串进行切分处理,并删除数字类字符串,从而采用字符串库对余下的字符串进行判别,能够较为可靠便捷地识别出异常的UA字符串。
在前述基础上,本公开实施例还提出了另一种UA字符串的异常检测方法的具体实施示例,参见图3所示的另一种UA字符串的异常检测方法流程图,主要包括如下步骤S302~步骤314:
步骤S302,获取待检测的UA字符串。
步骤S304,识别待检测的UA字符串中所包含的标点符。
步骤S306,删除标点符中的左括号符和右括号符。
步骤S308,基于余下的标点符对待检测的UA字符串进行切分处理,得到多个初始字符串。余下的标点符为:‘/’、‘空格’、‘;’、‘:’、‘,’。
步骤S310,将多个初始字符串中的数字类字符串删除,将余下的初始字符串作为目标字符串。
步骤S312,对于每个目标字符串,在预先建立的字符串库中检索是否存在与该目标字符串一致的子字符串,如果未检索到,确定该目标字符串异常。
步骤S314,如果发现异常的目标字符串,确定待检测的UA字符串异常。
上述UA字符串的异常检测方法,优先删除指定标点符(左括号符和右括号符),并基于余下的标点符对UA字符串进行切分处理,在删除数字类字符串之后,采用字符串库对余下的字符串进行判别,能够较为可靠便捷地识别出异常的UA字符串,有效达到UA异常检测的目的。
在实际应用中,如果确定待检测的UA字符串,还可以执行告警操作,该告警操作包括但不限于以下中的一种或多种:拦截该UA字符串的HTTP流量包;将UA字符串异常的消息发送给指定终端;在指定页面发起UA异常告警提示。
综上所述,本公开实施例提供的UA字符串的异常检测方法,通过讲待检测的UA字符串进行切分,并采用预先建立的字符串库对切分后的子字符串(目标字符串)进行检索的方式来进行异常检测,简单易实施,可以有效地达到UA字符串异常检测的目的,有助于保障网络信息安全。
图4为本公开实施例提供的一种UA字符串的异常检测装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。如图4所示,该装置主要包括如下模块:
字符串获取模块402,用于获取待检测的UA字符串;
字符串切分模块404,用于对待检测的UA字符串进行切分处理,得到多个目标字符串;
字符串判别模块406,用于通过预先建立的字符串库判别各个目标字符串是否异常;其中,字符串库中收录有从多个正常UA字符串中提取得到的多个子字符串;
异常确定模块408,用于如果发现异常的目标字符串,确定待检测的UA字符串异常。
本申请实施例提供的上述UA字符串的异常检测装置,将UA字符串切分为多个小的目标字符串,然后采用预先构建的包含合法字符串(也即正常UA字符串提取的子字符串)的字符串库来识别每个目标字符串是否异常,能够较为可靠地发现被恶意插入的异常字符,从而实现UA字符串的异常检测,进而有助于保障网络信息安全。
在一些实施方式中,字符串获取模块402用于:对接收到的HTTP流量进行UA字段检测;如果检测到UA字段,将所述UA字段对应的字符串提取出来作为待检测的UA字符串。
在一些实施方式中,字符串切分模块404具体用于:识别所述待检测的UA字符串中所包含的标点符;基于所述标点符对所述待检测的UA字符串进行切分处理,得到多个目标字符串。
在一些实施方式中,字符串切分模块404具体用于:基于所述标点符对所述待检测的UA字符串进行切分处理,得到多个初始字符串;其中,所述初始字符串为相邻标点符之间的字符串;将多个所述初始字符串中的数字类字符串删除,将余下的初始字符串作为目标字符串。
在一些实施方式中,字符串切分模块404具体用于:基于全部所述标点符对所述待检测的UA字符串进行切分处理;或者,从全部所述标点符中删除指定标点符,基于余下的所述标点符对所述待检测的UA字符串进行切分处理。
在一些实施方式中,字符串判别模块406具体用于:对于每个所述目标字符串,均从预先建立的字符串库中检索是否存在与该目标字符串一致的子字符串;如果未检索到与该目标字符串一致的子字符串,确定该目标字符串异常。
在一些实施方式中,所述装置还包括字符串库建立模块,用于:获取多个正常UA字符串;对所述多个正常UA字符串按照操作系统类别、渲染引擎类别、浏览器类别、语言类别进行子字符串提取,得到每种类别对应的多个子字符串;对所述多个正常UA字符串进行统计分析,提取出除了所述类别对应的子字符串之外还重复出现的多个子字符串;基于所述每种类别对应的多个子字符串以及所述重复出现的多个子字符串构建字符串库。
本公开实施例所提供的UA字符串的异常检测装置可执行本公开任意实施例所提供的UA字符串的异常检测方法,具备执行方法相应的功能模块和有益效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置实施例的具体工作过程,可以参考方法实施例中的对应过程,在此不再赘述。
本公开实施例还提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器,用于从存储器中读取可执行指令,并执行指令以实现上述任一项UA字符串的异常检测方法。
图5为本公开实施例提供的一种电子设备的结构示意图。如图5所示,电子设备500包括一个或多个处理器501和存储器502。
处理器501可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备500中的其他组件以执行期望的功能。
存储器502可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器501可以运行所述程序指令,以实现上文所述的本公开的实施例的UA字符串的异常检测方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备500还可以包括:输入装置503和输出装置504,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置503还可以包括例如键盘、鼠标等等。
该输出装置504可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置504可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备500中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备500还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的UA字符串的异常检测方法。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的UA字符串的异常检测方法。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开实施例中的UA字符串的异常检测方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种UA字符串的异常检测方法,其特征在于,包括:
获取待检测的UA字符串;
对所述待检测的UA字符串进行切分处理,得到多个目标字符串;
通过预先建立的字符串库判别各个所述目标字符串是否异常;其中,所述字符串库中收录有基于多个正常UA字符串提取得到的多个子字符串;
如果发现异常的目标字符串,确定所述待检测的UA字符串异常。
2.根据权利要求1所述的方法,其特征在于,所述获取待检测的UA字符串的步骤,包括:
对接收到的HTTP流量进行UA字段检测;
如果检测到UA字段,将所述UA字段对应的字符串提取出来作为待检测的UA字符串。
3.根据权利要求1所述的方法,其特征在于,所述对所述待检测的UA字符串进行切分处理,得到多个目标字符串的步骤,包括:
识别所述待检测的UA字符串中所包含的标点符;
基于所述标点符对所述待检测的UA字符串进行切分处理,得到多个目标字符串。
4.根据权利要求3所述的方法,其特征在于,所述基于所述标点符对所述待检测的UA字符串进行切分处理,得到多个目标字符串的步骤,包括:
基于所述标点符对所述待检测的UA字符串进行切分处理,得到多个初始字符串;其中,所述初始字符串为相邻标点符之间的字符串;
将多个所述初始字符串中的数字类字符串删除,将余下的初始字符串作为目标字符串。
5.根据权利要求4所述的方法,其特征在于,所述基于所述标点符对所述待检测的UA字符串进行切分处理的步骤,包括:
基于全部所述标点符对所述待检测的UA字符串进行切分处理;
或者,
从全部所述标点符中删除指定标点符,基于余下的所述标点符对所述待检测的UA字符串进行切分处理。
6.根据权利要求1所述的方法,其特征在于,所述通过预先建立的字符串库判别各个所述目标字符串是否异常的步骤,包括:
对于每个所述目标字符串,均从预先建立的字符串库中检索是否存在与该目标字符串一致的子字符串;
如果未检索到与该目标字符串一致的子字符串,确定该目标字符串异常。
7.根据权利要求1所述的方法,其特征在于,所述字符串库按照如下步骤建立得到:
获取多个正常UA字符串;
对所述多个正常UA字符串按照操作系统类别、渲染引擎类别、浏览器类别、语言类别进行子字符串提取,得到每种类别对应的多个子字符串;
对所述多个正常UA字符串进行统计分析,提取出除了所述类别对应的子字符串之外还重复出现的多个子字符串;
基于所述每种类别对应的多个子字符串以及所述重复出现的多个子字符串构建字符串库。
8.一种UA字符串的异常检测装置,其特征在于,包括:
字符串获取模块,用于获取待检测的UA字符串;
字符串切分模块,用于对所述待检测的UA字符串进行切分处理,得到多个目标字符串;
字符串判别模块,用于通过预先建立的字符串库判别各个所述目标字符串是否异常;其中,所述字符串库中收录有从多个正常UA字符串中提取得到的多个子字符串;
异常确定模块,用于如果发现异常的目标字符串,确定所述待检测的UA字符串异常。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7中任一所述的UA字符串的异常检测方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7中任一所述的UA字符串的异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110643284.6A CN113382000A (zh) | 2021-06-09 | 2021-06-09 | 一种ua字符串的异常检测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110643284.6A CN113382000A (zh) | 2021-06-09 | 2021-06-09 | 一种ua字符串的异常检测方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113382000A true CN113382000A (zh) | 2021-09-10 |
Family
ID=77573228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110643284.6A Pending CN113382000A (zh) | 2021-06-09 | 2021-06-09 | 一种ua字符串的异常检测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113382000A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113890756A (zh) * | 2021-09-26 | 2022-01-04 | 网易(杭州)网络有限公司 | 用户账号的混乱度检测方法、装置、介质和计算设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009232180A (ja) * | 2008-03-24 | 2009-10-08 | Seiko Epson Corp | 通信システム、処理要求装置、処理応答装置及びそのプログラム |
US20100262699A1 (en) * | 2009-04-13 | 2010-10-14 | Research In Motion Limited | System and method for determining trust for sip messages |
JP2014063424A (ja) * | 2012-09-24 | 2014-04-10 | Mitsubishi Space Software Co Ltd | 不正通信検出装置及びサイバー攻撃検出システム及びコンピュータプログラム及び不正通信検出方法 |
US20150052586A1 (en) * | 2013-08-15 | 2015-02-19 | Yahoo! Inc. | Enhancing network security |
CN104750683A (zh) * | 2013-12-25 | 2015-07-01 | 中国移动通信集团公司 | 一种字符串匹配方法及装置 |
CN105871845A (zh) * | 2016-03-31 | 2016-08-17 | 深圳市深信服电子科技有限公司 | Web漏洞扫描行为的检测方法及装置 |
CN109309665A (zh) * | 2018-08-22 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 一种访问请求处理方法及装置、一种计算设备及存储介质 |
CN110134703A (zh) * | 2019-05-21 | 2019-08-16 | 秒针信息技术有限公司 | 一种关键词库更新方法及装置 |
CN110516125A (zh) * | 2019-08-28 | 2019-11-29 | 拉扎斯网络科技(上海)有限公司 | 识别异常字符串的方法、装置、设备及可读存储介质 |
CN110602038A (zh) * | 2019-08-01 | 2019-12-20 | 中国科学院信息工程研究所 | 一种基于规则的异常ua检测和分析的方法及系统 |
CN111092803A (zh) * | 2018-10-23 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、设备、系统及存储介质 |
CN111211995A (zh) * | 2019-12-19 | 2020-05-29 | 北京浩瀚深度信息技术股份有限公司 | 一种字符串匹配库获取网络流量业务分析方法及装置 |
-
2021
- 2021-06-09 CN CN202110643284.6A patent/CN113382000A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009232180A (ja) * | 2008-03-24 | 2009-10-08 | Seiko Epson Corp | 通信システム、処理要求装置、処理応答装置及びそのプログラム |
US20100262699A1 (en) * | 2009-04-13 | 2010-10-14 | Research In Motion Limited | System and method for determining trust for sip messages |
JP2014063424A (ja) * | 2012-09-24 | 2014-04-10 | Mitsubishi Space Software Co Ltd | 不正通信検出装置及びサイバー攻撃検出システム及びコンピュータプログラム及び不正通信検出方法 |
US20150052586A1 (en) * | 2013-08-15 | 2015-02-19 | Yahoo! Inc. | Enhancing network security |
CN104750683A (zh) * | 2013-12-25 | 2015-07-01 | 中国移动通信集团公司 | 一种字符串匹配方法及装置 |
CN105871845A (zh) * | 2016-03-31 | 2016-08-17 | 深圳市深信服电子科技有限公司 | Web漏洞扫描行为的检测方法及装置 |
CN109309665A (zh) * | 2018-08-22 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 一种访问请求处理方法及装置、一种计算设备及存储介质 |
CN111092803A (zh) * | 2018-10-23 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、设备、系统及存储介质 |
CN110134703A (zh) * | 2019-05-21 | 2019-08-16 | 秒针信息技术有限公司 | 一种关键词库更新方法及装置 |
CN110602038A (zh) * | 2019-08-01 | 2019-12-20 | 中国科学院信息工程研究所 | 一种基于规则的异常ua检测和分析的方法及系统 |
CN110516125A (zh) * | 2019-08-28 | 2019-11-29 | 拉扎斯网络科技(上海)有限公司 | 识别异常字符串的方法、装置、设备及可读存储介质 |
CN111211995A (zh) * | 2019-12-19 | 2020-05-29 | 北京浩瀚深度信息技术股份有限公司 | 一种字符串匹配库获取网络流量业务分析方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113890756A (zh) * | 2021-09-26 | 2022-01-04 | 网易(杭州)网络有限公司 | 用户账号的混乱度检测方法、装置、介质和计算设备 |
CN113890756B (zh) * | 2021-09-26 | 2024-01-02 | 网易(杭州)网络有限公司 | 用户账号的混乱度检测方法、装置、介质和计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941491B2 (en) | Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content | |
CN108366058B (zh) | 防止广告运营商流量劫持的方法、装置、设备及存储介质 | |
CN109768992B (zh) | 网页恶意扫描处理方法及装置、终端设备、可读存储介质 | |
CN110650117B (zh) | 跨站攻击防护方法、装置、设备及存储介质 | |
CN108718306B (zh) | 一种异常流量行为判别方法和装置 | |
CN110868419A (zh) | Web后门攻击事件的检测方法、装置及电子设备 | |
CN108900554B (zh) | Http协议资产检测方法、系统、设备及计算机介质 | |
AU2018298640B2 (en) | Determination device, determination method, and determination program | |
KR102516454B1 (ko) | Url 클러스터링을 위한 url의 요약을 생성하는 방법 및 장치 | |
WO2020082763A1 (zh) | 基于决策树的钓鱼网站检测方法、装置及计算机设备 | |
CN113486350A (zh) | 恶意软件的识别方法、装置、设备及存储介质 | |
CN112668005A (zh) | webshell文件的检测方法及装置 | |
CN113382000A (zh) | 一种ua字符串的异常检测方法、装置、设备及介质 | |
JP2012088803A (ja) | 悪性ウェブコード判別システム、悪性ウェブコード判別方法および悪性ウェブコード判別用プログラム | |
CN113067792A (zh) | 一种xss攻击识别方法、装置、设备及介质 | |
CN112579937A (zh) | 一种字符的高亮显示方法及装置 | |
CN108494728B (zh) | 防止流量劫持的黑名单库创建方法、装置、设备及介质 | |
CN114006746A (zh) | 一种攻击检测方法、装置、设备及存储介质 | |
CN109684844B (zh) | 一种webshell检测方法、装置以及计算设备、计算机可读存储介质 | |
CN114900492A (zh) | 异常邮件检测方法、装置、系统与计算机可读存储介质 | |
CN113987486A (zh) | 一种恶意程序检测方法、装置及电子设备 | |
CN114006706A (zh) | 网络安全检测方法、系统、计算机装置及可读存储介质 | |
CN113688240A (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
CN113449301A (zh) | 一种样本检测方法、装置、设备及计算机可读存储介质 | |
CN113051876A (zh) | 恶意网址识别方法及装置、存储介质、电子设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210910 |