用于进行异常检测的硬化事件计数器制造技术

技术编号:17959981 阅读:29 留言:0更新日期:2018-05-16 05:30
一系列技术允许通过利用可信硬件事件计数器以及生成可疑恶意活动的指令的特定存储器地址(以及这种地址的序列)两者来检测试图隐藏其在系统上的存在的隐蔽恶意软件。通过随着时间推移而监测地址分布的特定模式,人们可以建立特定进程的行为模型(即,“指纹”)——并且稍后试图将可疑恶意进程与所存储行为模型进行匹配。每当可疑恶意进程的实际测量行为未能与所述所存储行为模型匹配时,所述系统或系统管理员可以试图对计算机系统执行恢复动作以便定位并删除隐藏在所述系统上的恶意软件。

Hardened event counter for abnormity detection

A series of techniques allow the detection of hidden malware trying to hide its presence on the system by using a trusted hardware event counter and a specific memory address (and the sequence of such addresses) to generate instructions for suspicious malicious activities. By monitoring specific patterns of address distribution over time, people can establish behavior models for specific processes (that is, \fingerprints\) - and later try to match the suspicious malicious process with the stored behavior model. Whenever the actual measurement behavior of a suspicious malicious process fails to match the stored behavior model described, the system or system administrator can attempt to perform a recovery action on the computer system in order to locate and delete Malware hidden on the system.

【技术实现步骤摘要】
【国外来华专利技术】用于进行异常检测的硬化事件计数器
本文描述的实施例总体上涉及恶意软件检测,并且具体地,涉及通过使用可信硬件事件计数器和各种分析技术(比如,指纹识别和机器学习)来检测恶意软件(以及其他异常)。
技术介绍
Rootkit是被设计用于使特定进程或程序的存在躲避正常检测方法的隐蔽型恶意软件(“恶意软件(malware)”)。Rootkit通常使得能够对受损系统进行连续特权访问。当攻击者获得根或管理员访问时,可以自动进行或激活rootkit安装。获得这种访问可以是或者利用已知漏洞直接攻击系统的结果或者通过得到对密码的访问(通过破解、特权提升或社会工程)。一旦被安装,rootkit通常试图隐藏侵入并且试图维持对其自身(或其他进程)的特权访问。Rootkit检测是很困难的,因为rootkit可以能够破坏旨在将其发现的软件。检测方法包括:使用可替代的可信操作系统、基于行为的方法、签名扫描、差异扫描以及存储器转储分析。删除rootkit可能是复杂的或实际上是不可能的,特别是在rootkit驻留于内核内的情况下。重新安装操作系统可能是这种问题的唯一可用的解决方案。当处理固件rootkit时,删除可能需要硬件替换或专用设备。现代rootkit不必提升访问,但经常用于通过添加隐蔽能力来使另一个软件有效负载不可检测。大多数rootkit被分类为恶意软件,因为与这些恶意软件捆绑在一起的有效负载是恶意的。例如,有效负载可能隐蔽地盗取用户密码、信用卡信息、计算资源或进行其他未经授权的活动。少量的rootkit可以被其用户认为是实用应用。例如,rootkit可能掩蔽CD-ROM仿真驱动程序,从而允许视频游戏用户击败需要将原始安装介质插入物理光学驱动器中以验证软件为合法购买的反盗版措施。Rootkit可以在计算机环境的不同特权级或模式下运行。用户模式rootkit在与大多数其他用户应用而不是低级系统进程相同的模式下运行。它们具有多个可能的安装向量以便拦截和修改应用程序编程接口(API)的标准行为。一些rootkit将动态链接库(比如,.DLL文件、.dylib文件、.so文件或.shlib文件)插入其他进程中,并且因此能够在任何目标进程内执行以欺骗所述目标进程。具有充分特权的其他rootkit仅重写目标应用的存储器。内核模式rootkit(环0)和/或驻留在虚拟化层内的rootkit(有时被称为环-1)通过添加代码或替换核心操作系统的部分(包括内核和相关联设备驱动程序),以最高操作系统特权运行。大多数操作系统支持以与操作系统本身相同的特权执行的内核模式设备驱动程序。如此,许多内核模式rootkit被开发为设备驱动程序或可加载模块,比如,可加载内核模块或设备驱动程序。这类rootkit具有无限制的安全访问。可能特别难以检测并删除内核rootkit,因为它们以与操作系统本身相同的安全级别运行,并且因此能够拦截或破坏最可信的操作系统操作并且由此以类似隐蔽方式“隐藏”自身。难以检测隐藏其在系统上的存在的rootkit和其他恶意软件并且将其从受感染的操作环境的范围内清除。试图使用硬件事件计数器来执行恶意软件和异常检测的现有解决方案仅考虑了使用特定计数器的时间序列数据,即,测量并观察计数器随着时间推移的变化率。这种方式具有许多缺点,例如,计数器将反映来自不同进程的事件的混合。因此,只有当单个工作负载消耗系统计算资源的显著部分时,这种方式才能成功应用。当许多进程在任何当代操作系统(OS)中并行运行时,发现每个特定进程对于计数器的贡献变得非常有问题。可以应用各种技术,例如,期望最大化(EM)算法,但这些技术也将缺少细节。因此,需要一种利用可信硬件性能和事件计数器以及生成可疑恶意活动的指令的地址两者来执行恶意软件(和其他异常)检测的系统。通过分析地址分布的特定模式,可以建立特定进程的行为模型(即,“指纹”)并且稍后每当实际测量行为与所存储行为模型匹配时,将恶意进程与所述所存储行为模型进行匹配。附图说明本专利或申请文件包含至少一幅彩色绘制的附图。根据要求并且在支付必要费用时后,具有(多幅)彩色附图的本专利申请公开的副本将由本局提供。图1是图示,根据一个实施例展示了随时间推移使用事件计数器的特定子集来进行的行为指纹识别。图2是图示,根据一个实施例展示了在同一时间帧中使用事件计数器的特定子集的‘相’空间来进行的行为指纹识别。图3是框图,根据一个实施例展示了用于检测rootkit或其他异常的计算机系统。图4是框图,根据另一个实施例展示了用于检测rootkit或其他异常的计算机系统。图5是流程图,根据一个实施例展示了用于检测恶意软件的技术。具体实施方式在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本专利技术的彻底理解。然而,对于本领域技术人员而言,可以在不具有这些具体细节的情况下实践本专利技术将是明显的。在其他实例中,以框图的形式示出了结构和设备以避免使本专利技术模糊。对不带下标或后缀的数字的引用被理解为引用对应于被引用数字的所有下标和后缀的实例。此外,在本公开中使用的语言主要是出于可读性和指导的目的而被选择,并且可能尚未被选择用于描绘或限制创造性主题,有必要借助权利要求书来确定这样的创造性主题。在说明书中提及“一个实施例”或者“实施例”意味着结合实施例所描述的特定特征、结构或特性被包含在本专利技术的至少一个实施例中,并且多次提及“一个实施例”或“实施例”不应当被理解为一定都是指相同的实施例。本文所描述的实施例是示例并且出于说明性目的。本领域的普通技术人员应认识到可以使用用于实现所公开主题的替代技术。示例实施例的要素可以以不同的安排方式安排或与不同示例实施例的要素组合。例如,可以改变流程图的各个框的执行顺序。可以改变、消除或组合这些流程图的框中的一些框,并且可以根据期望添加其他框。如本文所使用的,术语“计算机系统”可指用于执行被描述为在计算机系统上或由计算机系统执行的功能的单台计算机或一起工作的多台计算机。对企业、政府机构等的网络攻击越来越隐蔽且持久。因此,对于能够处理知识产权威胁和个人信息窃取来说,检测隐蔽通信的能力变得越来越重要。覆盖某个人的轨迹的主要要素涉及躲避驻留于操作系统中的软件。避免检测的常用方法是使用能够使活动躲避软件(比如,反病毒(AV)和基于主机的入侵检测)的恶意软件。当代威胁(例如,rootkit和bootkit)更加注重隐藏在操作系统中。Bootkit(即,在引导进程期间,在操作系统启动前激活的rootkit)可以控制操作系统与网络硬件的交互。它们还可以操纵安装在系统上的AV软件,以便利用或禁用AV保护。这将会使得操作系统和在操作系统下运行的软件(包括AV或其他安全软件)不能够观察到或停止恶意程序活动。Rootkit代码还可以从固件中激活,这将使得更难将其检测到并且明显更难将其删除。在市场上存在采用不同方法的多种rootkit检测程序。对可信信息与潜在受污染的信息进行比较的方法是众所周知的并且已经在许多反rootkit工具中得以使用,例如,对由若斯诺维奇(Russinovich)的RootkitRevealer进行的基于差异的检测的使用,其实现了对索尼DRMrootkit的检测。其他示例是芬安全(F-Secure)的Blackl本文档来自技高网...
用于进行异常检测的硬化事件计数器

【技术保护点】
一种非暂态计算机可读介质,其上存储有指令,所述指令包括当被执行时使得计算机系统执行以下操作的指令:在第一时间段上监测所述计算机系统的第一组硬件计数器,从而产生一个或多个操作系统进程中的每个操作系统进程的第一指纹数据;在不受所述计算机系统的操作系统控制的安全环境中在第二时间段上监测所述计算机系统的所述第一组硬件计数器,从而产生一个或多个操作系统进程中的每个操作系统进程的第一运行时间数据;将所述一个或多个操作系统进程中的每个操作系统进程的所述第一运行时间数据与对应的操作系统进程的所述第一指纹数据进行比较;以及指示所述一个或多个操作系统进程中的任一操作系统进程的所述第一运行时间数据是否与所述对应的操作系统进程的所述第一指纹数据相差预定阈值。

【技术特征摘要】
【国外来华专利技术】2015.05.08 US 14/707,9771.一种非暂态计算机可读介质,其上存储有指令,所述指令包括当被执行时使得计算机系统执行以下操作的指令:在第一时间段上监测所述计算机系统的第一组硬件计数器,从而产生一个或多个操作系统进程中的每个操作系统进程的第一指纹数据;在不受所述计算机系统的操作系统控制的安全环境中在第二时间段上监测所述计算机系统的所述第一组硬件计数器,从而产生一个或多个操作系统进程中的每个操作系统进程的第一运行时间数据;将所述一个或多个操作系统进程中的每个操作系统进程的所述第一运行时间数据与对应的操作系统进程的所述第一指纹数据进行比较;以及指示所述一个或多个操作系统进程中的任一操作系统进程的所述第一运行时间数据是否与所述对应的操作系统进程的所述第一指纹数据相差预定阈值。2.如权利要求1所述的非暂态计算机可读介质,其中,当被执行时使得所述计算机系统在第一时间段上监测所述计算机系统的第一组硬件计数器的所述指令包括当被执行时使得所述计算机系统执行以下操作的指令:在所述第一时间段期间监测与所述第一组硬件计数器相对应的存储器地址。3.如权利要求2所述的非暂态计算机可读介质,其中,当被执行时使得所述计算机系统在第二时间段上监测所述计算机系统的所述第一组硬件计数器的所述指令包括当被执行时使得所述计算机系统执行以下操作的指令:在所述第二时间段期间监测与所述第一组硬件计数器相对应的存储器地址。4.如权利要求1所述的非暂态计算机可读介质,其中,所述第一组硬件计数器包括与以下事件中的至少一个事件相对应的硬件计数器:机器清除、高速缓存未命中、分支未命中、自修改代码、调试事件、单步事件、存储转发未命中、未对准存储器引用、ITLB转储清除、TLB未命中、间接调用、条件分支、陷阱、上下文切换、电源管理事件以及明显栈指针改变指令。5.如权利要求1所述的非暂态计算机可读介质,其中,当被执行时使得所述计算机系统在第一时间段上监测所述计算机系统的第一组硬件计数器的所述指令进一步包括当被执行时使得所述计算机系统执行以下操作的指令:在所述第一时间段期间监测与所述第一组硬件计数器相对应的相对存储器地址,其中,所述相对存储器地址是根据进程在存储器中的基础负载位置来计算的。6.如权利要求1所述的非暂态计算机可读介质,其中,当被执行时使得所述计算机系统在第一时间段上监测所述计算机系统的第一组硬件计数器的所述指令包括当被执行时进一步使得所述计算机系统进行以下操作的指令:在所述第一时间段上监测第二计算机系统的所述第一组硬件计数器;将所述第二计算机系统的所监测到的第一组硬件计数器与所述计算机系统的所监测到的第一组硬件计数器相组合;以及使用经组合的所述第二计算机的所述所监测到的第一组硬件计数器和所述计算机系统的所述所监测到的第一组硬件计数器来产生一个或多个操作系统进程中的每个操作系统进程的第一指纹数据。7.如权利要求1所述的非暂态计算机可读介质,其中,当被执行时使得所述计算机系统在第一时间段上监测所述计算机系统的第一组硬件计数器的所述指令包括当被执行时使得所述计算机系统执行以下操作的指令:在所述第一时间段期间监测与所述第一组硬件计数器中的至少一个硬件计数器相对应的存储器地址转换次数。8.如权利要求1所述的非暂态计算机可读介质,其中,所述第一指纹数据是从受控测试环境中监测到的。9.如权利要求1所述的非暂态计算机可读介质,其中,在所述第一组硬件计数器中的至少一个硬件计数器包括无法被重置的硬件计数器。10.一种检测异常的方法,所述方法包括:在第一时间段上监测计算机系统的第一组硬件计数器,从而产生一个或多个操作系统进程中的每个操作系统进程的第一指纹数据;在不受所述计算机系统的操作系统控制的安全环境中在第二时间段上监测所述计算机系统的所述第一组硬件计数器,从而产生一个或多个操作系统进程中的每个操作系统进程的第一运行时间数据;将所述一个或多个操作系统进程中的每个操作系统进程的所述第一运行时间数据与对应的操作系统进程的所述第一指纹数据进行比较;以及指示所述一个或多个操作系统进程中的任一操作系统进程的所述第一运行时间数据是否与所述对应的操作系统进程的所述第一指纹数据相差预定阈值。11.如权利要...

【专利技术属性】
技术研发人员:E·塔米尔A·科林A·奈舒图特V·苏霍姆利诺夫I·穆迪科E·娄兹欧恩
申请(专利权)人:迈克菲有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1