CN111970272A - 一种apt攻击操作识别方法 - Google Patents
一种apt攻击操作识别方法 Download PDFInfo
- Publication number
- CN111970272A CN111970272A CN202010819967.8A CN202010819967A CN111970272A CN 111970272 A CN111970272 A CN 111970272A CN 202010819967 A CN202010819967 A CN 202010819967A CN 111970272 A CN111970272 A CN 111970272A
- Authority
- CN
- China
- Prior art keywords
- user
- apt attack
- network
- log
- users
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000002159 abnormal effect Effects 0.000 claims abstract description 9
- 230000006399 behavior Effects 0.000 claims description 45
- 238000013135 deep learning Methods 0.000 claims description 32
- 238000012549 training Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 16
- 238000013527 convolutional neural network Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000003062 neural network model Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 238000002474 experimental method Methods 0.000 claims description 3
- 230000000306 recurrent effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 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/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种APT攻击操作识别方法,包括步骤:一、获取用户行为特征;二、判断用户行为的危险等级;三、判断用户行为的危险等级,当用户行为的危险等级超过了预警等级时,执行四,否则,返回一;四、获取当前用户前期所有操作日志,并获取具有相同访问操作的正常用户的所有操作日志;五、进行基于操作日志的用户相似度计算,获得相似用户集;六、判断当前用户的下一步操作是否为APT攻击操作,当该操作是APT攻击操作时,执行七;否则,执行八;七、禁止下一步操作;八、同意下一步操作。本发明能够快速高效且准确地识别出APT攻击,能够避免将正常用户判断为非正常用户,实用性强。
Description
技术领域
本发明属于计算机网络安全技术领域,具体涉及一种APT攻击操作识别方法。
背景技术
高级持续性威胁(Advanced Persistent Threat,APT),是黑客以窃取核心资料为目的,针对客户所发动的网络攻击和侵袭行为,是一种蓄谋已久的“恶意商业间谍威胁”。这种行为往往经过长期的经营与策划,并具备高度的隐蔽性。APT的攻击手法,在于隐匿自己,针对特定对象,长期、有计划性和组织性地窃取数据,这种发生在数字空间的偷窃资料、搜集情报的行为,就是一种“网络间谍”的行为。
基于机器学习的行为分析方法,能够对攻击进行识别。但是很多时候,正常的访问跟攻击之间类似。而有些访问很重要,对其进行拦截的代价很大。但是如果遗漏了APT则也会让计算机系统带来更大的危险。因此为了避开这种误判,需要更加精确的算法来进行判断;为此,申请号为201310533433.9的中国专利公开了一种操作权限验证方法。所述方法包括:第一终端获取第二终端生成的特征码,所述特征码至少携带第二终端标识,所述特征码由所述第二终端接收到指定操作请求时生成,所述指定操作请求用于指示所述第二终端在输入账号信息和待校验信息后由服务器进行操作权限验证,在验证通过时基于所述服务器提供的权限执行指定操作。申请号为201710945921.9的中国专利公开了一种操作权限查询方法,包括:当用户对目标操作的操作权限进行查询时,获取所述用户输入的在各个维度上对于所述目标操作的操作权限的查询条件,所述目标操作的操作权限按照预设的两个以上的维度进行划分,在预设的操作权限表中查找在所述各个维度上均满足所述各个维度对应的查询条件的操作权限条目,所述操作权限表中记录了在所述各个维度上对所述目标操作的操作权限;若在所述操作权限表中查找到在所述各个维度上均满足所述各个维度对应的查询条件的操作权限条目,则将与查找到的所述操作权限条目对应的操作权限确定为查询结果。
但是,以上方法,都无法解决权限误判问题。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种APT攻击操作识别方法,本发明能够快速高效且准确地识别出APT攻击,能够避免将正常用户判断为非正常用户,实用性强。
为解决上述技术问题,本发明采用的技术方案是:一种APT攻击操作识别方法,该方法包括以下步骤:
步骤一、获取用户行为特征;
步骤二、采用深度学习算法判断用户行为的危险等级;
步骤三、判断用户行为的危险等级是否超过了预设的预警等级,当用户行为的危险等级超过了预警等级时,执行步骤四,否则,返回步骤一;
步骤四、获取当前用户前期所有操作日志,并针对当前用户访问过的操作日志,获取具有相同访问操作的过往的其他正常用户的所有操作日志;
步骤五、基于当前用户与其他正常用户的操作日志,进行基于操作日志的用户相似度计算,将用户相似度计算值小于预设用户相似度阈值的正常用户标记为相似用户,获得相似用户集;
步骤六,采用引入多样性因子的协同过滤算法判断当前用户的下一步操作,并判断该操作是否为APT攻击操作,当该操作是APT攻击操作时,执行步骤七;否则,当该操作不是APT攻击操作时,执行步骤八;
步骤七、禁止当前用户的下一步操作;
步骤八、同意当前用户的下一步操作。
上述的一种APT攻击操作识别方法,步骤一中所述获取用户行为特征是对用户行为进行操作影响文件数、是否系统文件、是否保密文件、是否修改权限进行one-hot词向量的特征提取。
上述的一种APT攻击操作识别方法,步骤二中所述采用深度学习算法判断用户行为的危险等级,是将步骤一中的用户行为特征进行归一化处理后,进行数据格式转换,使其适应需要的深度学习网络模型输入格式,再输入到预先训练好的的深度学习网络模型中,获得深度学习网络模型的输出,所述深度学习网络模型的输出为用户行为的危险等级。
上述的一种APT攻击操作识别方法,步骤二中所述将步骤一中的用户行为特征进行归一化处理时,采用feature_normalize函数进行归一化处理;
步骤二中对所述深度学习网络模型进行训练时,采用pytorch框架里面的torch.nn.RNN类,通过调用RNN循环神经网络模型进行训练,训练样本为用户操作的历史数据N条,每条历史数据中均包括操作影响文件数、是否系统文件、是否保密文件、是否修改权限和危险等级。
上述的一种APT攻击操作识别方法,步骤二中对所述深度学习网络模型进行训练时,采用Mask Rcnn神经网络模型,具体训练过程为:
步骤201、构建训练样本:选取用户操作的历史数据N条,每条历史数据中均包括操作影响文件数、是否系统文件、是否保密文件、是否修改权限和危险等级;
步骤202、训练Mask Rcnn神经网络模型,具体过程为:
步骤2021、构建Mask-RCNN网络,所述Mask-RCNN由ResNet网络、FPN网络、RPN卷积神经网络、ROIAlign层、全连接层和输出层构成;输出层对应于危险等级;
步骤2022、将ResNet网络和FPN网络作为主干网络,将训练样本中的危险等级作为Mask-RCNN网络模型的识别目标,将训练样本中的用户行为特征进行归一化处理后,进行数据格式转换,再输入主干网络来训练主干网络,调整ResNet网络和FPN网络的参数,使损失函数最小,通过主干网络获取到危险等级;
步骤2023、对RPN卷积神经网络进行初始化,用不同的小随机数初始化网络中待训练参数;
步骤2024、使用反向传播BP算法,调整RPN卷积神经网络参数,使损失函数值最小;训练好RPN卷积神经网络模型;
步骤2025、RoIAlign层调整参数,以便后续全连接操作;
步骤2026、对训练样本进行全连接操作,使损失函数最小,得到训练好的Mask-RCNN网络模型。
上述的一种APT攻击操作识别方法,步骤四中所述所有操作日志包括用户系统操作日志,文件访问日志和网络访问日志。
上述的一种APT攻击操作识别方法,所述网络访问日志的获取是采用用于对网络日志进行处理的数据处理模块完成的,所述文件访问日志的获取是将文件的访问路径转化为网络路径后采用与网络访问日志同样的方法完成的;所述数据处理模块包括数据清洗子模块、格式转换子模块、访问用户识别子模块和访问路径树的生成子模块,具体为:
所述数据清洗子模块用于对网络日志中的噪音异常进行处理,以及对链接进行补全、去除爬虫日志和去除空白错误日志;所述噪音异常包括爬虫数据、被动请求链接和异常IP访问数据;
所述格式转换子模块用于对访问来源的referer与当前请求request字段,进行格式转化并进行响应的分类;
所述访问用户识别子模块用于识别真实的用户,以及评判用户是否是同一个用户;
所述访问路径树的生成子模块用于将处理完成的数据转化为访问路径树,存储到数据库中。
上述的一种APT攻击操作识别方法,步骤五中所述进行基于操作日志的用户相似度计算时采用的计算公式为:
其中,表示当前用户与第个正常用户的用户相似度,用户相似度的计算值越小,表示两个用于越接近;表示当前用户,表示正常用户中的第个正常用户,的取值为1~J的自然数,J为正常用户的总数量;表示当前用户操作日志中的第个操作日志,表示其他正常用户中的第个用户的操作日志中的第个操作日志,的取值为1~n的自然数,n为选取进行用户相似度计算的当前用户操作日志的数量。
上述的一种APT攻击操作识别方法,步骤六中所述采用引入多样性因子的协同过滤算法判断当前用户的下一步操作,并判断该操作是否为APT攻击操作的具体过程为:
步骤601、找到相似用户集中的用户可能会操作的,而当前用户还没有操作过的操作步骤,推荐给当前用户,当推荐的操作内容,没有包含在当前用户的下一步操作内容时,将当前用户的下一步操作判断为可能是APT攻击操作;
步骤602、根据计算公式计算多样性因子的值,并将多样性因子的值与预设的多样性因子阈值进行比较,当多样性因子的值小于预设的多样性因子阈值时,增大预设用户相似度阈值后返回执行步骤五,增大步骤五中确定的相似用户集中用户的数量,并再次执行步骤601和步骤602,直到多样性因子的值等于或大于预设的多样性因子阈值,此时,将步骤601中判断出的可能是APT攻击操作确定为APT攻击操作;其中,表示用户,表示长度为M的推荐列表,表示推荐列表中的第条推荐操作步骤,表示推荐列表中的第条推荐操作步骤,表示推荐列表中的第条推荐操作步骤和第条推荐操作步骤的相似度。
上述的一种APT攻击操作识别方法,步骤602中所述多样性因子阈值为不少于100次的试验得到的多样性因子值的平均值。
本发明与现有技术相比具有以下优点:
1、本发明通过获取用户特征,采用深度学习算法判断用户行为的危险等级;构建好深度学习网络模型后,能够方便地多次使用,方便快捷地识别出用户行为的危险等级。
2、本发明加入多样性因子,采用引入多样性因子的协同过滤算法判断当前用户的下一步操作,并判断该操作是否为APT攻击操作,能够避免将正常用户判断为非正常用户。
3、本发明基于用户行为进行APT攻击识别,在防止了误判的情况下,能够快速高效且准确地识别出APT攻击,实用性强。
综上所述,本发明能够快速高效且准确地识别出APT攻击,能够避免将正常用户判断为非正常用户,实用性强。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的方法流程框图。
具体实施方式
实施例1
如图1所示,本发明的APT攻击操作识别方法,包括以下步骤:
步骤一、获取用户行为特征;
本实施例中,步骤一中所述获取用户行为特征是对用户行为进行操作影响文件数、是否系统文件、是否保密文件、是否修改权限进行one-hot词向量的特征提取。
具体实施时,所述one-hot词向量采用128维度的词向量进行特征提取。用户的行为特征中携带有操作行为安全等级信息,操作行为安全等级信息包括操作影响文件数、是否系统文件、是否保密文件和是否修改权限,根据这些特征进行用户行为的危险等级判断。
步骤二、采用深度学习算法判断用户行为的危险等级;
本实施例中,步骤二中所述采用深度学习算法判断用户行为的危险等级,是将步骤一中的用户行为特征进行归一化处理后,进行数据格式转换,使其适应需要的深度学习网络模型输入格式,再输入到预先训练好的的深度学习网络模型中,获得深度学习网络模型的输出,所述深度学习网络模型的输出为用户行为的危险等级。
本实施例中,步骤二中所述将步骤一中的用户行为特征进行归一化处理时,采用feature_normalize函数进行归一化处理;
步骤二中对所述深度学习网络模型进行训练时,采用pytorch框架里面的torch.nn.RNN类,通过调用RNN循环神经网络模型进行训练,训练样本为用户操作的历史数据N条,每条历史数据中均包括操作影响文件数、是否系统文件、是否保密文件、是否修改权限和危险等级。
具体实施时,所述N的取值为100万,100万条数据来源于用户的操作日志,是系统自动记录的数据,这些数据只要系统被用户操作过或者网站被用户访问,就会自动记录;从100万条数据中截取的前4条数据如表1所示:
表1 深度学习网络模型训练样本数据表
100万条数据中其余的数据结构都是一样的,在此不一一列出了。
另外,具体实施时,也可以将N条历史数据分为训练样本集,和测试样本集,或者,取N条历史数据作为训练样本集,再取另外N’条历史数据作为测试样本集,训练样本集用于构建深度学习网络模型,测试样本集用于检测深度学习网络模型,并评估深度学习网络模型的准确率;通过设置训练样本集和测试样本集,能够防止深度学习网络模型的构建过度拟合,能够保证深度学习网络模型的准确性和可行性。
步骤三、判断用户行为的危险等级是否超过了预设的预警等级,当用户行为的危险等级超过了预警等级时,执行步骤四,否则,返回步骤一;
具体实施时,将危险等级分为1~4级,将预警等级设定为3级,当用户行为的危险等级超过3级,即为4级时,执行步骤四;
步骤四、获取当前用户前期所有操作日志,并针对当前用户访问过的操作日志,获取具有相同访问操作的过往的其他正常用户的所有操作日志;
本实施例中,步骤四中所述所有操作日志包括用户系统操作日志,文件访问日志和网络访问日志。
本实施例中,所述网络访问日志的获取是采用用于对网络日志进行处理的数据处理模块完成的,所述文件访问日志的获取是将文件的访问路径转化为网络路径后采用与网络访问日志同样的方法完成的;所述数据处理模块包括数据清洗子模块、格式转换子模块、访问用户识别子模块和访问路径树的生成子模块,具体为:
所述数据清洗子模块用于对网络日志中的噪音异常进行处理,以及对链接进行补全、去除爬虫日志和去除空白错误日志;所述噪音异常包括爬虫数据、被动请求链接和异常IP访问数据;
所述格式转换子模块用于对访问来源的referer与当前请求request字段,进行格式转化并进行响应的分类;这有利于路径树的生成并可以支持不同页面的不同粒度分析;
所述访问用户识别子模块用于识别真实的用户,以及评判用户是否是同一个用户;用户浏览网站时无论登录与否,都能识别出其唯一的身份,通过cookie、ip进行识别;因为要精确的了解每一个用户的特征,还需要对其访问的内容做精确的路径生成;
所述访问路径树的生成子模块用于将处理完成的数据转化为访问路径树,存储到数据库中。
具体实施时,当不同的用户通过SSH或者其他远程登录方式访问主机时,记录用户的身份,并对用户的访问生成路径树,最终存放到数据库中;设置访问用户识别子模块,能够实现对用户的监控,有利于即使APT获取了用户名密码,以正常用户登录,进行有权限的操作时,即使他操作违规,也可以被系统分析出来,进行相应的报警。
步骤五、基于当前用户与其他正常用户的操作日志,进行基于操作日志的用户相似度计算,将用户相似度计算值小于预设用户相似度阈值的正常用户标记为相似用户,获得相似用户集;
本实施例中,步骤五中所述进行基于操作日志的用户相似度计算时采用的计算公式为:
其中,表示当前用户与第个正常用户的用户相似度,用户相似度的计算值越小,表示两个用于越接近;表示当前用户,表示正常用户中的第个正常用户,的取值为1~J的自然数,J为正常用户的总数量;表示当前用户操作日志中的第个操作日志,表示其他正常用户中的第个用户的操作日志中的第个操作日志,的取值为1~n的自然数,n为选取进行用户相似度计算的当前用户操作日志的数量。
具体实施时,选取进行用户相似度计算的其他正常用户操作日志的数量与选取进行用户相似度计算的当前用户操作日志的数量相等,且均为n个。
步骤六,采用引入多样性因子的协同过滤算法判断当前用户的下一步操作,并判断该操作是否为APT攻击操作,当该操作是APT攻击操作时,执行步骤七;否则,当该操作不是APT攻击操作时,执行步骤八;
本实施例中,步骤六中所述采用引入多样性因子的协同过滤算法判断当前用户的下一步操作,并判断该操作是否为APT攻击操作的具体过程为:
步骤601、找到相似用户集中的用户可能会操作的,而当前用户还没有操作过的操作步骤,推荐给当前用户,当推荐的操作内容,没有包含在当前用户的下一步操作内容时,将当前用户的下一步操作判断为可能是APT攻击操作;
例如,用户A是一个正常用户,他在两天前操作过:
‘打开过一个需写权限的加密文件’userid.doc’’,
‘以ssh账号登录服务器并将该userid.doc文件上传到IP为192.168.0.3的内部服务器。’
而当前用户B也操作过‘打开过一个需写权限的加密文件’userid.doc’’,
当需要对B进行操作安全性分析时,我们需要判断,他是否上传了userid.doc文件,以及判断上传地址是否就是正常用户A用户的举动,还是它跟相似用户有很大的行为不一样。以此来判断,当前用户的操作是否可能为异常操作。
步骤601中采用了依据用户日志的操作协同过滤算法(UserCF),通过这个方法,可以判断,当推荐的操作内容,没有包含在用户的下一步操作内容时,那么该用户的下一步操作是具有不规范性的,有可能是一种攻击行为;但是,步骤601的判断方法,当因为相似用户稀少而导致推荐不出接下去操作的合理性时,就会导致误判。因此引入步骤602中的方法,进行进一步判断。
步骤602、根据计算公式计算多样性因子的值,并将多样性因子的值与预设的多样性因子阈值进行比较,当多样性因子的值小于预设的多样性因子阈值时,增大预设用户相似度阈值后返回执行步骤五,增大步骤五中确定的相似用户集中用户的数量,并再次执行步骤601和步骤602,直到多样性因子的值等于或大于预设的多样性因子阈值,此时,将步骤601中判断出的可能是APT攻击操作确定为APT攻击操作(即将多样性满足条件时推荐的步骤还没有包含在当前用户的操作步骤中的操作确定为APT攻击操作);其中,表示用户,表示长度为M的推荐列表,表示推荐列表中的第条推荐操作步骤,表示推荐列表中的第条推荐操作步骤,表示推荐列表中的第条推荐操作步骤和第条推荐操作步骤的相似度。
具体实施时,相似度的取值为百分数。
例如,每个用户在服务器上或者在电脑上的操作都有很多种,系统日志上记录了所有用户的操作,例如打开一个文件、复制一个文件都就会产生一条操作记录,这些日志是以每天几万条甚至百万条的规模产生的。去到针对每一个用户,都会有很多记录。当多样性因子的值为10,即总共可以推荐给用户的操作只有10种时,那么说明,找到很少的跟当前用户相似的日志(即相似用户集中的用户可能会操作的,而当前用户还没有操作过的操作步骤很少),那么,原因可能是因为当前用户的操作太特殊,是APT攻击操作;也可能是步骤五中确定的相似用户集中用户的数量过少,推荐的操作步骤数量是不足的,需要增加相似用户集中用户的数量,而要增加相似用户集中用户的数量,就要增大预设用户相似度阈值,将更多的正常用户标记为相似用户。
加入多样性因子,采用步骤602中的方法进行进一步判断,能够避免将正常用户判断为非正常用户。
本实施例中,步骤602中所述多样性因子阈值为不少于100次的试验得到的多样性因子值的平均值。
例如,当一次推荐时,推荐系统在大多数情况下,能找到10000条左右的相似操作,多样性因子值的平均值为10000,就将步骤602中所述多样性因子阈值设置为10000。当多样性因子值达到10000时,无需增加相似用户集中用户的数量;而当10000条操作数据里面都没有跟当前用户相同的操作时,说明这个操作有危险性,是APT攻击操作,应该被禁止。否则,当多样性因子值达不到10000时,需要增加相似用户集中用户的数量,来继续进行操作步骤的推荐,直到多样性因子值达到10000时,最终推荐的内容还没有包含在用户的操作命令之类,说明这个操作有危险性,是APT攻击操作,应该被禁止。
具体实施时,为了方便步骤六的判断,步骤五之后还可以根据不同的用户操作的日志特征建立相应的分类标签,将相似用户分为一个类别的用户。例如,采用公式计算第个正常用户与第个正常用户的用户相似度,将用户相似度的计算值小于设定阈值的用户分为一个类别的用户。其中,表示正常用户中的第个正常用户,表示正常用户中的第个用户的操作日志中的第个操作日志。步骤五中将用户相似度计算值小于预设用户相似度阈值的正常用户标记为相似用户,获得相似用户集后,再将相似用户集分成多个类别的用户;进而在步骤601中,找到相似用户集中的用户可能会操作的,而当前用户还没有操作过的操作步骤,推荐给当前用户时,一个类别一个类别去找,能够加快找的速度,提高APT攻击识别效率。
步骤七、禁止当前用户的下一步操作;
步骤八、同意当前用户的下一步操作。
实施例2
本实施例与实施例1不同的是:步骤二中对所述深度学习网络模型进行训练时,采用Mask Rcnn神经网络模型,具体训练过程为:
步骤201、构建训练样本:选取用户操作的历史数据N条,每条历史数据中均包括操作影响文件数、是否系统文件、是否保密文件、是否修改权限和危险等级;
步骤202、训练Mask Rcnn神经网络模型,具体过程为:
步骤2021、构建Mask-RCNN网络,所述Mask-RCNN由ResNet网络(深度残差网络)、FPN网络(Feature Pyramid Networks)、RPN卷积神经网络(Region Proposal Networks)、ROIAlign层、全连接层和输出层构成;输出层对应于危险等级;
步骤2022、将ResNet网络和FPN网络作为主干网络,将训练样本中的危险等级作为Mask-RCNN网络模型的识别目标,将训练样本中的用户行为特征进行归一化处理后,进行数据格式转换,再输入主干网络来训练主干网络,调整ResNet网络和FPN网络的参数,使损失函数最小,通过主干网络获取到危险等级;
步骤2023、对RPN卷积神经网络进行初始化,用不同的小随机数初始化网络中待训练参数;
步骤2024、使用反向传播BP算法,调整RPN卷积神经网络参数,使损失函数值最小;训练好RPN卷积神经网络模型;
步骤2025、RoIAlign层调整参数,以便后续全连接操作;
步骤2026、对训练样本进行全连接操作,使损失函数最小,得到训练好的Mask-RCNN网络模型。
其余方法均与实施例1相同。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (10)
1.一种APT攻击操作识别方法,其特征在于,该方法包括以下步骤:
步骤一、获取用户行为特征;
步骤二、采用深度学习算法判断用户行为的危险等级;
步骤三、判断用户行为的危险等级是否超过了预设的预警等级,当用户行为的危险等级超过了预警等级时,执行步骤四,否则,返回步骤一;
步骤四、获取当前用户前期所有操作日志,并针对当前用户访问过的操作日志,获取具有相同访问操作的过往的其他正常用户的所有操作日志;
步骤五、基于当前用户与其他正常用户的操作日志,进行基于操作日志的用户相似度计算,将用户相似度计算值小于预设用户相似度阈值的正常用户标记为相似用户,获得相似用户集;
步骤六,采用引入多样性因子的协同过滤算法判断当前用户的下一步操作,并判断该操作是否为APT攻击操作,当该操作是APT攻击操作时,执行步骤七;否则,当该操作不是APT攻击操作时,执行步骤八;
步骤七、禁止当前用户的下一步操作;
步骤八、同意当前用户的下一步操作。
2.按照权利要求1所述的一种APT攻击操作识别方法,其特征在于:步骤一中所述获取用户行为特征是对用户行为进行操作影响文件数、是否系统文件、是否保密文件、是否修改权限进行one-hot词向量的特征提取。
3.按照权利要求1或2所述的一种APT攻击操作识别方法,其特征在于:步骤二中所述采用深度学习算法判断用户行为的危险等级,是将步骤一中的用户行为特征进行归一化处理后,进行数据格式转换,使其适应需要的深度学习网络模型输入格式,再输入到预先训练好的的深度学习网络模型中,获得深度学习网络模型的输出,所述深度学习网络模型的输出为用户行为的危险等级。
4.按照权利要求3所述的一种APT攻击操作识别方法,其特征在于:步骤二中所述将步骤一中的用户行为特征进行归一化处理时,采用feature_normalize函数进行归一化处理;
步骤二中对所述深度学习网络模型进行训练时,采用pytorch框架里面的torch.nn.RNN类,通过调用RNN循环神经网络模型进行训练,训练样本为用户操作的历史数据N条,每条历史数据中均包括操作影响文件数、是否系统文件、是否保密文件、是否修改权限和危险等级。
5.按照权利要求3所述的一种APT攻击操作识别方法,其特征在于:步骤二中对所述深度学习网络模型进行训练时,采用Mask Rcnn神经网络模型,具体训练过程为:
步骤201、构建训练样本:选取用户操作的历史数据N条,每条历史数据中均包括操作影响文件数、是否系统文件、是否保密文件、是否修改权限和危险等级;
步骤202、训练Mask Rcnn神经网络模型,具体过程为:
步骤2021、构建Mask-RCNN网络,所述Mask-RCNN由ResNet网络、FPN网络、RPN卷积神经网络、ROIAlign层、全连接层和输出层构成;输出层对应于危险等级;
步骤2022、将ResNet网络和FPN网络作为主干网络,将训练样本中的危险等级作为Mask-RCNN网络模型的识别目标,将训练样本中的用户行为特征进行归一化处理后,进行数据格式转换,再输入主干网络来训练主干网络,调整ResNet网络和FPN网络的参数,使损失函数最小,通过主干网络获取到危险等级;
步骤2023、对RPN卷积神经网络进行初始化,用不同的小随机数初始化网络中待训练参数;
步骤2024、使用反向传播BP算法,调整RPN卷积神经网络参数,使损失函数值最小;训练好RPN卷积神经网络模型;
步骤2025、RoIAlign层调整参数,以便后续全连接操作;
步骤2026、对训练样本进行全连接操作,使损失函数最小,得到训练好的Mask-RCNN网络模型。
6.按照权利要求1所述的一种APT攻击操作识别方法,其特征在于:步骤四中所述所有操作日志包括用户系统操作日志,文件访问日志和网络访问日志。
7.按照权利要求6所述的一种APT攻击操作识别方法,其特征在于:所述网络访问日志的获取是采用用于对网络日志进行处理的数据处理模块完成的,所述文件访问日志的获取是将文件的访问路径转化为网络路径后采用与网络访问日志同样的方法完成的;所述数据处理模块包括数据清洗子模块、格式转换子模块、访问用户识别子模块和访问路径树的生成子模块,具体为:
所述数据清洗子模块用于对网络日志中的噪音异常进行处理,以及对链接进行补全、去除爬虫日志和去除空白错误日志;所述噪音异常包括爬虫数据、被动请求链接和异常IP访问数据;
所述格式转换子模块用于对访问来源的referer与当前请求request字段,进行格式转化并进行响应的分类;
所述访问用户识别子模块用于识别真实的用户,以及评判用户是否是同一个用户;
所述访问路径树的生成子模块用于将处理完成的数据转化为访问路径树,存储到数据库中。
9.按照权利要求8所述的一种APT攻击操作识别方法,其特征在于:步骤六中所述采用引入多样性因子的协同过滤算法判断当前用户的下一步操作,并判断该操作是否为APT攻击操作的具体过程为:
步骤601、找到相似用户集中的用户可能会操作的,而当前用户还没有操作过的操作步骤,推荐给当前用户,当推荐的操作内容,没有包含在当前用户的下一步操作内容时,将当前用户的下一步操作判断为可能是APT攻击操作;
10.按照权利要求9所述的一种APT攻击操作识别方法,其特征在于:步骤602中所述多样性因子阈值为不少于100次的试验得到的多样性因子值的平均值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010819967.8A CN111970272A (zh) | 2020-08-14 | 2020-08-14 | 一种apt攻击操作识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010819967.8A CN111970272A (zh) | 2020-08-14 | 2020-08-14 | 一种apt攻击操作识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111970272A true CN111970272A (zh) | 2020-11-20 |
Family
ID=73387726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010819967.8A Pending CN111970272A (zh) | 2020-08-14 | 2020-08-14 | 一种apt攻击操作识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111970272A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559595A (zh) * | 2020-12-14 | 2021-03-26 | 东软集团股份有限公司 | 安全事件挖掘方法、装置、存储介质及电子设备 |
CN113157542A (zh) * | 2021-04-28 | 2021-07-23 | 南京苏宁软件技术有限公司 | 基于应用日志的趋同行为用户识别方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453416A (zh) * | 2016-12-01 | 2017-02-22 | 广东技术师范学院 | 一种基于深信度网络的分布式攻击入侵的检测方法 |
WO2019128529A1 (zh) * | 2017-12-28 | 2019-07-04 | 阿里巴巴集团控股有限公司 | Url攻击检测方法、装置以及电子设备 |
CN111104670A (zh) * | 2019-12-11 | 2020-05-05 | 国网甘肃省电力公司电力科学研究院 | 一种apt攻击的识别和防护方法 |
EP3694176A1 (en) * | 2019-02-07 | 2020-08-12 | AO Kaspersky Lab | System and method for performing a task based on access rights determined from a danger level of the task |
-
2020
- 2020-08-14 CN CN202010819967.8A patent/CN111970272A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453416A (zh) * | 2016-12-01 | 2017-02-22 | 广东技术师范学院 | 一种基于深信度网络的分布式攻击入侵的检测方法 |
WO2019128529A1 (zh) * | 2017-12-28 | 2019-07-04 | 阿里巴巴集团控股有限公司 | Url攻击检测方法、装置以及电子设备 |
EP3694176A1 (en) * | 2019-02-07 | 2020-08-12 | AO Kaspersky Lab | System and method for performing a task based on access rights determined from a danger level of the task |
CN111104670A (zh) * | 2019-12-11 | 2020-05-05 | 国网甘肃省电力公司电力科学研究院 | 一种apt攻击的识别和防护方法 |
Non-Patent Citations (1)
Title |
---|
张超群等: "基于深度学习技术的恶意攻击的分析与识别", 《计算机应用研究》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559595A (zh) * | 2020-12-14 | 2021-03-26 | 东软集团股份有限公司 | 安全事件挖掘方法、装置、存储介质及电子设备 |
CN113157542A (zh) * | 2021-04-28 | 2021-07-23 | 南京苏宁软件技术有限公司 | 基于应用日志的趋同行为用户识别方法及系统 |
CN113157542B (zh) * | 2021-04-28 | 2022-11-15 | 南京苏宁软件技术有限公司 | 基于应用日志的趋同行为用户识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3651043B1 (en) | Url attack detection method and apparatus, and electronic device | |
Sun et al. | Detecting anomalous user behavior using an extended isolation forest algorithm: an enterprise case study | |
CN108156131B (zh) | Webshell检测方法、电子设备和计算机存储介质 | |
US10686829B2 (en) | Identifying changes in use of user credentials | |
Pan et al. | Anomaly based web phishing page detection | |
CN111953697B (zh) | 一种apt攻击识别及防御方法 | |
CN110602029B (zh) | 一种用于识别网络攻击的方法和系统 | |
CN111931173A (zh) | 一种基于apt攻击意图的操作权限控制方法 | |
CN108924118B (zh) | 一种撞库行为检测方法及系统 | |
US9104877B1 (en) | Detecting penetration attempts using log-sensitive fuzzing | |
CN112543196A (zh) | 一种基于区块链智能合约的网络威胁情报共享平台 | |
CN113505371B (zh) | 数据库安全风险评估系统 | |
CN113098887A (zh) | 一种基于网站联合特征的钓鱼网站检测方法 | |
Iliou et al. | Detection of advanced web bots by combining web logs with mouse behavioural biometrics | |
CN111970272A (zh) | 一种apt攻击操作识别方法 | |
CN114003903A (zh) | 一种网络攻击追踪溯源方法及装置 | |
Alhassan et al. | A fuzzy classifier-based penetration testing for web applications | |
CN110598397A (zh) | 一种基于深度学习的Unix系统用户恶意操作检测方法 | |
CN116015703A (zh) | 模型训练方法、攻击检测方法及相关装置 | |
KR102068507B1 (ko) | 기계 학습 모델의 신뢰도를 판단하기 위한 후처리 방법 및 이를 사용한 후처리 장치 | |
US9521164B1 (en) | Computerized system and method for detecting fraudulent or malicious enterprises | |
CN108512815B (zh) | 防盗链检测方法、防盗链检测装置和服务器 | |
CN112287345B (zh) | 基于智能风险检测的可信边缘计算系统 | |
Nivetha et al. | IDENTIFYING THE CROSS SITE SCRIPTING (XSS) ATTACK USING XSSER TOOL AND DETECTION USING SUPERVISED LEARNING ALGORITHM | |
Volkova et al. | Machine learning blunts the needle of advanced SQL injections |
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: 20201120 |