CN112464248A - 一种处理器漏洞利用威胁检测方法及装置 - Google Patents
一种处理器漏洞利用威胁检测方法及装置 Download PDFInfo
- Publication number
- CN112464248A CN112464248A CN202011412163.2A CN202011412163A CN112464248A CN 112464248 A CN112464248 A CN 112464248A CN 202011412163 A CN202011412163 A CN 202011412163A CN 112464248 A CN112464248 A CN 112464248A
- Authority
- CN
- China
- Prior art keywords
- data
- hpc
- target
- time sequence
- processor
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种处理器漏洞利用威胁检测方法及装置,该方法包括:从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;将所述目标HPC数据输入预设编码‑解码检测模型,得到所述目标HPC数据的数据重构误差序列;根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;其中,所述预设编码‑解码检测模型是通过正常进程的目标HPC样本数据训练得到的。通过提取HPC数据连续时间序列片段,能够提取在给定容忍度下HPC数据中的连续有效值,避免数据的干扰,并且通过预设编码‑解码检测模型实现威胁检测。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种处理器漏洞利用威胁检测方法及装置。
背景技术
处理器作为现代计算机“大脑”,具备复杂数据与逻辑处理能力,其它外设工作均需要与之协调配合。由于处理器运算处理速度要远超从内存中读写数据、指令速度,为了不浪费宝贵计算资源,处理器与内存间设置了多级缓存(如L1、LLC缓存),用于存储当前经常访问数据和指令,提升读写速度;并引入多级流水线,满足指令分类、并行化处理需求。进一步的,现代处理器引入“乱序执行”、“推测执行”等高级机制,从而与缓存相互协调提升流水线工作效率,并通过“回滚”等方式进行纠正,保证架构级别执行过程语义正常。
作为数据中转通道,缓存在提升处理器执行效率同时也带来了信息安全问题,目前已产生Flush+Reload、Flush+Flush、Prime+Probe等多种缓存侧信道攻击方式。基于内存与缓存中数据在访问速度上差异,攻击者能恢复出残存于缓存中的敏感数据。与此同时,处理器“乱序执行”、“推测执行”等机制漏洞所引发的瞬态执行将导致敏感数据被残留在缓存中,这为缓存侧信道攻击提供数据来源,其中有代表性的处理器漏洞利用威胁包括“熔断”和“幽灵”攻击,以及由其衍生出一系列漏洞变种。随着云技术蓬勃发展,越来越多企业将自身业务部署在云平台上,其最重要特点是底层硬件资源的共享性与流动性,这导致处理器漏洞利用在云内产生了更严重的安全威胁,如同驻攻击、虚拟机逃逸等。
虽然业界尝试了多种防御策略,但限于对处理器运行效率需求以及对其漏洞认知局限,目前还难以很好的实现基于处理漏洞利用的各种安全威胁的检测;因此如何有效的实现处理器漏洞利用威胁检测已经成为业界亟待解决的问题。
发明内容
本发明提供一种处理器漏洞利用威胁检测方法及装置,用以解决现有技术中难以很好的实现基于处理漏洞利用的各种安全威胁的检测的问题。
本发明提供一种处理器漏洞利用威胁检测方法,包括:
从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;
对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;
将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;
根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;
其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
根据本发明提供的一种处理器漏洞利用威胁检测方法,所述从硬件性能计数器HPC采样序列中,提取HPC数据连续时间序列片段的步骤,具体包括:
去除HPC采样时间序列中的目标无效值点,得到待处理HPC采样时间序列;其中,所述目标无效值点是指连续出现次数超过预设次数的无效值点;
根据所述待处理HPC采样时间序列中的最长连续时间片段,确定HPC数据连续时间序列片段。
根据本发明提供的一种处理器漏洞利用威胁检测方法,所述对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据的步骤,具体包括:
查找所述HPC数据连续时间序列片段中的无效值点,将所述无效值点进行数据平滑处理,然后进行归一化处理,得到处理后的HPC数据连续时间序列片段;
查找所述处理后的HPC数据连续时间序列片段中的异常值点,对所述异常值点进行数据平滑处理,得到目标HPC数据。
根据本发明提供的一种处理器漏洞利用威胁检测方法,根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果的步骤,具体包括:
根据所述目标HPC数据的数据重构误差序列,获取每个重构窗口内的重构误差之和,并得到多个重构窗口内的重构误差之和;
在每个重构窗口内的重构误差之和大于第一预设阈值,且多个重构窗口内的重构误差之和大于第二预设阈值的情况下,发出威胁检测预警。
根据本发明提供的一种处理器漏洞利用威胁检测方法,在所述将所述目标HPC数据输入预设编码-解码检测模型的步骤之前,所述方法还包括:
从正常进程的HPC采样样本时间序列中,提取正常进程的HPC数据连续样本时间序列片段;
对所述正常进程的HPC数据连续样本时间序列片段进行数据清洗,得到正常进程的目标HPC样本数据;
通过预设训练窗口,在所述正常进程的目标HPC样本数据上依次滑动,得到多个训练样本;
根据所述多个训练样本对编码-解码检测模型进行训练,当满足预设训练条件时,停止训练,得到预设编码-解码检测模型。
根据本发明提供的一种处理器漏洞利用威胁检测方法,将所述无效值点进行数据平滑处理的步骤,具体包括:
通过预设平滑算法对所述无效值点进行数据平滑处理;
其中,所述预设平滑算法为线性插值算法、Hermite插值算法或样条插值算法。
根据本发明提供的一种处理器漏洞利用威胁检测方法,查找所述处理后的HPC数据连续时间序列片段中的异常值点的步骤,具体包括:
获取处理后的HPC数据连续时间序列片段中的采样点数据绝对值;
将采样点数据绝对值超过预设阈值数值的采样值点,标记为异常值点;
其中,所述预设阈值数值是根据预设阈值参数和预设分位数确定的。
本发明还提供一种处理器漏洞利用威胁检测装置,包括:
提取模块,用于从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;
数据清洗模块,用于对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;
计算模块,用于将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;
检测模块,用于根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;
其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述处理器漏洞利用威胁检测方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述处理器漏洞利用威胁检测方法的步骤。
本发明提供的一种处理器漏洞利用威胁检测方法及装置,通过提取HPC数据连续时间序列片段,能够有效提取HPC数据中的有效值,避免无效采样点对于数据分析的干扰;本发明中通过数据清洗,可以进一步保证数据的有效性;同时本发明通过根据正常进程的目标HPC样本数据训练得到的预设编码-解码检测模型对目标HPC数据进行分析,在出现威胁进程时,其对应的重构误差会发生改变,得到目标HPC数据的数据重构误差序列,在通过预设决策机制对目标HPC数据的数据重构误差序列,进一步降低误报可能性,得到威胁检测结果。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的处理器漏洞利用威胁检测方法的流程示意图;
图2为本发明提供的基于HPC数据的编码-解码深度学习网络检测模型示意图;
图3为本发明提供的数据提取与清洗流程示意图;
图4为本发明提供的处理器漏洞利用威胁检测装置示意图;
图5为本发明提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的处理器漏洞利用威胁检测方法的流程示意图,如图1所示,包括:
步骤S1,从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;
具体的,硬件性能计数器(Hardware Performance Counter,HPC)作为处理器内预设的一类特殊寄存器,对进程执行时在微体系结构层所引起的硬件事件变化进行了全面记录,具备数据采集低开销,难以被篡改等优势,为刻画进程动态行为提供了丰富信息来源。
因此本发明通过检测HPC时间序列异常变化判断处理器漏洞利用威胁行为是否发生。
在初始采集的HPC采样时间序列中存在许多无效采样点,这些无效采样点会极大的影响威胁检测结果的准确性,因此本发明通过提取HPC数据连续时间序列片段,从而有效去除初始采集的HPC采样时间序列中的大部分无效采样点,能够有效提升数据的可靠性。
步骤S2,对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;
在获取HPC数据连续时间序列片段的过程中,能够去除序列中大部分无效值,但是通常情况下,在连续时间片段提取要求对无效值具备一定容忍度,因此HPC数据连续时间序列片段中仍然会存在部分无效值点。
因此,本发明中进一步通过对所述HPC数据连续时间序列片段进行数据清洗,能够进一步去除HPC数据连续时间序列片段中的无效采样点,进一步提升数据的有效性和可靠性,以保证后续威胁检测结果的准确性。
步骤S3,将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;
本发明中预设编码-解码检测模型,由编码与解码两部分组成,均为LSTM网络结构,其是基于正常进程HPC数据集进行训练的,此时预设编码-解码检测模型具备对正常行为模式编解码表征能力,而当出现威胁进程时,经历编码和解码后会产生重构误差,因此通过对目标HPC数据的数据重构误差序列进行分析,即可以判断是否出现威胁进程。
步骤S4,根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;
其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
本发明中所描述的预设决策机制是由规则库构成,可由用户或者设计人员根据需要调整,而预设决策机制所指定的主要依据是根据多个窗口内重构误差之和,与一个重构窗口内重构误差之和来制定的。
本发明中通过预设决策机制,可以进一步平衡威胁检测的灵敏性和鲁棒性,从而进一步降低误报的可能,保证威胁检测结果的可靠性。
本发明通过提取HPC数据连续时间序列片段,能够有效提取HPC数据中的有效值,避免无效采样点对于数据分析的干扰;本发明中通过数据清洗,可以进一步保证数据的有效性;同时本发明通过根据正常进程的目标HPC样本数据训练得到的预设编码-解码检测模型对目标HPC数据进行分析,在出现威胁进程时,其对应的重构误差会发生改变,得到目标HPC数据的数据重构误差序列,在通过预设决策机制对目标HPC数据的数据重构误差序列,进一步降低误报可能性,得到威胁检测结果。
可选的,所述从硬件性能计数器HPC采样序列中,提取HPC数据连续时间序列片段的步骤,具体包括:
根据HPC采样时间序列中的目标无效值点,得到待处理HPC采样时间序列;其中,所述目标无效值点是指连续出现次数超过预设次数的无效值点;
根据所述待处理HPC采样时间序列中的最长连续时间片段,确定HPC数据连续时间序列片段。
具体的,本发明中所描述的HPC采样序列中,具体存在“指令数”、“分支数”、“分支错误数”、“缓存引用数”、“缓存错误数”五个维度HPC时间序列,只要五个维度中有一个维度出现大于阈值τs可连续时间片段容忍,则同时间片段其它维度也相应截断,并将<起始时间、起始索引、结束时间、结束索引,片段计数器>存入相应记录集合S中,从下一个采样点重置<起始时间、起始索引、结束时间、结束索引,片段计数器>,只有当全部维度满足可连续时间片段容忍要求时,才更新相应<结束时间、结束索引、片段计数器>。为了实现对每个维度HPC时间序列片段状态记录,需要对每个维度设置一个计数器ci,并在提取过程中实时对各维度HPC数据计数器ci进行更新与重置。最终通过对时间片段记录集合S内数据分析,找出其中所记录的最长连续时间片段提取出来作为后续分析所使用的数据基础,确定HPC数据连续时间序列片段。
本发明通过提取HPC数据连续时间序列片段,从而有效去除初始采集的HPC采样时间序列中的大部分无效采样点,能够有效提升数据的可靠性。
可选的,所述对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据的步骤,具体包括:
查找所述HPC数据连续时间序列片段中的无效值点,将所述无效值点进行数据平滑处理,然后进行归一化处理,得到处理后的HPC数据连续时间序列片段;
查找所述处理后的HPC数据连续时间序列片段中的异常值点,对所述异常值点进行数据平滑处理,得到目标HPC数据。
具体的,本发明通过<not counted>标识符匹配,查找出无效值点,若采样点索引值为0,当前采样点值=下一个采样点值;如果下一个采样值点仍为无效值,则向后继续搜索直到找到有效值点,并赋值给当前采样点。
若采样点索引值非0,且非最后一个采样点,且下一个采样点值非无效值,当前采样点值=(上一个采样点值+下一个采样点值)/2。
若采样点索引值为最后一个采样点,或下一个采样点值为无效值,当前采样点值=上一个采样点值,最终得到数据平滑处理后的HPC数据连续时间序列片段。
基于Z-socre方法对数据平滑处理后的HPC数据连续时间序列片段进行归一化处理,得到处理后的HPC数据连续时间序列片段。
而在数据采样过程中,受到环境因素干扰,或当采样工具开始采样或结束采样时,个别数据点会产生异常值,其数值远超正常范围,因此处理后的HPC数据连续时间序列片段中,仍然可能存在异常点,本发明中需要对该异常点进行平滑处理,进一步保证数据的可靠性。
本发明中通过对于HPC数据连续时间序列片段中的无效值点和异常值点进行数据清洗,有效保证了数据的可靠性,从而可以进一步保证后续威胁检测的准确性。
可选的,根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果的步骤,具体包括:
根据所述目标HPC数据的数据重构误差序列,获取每个重构窗口内的重构误差之和,并得到多个重构窗口内的重构误差之和;
在每个重构窗口内的重构误差之和大于第一预设阈值,且多个重构窗口内的重构误差之和大于第二预设阈值的情况下,发出威胁检测预警。
具体的,本发明中所描述的目标HPC数据的数据重构误差序列是指,当前进程目标HPC数据,通过预设重构窗口,确定输入数据后,将输入数据经过预设编码-解码检测模型,进行编码后又进行解码,得到的每个输入数据的解码数据每个输入数据的解码数据与输入数据的差值即为目标HPC数据的数据重构误差序列
本发明中的每个重构窗口可以包含一个或多个采样点数据,而相应的每个重构窗口的采样点重构误差之和即是指每个重构窗口中,各个采样点的重构误差之和。
而重构窗口会按照预设长度在目标HPC数据上进行移动,从而不断更新重构窗口中的数据,移动过程中会得到多个重构窗口,本发明中所描述的多个重构窗口内的重构误差之和,即是指目标HPC数据上进行移动所得到的多个重构窗口的重构误差之和。
图2为本发明提供的基于HPC数据的编码-解码深度学习网络检测模型示意图,如图2所示,设置模型输入窗口长度为Nw、移动窗口长度为Nm,通过在目标HPC数据的时间序列上依次滑动产生多个重构窗口的数据,将每个重构窗口的数据作为一个输入数据,输入预设编码-解码检测模型,得到多个输入数据的重构误差序列,进一步确定输入数据,即每个重构窗口内的重构误差之和以及多个输入数据,即多个重构窗口内的重构误差之和
在每个重构窗口内的重构误差之和大于第一预设阈值,且多个重构窗口内的重构误差之和大于第二预设阈值的情况下,才会发出威胁检测预警。
本发明通过预设决策机制中,根据每个重构窗口内的重构误差之和,以及多个重构窗口内的重构误差之和,这两个规则,平衡了威胁监测的灵敏性与鲁棒性,降低了误报可能性。
可选的,在所述将所述目标HPC数据输入预设编码-解码检测模型的步骤之前,所述方法还包括:
从正常进程的HPC采样样本时间序列中,提取正常进程的HPC数据连续样本时间序列片段;
对所述正常进程的HPC数据连续样本时间序列片段进行数据清洗,得到正常进程的目标HPC样本数据;
通过预设训练窗口,在所述正常进程的目标HPC样本数据上依次滑动,得到多个训练样本;
根据所述多个训练样本对编码-解码检测模型进行训练,当满足预设训练条件时,停止训练,得到预设编码-解码检测模型。
具体的,本发明中所描述的正常进程的HPC采样样本时间序列,是指不带有处理器漏洞利用威胁的HPC采样样本时间序列。
而本发明中之所以采用正常进程的HPC采样样本时间序列是为了使得预设编码-解码检测模型具备对正常行为模式编解码表征能力;而当出现威胁进程时,对应重构误差会发生改变,此时可以通过改变的重构误差实现处理器漏洞利用威胁检测。
本发明中对于正常进程的HPC采样样本时间序列的时间序列提取和数据清洗和上述实施例中的具体步骤相同,具体可以参照上述实施例,此处不再赘述。
本发明中所描述的预设训练窗口的长度和预设训练窗口的滑动长度均可以根据具体需求来设定,通过预设训练窗口,在所述正常进程的目标HPC样本数据上依次滑动,得到多个训练样本,通过反向误差传播算法使代价函数收敛,最终完成指定次数迭代,获得训练后模型。训练样本集合大小由正常应用进程个数、提取与清洗后HPC序列长度、移动窗口长度所决定。
本发明通过预设编码-解码检测模型进行编码,将HPC序列投影到隐空间,获得时序数据内在表达,再通过解码网络将隐空间序列表达重构为原始HPC序列。由于正常应用进程在模式表达上具有相似性,因此检测模型基于正常进程HPC数据集进行训练,使模型具备对正常行为模式编解码表征能力;而当出现威胁进程时,对应重构误差会发生改变,从而根据重构误差来实现处理器漏洞利用威胁检测。
可选的,查找所述处理后的HPC数据连续时间序列片段中的异常值点的步骤,具体包括:
获取处理后的HPC数据连续时间序列片段中的采样点数据绝对值;
将采样点数据绝对值超过预设阈值数值的采样值点,标记为异常值点;
其中,所述预设阈值数值是根据预设阈值参数和预设分位数确定的。
具体的,在数据采样过程中,受环境因素干扰,或当采样工具开始采样或结束采样时,个别数据点会产生异常值,其数值远超正常范围;当进程处于特殊状态,HPC值可能为0或者接近于0,因此这里只考虑对极大异常值点处理。具体方法为:
①设置阈值参数τh,分位数值0<q<1;
②对处理后的HPC数据连续时间序列片段的采样点取绝对值;
③根据q,找出对应分位数值qvalue;
④根据阈值参数τh,找出数据序列中大于qvalueτh采样值点,标记为异常值;
⑤对异常值点进行数据平滑处理。
本发明中通过确定异常值点,并对异常值点进行平滑处理,进一步保证了数据的可靠性和准确性,有利于提高处理器漏洞利用威胁检测的准确性。
图3为本发明提供的数据提取与清洗流程示意图,如图3所示,数据提取与清洗流程是一个完整不可分割的整体,具有因果上依赖关系,前后步骤结果之间相互影响,不能进行次序调整,首先对原始HPC采样序列,进行采样序列连续时间片段提取;然后查找连续时间片段中无效值点,进行数据平滑处理;再对处理后的连续时间片段进行归一化处理;最后查找连续时间片段中异常值点,进行数据平滑处理。
图4为本发明提供的处理器漏洞利用威胁检测装置示意图,如图4所示,包括:提取模块410、数据清洗模块420、计算模块430和检测模块440;其中,提取模块410用于从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;其中,数据清洗模块420用于对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;其中,计算模块430用于将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;其中,检测模块440用于根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
更具体的,所述提取模块具体用于根据HPC采样时间序列中的目标无效值点,得到待处理HPC采样时间序列;其中,所述目标无效值点是指连续出现次数超过预设次数的无效值点;
根据所述待处理HPC采样时间序列中的最长连续时间片段,确定HPC数据连续时间序列片段。
更具体的,数据清洗模块具体用于查找所述HPC数据连续时间序列片段中的无效值点,将所述无效值点进行数据平滑处理,然后进行归一化处理,得到处理后的HPC数据连续时间序列片段;
查找所述处理后的HPC数据连续时间序列片段中的异常值点,对所述异常值点进行数据平滑处理,得到目标HPC数据。
具体的,检测模块具体用于根据所述目标HPC数据的数据重构误差序列,获取每个重构窗口内的重构误差之和,并得到多个重构窗口内的重构误差之和;
在每个重构窗口内的重构误差之和大于第一预设阈值,且多个重构窗口内的重构误差之和大于第二预设阈值的情况下,发出威胁检测预警。
具体的,所述装置还包括训练模块,所述训练模块用于从正常进程的HPC采样样本时间序列中,提取正常进程的HPC数据连续样本时间序列片段;
对所述正常进程的HPC数据连续样本时间序列片段进行数据清洗,得到正常进程的目标HPC样本数据;
通过预设训练窗口,在所述正常进程的目标HPC样本数据上依次滑动,得到多个训练样本;
根据所述多个训练样本对编码-解码检测模型进行训练,当满足预设训练条件时,停止训练,得到预设编码-解码检测模型。
本发明通过提取HPC数据连续时间序列片段,能够有效提取HPC数据中的有效值,避免无效采样点对于数据分析的干扰;本发明中通过数据清洗,可以进一步保证数据的有效性;同时本发明通过根据正常进程的目标HPC样本数据训练得到的预设编码-解码检测模型对目标HPC数据进行分析,在出现威胁进程时,其对应的重构误差会发生改变,得到目标HPC数据的数据重构误差序列,在通过预设决策机制对目标HPC数据的数据重构误差序列,进一步降低误报可能性,得到威胁检测结果。
图5为本发明提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行处理器漏洞利用威胁检测方法,该方法包括:从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的处理器漏洞利用威胁检测方法,该方法包括:从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的处理器漏洞利用威胁检测方法,该方法包括:从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种处理器漏洞利用威胁检测方法,其特征在于,包括:
从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;
对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;
将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;
根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;
其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
2.根据权利要求1所述处理器漏洞利用威胁检测方法,其特征在于,从硬件性能计数器HPC采样序列中,提取HPC数据连续时间序列片段的步骤,具体包括:
根据HPC采样时间序列中的目标无效值点,得到待处理HPC采样时间序列;其中,所述目标无效值点是指连续出现次数超过预设次数的无效值点;
根据所述待处理HPC采样时间序列中的最长连续时间片段,确定HPC数据连续时间序列片段。
3.根据权利要求2所述处理器漏洞利用威胁检测方法,其特征在于,所述对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据的步骤,具体包括:
查找所述HPC数据连续时间序列片段中的无效值点,将所述无效值点进行数据平滑处理,然后进行归一化处理,得到处理后的HPC数据连续时间序列片段;
查找所述处理后的HPC数据连续时间序列片段中的异常值点,对所述异常值点进行数据平滑处理,得到目标HPC数据。
4.根据权利要求1所述处理器漏洞利用威胁检测方法,其特征在于,根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果的步骤,具体包括:
根据所述目标HPC数据的数据重构误差序列,获取每个重构窗口内的重构误差之和,并得到多个重构窗口内的重构误差之和;
在每个重构窗口内的重构误差之和大于第一预设阈值,且多个重构窗口内的重构误差之和大于第二预设阈值的情况下,发出威胁检测预警。
5.根据权利要求1所述处理器漏洞利用威胁检测方法,其特征在于,在所述将所述目标HPC数据输入预设编码-解码检测模型的步骤之前,所述方法还包括:
从正常进程的HPC采样样本时间序列中,提取正常进程的HPC数据连续样本时间序列片段;
对所述正常进程的HPC数据连续样本时间序列片段进行数据清洗,得到正常进程的目标HPC样本数据;
通过预设训练窗口,在所述正常进程的目标HPC样本数据上依次滑动,得到多个训练样本;
根据所述多个训练样本对编码-解码检测模型进行训练,当满足预设训练条件时,停止训练,得到预设编码-解码检测模型。
6.根据权利要求3所述处理器漏洞利用威胁检测方法,其特征在于,将所述无效值点进行数据平滑处理的步骤,具体包括:
通过预设平滑算法对所述无效值点进行数据平滑处理;
其中,所述预设平滑算法为线性插值算法、Hermite插值算法或样条插值算法。
7.根据权利要求3所述处理器漏洞利用威胁检测方法,其特征在于,查找所述处理后的HPC数据连续时间序列片段中的异常值点的步骤,具体包括:
获取处理后的HPC数据连续时间序列片段中的采样点数据绝对值;
将采样点数据绝对值超过预设阈值数值的采样值点,标记为异常值点;
其中,所述预设阈值数值是根据预设阈值参数和预设分位数确定的。
8.一种处理器漏洞利用威胁检测装置,其特征在于,包括:
提取模块,用于从硬件性能计数器HPC采样时间序列中,提取HPC数据连续时间序列片段;
数据清洗模块,用于对所述HPC数据连续时间序列片段进行数据清洗,得到目标HPC数据;
计算模块,用于将所述目标HPC数据输入预设编码-解码检测模型,得到所述目标HPC数据的数据重构误差序列;
检测模块,用于根据预设决策机制对所述目标HPC数据的数据重构误差序列进行分析,得到威胁检测结果;
其中,所述预设编码-解码检测模型是通过正常进程的目标HPC样本数据训练得到的。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述处理器漏洞利用威胁检测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述处理器漏洞利用威胁检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011412163.2A CN112464248A (zh) | 2020-12-04 | 2020-12-04 | 一种处理器漏洞利用威胁检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011412163.2A CN112464248A (zh) | 2020-12-04 | 2020-12-04 | 一种处理器漏洞利用威胁检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112464248A true CN112464248A (zh) | 2021-03-09 |
Family
ID=74805627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011412163.2A Pending CN112464248A (zh) | 2020-12-04 | 2020-12-04 | 一种处理器漏洞利用威胁检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112464248A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158181A (zh) * | 2021-04-15 | 2021-07-23 | 上海交通大学 | 使用神经网络对原始侧信道数据进行端到端攻击的方法 |
CN113312620A (zh) * | 2021-06-01 | 2021-08-27 | 海光信息技术股份有限公司 | 一种程序安全检测方法及装置、处理器芯片、服务器 |
CN117290671A (zh) * | 2023-11-27 | 2023-12-26 | 中国西安卫星测控中心 | 一种数据预处理方法、装置、电子设备和计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150269050A1 (en) * | 2014-03-18 | 2015-09-24 | Microsoft Corporation | Unsupervised anomaly detection for arbitrary time series |
CN105637502A (zh) * | 2013-08-14 | 2016-06-01 | 视觉股份公司 | 用于确定数据点流内被平滑数据点的方法和设备 |
US20190130101A1 (en) * | 2018-12-27 | 2019-05-02 | Li Chen | Methods and apparatus for detecting a side channel attack using hardware performance counters |
US20190130096A1 (en) * | 2018-12-27 | 2019-05-02 | Li Chen | Side-channel attack detection using hardware performance counters |
US20200293657A1 (en) * | 2018-05-11 | 2020-09-17 | Sri International | Anomalous behavior detection in processor based systems |
-
2020
- 2020-12-04 CN CN202011412163.2A patent/CN112464248A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637502A (zh) * | 2013-08-14 | 2016-06-01 | 视觉股份公司 | 用于确定数据点流内被平滑数据点的方法和设备 |
US20150269050A1 (en) * | 2014-03-18 | 2015-09-24 | Microsoft Corporation | Unsupervised anomaly detection for arbitrary time series |
US20200293657A1 (en) * | 2018-05-11 | 2020-09-17 | Sri International | Anomalous behavior detection in processor based systems |
US20190130101A1 (en) * | 2018-12-27 | 2019-05-02 | Li Chen | Methods and apparatus for detecting a side channel attack using hardware performance counters |
US20190130096A1 (en) * | 2018-12-27 | 2019-05-02 | Li Chen | Side-channel attack detection using hardware performance counters |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158181A (zh) * | 2021-04-15 | 2021-07-23 | 上海交通大学 | 使用神经网络对原始侧信道数据进行端到端攻击的方法 |
CN113158181B (zh) * | 2021-04-15 | 2022-04-05 | 上海交通大学 | 使用神经网络对原始侧信道数据进行端到端攻击的方法 |
CN113312620A (zh) * | 2021-06-01 | 2021-08-27 | 海光信息技术股份有限公司 | 一种程序安全检测方法及装置、处理器芯片、服务器 |
CN117290671A (zh) * | 2023-11-27 | 2023-12-26 | 中国西安卫星测控中心 | 一种数据预处理方法、装置、电子设备和计算机存储介质 |
CN117290671B (zh) * | 2023-11-27 | 2024-02-09 | 中国西安卫星测控中心 | 一种数据预处理方法、装置、电子设备和计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667816B (zh) | 一种网络异常的检测定位方法及系统 | |
US9860262B2 (en) | Methods and systems for encoding computer processes for malware detection | |
CN112464248A (zh) | 一种处理器漏洞利用威胁检测方法及装置 | |
CN106778241B (zh) | 恶意文件的识别方法及装置 | |
CN109241740B (zh) | 恶意软件基准测试集生成方法及装置 | |
Wang et al. | Hardware performance counter-based malware identification and detection with adaptive compressive sensing | |
CN109784056B (zh) | 一种基于深度学习的恶意软件检测方法 | |
US20120005750A1 (en) | Systems and Methods for Alternating Malware Classifiers in an Attempt to Frustrate Brute-Force Malware Testing | |
US20120072988A1 (en) | Detection of global metamorphic malware variants using control and data flow analysis | |
RU2722692C1 (ru) | Способ и система выявления вредоносных файлов в неизолированной среде | |
CN111614599A (zh) | 基于人工智能的webshell检测方法和装置 | |
Melicher et al. | Towards a lightweight, hybrid approach for detecting DOM XSS vulnerabilities with machine learning | |
CN113162794B (zh) | 下一步攻击事件预测方法及相关设备 | |
CN111277606A (zh) | 检测模型训练方法、检测方法及装置、存储介质 | |
CN111222137A (zh) | 一种程序分类模型训练方法、程序分类方法及装置 | |
WO2018063756A1 (en) | System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks | |
CN103679030A (zh) | 一种基于动态语义特征的恶意代码分析检测方法 | |
Phu et al. | CFDVex: A novel feature extraction method for detecting cross-architecture IoT malware | |
O'Kane et al. | N-gram density based malware detection | |
EP3087527B1 (en) | System and method of detecting malicious multimedia files | |
Wang et al. | Hybridg: Hybrid dynamic time warping and gaussian distribution model for detecting emerging zero-day microarchitectural side-channel attacks | |
CN108573148B (zh) | 一种基于词法分析的混淆加密脚本识别方法 | |
Nugraha et al. | Malware detection using decision tree algorithm based on memory features engineering | |
Wang et al. | Locality Based Cache Side-channel Attack Detection∗ | |
Li et al. | A deep malware detection method based on general-purpose register features |
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 |