CN107924358A - 概率性处理器监视 - Google Patents

概率性处理器监视 Download PDF

Info

Publication number
CN107924358A
CN107924358A CN201680044911.1A CN201680044911A CN107924358A CN 107924358 A CN107924358 A CN 107924358A CN 201680044911 A CN201680044911 A CN 201680044911A CN 107924358 A CN107924358 A CN 107924358A
Authority
CN
China
Prior art keywords
mapping
processing component
realized
machine
data
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.)
Granted
Application number
CN201680044911.1A
Other languages
English (en)
Other versions
CN107924358B (zh
Inventor
M·梅利亚克
T·格鲁卡特
J·奥斯丁
G·勒夫
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.)
Arm IP Ltd
Original Assignee
Arm IP Ltd
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 Arm IP Ltd filed Critical Arm IP Ltd
Publication of CN107924358A publication Critical patent/CN107924358A/zh
Application granted granted Critical
Publication of CN107924358B publication Critical patent/CN107924358B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3075Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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
    • 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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

第一处理组件通过以下操作来对统计活动数据进行采样和有损累积:通过分割存储器中的存储器窗口并提供分割的存储器窗口的映射,来生成至少一个数据桶;进行采样以在数据桶中检测活动,并用统计活动数据满射地填充所述映射;和响应于触发,把所述映射的总体的至少一部分传递给第二处理组件。第二处理组件接收并存储满射映射的总体的至少一部分;将其与至少一个预先存储的映射总体相比较;和在检测异常模式时,进行“异常检出”动作。

Description

概率性处理器监视
技术领域
本技术涉及用于监视处理器活动的技术,该技术例如在处理器总体(population)的一个或多个处理器中检测恶意软件和不正确代码或数据方面,具有广泛的适用性。
背景技术
自因特网出现以来,存在能够存储和处理数据的设备的相连性的快速增长。现在,随着被称为物联网(IoT)的发展,通常未被配备成存储并处理数据的设备正变得被这样配备。一个例子是具备识别与易腐坏食品相关联的编码数据、把所述数据存储在设备存储装置中、并随后通过到智能电话机的网络向用户警告临近针对该食物的“有效”日期的能力的家用冰箱。
设备的这种经扩展的能力带来优点,但是同时不利的是设备可能易受可能有害的活动的影响,所述活动可包含对系统或者对更宽的网络的威胁,不论所述威胁是由不正确的程序非有意引起的,还是更恶劣地,由可能损害其他非恶意执行代码的效果的恶意代码或错误数据的蓄意插入引起的。现代设备的互连性意味不可靠的代码或数据会变得广泛散布在网络内,以致存在于许多设备中,每个设备可以转而充当继续感染的新源头。
利用常规手段进行的对恶意软件或不正确代码和数据的检测是资源密集的,并且因此,尽管所述检测是重要的活动,但是它有时会被忽视,以有利于把系统资源用于生产性应用目的。在常规系统中,永久性或定期监视处理器节点执行可能是非常耗费资源的,以致被禁止,因为这样的监视可能会消耗用于监视器代码本身以及生成的累积统计数据两者的许多处理器周期和大存储量。
在物联网中,特别地,存在供需要使用低资源占用(low-footprint)非用户服务技术的(有时便携的)设备之用的许多非常紧凑的处理器,所述技术在处理器存储器或相关联的存储装置中只保留很少的代码和数据,使得尽可能多的可用资源可专用于那些对用户有直接有用的服务。
发明内容
在本文公开的技术的第一方面中,提供一种机器实现的方法,所述方法操作第一处理组件,以便对统计活动数据进行采样和有损累积,所述方法包括:通过分割所述处理组件的存储器中的存储器窗口并提供经分割的存储器窗口的至少一个映射,来生成至少一个数据桶;进行采样,以检测所述至少一个数据桶中的活动并用统计活动数据满射地填充所述至少一个映射;和响应于触发,把所述至少一个映射的总体的至少一部分传递给第二处理组件。
在第二方面中,提供一种机器实现的方法,所述方法与第一处理组件协同地操作第二处理组件,以分析有损地累积的统计活动数据,所述方法包括:接收所述第一处理组件的经分割的存储器窗口的至少一个满射映射的总体的至少一部分;存储所述至少一个映射的所述总体的所述至少一部分;比较所述至少一个映射的所述总体与至少一个预先存储的映射总体;和在相对于所述至少一个预先存储的映射检测所述至少一个映射的异常模式时,通过所述第二处理组件来对至少所述第一处理组件进行“异常检出”动作。
在第三和第四方面中,提供一种包括有形地存储在计算机可读介质上的计算机程序代码的计算机程序产品,所述计算机程序代码能够由计算机系统执行以进行按照第一或第二方面所述的方法的各个步骤。
在第五方面中,提供一种用于对统计活动数据进行采样和有损累积,并且适于进行根据第一或第二方面所述的方法的各个步骤的第一处理组件。
在第六方面中,提供一种机器实现的方法,所述方法用于在至少第一处理组件和第二处理组件的处理器总体中检测恶意软件的征兆,所述方法包括以下步骤:在所述第二处理组件处,接收针对在所述第一处理组件处的至少一个存储器窗口的有损累积的统计活动标记的满射填充映射;比较所述满射填充映射与针对所述处理器总体的存储器窗口的有损累积的活动标记的预期映射;参照所述预期映射,在所述满射填充映射中检测异常模式;和针对所述恶意软件进行至少一个保护性动作。
在第七方面中,提供一种机器实现的方法,所述方法用于在至少第一处理组件和第二处理组件的处理器总体中,检测不正确代码运行的征兆,所述方法包括以下步骤:在所述第二处理组件处,接收针对在所述第一处理组件处的至少一个存储器窗口的有损累积的统计活动标记的满射填充映射;比较所述满射填充映射与针对所述处理器总体的存储器窗口的有损累积的活动标记的预期映射;参照所述预期映射,在所述满射填充映射中检测异常模式;和针对所述不正确代码运行进行至少一个保护性动作。
附图说明
下面将参考附图,举例说明本文中公开的技术和设备,附图中:
图1示出控制处理组件以采样和映射处理器活动的方法;
图2示出控制处理组件以分析经映射的数据的方法;和
图3示出通过网络进行通信的第一和第二处理组件。
具体实施方式
现在参见图1,图中示出了机器实现的控制第一处理组件以采样和有损累积用于该处理组件的统计活动数据的方法100,方法100始于开始步骤102。在分割存储器窗口步骤104,处理器存储器的存储器窗口被分割成数据桶(bucket)。在创建桶映射步骤106,提供其中将对数据桶中的活动进行映射的桶映射。例如,所述映射可以是分配的硬件寄存器或者存储器内数据结构。所述存储器内数据结构例如可以是数组或者循环缓冲区。
在样本活动指示步骤108,当处理组件关于处理器活动的指示对数据桶采样时,主处理循环开始。所关心的处理器活动例如可包括下述项中的一个或多个:读取指令、写入指令、执行指令和跳转指令。例如可按随机的时间间隔、按由程序计数器确定的间隔、或者按由编程地选择的指令执行时间所确定的时间间隔,来进行所述采样。
如果在活动检出判定点110未检测到数据桶中的活动,那么处理组件循环返回并继续样本活动指示步骤108的采样动作。如果在活动检出判定点110检测到数据桶中的活动,那么在填充(populate)映射步骤112,满射地填充在创建桶映射步骤106创建的映射。
在一个例证实施例中,所述映射包括程序计数器值上的数据存取地址的二维矩阵。这给出由各种代码段对存储器中的数据的存取模式(pattern)的有损图像。为了改善空间消耗,可从有损累积的数据中排除选定的数据存取地址(比如程序栈地址之类)。当为所述矩阵分配数据存取地址值时,可以掩蔽或者移除所述数据存取地址的所选地址位。有损累积的处理可包括对数据存取地址进行散列化(hash)。
例如,为了确定用于收集的值(如程序计数器指针或栈指针)的目标桶,可以使用较宽范围的散列算法把所述值转换成桶标识符,从而:
Bucket[HASH(ProgramCounter).bits(4)]++;
这计算程序计数器值的散列,取低4位,并把可能的2^4=16个桶之一加1。
为了改善空间消耗,所选的数据存取地址位(诸如程序栈地址的最低有效位之类)可被掩蔽或移除,以便降低作为结果的散列数据地址的密度和空间要求,从而:
Bucket[HASH(ProgramCounter>>12).bits(8)]++;
这把程序计数器截短至2^12=4096字节大小的块。一个块中的各个程序计数器地址导致相同的散列。作为结果的散列被减小到8位——结果形成256个可能的桶。
可以应用各种过滤器来进一步限制映射总体。当填充映射步骤112完成时,执行触发检出测试步骤114,以对触发标准的满足进行测试。例如,触发标准可以是“映射满”指示符、非错误中断、执行模式变化、上下文切换或错误中断。
例如,如果“映射满”状态被设置为触发并且在填充映射步骤112之后检测到该状态,那么触发检出测试步骤114将返回肯定的结果。如果在触发检出测试步骤114触发标准未被满足,那么处理返回样本活动指示步骤108。如果在触发检出测试步骤114触发标准被满足,那么在传递映射总体步骤116,映射总体的至少一部分被传递给至少第二处理组件,并且方法100在终止步骤118完成。如对本领域的普通技术人员来说将清楚的是,在物理分离的机器复合体之间,可以利用例如对等通信协议或者客户端-服务器通信协议来完成所述传递,或者所述传递可包括单个机器复合体内利用虚拟机间通信协议的传递。或者,所述传递可包括在处理设备的子组件之间——例如从芯片上的一个域到另一个域的数据的转移。
在第一节点已经如此填充了桶映射并将其传送给至少第二处理组件的情况下,发起图2的方法。图2示出与第一处理组件协同地操作第二处理组件,以分析有损地累积的统计活动数据的方法200。始于开始步骤202,在从第一节点接收总体的步骤204,第二处理组件接收全部或者部分的映射总体,并且在存储映射总体步骤206,将其存储在第二处理组件存储装置中。使用的存储装置可以是处理器存储器,或者它可以是外部存储装置,诸如常规的文件系统或数据库之类。
随着时间,在第二处理组件的存储装置处将累积一大组映射数据,并且因此使得第二处理组件能够利用已知的统计技术对于处理组件总体进行统计分析,以得出正常和异常处理器行为的通常情况“肖像”。因此,在与存储的映射总体进行比较的步骤208,第二处理组件比较所接收的桶映射总体与所存储的映射数据,从而寻找一致性和差异。如果接收的映射总体与表示正常处理器行为的通常情况“肖像”相符,那么在异常模式测试步骤210,没有检测到异常模式,测试步骤返回否定的结果,并且处理循环返回,准备在与存储的映射进行比较的步骤208处分析进一步的数据。如果在异常模式测试步骤210处发现了异常模式,那么在步骤212,进行“异常检出”动作,并且处理实例在终止步骤214完成。
如果在异常模式测试步骤210处发现了异常模式,那么可以进行各种“异常检出”动作。例如,如果异常模式指示恶意软件的存在,那么可以采取动作,诸如:禁用恶意软件主机;通过网络向第一处理组件或者更广泛地传送报警指示;使恶意软件主机的正在执行的实例停顿(quiesce);隔离恶意软件主机;或者阻止恶意软件主机的新实例开始执行。再例如,如果异常模式指示分布于处理组件总体的某个部分上的公共固件或软件错误,那么进一步的动作可包括向所述总体中的设备的提供者提供统计报告;和从异常模式中所牵涉的各个节点请求进一步的诊断。
上面已经说明了用于操作处理组件的方法100和200,现在图3示出包括在网络上的通信中可操作以实现公开的技术的第一和第二处理组件的系统。图3因此示出包括数据桶生成器302的第一处理器节点300、可操作以把存储器304内的存储器窗口306分割成这里用桶308例示的多个数据桶的数据桶生成器302。数据桶生成器302还可操作以创建映射318。操作中,第一处理器节点300执行这里用程序310表示的各程序,所述程序在执行期间使用存储器304的各部分。采样器316被布置成进行采样活动,以检测在存储器窗口306内的一个或多个桶308中的程序活动。这里示出了桶308中的示例活动314。采样器316可操作以检测活动314,并且在映射318中满射地映射该活动的存在。可使采样器316按照随机性发生器(randomizer)330工作,以随机选择桶308中的一个特定桶来进行采样。在示例性的替代中,可使采样器316按照由程序计数器312,或者由这里示出为指令328的预定义指令的出现激发的预定义触发来操作。指令328例如可以是读取指令、写入指令、执行指令或跳转指令。
采样器316可操作以用活动的指示符填充映射318,并继续操作直到预定的触发320满足了其一个或多个标准为止。例如,触发标准可以是“映射满”指示符、非错误中断、执行模式变化、上下文切换或错误中断。在使触发起作用之前,一个或多个标准可能需要被满足。当触发320满足了其标准时,Comms组件(通信组件)322可操作以通过网络324把映射318的总体传递给第二处理器节点326。被表示成通过网络324的传输的传递仅仅是示例性的,代表了其中第一和第二处理器节点位于物理上分离的机器复合体中的情况。系统也可在实施为单个机器复合体内的虚拟机的处理器节点之间操作。系统也可在具有多个域的单个芯片内操作。因此,在物理分离的机器复合体之间,可以利用例如对等通信协议或者客户端-服务器通信协议来完成由Comms组件322进行的传递,或者由Comms组件322进行的传递可包括单个机器复合体内利用虚拟机间通信协议的传递。从而,可以提供例如芯片上或芯片外手段来检测异常,并适当地处理所述异常以实现对处理组件活动的改进的监视。
此外,图3中还示出了第二处理器节点326,第二处理器节点326具有可操作以通过网络324从第一处理器节点300接收传送映射318的总体的对应Comms组件332。第二处理器节点326包括其中可存储映射318的总体的存储装置334。使用的存储装置可以是处理器存储器,或者它可以是外部存储装置,诸如常规文件系统或数据库之类。第二处理器节点326还包括比较器336,比较器336可操作以比较接收的映射总体与存储装置334中的其他映射数据,从而寻找一致性和差异。如果接收到的映射总体与表示正常处理器行为的通常情况“肖像”相符,那么比较器336未检测到异常模式。然而,如果比较器336发现了异常模式,那么第二处理器节点326进一步可操作以进行“异常检出”操作,诸如利用Comms组件332,向第一处理器节点300传送存在异常的指示。
本领域的普通技术人员将易于注意到,在节点总体中的单个节点中的监视器的活动可能受检测处理器活动中异常行为的要求约束的情况下,可通过利用少量代码来累积处理器活动的稀疏指纹而不是完整踪迹,以限制概率性监视器对处理器的影响的方式操作概率性监视器。这样的指纹可包括数据的有损累积,所述数据的有损累积是利用例如由随机性发生器控制或者由处理器的指令系统中的某些编程地选择的触发活动控制的空间上分散的或者时间上间歇的采样方法来获得的。借助满射映射,还可使节点监视器的输出变得更加节约,从而在源(即,映射的存储器)中的数据点和目标(即,映射)之间,建立多对一关系。通过在处理组件处只保留少量的数据并在某个定期的且可能频繁的触发时进行动作,把累积的数据发送给另外的一个或多个节点进行处理,可以实现资源使用的额外节约。这样的技术可以利用另外的单个分析器节点,或者在替代方案中,可以利用节点的分布式网络,诸如处理网格或者协作云之类来分析数据。此外,由于监视的目的是相对于节点总体中的规范,检测处理组件中的异常活动,因此,使映射按循环缓冲区操作可能就足够了,只有在第二处理器指示已检测到异常时,才“冻结”数据的累积。利用这种技术,系统充当一种飞行记录器,其中只有在发生需要调查的事件的情况下才需要数据,并且因此不需要累积相当大量的历史。
在另一种改进中,可提供记述处理的不同特性的多个映射,使得通过改变一段时间内的数据的收集、累积和过滤,可以创建提供复杂“景观”的映射的“覆盖”,从所述复杂“景观”中可以检测异常。
按照这些方式,可以使保持在原始节点的数据保持很少的存储资源消耗,并且在原始节点的处理元件也被限制为只消耗很少的处理功率。
本领域的技术人员将意识到本发明的各个方面可被实施成系统、方法或计算机程序产品。因而,本发明的各个方面可以采取完全硬件实施例、完全软件实施例,或者组合软件和硬件方面的实施例的形式。
此外,本发明的各个方面可以采取实施在计算机可读介质中的计算机程序产品的形式,所述计算机可读介质具有实施于其上的计算机可读程序代码。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以是例如(但不限于)电子、磁、光、电磁、红外或半导体系统、装置或设备,或者它们的任意适当组合。
可以按包括面向对象的编程语言和常规的过程编程语言的一种或多种编程语言的任意组合,来编写用于执行本发明的各个方面的操作的计算机程序代码。程序代码可完全在用户的计算机上运行、部分在用户的计算机上运行并且部分在远程计算机上运行、或者完全在远程计算机或服务器上运行。在后一情况下,远程计算机可通过任意类型的网络连接到用户的计算机。代码组件可被实施成过程、方法等,并且可包括可采取任意抽象等级(从原生指令集的直接机器指令到高级编译或解释语言结构)的指令或指令序列的形式的子组件。
对本领域的技术人员来说,按照本发明的优选实施例的逻辑方法的全部或者一部分显然也可适当地实施在包括进行所述方法的各个步骤的逻辑元件的逻辑装置中,并且这种逻辑元件可包括例如可编程逻辑阵列或专用集成电路中的诸如逻辑门之类的组件。这样的逻辑布置还可以使用例如虚拟硬件描述符语言在用于暂时地或永久地在这种阵列或电路中建立逻辑结构的使能元件中实施,所述虚拟硬件描述符语言可以使用固定的或可传送的载体介质来存储和传送。
在一个替代中,可以按部署服务的计算机实现的方法的形式来实现本技术的实施例,所述计算机实现的方法包括部署计算机程序代码的步骤,所述计算机程序代码当被部署到计算机基础设施或网络中并在其上执行时能够使得所述计算机系统或网络执行所述方法的全部步骤。
在又一替代中,本技术的优选实施例可以按其上具有功能数据的数据载体的形式实现,所述功能数据包括当被加载到计算机系统或网络中并在其上运行时使得所述计算机系统能够执行所述方法等全部步骤的功能计算机数据结构。本领域的技术人员将清楚,在不背离本发明的范围的情况下,可以对上述的示例性实施例进行诸多改进和修改。

Claims (26)

1.一种机器实现的方法,所述方法操作第一处理组件,以便对统计活动数据进行采样和有损累积,所述方法包括:
通过分割所述处理组件的存储器中的存储器窗口并提供经分割的存储器窗口的至少一个映射,来生成至少一个数据桶;
进行采样,以检测所述至少一个数据桶中的活动,并用统计活动数据满射地填充所述至少一个映射;和
响应于触发,把所述至少一个映射的总体的至少一部分传递给第二处理组件。
2.按照权利要求1所述的机器实现的方法,其中所述传递步骤包括在物理分离的机器复合体之间,利用对等通信协议和客户端-服务器通信协议中的至少一个通信协议来进行传递。
3.按照权利要求1所述的机器实现的方法,其中所述传递步骤包括在单个机器复合体内,利用虚拟机间通信协议来进行传递。
4.按照权利要求1所述的机器实现的方法,其中所述进行采样以检测活动的步骤包括进行采样以检测读取指令、写入指令、执行指令和跳转指令中的至少一个。
5.按照权利要求1所述的机器实现的方法,其中所述提供至少一个映射的步骤包括分配硬件寄存器和分配存储器内数据结构中的至少一项。
6.按照权利要求5所述的机器实现的方法,其中所述分配存储器内数据结构的步骤包括创建数组。
7.按照权利要求5所述的机器实现的方法,其中所述分配存储器内数据结构的步骤包括创建循环缓冲区。
8.按照权利要求1所述的机器实现的方法,其中所述采样步骤包括按随机时间间隔进行采样、按由程序计数器确定的间隔进行采样、和按由编程地选择的指令执行时间确定的间隔进行采样中的至少一项。
9.按照权利要求1所述的机器实现的方法,其中所述响应于触发进行传递的步骤包括响应于以下项中的至少一项:“映射满”指示符、非错误中断、执行模式变化、上下文切换和错误中断。
10.按照权利要求1所述的机器实现的方法,其中所述至少一个映射包括适于图示不同特性的多个映射。
11.按照权利要求1所述的机器实现的方法,其中所述至少一个映射包括程序计数器值上的数据存取地址的二维矩阵。
12.按照权利要求11所述的机器实现的方法,其中当为所述矩阵分配数据存取地址值时,所述数据存取地址的选定地址位被掩蔽或者移除。
13.按照权利要求11或12所述的机器实现的方法,其中所述有损累积包括对所述数据存取地址进行散列化。
14.一种机器实现的方法,所述方法与第一处理组件协同地操作第二处理组件,以分析有损地累积的统计活动数据,所述方法包括:
接收所述第一处理组件的经分割的存储器窗口的至少一个满射映射的总体的至少一部分;
存储所述至少一个映射的所述总体的所述至少一部分;
比较所述至少一个映射的所述总体与至少一个预先存储的映射总体;和
在相对于所述至少一个预先存储的映射检测所述至少一个映射的异常模式时,通过所述第二处理组件来对至少所述第一处理组件进行“异常检出”动作。
15.按照权利要求14所述的机器实现的方法,其中进行“异常检出”动作的步骤包括向所述第一处理组件传送“异常检出”消息。
16.一种包括有形地存储在计算机可读介质上的计算机程序代码的计算机程序产品,所述计算机程序代码能够由计算机系统执行以进行按照权利要求1-13任意之一所述的方法的各个步骤。
17.一种包括有形地存储在计算机可读介质上的计算机程序代码的计算机程序产品,所述计算机程序代码能够由计算机系统执行以进行按照权利要求14或权利要求15所述的方法的各个步骤。
18.一种用于对统计活动数据进行采样和有损累积,并且适于进行按照权利要求1-13任意之一所述的方法的各个步骤的第一处理组件。
19.一种能够与第一处理组件协同地操作以分析有损地累积的统计活动数据,并且适于进行按照权利要求14或权利要求15所述的方法的各个步骤的第二处理组件。
20.一种机器实现的方法,所述方法用于在至少第一处理组件和第二处理组件的处理器总体中检测恶意软件的征兆,所述方法包括以下步骤:
在所述第二处理组件处,接收针对在所述第一处理组件处的至少一个存储器窗口的有损累积的统计活动标记的满射填充映射;
比较所述满射填充映射与针对所述处理器总体的存储器窗口的有损累积的活动标记的预期映射;
参照所述预期映射,在所述满射填充映射中检测异常模式;和
针对所述恶意软件进行至少一个保护性动作。
21.按照权利要求20所述的机器实现的方法,其中所述进行至少一个保护性动作的步骤包括进行以下动作之一:
禁用恶意软件主机;
通过网络传送报警指示;
使恶意软件主机的正在执行的实例停顿;
隔离恶意软件主机;和
阻止恶意软件主机的新实例开始执行。
22.一种机器实现的方法,所述方法用于在至少第一处理组件和第二处理组件的处理器总体中,检测不正确代码运行的征兆,所述方法包括以下步骤:
在所述第二处理组件处,接收针对在所述第一处理组件处的至少一个存储器窗口的有损累积的统计活动标记的满射填充映射;
比较所述满射填充映射与针对所述处理器总体的存储器窗口的有损累积的活动标记的预期映射;
参照所述预期映射,在所述满射填充映射中检测异常模式;和
针对所述不正确代码运行进行至少一个保护性动作。
23.按照权利要求22所述的机器实现的方法,其中所述进行至少一个保护性动作的步骤包括进行以下动作之一:
向所述总体中的设备的提供者提供统计报告;和
从所述异常模式中牵涉的各个节点请求进一步的诊断。
24.一种基本上如同上文参照附图描述的计算机实现的方法。
25.一种基本上如同上文参照附图描述的计算机程序产品。
26.一种基本上如同上文参照附图描述的处理组件。
CN201680044911.1A 2015-07-31 2016-07-29 用于概率性处理器监视的方法和计算机可读介质 Expired - Fee Related CN107924358B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1513525.4A GB2540949B (en) 2015-07-31 2015-07-31 Probabilistic Processor Monitoring
GB1513525.4 2015-07-31
PCT/GB2016/052337 WO2017021706A1 (en) 2015-07-31 2016-07-29 Probabilistic processor monitoring

Publications (2)

Publication Number Publication Date
CN107924358A true CN107924358A (zh) 2018-04-17
CN107924358B CN107924358B (zh) 2022-01-11

Family

ID=54062965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680044911.1A Expired - Fee Related CN107924358B (zh) 2015-07-31 2016-07-29 用于概率性处理器监视的方法和计算机可读介质

Country Status (5)

Country Link
US (1) US10810098B2 (zh)
KR (1) KR20180035835A (zh)
CN (1) CN107924358B (zh)
GB (1) GB2540949B (zh)
WO (1) WO2017021706A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601149B1 (en) * 1999-12-14 2003-07-29 International Business Machines Corporation Memory transaction monitoring system and user interface
US20040093516A1 (en) * 2002-11-12 2004-05-13 Hornbeek Marc William Anthony System for enabling secure remote switching, robotic operation and monitoring of multi-vendor equipment
US20080177756A1 (en) * 2007-01-18 2008-07-24 Nicolai Kosche Method and Apparatus for Synthesizing Hardware Counters from Performance Sampling
CN101625735A (zh) * 2009-08-13 2010-01-13 西安理工大学 基于ls-svm分类和回归学习递归神经网络的fpga实现方法
CN102195992A (zh) * 2010-11-01 2011-09-21 卡巴斯基实验室封闭式股份公司 用于对从网络下载的数据进行反病毒扫描的系统及方法
CN102893289A (zh) * 2010-03-15 2013-01-23 F-赛酷公司 恶意软件保护
US20130117748A1 (en) * 2011-06-20 2013-05-09 International Business Machines Corporation Scalable group synthesis
CN104137094A (zh) * 2012-02-23 2014-11-05 微软公司 用于计算设备的内容预先取回

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3561576B2 (ja) * 1995-09-07 2004-09-02 パイオニア株式会社 多層ディスク再生装置
IL120632A0 (en) * 1997-04-08 1997-08-14 Zuta Marc Multiprocessor system and method
US6742101B2 (en) * 2001-06-29 2004-05-25 Fujitsu Limited Scalable and flexible method for address space decoding in a multiple node computer system
EP1278120A1 (de) * 2001-07-18 2003-01-22 Infineon Technologies AG Controller und Verfahren zum Ansteuern einer zentralen Verarbeitungseinheit für eine Speicheradressierung
US7373663B2 (en) * 2002-05-31 2008-05-13 Alcatel Canada Inc. Secret hashing for TCP SYN/FIN correspondence
US6701412B1 (en) * 2003-01-27 2004-03-02 Sun Microsystems, Inc. Method and apparatus for performing software sampling on a microprocessor cache
US7526617B2 (en) * 2005-12-29 2009-04-28 Sap Ag System and method for memory management using memory windows
US8782433B2 (en) * 2008-09-10 2014-07-15 Inside Secure Data security
US8949987B2 (en) * 2010-01-06 2015-02-03 Alcatel Lucent Computer security process monitor
US8930589B2 (en) 2010-08-26 2015-01-06 International Business Machines Corporation System, method and computer program product for monitoring memory access
US9817742B2 (en) 2013-06-25 2017-11-14 Dell International L.L.C. Detecting hardware and software problems in remote systems
CN107210931B (zh) * 2015-01-02 2020-09-29 希斯泰克公司 控制基础架构
JP6513463B2 (ja) * 2015-04-17 2019-05-15 ルネサスエレクトロニクス株式会社 半導体集積回路
WO2017184157A1 (en) * 2016-04-22 2017-10-26 Hewlett-Packard Development Company, L.P. Determining the health of a storage drive

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601149B1 (en) * 1999-12-14 2003-07-29 International Business Machines Corporation Memory transaction monitoring system and user interface
US20040093516A1 (en) * 2002-11-12 2004-05-13 Hornbeek Marc William Anthony System for enabling secure remote switching, robotic operation and monitoring of multi-vendor equipment
TW200516411A (en) * 2002-11-12 2005-05-16 Edentree Technologies Inc System for enabling secure remote switching, robotic operation and monitoring of multi-vendor equipment
US20080177756A1 (en) * 2007-01-18 2008-07-24 Nicolai Kosche Method and Apparatus for Synthesizing Hardware Counters from Performance Sampling
CN101625735A (zh) * 2009-08-13 2010-01-13 西安理工大学 基于ls-svm分类和回归学习递归神经网络的fpga实现方法
CN102893289A (zh) * 2010-03-15 2013-01-23 F-赛酷公司 恶意软件保护
CN102195992A (zh) * 2010-11-01 2011-09-21 卡巴斯基实验室封闭式股份公司 用于对从网络下载的数据进行反病毒扫描的系统及方法
CN102195992B (zh) * 2010-11-01 2014-08-06 卡巴斯基实验室封闭式股份公司 用于对从网络下载的数据进行反病毒扫描的系统及方法
US20130117748A1 (en) * 2011-06-20 2013-05-09 International Business Machines Corporation Scalable group synthesis
CN104137094A (zh) * 2012-02-23 2014-11-05 微软公司 用于计算设备的内容预先取回

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘厚贵: "《一种支持海量数据备份的可扩展分布式重复数据删除系统》", 《计算机研究与发展》 *

Also Published As

Publication number Publication date
GB2540949B (en) 2019-01-30
KR20180035835A (ko) 2018-04-06
GB2540949A (en) 2017-02-08
US20180225188A1 (en) 2018-08-09
US10810098B2 (en) 2020-10-20
WO2017021706A1 (en) 2017-02-09
CN107924358B (zh) 2022-01-11
GB201513525D0 (en) 2015-09-16

Similar Documents

Publication Publication Date Title
US9467460B1 (en) Modularized database architecture using vertical partitioning for a state machine
CN110121876A (zh) 用于通过使用行为分析检测恶意设备的系统和方法
CN105512027B (zh) 进程状态监控方法和装置
CN104967630B (zh) 网页访问请求的处理方法及装置
WO2015060832A1 (en) Control flow graph representation and classification
CA3046178C (en) System for preparing network traffic for fast analysis
CN110798426A (zh) 一种洪水类DoS攻击行为的检测方法、系统及相关组件
EP3584990A1 (en) Data processing method, device, and system
CN105407096B (zh) 基于流管理的报文数据检测方法
CN106096391A (zh) 一种进程控制方法及用户终端
CN111464513A (zh) 数据检测方法、装置、服务器及存储介质
Tabrizi et al. A model-based intrusion detection system for smart meters
CN105094278B (zh) 一种信息处理方法及装置
CN107392030A (zh) 一种检测虚拟机启动安全的方法及装置
CN107924358A (zh) 概率性处理器监视
CN107688481B (zh) 一种支持多节点的kvm虚拟机隐藏进程检测系统
CN109740351A (zh) 一种嵌入式固件的漏洞检测方法、装置及设备
CN106254375B (zh) 一种无线热点设备的识别方法及装置
US11188378B2 (en) Management of control parameters in electronic systems
CN106954264B (zh) 一种下行物理共享信道pdsch的资源映射方法及系统
CN111667190B (zh) 一种电力施工接地监控方法、装置及服务器
US20220255953A1 (en) Feature detection with neural network classification of images representations of temporal graphs
CN109388542B (zh) 一种监控方法及装置、计算机可读存储介质
KR101068945B1 (ko) 다중 관측윈도우 상에서의 네트워크 플로우 측정장치 및 그방법
US20230362177A1 (en) System and method for machine learning based malware detection

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220111