CN108093652A - 应用的模拟 - Google Patents

应用的模拟 Download PDF

Info

Publication number
CN108093652A
CN108093652A CN201680037860.XA CN201680037860A CN108093652A CN 108093652 A CN108093652 A CN 108093652A CN 201680037860 A CN201680037860 A CN 201680037860A CN 108093652 A CN108093652 A CN 108093652A
Authority
CN
China
Prior art keywords
parameter
function call
application
logged
emulation
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
CN201680037860.XA
Other languages
English (en)
Other versions
CN108093652B (zh
Inventor
C.阿尔默
S.哈恩
S.芬克
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 CN108093652A publication Critical patent/CN108093652A/zh
Application granted granted Critical
Publication of CN108093652B publication Critical patent/CN108093652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • G06F21/53Monitoring 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 by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

在本文中描述的特定实施例提供了一种电子设备,其可以被配置成标识应用、运行应用、将用于应用的每个函数调用的参数记入日志,并且将记入日志的参数存储在仿真表中。记入日志的参数可以包括函数调用、输入参数和输出参数。可以使用仿真表来模拟应用的执行而不必实际上运行应用。

Description

应用的模拟
相关申请的交叉引用
本申请要求2015年6月27日提交的、标题为“SIMULATION OF AN APPLICATION”的美国非临时(发明)专利申请号14/752,911权益和优先权,该美国非临时专利被通过引用整体地并入本文中。
技术领域
本公开一般地涉及信息安全的领域,并且更特别地涉及应用的模拟。
背景技术
网络安全的领域在现今的社会中变得越来越重要。因特网已经使得能实现全世界不同计算机网络的互连。特别地,因特网提供用于在经由各种类型的客户端设备而连接到不同的计算机网络的不同用户之间交换数据的介质。在因特网的使用变换了商业和个人通信的同时,其还被用作用于恶意操作者获得对计算机和计算机网络的未授权访问和用于敏感信息的有意或疏忽的公开的传播媒介。
使主机计算机感染的恶意软件(“恶意软件”)可能能够执行任何数目的恶意动作,诸如从与主机计算机相关联的商业或个人偷窃敏感信息,传播到其它主机计算机,和/或帮助分布式的拒绝服务攻击,从主机计算机发出垃圾电子邮件或恶意电子邮件等。因此,显著的管理挑战依然针对保护计算机和计算机网络免于恶意软件的恶意和疏忽的利用。
附图说明
为了提供对本公开及其特征和优点的更完全的理解,参考结合附图采取的以下描述,其中相同的参考数字表示相同的部分,在所述附图中:
图1是依照本公开的实施例的用于应用的模拟的通信***的简化框图;
图2是依照本公开的实施例的用于应用的模拟的通信***的一部分的简化框图;
图3是依照本公开的实施例的用于应用的模拟的通信***的示例细节的简图;
图4是依照本公开的实施例的用于应用的模拟的通信***的示例细节的简图;
图5是图示依照实施例的可能与通信***相关联的潜在操作的简化流程图;
图6是图示依照实施例的可能与通信***相关联的潜在操作的简化流程图;
图7是图示依照实施例的以点对点配置进行布置的示例计算***的框图;
图8是与本公开的示例ARM生态***片上***(SOC)相关联的简化框图;以及
图9是图示依照实施例的示例处理器核的框图。
附图中的各图不一定按比例绘制,因为其尺寸可以在不背离本公开的范围的情况下相当地变化。
具体实施方式
示例实施例
图1是依照本公开的实施例的用于应用的模拟的通信***100的简化框图。通信***100可以包括电子设备102、云服务104和服务器106。电子设备102可以包括处理器110、存储器112、操作***(OS)114和安全模块116。安全模块116可以包括仿真模块118。仿真模块可以包括仿真表120。云服务104和服务器106可以每个包括网络安全模块122、训练集124和沙箱环境126。网络安全模块122可以包括仿真数据评定器146和仿真表120。电子设备102、云服务104和服务器106可以每个使用网络108进行通信。
在示例实施例中,通信***100可以被配置成包括使用数据挖掘和机器学习策略对用于经剖析的操作环境的相关模拟逻辑进行自动地建模的***。通信***100可以被配置成(例如,根据训练集124)标识应用、运行应用、将用于应用的每个函数调用的参数记入日志(log),并且将记入日志的参数存储在仿真表(例如,仿真表120)中。记入日志的参数可以包括函数调用、输入参数和输出参数。 在示例中,通信***100可以评定全部的记入日志的数据并且确定每一***函数的输入到输出参数映射的最普遍组合。通信***100还可以梳理出(prune out)不影响被调用函数的输出的任何参数。仿真表可以包括可以由电子设备102中的仿真模块在运行时间解释的每一***函数的映射表,并且仿真表可以包括用于多个函数调用的多个记入日志的参数。
图1的元件可以采用任何适合的连接(有线的或无线的)通过一个或多个接口而彼此耦合,所述连接提供用于网络(例如,网络108)通信的可行路径。另外,图1的这些元件中的任何一个或多个可以基于特定配置需要而组合或从架构移除。通信***100可以包括有用于网络中的分组的传输或接收的传输控制协议/因特网协议(TCP/IP)通信能力的配置。通信***100还可以在适当的情况下和基于特定需要结合用户数据报协议/IP (UDP/IP)或任何其它适合的协议来操作。
出于说明通信***100的某些示例技术的目的,理解可以遍历网络环境的通信是重要的。以下基础信息可以被视为可以根据其适当地解释本公开的基础。
一些恶意软件检测方法重重依赖于软件仿真的使用。即,为了确定新的软件应用是否潜在地包含危险行为,相应的恶意软件扫描仪将在安全的虚拟的仿真环境内模拟所讨论的文件的执行。意图是既监视所执行的文件对仿真环境产生什么影响,而且监视文件在仿真之后看起来如何。例如,恶意的Windows®可执行文件常常在运行时间被打包或模糊,并且外部模糊壳仅可以通过仿真从文件移开。
为了合理地正确地模拟诸如Windows® OS或web浏览器之类的环境,***必须模拟OS或浏览器暴露到软件应用或脚本代码的***函数。当前,这由恶意软件研究员手动地完成。例如,不论何时一些已知的恶意软件对某些***函数做出调用,开发针对该恶意软件家族的检测的研究员确保仿真环境模拟该***函数。
手动地创造***函数的模拟的该方法是反应性的、易错的和昂贵的。仅有的已知替代现今将是许可原始OS映像并且在仿真下运行整个OS。这具有非常清楚的限制,首要的是其高性能成本。所需要的是可以作为手动地创造的模拟函数执行的但同时通过数据挖掘和机器学习的使用生成的***和方法。
如图1中概述的用于应用的模拟的通信***可以解决这些问题(和其它)。通信***100可以被配置成在受监视的原始真实世界环境中剖析(profile)软件应用的大训练集、利用其输入和输出参数来跟踪发生的***调用、确定最普遍的组合,并且计算可由仿真组件用来模拟应用的运行的广义模拟模型。安全模块可以针对来自应用的对恶意行为的指示而分析模拟运行。例如,使用行为序列的马尔科夫模型的行为恶意软件分类***可以被用来针对恶意行为来分析文件。
在示例中,通信***100可以包括数据挖掘环境,其中可以在诸如MicrosoftWindows®之类的感兴趣的操作环境或Mozilla Firefox®浏览器的原始安装时安全地执行应用,并且受监视的应用对操作环境做出的所有***函数调用被记入日志。***允许数据挖掘环境,其中可以在诸如Microsoft Windows®之类的所讨论的OS或Mozilla Firefox®浏览器的原始安装时安全地执行软件应用,并且受监视的应用或脚本对OS或浏览器做出的所有***函数调用被记入日志。例如,可以使用核心模式、用户模式、浏览器DOM钩住(hooking)等将受监视的应用或脚本记入日志。记入日志的数据可以包括***函数的名称和库、传递到函数中的实际输入参数,以及从函数返回的输出参数。
机器学习组件然后可以评定记入日志的数据并且确定每一***函数的输入到输出参数映射的最普遍组合。***还可以仅对相关的那些参数执行标准化且产生每一***函数的映射表。当仿真模块可以在运行时间解释这些映射表、检查输入参数条件的表条目的列表是否与当前模拟环境状态匹配,以及如果是这样则执行编码在该表条目中的输出动作的情况下,可以将映射表发送给仿真模块。该过程允许在不必实际上运行应用的情况下对应用的模拟。
进一步地,***可以被配置成自动地确定普遍的***调用并且不等待实际的恶意软件样本使用某一调用开始。与用于手动地创造的模拟逻辑的O(m)(m针对字节代码大小)相比,用于模拟单个***函数的性能特性是O(n)(n针对列表大小)。换言之,假定列表条件和手动规则字节代码二者使用可比较的运行时间解释器,则不存在通过机器学习生成的***逻辑的使用而招致的附加性能影响。虽然存在用于设立剖析的后端环境和将数据挖掘输出馈送到机器学习编译器中的较高的初始一次开发成本,但是一旦该过程被建立,就相对地没有进行的维护成本。
转向图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中的每个可以包括存储器元件,用于存储在本文中概述的操作中要使用的信息。电子设备102、云服务104和服务器106中的每个可以在适当的情况下和基于特定需要将信息保持在任何适合的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM (EEPROM)、专用集成电路(ASIC)等)、软件、硬件、固件中,或在任何其它适合的组件、设备、元件或物体中。本文中讨论的任何存储器项目应当被解释为包含在宽泛的术语“存储器元件”内。此外,可以在任何数据库、寄存器、队列、表、高速缓存、控制列表或其它存储结构(其全部都可以在任何适合的时间帧被引用)中提供在通信***100中被使用、跟踪、发送或接收的信息。还可以将任何这样的存储选项包括在如在本文中使用的宽泛的术语“存储器元件”内。
在某些示例实现中,本文中概述的功能可以通过编码在一个或多个有形介质中的逻辑(例如,ASIC中提供的嵌入式逻辑、数据信号处理器(DSP)指令、要由处理器执行的(潜在地包括目标代码和源代码的)软件或其它类似的机器等)来实现,所述介质可以包括非瞬时计算机可读介质。在这些实例中的一些中,存储器元件可以存储用于在本文中描述的操作的数据。这包括能够存储被执行以实行在本文中描述的活动的软件、逻辑、代码或处理器指令的存储器元件。
在示例实现中,通信***100的网络元件,诸如电子设备102、云服务104和服务器106,可以包括要实现或促进如在本文中概述的操作的软件模块(例如,安全模块116、仿真模块118、网络安全模块122和仿真数据评定器146)。这些模块可以以任何适当的方式适合地组合,所述方式可以基于特定配置和/或供应(provisioning)需要。在示例实施例中,这样的操作可以由在这些元件外部实现的或被包括在一些其它网络设备中以实现预期功能性的硬件来执行。此外,模块可以被实现为软件、硬件、固件或其任何适合的组合。这些元件还可以包括可以与其它网络元件协调以便实现如在本文中概述的操作的软件(或往复式软件)。
另外,电子设备102、云服务104和服务器106中的每个可以包括可以执行软件或算法以实行如在本文中讨论的活动的处理器。处理器可以执行与用以实现在本文中详述的操作的数据相关联的任何类型的指令。在一个示例中,处理器可以将元件或物品(例如,数据)从一个状态或东西变换成另一个状态或东西。在另一示例中,在本文中概述的活动可以利用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且在本文中标识的元件可以是一些类型的可编程处理器,可编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM、EEPROM)或包括数字逻辑、软件、代码、电子指令的ASIC,或者其任何适合的组合。在本文中描述的任何潜在处理元件、模块和机器应当被解释为包括在宽泛的术语“处理器”内。
电子设备102可以是网络元件并且包括例如台式计算机、膝上型计算机、移动设备、个人数字助理、智能电话、平板,或其它类似的设备。云服务104被配置成向电子设备102提供云服务。云服务一般可以被定义为对通过诸如因特网之类的网络作为服务而递送的计算资源的使用。通常,在云基础结构中提供计算、存储和网络资源,有效地将工作负荷从本地网络移动到云网络。服务器106可以是诸如服务器或虚拟服务器之类的网络元件,并且可以与想要经由一些网络(例如,网络108)在通信***100中发起通信的客户端、消费者、端点或最终用户相关联。术语“服务器”包括用来为客户端的请求服务和/或代表通信***100内的客户端执行一些计算任务的设备。尽管在图1中将安全模块116表示为位于电子设备102中,但是这仅是出于说明性目的。安全模块116可以以任何适合的配置组合或分离。此外,安全模块116可以与电子设备102整合或分布在可由电子设备102访问的另一网络中,诸如云服务104或服务器106。
转向图2,图2是依照本公开的实施例的用于应用的模拟的通信***100的一部分的简化框图。云服务104(或服务器106或一些其它网络元件)可以包括网络安全模块122、训练集124和沙箱环境126。网络安全模块122可以包括仿真数据评定器146和仿真表120。仿真数据评定器146可以包括剖析模块128、数据挖掘模块130、标准化和泛化模块132,以及变换模块134。
训练集124可以包括可以在沙箱环境126中安全地执行的一个或多个应用。沙箱环境126可以包括诸如Microsoft Windows®之类的感兴趣的操作环境、诸如MozillaFirefox®之类的浏览器或其中可以运行应用一些其它环境的原始安装。受监视的应用在沙箱环境126中时做出的***函数调用被记入日志。
剖析模块128可以被配置成将用于每个受监视的调用的数据记入日志。记入日志的数据可以包括***函数的名称和库、传递到***函数(例如,栈的顶部)中的被称为输入参数的实际参数,以及从函数(例如,EAX寄存器)返回的被称为输出参数的参数。数据挖掘模块130可以被配置成评定全部的记入日志的数据,确定每一***函数的输入到输出参数映射的最普遍组合。标准化和泛化模块132可以被配置成梳理出显然不影响受监视的函数的输出的任何参数并且分解成仅那些相关的参数。变换模块134可以被配置成将来自标准化和泛化模块132的数据变换成可以被包括在仿真表120中的数据。仿真表120中的数据可以包括可以由电子设备102中的仿真模块118在运行时间解释的每一***函数的映射表,并且考虑到输入参数的相应集合,允许***快速地查找在应用的模拟下应当返回的输出参数。
转向图3,图3是依照本公开的实施例的用于应用的模拟的通信***100的一部分的简图。图3图示了应用的一部分在沙箱环境126中的执行的特定示例。在沙箱环境126中,可以从训练集124中的应用获得代码148。代码可以在沙箱环境126中执行并且被允许运行。如果代码是函数调用,则调用被钩住并且实参(argument)被记入日志。例如,***栈150中的来自函数调用的实参可以被确定并记入日志。针对每个函数调用记入日志的数据可以包括***函数的名称和库、传递到***函数中的实际参数(例如,输入参数),以及从函数返回的参数(例如,输出参数)。记入日志的数据然后可以被(例如,数据挖掘模块130、标准化和泛化模块132,以及变换模块134)处理并且用来填充仿真表120。
转向图4,图4是依照本公开的实施例的用于应用的模拟的通信***的一部分的简图。仿真表120可以包括库列136、函数列138、输入参数条件列140和输出参数动作列142。
在运行时间,仿真模块118可以评定仿真表120、检查输入参数条件的表条目的列表是否与当前模拟环境设置匹配,并且如果是这样,则执行编码在该表条目中的输出动作。输入参数可以包括变量、调用、***配置、操作***、文件配置、数据结构等。当前模拟环境是其中如果允许运行或执行应用则将运行应用的环境。为了应用的执行的适当的模拟,输入参数的表条目的列表应当与其中如果允许运行或执行应用则将运行应用的环境匹配。例如,如图4中所图示的,如果用于mylib32.dll中的函数“GetSomeHandleA”的输入参数是8,则输出参数或动作要将“22”写到栈[0]指针中,并且将EAX设置成1。如果用于mylib32.dll中的函数“GetSomeHandleA”的输入参数是32,则输出参数或动作要将“0”写到栈[0]指针中,并且将EAX设置成0。这允许仿真模块118模拟运行应用而不必实际上运行应用,以及使用数据挖掘和机器学习策略对用于经剖析的操作环境的相关模拟逻辑进行自动地建模。
转向图5,图5是图示依照实施例的可能与应用的模拟相关联的流程500的可能操作的示例流程图。在实施例中,流程500的一个或多个操作可以由仿真数据评定器146和网络安全模块122执行。在502处,***接收(或标识)应用。例如,可以从训练集124接收应用。训练集124可以包括一大批应用或过程并且***可以从训练集124接收随机地选择的应用、从训练集124接收已知的恶意软件样本,或者管理员可以选择要接收的应用。在504处,允许应用在沙箱环境中运行。例如,可以允许应用在沙箱环境126中运行。在506处,针对每个函数调用,确定用于该函数调用的参数并将其记入日志。在508处,将每个函数调用和该函数调用的参数存储在仿真表中。
转向图6,图6是图示依照实施例的可能与应用的模拟相关联的流程600的可能操作的示例流程图。在实施例中,流程600的一个或多个操作可以由仿真模块118执行。在602处,***接收(或标识)应用。例如,可以从训练集124接收应用。在604处,使用仿真表,运行应用的模拟。在606处,针对恶意活动的存在,分析应用的模拟运行。
图7图示了根据实施例的以点对点(PtP)配置进行布置的计算***700。特别地,图7示出了其中处理器、存储器和输入/输出设备通过多个点对点接口互连的***。一般地,通信***100的网络元件中的一个或多个可以以如计算***700相同或类似的方式来配置。
如图7中所图示的,***700可以包括若干处理器,为了清楚而示出其中的仅两个处理器770和780。虽然示出了两个处理器770和780,但是要理解,***700的实施例还可以仅包括一个这样的处理器。处理器770和780可以每个包括一组核(即,处理器核774A和774B以及处理器核784A核784B),用以执行程序的多个线程。核可以被配置成以与上面关于图1-6讨论的方式类似的方式执行指令代码。每个处理器770、780可以包括至少一个共享高速缓存771、781。共享高速缓存771、781可以存储由处理器770、780的诸如处理器核774和784之类的一个或多个组件利用的数据(例如,指令)。
处理器770和780还可以每个包括集成存储器控制器逻辑(MC)772和782,用以与存储器元件732和734通信。存储器元件732和/或734可以存储由处理器770和780使用的各种数据。在替代实施例中,存储器控制器逻辑772和782可以是与处理器770和780分离的分立逻辑。
处理器770和780可以是任何类型的处理器并且可以分别使用点对点接口电路778和788经由点对点(PtP)接口750交换数据。处理器770和780可以每个使用点对点接口电路776、786、794和798经由单独的点对点接口752和754与芯片组790交换数据。芯片组790还可以使用接口电路792经由高性能图形接口739与高性能图形电路738交换数据,所述接口电路792可以是PtP接口电路。在替代实施例中,可以将在图7中图示的PtP链路中的任何或全部实现为多点总线而不是PtP链路。
芯片组790可以经由接口电路796与总线720通信。总线720可以具有通过其进行通信的一个或多个设备,诸如总线桥接器718和I/O设备716。经由总线710,总线桥接器718可以与其它设备通信,所述其它设备诸如键盘/鼠标712(或诸如触摸屏、跟踪球等的其它输入设备)、通信设备726(诸如调制解调器、网络接口设备,或可以通过计算机网络760通信的其它类型的通信设备)、音频I/O设备714和/或数据存储设备728。数据存储设备728可以存储代码730,所述代码730可以由处理器770和/或780执行。在替代实施例中,可以利用一个或多个PtP链路来实现总线架构的任何部分。
图7中描绘的计算机***是可以用来实现在本文中讨论的各种实施例的计算***的实施例的示意性图示。将领会,可以将在图7中描绘的***的各种组件组合在片上***(SoC)架构中或任何其它适合的配置中。例如,可以将在本文中公开的实施例合并到包括移动设备的***中,所述移动设备诸如智能蜂窝电话、平板计算机、个人数字助理、便携式游戏设备等。将领会,在至少一些实施例中,可以为这些移动设备提供SoC架构。
转向图8,图8是与本公开的示例ARM生态***SOC 800相关联的简化框图。本公开的至少一个示例实现可以包括应用的模拟、在本文中讨论的特征和ARM组件。例如,图8的示例可以与任何ARM核(例如,A-9、A-15等)相关联。进一步地,架构可以是任何类型的平板、(包括Android™电话、iPhones™的)智能电话、iPad™、Google Nexus™、MicrosoftSurface™、个人计算机、服务器、视频处理组件、(包括任何类型的笔记本的)膝上型计算机、Ultrabook™***、任何类型的触摸使能的输入设备等的部分。
在图8的该示例中,ARM生态***SOC 800可以包括多个核806-807、L2高速缓存控制808、总线接口单元809、L2高速缓存810、图形处理单元(GPU)815、互连802、视频编解码器820和液晶显示器(LCD) I/F 825,其可以与耦合到LCD的移动产业处理器接口(MIPI)/高清晰度多媒体接口(HDMI)链路相关联。
ARM生态***SOC 800还可以包括订户身份模块(SIM)I/F 830、引导只读存储器(ROM)835、同步动态随机存取存储器(SDRAM)控制器840、闪存控制器845、串行***接口(SPI)主设备(master)850、适合的功率控制855、动态RAM(DRAM)860和闪存865。另外,一个或多个示例实施例包括一个或多个通信能力、接口和特征,诸如Bluetooth™、3G调制解调器875、全球定位***(GPS)880和802.11 Wi-Fi 885的实例。
在操作中,图8的示例可以提供处理能力连同相对低的功率消耗,以使得能实现各种类型(例如,移动计算、高端数字家庭、服务器、无线基础结构等)的计算。另外,这样的架构可以使得能实现任何数目的软件应用(例如,Android™、Adobe® Flash®播放器、Java平台标准版(Java SE)、JavaFX、Linux、嵌入式Microsoft Windows、Symbian和Ubuntu等)。在至少一个示例实施例中,核处理器可以利用耦合的低等待时间2级高速缓存来实现无序的超标量流水线。
图9图示了根据实施例的处理器核900。处理器核900可以是用于任何类型的处理器的核,所述处理器诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用以执行代码的其它设备。尽管在图9中仅图示了一个处理器核900,但是处理器可以替代地包括不止一个在图9中图示的处理器核900。例如,处理器核900表示关于图7的处理器770和780示出和描述的处理器核774a、774b、784a和784b的一个示例实施例。处理器核900可以是单线程核,或针对至少一个实施例,处理器核900可以是多线程的,因为其可以每一核包括不止一个硬件线程上下文(或“逻辑处理器”)。
图9还图示了依照实施例的耦合到处理器核900的存储器902。存储器902可以是如为本领域技术人员所知或以其他方式对本领域技术人员可用的(包括存储器层级的各种层的)多种多样的存储器中的任何存储器。存储器902可以包括要由处理器核900执行的代码904,其可以是一个或多个指令。处理器核900可以跟随由代码904指示的指令的程序序列。每个指令进入前端逻辑906并且由一个或多个解码器908处理。解码器可以生成作为其输出的微操作,诸如以预定义格式的固定宽度的微操作,或可以生成其它指令、微指令或反映原始代码指令的控制信号。前端逻辑906还包括寄存器重命名逻辑910和调度逻辑912,所述调度逻辑912一般分配资源并且使与用于执行的指令对应的操作排队。
处理器核900还可以包括具有执行单元916-1至916-N的集合的执行逻辑914。一些实施例可以包括专用于特定功能或功能的集合的多个执行单元。其它实施例可以包括仅一个执行单元或可以执行特定功能的一个执行单元。执行逻辑914执行由代码指令指定的操作。
在完成由代码指令指定的操作的执行之后,后端逻辑918可以引退代码904的指令。在一个实施例中,处理器核900允许无序的执行但要求指令的有序引退。引退逻辑920可以采取多种已知形式(例如,重排序缓冲器等)。以该方式,在代码904的执行期间,至少在由解码器生成的输出、由寄存器重命名逻辑910利用的硬件寄存器和表以及由执行逻辑914修改的(未示出的)任何寄存器方面,处理器核900被变换。
尽管未在图9中图示,但是处理器可以在具有处理器核900的芯片上包括其它元件,在本文中关于图7示出和描述了所述其它元件中的至少一些。例如,如图7中所示,处理器可以包括存储器控制逻辑连同处理器核900。处理器可以包括I/O控制逻辑和/或可以包括与存储器控制逻辑整合的I/O控制逻辑。
注意,在本文中提供的示例的情况下,可以在两个、三个或更多个网络元件方面描述交互。然而,这已经仅出于清楚和示例的目的而完成。在某些情况下,通过仅引用有限数目的网络元件来描述流程的给定集合的功能性中的一个或多个可能是更容易的。应当领会,通信***100及其教导可容易地扩展,并且可以容纳大量组件以及更复杂的/精细的布置和配置。因此,所提供的示例不应当限制范围或抑制如潜在地应用于大量其它架构的通信***的宽泛的教导。
注意到前述流程图(即,图5和6)中的操作仅图示了可以由通信***100或在通信***100内执行的可能的相关场景和模式中的一些也是重要的。可以在适当的情况下删除或移除这些操作中的一些,或者可以在不背离本公开的范围的情况下相当地修改或改变这些操作。另外,已经将多个这些操作描述为与一个或多个附加操作同时地或并行地执行。然而,可以相当地更改这些操作的定时。出于示例和讨论的目的,提供了前述操作流程。通信***9提供大量的灵活性,因为可以在不背离本公开的教导的情况下提供任何适合的布置、年表、配置和定时机制。
尽管已经关于特定布置和配置详细地描述了本公开,但是可以在不脱离本公开的范围的情况下显著地改变这些示例配置和布置。此外,可以基于特定需要和实现来组合、分离、消除或添加某些组件。另外,尽管已经关于促进通信过程的特定元件和操作图示了通信***9,但是这些元件和操作可以由实现通信***100的预期功能性的任何适合的架构、协议和/或过程替换。
对于本领域技术人员而言,众多其它改变、代替、变化、更改和修改可能被弄清,并且意图本公开包含如落在所附权利要求书的范围内的所有这样的改变、代替、变化、更改和修改。为了帮助美国专利和商标局(USPTO)并且另外帮助关于本申请发布的任何专利的任何读者解释附加到本申请的权利要求书,申请人希望注意到申请人:(a)不意图所附权利要求中的任何权利要求恳求美国法典第35章第112节的第六段(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中的任一个中的装置的机器可读指令。示例Y1是一种装置,其包括用于执行示例方法M1-M7中的任何方法的部件。在示例Y2中,示例Y1的主题可以可选地包括,包括处理器和存储器的用于执行方法的部件。在示例Y3中,示例Y2的主题可以可选地包括,包括机器可读指令的存储器。

Claims (25)

1.至少一种机器可读介质,包括一个或多个指令,所述一个或多个指令在被至少一个处理器执行时使得所述至少一个处理器:
在沙箱环境中运行应用,其中应用包括多个函数调用;
将用于应用的每个函数调用的参数记入日志;以及
将记入日志的参数存储在仿真表中供稍后在模拟环境中使用以模拟函数调用中的至少一个的执行。
2.根据权利要求1所述的至少一种机器可读介质,其中记入日志的参数包括函数调用、输入参数和输出参数。
3.根据权利要求1和2中任一项所述的至少一种机器可读介质,进一步包括一个或多个指令,所述一个或多个指令在被所述至少一个处理器执行时进一步使得所述至少一个处理器:
评定全部的记入日志的数据并且确定用于每个函数调用的输入到输出参数映射的普遍组合。
4.根据权利要求1-3中任一项所述的至少一种机器可读介质,进一步包括一个或多个指令,所述一个或多个指令在被所述至少一个处理器执行时进一步使得所述至少一个处理器:
移除不影响函数调用中的至少一个的输出的至少一个参数。
5.根据权利要求1-4中任一项所述的至少一种机器可读介质,其中仿真表中的数据包括可以由仿真模块在运行时间解释的每一函数调用的映射表。
6.根据权利要求1-5中任一项所述的至少一种机器可读介质,其中仿真表包括用于多个函数调用的多个记入日志的参数。
7.根据权利要求1-6中任一项所述的至少一种机器可读介质,进一步包括一个或多个指令,所述一个或多个指令在被所述至少一个处理器执行时进一步使得所述至少一个处理器:
将仿真表传送到电子设备。
8.根据权利要求1-7中任一项所述的至少一种机器可读介质,其中仿真表被用来在模拟环境中模拟第一个函数调用的执行而不必运行第一个函数调用,其中所述多个函数调用包括第一个函数调用。
9.一种装置,包括:
网络仿真模块,其被配置成:
在沙箱环境中运行应用,其中应用包括多个函数调用;
将用于应用的每个函数调用的参数记入日志;以及
将记入日志的参数存储在仿真表中供稍后在模拟环境中使用以模拟函数调用中的至少一个的执行。
10.根据权利要求9所述的装置,其中记入日志的参数包括函数调用、输入参数和输出参数。
11.根据权利要求9和10中任一项所述的装置,其中网络仿真模块被进一步配置成:
评定全部的记入日志的数据并且确定用于每个函数调用的输入到输出参数映射的普遍组合。
12.根据权利要求9-11中任一项所述的装置,其中网络仿真模块被进一步配置成:
梳理出不影响每个函数调用的输出的参数。
13.根据权利要求9-12中任一项所述的装置,其中仿真表中的数据包括可以由仿真模块在运行时间解释的每一函数调用的映射表。
14.根据权利要求9-13中任一项所述的装置,其中仿真表包括用于多个函数调用的多个记入日志的参数。
15.根据权利要求9-14中任一项所述的装置,其中网络仿真模块被进一步配置成:
将仿真表传送到电子设备。
16.根据权利要求9-15中任一项所述的装置,其中仿真表被用来在模拟环境中模拟第一个函数调用的执行而不必运行第一个函数调用,其中所述多个函数调用包括第一个函数调用。
17.一种方法,包括:
标识电子设备上的应用;以及
使用仿真表来模拟应用的执行,其中仿真表包括用于应用的每个函数调用的参数。
18.根据权利要求17所述的方法,其中参数包括输入参数和输出参数。
19.根据权利要求17和18中任一项所述的方法,进一步包括:
针对恶意软件的存在,分析应用的执行的模拟。
20.根据权利要求18-19中任一项所述的方法,其中仿真表中的数据包括可以由仿真模块在运行时间解释的每一函数调用的映射表。
21.根据权利要求18-20中任一项所述的方法,其中仿真表由网络元件创建并且从网络元件传送到电子设备。
22.根据权利要求18-21中任一项所述的方法,其中通过如下各项来创建仿真表:
在沙箱环境中运行应用;
将用于应用的每个函数调用的参数记入日志;以及
将记入日志的参数存储在仿真表中。
23.根据权利要求18-22中任一项所述的方法,其中在仿真表的创建期间,评定记入日志的数据并且确定用于每个函数调用的输入到输出参数映射的普遍组合。
24.一种用于应用的模拟的***,***包括:
网络仿真模块,其被配置成:
在沙箱环境中运行应用;
将用于应用的每个函数调用的参数记入日志;以及
将记入日志的参数存储在仿真表中供稍后在模拟环境中使用以模拟函数调用中的至少一个的执行而不必执行函数调用。
25.根据权利要求24所述的***,其中记入日志的参数包括函数调用、输入参数和输出参数。
CN201680037860.XA 2015-06-27 2016-05-24 应用的模拟 Active CN108093652B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/752911 2015-06-27
US14/752,911 US9846774B2 (en) 2015-06-27 2015-06-27 Simulation of an application
PCT/US2016/033853 WO2017003582A1 (en) 2015-06-27 2016-05-24 Simulation of an application

Publications (2)

Publication Number Publication Date
CN108093652A true CN108093652A (zh) 2018-05-29
CN108093652B CN108093652B (zh) 2021-08-24

Family

ID=57602477

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680037860.XA Active CN108093652B (zh) 2015-06-27 2016-05-24 应用的模拟

Country Status (5)

Country Link
US (1) US9846774B2 (zh)
EP (1) EP3314503B1 (zh)
JP (1) JP6583838B2 (zh)
CN (1) CN108093652B (zh)
WO (1) WO2017003582A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783146B2 (en) 2016-07-19 2020-09-22 Sap Se Join operations in hybrid main memory systems
US11977484B2 (en) 2016-07-19 2024-05-07 Sap Se Adapting in-memory database in hybrid memory systems and operating system interface
US10540098B2 (en) 2016-07-19 2020-01-21 Sap Se Workload-aware page management for in-memory databases in hybrid main memory systems
US10698732B2 (en) 2016-07-19 2020-06-30 Sap Se Page ranking in operating system virtual pages in hybrid memory systems
US10474557B2 (en) 2016-07-19 2019-11-12 Sap Se Source code profiling for line-level latency and energy consumption estimation
US10452539B2 (en) * 2016-07-19 2019-10-22 Sap Se Simulator for enterprise-scale simulations on hybrid main memory systems
US10387127B2 (en) 2016-07-19 2019-08-20 Sap Se Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases
US10437798B2 (en) 2016-07-19 2019-10-08 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US11010379B2 (en) 2017-08-15 2021-05-18 Sap Se Increasing performance of in-memory databases using re-ordered query execution plans
RU2659742C1 (ru) 2017-08-17 2018-07-03 Акционерное общество "Лаборатория Касперского" Способ эмуляции исполнения файлов, содержащих инструкции, отличные от машинных
CN110908893A (zh) * 2019-10-08 2020-03-24 深圳逻辑汇科技有限公司 联邦学习的沙盒机制
CN113722020B (zh) * 2020-05-26 2024-06-11 腾讯科技(深圳)有限公司 接口调用方法、装置和计算机可读存储介质
US20210374229A1 (en) * 2020-05-28 2021-12-02 Mcafee, Llc Methods and apparatus to improve detection of malware in executable code
CN113759749B (zh) * 2020-06-02 2024-05-03 青岛海信日立空调***有限公司 一种冷水机组仿真***

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147195A (ja) * 1994-11-16 1996-06-07 Oki Electric Ind Co Ltd 障害検出/記録装置
JP2004517390A (ja) * 2000-10-24 2004-06-10 ヴィースィーアイエス インコーポレイテッド 解析仮想マシン
KR100951852B1 (ko) * 2008-06-17 2010-04-12 한국전자통신연구원 응용 프로그램 비정상행위 차단 장치 및 방법
US20100192223A1 (en) * 2004-04-01 2010-07-29 Osman Abdoul Ismael Detecting Malicious Network Content Using Virtual Environment Components
CN102034050A (zh) * 2011-01-25 2011-04-27 四川大学 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法
US20110307951A1 (en) * 2010-06-11 2011-12-15 M86 Security, Inc. System and method for blocking the transmission of sensitive data using dynamic data tainting
US20130097706A1 (en) * 2011-09-16 2013-04-18 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
CN103186740A (zh) * 2011-12-27 2013-07-03 北京大学 一种Android恶意软件的自动化检测方法
CN103685251A (zh) * 2013-12-04 2014-03-26 电子科技大学 一种面向移动互联网的Android恶意软件检测平台
US20150007312A1 (en) * 2013-06-28 2015-01-01 Vinay Pidathala System and method for detecting malicious links in electronic messages
US20150020066A1 (en) * 2013-07-12 2015-01-15 The Boeing Company Systems and methods of analyzing a software component
CN104462973A (zh) * 2014-12-18 2015-03-25 上海斐讯数据通信技术有限公司 移动终端中应用程序的动态恶意行为检测***及方法
US20150089647A1 (en) * 2013-09-26 2015-03-26 F-Secure Corporation Distributed Sample Analysis

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0883198A (ja) * 1994-09-12 1996-03-26 Toshiba Corp プログラムシミュレーション装置
JPH08147196A (ja) * 1994-11-17 1996-06-07 Nippon Telegr & Teleph Corp <Ntt> システムコールエミュレータ
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
US7814308B2 (en) * 2004-08-27 2010-10-12 Microsoft Corporation Debugging applications under different permissions
US8281401B2 (en) * 2005-01-25 2012-10-02 Whitehat Security, Inc. System for detecting vulnerabilities in web applications using client-side application interfaces
US8135994B2 (en) * 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
CN101329638B (zh) * 2007-06-18 2011-11-09 国际商业机器公司 程序代码的并行性的分析方法和***
US8806639B2 (en) * 2011-09-30 2014-08-12 Avaya Inc. Contextual virtual machines for application quarantine and assessment method and system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147195A (ja) * 1994-11-16 1996-06-07 Oki Electric Ind Co Ltd 障害検出/記録装置
JP2004517390A (ja) * 2000-10-24 2004-06-10 ヴィースィーアイエス インコーポレイテッド 解析仮想マシン
US20100192223A1 (en) * 2004-04-01 2010-07-29 Osman Abdoul Ismael Detecting Malicious Network Content Using Virtual Environment Components
KR100951852B1 (ko) * 2008-06-17 2010-04-12 한국전자통신연구원 응용 프로그램 비정상행위 차단 장치 및 방법
US20110307951A1 (en) * 2010-06-11 2011-12-15 M86 Security, Inc. System and method for blocking the transmission of sensitive data using dynamic data tainting
CN102034050A (zh) * 2011-01-25 2011-04-27 四川大学 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法
US20130097706A1 (en) * 2011-09-16 2013-04-18 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
CN103186740A (zh) * 2011-12-27 2013-07-03 北京大学 一种Android恶意软件的自动化检测方法
US20150007312A1 (en) * 2013-06-28 2015-01-01 Vinay Pidathala System and method for detecting malicious links in electronic messages
US20150020066A1 (en) * 2013-07-12 2015-01-15 The Boeing Company Systems and methods of analyzing a software component
US20150089647A1 (en) * 2013-09-26 2015-03-26 F-Secure Corporation Distributed Sample Analysis
CN103685251A (zh) * 2013-12-04 2014-03-26 电子科技大学 一种面向移动互联网的Android恶意软件检测平台
CN104462973A (zh) * 2014-12-18 2015-03-25 上海斐讯数据通信技术有限公司 移动终端中应用程序的动态恶意行为检测***及方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHRISTOPH ALME ET AL: ""MacAfee anti-malware engines:values and technologies"", 《VALUES AND TECHNOLOGIES》 *
IGOR SANTOS ET AL: ""OPEM:A Static-dynamic approach for machine-learning-based malware detetion"", 《7TH INTERNATIONAL CONFERENCE ON KNOWLEDGE MANAGEMENT IN ORGANIZATIONS: SERVICE AND CLOUD COMPUTING》 *
LOK-KWONG YAN ET ALL: ""V2E:Combining hardware virtualization and software emulation for transparent and ectensible malware analysis"", 《PROCEEDINGS OF THE 8TH ACM SIGPLAN/SIGOPS CONFERENCE ON VIRTUAL EXECUTION ENVIRONMENTS VEE》 *
MANUEL EGELE ET AL: ""A survey on automated dynamic malware-analiysis techniques and tools"", 《ACM COMPUTAING SURVEYS》 *
THOMAS BLASING ET AL: ""An android allication sandbox system for suspicious software detetion"", 《MALICIOUS AND UNWANTED SOFTWARE(WALWARE),2015 5TH INTERNATIONAL CONFERENCE ON IEEE,PISCATAWAY》 *

Also Published As

Publication number Publication date
WO2017003582A1 (en) 2017-01-05
US9846774B2 (en) 2017-12-19
US20160378977A1 (en) 2016-12-29
EP3314503A4 (en) 2019-05-08
JP6583838B2 (ja) 2019-10-02
JP2018525714A (ja) 2018-09-06
EP3314503B1 (en) 2023-12-13
EP3314503A1 (en) 2018-05-02
CN108093652B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN108093652A (zh) 应用的模拟
US20210029150A1 (en) Determining a reputation for a process
US20200285516A1 (en) Systems and methods for developing a web application using micro frontends
CN107683478A (zh) 缓解恶意软件的***和方法
CN107949834A (zh) 虚拟化可信存储装置
CN106796638A (zh) 使用飞地认证进行数据验证
CN107980123A (zh) 敏感数据的保护
CN107430662A (zh) 识别进程的恶意运行
CN107873129A (zh) 用于不受管理的设备的安全服务
US9160815B2 (en) Method and apparatus for virtual machine interoperability
CN107409120A (zh) 恶意外设的检测
Zhang et al. MrHeter: improving MapReduce performance in heterogeneous environments
CN107431694A (zh) 加密密钥取回
CN107873095A (zh) 使用数字证书的恶意软件检测
JP2017522641A (ja) マルウェアのトレースおよび検知のためのシステムおよび方法
CN107409119A (zh) 通过网络特性来确定信誉
CN107960126A (zh) 基于分析事件的漏洞利用检测
Yilmaz et al. Panel: The future of research in modeling & simulation
CN107534644A (zh) 确定数字证书的信誉
Murugesan et al. Cloud based mobile application testing
CN107889551A (zh) 用于识别恶意软件的异常检测
Khalil et al. Cloud simulators–an evaluation study
CN109196508A (zh) 云网络中的数据安全
Prades et al. Multi-tenant virtual GPUs for optimising performance of a financial risk application
Nunez et al. A formal framework to analyze cost and performance in map-reduce based applications

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