CN114707026A - 网络模型训练方法、字符串检测方法、装置及电子设备 - Google Patents

网络模型训练方法、字符串检测方法、装置及电子设备 Download PDF

Info

Publication number
CN114707026A
CN114707026A CN202210368582.3A CN202210368582A CN114707026A CN 114707026 A CN114707026 A CN 114707026A CN 202210368582 A CN202210368582 A CN 202210368582A CN 114707026 A CN114707026 A CN 114707026A
Authority
CN
China
Prior art keywords
character string
character
data set
feature vector
encrypted
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
Application number
CN202210368582.3A
Other languages
English (en)
Inventor
徐钟豪
陈伟
谢忱
刘伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Douxiang Information Technology Co ltd
Original Assignee
Shanghai Douxiang Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Douxiang Information Technology Co ltd filed Critical Shanghai Douxiang Information Technology Co ltd
Priority to CN202210368582.3A priority Critical patent/CN114707026A/zh
Publication of CN114707026A publication Critical patent/CN114707026A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Character Discrimination (AREA)

Abstract

本申请涉及一种网络模型训练方法、字符串检测方法、装置及电子设备,属于计算机技术领域。网络模型训练方法包括:获取用于模型训练的字符串数据集,所述字符串数据集包括加密字符串样本集和非加密字符串样本集;对所述字符串数据集中的每一条字符串进行特征预处理;利用对所述字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,得到用于预测字符串是否加密的字符串检测模型。通过机器学习来检测加密字符串,利用机器学习来发现加密字符串间的共性,并以此为依据检测加密字符串,从而可以大大减少安全从业人员的工作量。

Description

网络模型训练方法、字符串检测方法、装置及电子设备
技术领域
本申请属于计算机技术领域,具体涉及一种网络模型训练方法、字符串检测方法、装置及电子设备。
背景技术
近年来,使用加密字符串进行通信的恶意攻击流量数量有所增加。这对安全分析人员构成了挑战,大多数情况下看起来像正常的字符串,其可能包含恶意攻击代码。因此,有必要发现新的特性和方法来检测加密字符串。
目前检测加密字符串的主要方式有两种,基于正则表达式进行检测和基于加解密对比进行检测。基于正则表达式的方式只能检测已知的加密字符串,无法检测自定义加密字符串。基于加解密对比方式进行检测,需要罗列全部加密方式对待检测加密字符串进行解密后再加密,并和原始加密字符串(也即待检测加密字符串)对比来判断,该种方式开销大且不能检测未知加密方式。
发明内容
鉴于此,本申请的目的在于提供一种网络模型训练方法、字符串检测方法、装置及电子设备,以改善现有检测加密字符串的方式所存在的开销大、只能检测已知加密字符串的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种网络模型训练方法,包括:获取用于模型训练的字符串数据集,所述字符串数据集包括加密字符串样本集和非加密字符串样本集;对所述字符串数据集中的每一条字符串进行特征预处理;利用对所述字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,得到用于预测字符串是否加密的字符串检测模型。本申请实施例中,通过训练用于预测字符串是否加密的字符串检测模型,通过机器学习来检测加密字符串,利用机器学习来发现加密字符串间的共性,并以此为依据检测加密字符串,从而可以大大减少安全从业人员的工作量。
结合第一方面实施例的一种可能的实施方式,对所述字符串数据集中的每一条字符串进行特征预处理,包括:针对所述字符串数据集中的每一条字符串,对该条字符串做特征提取处理,以提取模型训练所需的N种不同特征,N为大于等于2的正整数;将所述字符串数据集中所有字符串各自的N种不同特征,组成N维的特征向量矩阵;对所述特征向量矩阵中的元素进行特征规范化处理,得到规范化处理后的特征向量矩阵。本申请实施例中,通过提取每条字符串的多种不同特征,以及对提取的特征进行特征规范化处理,使得训练出来的模型的更准确性,检测效果更好。
结合第一方面实施例的一种可能的实施方式,对所述特征向量矩阵中的元素进行特征规范化处理,包括:若所述特征向量矩阵为M*N的特征向量矩阵时,针对所述特征向量矩阵的每一列,选取出该列元素中的最大值,并将该列中的每个元素除以该最大值,使得该列中的每个元素的值在(0,1]之间,M为所述字符串数据集中字符串的数量,M为大于N的正整数;若所述特征向量矩阵为N*M的特征向量矩阵时,针对所述特征向量矩阵的每一行,选取出该行元素中的最大值,并将该行中的每个元素除以该最大值,使得该行中的每个元素的值在(0,1]之间。本申请实施例中,在进行特征规范化处理时,选取特征向量矩阵的每一列(或每一行)元素中的最大值,并将该列(或行)中的每个元素除以该最大值,从而可以快速使得该列(或行)中的每个元素的值在(0,1]之间。
结合第一方面实施例的一种可能的实施方式,该条字符串提取的N种不同特征,包括:预设有效字符占比、数字占比、英文字符占比、不重复数字占比、不重复英文字符占比、连续数字占比、连续英文字符占比、该条字符串的正样本3gram占比与其负样本3gram占比的比值中的至少两种特征。本申请实施例中,在训练时,从上述最能体现加密字符串与非加密字符串的8种特征中选择至少2种以上的特征,以此来让机器学习加密字符串间的共性,可以提高检测效果。
结合第一方面实施例的一种可能的实施方式,所述加密字符串样本集,包括多条base64加密字符串、多条md5加密字符串、多条自定义加密字符串;和/或,所述非加密字符串样本集包括多条英文短句、多条原始代码、所述多条原始代码清洗后剩余的多条字符串。本申请实施例中,在选取样本时,选取涵盖各自不同场景的样本,使得最终训练出来的检测效果更好,实用性更好。
第二方面,本申请实施例还提供了一种字符串检测方法,包括:获取待检测字符串;对所述待检测字符串进行特征预处理,以得到模型预测所需的N种不同特征,N为大于等于2的正整数;将所述N种不同特征构成的特征向量输入事先训练好的字符串检测模型,得到预测结果。
第三方面,本申请实施例还提供了一种网络模型训练装置,包括:获取模块、处理模块、训练模块;获取模块,用于获取用于模型训练的字符串数据集,所述字符串数据集包括加密字符串样本集和非加密字符串样本集;处理模块,用于对所述字符串数据集中的每一条字符串进行特征预处理;训练模块,用于利用对所述字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,得到用于预测字符串是否加密的字符串检测模型。
第四方面,本申请实施例还提供了一种字符串检测装置,包括:获取模块、处理模块;获取模块,用于获取待检测字符串;处理模块,用于对所述待检测字符串进行特征预处理,以得到模型预测所需的N种不同特征,N为大于等于2的正整数,以及将所述N种不同特征构成的特征向量输入事先训练好的字符串检测模型,得到预测结果。
第五方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种网络模型训练方法的流程示意图。
图2示出了本申请实施例提供的一种字符串检测方法的流程示意图。
图3示出了本申请实施例提供的一种字符串检测方法的整体原理示意图。
图4示出了本申请实施例提供的一种网络模型训练装置的模块框图。
图5示出了本申请实施例提供的一种字符串检测装置的模块框图。
图6示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
鉴于现有检测加密字符串的方式所存在的开销大、只能检测已知加密字符串,无法检测未知加密字符串的缺点。本申请实施例提供了一种加密字符串检测方法,通过机器学习来检测加密字符串,利用机器学习来发现加密字符串间的共性,并以此为依据检测加密字符串,从而可以大大减少安全从业人员的工作量。
为了更好的理解,下面将结合图1,对本申请实施例提供的网络模型训练方法进行说明。
S1:获取用于模型训练的字符串数据集,所述字符串数据集包括加密字符串样本集和非加密字符串样本集。
训练网络模型时,需要获取用于模型训练的字符串数据集,该字符串数据集包括加密字符串样本集和非加密字符串样本集。
其中,加密字符串样本集,包括多条base64加密字符串(即利用base64加密算法加密的字符串)、多条md5(Message Digest 5,信息摘要算法第五版)加密字符串(即利用md5加密算法加密的字符串)、多条自定义加密字符串(即利用除base64加密算法、md5加密算法外的其他加密算法加密的字符串)。例如,加密字符串样本集有105万条加密字符串样本集,其中,包含35万条base64加密字符串、35万条md5加密字符串、35万条自定义加密字符串。
可选地,非加密字符串样本集包括多条英文短句、多条原始代码(可以是java、aspx、jsp(Java Server Pages,java服务器页面)等语言的代码)、多条原始代码清洗(如去除注释、无效字符等)后剩余的多条字符串。例如,非加密字符串样本集有105万条非加密字符串,其中,包含35万条英文短句、35万条原始代码、这35万原始代码清洗后只保留字符串的非加密字符串。
需要说明的是,不能将上述示例的加密字符串、非加密字符串的具体条数,理解成是对本申请的限制,不过,样本数量越大,训练的模型预测的效果越准确,效果越好。
训练时,上述的加密字符串样本集和非加密字符串样本集对应正、负训练样本,可以是加密字符串样本集作为正训练样本,相应地,非加密字符串样本集作为负训练样本;当然,也可以反过来,即加密字符串样本集作为负训练样本,相应地,非加密字符串样本集作为正训练样本。
其中,可以将字符串数据集中的20%的字符串(包含加密字符串21万条和非加密字符串21万条)作为测试集使用,将待检测的字符串数据对应的特征向量,导入训练阶段已经训练好的模型中,识别出待检测的字符串是加密字符串,还是非加密字符串。
S2:对所述字符串数据集中的每一条字符串进行特征预处理。
在获取到用于模型训练的字符串数据集后,对字符串数据集中的每一条字符串进行特征预处理,以得到模型训练所需的特征向量。
一种可选实施方式下,对字符串数据集中的每一条字符串进行特征预处理的过程可以是:针对字符串数据集中的每一条字符串,对该条字符串做特征提取处理,以提取模型训练所需的N种不同特征,N为大于等于2的正整数,之后,将字符串数据集中所有字符串各自的N种不同特征,组成N维的特征向量矩阵,然后,对特征向量矩阵中的元素进行特征规范化处理,得到规范化处理后的特征向量矩阵。
其中,每条字符串提取的N种不同特征,包括:预设有效字符占比(valid_ratio)、数字占比(digit_ratio)、英文字符占比(letter_ratio)、不重复数字占比(unique_digit_ratio)、不重复英文字符占比(unique_letter_ratio)、连续数字占比(consec_digit_ratio)、连续英文字符占比(consec_alphas_ratio)、该条字符串的正样本3gram占比与其负样本3gram占比的比值(tri_gram_ratio)中的至少两种特征。也即,提取的特征可以是上述valid_ratio、digit_ratio、letter_ratio、unique_digit_ratio、unique_letter_ratio、unique_digit_ratio、unique_letter_ratio、consec_digit_ratio、consec_alphas_ratio、tri_gram_ratio这8种特征中的至少2种。其中,提取的特征越多,训练出来的模型的准确性越高,例如,一种可选实施方式下,可以是提取上述8种特征。上述每种特征的含义,可以参阅表1所示。
表1
Figure BDA0003586821000000081
其中,上述8种特征中的前7种都比较好理解,此处就不再进行说明,下面对tri_gram_ratio这一特征进行说明,所谓3gram就是将字符串按照3个字符进行分段,使得分段后的子字符串的字符均为3。为了便于理解,结合例子进行说明,假设字符串为“abcdef”,则可以分为4个子字符串:“adc”、“bcd”、“cde”、“def”。之后分别计算每个子字符串在正样本(假设有100条)、负样本(假设有100条)中的出现的频次。假设“adc”、“bcd”、“cde”、“def”这4个子字符串在100条正样本中分别出现了10次、20次、13次、35次、则该条字符串的正样本3gram占比为(10+20+13+35)/100=78/100。假设“adc”、“bcd”、“cde”、“def”这4个子字符在100条负样本中分别出现了18次、15次、17次、10次、则该条字符串的负样本3gram占比为(18+15+17+10)/100=60/100,则正样本3gram占比与负样本3gram占比的比值为78/60。当然,也可以计算负样本3gram占比与正样本3gram占比的比值,此时,比值为60/78。
此外,还可以分别计算每个3gram字符串的正、负样本的比值,例如,上述“adc”在正样本中出现了10次,在负样本中出现了18次,则“adc”的正、负样本的比值为10/100:18/100=10/18,以便于后续在检测阶段,获取待检测字符串的tri_gram_ratio特征时使用。
针对字符串数据集中的每一条字符串,对该条字符串做特征提取处理,以提取模型训练所需的上述8种特征中的N种(如N为8),将提取出的N种特征组成N维的特征向量。假设字符串数据集有300条字符串,则可以构成一个300*8的特征向量矩阵,或者8*300的特征向量矩阵。之后,便可对向量矩阵中的元素进行特征规范化处理,得到规范化处理后的特征向量矩阵。
其中,在对特征向量矩阵中的元素进行特征规范化处理,得到规范化处理后的特征向量矩阵时,其过程可以是对特征向量矩阵中的元素进行归一化处理,也即将每个元素除以一预设的数值,得到归一化处理后的特征向量矩阵。例如,若特征向量矩阵为M*N的特征向量矩阵时,针对特征向量矩阵的每一列,选取出该列元素中的最大值,并将该列中的每个元素除以该最大值,使得该列中的每个元素的值在(0,1]之间,M为字符串数据集中字符串的数量,M为大于N的正整数;若特征向量矩阵为N*M的特征向量矩阵时,针对特征向量矩阵的每一行,选取出该行元素中的最大值,并将该行中的每个元素除以该最大值,使得该行中的每个元素的值在(0,1]之间。
或者,对特征向量矩阵中的元素进行特征规范化处理,得到规范化处理后的特征向量矩阵时,其过程可以是,利用高斯函数对特征向量矩阵中每一行或每一列的元素进行高斯分布处理,使其呈现出高斯分布的特性。
S3:利用对所述字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,得到用于预测字符串是否加密的字符串检测模型。
在对字符串数据集中的每一条字符串进行特征预处理后,便可利用对字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,从而得到用于预测字符串是否加密的字符串检测模型。
在训练时,可以对多种模型(即算法)进行训练,之后利用测试集去测试不同模型的预测效果,选取效果最优的模型作为最终的字符串检测模型,例如,可以对支持向量机、神经网络、随机森林和XGBoost等模型进行训练,之后使用交叉验证方式来评估模型优劣性,最终根据准确性和运行效率综合评估。例如,本申请实施例中,通过对支持向量机、神经网络、随机森林和XGBoost等模型进行训练,之后经过比较选取随机森林作为最终模型。
需要说明的是,具体的模型训练过程已经为本领域技术人员所熟知,在此不再进行说明。
在训练得到用于预测字符串是否加密的字符串检测模型后,可以将训练好的字符串检测模型存储在本地,用于后续检测阶段使用。
基于同样的发明构思,本申请实施例还提供了一种字符串检测方法,下面结合图2对其进行说明。
S10:获取待检测字符串。
S20:对所述待检测字符串进行特征预处理,以得到模型预测所需的N种不同特征,N为大于等于2的正整数。
在获取到待检测字符串后,对待检测字符串进行特征预处理,以得到模型预测所需的N种不同特征。例如,对待检测字符串进行特征提取处理,以提取预设有效字符占比(valid_ratio)、数字占比(digit_ratio)、英文字符占比(letter_ratio)、不重复数字占比(unique_digit_ratio)、不重复英文字符占比(unique_letter_ratio)、连续数字占比(consec_digit_ratio)、连续英文字符占比(consec_alphas_ratio)、该条字符串的正样本3gram占比与其负样本3gram占比的比值(tri_gram_ratio)中的至少两种特征。一种实施方式下,可以提取valid_ratio、digit_ratio、letter_ratio、unique_digit_ratio、unique_letter_ratio、unique_digit_ratio、unique_letter_ratio、consec_digit_ratio、consec_alphas_ratio、tri_gram_ratio这8种特征,之后将提取的N种特征组成特征向量。
其中,在提取待检测字符串中的第8种特征(tri_gram_ratio)时,可以直接基于之前统计的值得出,比如“abc”在正样本出现50w次,在负样本出现10w次,“abc”的tri_gram_ratio就是50/10。需要说明的是,在训练模型的时候会提前计算每个3gram字符串的正、负样本的比值,并把所有的结果统计保存下来,以便于之后使用。因为本申请实施例中,数据库样本已经足够大(如正样本为105万条、负样本为105万条),这样基本可以找到每个3gram子字符串的在正、负样本中出现的次数。如果没有的话,直接使用默认值,默认值为各种3gram子字符串的正、负样本比值的平均值。
在提取到模型预测所需的N种不同特征后,还可以进一步对提取到的特征进行特征规范化处理,例如,每个特征除以预设阈值。需要说明的是,不同特征的预设阈值可以不同,例如,valid_ratio特征对应的预设阈值为模型训练阶段时,所有字符串对应的valid_ratio特征中的最大值;同理,digit_ratio对应的预设阈值也为模型训练阶段时,所有字符串对应的digit_ratio特征中的最大值。同理,letter_ratio、unique_digit_ratio、unique_letter_ratio、unique_digit_ratio、unique_letter_ratio、consec_digit_ratio、consec_alphas_ratio、tri_gram_ratio对应的预设阈值也是如此,均为模型训练阶段时,所有字符串对应特征中的最大值。
S30:将所述N种不同特征构成的特征向量输入事先训练好的字符串检测模型,得到预测结果。
将提取得到N种不同特征构成的特征向量输入事先训练好的字符串检测模型中进行处理,便可得到预测结果。检测结果为加密字符串可疑概率P,P为0到1取值。概率P越大表示结果可信赖程度越高。
在获取到预测结果后,一种实施方式下,还可以将预测结果以及提取的N种不同特征一起进行前端展示。例如,将待检测字符串的valid_ratio、digit_ratio、letter_ratio、unique_digit_ratio、unique_letter_ratio、unique_digit_ratio、unique_letter_ratio、consec_digit_ratio、consec_alphas_ratio、tri_gram_ratio,以及预测结果一起在前端进行展示。
其中,一种实施方式下,可以基于上述的网络模型训练方法来训练字符串检测模型,也即在将所述N种不同特征构成的特征向量输入事先训练好的字符串检测模型,得到预测结果之前,该字符串检测方法还包括训练字符串检测模型。其中,具体的训练过程此处不再说明,具体可以参见上述的网络模型训练方法中的内容。
为了更好的理解本申请字符串检测的整体逻辑,可以结合图3对其进行说明。可以看出在训练阶段以及检测阶段,对每条字符串进行特征预处理的过程相同,都包括特征提取处理以及特征规范化处理。
基于同样的发明构思,本申请实施例还提供了一种网络模型训练装置100,如图4所示。该网络模型训练装置100包括:获取模块110、处理模块120、训练模块130。
获取模块110,用于获取用于模型训练的字符串数据集,所述字符串数据集包括加密字符串样本集和非加密字符串样本集。
处理模块120,用于对所述字符串数据集中的每一条字符串进行特征预处理。
训练模块130,用于利用对所述字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,得到用于预测字符串是否加密的字符串检测模型。
可选地,处理模块120用于针对所述字符串数据集中的每一条字符串,对该条字符串做特征提取处理,以提取模型训练所需的N种不同特征,N为大于等于2的正整数;将所述字符串数据集中所有字符串各自的N种不同特征,组成N维的特征向量矩阵;对所述特征向量矩阵中的元素进行特征规范化处理,得到规范化处理后的特征向量矩阵。
可选地,处理模块120用于若所述特征向量矩阵为M*N的特征向量矩阵时,针对所述特征向量矩阵的每一列,选取出该列元素中的最大值,并将该列中的每个元素除以该最大值,使得该列中的每个元素的值在(0,1]之间,M为所述字符串数据集中字符串的数量,M为大于N的正整数;若所述特征向量矩阵为N*M的特征向量矩阵时,针对所述特征向量矩阵的每一行,选取出该行元素中的最大值,并将该行中的每个元素除以该最大值,使得该行中的每个元素的值在(0,1]之间。
本申请实施例所提供的网络模型训练装置100,其实现原理及产生的技术效果和前述网络模型训练方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述网络模型训练方法实施例中相应内容。
基于同样的发明构思,本申请实施例还提供了一种字符串检测装置200,如图5所示。该字符串检测装置200包括:获取模块210、处理模块220。获取模块210,用于获取待检测字符串。处理模块220,用于对所述待检测字符串进行特征预处理,以得到模型预测所需的N种不同特征,N为大于等于2的正整数,以及将所述N种不同特征构成的特征向量输入事先训练好的字符串检测模型,得到预测结果。
本申请实施例所提供的字符串检测装置200,其实现原理及产生的技术效果和前述字符串检测方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述字符串检测方法实施例中相应内容。
如图6所示,图6示出了本申请实施例提供的一种电子设备300的结构框图。所述电子设备300包括:收发器310、存储器320、通讯总线330以及处理器340。
所述收发器310、所述存储器320、处理器340各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线330或信号线实现电性连接。其中,收发器310用于收发数据。存储器320用于存储计算机程序,如存储有图4、图5中所示的软件功能模块,即图4的网络模型训练装置100或图5的字符串检测装置200。其中,网络模型训练装置100或字符串检测装置200包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器320中或固化在所述电子设备300的操作系统(Operating System,OS)中的软件功能模块。所述处理器340,用于执行存储器320中存储的可执行模块。
例如,处理器340在执行字符串检测装置200对应的软件功能模块时,处理器340用于:获取模型训练的字符串数据集,所述字符串数据集包括加密字符串样本集和非加密字符串样本集;对所述字符串数据集中的每一条字符串进行特征预处理;利用对所述字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,得到用于预测字符串是否加密的字符串检测模型。
例如,处理器340在执行网络模型训练装置100对应的软件功能模块时,处理器340用于:获取待检测字符串;对所述待检测字符串进行特征预处理,以得到模型预测所需的N种不同特征,N为大于等于2的正整数;将所述N种不同特征构成的特征向量输入事先训练好的字符串检测模型,得到预测结果。
其中,存储器320可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器340可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器340也可以是任何常规的处理器等。
其中,上述的电子设备300,包括但不限于计算机、服务器等。
本申请实施例还提供了一种非易失性的计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备300运行时,执行上述所示的环形网络配置方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种网络模型训练方法,其特征在于,包括:
获取用于模型训练的字符串数据集,所述字符串数据集包括加密字符串样本集和非加密字符串样本集;
对所述字符串数据集中的每一条字符串进行特征预处理;
利用对所述字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,得到用于预测字符串是否加密的字符串检测模型。
2.根据权利要求1所述的方法,其特征在于,对所述字符串数据集中的每一条字符串进行特征预处理,包括:
针对所述字符串数据集中的每一条字符串,对该条字符串做特征提取处理,以提取模型训练所需的N种不同特征,N为大于等于2的正整数;
将所述字符串数据集中所有字符串各自的N种不同特征,组成N维的特征向量矩阵;
对所述特征向量矩阵中的元素进行特征规范化处理,得到规范化处理后的特征向量矩阵。
3.根据权利要求2所述的方法,其特征在于,对所述特征向量矩阵中的元素进行特征规范化处理,包括:
若所述特征向量矩阵为M*N的特征向量矩阵时,针对所述特征向量矩阵的每一列,选取出该列元素中的最大值,并将该列中的每个元素除以该最大值,使得该列中的每个元素的值在(0,1]之间,M为所述字符串数据集中字符串的数量,M为大于N的正整数;
若所述特征向量矩阵为N*M的特征向量矩阵时,针对所述特征向量矩阵的每一行,选取出该行元素中的最大值,并将该行中的每个元素除以该最大值,使得该行中的每个元素的值在(0,1]之间。
4.根据权利要求2所述的方法,其特征在于,该条字符串提取的N种不同特征,包括:预设有效字符占比、数字占比、英文字符占比、不重复数字占比、不重复英文字符占比、连续数字占比、连续英文字符占比、该条字符串的正样本3gram占比与其负样本3gram占比的比值中的至少两种特征。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述加密字符串样本集,包括多条base64加密字符串、多条md5加密字符串、多条自定义加密字符串;
和/或,所述非加密字符串样本集包括多条英文短句、多条原始代码、所述多条原始代码清洗后剩余的多条字符串。
6.一种字符串检测方法,其特征在于,包括:
获取待检测字符串;
对所述待检测字符串进行特征预处理,以得到模型预测所需的N种不同特征,N为大于等于2的正整数;
将所述N种不同特征构成的特征向量输入事先训练好的字符串检测模型,得到预测结果。
7.一种网络模型训练装置,其特征在于,包括:
获取模块,用于获取用于模型训练的字符串数据集,所述字符串数据集包括加密字符串样本集和非加密字符串样本集;
处理模块,用于对所述字符串数据集中的每一条字符串进行特征预处理;
训练模块,用于利用对所述字符串数据集中的每一条字符串进行特征预处理后得到的特征向量对预设神经网络模型进行训练,得到用于预测字符串是否加密的字符串检测模型。
8.一种字符串检测装置,其特征在于,包括:
获取模块,用于获取待检测字符串;
处理模块,用于对所述待检测字符串进行特征预处理,以得到模型预测所需的N种不同特征,N为大于等于2的正整数,以及将所述N种不同特征构成的特征向量输入事先训练好的字符串检测模型,得到预测结果。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-5中任一项所述的方法,或者,执行如权利要求6所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-5中任一项所述的方法,或者,执行如权利要求6所述的方法。
CN202210368582.3A 2022-04-08 2022-04-08 网络模型训练方法、字符串检测方法、装置及电子设备 Pending CN114707026A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210368582.3A CN114707026A (zh) 2022-04-08 2022-04-08 网络模型训练方法、字符串检测方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210368582.3A CN114707026A (zh) 2022-04-08 2022-04-08 网络模型训练方法、字符串检测方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114707026A true CN114707026A (zh) 2022-07-05

Family

ID=82172269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210368582.3A Pending CN114707026A (zh) 2022-04-08 2022-04-08 网络模型训练方法、字符串检测方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114707026A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115952175A (zh) * 2023-03-14 2023-04-11 乐山师范学院 一种数据库索引构建方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115952175A (zh) * 2023-03-14 2023-04-11 乐山师范学院 一种数据库索引构建方法、装置、计算机设备及存储介质
CN115952175B (zh) * 2023-03-14 2023-05-30 乐山师范学院 一种数据库索引构建方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN110765458B (zh) 一种基于深度学习的恶意软件图像格式检测方法及其装置
CN109005145B (zh) 一种基于自动特征抽取的恶意url检测系统及其方法
CN110808968B (zh) 网络攻击检测方法、装置、电子设备和可读存储介质
Peng et al. Bit-level n-gram based forensic authorship analysis on social media: Identifying individuals from linguistic profiles
US11574052B2 (en) Methods and apparatus for using machine learning to detect potentially malicious obfuscated scripts
CN109582833B (zh) 异常文本检测方法及装置
CN107861949B (zh) 文本关键词的提取方法、装置及电子设备
CN112131249B (zh) 一种攻击意图识别方法及装置
CN109933502B (zh) 电子装置、用户操作记录的处理方法和存储介质
CN112241530A (zh) 恶意pdf文档的检测方法及电子设备
CN110730164A (zh) 安全预警方法及相关设备、计算机可读存储介质
CN114266251A (zh) 恶意域名检测方法、装置、电子设备及存储介质
CN114707026A (zh) 网络模型训练方法、字符串检测方法、装置及电子设备
CN112817877B (zh) 异常脚本检测方法、装置、计算机设备和存储介质
Ugarte-Pedrero et al. On the adoption of anomaly detection for packed executable filtering
CN112231507A (zh) 识别方法、装置及电子设备
Uhlig et al. Combining AI and AM–Improving approximate matching through transformer networks
CN116192462A (zh) 一种基于pe文件格式的恶意软件分析方法及装置
CN112163217B (zh) 恶意软件变种识别方法、装置、设备及计算机存储介质
CN111625825B (zh) 一种病毒检测方法、装置、设备及存储介质
CN112073360A (zh) 超文本传输数据的检测方法、装置、终端设备及介质
US20130311489A1 (en) Systems and Methods for Extracting Names From Documents
CN112989793B (zh) 文章检测方法及装置
CN117278322B (zh) Web入侵检测方法、装置、终端设备及存储介质
CN115048543B (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