CN107430662B - 识别进程的恶意运行 - Google Patents

识别进程的恶意运行 Download PDF

Info

Publication number
CN107430662B
CN107430662B CN201580076733.6A CN201580076733A CN107430662B CN 107430662 B CN107430662 B CN 107430662B CN 201580076733 A CN201580076733 A CN 201580076733A CN 107430662 B CN107430662 B CN 107430662B
Authority
CN
China
Prior art keywords
code
memory
stack frame
processor
privileged
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.)
Active
Application number
CN201580076733.6A
Other languages
English (en)
Other versions
CN107430662A (zh
Inventor
G.W.达尔歇尔
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.)
McAfee LLC
Original Assignee
McAfee LLC
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 McAfee LLC filed Critical McAfee LLC
Publication of CN107430662A publication Critical patent/CN107430662A/zh
Application granted granted Critical
Publication of CN107430662B publication Critical patent/CN107430662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

本文描述的特定实施例提供了一种电子装置,其能够配置成拦截进程;如果该进程涉及特权资源或特权操作,则存储该进程的运行剖析;以及分析每个栈帧中涉及的代码以确定恶意活动。如果进程不涉及特权资源或特权操作,则不分析该进程。

Description

识别进程的恶意运行
相关申请的交叉引用
本申请要求于2014年12月23日提交的题为“IDENTIFICATION OF MALICIOUSEXECUTION OF A PROCESS”的美国非临时专利申请No.14/581528的权益和优先权,其通过引用整体结合在本文中。
技术领域
本公开一般涉及信息安全领域,并且更具体地,涉及识别进程的恶意运行。
背景技术
网络安全领域在当今社会中已变得越来越重要。因特网已实现全世界的不同计算机网络的互连。具体而言,因特网提供用于在经由各种类型的客户端装置连接到不同计算机网络的不同用户之间交换数据的媒介。虽然因特网的使用已变换了商业和个人通信,但它也已被用作恶意操作者获得对计算机和计算机网络的未经授权访问和敏感信息的有意或无意公开的媒介(vehicle)。
感染主计算机的恶意软件(“malware”)可以能执行任何数量的恶意动作,例如从与主计算机关联的商业或个体窃取敏感信息,传播到其它主计算机和/或辅助分布式的拒绝服务攻击、从主计算机发送出垃圾邮件或恶意电子邮件等等。因此,对于保护计算机和计算机网络免于由恶意软件的恶意及无意利用,依然处于显著管理挑战。
附图说明
为提供本公开以及其特征和优点的更完整理解,参考结合附图进行的下面的描述,其中相似参考数字表示相似部分,其中;
图1是根据本公开的实施例的用于识别进程的恶意运行的通信系统的简化框图;
图2是根据实施例的图示可能与通信系统关联的潜在操作的简化流程图;
图3是根据实施例的图示可能与通信系统关联的潜在操作的简化流程图;
图4是根据实施例的图示可能与通信系统关联的潜在操作的简化流程图;
图5是根据实施例的图示以点对点配置布置的示例计算系统的框图;
图6是与本公开的示例ARM生态系统片上系统(SOC)关联的简化框图;以及
图7是根据实施例的图示示例处理器核的框图。
附图的图形不必按比例绘制,因为其尺寸能够大幅变化而不脱离本公开的范围。
具体实施方式
示例实施例
图1是根据本公开的实施例的用于识别进程的恶意运行的通信系统的简化框图。通信系统100能够包含电子装置102、服务器104和云106。电子装置102能够包括处理器110a、运行剖析模块112、存储器114a和安全模块128。存储器114a能够包含栈帧116 (例如,调用栈)、特权资源和操作118、可信的可运行进程的散列120、白名单122、黑名单124、运行剖析130、进程的存储器映像132以及进程的磁盘映像134。栈帧116能够包含帧128a、128b和128c。服务器104能够包含处理器110b、存储器114b和网络安全模块126a。存储器114b能够包含可信的可运行进程的散列120、白名单122、黑名单124和进程的磁盘映像134。云106能够包含处理器110c、存储器114c以及网络安全模块126b。存储器114c能够包含可信的可运行进程的散列120、白名单122、黑名单124和进程的磁盘映像134。电子装置102、服务器104和云106能够使用网络108彼此通信。
在示例实施例中,通信系统100能够配置成包含用来提供识别进程的恶意运行的系统。运行剖析模块112能够配置成针对对敏感和特权资源的访问请求、对执行特权操作的请求而监测系统以及执行识别对进程的恶意运行。监测也能够应用于可能处于被用作恶意软件的网关(例如因特网浏览器)的风险的任何进程或存储器区域。运行剖析模块112能够配置成识别涉及尝试访问敏感和特权资源的拦截的操作或进程以及对执行特权操作的请求中所涉及的代码。运行剖析模块112还能够配置成验证所识别的代码并确保代码被完全审查、未被篡改并且被授权用于操作或进程。在另一示例中,安全模块128能够配置成验证所识别的代码。另外,运行剖析模块112能够检验并确保代码由可信源签名。该进程对于诸如加载外部数据(例如网页)作为正常操作的一部分的Web浏览器的应用特别有用。此外部数据的恶意形式能够使用漏洞(exploit)在托管进程内运行代码,并通过修改系统资源和使用特权操作来中断进程。通信系统100能够配置成验证特权操作以及对特权资源访问中所涉及的所有代码,并确保代码是合法的,从而包含或减小中断和破坏的风险。能够执行代码的验证和识别,而不危害托管进程的正常操作。
图1的元件可以通过采用任何合适的连接(有线或无线)的一个或多个接口相互耦合,其提供用于网络(例如,网络18)通信的可行路径。此外,图1的这些元件中的任何一个或多个可以基于特定的配置需要组合或从架构去除。通信系统100可以包含具有用于在网络中传输和接收分组的的传输控制协议/因特网协议(TCP / IP)通信能力的配置。通信系统100还可以在适当情况下以及基于特定需要结合用户数据报协议/ IP(UDP / IP)或任何其它合适的协议来操作。
为了图示通信系统100的某些示例技术的目的,理解可能正穿过网络环境的通信是重要的。下面基础信息可以被视为基础,根据其可以恰当地解释本公开。
在当前系统中,需要保护特权操作以及敏感和特权的系统资源(例如,特权资源和操作118)免受注入的恶意代码或进程内加载的恶意内容,同时允许进程根据需要正确地运行并访问系统资源以供其正常操作。术语“敏感和特权系统资源”包含受保护的存储器区域(其通常只对于可信的服务和应用可访问)。通常,大多数进程无法写或以其它方式变更存储在敏感和特权系统资源中的数据。
当前的解决方案通常完全限制进程的操作和访问。例如,通常,解决方案包含沙盒化(sandboxing)和列入白名单,其经常区分或集中在在负责拦截的操作的进程内操作的代码上。需要的是沙盒化(包含浏览器和盒化)和列入白名单产品尝试解决的问题空间中的解决方案,但没有通常与这些解决方案遇到的互可操作性问题。
如图1中所概述的,用于识别进程的恶意运行的通信系统能够解决这些问题(以及其它问题)。通信系统100能够配置成基于所涉及的代码选择性地允许或不允许拦截的操作。这允许诸如因特网浏览器的应用正常且以无束缚的方式操作。只有当浏览器发起特权操作或对受限资源的访问,才执行涉及的代码的识别。这避免对于包含操作和沙盒化的列入白名单解决方案通常所固有的问题。允许浏览器中的所有代码和所有加载的内容完全且正常地操作,只要它不发起特权操作或访问请求。大多数合法操作将不涉及特权操作或特权访问请求。因此,大多数合法操作将不受影响。此外,沙盒化解决方案通常难以允许会话之间的数据持久性,因为所有操作被沙盒化。通信系统100允许将数据持久化为正常操作的一部分。如果涉及的所有代码被验证为合法,则能够允许甚至将数据持久化到特权区域。另一个优点是系统能够检测和停止利用主机进程的恶意软件,而不管恶意软件如何在进程中变得存在或者恶意软件使用什么漏洞。不要求复杂的规则和特例来提供保护。检验是基本的,并以统一(与特殊案例对比)方式应用。该系统能够配置成允许由网络安全模块126a和126b对样本(诸如pdf和网页)的离线分析,以及针对恶意软件入侵和中断客户端侧保护。
大多数操作将不涉及特权资源或特权操作。即使未完全审查的加载的内容(例如,来自未知站点的加载在浏览器中的网页)将不会正常且合法地调取特权操作或针对特权资源的操作。因此,监测的进程的几乎所有活动将不会触发通过运行剖析模块112的栈帧116的分析。
当监测的进程确实触发栈帧116的分析(例如,访问敏感和特权资源的请求或执行特权操作的请求),栈帧116的分析能够包含分析栈帧116的每个帧(例如,每个帧128a、128b和128c)中涉及的代码以确定恶意活动。在示例中,栈帧116的每个帧能够在其从栈帧116展开时被检查。在另一个示例中,栈帧116的分析能够通过监测针对指定线程运行的RET指令来执行。使用EXP监测这些指令是可能的,其能够有效地监测特定指令的调取并调取注册的回调(在对监测的线程运行每个指令时)。二进制转换(BT)、CPU扩展或任何其它类似的进程可用于EXP监测。
转到图1的基础设施,示出了根据示例实施例的通信系统100。通常,通信系统100能够在网络的任何类型或拓扑中实现。网络108表示用于接收和传送通过通信系统100传播的信息的分组的互连通信路径的一系列点或节点。网络108提供节点之间的通信接口,并且可以配置为任何局域网(LAN)、虚拟局域网(VLAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、内联网、外联网、虚拟专用网(VPN)以及促进网络环境中的通信的任何其它适当的架构或系统,或其任何合适的组合,包含有线和/或无线通信。
在通信系统100中,能够根据任何合适的通信消息传递协议来发送和接收包含分组、帧、信号、数据等的网络业务。合适的通信消息传递协议能够包含诸如开放系统互连(OSI)模型或其任何导出或变体的多层方案,例如,传输控制协议/因特网协议(TCP / IP)、用户数据报协议/ IP(UDP / IP)。此外,通过蜂窝网络的无线电信号通信也可以在通信系统100中提供。可以提供合适的接口和基础设施以实现与蜂窝网络的通信。
如本文所使用的术语“分组”指能够在分组交换网络上的源节点和目的地节点之间路由的数据单元。分组包含源网络地址和目的地网络地址。这些网络地址能够是TCP /IP消息传递协议中的因特网协议(IP)地址。如本文使用的术语“数据”指任何类型的二进制、数字、语音、视频、文本或脚本数据,或任何类型的源或目标代码,或以可以在电子装置和/或网络中从一个点传递到另一个点的任何适当格式的任何其它合适的信息。另外,消息、请求、响应和查询是网络业务的形式,并且因此可以包括分组、帧、信号、数据等。
在示例实现中,电子装置102、服务器104和云106是网络元件,其意在涵盖网络器具、服务器、路由器、交换机、网关、桥、负载平衡器、处理器、模块或可操作以在网络环境中交换信息的任何其它合适的装置、组件、元件或对象。网络元件可以包含促进其操作的任何合适的硬件、软件、组件、模块或对象,以及用于在网络环境中接收、传送和/或以其它方式传递数据或信息的合适的接口。这可以包含允许有效交换数据或信息的适当算法和通信协议。
关于与通信系统100关联的内部结构,电子装置102、服务器104和云106能够包含用于存储要在本文概述的操作中使用的信息的存储器元件(例如存储器114a-114c)。电子装置102、服务器104和云106可以在适当的情况下以及基于特定需要将信息保存在任何合适的存储器元件(例如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM) 、专用集成电路(ASIC)等)、软件、硬件、固件中,或保存在任何其它合适的组件、装置、元件或对象中。例如,可以将进程的存储器映像132保存在RAM中,而进程的磁盘映像134可以保存在硬盘驱动器上。本文讨论的存储器项的任何应被解释为涵盖在宽泛术语“存储器元件”内。此外,在通信系统100中使用、跟踪、发送或接收的信息能够提供在任何数据库、寄存器、队列、表、高速缓存、控制列表或其它存储结构中,所有这些都能够在任何合适的时间帧被引用。任何此类存储选项也可以包含在如本文所使用的宽泛术语“存储器元件”内。
在某些示例实现中,本文概述的功能可以由编码在一个或多个有形媒体的逻辑(例如,要由处理器或其它类似机器等运行的ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、软件(潜在包含目标代码和源代码))实现,其可以包含非暂时计算机可读媒体。在这些实例中的一些中,存储器元件能够存储用于本文描述的操作的数据。这包含能够存储运行以实施本文所描述的活动的软件、逻辑、代码或处理器指令的存储器元件。
在示例实现中,通信系统100的网络元件(例如电子装置102、服务器104和云106)可以包含软件模块(例如,运行剖析模块112和网络安全模块126a和126b),以实现或促进如本文概述的操作。这些模块可以以任何适当的方式合适地组合,其可以基于特定的配置和/或供应需要。在示例实施例中,此类操作可以由在这些元件外部实现的或者被包含在某一其它网络装置中的硬件来实施以实现意图的功能性。此外,模块能够实现为软件、硬件、固件或其任何合适的组合。这些元件还可以包含能够与其它网络元件协调以便实现如本文所概述的操作的软件(或往复式软件)。
另外,电子装置102、服务器104和云106能够包含能够运行软件或算法以执行如本文所讨论的活动的处理器(例如,处理器110a-110c)。处理器能够运行与数据关联的任何类型的指令以实现本文详述的操作。在一个示例中,处理器能够将元件或物品(例如数据)从一个状态或事物转变到另一个状态或事物。在另一示例中,本文概述的活动可以通过固定逻辑或可编程逻辑(例如,由处理器运行的软件/计算机指令)来实现,并且本文识别的元件能够是包含数字逻辑、软件、代码、电子指令或其任何合适的组合的某一类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM、EEPROM)或ASIC。本文描述的任何潜在的处理元件、模块和机器应被解释为涵盖在宽泛术语“处理器”内。
电子装置102能够是网络元件,并且包含例如桌上型计算机、膝上型计算机、移动装置、个人数字助理、智能电话、平板电脑或其它类似装置。服务器104能够是诸如服务器或虚拟服务器的网络元件,并且能够与希望经由某一网络(例如,网络108)在通信系统100中发起通信的客户端、客户、端点或终端用户关联。术语“服务器”包含用来服务客户端的请求和/或代表通信系统100内的客户端执行某一计算任务的装置。虽然运行剖析模块112在图1中被表示为位于电子装置102中,并且网络安全模块126a和126b分别被表示为位于服务器104和云106中,但是这仅用于说明性目的。运行剖析模块112和网络安全模块126a和126b能够以任何合适的配置组合或分离。此外,网络安全模块126a和126b能够与由电子装置102可访问的另一网络集成或分布在其中。云106配置成向电子装置102提供云服务。云服务通常可以定义为作为服务通过网络(如因特网)递送的计算资源的使用。通常,在云基础设施中提供计算、存储和网络资源,有效地将工作量从本地网络转移到云网络。
转到图2,图2是根据实施例的图示可以与识别进程的恶意运行关联的流程200的可能操作的示例流程图。在实施例中,流程200的一个或多个操作可由运行剖析模块112和网络安全模块126a和126b执行。在202处,拦截要监测的进程。在204处,系统确定进程是否涉及特权资源或操作。如果该进程不涉及特权资源或操作,则允许该进程继续,如在206中。如果该进程确实涉及特权资源或操作,则存储进程的运行剖析,如在208中。例如,运行剖析能够存储在存储器114a中,并且能够包含栈帧116。在210处,在每个调用栈帧展开时检查所述每个调用栈帧。例如,在来自栈帧(例如,栈帧116中的每个帧128a、128b、128c)的每个调用展开时能够检查所述每个调用。在212处,确定每个栈帧中涉及的代码的起源。在214处,系统确定代码是否是可信的。例如,分析能够包含检查所识别的代码以确定它所驻留的存储器是否是可写的。如果其中识别的代码所驻留的存储器是可写的,则代码能够被认为是不可信的。分析还能够包含确定代码是否驻留在作为栈区域的一部分的存储器中。如果其中识别的代码所驻留的存储器是栈区域的一部分,则代码能够被认为是不可信的。如果代码是可信的,则允许进程继续,如在206中。如果代码不可信,则触发安全违规,如在216中。安全违规的触发能够包含当检测到恶意软件时可能采取的任何补救动作。例如,进程可能被阻止,被允许以便被运行以及被跟踪以供分析等。
转到图3,图3是根据实施例的图示可以与识别进程的恶意运行关联的流程300的可能操作的示例流程图。在实施例中,流程300的一个或多个操作可由运行剖析模块112以及网络安全模块126a和126b执行。在302处,呈现代码地址以供验证。在304处,系统确定代码地址是否由可运行进程支持。如果代码地址不由可运行进程支持,则系统确定代码地址是否位于跟踪的存储器区域(例如,诸如特权资源和操作118的存储器的受保护区域)中,如在306中。如果代码地址不位于跟踪的存储器区域中,则代码被分类为良性并且不被验证,如在308中。如果代码地址位于跟踪的存储器区域中,则代码被分类为不可信并且不被验证,如在310中。
返回到304,如果代码地址由可运行进程支持,则分析可运行进程,如在312中。例如,代码地址可以由安全模块128或网络安全模块126a或126b分析以确定代码是可信任还是不可信的。在314处,系统确定可运行进程是否由可信源签名。如果可运行进程由可信源签名,则代码被分类为可信任的并被验证,如在316中。如果代码未被可信源签名,则系统确定可运行进程是否匹配可运行进程的可信散列,如在318中。如果可运行进程与可运行进程的可信散列匹配,则代码被分类为可信的并被验证,如在316中。如果可运行进程不匹配可运行进程的可信散列,则代码被分类为不可信且不被验证,如在310中。
转到图4,图4是根据实施例的图示可以与识别进程的恶意运行关联的流程400的可能操作的示例流程图。在实施例中,流程400的一个或多个操作可由运行剖析模块112以及网络安全模块126a和126b执行。在402处,呈现代码以供验证。在404处,系统确定代码的可运行进程是否被识别。如果代码的可运行进程未被识别,则代码不被验证为可信,如在406中。如果代码的可运行进程被识别,则系统确定可运行进程的散列是否不变更以及是否在预期范围中,如在408中。如果可运行进程的散列不是不变更或不在预期的范围中,则代码不被验证为可信,如在406中。如果可运行进程的散列不变更并且在预期的范围中,则系统确定可运行进程是否由可信源签名,如在410中。如果进程不由可信源签名,则代码不被验证为可信,如在406中。如果进程由可信源签名,则系统确定可运行进程的存储器中(in-memory)映像是否匹配可运行进程的磁盘上映像,如在412中。例如,能够将可运行进程的RAM存储器映像(例如,进程的存储器映像132)与进程的硬盘映像(例如,进程的磁盘映像134)比较。如果可运行进程的存储器中映像不匹配可运行进程的磁盘上映像,则代码不被验证为可信,如在406中。如果可运行进程的存储器中映像匹配可运行进程的磁盘上映像,则系统确定可运行进程的存储器中行为事件与所记录的行为事件的比较是否示出篡改的证据,如在406中。如果可运行进程的存储器中行为事件与所记录的行为事件的比较示出篡改的证据,则代码不被验证为可信,如在406中。如果可运行进程的存储器中行为事件与所记录的行为事件的比较不示出篡改的证据,则代码被验证为可信,如在416中。
图5图示根据实施例以点对点(PtP)配置布置的计算系统500。具体地,图5示出系统,其中处理器、存储器和输入/输出装置通过许多点对点接口互连。通常,通信系统100的一个或多个网络元件可以以与计算系统500相同或类似的方式配置。
如图5中所图示的,系统500可以包含若干处理器,为了清楚起见,仅示出其中的两个处理器(处理器570和580)。虽然示出两个处理器570和580,但是要理解,系统500的实施例也可以仅包含一个此种处理器。处理器570和580可以各包含一组核(即,处理器核574A和574B以及处理器核584A和584B),以运行程序的多个线程。核可以配置成以与上面参考图1-4讨论的方式类似的方式运行指令代码。每个处理器570、580可以包含至少一个共享高速缓存571、581。共享高速缓存571、581可以存储由处理器570、580的一个或多个组件(例如处理器核574和584)利用的数据(例如,指令)。
处理器570和580也可以各包含用来与存储器元件532和534通信的集成存储器控制器逻辑(MC)572和582。存储器元件532和/或534可以存储由处理器570和580使用的各种数据。在备选实施例中,存储器控制器逻辑572和582可以是与处理器570和580分离的离散逻辑。
处理器570和580可以是任何类型的处理器,并且可以分别使用点对点接口电路578和588经由点对点(PtP)接口550交换数据。处理器570和580可以各使用点对点接口电路576、586、594和598经由个别点对点接口552和554与芯片组590交换数据。芯片组590还可以使用能够是PtP接口电路的接口电路592经由高性能图形接口539与高性能图形电路538交换数据。在备选实施例中,图5中所图示的PtP链路中的任何或全部能够被实现为多支路总线而不是PtP链路。
芯片组590可以经由接口电路596与总线520通信。总线520可以具有一个或多个装置(通过其进行通信),例如总线桥518和I/O装置516。经由总线510,总线桥518可以与诸如键盘/鼠标512(或诸如触摸屏、轨迹球等的其它输入装置)、通信装置526(诸如调制解调器、网络接口装置或可以通过计算机网络560通信的其它类型的通信装置)、音频I/O装置514和/或数据存储装置528的其它装置通信。数据存储装置528可以存储可由处理器570和/或580运行的代码530。在备选实施例,能够通过一个或多个PtP链路来实现总线架构的任何部分。
图5中描绘的计算机系统是可被利用来实现本文所讨论的各种实施例的计算系统的实施例的示意图。将领会,图5中所描绘的系统的各种组件可以以片上系统(SoC)架构或以任何其它合适的配置组合。例如,本文公开的实施例能够结合到包含诸如智能蜂窝电话、平板计算机、个人数字助理、便携式游戏装置等的移动装置的系统中。将领会,在至少一些实施例中,这些移动装置可以被提供有SoC架构。
转到图6,图6是与本公开的示例ARM生态系统SOC 600关联的简化框图。本公开的至少一个示例实现能够包含识别本文所讨论的进程的恶意运行特征和ARM组件。例如,图6的示例能够与任何ARM核(例如,A-9、A-15等)关联。此外,该架构能够是任何类型的平板电脑、智能电话(包含Android™电话、iPhones™)、iPad™、Google Nexus™、MicrosoftSurface™、个人计算机、服务器、视频处理组件、膝上型计算机(包含任何类型的笔记本)、Ultrabook™系统、任何类型的触摸使能输入装置等的一部分。
在图6的此示例中,ARM生态系统SOC 600可以包含多个核606-607、L2高速缓存控制608、总线接口单元609、L2高速缓存610、图形处理单元(GPU)615、互连602、视频编解码器620以及液晶显示器(LCD)I/F 625,其可以与耦合到LCD的移动工业处理器接口(MIPI)/高清多媒体接口(HDMI)链路关联。
ARM生态系统SOC 600还可以包含订户身份模块(SIM)I/F 630、引导只读存储器(ROM)635、同步动态随机存取存储器(SDRAM)控制器640、闪存控制器645、串行外设接口(SPI)主控650、合适的功率控制655、动态RAM(DRAM)660和闪存665。另外,一个或多个示例实施例包含一个或多个通信能力、接口和特征,例如蓝牙™670、3G调制解调器675、全球定位系统(GPS)680和802.11 Wi-Fi 685的实例。
在操作中,图6的示例能够提供处理能力连同相对低的功耗以实现各种类型的计算(例如,移动计算、高端数字家庭、服务器、无线基础设施等)。另外,此种架构能够实现任何数量的软件应用(例如,Android ™、Adobe®Flash® Player、Java平台标准版本(JaveSE)、JavaFX、Linux、Microsoft Windows Embedded、Symbian和Ubuntu等)。在至少一个示例实施例中,核处理器可以实现具有耦合的低延迟2级高速缓存的乱序超标量流水线。
图7图示根据实施例的处理器核700。处理器核700可以是任何类型的处理器(诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用来运行代码的其它装置)的核。虽然在图7中仅图示一个处理器核700,但是处理器可以备选地包含多于一个处理器核700(图7中所图示的)。例如,处理器核700表示参照图5的处理器570和580示出和描述的处理器核574a、574b、574a和574b的一个示例实施例。处理器核700可以是单线程核,或者对于至少一个实施例,处理器核700可以是多线程的,因为它可以包含每核多于一个硬件线程上下文(或“逻辑处理器”)。
图7还图示根据实施例的耦合到处理器核700的存储器702。存储器702可以是如对本领域技术人员已知或以其它方式可用的各种各样的存储器(包含存储器分层结构的各种层)中的任何。存储器702可以包含可以是要由处理器核700运行的一个或多个指令的代码704。处理器核700能够遵循由代码704指示的指令的程序序列。每个指令进入前端逻辑706并由一个或多个解码器708处理。解码器可以以预定格式生成诸如固定宽度微操作的微操作作为其输出,或者可以生成反映原始代码指令的其它指令、微指令或控制信号。前端逻辑706还包含寄存器重命名逻辑710和调度逻辑712,其通常分配资源并对与指令对应的操作进行排队以供运行。
处理器核700还能够包含具有一组运行单元716-1至716-N的运行逻辑714。一些实施例可以包含专用于特定功能或功能组的许多运行单元。其它实施例可以包含仅一个运行单元或能够执行特定功能的一个运行单元。运行逻辑714执行由代码指令指定的操作。
在完成运行由代码指令指定的操作之后,后端逻辑718能够引退代码704的指令。在一个实施例中,处理器核700允许乱序运行,但要求指令的有序引退。引退逻辑720可以采用各种已知形式(例如,重排序缓冲器等)。以此方式,至少在由解码器生成的输出、由寄存器重命名逻辑710利用的硬件寄存器和表以及由运行逻辑714修改的任何寄存器(未示出)方面,处理器核700在运行代码704期间被转变。
虽然在图7中未图示,但是处理器可以在具有处理器核700的芯片上包含其它元件,其中至少一些本文中参考图5被示出和描述。例如,如图5中示出的,处理器可以包含存储器控制逻辑连同处理器核700。处理器可以包含I/O控制逻辑和/或可以包含与存储器控制逻辑集成的I/O控制逻辑。
注意到,通过本文提供的示例,可以在两个、三个或更多网络元件方面描述交互。然而,这仅仅是为了清楚和示例的目的而进行的。在某些情况下,通过仅引用有限数量的网络元件来描述给定组流程的一个或多个功能性可能是更容易的。应当领会,通信系统100及其教导是易于可扩展的并且能够容纳大量组件以及更繁复/复杂的布置和配置。因此,提供的示例不应该限制通信系统100的范围或约束通信系统100的宽泛教导,如潜在应用于无数其它架构。
注意到前述流程图(即,图2-4)中的操作仅图示可由通信系统100执行或在通信系统100内执行的一些可能的相关场景和模式也是重要的。这些操作中的一些可以在适当的情况下被删除或去除,或者这些操作可以在不脱离本公开的范围的情况下被显著地修改或改变。另外,许多这些操作中已被描述为与一个或多个附加操作同时执行或与一个或多个附加操作并行执行。然而,这些操作的定时可以被显著地变更。前述操作流程是为了示例和讨论的目的而提供。由通信系统100提供了实质的灵活性,因为在不脱离本公开的教导的情况下,可以提供任何合适的布置、年表(chronology)、配置和定时机制。
虽然已经参考特定布置和配置详细描述了本公开,但是在不脱离本公开的范围的情况下,可以相当大地改变这些示例配置和布置。此外,某些组件可以基于特定的需要和实现来组合、分离、消除或添加。另外,虽然已经参考促进通信进程的特定元件和操作来图示通信系统100,但是这些元件和操作可以由实现通信系统100的意图的功能性的任何合适的架构、协议和/或进程来代替。
许多其它改变、替代、变化、变更和修改对本领域技术人员可以是确定的,并且意图是本公开涵盖如落在所附权利要求的范围内的所有此类改变、替代、变化、变更和修改。为协助美国专利和商标局(USPTO)并且,另外在本申请上发表的任何专利的任何读者解释所附于此的权利要求时,申请人希望注意到的是:申请人:(a)不使所附权利要求中的任何意图调取35 U.S.C.章节112的段落6(6),因为它在其提交的日期存在,除非在特定权利要求中具体使用“用于…的部件”或“用于…的步骤”的词语);以及(b)并不意图通过说明书中的任何声明以在所附权利要求中没有以其它方式反映的任何方法来限定本公开。
其它注意事项和示例
示例C1是具有一个或多个指令的至少一个机器可读存储媒介,所述一个或多个指令当由至少一个处理器运行时,使至少一个处理器:拦截进程;如果该进程涉及特权资源或特权操作,则存储该进程的运行剖析;分析该进程的每个栈帧中涉及的代码以确定恶意活动;以及如果确定恶意活动,则触发安全违规。
在示例C2中,示例C1的主题能够可选地包含一个或多个指令,所述一个或多个指令在由至少一个处理器运行时,还使处理器允许该进程,如果该进程不涉及特权资源或特权操作的话。
在示例C3中,示例C1-C2中的任何一个的主题能够可选地包含确定并且分析每个栈帧中涉及的代码的起源。
在示例C4中,示例C1-C3中任一个的主题能够可选地包含一个或多个指令,所述一个或多个指令在由至少一个处理器运行时还使处理器确定对于该进程所涉及的代码是否由可信源签名。
在示例C5中,示例C1-C4中的任何一个的主题能够可选地包含一个或多个指令,所述一个或多个指令在由至少一个处理器运行时还使处理器确定代码是否匹配可信的可运行进程的散列。
在示例C6中,示例C1-C5中的任何一个的主题能够可选地包含当每个栈帧展开时分析所述每个栈帧。
在示例C7中,示例C1-C6中的任何一个的主题能够可选地包含一个或多个指令,所述一个或多个指令在由至少一个处理器运行时还使处理器确定进程的存储器中映像是否匹配进程的磁盘上映像。
在示例C8中,示例C1-C7中的任何一个的主题能够可选地包含一个或多个指令,所述一个或多个指令在由至少一个处理器运行时还使处理器将行为事件与存储器中行为事件进行比较以确定该进程是否示出篡改的证据。
在示例A1中,电子装置能够包含运行剖析模块,其中运行剖析模块配置成:拦截进程;如果进程涉及特权资源或特权操作,则存储进程的运行剖析;分析进程的每个栈帧中涉及的代码,以确定恶意活动;以及如果确定恶意活动,则触发安全违规。
在示例A2中,示例A1的主题能够可选地包含运行剖析模块还配置成允许进程,如果该进程不涉及特权资源或特权操作的话。
在示例A3中,示例A1-A2中任一个的主题能够可选地包含确定并且分析每个栈帧中涉及的代码的起源。
在示例A4中,示例A1-A3中任一个的主题能够可选地包含运行剖析模块还配置成确定对于该进程所涉及的代码是否由可信源签名。
在示例A5中,示例A1-A4中的任何一个的主题能够可选地包含运行剖析模块还配置成确定进程是否匹配可信的可运行进程的散列。
在实施例A6中,实施例A1-A5中的任何一个的主题能够任选地包含当每个栈帧在展开时分析所述每个栈帧。
在示例A7中,示例A1-A6中任一个的主题能够可选地包含运行剖析模块还配置成确定进程的存储器中映像是否匹配进程的磁盘上映像。
在示例A8中,示例A1-A7中任一个的主题能够可选地包含运行剖析模块还配置成将行为事件与存储器中行为事件进行比较以确定该进程是否示出篡改的证据。
示例M1是一种方法,包括:拦截进程;如果进程涉及特权资源或特权操作,则存储进程的运行剖析;分析进程的每个栈帧中涉及的代码,以确定恶意活动;以及如果确定恶意活动,则触发安全违规。
在示例M2中,示例M1的主题能够可选地包含如果进程不涉及特权资源或特权操作则允许该进程。
在示例M3中,示例M1-M2中的任何一个的主题能够可选地包含确定并且分析每个栈帧中涉及的代码的起源。
在示例M4中,示例M1-M3中的任何一个的主题能够可选地包含确定该进程是否由可信源签名。
在示例M5中,示例M1-M4中的任何一个的主题能够可选地包含确定该进程是否匹配可信的可运行进程的散列。
在示例M6中,示例M1-M5中的任何一个的主题能够可选地包含确定每个栈帧中涉及的代码是否驻留在可写的存储器中。
在示例M7中,示例M1-M6中的任何一个的主题能够可选地包含在每个栈帧展开时分析所述每个栈帧。
示例S1是用于识别进程的恶意运行的系统,该系统包括运行剖析模块,其中运行剖析模块配置用于:拦截进程;如果进程涉及特权资源或特权操作,则存储该进程的运行剖析;分析进程的每个栈帧中涉及的的代码,以确定恶意活动,其中在每个栈帧展开时检查所述每个栈帧,并且如果确定恶意活动则触发安全违规。
在示例S2中,示例S1的主题能够可选地包含确定并且分析每个栈帧中涉及的代码的起源。
示例X1是包括用来实现如示例A1-A8或M1-M7的任一项中所述的方法或实现如示例A1-A8或M1-M7的任一项中所述的设备的机器可读指令的机器可读存储媒介。示例Y1是包括用于执行示例方法M1-M7的任何的部件的设备。在示例Y2中,示例Y1的主题能够可选地包含用于执行包括处理器和存储器的方法的部件。在示例Y3中,示例Y2的主题能够可选地包含包括机器可读指令的存储器。

Claims (14)

1.至少一种非暂时性计算机可读介质,其包括一个或多个指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器执行以下操作:
拦截进程;
确定所述进程涉及特权资源或特权操作;
存储所述进程的运行剖析;
分析所述进程的每个栈帧中涉及的代码,以确定恶意活动以及所述进程是否涉及特权资源或特权操作,其中当每个栈帧展开时分析所述每个栈帧;
确定每个栈帧中涉及的代码的起源;
确定每个栈帧中涉及的代码是否是可信的,其中,如果代码驻留在可写的存储器中或者如果代码驻留在作为栈帧的一部分的存储器中,则所述代码是不可信的;
基于对代码的可信的确定,持久化在多个会话之间的数据,其中持久化在多个会话之间的数据包括在存储器的受保护区域中将至少一部分数据持久化;以及
基于确定所述代码不可信而触发安全违规。
2.根据权利要求1所述的至少一种非暂时性计算机可读介质,进一步包括一个或多个指令,当由至少一个处理器执行时,所述指令还使得所述至少一个处理器执行以下操作:
确定对于所述进程所涉及的所述代码是否由可信源签名。
3.根据权利要求1所述的至少一种非暂时性计算机可读介质,进一步包括一个或多个指令,当由至少一个处理器执行时,所述指令还使得所述至少一个处理器执行以下操作:
确定所述代码是否匹配可信的可运行进程的散列。
4.根据权利要求1所述的至少一种非暂时性计算机可读介质,进一步包括一个或多个指令,当由至少一个处理器执行时,所述指令还使得所述至少一个处理器执行以下操作
确定所述进程的存储器中映像是否匹配所述进程的磁盘上映像。
5.根据权利要求1所述的至少一种非暂时性计算机可读介质,进一步包括一个或多个指令,当由至少一个处理器执行时,所述指令还使得所述至少一个处理器执行以下操作:
将行为事件与存储器中行为事件进行比较,以确定所述进程是否示出篡改的证据。
6.一种用于识别进程的恶意运行设备,包括:
存储器;
硬件处理器,其配置成:
拦截进程;
确定所述进程涉及特权资源或特权操作;
存储所述进程的运行剖析;
分析所述进程的每个栈帧中涉及的代码,以确定恶意活动以及所述进程是否涉及特权资源或特权操作,其中当每个栈帧展开时分析所述每个栈帧;
确定每个栈帧中涉及的代码的起源;
确定每个栈帧中涉及的代码是否是可信的,
其中,如果代码驻留在可写的存储器中或者如果代码驻留在作为栈帧的一部分的存储器中,则所述代码是不可信的;
基于对代码的可信的确定,持久化在多个会话之间的数据,其中持久化在多个会话之间的数据包括在存储器的受保护区域中将至少一部分数据持久化;以及
基于确定所述代码不可信而触发安全违规。
7.根据权利要求6所述的设备,其中,所述处理器还配置成:
确定对于所述进程所涉及的所述代码是否由可信源签名。
8.根据权利要求6所述的设备,其中,所述处理器还配置成:
确定所述进程是否匹配可信的可运行进程的散列。
9.根据权利要求6所述的设备,其中,所述处理器还配置成:
确定所述进程的存储器中映像是否匹配所述进程的磁盘上映像。
10.根据权利要求6所述的设备,其中,所述硬件处理器还配置成:
将行为事件与存储器中行为事件进行比较,以确定所述进程是否示出篡改的证据。
11.一种用于识别进程的恶意运行方法,包括:
拦截进程;
确定所述进程涉及特权资源或特权操作;
在存储器中存储所述进程的运行剖析;
使用硬件处理器分析所述进程的每个栈帧中涉及的代码,以确定恶意活动以及所述进程是否涉及特权资源或特权操作,其中当每个栈帧展开时分析所述每个栈帧;
确定每个栈帧中涉及的代码的起源;
确定每个栈帧中涉及的代码是否是可信的,其中,如果代码驻留在可写的存储器中或者如果代码驻留在作为栈帧的一部分的存储器中,则所述代码是不可信的;
基于对代码的可信的确定,持久化在多个会话之间的数据,其中持久化在多个会话之间的数据包括在存储器的受保护区域中将至少一部分数据持久化;以及
基于确定所述代码不可信而触发安全违规。
12.根据权利要求11所述的方法,还包括:
确定所述进程是否由可信源签名。
13.根据权利要求11所述的方法,还包括:
确定所述进程是否匹配可信的可运行进程的散列。
14.一种用于识别进程的恶意运行的系统,所述系统包括:
存储器;
硬件处理器,其配置用于:
拦截进程;
确定所述进程涉及特权资源或特权操作;
存储所述进程的运行剖析;
分析所述进程的每个栈帧中涉及的代码,以确定恶意活动以及所述进程是否涉及特权资源或特权操作,其中在每个栈帧展开时检查所述每个栈帧;
确定每个栈帧中涉及的代码的起源;
确定每个栈帧中涉及的代码是否是可信的,其中,如果代码驻留在可写的存储器中或者如果代码驻留在作为栈帧的一部分的存储器中,则所述代码是不可信的;
基于对代码的可信的确定,持久化在多个会话之间的数据,其中持久化在多个会话之间的数据包括在存储器的受保护区域中将至少一部分数据持久化;以及
基于确定所述代码不可信而触发安全违规。
CN201580076733.6A 2014-12-23 2015-11-25 识别进程的恶意运行 Active CN107430662B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/581,528 US10467409B2 (en) 2014-12-23 2014-12-23 Identification of malicious execution of a process
US14/581528 2014-12-23
PCT/US2015/062566 WO2016105821A1 (en) 2014-12-23 2015-11-25 Identification of malicious execution of a process

Publications (2)

Publication Number Publication Date
CN107430662A CN107430662A (zh) 2017-12-01
CN107430662B true CN107430662B (zh) 2020-07-14

Family

ID=56129760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580076733.6A Active CN107430662B (zh) 2014-12-23 2015-11-25 识别进程的恶意运行

Country Status (4)

Country Link
US (2) US10467409B2 (zh)
EP (1) EP3238410A4 (zh)
CN (1) CN107430662B (zh)
WO (1) WO2016105821A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US10467409B2 (en) 2014-12-23 2019-11-05 Mcafee, Llc Identification of malicious execution of a process
US10713146B2 (en) * 2015-06-26 2020-07-14 AVAST Software s.r.o. Dynamic binary translation and instrumentation with postponed attachment to running native threads
US9686240B1 (en) 2015-07-07 2017-06-20 Sprint Communications Company L.P. IPv6 to IPv4 data packet migration in a trusted security zone
US9749294B1 (en) * 2015-09-08 2017-08-29 Sprint Communications Company L.P. System and method of establishing trusted operability between networks in a network functions virtualization environment
US10542115B1 (en) 2015-10-01 2020-01-21 Sprint Communications Company L.P. Securing communications in a network function virtualization (NFV) core network
US9811686B1 (en) 2015-10-09 2017-11-07 Sprint Communications Company L.P. Support systems interactions with virtual network functions in a trusted security zone
US9817971B2 (en) * 2015-10-29 2017-11-14 International Business Machines Corporation Using call stack snapshots to detect anomalous computer behavior
US9781016B1 (en) 2015-11-02 2017-10-03 Sprint Communications Company L.P. Dynamic addition of network function services
US11120106B2 (en) 2016-07-30 2021-09-14 Endgame, Inc. Hardware—assisted system and method for detecting and analyzing system calls made to an operating system kernel
US10250498B1 (en) 2016-10-03 2019-04-02 Sprint Communications Company L.P. Session aggregator brokering of data stream communication
US11151247B2 (en) 2017-07-13 2021-10-19 Endgame, Inc. System and method for detecting malware injected into memory of a computing device
US11151251B2 (en) * 2017-07-13 2021-10-19 Endgame, Inc. System and method for validating in-memory integrity of executable files to identify malicious activity
US10713354B2 (en) * 2017-07-27 2020-07-14 Samsung Electronics Co., Ltd. Methods and apparatus to monitor permission-controlled hidden sensitive application behavior at run-time
US10348488B1 (en) 2017-08-25 2019-07-09 Sprint Communications Company L.P. Tiered distributed ledger technology (DLT) in a network function virtualization (NFV) core network
US11847205B1 (en) 2020-10-26 2023-12-19 T-Mobile Innovations Llc Trusted 5G network function virtualization of virtual network function elements embedded on a system-on-chip

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138238A (en) * 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
USH2196H1 (en) * 2004-09-30 2007-07-03 Symantec Corporation Method for intercepting specific system calls in a specific application from applications space for security
EP2141598A1 (en) * 2007-03-28 2010-01-06 NTT DoCoMo, Inc. Software behavior modeling device, software behavior modeling method, software behavior verification device, and software behavior verification method
US7971255B1 (en) * 2004-07-15 2011-06-28 The Trustees Of Columbia University In The City Of New York Detecting and preventing malcode execution

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US7177929B2 (en) * 2002-03-27 2007-02-13 International Business Machines Corporation Persisting node reputations in transient network communities
US20060026687A1 (en) 2004-07-31 2006-02-02 Cyrus Peikari Protecting embedded devices with integrated permission control
US7657940B2 (en) * 2004-10-28 2010-02-02 Cisco Technology, Inc. System for SSL re-encryption after load balance
US7565686B1 (en) * 2004-11-08 2009-07-21 Symantec Corporation Preventing unauthorized loading of late binding code into a process
US20070261124A1 (en) * 2006-05-03 2007-11-08 International Business Machines Corporation Method and system for run-time dynamic and interactive identification of software authorization requirements and privileged code locations, and for validation of other software program analysis results
US7814544B1 (en) * 2006-06-22 2010-10-12 Symantec Corporation API-profile guided unpacking
GB2439579A (en) * 2006-06-30 2008-01-02 Advanced Risc Mach Ltd Target device programmer
US20080195868A1 (en) * 2007-02-12 2008-08-14 Nokia Corporation Rollback-Resistant Code-Signing
US8219687B2 (en) * 2008-01-04 2012-07-10 International Business Machines Corporation Implementing browser based hypertext transfer protocol session storage
US8950007B1 (en) * 2008-04-07 2015-02-03 Lumension Security, Inc. Policy-based whitelisting with system change management based on trust framework
US9058483B2 (en) * 2008-05-08 2015-06-16 Google Inc. Method for validating an untrusted native code module
US8578483B2 (en) * 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
US8312249B1 (en) * 2008-10-10 2012-11-13 Apple Inc. Dynamic trampoline and structured code generation in a signed code environment
US8214900B1 (en) * 2008-12-18 2012-07-03 Symantec Corporation Method and apparatus for monitoring a computer to detect operating system process manipulation
US9197417B2 (en) * 2009-04-24 2015-11-24 Microsoft Technology Licensing, Llc Hosted application sandbox model
DE102009041098A1 (de) * 2009-09-14 2011-03-24 zynamics GmbH Verfahren zur Kennzeichnung eines in einem Computerspeichersystem enthaltenden Computerprogrammabschnitts
KR101044274B1 (ko) 2009-11-03 2011-06-28 주식회사 안철수연구소 악성 사이트 검출 장치, 방법 및 컴퓨터 프로그램이 기록된 기록매체
US9104872B2 (en) * 2010-01-28 2015-08-11 Bank Of America Corporation Memory whitelisting
US8578487B2 (en) * 2010-11-04 2013-11-05 Cylance Inc. System and method for internet security
US20120159566A1 (en) * 2010-12-17 2012-06-21 Sap Ag Access control framework
US8904537B2 (en) * 2011-05-09 2014-12-02 F—Secure Corporation Malware detection
US8973136B2 (en) * 2011-08-02 2015-03-03 Quick Heal Technologies Private Limited System and method for protecting computer systems from malware attacks
US9348990B2 (en) * 2011-12-30 2016-05-24 Intel Corporation Range based user identification and profile determination
US9275223B2 (en) * 2012-10-19 2016-03-01 Mcafee, Inc. Real-time module protection
EP2962240B1 (en) * 2013-02-28 2017-12-27 Intel Corporation Performing security operations using binary translation
US9183379B2 (en) * 2013-03-12 2015-11-10 Intel Corporation Preventing malicious instruction execution
RU2531861C1 (ru) * 2013-04-26 2014-10-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
US20160234307A1 (en) * 2013-09-29 2016-08-11 Beijing Qihoo Technology Company Limited Data transmission method, device, and system
US9740857B2 (en) * 2014-01-16 2017-08-22 Fireeye, Inc. Threat-aware microvisor
US10467409B2 (en) 2014-12-23 2019-11-05 Mcafee, Llc Identification of malicious execution of a process

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138238A (en) * 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US7971255B1 (en) * 2004-07-15 2011-06-28 The Trustees Of Columbia University In The City Of New York Detecting and preventing malcode execution
USH2196H1 (en) * 2004-09-30 2007-07-03 Symantec Corporation Method for intercepting specific system calls in a specific application from applications space for security
EP2141598A1 (en) * 2007-03-28 2010-01-06 NTT DoCoMo, Inc. Software behavior modeling device, software behavior modeling method, software behavior verification device, and software behavior verification method

Also Published As

Publication number Publication date
CN107430662A (zh) 2017-12-01
US20200065493A1 (en) 2020-02-27
US11328063B2 (en) 2022-05-10
US10467409B2 (en) 2019-11-05
EP3238410A1 (en) 2017-11-01
WO2016105821A1 (en) 2016-06-30
US20160180089A1 (en) 2016-06-23
EP3238410A4 (en) 2018-07-25

Similar Documents

Publication Publication Date Title
US11328063B2 (en) Identification of malicious execution of a process
US11941119B2 (en) Mitigation of ransomware
US10176344B2 (en) Data verification using enclave attestation
US20210029150A1 (en) Determining a reputation for a process
CN107409120B (zh) 检测恶意外设的装置、方法及系统
CN107980123B (zh) 敏感数据的保护
US11379583B2 (en) Malware detection using a digital certificate
US20170091453A1 (en) Enforcement of file characteristics
CN107960126B (zh) 基于分析事件的漏洞利用检测
US20160381051A1 (en) Detection of malware
US10366228B2 (en) Detection and mitigation of malicious invocation of sensitive code
US20160378977A1 (en) Simulation of an application
US11627145B2 (en) Determining a reputation of data using a data visa including information indicating a reputation
US10574672B2 (en) System and method to detect bypass of a sandbox application

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: California, USA

Patentee after: MCAFEE, Inc.

Address before: American Texas

Patentee before: MCAFEE, Inc.

CP02 Change in the address of a patent holder