【技术实现步骤摘要】
实时检测基于Cache攻击的方法
本专利技术涉及计算机领域,尤其涉及一种实时检测基于Cache攻击的方法。
技术介绍
云计算通过提供计算资源给其租户带来便利,但是由于多个租户共享硬件资源,云计算也存在着巨大的安全风险。例如,攻击者可以利用共享处理器上的高速缓存(Cache)获取到受害者的敏感数据,这就是基于Cache的攻击。为了发起基于Cache的攻击,攻击者通常需要先执行一些操作使得高速缓存达到某一预期的状态,然后等待受害者执行;受害者执行时,不可避免地会使用共享的高速缓存,因此高速缓存的状态可能发生改变;在受害者执行后,攻击者探测高速缓存的状态,然后通过分析受害者执行前后高速缓存状态的变化情况推测到受害者的敏感数据,从而造成信息泄露。基于Cache的攻击可发生在台式机、云服务器和虚拟机、移动设备及浏览器等共享高速缓存、互不可信的软件组件之间,攻击目标包括加密系统(如密钥)、计算机系统随机性(如地址空间布局)及用户隐私(如键盘监听)等,这给系统和信息安全带来了巨大的威胁。为了抵制基于Cache的攻击,一些防御方案通过划分共享高速缓存的方法来限制攻击者对高速缓存的 ...
【技术保护点】
1.一种实时检测基于Cache攻击的方法,其中,该方法包括两个阶段:离线分析阶段和在线检测阶段,其中,所述离线分析阶段包括以下步骤:步骤1,收集基于Cache的攻击程序和良性程序执行时产生的硬件事件数据;步骤2,处理收集到的硬件事件数据,提取并选择特征用于训练机器学习算法,得到用于识别基于Cache攻击的分类器;所述在线检测阶段包括以下步骤:步骤3,实时收集系统中活动进程的硬件事件数据,将其进行窗口划分;步骤4,处理每个窗口内的硬件事件数据,使用分类器检测每个窗口是否存在基于Cache的攻击。
【技术特征摘要】
1.一种实时检测基于Cache攻击的方法,其中,该方法包括两个阶段:离线分析阶段和在线检测阶段,其中,所述离线分析阶段包括以下步骤:步骤1,收集基于Cache的攻击程序和良性程序执行时产生的硬件事件数据;步骤2,处理收集到的硬件事件数据,提取并选择特征用于训练机器学习算法,得到用于识别基于Cache攻击的分类器;所述在线检测阶段包括以下步骤:步骤3,实时收集系统中活动进程的硬件事件数据,将其进行窗口划分;步骤4,处理每个窗口内的硬件事件数据,使用分类器检测每个窗口是否存在基于Cache的攻击。2.根据权利要求1所述的方法,其中,所述步骤1中,所述基于Cache的攻击程序包括:Flush+Reload、Flush+Flush、Prime+Probe、Meltdown、Spectre及XLATE系列攻击;所述良性程序包括:CPU密集型、IO密集型;所述硬件事件包括Cache命中、TLB命中及分支误测相关事件,使用硬件性能计数器收集;所述硬件事件数据为具有时序的硬件事件数据序列。3.根据权利要求1所述的方法,其中,所述步骤2中,将收集到的硬件事件数据处理成用于训练的特征的步骤如下:步骤2-1,将收集到的硬件事件数据使用Attenuation方法进行处理;步骤2-2,对处理后的数据提取均值、标准差、最大值、分位数、极差的特征;步骤2-3,使用遗传算法对提取的特征进行选择,选择依据为F-Score。4.根据权利要求3所述的方法,其中,所述Attenuation方法中,将原始硬件事件的时序数列E={x0,x1,...,xt,...,xn}转化为E'={y0,y1,...,yt,...,yn},其中,ht=α×ht-1+(1-α)×xt,h0=x0,其中t为采样时间点,t>0,0<α<1。5.根据权利要求1所述的方法,其中,所述步骤2中,所述机器学习算法包括:决策树算法、多层感知机算法和Xgboost算法;所述分类器为所述机器学习算法经过训练生成的能识别多种基于Cache攻击的分类模型。6.根据权利要求1所述的方法,其中,所述步骤3中,实时收集系统中活...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。