CN1973268A - 利用指纹识别和实时证据收集以保护内容的装置、系统和方法 - Google Patents

利用指纹识别和实时证据收集以保护内容的装置、系统和方法 Download PDF

Info

Publication number
CN1973268A
CN1973268A CNA2005800211675A CN200580021167A CN1973268A CN 1973268 A CN1973268 A CN 1973268A CN A2005800211675 A CNA2005800211675 A CN A2005800211675A CN 200580021167 A CN200580021167 A CN 200580021167A CN 1973268 A CN1973268 A CN 1973268A
Authority
CN
China
Prior art keywords
parameter
data
entropy
computing equipment
subclass
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
CNA2005800211675A
Other languages
English (en)
Inventor
格伦·A·莫顿
奥斯卡·V·兹胡克
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.)
Widevine Technologies Inc
Original Assignee
Widevine Technologies Inc
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 Widevine Technologies Inc filed Critical Widevine Technologies Inc
Publication of CN1973268A publication Critical patent/CN1973268A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

描述了一种用于保护数字信息不受未授权访问的装置、系统和方法。配置本发明以使用数字指纹识别、模式识别和实时入侵证据收集来监控未授权访问。当检测到未授权访问时,提供基于业务规则的适当响应,其包括中止执行内容播放器。本发明长期监控一组预先确定且与客户端设备上至少一个进行相关的参数,以检测状态的变化。使用该状态变化生成关于该进程的指纹。随后对收集到的附加数据应用统计分析以判断该附加数据是否指示未授权行为。

Description

利用指纹识别和实时证据收集以保护内容的装置、系统和方法
技术领域
本发明一般涉及远程计算安全,更为具体地且并不排它地提供一种装置、系统和方法以保护数字信息免受未授权访问,包括使用数字指纹识别、模式识别和入侵证据收集。
背景技术
在经历数字技术和互联网的兴起而发生巨大变化的各行业中,很少象“内容”行业那样遭到席卷,如音乐、电影、按次付费电视(PPV)、视频点播(VoD)、交互式媒体及类似事物的制作者和提供者。互联网使这些内容的广泛传播比任何时候都容易。不幸的是,对于内容制作者和提供者来说,数字时代正在呈严重的下滑趋势。一些消费者更为容易地访问到这些内容而无需支付费用。
针对保护这些内容已经做了一些努力。例如,当内容在诸如互联网的网络上传送时,将对其进行加密。当内容驻留于媒体设备如CD,DVD及类似设备时,也可以对其加密。然而,一旦将内容解密并可为消费者所用时,比方说在客户端计算设备的重放过程中,该内容容易受到未授权的访问。利用多种技术,可以不适当地访问或恶意访问(hack)这种无保护的内容。
例如,可以从客户端计算设备“内”恶意访问该内容。即,客户端计算设备的用户可以利用多种机制中的任何一种来试图不恰当地访问该内容,包括恶意访问(hacking)屏幕显示、使用屏幕剪贴(scraper)工具、恶意访问音频和/或视频设备、恶意访问内容流,以及类似行为。用户甚至可以试图使用内容流剪贴来不恰当地访问未经授权使用的内容。
类似地,可以通过从客户端计算设备外部恶意访问客户端计算设备来不恰当地访问该内容。即,通过使用多种恶意访问工具和方法,外部黑客(hacker)可以试图进入客户端计算设备,将内容保护信息传送至不受保护的位置,然后利用保护信息以不恰当地复制该内容。因此,本发明已考虑到关于这些以及其它的问题。
附图说明
参照下图,将描述本发明的非限制性和非穷举的实施方式。在这些图中,除非特别说明,同样的参考标号指遍布不同图中的同样部件。
为更好地理解本发明,将提及本发明的下述详细说明,其将连同附图一起阅读,其中:
图1显示了一个功能框图,其举例说明了实现本发明的环境的一个实施方式;
图2显示了客户端设备的一个实施方式,其包含于实现本发明的系统中;
图3说明了可在确定指纹和实时证据收集中由本发明所分析的一列参数名单的一个实施例;
图4说明了一逻辑流程图,其通常显示总体进程的一个实施方式,此过程用于检测在计算设备上的未授权行为;
图5说明了一逻辑流程图,其通常显示一个进程的一个实施方式,此进程用于收集与计算设备相关的进程的预选择参数;
图6说明了一逻辑流程图,其通常显示一个进程的一个实施方式,此进程用于利用增量(delta)事件分析来确定关于至少一个进程子集的指纹;
图7说明了一逻辑流程图,其通常显示一个进程的一个实施方式,此进程用于利用熵分析来执行所确定指纹的模式分类;
图8说明了一示意图,其通常显示一个进程的一个实施方式,此进程用于变换向量以确定一个计数输出;和
图9说明了一示意图,其通常显示一个进程的一个实施方式,按照本发明,此进程用于变换矩阵以确定几个计数输出。
具体实施方式
现在将参照构成本发明一部分的附图在下文更充分地描述本发明,并且通过举例说明来表示实施本发明的具体实施例。然而,本发明体现在很多不同的实施方式中并且不能将其解释成受限于这里提出的实施方式;相反,提供这些实施方式使本公开更彻底和完全,并能充分地告知本领域技术人员本发明的范围。在其它方面,本发明可作为方法或设备来体现。从而,本发明可采取的形式为完全的硬件实施方式、完全的软件实施方式或软件和硬件方面相结合的实施方式。因此,以下详细的描述不会被理解为限制的意思。
简要地说,本发明关注一种用于保护数字信息免受未授权访问的装置、系统和方法。配置本发明以使用数字指纹识别、模式识别和实时入侵证据收集来监控未授权访问,并提供适当的响应。数字指纹识别可以基于,至少部分基于所选计算机进程的行为。本发明关注于保护数字媒介免受外部的,和/或内部的未授权访问以及类似在客户端侧设备处的未授权行为。在一个实施方式中,客户端设备包括数字计算机、机顶盒(STB)和类似设备。
本发明使用了一些机制,包括向量分析、聚类分析、统计分析、模糊逻辑、神经学逻辑理论、决策理论、最优化理论及类似机制。本发明可将这些机制中的至少一些结合在一起,以提供用于检测未授权行为的模式识别系统。配置本发明以生成和处理大量不同的数据,包括但不局限于被确定为正常的数据、被确定为反常的数据(有时也叫做“不正确的”或未授权行为)、半重复数据、不确定数据和模糊数据,根据这些数据可生成行为模式。生成的模式可分类为正常(正确的)数据模式、反常(不正确的)数据模式及类似模式,该反常数据模式有可能是未经授权的。使用这些模式是因为当一个典型黑客试图实施恶意行为时,该黑客通常无法维持系统、进程及类似事物的这些正常模式。
另外,通过使用本发明,可以相对快捷地检测到黑客,即使在危及到系统、进程、应用软件或类似事物的安全时,也更有可能保护内容。虽然黑客通常危及系统的安全并改变其软件,但是系统的进程行为不太可能是一样的。这样,进程行为的监控可以很有效地防止黑客。而且,由于系统的进程行为的变化,黑客在被检测到之前能够完成恶意行为的可能性大大下降了。
本发明可以在多种配置中使用,包括但不局限于入侵检测系统、经配置用于检测入侵或未授权数据修改的设备、动态和/或静态模式、图像识别系统、经配置用于检测来自计算设备、STB和类似设备的反常行为的设备。而且,在至少一个实施方式中,本发明可以被配置以驻留在客户端计算设备上。在那一配置中,即使在客户端计算设备没有与网络连接时,对未授权行为的监控也可以实行。然而,本发明不局限于仅驻留在客户端计算设备。例如,本发明可以驻留在另一个计算设备上,交叉多个计算设备上,以及类似设备上,而不偏离于本发明的主旨或范围。
说明的环境
图1显示了一功能框图,其举例说明了操作环境100的一个实施方式,在此环境中实施本发明。操作环境100仅是合适操作环境的一个例子而不意味着对本发明的使用或功能的范围提出任何限制。这样,如果不偏离于本发明的主旨或范围,可以使用其它熟知的环境和配置。
如图所示,操作环境100包括内容提供者102、网络104和客户端106-108。网络104与内容提供者102和客户端106-108连接。
内容提供者102包括计算设备,配置此设备供制作者、开发者和媒介内容所有者使用,媒介内容可以发布到客户设备106-108。这样的内容包括但不局限于针对诸如客户端设备106-108的客户端设备用户的动画、电影、视频、音乐、PPV、VoD、互动媒体、音频、静态图像、文本、图形和数字内容的其它形式。内容提供者102也可以包括从内容所有者处获得复制和发行内容权利的行业、系统和类似机构。内容提供者102可以从一个或多个内容所有者处获得复制和发行的权利。为了后面的销售、发行和许可其它内容提供者、客户端设备106-108的用户和类似用户,内容提供者102可以对内容进行重新包装、存储和编制目录。
虽然说明了使用网络104向客户端设备106-108传送内容,但本发明并不受这样限制。例如,内容提供者102事实上可使用任何机制来传送内容,包括但不局限于数据通信线路、事实上的任何存储设备包括但不局限于CD、DVD、软盘、磁带和类似物。内容可使用多种加密技术的任意一种来加密。类似地,内容也可以被解密。
可以用作内容提供者102的设备包括个人计算机、台式(desktop)计算机、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、服务器和类似事物。
配置网络104以将一个计算设备连接至另一个计算设备,使两者能相互通信。激活网络104,使其能够利用任何形式的计算机可读媒介将信息从一个电子设备传至另一个。同样,网络104可以包括无线接口和/或有线接口,例如互联网、除局域网(LAN)之外的广域网(WAN)、如通过通用串行总线(USB)端口的直接连接、计算机可读媒介的其它形式或它们之间的任意组合。在LAN的互联装置上,包括那些基于不同体系结构和协议的装置,路由器作为在LAN之间连接,使消息从一处发送至另一处。同样,LAN内的通信连接通常包括双绞线或同轴电缆,而网络间的通信连接可使用模拟电话线、包括T1、T2、T3和T4的全部或部分的专用数字线、综合业务数字网(ISDN)、数字用户线(DSL)、包括卫星连接的无线连接或其它为本领域技术人员所知的通信连接。而且,远端计算机和其它相关的电子设备能够通过调制解调器或临时电话连接远程连接至LAN或WAN上。实质上,网络104包括任何通信方法,通过这些方法,信息可以在客户端设备106-108和内容提供者102之间传播。
上述用来在通信连接中传送信息的媒介说明了一种类型的计算机可读媒介,即通信媒介。通常,计算机可读媒介包括能够由计算设备访问的任何媒介。计算机可读媒介可以包括计算机存储媒介、通信媒介或它们的任意结合物。
另外,通信媒介通常表现为在调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,该调制数据信号如载波、数据信号或其它传输机制,并且通信媒介包括了任何信息传输媒介。术语“调制数据信号”或“载波信号”包括一个信号,在此信号中其具有一个或多个特征集合,或其采用的变化方式可对信息、指令、数据和类似事物进行编码。通过例子,通信媒介包括有线媒介如双绞线、同轴电缆、光纤、波导和其它有线媒介,以及无线媒介如声音、射频、红外线和其它无线媒介。
客户端设备106-108事实上可以包括能够通过诸如网络104的网络,从诸如内容提供者102的另一个计算设备中接收内容的任何计算设备。客户端设备106-108也可以包括能够使用其它机制接收内容的任何计算设备,该机制包括但不局限于CD、DVD、磁带、电子存储设备和类似物。这组设备可以包括通常使用有线通信媒介连接的设备,此有线通信媒介如个人计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC和类似物。这组设备还可以包括通常使用无线通信媒介连接的设备,此无线通信媒介如手机、智能电话、寻呼机、无线对讲机、射频设备、红外线设备、CB、合并有一个或多个上述设备的集成式设备和类似物。客户端设备106-108也可以包括能够使用有线或无线通信媒介连接的任何设备,此有线或无线通信媒介如PDA、POCKET PC、可穿戴计算机和经装备后可通过有线和/或无线通信媒介通信以接收和播放内容的任何其它设备。类似地,客户端设备106-108可以使用多种设备中的任一个来欣赏这种内容,包括但不局限于计算机播放系统、音频系统、自动唱片点唱机(jukebox)、机顶盒(STB)、电视、视频播放设备和类似物。参考图2,使用如下面更详细描述的客户端设备,可实施客户端设备106-108。
客户端设备106-108可以包括一个客户端,将其配置以使终端用户能接收内容并播放所接收的内容。客户端也可以提供其它动作,包括但不局限于激活客户端设备的其它部分以执行、激活与另一个部件、设备、终端用户相连的接口,和类似动作。
客户端设备106-108可以进一步包含内容保护管理(CPM)部件,如下更详细描述。可以配置CPM部件以监控客户端设备的行为特征,当确定一个行为是反常(不正确或未授权)行为时,CPM部件可激活一个动作以保护内容不受有可能的未授权行为损害。这种行为可以包括基于策略、规则或类似事物的多种预先确定的动作的任一个,包括关闭网络连接、关闭一个或多个进程、使内容无效或不然禁止访问内容、向计算设备的终端用户、内容所有者提供消息、或类似动作。
说明性的计算设备
按照本发明的一个实施方式,图2显示了计算设备的一个实施方式。计算设备200可以包括比所示部件更多的部件。然而,所示部件充分公开了实现本发明的一个说明性的实施方式。例如,计算设备200可以表示图1的客户端设备106-108。
计算设备200包括处理单元212、视频播放适配器214和大容量存储器,所有这些通过总线222彼此通信。大容量存储器通常包括RAM216、ROM232和一个或多个永久性大容量存储设备,如硬盘驱动器、磁带驱动器、光驱动器和/或软盘驱动器。大容量存储器存储操作系统220以控制计算设备200的操作。可以使用任何多用途的操作系统。也提供了基本输入/输出系统(“BIB0”)218来控制计算设备200的低级操作。如图2所示,通过网络接口单元210,计算设备200也能够与互联网或一些其它的通信网络如图1中的网络104进行通信,构建网络接口单元以供包括TCP/IP协议在内的各种通信协议使用。网络接口单元210有时被认为是收发器、收发设备或网络接口卡(NIC)。
上文描述的大容量存储器说明了另一种计算机可读媒介,即计算机存储媒介。计算机存储媒介可以包括采用任何方法或工艺来实现的易失性的、非易失性的、可移动的、不可移动的媒介以用于信息存储,该信息如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒介的例子包括RAM、ROM、EEPROM、闪存(Flash memory)或其它存储技术、CD-ROM,数字多功能盘(DVD)或其它光存储器、盒式磁带、磁带、磁盘存储器或其它磁性存储设备、或能够用来存储所需信息和能够被计算设备访问的任何其它媒介。
大容量存储器也存储程序代码和数据。一个或多个应用软件250被载入大容量存储器中并在操作系统220上运行。应用程序的例子可以包括但不局限于代码转换程序、调度程序、日历安排程序、数据库程序、文字处理程序,HTTP程序、音频播放器、视频播放器、VoD播放器、解码器、译码器、PPV播放器、STB的接口程序、电视的接口程序、视频照相机和诸如此类事物。大容量存储器可以进一步包括诸如内容保护管理器(CPM)252的应用软件。CPM252可以包括附加部件,可以配置该附加部件以生成指纹(指纹管理器253)并且实施模式分类(分类器254)。CPM252也可以包括决策引擎255,其中,配置该决策引擎以对能够指示反常行为的各种因素进行分析。当检测到反常行为时,决策引擎255采取行动以保护内容不受有可能未授权动作的损害。CPM252和与其相关联的部件可以实施如下连同图4-6一起更为详细描述的行动。
在一个实施方式中,CPM252与内容一起被载入到计算设备200上。这样,CPM252可以驻留在诸如CD、DVD和类似物的内容媒介上。CPM252也可以通过网络载入,而内容被下载到计算设备200上。然而,本发明并不受这样的限制,事实上使用任何装置并且事实上在任何时间,甚至与内容何时载入无关,都可将CPM252载入到计算设备200上。而且,虽然图2图示说明CPM252驻留于计算设备200中,但本发明不受这样的限制,并且CPM252可以驻留于另一个设备,在多个设备上分布,以及类似情形,如果不偏离本发明的范围或主旨。
计算设备200也可以包括用于发送和接收电子邮件的SMTP处理机应用软件、用于接收和处理HTTP请求的HTTP处理机应用软件和用于处理安全连接的HTTP处理机应用软件。HTTP处理机应用软件可以用安全的方式启动与外部应用软件的通信。
计算设备200也包括用于与外部设备通信的输入/输出接口224,外部设备如鼠标、键盘、扫描仪或其它未在图2中显示的输入设备。同样,计算设备200可以进一步包括附加的大容量存储设备如CD-ROM/DVD-ROM驱动器226和硬盘驱动器228。其中,可以使用硬盘驱动器228存储应用程序、数据库、客户端设备配置信息、策略和类似物。
说明性的操作综述
本发明能够监控和检测未授权行为并能够将这种行为对系统、内容及类似事物的影响降低到最小。这样,本发明关注于监控未授权行为,无论该行为来自计算系统外部的发起者或是远离计算系统的发起者乃至计算系统内部的发起者(例如,其中发起者可以是计算系统、进程、程序、或在处理系统上运行的近似任务或类似物的终端用户)。
使用诸如指纹识别、模式识别、统计分析和类似构想的多种构想中的任一种,进一步设计本发明以检测在计算系统上未授权行为,该计算系统可指示针对截取、捕捉、复制和/或调整内容的行为。然后,可以通过结束未授权进程或任务、干涉未授权进程或任务、或甚至借助多种机制关闭内容来实现内容的保护,从而该内容不再被未授权进程或任务所得到。
在使用这些构想的过程中,在计算系统上观察到的授权行为可以被分类为“正常”模式的行为或动作。试图进行未授权行为的动作可以改变这一“正常”行为的模式。这种已改变的行为模式可能与正常模式不匹配。这些已改变的行为模式可以被称为“反常”或“不正确”行为。
正常行为的确定可以部分地基于行为的分类,将行为从相关数据转换成在计算系统上执行的进程或进程子集的一组特征,其与每一个进程所关联的名字无关。例如,在执行内容播放器以及类似动作的过程中,可以从计算系统中得到这些数据。
本发明进一步关注于确定在每个进程中被认为是“正常的”模式与“反常的”模式之间的逻辑的、非数字的区别。此确定可以是实时的,也可以是非实时的。
基于一种方法,监控可以关注于信息和特征的收集,此信息和特征与计算系统上现有的进程相关。然而,可能有几百个不同的可能参数,其可以标志每个单独进程的特征。这将导致大量分析的时间和资源。例如,设想每个进程包括可能大约200个将被监控的参数,例如,其可以在Windows2000 Professional操作系统的一个实施方式上实施。然后,在200×K的数据空间上进行分析,其中K是在计算系统中运行的进程的数目。然而,假设有足够的空间和资源,这一方法可以由本发明实行,这样,此方法不在本发明的范围之外。
然而,也可以整理所采集的数据以使用于分析的参数的数目最少。因而,在一个实施方式中,本发明使用了增量事件方法,此方法部分地基于在每个参数之间的测量差异,这些参数在一个时间段上表现进程的特征。获得的差异被认为是参数行为的特殊事件,这里称为指纹。
另外,用于一个给定进程的一些参数可以随着时间改变其值,而另一些参数却不能。这一观测结论被用于进程的指纹识别的开发中。即,在给定的时间段内,参数可以或不可以充分变化。可以使用这一结论来简化对参数的监控,以判断在一个时间段内该参数是改变了还是基本上不变。因而,可以将该参数描述成两种状态:改变的或未改变的。随后,每一个进程参数可以被认为有其行为的自身状态,其可以被转化成指纹或行为模式。此外,每个进程的特征都可以是行为或指纹模式中的一个模式。通过使用参数动作的两种状态表示,本发明可以将数字参数的方法转换成非数字的逻辑任务。
然而,并非每个参数都只有一种状态。例如,参数可以随时间有多种状态。然而,参数的每种状态出现的概率可以通过统计分析来获得。如果这样的统计分析指示一种状态的出现已经被另一种状态的出现大大地超过,则可以确定每种状态的数学期望(如:算数平均)。然后,可将所获得的参数反常事件的计数确定为噪声或不确定度。
选择监控哪个进程可以基于多种考虑中的任一种。例如,可以选择监控与播放内容相关的进程、与恶意行为相关的进程及类似进程。在一个实施方式中,选择与处理器内核相关的参数。在另一个实施方式中,对与处理器内核相关的进程进行分析,同时对运行进程的用户次数进行分析。可选择经确定具有的次数大大高于其它进程的那些进程来用于继续的分析。
例如,基于一个实施方式,数学分析可以统计地指出,对于给定的操作系统,例如预先确定的Windows版本,标志每个单独进程的200个参数中的37个可以对行为模式产生主要影响。图3说明了一组参数中的一个例子,在至少部分地基于分析的本发明的一个实施方式中使用了这些参数。然而,本发明并不限于这些参数,还可以使用其它参数,如果不偏离本发明的范围。
在选择了一组参数后,可以产生带有边界的一组类别。例如,两个类别,正确行为类别和不正确行为类别,可以通过两种行为模式来表示。第一类(正确行为)可以与内容播放器及类似物相关,而另一类(不正确行为)可以与未授权的动作相关,未授权的动作如来自多种恶意行为工具中的任一种动作,包括如屏幕剪贴、音频捕获程序和类似物。
通过基于在几个时间段上的内容播放器的执行来计算数学期望,并通过对与内容播放器相关的进程进行分析,能够获得代表内容播放器的模式。可以使用类似的方法来确定与恶意行为工具相关的模式。
可以为每一类生成理想的边界,其中一个理想的不正确类别可以只包括未改变的数据,而一个理想的正确类别可以只包括已改变的数据。在一个实施方式中,这样的理想边界可以从单个模式的行为分析中获得,该单个模式与内容播放器和/或恶意行为工具或类似物有关。
可以对所获得的原型模式进行分析,以选择一个集合,随后将此集合提供给决策引擎。在一个实施方式中,通过选择子集,可减少所获得的原型模式,例如在2到4个模式之间(虽然本发明并不限于这种已缩减的集合)。所获得的原型模式可以比作正确模式以便可以设立不正确的情况。类似地,原型模式可以比作不正确模式,以便选择一个最接近地表示该不正确模式的模式。在另一个实施方式中,其中可以配置决策引擎255以根据平衡原则操作,其中,一组模式或类别只包括一个正确模式计数,而另一组模式或类别只包括一不正确坏模式计数。
两个尺度类别的每一个类别都被载入至具有相同数量的正确计数和不正确计数的先验知识中。在一个实施方式中,设立一个初始化为零的尺度。与所选类别相关的正确计数和不正确计数代表了在每个类别中可发生的总的可能的计数。当获得了一个新计数时,本发明将其加到一个尺度类别中。当向一个尺度类别加上一个计数时,将自动从另一个类别中减去另一个计数。这是为了充分地保持总的计数数目不变,而不产生大的不平衡。
例如,假如不平衡上升,那么基于不正确计数,本发明确定来自决策引擎的数值和分类。这种确定是针对不正确计数的不平衡而进行的,而不是针对正确计数,当本发明试图识别的是不正确情形,并且不针对正确计数来操作时,可最小化处理时间。
部分地根据使用如非线性分类规则或类似规则来测定数值,可确定每个类别的数据熵。在一个实施方式中,使用基本的两个对数数据熵来确定来自决策引擎的输出。然后,当输出的结果明显地等于或大于预先确定的可靠水平时,配置决策引擎以作出最终结论的响应。
在为确定进程特征的准备中,确定事件数目和收集的数据样本的规模。事件数目包括不同进程参数和特征的所期望的最大数目,其可以从给定的操作系统配置中得到。例如,这样的参数包括但不限于进程标识、目标操作系统版本、优先级、用户对象计数、存储器信息、输入输出(IO)计数器和类似事物。
样本规模包括通常用于处理的数据样本的规模,其从可用事件数目中提取。可以使用多种统计方法的任一种方法来显著降低用于执行模式识别任务的样本规模。
说明性的用于检测未授权行为的操作
本发明的一些方面的操作将参考图4-6来描述。特别地,图4说明了用于在计算设备上检测未授权行为的总体过程。这里描述的进程包括几个子进程,包括用于针对关于在该计算设备上执行的各种进程的预选参数收集数据的子进程、用于基于增量事件分析确定指纹的子进程和使用熵分析进行指纹分类的子进程。图5说明了数据收集的子进程。图6说明了指纹确定子进程,而图7说明了分类进程。这些进程中的每一个进程都在下文更详细地描述。另外,在讨论逻辑流程图后,进一步详细描述操作。
图4说明了逻辑流程图,其通常显示了总体过程的一个实施方式,此总体过程用于检测在计算设备上的未授权行为,计算设备如图1的客户端106-108。图4的进程400可在软件、硬件、硬件组合或类似事物中执行,其在计算设备上可操作。
在开始方框之后,进程400开始于方框402,其在下文结合图5将被详细的描述。然而,简单地说,在方框402,对关于可在计算设备上执行的各种进程的预选参数进行收集。结合图3,已经在上文描述了这种预选参数的例子。在一个实施方式中,收集进程包括针对至少两个时间间隔收集预先选择的参数。
处理进程继续至方框404,其在下文结合图6将被详细的描述。然而,简单地说,在方框404,确定关于可在计算设备上执行的进程的至少一个子集的指纹。利用下文将更详细描述的增量事件分析,可以确定该指纹。
进程400继续至方框406,其在下文结合图7将被详细的描述。简单地说,在方框406,利用熵分析,所确定的指纹可以被分类成正确的行为模式和/或不正确的行为模式。随即,熵分析可以确定正在计算设备上被估值的进程的熵。
下一步,处理进程移至判定框408,其中,将判断是否检测到未授权行为。如下文进一步描述的,基于将所确定的熵与预先确定的置信度进行的比较,做出这一判定。如果判定所确定的熵高于预先确定的置信度,那么可以确定未授权行为存在,进程移至方框410;否则,处理过程循环返回方框402以继续监控在计算设备上未授权行为的出现。
在方框410,基于业务规则或类似物,实行各种预先确定的动作。例如,这种预先确定的动作可以包括关闭网络连接、关闭一个或多个进程、使内容无效或不然禁止访问内容、禁止访问计算设备、向一个或多个实体提供消息、告警或类似物,或类似动作。事实上,基于未授权动作的检测可实施任何动作。
随后,处理过程可以返回调用进程。然而,本发明并不受到这样的限制。例如,尽管进程400说明了返回调用进程,在方框410后进程400也可以循环回方框402,并继续监控未授权行为,如果不偏离本发明的范围或主旨。
图5说明了逻辑流程图,其通常显示了一个进程的一个实施方式,此进程用于收集与计算设备相关的进程的预先选择的参数。图5说明了关于方框402的子进程操作的一个实施方式,结合图4在上文中已描述该方框。
图5的进程500开始于方框502,其中设立了理想的类别。在一个实施方式中,确定理想的正确类别和理想的不正确类别。例如,理想的正确类别可以由所有元素为1的矩阵来表示,而理想的不正确类别可以由所有元素为-1的矩阵来表示。
处理过程前进至方框504,其中,在第一个时间间隔T1内收集关于M个进程的参数的第一个数据集合。这样的数据收集可以包括监控关于M个进程中的每一个进程的参数集合并且在时间间隔T1内记录其各自的值。利用多种机制中的任何一种机制可以存储该数据集合,这些机制包括文件夹、电子数据报表、存储器、数据库、文件或类似物。而且,该参数集合可以包括与M个进程相关的多种参数中的任何一种参数,所述M个进程都可以在计算设备上执行。
进程500继续至方框506,其中,在第二时间间隔T2内收集关于K个进程的参数的第二个数据集合。事实上,对于在计算设备执行的每个相关的进程,都可以获得参数的第一个和第二个数据集合。然而,本发明不局限于收集关于每个进程的数据集合。例如,如果不偏离本发明的范围或主旨,可以选择进程的子集以供收集。在一个实施方式中,方框506的数据收集可以在一个延迟后进行。
而且,第一个和第二个数据集合可以表示为矩阵,其将在下文更详细描述。然而,简单地说,矩阵可以包括在关于M或K个进程中的每一个进程的时间内的参数值的集合。
处理过程从方框506移至判定框508,其中,判定在T1中收集的进程数目M与在T2中收集的进程数目K是否一致。即,M=K?例如,当一个进程在数据收集的一个时间间隔中执行而在另一个时间间隔中不执行的情况下,M和K可以不相等。例如,拼写检查进程可以在一个时间间隔中执行而在另一个时间间隔中不执行。因此,如果判定了M与K不同,那么处理进程移至方框510。在方框510,选择了与在两个时间间隔内的进程数目L相关的参数数据选集。在一个实施方式中,通过选择那些在两个时间间隔内都执行的进程,来确定进程的数目。例如,进程的数目L可以是M和K中的最小值(min(M,K))。这使得两个数据集合变为同样的规模大小。然后处理过程返回调用进程以实施其它动作。相似地,如果在方框508判定M=K,处理过程也返回调用程序以实施其它动作。
图6说明了一个逻辑流程图,其通常显示了一个进程的一个实施方式,此进程用于使用增量事件分析来确定一些或全部进程的指纹。图6的进程600背后的数学知识在下文更详细描述。此外,进程600可以表示图4的方框404的一个实施方式。
在起始方框之后,进程600开始于方框602,其中,确定用于已选数据集合的进程的子集。可以使用多种机制中的任一种机制来确定进程的子集。然而,正如所说明的,通过选择那些使用高的CPU时间百分数的进程来确定子集。例如,在一个实施方式中,这可以通过监控那些在图3中其参数21和23显示高的CPU时间百分数的进程来确定。在一个实施方式中,高的CPU时间百分数是CPU时间百分数的最大值。然而,本发明没有这样的限制,可以使用其他参数或类似物。无论如何,一旦确定了进程的子集,处理过程转至方框604。
在方框604,对进程的子集执行增量事件分析。简单地说,增量事件分析可以包括减去进程子集中的两个数据集以获得进程的一个增量数据集。如前所述,每个数据集可以用参数矩阵或类似物表示一个进程,参数变化可以进一步表示该进程的行为模式。
随即,处理过程继续至方框606,其中,通过使用在下文更详细描述的二元分类(binary classification),将增量事件数据集转换成关于进程的指纹。简单地说,这样的二元分类可以看成是将数字判定转换成非数字的逻辑判定。随后,进程600回到调用进程。
图7说明了一个逻辑流程图,其显示了进程的一个实施方式,此进程用于利用熵分析来执行已确定指纹的模式分类。例如,图7的进程700可以表示上述图4的方框406的一个实施方式。
在起始方框之后,进程700开始于方框702,其中,确定与理想正确类别不匹配最大的进程。这将在下文详细描述。然而,简单地说,例如,认为理想的正确类别是一个全1的集合([1,1...1])。那么,将在理想的正确类别集合中的每个元素和从图6的进程600中得到的每个进程集合中的每个元素或类似物之间做比较。实行逐元素计数,其比较的结果的和可以显示哪些进程使失配最大化(例如,离理想的正确类别最远)。在一个实施方式中,更不正确的进程(即,在导致与理想的正确类别失配最大的进程子集中识别另一个进程子集)。
随后,处理过程继续至方框704,其中,对在方框702处确定的进程的子集使用平衡方案。按照下面的平衡规则,平衡方案导致将行为(进程)的每个模式分类为正确类别和不正确类别,并确定在这两类别的每一个类别内的这样模式的计数。
随后,处理过程移至确定方框706,其中,判定不正确类别中记录的模式的数目是否超过正确类别中记录的模式的数目。如果是,处理过程移至方框708;否则,处理过程返回调用进程。
在方框708,如下文详细描述的,确定熵的最终计数。随后,处理过程返回调用进程。在一个实施方式中,调用进程可以将统计测试应用于熵的最终计数以判定在预先确定的置信度内是否检测到未授权行为。
可以理解,流程图说明的每个方框和流程图说明内的方框组合可以通过计算机程序指令来实施。将这些程序指令提供给处理器以生成系统,这样,在处理器上执行的那些指令产生用于实施动作的方法,这些动作已由流程图一个或多个方框所规定。计算机程序指令可以由处理器来执行以引起一系列的操作步骤,这些步骤由处理器完成以产生由计算机执行的进程,这样,在处理器上执行的这些指令提供用于完成在一个或多个流程图方框中所规定动作的步骤。
因此,流程图说明方框支持将用于完成所规定动作的方法相结合、将用于完成所规定动作的步骤相结合和将用于完成所规定动作的程序指令方法。同时可以理解,通过可完成所规定动作或步骤的专用硬件式系统,可以实施流程图说明的每个方框和流程图说明的方框组合,或者可使用专用硬件和计算机指令的组合来完成所规定动作。
模式分类
下文提供了本发明的进一步细节,并且结合图4-7使用其来进一步描述上文已描述过的进程。
例如,下文描述了上述图5的模式分类和数据收集动作。
把许多事件看作是单个模式的集合,其特征为有关计算系统上的每一个现有进程。如上所述,在监控该计算系统时间间隔T1后,可以得到这一集合。
通过使用N维欧几里得测量空间RN内的向量Xi,可将事件的数目描述成许多模式中的一个模式,其中,参数i=1,N把许多单个模式描述成向量Xi的组成元素:
Xi=(Xi,1,Xi,2,.......Xi,N-1,Xi,N)
如果有M个进程同时运行(即,M个向量Xi,j,i=1,N且J=1,M),它们可由矩阵A来表示:
A = | X 1,1 X 1,2 . . . . . . X 1 , N - 1 X 1 , N X 2,1 X 2,2 . . . . . . X 2 , N - 1 X 2 , N X 3,1 X 3,2 . . . . . . X 3 , N - 1 X 3 , N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X M - 1,1 X M - 1,2 . . . . . . X M - 1 , N - 1 X M - 1 , N X M , 1 X M , 2 . . . . . . X M , N - 1 X M , N |
如上所述,在监控计算系统时间间隔T2之后,能够得到另一个集合。通过N维欧几里得测量空间RN内的向量Yi,可以引入事件的新数目作为许多模式中的一个模式,其中,参数i=1,N把许多单个模式描述成向量Yi的组成元素:
Yi=(Yi,1,Yi,2,.......Yi,N-1,Yi,N)
如果在计算系统内有K个进程同时运行(有K个向量Yi,j,i=1,N且J=1,M),它们能够由矩阵B来表示:
B = | Y 1,1 Y 1,2 . . . . . . Y 1 , N - 1 Y 1 , N Y 2,1 Y 2,2 . . . . . . Y 2 , N - 1 Y 2 , N Y 3,1 Y 3,2 . . . . . . Y 3 , N - 1 Y 3 , N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y K - 1,1 Y K - 1,2 . . . . . . Y K - 1 , N - 1 Y K - 1 , N Y K , 1 Y K , 2 . . . . . . Y K , N - 1 Y K , N |
关于参数K,考虑三种可能的情况:第一种K=M;第二种K>M;和第三种K<M。这些情况的监控能使本发明使用矩阵A和B来正确地完成计算。在一个实施方式中,通过比较矩阵A和矩阵B,对实际上所有在时间间隔T1和时间间隔T2内都运行的进程进行比较。使用先前所确定的且唯一地识别每个进程(ID)的进程参数来定制这些矩阵。
如果确定它们是相同的并没有其它项出现,那么就表示M=K并且可以完成使用矩阵A和B的计算。在M>K的情况下(如较早执行的进程已中止),或者在M<K的情况(如未执行的进程已经开始执行),矩阵A和B共有的ID的子集被确定并在随后的计算中使用。
用增量事件分析确定指纹
下文进一步详细描述图6的进程600。如上文所提到的,有可能降低每个向量的维数,所述向量表示从规模为N到规模为L的某个进程,其中N>L。例如,通过L维欧几里得测量空间RL内的向量Xi或Yi,可以将事件的数目描述为许多模式中的一个模式,其中,参数i=1,L是单个模式的数目,其为向量Xi或Yi的组成元素。
通过选择一些参数有可能降低所考虑的向量的数目,所述参数使用大于一些所选值P%的时间的CPU%,其中可根据多种条件来选择P%。例如,在一个实施方式中,可以根据播放器所使用的CPU来选择P%。
用户时间Ut可以定义为表示由O/S报告的时间总额的两个值之间的差值,其为在不同的T2和T1时间间隔内,在用户模式中进程执行所花费的时间。核心时间Kt也可以定义为表示由O/S报告的时间总额的两个值之间的差值,其为在同样的T2和T1时间间隔内,在内核中进程执行所花费的时间。然后CPU%的计算可以由向量Vuk来确定:
Vuk=(Kt1,i-1+Ut1,i;Kt2,i-1+Utj,i-1;.....;
Ktj,i-1+Utj,i;......;KtM,i-1+UtM,i)T
其中,索引M表示执行进程的总数;j是当前进程;索引i表示进程j的进程事件i-1和i。使用事件i-1和i来保持分别与内核和用户时间相关的值。不同索引的选择可以与特定的计算机操作系统或类似物相关。
随后,每个j运行进程的CPU%时间百分数能够被确定为总和(Ktj,i-1+Utj,i)的一部分,其中j=1,M:
CPU % j = ( ( Kt j , i - 1 + Ut j , i ) / Σ j = 1 M ( Kt j , i - 1 + Ut j , i ) ) * 100 %
在确定所有的CPU%之后,可以确定进程NP的数目,其使用CPU%时间大于所选择的值P%,其中NP<<M。
在实际系统中,虽然并未对此有要求,但值NP的变化通常在2和4之间。
基于以上讨论和新的最大矩阵规模,本发明可以将计算减少至一个4×37的问题。
随后,假定两个等秩的新矩阵A1和B1,其中A1从时间间隔T1获得而B1从时间间隔T2获得:
A 1 = | X 1,1 X 1,2 . . . . . . X 1 , N 1 - 1 X 1 , N 1 X 2,1 X 2,2 . . . . . . X 2 , N 1 - 1 X 2 , N 1 X 3,1 X 3,2 . . . . . . X 3 , N 1 - 1 X 3 , N 1 X 4,1 X 4,2 . . . . . . X 4 , N 1 - 1 X 4 , N 1 |
B 1 = | Y 1,1 Y 1,2 . . . . . . Y 1 , N 1 - 1 Y 1 , N 1 Y 2,1 Y 2,2 . . . . . . Y 2 , N 1 - 1 Y 2 , N 1 Y 3,1 Y 3,2 . . . . . . Y 3 , N 1 - 1 Y 3 , N 1 Y 4,1 Y 4,2 . . . . . . Y 4 , N 1 - 1 Y 4 , N 1 |
一个新矩阵C1,其可以确定为:
C1=B1-A1
C 1 = | Z 1,1 Z 1,2 . . . . . . Z 1 , N 1 - 1 Z 1 , N 1 Z 2,1 Z 2,2 . . . . . . Z 2 , N 1 - 1 Z 2 , N 1 Z 3,1 Z 3,2 . . . . . . Z 3 , N 1 - 1 Z 3 , N 1 Z 4,1 Z 4,2 . . . . . . Z 4 , N 1 - 1 Z 4 , N 1 |
其中,Zj,i=Yj,i-Xj,i;i=1,N1;j=1,4
然而,本发明不限于从i到N1这样的值。例如,在一个实施方式中,如果没有相关信息的明显缺失,可以将向量规模进一步降低至15(N1=15)。
可以确定矩阵C1到二元分类形式的转换,其中每个矩阵元素确定为二元值(binary value)。在一个实施方式中,这可以通过用W替换矩阵C1的每个元素Zj,i得到,其中W是任意的逻辑加权系数:
Figure A20058002116700273
结果是矩阵C1包括如1,-1这样的元素。而且,所得的矩阵C1表示关于进程的指纹。然而,本发明不限于这些数值,并且如果不偏离本发明的范围或主旨,实际上可以使用其它任何数值、数值的集合和类似物。
使用熵分析对指纹分类
下文进一步描述了图7的进程700。为确定将向决策引擎提供的计数,例如,使用:
C1*PVT=D
来确定N1维空间中的4个向量的延伸形式的表示式。其中,PVT是具有分量PV1,PV2,...,PVN1的模式向量,而D是具有分量D1,D2,D3和D4的输出向量,使得
| Z 1,1 Z 1,2 . . . . . . Z 1 , N 1 - 1 Z 1 , N 1 Z 2,1 Z 2,2 . . . . . . Z 2 , N 1 - 1 Z 2 , N 1 Z 3,1 Z 3,2 . . . . . . Z 3 , N 1 - 1 Z 3 , N 1 Z 4,1 Z 4,2 . . . . . . Z 4 , N 1 - 1 Z 4 , N 1 | * | PV 1 . . . . . . . . . . . . PV N 1 | = | D 1 D 2 D 3 D 4 |
为了保持二元格式(binary format)的计数值,可以使用如下规则:
min ( D ) = min ( D 1 , D 2 , D 3 , D 4 ) = { 1 , if min ( D ) < 0 - 1 , if min ( D ) > 0
下面,通过识别在原始信息中的相关特征、取出这样的特征并测量它们,可以对模式进行分类。随后,可以将这些测量值传送至可对模式进行分类的分类器。
图8说明了一个图示800,其通常显示将两个向量Xi和Yi转换成一个计数输出(ZiT∪W)*PV=Di的进程的一个实施方式。如图所示,向量Xi和Yi表示输入数据。类似地,向量Zi=(Zi1,Zi2,......ZiN)表示增量事件。而且,系数W表示任意的加权(如前所示),而向量PV=(PV1,PV2,.....,PVN)表示理想模式向量。例如,假定1是理想值,那么PV可以是(1,1,......1)。然而,本发明没有这样的限制,而PV也可以用其它值来表示。单个值Di表示两个向量Xi和Yi的转换的总的输出结果。
图9说明了一个图示,按照本发明,其通常显示了变换矩阵以确定一些计数输出的进程的一个实施方式。特别是,如图所示,示意图900说明了从矩阵A和B到一些不同计数输出D的变换,其基于变换(Z∪W)*PVT=D。如图所示,将矩阵A和B输入至这个变换。矩阵Z表示增量事件的矩阵,而W是任意加权系数的矩阵。此外,向量PV=(PV1,PV2,.....,PVK)表示理想模式向量。变换的总的输出结果由向量D=(D1,D2,.....,DK)来表示。
此外,K个N维向量Xi、Yi和Zi,其中i=1,k,分别表示矩阵A、B和Z。
当已知类别的数目并且如此的训练模式使类别之间存在几何分隔,那么可以使用判别函数(DF)对未知模式进行分类。
例如,考虑这样一种情况,其中两个类别C1和C2存在于Rn尺寸空间,且可见超线D(X)=0,其分隔相关模式。然后可以使用DF D(X)作为分类器来区分每个新模式。此应用是基于:
D(X)>0→∈C1
D(X)<0→∈C2
超线D(X)=0有时被认为是判别边界。也存在线性的或非线性的分类器,其分别与线性或非线性DF相关。任务是识别使用哪一种DF可获得非常可靠的结果。
可以使用多种机制来实现决策引擎。在一个实施方式中,决策引擎使用具有非线性分类器的判别函数,该非线性分类器是基于确定类别C1和C2组合的反向熵RE。即:
RE=1-NE
其中,NE是标准熵。本方法使用了模糊和神经学机制。然而,本发明不限于这种方法,如果不偏离本发明的范围和主旨,可使用其它的方法。
对分类器可以使用平衡原则,而对熵确定使用自然对数函数log2。如果正确的和不正确的值大约相等平衡,那么这种情况的熵大约等于0并可以使用超点D(X)=0作为分隔两个类别C1和C2的判别边界。
在一个实施方式中,最初在类别C1中收集的正确数据值的数目与在类别C2中收集的不正确数据值的数目大致相等。此外,正确数据值和不正确数据值的数目的总和可以保持常数并等于值VS。
当接收到来自方框704的数据计数时,根据其是正确数据还是不正确数据,将其与合适的类别C1或C2相关。在第一种情况中,数据接收导致了那一类中的数据总量加1。为了将总额VS基本上保持在一个常量,将缩减其它类别的数据量。然后,进行关于类别C1和C2的数目之间的比较。当判定类别C2中不正确数据的数目BN充分大于类别C1中正确数据的数目GN(即D(X)>0),根据:
FS=1+(BN/VS)*log2(BN/VS)+(GN/VS)*log2(GN/VS)
确定来自决策引擎的最终计数FS。
而且,最终计数FS表示正在被估值的进程模式的熵。
可以用范围从0到1(包含0和1)的数值CL来对置信度赋值。当
FS≥CL
可对被检测的模式做最终判定。类似地,最终判定可以基于百分数测量:
FS%=FS*100%
因此,如果判定所计算出的最大错误在指定的错误范围内(置信度),那么判定该结果能充分可靠地判断未授权行为是否被检测到。基于检测,可以采取多种动作中的任一种动作来最小化访问内容,其包括但不局限于删除内容、锁定计算机、禁止可疑程序的执行、发送错误消息及其它。
上面的说明书、例子和数据提供了本发明的组成的制造及使用的详细描述。由于不偏离本发明的主旨和范围而能够完成本发明的许多实施方式,因而本发明驻留于下文所附的权利要求中。

Claims (24)

1.一种用于检测计算设备上未授权行为的方法,其包括:
选择在所述计算设备上与多个进程中的每个进程相关的多个参数;
为与所述多个进程中的每个进程相关的所述多个参数收集数据;
使用增量事件来确定所述多个进程的至少一个子集的指纹;
动态地确定所述多个进程的所述子集的熵;并且
如果所述确定的熵提示在所述计算设备上有未授权行为,那么就执行预先确定的动作。
2.如权利要求1所述的方法,其中,选择所述多个参数进一步包括基于计算设备特征来选择所述多个参数,其包括操作系统特征、存储器特征或输入/输出(I/O)设备特征的至少一个特征。
3.如权利要求1所述的方法,其中,所述多个参数包括存储器度量、内核度量、资源使用度量、时间度量、输入/输出度量和规模度量中的至少一个,它们与配置在所述计算设备上执行的至少一个进程相关。
4.如权利要求1所述的方法,进一步包括:
通过在所述消耗所述计算设备的中央处理器(CPU)资源的所述多个进程内选择进程来确定所述多个进程的所述子集。
5.如权利要求4所述的方法,其中,所述CPU资源进一步包括CPU时间百分数。
6.如权利要求1所述的方法,其中,为所述多个参数收集数据进一步包括:
通过为第一个时间间隔记录所述多个参数来生成第一个数据集合;
通过为第二个时间间隔记录所述多个参数来生成第二个数据集合。
7.如权利要求6所述的方法,使用增量事件来确定指纹进一步包括:
从所述第二个数据集合中减去所述第一个数据集合以生成差值的数据集合,其中,所述减法是基于同一个进程和所述第一个与第二个数据集合中的同一个参数;和
使用逻辑加权系数,将所述差值的数据集合转换成二元数据集合,所述二元数据集合代表所述多个进程的所述子集中每一个所述进程的指纹。
8.如权利要求7所述的方法,其中,减去进一步包括:
如果所述第一个数据集合和所述第二个数据集合在多个进程中存在不同,那么在实施所述减法之前,在所述第一个数据集合和所述第二个数据集合之间选择一个公共的进程集合。
9.如权利要求1所述的方法,其中,动态地确定熵进一步包括基于分析的、模糊的或神经学机制中的至少一个机制来确定所述熵。
10.如权利要求10所述的方法,其中,动态地确定熵进一步包括:
确定在所述进程子集中的另一个进程子集,其与预先确定的一类正确的理想参数失配最大;
确定在第一类进程中的多个正确参数,其中,所述第一类进程包括在所述另一个进程子集中经确定在超线上方的进程;
确定在第二类进程中的多个不正确参数,其中,所述第二类进程包括在所述另一个进程子集中经确定在超线下方的进程;和
如果所述不正确参数的数目充分大于所述正确参数的数目,那么基于所述不正确参数数目、正确参数数目以及正确与不正确参数的总数目的对数函数来确定所述熵。
11.一种用于检测在计算设备上未授权行为的方法,包括:
选择与在所述计算设备上的多个进程中的每个进程相关的多个参数;
为与所述多个进程中的每个进程相关的所述多个参数收集数据;
确定关于所述多个进程的至少一个子集的指纹;
动态地确定关于所述多个进程的所述子集的熵;和
如果所述确定的熵提示在所述计算设备上有未授权行为,那么执行预先确定的动作。
12.如权利要求11所述的方法,其中,确定指纹进一步包括:
针对与在所述多个进程的所述子集内的每个进程相关的所述多个参数的所述已收集数据使用增量事件分析,其中,所述增量事件分析进一步包括确定在关于多个所述数据收集时间间隔之间所共有的每个进程的所述多个参数中的每个参数之间差值的增量。
13.如权利要求11所述的方法,其中,动态地确定熵进一步包括:
基于在所述多个进程的所述子集中的每个进程所使用的CPU时间百分数,从所述进程的子集中选择进程的另一个子集;
确定在另一个进程子集中的进程,其与预先确定的一类正确的理想参数失配最大;
确定在第一类进程内的多个正确参数,其中,所述第一类进程包括在所述另一个进程子集中经确定在超线上方的进程;
确定在第二类进程内的多个不正确参数,其中,所述第二类进程包括在所述另一个进程子集中经确定在所述超线下方的进程;以及
如果所述不正确参数的数目充分大于所述正确参数的数目,那么基于所述不正确参数数目、正确参数数目以及正确和不正确参数总数的对数函数,来确定所述熵。
14.一种计算机可读媒介,其具有计算机可执行部件以用于检测在计算设备上的未授权行为,所述部件包括:
一个收发器,其用于接收和发送信息;
一个处理器,其与所述收发器通信;和
一个存储器,其与所述处理器通信并用于存储数据和机器指令,其使得所述处理器执行操作,包括:
选择与所述计算设备上的至少一个进程相关的至少一个参数;
为所述至少一个进程的所述至少一个参数收集数据;
部分基于所述数据收集中的增量事件确定至少一个进程的指纹;
动态确定所述至少一个进程的熵;和
如果所述确定的熵提示在所述计算设备上有未授权行为,执行预先确定的动作。
15.如权利要求14所述的计算机可读媒介,其中,选择所述至少一个参数进一步包括基于所述计算设备的特征来选择所述至少一个参数。
16.如权利要求14所述的计算机可读媒介,进一步包括:
通过选择消耗所述计算设备的预先确定资源的进程来确定所述至少一个进程。
17.如权利要求14所述的计算机可读媒介,其中,为所述至少一个进程的至少一个参数收集数据进一步包括:
通过为第一个时间间隔记录所述至少一个参数来生成第一个数据集合;和
通过为第二个时间间隔记录所述至少一个参数来生成第二个数据集合。
18.如权利要求17所述的计算机可读媒介,至少部分基于增量事件来确定指纹进一步包括:
确定所述第一个数据集合和所述第二个数据集合之间差值的数据集合,其中,所述确定是基于在所述第一个和第二个数据集合中同一个进程和同一个参数;和
通过使用逻辑加权系数将所述差值的数据集合转换成二元数据集合,所述二元数据集合表示所述至少一个进程的指纹。
19.如权利要求14所述的计算机可读媒介,其中,动态地确定熵进一步包括:
确定在所述至少一个进程中的进程,其与预先确定的一类理想正确参数失配最大;
确定在第一类进程中的多个正确参数,其中,所述第一类进程包括至少部分基于所述数据收集被确定在超线上方的进程;
确定在第二类进程中的个多不正确参数,其中,所述第二类进程包括至少部分基于所述数据收集被确定在所述超线下方的进程;和
如果所述不正确参数的数目大于所述正确参数的数目,那么基于所述不正确参数数目、正确参数数目以及正确和不正确参数的总数的对数函数,来确定所述熵。
20.一种调制数据信号,其用于检测在计算设备中的未授权行为,所述调制数据信号包括指令,其使所述计算设备能够执行的动作为:
为多个进程中的每个进程的至少一个参数,在第一个周期收集第一个数据集合,其中,在所述第一个数据集合的所述收集过程中,所述多个进程中的至少一个进程在所述计算设备上执行;
为另外多个进程中的每个进程的至少一个参数,在第二个周期收集第二个数据集合,其中,在第二个数据集合的所述收集过程中,所述另外多个进程中的至少一个进程在所述计算设备上执行;
从所述多个进程和另外多个进程中选择一个进程集合;
至少部分地对所选进程集合使用增量事件分析,来确定所选进程集合的指纹;
动态地确定关于所选进程集合的熵;和
如果所述确定的熵提示在所述计算设备上有未授权行为,那么执行预先确定的动作。
21.如权利要求20所述的调制数据信号,其中,如果所述确定的熵提示有未授权行为,进一步包括将所述确定的熵与置信度比较。
22.如权利要求20所述的调制数据信号,其中动态地确定熵进一步包括:
确定在第一类进程中的多个正确参数,其中,所述第一类进程包括在所述所选进程集合内经确定在超线上方的进程;
确定在第二类进程中的多个不正确参数,其中,所述第二类进程包括在所述所选进程集合内经确定在所述超线下方的进程;和
如果不正确参数的所述数目充分大于正确参数的所述数目,那么基于所述不正确参数数目、正确参数数目以及正确和不正确参数的总数的对数函数,来确定所述熵。
23.如权利要求20所述的调制数据信号,其使用增量事件来确定指纹进一步包括:
关于所述至少一个参数确定所述第一个数据集合和所述第二个数据集合之间增量差值的集合;
使用逻辑加权系数,将所述增量差值的集合转换成二元数据集合,所述二元数据集合表示所选进程集合的指纹。
24.一种用于检测在计算设备中未授权行为的装置,包括:
用于为与在所述计算设备上执行的进程集合相关的参数收集数据的装置;
用于根据所述收集的数据并使用增量事件方法来确定指纹的装置;
用于动态地确定所述进程的至少一个子集的熵的装置;和
如果所述确定的熵提示在所述计算设备上有未授权行为,用于执行动作的装置。
CNA2005800211675A 2004-06-24 2005-06-17 利用指纹识别和实时证据收集以保护内容的装置、系统和方法 Pending CN1973268A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58273504P 2004-06-24 2004-06-24
US60/582,735 2004-06-24

Publications (1)

Publication Number Publication Date
CN1973268A true CN1973268A (zh) 2007-05-30

Family

ID=35782162

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800211675A Pending CN1973268A (zh) 2004-06-24 2005-06-17 利用指纹识别和实时证据收集以保护内容的装置、系统和方法

Country Status (8)

Country Link
US (1) US20060021037A1 (zh)
EP (1) EP1782199A2 (zh)
JP (1) JP2008503820A (zh)
KR (1) KR100859215B1 (zh)
CN (1) CN1973268A (zh)
CA (1) CA2566281A1 (zh)
TW (1) TWI295536B (zh)
WO (1) WO2006000870A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609664A (zh) * 2012-01-19 2012-07-25 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792978B2 (en) * 2001-12-28 2010-09-07 At&T Intellectual Property I, L.P. System and method to remotely manage and audit set top box resources
DE102006011294A1 (de) * 2006-03-10 2007-09-13 Siemens Ag Verfahren und Kommunikationssystem zum rechnergestützten Auffinden und Identifizieren von urheberrechtlich geschützten Inhalten
JP2009535728A (ja) * 2006-05-04 2009-10-01 ユイル・バンキング・セキュリティー プリント型紙幣結束機、その結束機を含む作業者認証プリント型紙幣結束システム及びそのシステムの動作方法
US20090080654A1 (en) * 2007-09-26 2009-03-26 Pri-Or Ester Method to track the downloading and playing of audible presentations
US9843596B1 (en) * 2007-11-02 2017-12-12 ThetaRay Ltd. Anomaly detection in dynamically evolving data and systems
US8868464B2 (en) 2008-02-07 2014-10-21 Google Inc. Preventing unauthorized modification or skipping of viewing of advertisements within content
US8326987B2 (en) * 2008-11-12 2012-12-04 Lin Yeejang James Method for adaptively building a baseline behavior model
US9680916B2 (en) * 2013-08-01 2017-06-13 Flowtraq, Inc. Methods and systems for distribution and retrieval of network traffic records
US11063936B2 (en) 2018-08-07 2021-07-13 Microsoft Technology Licensing, Llc Encryption parameter selection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870474A (en) * 1995-12-04 1999-02-09 Scientific-Atlanta, Inc. Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
CA1186028A (en) * 1982-06-23 1985-04-23 Microdesign Limited Method and apparatus for scrambling and unscrambling data streams using encryption and decryption
US5613002A (en) * 1994-11-21 1997-03-18 International Business Machines Corporation Generic disinfection of programs infected with a computer virus
US5991399A (en) * 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6415031B1 (en) * 1999-03-12 2002-07-02 Diva Systems Corporation Selective and renewable encryption for secure distribution of video on-demand
JP2002024168A (ja) * 2000-07-12 2002-01-25 Matsushita Electric Ind Co Ltd シリアルデータ転送装置
EP1225513A1 (en) * 2001-01-19 2002-07-24 Eyal Dotan Method for protecting computer programs and data from hostile code
US7549164B2 (en) * 2003-06-11 2009-06-16 Symantec Corporation Intrustion protection system utilizing layers and triggers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609664A (zh) * 2012-01-19 2012-07-25 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法
CN102609664B (zh) * 2012-01-19 2016-05-04 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法

Also Published As

Publication number Publication date
KR20070033433A (ko) 2007-03-26
EP1782199A2 (en) 2007-05-09
TWI295536B (en) 2008-04-01
JP2008503820A (ja) 2008-02-07
KR100859215B1 (ko) 2008-09-18
WO2006000870A3 (en) 2007-01-25
US20060021037A1 (en) 2006-01-26
TW200607295A (en) 2006-02-16
CA2566281A1 (en) 2006-01-05
WO2006000870A2 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
CN1973268A (zh) 利用指纹识别和实时证据收集以保护内容的装置、系统和方法
Tax et al. Discovering more precise process models from event logs by filtering out chaotic activities
US7185367B2 (en) Method and system for establishing normal software system behavior and departures from normal behavior
TW201923685A (zh) 風險識別模型構建和風險識別方法、裝置及設備
US10592516B2 (en) Anomaly detection by multi-level tolerance relations
US20160012235A1 (en) Analysis and display of cybersecurity risks for enterprise data
US20020138753A1 (en) Method and system for simplifying the structure of dynamic execution profiles
US20180114016A1 (en) Method and apparatus for detecting anomaly based on behavior-analysis
US20080195404A1 (en) Compliant-based service level objectives
US8161329B2 (en) Generating random sequences based on stochastic generative model having multiple random variates
KR102359090B1 (ko) 실시간 기업정보시스템 이상행위 탐지 서비스를 제공하는 방법과 시스템
CN102109994A (zh) 信息处理设备、信息处理方法以及程序
Bordt et al. From shapley values to generalized additive models and back
Wirawan et al. Incorporating transaction lifecycle information in blockchain process discovery
US20150100525A1 (en) Method and system for the detection of anomalous sequences in a digital signal
CN112437051B (zh) 网络风险检测模型负反馈训练方法、装置及计算机设备
JP2008129796A (ja) 電話番号に基づいて電話契約者の信用度を推定するコンピュータシステム
Kothari et al. Prediction without Preclusion: Recourse Verification with Reachable Sets
KR100961992B1 (ko) 마르코프 체인을 이용한 사이버 범죄 행위 분석 방법, 그장치 및 이를 기록한 기록매체
EP3949314A1 (en) Feature detection with neural network classification of images representations of temporal graphs
CN113240424A (zh) 支付业务的身份认证方法及装置、处理器和存储介质
Babu et al. Network intrusion detection using machine learning algorithms
Portillo-Dominguez et al. Towards an efficient log data protection in software systems through data minimization and anonymization
CN111177737A (zh) 一种基于数据内容的数据加密方法以及相关装置
CN108418827A (zh) 网络行为分析方法以及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication