CN108933781B - 用于处理字符串的方法、装置及计算机可读存储介质 - Google Patents
用于处理字符串的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108933781B CN108933781B CN201810630334.5A CN201810630334A CN108933781B CN 108933781 B CN108933781 B CN 108933781B CN 201810630334 A CN201810630334 A CN 201810630334A CN 108933781 B CN108933781 B CN 108933781B
- Authority
- CN
- China
- Prior art keywords
- character string
- model
- strings
- string
- valid
- 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
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/1433—Vulnerability analysis
-
- 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/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种用于处理字符串的方法,该方法包括:在第一时间间隔内,接收多个第一有效字符串;针对多个第一有效字符串中的至少两个第一有效字符串,确定与至少两个第一有效字符串中的每个有效字符串相对应的至少两个字符串模型;确定至少两个字符串模型中属于常规字符串模型的字符串模型;以及对至少两个字符串模型中属于常规字符串模型的字符串模型进行模型聚合,以获得聚合的字符串模型组。采用本发明的用于处理字符串的方法能够更高效,且难以被绕过,可以发现未公开或未披露的攻击。
Description
技术领域
本发明的实施例涉及网络安全,尤其涉及用于处理字符串的方法、装置及计算机可读存储介质。
背景技术
现有的IDS(Intrusion Detection Systems,入侵检测系统)、IPS(IntrusionPrevention System,入侵防御系统)、WAF(Web Application Firewall,网站应用级入侵防御系统)产品往往是通过规则检测、或利用有监督学习建立模型或者通过计算机语法分析等来发现黑客攻击,但是这些方式存在以下问题:通过编码等方式,规则存在绕过的可能性;面对未公开的安全攻击无能为力;面对大流量的请求,性能容易出现瓶颈。
发明内容
针对上述问题以及其他潜在的技术问题,本发明实施例的一方面提供了一种用于处理字符串的方法,所述方法包括:在第一时间间隔内,接收多个第一有效字符串;针对所述多个第一有效字符串中的至少两个第一有效字符串,确定与所述至少两个第一有效字符串中的每个有效字符串相对应的至少两个字符串模型;确定所述至少两个字符串模型中属于常规字符串模型的字符串模型;以及对所述至少两个字符串模型中属于所述常规字符串模型的字符串模型进行模型聚合,以获得聚合的字符串模型组。
本发明实施例的另一方面还提供了一种用于处理字符串的装置,所述装置包括:处理器;以及存储器,其用于存储指令,当所述指令被执行时使得所述处理器执行以下操作:在第一时间间隔,接收多个第一有效字符串;针对所述多个第一有效字符串中的至少两个有效字符串,确定与所述至少两个有效字符串中的每个有效字符串相对应的至少两个字符串模型;以及基于常规字符串模型对所述至少两个字符串模型进行处理,其中,基于常规字符串模型对所述至少两个字符串模型进行处理还包括:对所述至少两个字符串模型中属于所述常规字符串模型的字符串模型进行模型聚合,以获得聚合的字符串模型组。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质包括指令,当所述指令被执行时,所述计算机的处理器执行上述方法中的任一项所述的方法。
采用本发明的用于处理字符串的方法能够更高效,且难以被绕过,可以发现未公开或未披露的攻击。
附图说明
图1是根据本发明的实施例的针对单个字符串确定字符串模型的方法的流程图;
图2a是根据本发明的实施例的学习阶段的用于处理字符串的方法的流程图;
图2b是根据本发明的另一个实施例的学习阶段的用于处理字符串的方法的流程图;
图3示出了根据本发明的实施例的学习阶段结束后的检测异常请求的方法的流程图;
图4是根据本发明的实施例的用于处理字符串的装置400的示意图。
具体实施方式
以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”,表示还可以包括其他内容。术语“基于”是“至少部分地基于"。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”,等等。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。
针对未加密的有效字符串大体可以通过一些特征来描述一类有效字符串,如字符长度,字母数量,数字数量,空格数量,不同标点符号的次数,标点符号是否出现在开头或结尾等。
大部分的传统安全(这里的传统安全用于与业务安全做区分)攻击行为所传递的恶意有效字符串大多数情况下都是一种计算机语言的一部分,无论是SQL注入中的SQL片段,XSS(跨站脚本)攻击中的JS片段,还是各种RCE(远程代码执行)中传递的有效字符串,都是某种语言的一部分。因此,在未加密的情况下,都应当出现注入空格,符号。但是,在JAVA序列化漏洞中使用到的恶意有效字符串就不存在空格和符号。因此,需要通过提取抽象特征来表示一个字符串所对应的模型。
同一个接口或业务通常会有很多模型出现,如果该接口/业务实际上仅应该有一种模型,那么可以进行一定的聚合,例如,模型长度的聚合,在这里认为应当定义一些关键的类型,例如只有中文的有效字符串为一类,只有英文字母的为一类等等,使得非跨类型的模型合并轻松许多。如果正常用户请求的数量和时间跨度远大于中间出现的噪音,且该接口或业务理论上仅存在一个模型,那么选取模型将会变得很简单,在通过一段时间的计数和聚合的情况下,正常的模型将会在数量和连续性上明显突出。
然而,如果正常的有效字符串中就出现了各种符号、空格,那么最后生成的模型可能会和恶意攻击的有效字符串生成的模型非常相似从而达到被绕过的后果,因此,针对本身就存在多种符号、空格且长度难以预计的有效字符串就需要能够聚合大量完全不同的有效字符串,并从中提炼出可以代表同一类有效字符串的抽象特征的精确模型,从而能够更加有效地进行安全检测。
在对本发明进行详细阐述之前对本发明中的一些术语进行说明。
术语解释:
有效字符串:能够被攻击者控制的字符串,每一个具有特定含义的字段或一段信息都可以是有效字符串,对于一段信息中容易出现安全问题的字符串都可以作为有效字符串。
常规字符串:用正则表达式表示的字符串,在本文中为,十六进制字符串T1(例如,0x123123)、JAVA序列化后的字符串T2(例如,aced0005123aca)、常用字符串T3(包含字母大小写、中文、数字、下划线、空格等字符,例如,123.-_abc中文)、电子邮件格式字符串T4(例如,123456@dianrong.com)、UNICODE编码字符串T5(例如,这:是)、URL格式字符串T6(例如,http://www.dianrong.com)、XML格式字符串T7(例如,<html>asd</html>)、BASE64编码字符串T8(例如,dGhpcyBpcyBhIGV4YW1wbGU=)中的一种表示的字符串。
常规字符串模型:由常规字符串的特征(包括长度范围和字符串类型)形成的模型。
聚合:在本发明中,是指对字符串类型相同但长度范围不同的字符串模型进行聚合,聚合后的字符串模型中字符串类型为原有的字符串类型,长度范围为进行聚合的字符串模型中长度范围较大者。例如,有效字符串模型的类型为常用字符串T3,字符串长度范围为1-10,进行聚合的相同类型的字符串模型的字符串长度范围为0-20,那么聚合后的字符串模型的字符串类型还是常用字符串T3,字符串长度范围变为0-20。当只有一个字符串模型或者找不到相同的字符串模型时,聚合后的字符串模型还是原有的字符串模型本身。
字符串规则:本文中是指字符串固有的属性,包括字符串所属的类型和字符串格式。
在一个应用场景中,某一网站仅有两个功能,即登陆、注册功能,登陆地址为:/login,接收参数为email地址和password,且password在注册时限制仅可使用数字、字母、标点符号。
那么登陆正常请求应该是{“email”:“XXX@XX.XX”,“password”:“数字和/或字母和/或标点符号”}。
本发明通过监测大量的登陆请求,计算出接口/业务可接受的正常请求的参数模型,将其定义为白名单模型,然后通过与该白名单模型对比从而达到发现异常请求的目的。应理解的是,本发明不局限于应用于上述应用场景而是可以应用于任意多个适当的应用场景,自动泛化出与每个接口(对应字段)对应的参数模型从而实现更好的异常请求检测。
以下结合附图对本发明进行详细描述。
图1示出了根据本发明的实施例的针对单个字符串确定字符串模型的方法的流程图。
在步骤S101中,确定输入的有效字符串的长度范围。具体地,例如,首先,计算有效字符串的长度,例如,长度为9,然后,可以将该有效字符串的长度范围确定为0-10、0-20等,应理解的是,有效字符串的长度范围可以根据实际情况进行调整。
在步骤S102中,对有效字符串中存在的字母、中文、数字并进行标记。应理解的是,步骤S101和步骤S102的顺序可以调换。
在步骤S103中,如果有效字符串属于常规字符串,则执行步骤S104,否则执行步骤S106。
在步骤S104中,确定有效字符串属于常规字符串中与该有效字符串相对应的字符串类型,即有效字符串属于常规字符串中的T1至T8中的哪个类型。
在步骤S105中,根据有效字符串的长度范围和步骤S104中确定的与有效字符串相对应的字符串类型来确定与有效字符串相对应的字符串模型。
在步骤S106中,统计有效字符串中每种标点符号出现的次数和空格出现的次数。
在步骤S107中,根据有效字符串的长度范围和步骤S106中统计出的有效字符串中每种标点符号出现的次数和空格出现的次数来确定与有效字符串相对应的字符串模型。
在一个示例中,例如,有效字符串为“http://www.dianrong.com”,通过上述步骤S101可确定该字符串模型的长度范围为0-30,通过步骤S102至步骤S104可确定该字符串类型为T6,在步骤S105中可以确定,该字符串模型为:长度范围0-30,字符串类型T6。
在另一个示例中,例如,有效字符串为“22&78@asd”,通过步骤S101可确定该字符串长度范围为0-10,通过步骤S102至步骤S103可确定该字符串不属于常规字符串,在通过步骤S106可确定标点符号&出现的次数为1,标点符号@出现的次数为1,空格出现次数为0,在步骤S107中可以确定,该字符串模型为:长度范围0-10,空格数为0,标点符号&的出现次数为1和标点符号@的出现次数为1。
图2a示出了根据本发明的实施例的学习阶段的用于处理字符串的方法的流程图。
在步骤S201中,在第一时间间隔内,接收多个第一有效字符串。应理解的是,这里的第一时间间隔是指学习阶段的学习周期,例如7天,这个时间周期可以根据需要进行调整。
在步骤S202中,针对多个第一有效字符串中的至少两个第一有效字符串,确定与至少两个第一有效字符串中的每个有效字符串相对应的至少两个字符串模型。应理解的是,一个有效字符串对应于一个字符串模型。
在该步骤中针对多个第一有效字符串中的至少两个第一有效字符串中的每个第一有效字符串,采用如图1所示的针对单个字符串确定字符串模型同样的方法来确定与该至少两个第一有效字符串中的每个第一有效字符串相对应的字符串模型(即通过步骤S101至S107对至少两个第一有效字符串中的每个第一有效字符串进行处理)。
在步骤S203中,确定至少两个字符串模型中属于常规字符串模型的字符串模型。
具体地,判断至少两个字符串模型中的每个字符串模型是否属于常规字符串模型,以选出属于常规字符串模型的字符串模型和不属于常规字符串模型的字符串模型。
在步骤S204中,对步骤S203中所确定的至少两个字符串模型中属于常规字符串模型的字符串模型进行模型聚合,以获得聚合的字符串模型组。
具体地,将所确定的属于常规字符串模型的字符串模型和与其类型相同的字符串模型进行模型聚合。例如,所确定的属于常规字符串模型的字符串模型为常用字符串模型中的T3且字符串长度范围为0-20,另一个T3类型的字符串模型的字符串长度范围为0-30,那么将这两个字符串模型进行聚合,聚合后的字符串模型类型为T3且字符串长度范围为0-30,即进行模型聚合后字符串模型类型不变但聚合后的字符串长度范围取进行聚合的两个字符串模型中字符串长度范围较大者,或者认为进行模型聚合后将相同字符串模型类型且字符串长度范围较小者与相同字符串模型类型且字符串长度范围较长者归为一类,两者属性同属于字符串长度较长者那一类。当只有一个字符串模型或者有多个字符串模型但没有相同类型的字符串模型时,聚合后每个字符串模型还是其自身。
在一个实施例中,步骤S204中还包括按约定的数据结构对步骤S203中确定的不属于常规字符串模型的字符串模型进行存储。
在另一个实施例中,步骤S204之后还包括如图2b所示的步骤:
步骤S205:计算单类模型出现频率和单类模型出现比例,其中,单类模型出现频率表示聚合的字符串模型组中的每一类字符串模型在第一时间间隔内出现的次数,应理解,计算时,将参与聚合成每一类字符串模型的所有字符串模型在第一时间间隔内出现的次数叠加形成与每一类字符串模型相对应的在第一时间间隔内出现的次数,例如,在第一时间间隔内,聚合后的字符串类型为T3且长度范围为0-20的字符串模型,它由字符串类型为T3且长度范围0-10的字符串模型(第一种字符串模型)、字符串类型为T3且长度范围0-15的字符串模型(第二种字符串模型)和字符串类型为T3且长度范围0-15的字符串模型(第三种字符串模型)聚合而成,并且第一种字符串模型出现了300次,第二种字符串模型中出现了200次,第三种字符串模型在出现了100次,那么聚合后的字符串类型为T3且长度范围为0-20的字符串模型出现的次数应为600,即字符串类型为T3且长度范围为0-20的字符串模型出现频率为600;单类模型出现比例表示聚合的字符串模型组中的每一类字符串模型在第一时间间隔内出现的次数与在第一时间间隔内确定的至少两个字符串模型的总数量的比值,应理解的是,计算时,将前述的单类模型出现频率除以在第一时间间隔内确定的至少两个字符串模型的总数量,例如,聚合后的字符串类型为T3且长度范围为0-20的字符串模型出现频率为600,并且在第一时间间隔内,确定的所有字符串模型的总数量为1000,那么聚合后的字符串类型为T3且长度范围为0-20的字符串模型出现比例为60%;步骤S206:当与聚合的字符串模型组中的一类字符串模型相关联的单类模型出现频率和单类模型出现比例分别大于设定的频率阈值和设定的比例阈值,将与该类字符串模型作为白名单模型的一部分。应理解的是,频率阈值和比例阈值可以根据需要进行调整。
例如,设定的频率阈值为每天出现一次,并且设定的比例阈值为90%,学习阶段的学习周期为7天,某API接口接收的参数模型如下:类型为常用字符串中的T3,长度范围为0-10,模型出现比例为95%,并且模型出现频率为每小时出现至少一次;由于出现频率大于频率阈值并且出现比例大于比例阈值,因此将该T3类型的字符串模型作为白名单模型中的一部分。应理解的是,判断完第一时间间隔内的所有模型出现频率和所有模型出现比例后并与频率阈值和比例阈值做完比较后得到的白名单模型为完整的白名单模型。
图3示出了根据本本发明的实施例的学习阶段结束后的检测异常请求的方法的流程图。
在步骤S301中,确定与输入的第二有效字符串相对应的第二字符串模型。具体地,步骤S301采用如图1所示的针对单个字符串确定字符串模型同样的方法来确定与第二有效字符串相对应的第二字符串模型(即通过步骤S101至S107对第二有效字符串进行处理)。
在步骤S302中,如果所确定的第二字符串模型不属于常规字符串模型,则执行步骤S303,否则执行步骤S305。
在步骤S303中,对所确定的第二字符串模型与学习阶段存储的字符串模型一起进行异常点检测。具体地,可以通过无监督聚类算法(例如,DBSCAN聚类算法)或通过异常点检测算法(例如,Isolation Forest算法、LOF算法等)对所确定的第二字符串模型与学习阶段存储的第一字符串模型一起进行异常点检测。应理解的是,可以通过其它合适的算法对所确定的第二字符串模型与学习阶段存储的字符串模型一起进行异常点检测。
在步骤S304中,如果检测到异常点,则执行步骤S306。
在步骤S305中,如果所确定的第二字符串模型不是学习阶段确定的白名单模型,则执行步骤S306。
在步骤S306中,发出告警信息。
图4示出了根据本发明的实施例的用于处理字符串的装置400的示意图。装置400可以包括:存储器401和耦合到存储器401的处理器402。存储器401用于存储指令,处理器402被配置为基于存储器401存储的指令来实现针对图1、图2a、图2b和图3所描述的方法的步骤中的任何步骤中的一个或多个。
如图4所示,装置400还可以包括通信接口403,用于与其它设备进行信息交互。此外,装置400还可以包括总线404,存储器401、处理器402和通信接口403通过总线404来彼此进行通信。
存储器401可以包括易失性存储器,也可以包括非易失性存储器。处理器402可以是中央处理器(CPU)、微控制器、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、或是被配置为实现本发明的实施例的一个或多个集成电路。
替代地,上述的基于区块链的跨链通信方法能够通过计算机程序产品,即有形的计算机可读存储介质来体现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。
Claims (19)
1.一种用于处理字符串的方法,所述方法包括:
在第一时间间隔内,接收多个第一有效字符串;
针对所述多个第一有效字符串中的至少两个第一有效字符串,确定与所述至少两个第一有效字符串中的每个有效字符串相对应的至少两个字符串模型;
确定所述至少两个字符串模型中属于至少由常规字符串的长度范围和字符串类型形成的常规字符串模型的字符串模型;以及
对所述至少两个字符串模型中属于所述常规字符串模型的并且字符串类型相同但长度范围不同的字符串模型进行模型聚合,以获得聚合的字符串模型组。
2.根据权利要求1所述的方法,所述方法还包括:
基于单类模型出现频率、单类模型出现比例、设定的频率阈值和设定的比例阈值来确定白名单模型,其中,所述单类模型出现频率表示所述聚合的字符串模型组中的每一类字符串模型在所述第一时间间隔内出现的次数,所述单类模型出现比例表示所述聚合的字符串模型组中的所述每一类字符串模型在所述第一时间间隔内出现的次数与所述第一时间间隔内确定的所述至少两个字符串模型的总数量的比值。
3.根据权利要求2所述的方法,其中,基于单类模型出现频率、单类模型出现比例、设定的频率阈值和设定的比例阈值来确定白名单模型包括:
当与所述聚合的字符串模型组中的一类字符串模型相关联的单类模型出现频率和单类模型出现比例分别大于所述设定的频率阈值和所述设定的比例阈值时,将所述一类字符串模型作为白名单模型的一部分。
4.根据权利要求1所述的方法,所述方法还包括:
确定所述至少两个字符串模型中不属于常规字符串模型的字符串模型;
对所述至少两个字符串模型中不属于所述常规字符串模型的字符串模型进行存储。
5.根据权利要求1所述的方法,其中,确定与所述至少两个有效字符串中的每个有效字符串相对应的至少两个字符串模型包括:
确定所述至少两个有效字符串中的每个有效字符串的长度范围;
对所述至少两个有效字符串中的每个有效字符串中的字母、中文和数字进行标记;
基于所述至少两个有效字符串的字符串规则和常规字符串确定与所述至少两个有效字符串中的每个有效字符串相对应的至少两个字符串模型。
6.根据权利要求5所述的方法,其中,基于所述至少两个有效字符串的字符串规则和常规字符串确定与所述至少两个字符串中的每个有效字符串相对应的至少两个字符串模型还包括:
基于所述至少两个有效字符串中不属于所述常规字符串的每个有效字符串的长度范围、不属于所述常规字符串的每个有效字符串中的每种标点符号出现的次数和空格出现的次数来确定与所述至少两个字符中不属于所述常规字符串的每个有效字符串相对应的字符串模型;和/或
基于所述至少两个有效字符串中属于所述常规字符串的每个有效字符串的长度范围和所述常规字符串中与属于所述常规字符串的每个有效字符串相对应的字符串类型来确定与所述至少两个字符中属于所述常规字符串的每个字符串相对应的字符串模型。
7.根据权利要求2或3所述的方法,所述方法还包括:
确定与第二有效字符串相对应的第二字符串模型;
在所述第二字符串模型属于所述常规字符串模型并且所述第二字符串模型不属于所确定的白名单模型的情况下,发出告警信息。
8.根据权利要求4所述的方法,所述方法还包括:
确定与第二有效字符串相对应的第二字符串模型;
在所述第二字符串模型不属于所述常规字符串模型并且检测出所述第二字符串模型和所存储的所述至少两个字符串模型中不属于所述常规字符串模型的字符串模型中存在异常点的情况下,发出告警信息。
9.根据权利要求8所述的方法,其中,通过无监督聚类算法或异常点检测算法对所述异常点进行检测。
10.一种用于处理字符串的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令被执行时使得所述处理器执行以下操作:
在第一时间间隔内,接收多个第一有效字符串;
针对所述多个第一有效字符串中的至少两个有效字符串,确定与所述至少两个有效字符串中的每个有效字符串相对应的至少两个字符串模型;以及
基于至少由常规字符串的长度范围和字符串类型形成的常规字符串模型对所述至少两个字符串模型进行处理,
其中,基于所述常规字符串模型对所述至少两个字符串模型进行处理还包括:对所述至少两个字符串模型中属于所述常规字符串模型的并且字符串类型相同但长度范围不同的字符串模型进行模型聚合,以获得聚合的字符串模型组。
11.根据权利要求10所述的装置,其中,当所述指令被执行时使得所述处理器还执行以下操作:
基于单类模型出现频率、单类模型出现比例、设定的频率阈值和设定的比例阈值来确定白名单模型,其中,所述单类模型出现频率表示所述聚合的字符串模型组中的每一类字符串模型在所述第一时间间隔内出现的次数,所述单类模型出现比例表示所述聚合的字符串模型组中的所述每一类字符串模型在所述第一时间间隔内出现的次数与所述第一时间间隔内确定的所述至少两个字符串模型的总数量的比值。
12.根据权利要求11所述的装置,其中,基于单类模型出现频率、单类模型出现比例、设定的频率阈值和设定的比例阈值来确定白名单模型包括:
当与所述聚合的字符串模型组中的一类字符串模型相关联的单类模型出现频率和单类模型出现比例分别大于所述设定的频率阈值和所述设定的比例阈值时,将所述一类字符串模型作为白名单模型的一部分。
13.根据权利要求10所述的装置,其中,当所述指令被执行时使得所述处理器还执行以下操作:
确定所述至少两个字符串模型中不属于常规字符串模型的字符串模型;
对所述至少两个字符串模型中不属于所述常规字符串模型的字符串模型进行存储。
14.根据权利要求10所述的装置,其中,确定与所述至少两个有效字符串中的每个有效字符串相对应的至少两个字符串模型包括:
确定所述至少两个有效字符串中的每个有效字符串的长度范围;
对所述至少两个有效字符串中的每个有效字符串中的字母、中文和数字进行标记;
基于所述至少两个有效字符串的字符串规则和常规字符串确定与所述至少两个有效字符串中的每个有效字符串相对应的至少两个字符串模型。
15.根据权利要求14所述的装置,其中,基于所述至少两个有效字符串的字符串规则和常规字符串确定与所述至少两个字符串中的每个有效字符串相对应的至少两个字符串模型还包括:
基于所述至少两个有效字符串中不属于所述常规字符串的每个有效字符串的长度范围、不属于所述常规字符串的每个有效字符串中的每种标点符号出现的次数和空格出现的次数来确定与所述至少两个字符中不属于所述常规字符串的每个有效字符串相对应的字符串模型;和/或
基于所述至少两个有效字符串中属于所述常规字符串的每个有效字符串的长度范围和所述常规字符串中与属于所述常规字符串的每个有效字符串相对应的字符串类型来确定与所述至少两个字符中属于所述常规字符串的每个字符串相对应的字符串模型。
16.根据权利要求11或12所述的装置,其中,当所述指令被执行时使得所述处理器还执行以下操作:
确定与第二有效字符串相对应的第二字符串模型;
在所述第二字符串模型属于所述常规字符串模型并且所述第二字符串模型不属于所确定的白名单模型的情况下,发出告警信息。
17.根据权利要求13所述的装置,其中,当所述指令被执行时使得所述处理器还执行以下操作:
确定与第二有效字符串相对应的第二字符串模型;
在所述第二字符串模型不属于所述常规字符串模型并且检测出所述第二字符串模型和所存储的所述至少两个字符串模型中不属于所述常规字符串模型的字符串模型中存在异常点的情况下,发出告警信息。
18.根据权利要求16所述的装置,其中,通过无监督聚类算法或异常点检测算法对所述异常点进行检测。
19.一种计算机可读存储介质,所述存储介质包括指令,当所述指令被执行时,所述计算机的处理器执行权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810630334.5A CN108933781B (zh) | 2018-06-19 | 2018-06-19 | 用于处理字符串的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810630334.5A CN108933781B (zh) | 2018-06-19 | 2018-06-19 | 用于处理字符串的方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108933781A CN108933781A (zh) | 2018-12-04 |
CN108933781B true CN108933781B (zh) | 2021-07-02 |
Family
ID=64446045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810630334.5A Active CN108933781B (zh) | 2018-06-19 | 2018-06-19 | 用于处理字符串的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108933781B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428491B (zh) * | 2019-01-09 | 2024-03-22 | 阿里巴巴集团控股有限公司 | 一种字符串流的归并方法、装置及电子设备 |
CN109934590B (zh) * | 2019-03-21 | 2023-07-18 | 深圳市迅雷网络技术有限公司 | 一种基于区块链的数据处理方法、装置、电子设备及介质 |
CN111404638B (zh) * | 2019-12-16 | 2022-10-04 | 王振江 | 一种数字信号传输方法 |
CN112351027A (zh) * | 2020-11-04 | 2021-02-09 | 杭州安恒信息技术股份有限公司 | 基于机器学习的web防护方法、系统、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173288B1 (en) * | 1996-05-29 | 2001-01-09 | International Business Machines Corporation | System and method for building a data structure of converted values without keywords from an input string including keyword/text value pairs |
CN104050269A (zh) * | 2014-06-23 | 2014-09-17 | 上海帝联信息科技股份有限公司 | 日志压缩方法及装置、解压缩方法及装置 |
CN107294953A (zh) * | 2017-05-18 | 2017-10-24 | 深信服科技股份有限公司 | 攻击操作检测方法及装置 |
CN107807987A (zh) * | 2017-10-31 | 2018-03-16 | 广东工业大学 | 一种字符串分类方法、系统及一种字符串分类设备 |
CN107992570A (zh) * | 2017-11-29 | 2018-05-04 | 北京小度信息科技有限公司 | 字符串挖掘方法、装置、电子设备及计算机可读存储介质 |
-
2018
- 2018-06-19 CN CN201810630334.5A patent/CN108933781B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173288B1 (en) * | 1996-05-29 | 2001-01-09 | International Business Machines Corporation | System and method for building a data structure of converted values without keywords from an input string including keyword/text value pairs |
CN104050269A (zh) * | 2014-06-23 | 2014-09-17 | 上海帝联信息科技股份有限公司 | 日志压缩方法及装置、解压缩方法及装置 |
CN107294953A (zh) * | 2017-05-18 | 2017-10-24 | 深信服科技股份有限公司 | 攻击操作检测方法及装置 |
CN107807987A (zh) * | 2017-10-31 | 2018-03-16 | 广东工业大学 | 一种字符串分类方法、系统及一种字符串分类设备 |
CN107992570A (zh) * | 2017-11-29 | 2018-05-04 | 北京小度信息科技有限公司 | 字符串挖掘方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108933781A (zh) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108933781B (zh) | 用于处理字符串的方法、装置及计算机可读存储介质 | |
US11323460B2 (en) | Malicious threat detection through time series graph analysis | |
US11750631B2 (en) | System and method for comprehensive data loss prevention and compliance management | |
AU2017221858B2 (en) | Graph database analysis for network anomaly detection systems | |
CN109889547B (zh) | 一种异常网络设备的检测方法及装置 | |
US9888024B2 (en) | Detection of security incidents with low confidence security events | |
US20220377093A1 (en) | System and method for data compliance and prevention with threat detection and response | |
US9231964B2 (en) | Vulnerability detection based on aggregated primitives | |
CN109274692B (zh) | 一种识别区块链网络作恶节点的方法及装置 | |
US10262122B2 (en) | Analysis apparatus, analysis system, analysis method, and analysis program | |
CN110784465B (zh) | 一种数据流检测方法、装置及电子设备 | |
CN114020735A (zh) | 安全告警日志降噪方法、装置、设备及存储介质 | |
US9734450B2 (en) | Data loss prevention to remove false positives | |
CN110768865B (zh) | 一种深度报文检测引擎激活方法、装置及电子设备 | |
EP3338405B1 (en) | System and method for detecting attacks on mobile ad hoc networks based on network flux | |
CN114567678B (zh) | 一种云安全服务的资源调用方法、装置及电子设备 | |
US20230283627A1 (en) | Securing against network vulnerabilities | |
CN108804947B (zh) | 用于确定对数据库进行操作的白名单的方法和装置 | |
TW202311994A (zh) | 偵測惡意網域查詢行為的系統及方法 | |
CN109462503B (zh) | 一种数据检测方法和装置 | |
US20160004853A1 (en) | Preventing unauthorized access to computer software applications | |
Nasridinov et al. | A histogram‐based method for efficient detection of rewriting attacks in simple object access protocol messages | |
CN114301600B (zh) | 一种提高http报文签名安全性的方法、装置及介质 | |
CN113596051B (zh) | 检测方法、检测装置、电子设备、介质和计算机程序 | |
US11522910B1 (en) | Workflow trigger generation |
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 |