CN116186698A - 一种基于机器学习的安全数据处理方法、介质及设备 - Google Patents

一种基于机器学习的安全数据处理方法、介质及设备 Download PDF

Info

Publication number
CN116186698A
CN116186698A CN202211644911.9A CN202211644911A CN116186698A CN 116186698 A CN116186698 A CN 116186698A CN 202211644911 A CN202211644911 A CN 202211644911A CN 116186698 A CN116186698 A CN 116186698A
Authority
CN
China
Prior art keywords
data
word
security
safety
vector
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
CN202211644911.9A
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.)
Guangdong Polytechnic Normal University
Original Assignee
Guangdong Polytechnic Normal University
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 Guangdong Polytechnic Normal University filed Critical Guangdong Polytechnic Normal University
Priority to CN202211644911.9A priority Critical patent/CN116186698A/zh
Publication of CN116186698A publication Critical patent/CN116186698A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本发明公开了一种基于机器学习的安全数据处理方法、介质及设备,所述方法包括如下步骤:描述各个安全场景的问题;获取各个安全场景对应的安全数据;对安全数据进行数据处理;调用各个安全场景下的算法模型,将处理后的数据作为算法模型的输入;输出算法结果,即为各个安全场景下的输出结果。本发明可用于处理不同安全场景的安全数据,使得各种安全数据能够形成统一的范式输入到算法模型中,减少为每种安全场景开发独立数据处理技术的成本。

Description

一种基于机器学习的安全数据处理方法、介质及设备
技术领域
本发明属计算机网络安全技术领域,具体涉及一种基于机器学习的安全数据处理方法、介质及设备。
背景技术
随着云计算、大数据、物联网等技术迅猛发展,数以亿计的联网设备以及网络应用产生的海量数据给网络空间的安全带来了巨大的挑战,网络威胁变得更加棘手、难以应付。面对挑战,传统的解决方案已经显得效率低下。
网络攻击手段层出不穷,攻击者为了达到目的使用各种网络攻击手段,常见的有跨站脚本(XSS)、SQL注入、模糊测试、零日攻击、目录遍历、Ddos、中间人攻击、暴力破解、WebShell、DNS隧道攻击、网络钓鱼等等。然而不同的安全场景在系统中留下的记录也不断,例如在WebShell检测安全场景中,其中WebShell的恶意文件内容就是最关键的记录;在恶意软件检测安全场景中,恶意软件的API就是最关键的记录;在SQL注入检测安全场景中,请求数据中的SQL语句就是最关键的记录;在XSS检测安全场景中,源码中的URL就是最关键的记录。在现有技术中,每种安全场景都有各自相应的技术来检测对应的网络攻击,这表明每个安全场景问题是相互孤立的,同时构建各独立的检测技术需要巨大的成本。
随着机器学习的出现,每个安全场景问题互相孤立的问题得到了缓解,其强大的计算能力和自适应性使得其成为处理安全场景的有效方法。
发明内容
为了克服上述技术缺陷,本发明提供了一种基于机器学习的安全数据处理方法,针对不同安全场景的安全数据提供了一种通用的处理方案,使得处理后的安全数据形成统一的范式输入到算法模式中进行计算。
为了解决上述问题,本发明按以下技术方案予以实现的:
一种基于机器学习的安全数据处理方法,包括以下步骤:
描述各个安全场景的问题;
获取各个安全场景对应的安全数据;
对安全数据进行数据处理;
调用各个安全场景下的算法模型,将处理后的数据作为算法模型的输入;
输出算法结果,即为各个安全场景下的输出结果。
进一步的,步骤对安全数据进行数据处理,包括如下步骤:
初步清洗安全数据;
对安全数据文本进行分词;
安全数据特征化和向量化。
进一步的,步骤初步清洗安全数据,包括如下步骤:
处理安全数据缺失值:删除缺失率大于92%的变量,对空值进行定制填充,数据存在倾斜分布时采用中位数进行填补;
处理安全数据离群点:基于绝对离差中位数(MAD)和3σ原则判断异常点的数量和影响;
处理安全数据噪声:对安全数据进行等频分箱,用每个箱的平均数替代箱中的所有数。
进一步的,步骤对安全数据文本进行分词,包括如下步骤:
根据安全数据对应的安全场景,采用单词粒度分词方法或字符粒度分词方法对安全数据文本进行分词。
进一步的,步骤安全数据特征化和向量化,包括如下步骤:
将分词后的安全数据转换为词序列,得到词序列索引;
获得word2vec预训练的矩阵;
使用全量数据建立任意大小的字典;
根据词序列索引和word2vec预训练的矩阵,获得深度学习模型,对安全数据文本进行词嵌入向量的映射。
进一步的,步骤获得word2vec预训练的矩阵,包括如下步骤:
输入层输入多个上下文单词的one-hot;
设最终获得的词向量的维度为N,输入层与隐藏层之间的权重矩阵W,维度为V*N;
上下文单词的one-hot(CV)与网络的输入权重矩阵W(VN)相乘,得到C个1*N的向量;
将C个1*N的向量进行求和,并求平均,得到隐藏层向量h,维度为1*N;
设隐藏层与输出层之间的权重矩阵W′,维度为N*V;
隐藏层向量h(1*N)与权重矩阵W′(N*V)相乘,得到1*V的向量u;
采用Softmax函数对向量u进行处理,获得向量Softmax(u);
将1*V的向量u与Groud Truth中的one-hot进行对比,获得最大化实际中心词出现的概率;
根据最大化实际中心词出现的概率,定义损失函数;
通过最小化损失函数,采用梯度下降算法更新W与W′;
迭代梯度下降算法直至收敛,完成训练,获得词向量W。
与现有技术相比,本发明具有以下有益效果:
本发明公开了一种基于机器学习的安全数据处理方法,可用于处理不同安全场景的安全数据,使得各种安全数据能够形成统一的范式输入到算法模型中,减少为每种安全场景开发独立数据处理技术的成本。
本发明还公开了一种计算机可读存储介质,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述的方法。
本发明还公开了一种计算机设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述的方法。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明,其中:
图1为实施例1所述的安全数据处理方法的流程图;
图2为实施例3所述的计算机设备的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
如图1,本实施例公开了一种基于机器学习的安全数据处理方法,将机器学习和网络安全进行结合,方法包括如下步骤:
S1、描述各个安全场景的问题:即描述检测安全场景时采用的网络攻击手段,如跨站脚本(XSS)、SQL注入、模糊测试、零日攻击、目录遍历、DdoS、中间人攻击、暴力破解、WebShell、DNS隧道攻击、网络钓鱼等等。
S2、获取各个安全场景对应的安全数据:不同的安全场景在系统中留下的关键记录不同,获取WebShell检测安全场景中的恶意文件内容记录;获取恶意软件检测安全场景中的API记录;获取SQL注入检测安全场景中的请求数据中SQL语句记录;获取XSS检测安全场景中源码的URL记录。
S3、对安全数据进行数据处理,将各独立的安全场景的安全数据进行处理,模糊其原有的安全场景特性,使得各独立的安全场景的安全数据形成统一的范式。
具体的,步骤S3包括如下步骤:
S31、初步清洗安全数据:
处理安全数据缺失值:删除缺失率大于92%的变量,对空值进行定制填充,数据存在倾斜分布时采用中位数进行填补,使得采集的安全数据价值最大化。
处理安全数据离群点:处于特定分布区域或范围之外的数据通常被定义为异常或噪声,通过基于绝对离差中位数(MAD)和3σ原则判断异常点的数量和影响,来决定是否删除该数据。
处理安全数据噪声:对安全数据进行等频分箱,用每个箱的平均数替代箱中的所有数。
S32、对安全数据文本进行分词:不同的安全场景对应有不同的安全数据,不同安全数据中特殊符号的意义各不相同,根据对应的安全场景,采用不同的分词方法对安全数据文本进行分词:
对恶意软件检测安全场景中的动态API行为序列数据,采用单词粒度分词方法进行分词。
对XSS检测安全场景中的恶意代码数据,采用单词粒度分词方法进行分词。
对DNS域名检测安全场景中的域名数据,采用字符粒度分词方法进行分词。
对URL检测安全场景中的URL数据,采用字符粒度分词方法进行分词。
对Denial-Of-Service(DOS)非法企图中断或干扰主机或网络的正常运行的数据,采用单词粒度分词方法进行分词。
对Remote to Local(R2L)远程非授权用户非法获得本地主机的用户特权的数据,采用单词粒度分词方法进行分词。
对User to Root(U2R)本地非授权用户非法获取本地超级用户或管理员的特权的数据,采用单词粒度分词方法进行分词。
对Surveillance or probe(Probe)非法扫描主机或网络,寻找漏洞、搜索系统配置或网络拓扑的数据,采用单词粒度分词方法进行分词。
在上述实施例中,由于安全场景的特殊性,安全数据中的特殊符号也是不可或缺的,忽略特殊符号会丢失部分原始信息。但常见的如使用Keras的文本处理类Tokenizer预处理文本数据时,默认会过滤文本数据中的所有特殊符号,仅保留单词,因此不仅需要采用单词粒度分词方法,还需要采用字符粒度分词方法进行分词处理,以保留特殊符号数据。
S33、安全数据特征化和向量化:
将分词后的安全数据转换为词序列,得到词序列索引。
获得word2vec预训练的矩阵。
使用全量数据建立任意大小的字典。
对安全数据文本进行词嵌入向量的映射,根据词序列索引和word2vec预训练的矩阵,获得深度学习模型,对安全数据文本进行词嵌入向量的映射。
在上述实施例中,步骤获得word2vec预训练的矩阵,包括如下步骤:
输入层输入多个上下文单词的one-hot。
设最终获得的词向量的维度为N,输入层与隐藏层之间的权重矩阵W(维度为V*N)。
上下文单词的one-hot(维度为C*V)与网络的输入权重矩阵W(维度为V*N)相乘,得到C个1*N的向量。
将C个1*N的向量进行求和,并求平均,得到隐藏层向量h,维度为1*N:
Figure BDA0004003391950000051
设隐藏层与输出层之间的权重矩阵W′(维度为N*V)。
隐藏层向量h(维度为1*N)与权重矩阵W′(维度为N*V)相乘,得到维度为1*V的向量u:
Figure BDA0004003391950000052
其中,uj为u的子集。
采用Softmax函数对向量u进行处理,获得向量Softmax(u)。
将1*V的向量u与Groud Truth中的one-hot进行对比,获得最大化实际中心词出现的概率。
根据最大化实际中心词出现的概率,定义损失函数:
Figure BDA0004003391950000053
通过最小化损失函数,采用梯度下降算法更新W与W′。
迭代梯度下降算法直至收敛,完成训练,获得词向量W。
S4、调用各个安全场景下的算法模型,将处理后形成统一范式的数据作为算法模型的输入。
S5、输出算法结果,即为各个安全场景下的输出结果。
采用恶意软件检测安全场景,并获得恶意软件检测安全场景中的API,对安全数据作初步清洗、文本分词以及特征化和向量化处理,文本分词中对动态API行为序列数据采用单词粒度分词方法进行分词,使得数据具有统一的范式,将统一范式的数据输入到恶意软件检测安全场景下的最佳算法模型中,输出算法结果,获得恶意软件检测安全场景下的的输出结果。
本发明采用机器学习处理安全场景的安全数据,将机器学习和网络安全两个领域相结合,使得各独立的安全场景的安全数据能够形成统一的范式输入到算法模型中,无需为各安全场景设计构建独立的检测模型;输出算法结果,即获得各安全场景下安全数据的处理结果,从而减少了在安全领域中为每种安全场景构建独立的检测技术所需的巨大成本。
实施例2
本实施例公开了一种计算机可读存储介质,其为计算机可读的存储介质,其上存储有计算机程序,计算机程序被执行时实现实施例1中的方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,ResistanceRandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。
实施例3
如图2所示,本实施例公开了一种计算机设备,包括:处理器及用于存储所述处理器可执行指令的存储器;处理器被配置为执行指令,以实现实施例1中方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,故凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (8)

1.一种基于机器学习的安全数据处理方法,其特征在于,包括如下步骤:
描述各个安全场景的问题;
获取各个安全场景的对应安全数据;
对安全数据进行数据处理;
调用各个安全场景下的算法模型,将处理后的数据作为算法模型的输入;
输出算法结果,即为各个安全场景下的输出结果。
2.根据权利要求1所述的方法,其特征在于,步骤对安全数据进行数据处理,包括如下步骤:
初步清洗安全数据;
对安全数据文本进行分词;
安全数据特征化和向量化。
3.根据权利要求2所述的方法,其特征在于,步骤初步清洗安全数据,包括如下步骤:
处理安全数据缺失值:删除缺失率大于92%的变量,对空值进行定制填充,数据存在倾斜分布时采用中位数进行填补;
处理安全数据离群点:基于绝对离差中位数(MAD)和3σ原则判断异常点的数量和影响;
处理安全数据噪声:对安全数据进行等频分箱,用每个箱的平均数替代箱中的所有数。
4.根据权利要求2所述的方法,其特征在于,步骤对安全数据文本进行分词,包括如下步骤:
根据安全数据对应的安全场景,采用单词粒度分词方法或字符粒度分词方法对安全数据文本进行分词。
5.根据权利要求2所述的方法,其特征在于,步骤安全数据特征化和向量化,包括如下步骤:
将分词后的安全数据转换为词序列,得到词序列索引;
获得word2vec预训练的矩阵;
使用全量数据建立任意大小的字典;
根据词序列索引和word2vec预训练的矩阵,获得深度学习模型,对安全数据文本进行词嵌入向量的映射。
6.根据权利要求5所述的方法,其特征在于,步骤获得word2vec预训练的矩阵,包括如下步骤:
输入层输入多个上下文单词的one-hot;
设最终获得的词向量的维度为N,输入层与隐藏层之间的权重矩阵W(维度为V*N);
上下文单词的one-hot(维度为C*V)与网络的输入权重矩阵W(维度为V*N)相乘,得到C个1*N的向量;
将C个1*N的向量进行求和,并求平均,得到隐藏层向量h,维度为1*N;
设隐藏层与输出层之间的权重矩阵W′,维度为N*V;
隐藏层向量h(维度为1*N)与权重矩阵W′(维度为N*V)相乘,得到维度为1*V的向量u;
采用Softmax函数对向量u进行处理,获得向量Softmax(u);
将1*V的向量u与Groud Truth中的one-hot进行对比,获得最大化实际中心词出现的概率;
根据最大化实际中心词出现的概率,定义损失函数;
通过最小化损失函数,采用梯度下降算法更新W与W′;
迭代梯度下降算法直至收敛,完成训练,获得词向量W。
7.一种计算机可读存储介质,其特征在于,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如权利要求1-6中任一项所述的方法。
8.一种计算机设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的方法。
CN202211644911.9A 2022-12-16 2022-12-16 一种基于机器学习的安全数据处理方法、介质及设备 Pending CN116186698A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211644911.9A CN116186698A (zh) 2022-12-16 2022-12-16 一种基于机器学习的安全数据处理方法、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211644911.9A CN116186698A (zh) 2022-12-16 2022-12-16 一种基于机器学习的安全数据处理方法、介质及设备

Publications (1)

Publication Number Publication Date
CN116186698A true CN116186698A (zh) 2023-05-30

Family

ID=86437462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211644911.9A Pending CN116186698A (zh) 2022-12-16 2022-12-16 一种基于机器学习的安全数据处理方法、介质及设备

Country Status (1)

Country Link
CN (1) CN116186698A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120130705A1 (en) * 2010-11-22 2012-05-24 Alibaba Group Holding Limited Text segmentation with multiple granularity levels
CN110162519A (zh) * 2019-04-17 2019-08-23 苏宁易购集团股份有限公司 数据清理方法
CN112214278A (zh) * 2020-09-11 2021-01-12 浙江运达风电股份有限公司 一种私有云僵尸虚拟机的识别和处理方法
CN112580050A (zh) * 2020-12-25 2021-03-30 嘉应学院 一种基于语义分析及向量化大数据的xss入侵识别方法
CN112702342A (zh) * 2020-12-22 2021-04-23 北京天融信网络安全技术有限公司 网络事件处理方法、装置、电子设备及可读存储介质
CN114266251A (zh) * 2021-12-27 2022-04-01 北京天融信网络安全技术有限公司 恶意域名检测方法、装置、电子设备及存储介质
CN115115062A (zh) * 2022-06-29 2022-09-27 北京百度网讯科技有限公司 机器学习模型建立方法、相关装置及计算机程序产品

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120130705A1 (en) * 2010-11-22 2012-05-24 Alibaba Group Holding Limited Text segmentation with multiple granularity levels
CN110162519A (zh) * 2019-04-17 2019-08-23 苏宁易购集团股份有限公司 数据清理方法
CN112214278A (zh) * 2020-09-11 2021-01-12 浙江运达风电股份有限公司 一种私有云僵尸虚拟机的识别和处理方法
CN112702342A (zh) * 2020-12-22 2021-04-23 北京天融信网络安全技术有限公司 网络事件处理方法、装置、电子设备及可读存储介质
CN112580050A (zh) * 2020-12-25 2021-03-30 嘉应学院 一种基于语义分析及向量化大数据的xss入侵识别方法
CN114266251A (zh) * 2021-12-27 2022-04-01 北京天融信网络安全技术有限公司 恶意域名检测方法、装置、电子设备及存储介质
CN115115062A (zh) * 2022-06-29 2022-09-27 北京百度网讯科技有限公司 机器学习模型建立方法、相关装置及计算机程序产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
双锴 编著: "《智能摘要与深度学习》", 北京邮电大学出版社, pages: 26 - 31 *

Similar Documents

Publication Publication Date Title
US11924233B2 (en) Server-supported malware detection and protection
US10834128B1 (en) System and method for identifying phishing cyber-attacks through deep machine learning via a convolutional neural network (CNN) engine
Gopinath et al. A comprehensive survey on deep learning based malware detection techniques
Lian et al. An intrusion detection method based on decision tree-recursive feature elimination in ensemble learning
US11330014B2 (en) Optically analyzing text strings such as domain names
JP5511097B2 (ja) 中央集中的にマルウェアを検出するための知的ハッシュ
Zhao et al. A review of computer vision methods in network security
Zhang et al. Tiki-taka: Attacking and defending deep learning-based intrusion detection systems
Liu et al. GraphXSS: an efficient XSS payload detection approach based on graph convolutional network
Cepeda et al. Feature selection and improving classification performance for malware detection
Xu et al. Intrusion detection based on fusing deep neural networks and transfer learning
Aung et al. URL-based phishing detection using the entropy of non-alphanumeric characters
Zaimi et al. Survey paper: Taxonomy of website anti-phishing solutions
Nofal et al. SQL injection attacks detection and prevention based on neuro—fuzzy technique
Gu et al. From image to code: executable adversarial examples of android applications
Rasheed et al. Adversarial attacks on featureless deep learning malicious URLs detection
EP3798885B1 (en) System and method for detection of malicious files
Hajiali et al. Preventing phishing attacks using text and image watermarking
CN116186698A (zh) 一种基于机器学习的安全数据处理方法、介质及设备
Helmer et al. Anomalous intrusion detection system for hostile Java applets
CN113538288A (zh) 网络异常检测方法、装置及计算机可读存储介质
US10878095B2 (en) System and method of detecting a modification of a web resource
CN113076319A (zh) 基于离群值检测技术和位图索引的动态数据库填充方法
Zheng et al. A study on robustness of malware detection model
Marimuthu et al. Intelligent antiphishing framework to detect phishing scam: A hybrid classification approach

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