CN110737895A - 使用静态和动态恶意软件分析来扩展恶意软件的动态检测 - Google Patents

使用静态和动态恶意软件分析来扩展恶意软件的动态检测 Download PDF

Info

Publication number
CN110737895A
CN110737895A CN201910419646.6A CN201910419646A CN110737895A CN 110737895 A CN110737895 A CN 110737895A CN 201910419646 A CN201910419646 A CN 201910419646A CN 110737895 A CN110737895 A CN 110737895A
Authority
CN
China
Prior art keywords
software program
malware analysis
analysis results
api
malicious code
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
CN201910419646.6A
Other languages
English (en)
Other versions
CN110737895B (zh
Inventor
S·R·达喀尔
A·W·萨尔达尼亚
A·莫汉塔
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.)
Juniper Networks Inc
Original Assignee
Juniper Networks 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 Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN110737895A publication Critical patent/CN110737895A/zh
Application granted granted Critical
Publication of CN110737895B publication Critical patent/CN110737895B/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/562Static detection
    • 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
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本公开的实施例涉及使用静态和动态恶意软件分析来扩展恶意软件的动态检测。一种设备,设备接收软件程序,执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果,并且基于软件程序的动态恶意软件分析生成调用图表。设备在软件程序的动态恶意软件分析期间利用调用图表来标识软件程序的退出和/或软件程序的强制终止,并且基于标识软件程序的退出和/或软件程序的强制终止来执行软件程序的静态恶意软件分析。设备基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果,并且将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果。设备基于经结合的恶意软件分析结果执行一个或多个动作。

Description

使用静态和动态恶意软件分析来扩展恶意软件的动态检测
相关申请
本申请基于美国专利法第35章第119条要求于2018年7月19日提交的印度专利申请第201841026993号的优先权,该案的内容以整体引用并入本文。
技术领域
本公开的实施例涉及恶意软件的检测领域,更具体地,涉及使用静态和动态恶意软件分析来扩展恶意软件的动态检测。
背景技术
如果软件程序(例如,二进制软件程序)在执行期间没有表现出防御(armoring),则在沙盒内部执行的软件程序可以标识软件程序所使用的所有应用编程接口(API)。记录软件程序所使用的API踪迹对理解软件程序的行为和帮助确定软件程序是否是恶意的(例如,是恶意软件或者包括恶意软件)十分重要。然而,恶意软件使用不同种类的防御来阻止沙盒中的软件程序的动态恶意软件分析,这阻止了API踪迹的记录。例如,恶意软件可以检测软件程序正在沙盒内执行并且可以退出软件程序以阻止指示恶意行为的API踪迹的标识。
发明内容
根据一些实施方式,方法可以包括:接收来自客户端设备的软件程序,以及将软件程序提供至沙盒。方法可以包括:经由沙盒执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果,并且基于软件程序的动态恶意软件分析生成调用图表(graph)。方法可以包括:在软件程序的动态恶意软件分析期间利用调用图表来标识软件程序的退出和/或软件程序的强制终止中的至少一个,并且基于标识软件程序的退出和/或软件程序的强制终止中的至少一个,经由沙盒执行软件程序的静态恶意软件分析。方法可以包括:基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果,并且将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果。方法可以包括:基于经结合的恶意软件分析结果执行一个或多个动作。
根据一些实施方式,设备可以包括一个或多个存储器和一个或多个处理器,该一个或多个处理器用以接收来自客户端设备的软件程序,并且执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果。一个或多个处理器可以基于软件程序的动态恶意软件分析生成调用图表,并且可以在软件程序的动态恶意软件分析期间利用调用图表来标识软件程序的退出和软件程序的强制终止中的至少一个。一个或多个处理器可以基于标识软件程序的退出和软件程序的强制终止中的至少一个来执行软件程序的静态恶意软件分析,并且可以基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果。一个或多个处理器可以将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果,并且可以移除在经结合的恶意软件分析结果中被提供的应用编程接口(API)踪迹,该API踪迹是在经结合的恶意软件分析结果中被提供的其它API踪迹的子集,其中,修改的恶意软件分析结果可以是基于从经结合的恶意软件分析结果移除作为其它踪迹的子集的API踪迹来生成的。一个或多个处理器可以基于修改的恶意软件分析结果执行一个或多个动作。
根据一些实施方式,非瞬态计算机可读介质可以存储指令,该指令包括一个或多个指令,该一个或多个指令在由设备的一个或多个处理器执行时使一个或多个处理器接收来自客户端设备的软件程序,并且执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果,其中,动态恶意软件分析结果包括标识在软件程序中被提供的一个或多个应用编程接口(API)踪迹的信息。一个或多个指令可以使一个或多个处理器基于软件程序的动态恶意软件分析生成调用图表,并且在软件程序的动态恶意软件分析期间利用调用图表来标识软件程序的退出或软件程序的强制终止中的至少一个。一个或多个指令可以使一个或多个处理器基于标识软件程序的退出或软件程序的强制终止中的至少一个来执行软件程序的静态恶意软件分析结果,并且基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果,其中,静态恶意软件分析结果包括标识在软件程序中被提供的一个或多个附加API踪迹的信息。一个或多个指令可以使一个或多个处理器将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果,并且基于经结合的恶意软件分析结果标识软件程序中的恶意代码。一个或多个指令可以使一个或多个处理器基于标识软件程序中的恶意代码来执行一个或多个动作。
附图说明
图1A至图1J是本文所描述的示例实施方式的示意图。
图2是可以实施本文所描述的系统和/或方法的示例环境的示意图。
图3是图2的一个或多个设备的示例组件的示意图。
图4至图6是用于使用静态和动态恶意软件分析来扩展恶意软件的动态检测的示例过程的流程图。
具体实施方式
下面对示例实施方式的详细描述参考附图。相同的附图标记在不同的附图中可以标识相同的或者相似的元素。
在沙盒中引入反防御技术可能有助于实现软件程序的动态恶意软件分析。然而,当前的恶意软件利用实施现有的或者新的防御技术的方法,这极大地削弱了沙盒内的动态恶意软件分析的有效性。例如,假设软件程序利用下面的API调用(例如,API踪迹)序列来表现出恶意活动:
VirtualAlloc()
VirtualProtect()
IsDebuggerPresent()
Sleep()
CreateProcessInternalW()
NtUnmapViewOfSection()
WriteProcessMemory()
GetThreadContext()
SetThreadContext()
Exit()。
如果软件程序被提供至沙盒以进行动态恶意软件分析,则沙盒可能不能够使存在于软件程序(例如,其隐藏恶意软件)中的任何防御失效,因为沙盒不包括任何反防御解决方案或者因为恶意软件已经引入了对沙盒未知的新的防御技术。例如,在上面的软件程序中,如果没有对IsDebuggerPresent()API调用实施反防御并且如果软件程序正在利用IsDebuggerPresent()API调用作为防御技术,该防御技术在软件程序进行调试时禁用程序执行,则沙盒仅仅可以标识软件程序中的下面的API踪迹:
VirtualAlloc()
VirtualProtect()
IsDebuggerPresent()
Exit()。
因此,防御技术减少了在API踪迹中被标识的API调用的数量,这会导致由沙盒进行的恶意软件检测更差。
本文中所描述的一些实施方式提供安全平台,该安全平台使用静态和动态恶意软件分析来扩展恶意软件的动态检测。例如,安全平台可以接收来自客户端设备的软件程序,并且可以将软件程序提供至沙盒。安全平台可以经由沙盒执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果,并且可以基于软件程序的动态恶意软件分析生成调用图表。安全平台可以在软件程序的动态恶意软件分析期间利用调用图表来标识软件程序的退出和/或软件程序的强制终止中的至少一个,并且可以经由沙盒基于标识软件程序的退出和/或软件程序的强制终止中的至少一个来执行软件程序的静态恶意软件分析。安全平台可以基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果,并且可以将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果。安全平台可以基于经结合的恶意软件分析结果执行一个或多个动作。
以这种方式,安全平台可以经由沙盒通过将软件程序的动态恶意软件分析与静态恶意软件分析结合来检测针对利用防御技术的软件程序的API踪迹。安全平台可以确定在恶意软件未使用防御技术的情况下已经被调用和记录的API,从而改进对软件程序的API踪迹的标识并且提供改进的恶意软件检测。单独使用针对具有恶意软件的软件程序的静态恶意软件分析可能毫无意义,除非软件程序被解包并且在软件程序被包装时需要全仿真,这实施起来非常困难和复杂。因此,安全平台将软件程序的静态恶意软件分析与软件程序的动态恶意软件分析结合,这会提供软件程序在动态恶意软件分析期间被解包的优点。
图1A至图1J是本文所描述的示例实施方式100的示意图。如图1A所示,用户设备可以与安全平台和用户相关联。在一些实施方式中,用户可以与客户端设备交互(例如,经由客户端设备所提供的用户界面)以使客户端设备将软件程序(例如,被称为软件程序)提供至安全平台。在一些实施方式中,基于客户端设备将软件程序标识为可能包括恶意软件(例如,恶意内容)(例如,在用户没有采取关于软件程序的任何动作的情况下),基于软件程序被下载至客户端,基于网络设备(例如,防火墙、代理设备、边缘设备等)在将软件程序发送至客户端设备之前、同时或者之后将软件程序路由发送至安全平台等,软件程序可以从客户端设备被重新路由发送至安全平台。
如图1A中并且通过附图标记105进一步所示的,安全平台可以接收从客户端设备被重新路由发送的可能包含恶意软件的软件程序。在一些实施方式中,软件程序可能包括恶意软件、形成一个或多个应用编程接口(API)踪迹(例如,其可以或者可以不指示恶意活动)的一个或多个API调用、一个或多个函数调用等。在一些实施方式中,API调用可以包括由诸如Windows操作系统、Linux操作系统、苹果iOS等系统和/或操作系统提供的API。
如图1B中并且通过附图标记110所示的,安全平台可以将软件程序提供至与安全平台相关联的沙盒。在一些实施方式中,安全平台可以包括执行软件程序的动态恶意软件分析以获得API调用踪迹的沙盒或者沙盒代理或者与其相关联。在一些实施方式中,安全平台(例如,经由沙盒)可以执行软件程序的静态恶意软件分析以获得API调用踪迹。在一些实施方式中,沙盒可以包括静态恶意软件分析模块,该静态恶意软件分析模块被实施为在正被分析的软件程序外部的程序或者正在正被分析的软件程序内执行的分析代理动态链接库(DLL)的一部分。
如在图1C中并且通过附图标记115所示的,安全平台(例如,经由沙盒)可以执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果。例如,动态恶意软件分析结果可以包括一个或多个API踪迹,诸如,图1C中所示的API踪迹(例如,API 1、API 2、API 3和API 4)。在一些实施方式中,安全平台(例如,经由沙盒)可以经由API挂载机制(例如,修改API调用的行为和流程的机制)、一种或者多种动态仪表测量(instrumentation)机制(例如,PIN——用于创建分析工具的平台、DynamoRIO——动态二进制仪表测量架构等)等执行软件程序的动态恶意软件分析(例如,API呼叫追踪)。
如图1D中并且通过附图标记120所示的,安全平台可以基于软件程序的动态恶意软件分析生成调用图表。在一些实施方式中,当软件程序执行时,安全平台(例如,经由沙盒)可以追踪和保存软件程序中的函数调用的地址,并且可以基于函数调用(例如,FUNC1、FUNC2、……、FUNC8,如图1D所示)构建调用图表。在一些实施方式中,如果函数调用包括API地址(例如,AP1、AP2、……、API 12,如图1D所示),则安全平台可以将函数调用标记为API(例如,Win32API)。
虽然安全平台可以利用函数调用来构建调用图表,但是在一些实施方式中,安全平台可以使用产生函数调用的调用汇编指令(例如,在软件程序中)的地址来构建类似的调用图表。由安全平台构建的任何一个调用图表随后都可以以类似的方式被安全平台调用。使用被调用方地址为函数调用构建调用图表和添加节点入口可能对处理这样的情况很有用:在函数内部,恶意软件解包并且执行解包模式下的跳转(JMP)命令,该JMP命令可能无法作为需要被插入调用图表中的函数调用而被追踪。
备选地,安全平台可以追踪由软件程序进行的存储器分配,诸如,写入被转变成可执行的页面或者是可执行的页面的区域中的VirtualAlloc()存储器调用或者存储器,可以追踪到这些区域的跳转命令,可以处理等同于函数调用的跳转命令,可以将跳转命令插入调用图表中等。
在一些实施方式中,如果安全平台正在使用API挂载确定函数调用追踪,并且由于一些被挂载的API函数可能受限于API的固定集合,因此对于每个被标识的API,安全平台可以通过走上存储器堆栈和通过使用来自函数调用的返回地址从API反向构建调用图表,直到到达软件程序的起点为止。在一些实施方式中,如果安全平台正在使用仪表测量实用程序,诸如,PIN或者DynamoRIO,则安全平台可以创建允许构建调用图表的调用指令。
如图1D中进一步所示的,调用图表的阴影节点可以与API(例如,Win32API)相对应,并且调用图表的非阴影节点可以与被称为在到API的途中的中间函数调用相对应。如在图1D中并且通过附图标记125所示的,安全平台可以在动态恶意软件分析期间利用调用图表来标识软件程序的退出、软件程序的强制终止等。在一些实施方式中,安全平台可以利用软件程序的动态恶意软件分析,直到安全平台确定软件程序正在退出、软件程序正被强制退出(例如,强制终止)等为止。
在一些实施方式中,当安全平台确定软件程序正在退出、软件程序正被强制退出等时,安全平台可以暂停软件程序并且可以指示静态恶意软件分析模块执行软件程序的静态恶意软件分析。例如,如在图1E中并且通过附图标记130所示的,当调用图表标识软件程序的退出、软件程序的强制终止等时,安全平台可以执行软件程序的静态恶意软件分析。在这种实施方式中,安全平台可以将调用图表和地址提供至静态恶意软件分析模块,使得静态恶意软件分析模块可以进行静态恶意软件分析。对于调用图表中的每个节点,静态恶意软件分析模块可以从节点的地址向前反汇编指令,并且可以追踪控制流程直到到达API节点为止。静态恶意软件分析模块可以回头追踪并且继续相同的过程直到所有控制流程途径被覆盖为止,从起始地址开始。通过使用该过程,静态恶意软件分析模块可以创建与动态API追踪相似的多个API调用踪迹。
如在图1F中并且通过附图标记135所示的,安全平台(例如,经由沙盒)可以基于软件程序的静态恶意软件分析生成静态恶意软件分析结果。在一些实施方式中,静态恶意软件分析结果可以包括一个或多个API踪迹,诸如,第一API踪迹(例如,API 5、API 6、API 7和API 8)、第二API踪迹(例如,API 1、API 2、API 3、API 4、API 5、API 7和API 8)等。
如在图1G中并且通过附图标记140所示的,安全平台(例如,经由沙盒)可以将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果。在一些实施方式中,经结合的恶意软件分析结果可以包括通过动态恶意软件分析所标识的API踪迹和通过静态恶意软件分析所标识的API踪迹。例如,如在图1G中进一步所示的,经结合的恶意软件分析结果可以包括多个API踪迹,诸如,第一API踪迹(例如,API 1、API 2、API 3和API4)、第二API踪迹(例如,API 1、API 2、API 5、API 7、API 8、API 9和API 12)、第三API踪迹(例如,API 1、API 2、API 5、API 7、API 8、API 9、API 10、API 11和API 12)、第四API踪迹(例如,API 1、API 7、API 8、API 9、API 10和API 11)、第五API踪迹(例如,API 1、API2、API 3、API 7、API 8、API 9、API 10、API 11和API 12)、第六API踪迹(例如,API 1、API2、API 3、API 4、API 5、API 7和API 8)等。在一些实施方式中,第一API踪迹可以与动态恶意软件分析结果相似,并且第六API踪迹可以被标识(例如,由安全平台)为API的恶意序列,该API的恶意序列应该由动态恶意软件分析记录,但是并非是因为恶意软件的防御。
在一些实施方式中,安全平台可以基于已知恶意API踪迹的列表标识经结合的恶意软件分析结果中的恶意API踪迹。在一些实施方式中,安全平台可以基于机器学习模型(例如,分类器机器学习模型)标识经结合的恶意软件分析结果中的恶意API踪迹。
在一些实施方式中,安全平台可以利用历史恶意API踪迹(例如,标识被发现是恶意的API踪迹的历史信息)对机器学习模型执行训练操作。例如,安全平台可以将历史恶意API踪迹分离成训练集、验证集、测试集等。在一些实施方式中,安全平台可以使用例如无监督的训练程序和基于历史恶意API踪迹的训练集来训练机器学习模型。例如,安全平台可以执行降维以将历史恶意API踪迹减少至最小特征集,从而减少用以训练机器学习模型的资源(例如,处理资源、存储器资源),并且可以将分类技术应用于最小特征集。
在一些实施方式中,安全平台可以使用逻辑回归分类技术来确定类别结果(例如,历史API踪迹是恶意的)。附加地或者备选地,安全平台可以使用朴素贝叶斯分类器技术。在这种情况下,安全平台可以执行二进制递归分区以将历史恶意API踪迹分成分区和/或分支,并且使用分区和/或分支来进行预测(例如,历史恶意API踪迹是恶意的)。基于使用递归分区,相对于数据点的手动的线性分类和分析,安全平台可以减少计算资源的利用,从而使得能够使用数以千计的、数以百万计的或者数以亿计的数据点来训练机器学习模型,比起使用较少的数据点,这可以产生更准确的模型。
附加地或者备选地,安全平台可以使用支持向量机(SVM)分类器技术在训练集的数据点之间生成非线性边界。在这种情况下,非线性边界被用来将测试数据分类成特定类。
附加地或者备选地,安全平台可以使用包括从主题专家接收到机器学习模型的输入的监督训练程序来训练机器学习模型,相对于无监督的训练程序,这可以减少用以训练活动自动性的机器学习模型的时间量、处理资源量等。在一些实施方式中,安全平台可以使用一种或者多种其它模型训练技术,诸如,神经网络技术、潜在语义索引技术等。例如,安全平台可以执行人工神经网络处理技术(例如,使用双层前馈神经网络架构、三层前馈神经网络架构等)以执行关于历史恶意API踪迹的最优区域的模式标识。在这种情况下,使用人工神经网络处理技术可以通过变得对有噪声的、不精确的或者不完全的数据更稳健和通过使得安全平台能够检测人类分析家或者系统使用不太复杂的技术不可检测的模式和/或趋势,来改进由安全平台生成的训练机器学习模型的准确性。
在一些实施方式中,安全平台可以利用一个或多个机器学习模型来分析动态恶意软件分析结果和/或静态恶意软件分析结果(例如,API踪迹),以确定是否存在恶意的API踪迹。例如,安全平台仅仅可以通过动态恶意软件分析来分析API踪迹。如果安全平台确定这种API踪迹的分析不足(例如,导致API踪迹的阈值量未被确定)、导致没有恶意软件检测、检测可能的提前退出(例如,由于提前退出或者由于防御)等,则安全平台可以分析从静态恶意软件分析获得的其它API调用踪迹。以这种方式,安全平台可以被授权访问更多的API调用踪迹,并且可以更好地检测软件程序中的恶意软件。在一些实施方式中,安全平台可以确定来自动态恶意软件分析的API踪迹足够(例如,导致API踪迹的阈值量被确定),并且可以不执行静态恶意软件分析。以这种方式,安全平台可以节省将会以其他方式被用来执行静态恶意软件分析的资源(例如,处理资源、存储器资源等)。
如在图1H中并且通过附图标记145所示的,安全平台可以从在经结合的恶意软件分析结果中被标识的多个API踪迹(例如,图1G中所示)移除作为其它API踪迹的子集的API踪迹。在一些实施方式中,安全平台可以在分析动态恶意软件分析结果和/或静态恶意软件分析结果(例如,API踪迹)之前移除作为其它API踪迹的子集的API踪迹(例如,从动态恶意软件分析结果和/或静态恶意软件分析结果)。以这种方式,安全平台可以标识冗余的API踪迹并且节省将会以其他方式被用来分析这些冗余的API踪迹的资源(例如,处理资源、存储器资源等)。例如,如图1H所示,第一API踪迹(例如,API 1、API 2、API 3和API 4)是第六API踪迹(例如,API 1、API 2、API 3、API4、API 5、API 7和API 8)的子集。因此,安全平台可以从经结合的恶意软件分析结果移除第一API踪迹。
如在图1I中并且通过附图标记150所示的,安全平台可以基于经结合的恶意软件分析结果执行一个或多个动作。在一些实施方式中,安全平台可以基于对经结合的恶意软件分析结果中的一个或多个恶意API踪迹的标识执行一个或多个动作。
在一些实施方式中,一个或多个动作可以包括:安全平台修改软件程序以从软件程序移除恶意代码。例如,安全平台可以从软件程序移除一个或多个恶意API踪迹。以这种方式,安全平台可以阻止恶意代码蔓延到其它设备和/或其它软件程序。
在一些实施方式中,一个或多个动作可以包括:安全平台重新分析软件程序以核实所有恶意代码都已经被移除。例如,安全平台可以执行动态恶意软件分析和静态恶意软件分析以核实所有恶意代码都已经被从软件程序移除。以这种方式,安全平台可以确保没有恶意代码存在于软件程序中。
在一些实施方式中,一个或多个动作可以包括:安全平台重新修改软件程序以移除任何剩余的恶意代码。例如,如果安全平台确定有附加恶意代码保留在软件程序中,则安全平台可以从软件程序移除附加恶意代码。以这种方式,安全平台可以确保没有恶意代码存在于软件程序中。
在一些实施方式中,一个或多个动作可以包括:安全平台将经修改的程序提供至客户端设备以用于执行。例如,在核实所有恶意代码都被从软件程序移除之后,安全平台可以将软件程序提供至客户端设备,并且客户端设备可以执行软件程序。以这种方式,客户端设备可以执行没有恶意代码的软件程序。
在一些实施方式中,一个或多个动作可以包括:安全平台将使客户端设备修改软件程序以移除恶意代码的指令发送至客户端设备。例如,客户端设备保存被隔离的软件代码,并且安全平台可以使客户端设备从被隔离的软件程序移除一个或多个恶意API踪迹。以这种方式,安全平台可以阻止恶意代码感染客户端设备。
在一些实施方式中,如果客户端设备开始执行软件程序,则安全平台可以使客户端设备卸载和删除软件程序并且在卸载软件程序之后执行恶意软件检查。在一些实施方式中,安全平台可以具有代理,该代理在正在记录由软件程序在客户端设备上执行的同时所执行的每一件事的客户端设备上执行,并且安全平台可以使代理撤销软件程序所执行的动作。
在一些实施方式中,一个或多个动作可以包括:安全平台将使客户端设备向特定设备报告恶意程序的指令发送至客户端设备。例如,安全平台可以使客户端设备向特定设备报告来自软件程序的一个或多个恶意API踪迹。以这种方式,安全平台可以阻止恶意代码蔓延到特定设备。在一些实施方式中,安全平台可以使特定设备执行恶意软件检查并且/或者可以使特定设备执行上面关于客户端设备所描述的功能中的一个或多个功能。
在一些实施方式中,一个或多个动作可以包括:安全平台向特定设备报告恶意程序(例如,经由警报)。例如,安全平台可以向特定设备报告来自软件程序的一个或多个恶意API踪迹。以这种方式,安全平台可以阻止恶意代码蔓延到特定设备。
在一些实施方式中,一个或多个动作可以包括:安全平台阻止恶意软件程序在包括恶意软件程序的特定设备上被执行。例如,安全平台可以将不执行恶意软件程序的指令提供至特定设备,并且特定设备可以基于指令不执行恶意软件程序。以这种方式,安全平台可以阻止恶意代码蔓延到特定设备。
在一些实施方式中,一个或多个动作可以包括:安全平台从包括恶意程序的特定设备移除恶意软件程序。例如,安全平台可以将移除恶意软件程序的指令提供至特定设备,并且特定设备可以基于指令移除恶意软件程序。以这种方式,安全平台可以阻止恶意代码蔓延到特定设备。
如在图1J中并且通过附图标记155所示的,安全平台可以将标识经结合的恶意软件分析结果和恶意代码的指示的信息(例如,恶意API踪迹)提供至客户端设备。客户端设备可以接收标识经结合的恶意软件分析结果和恶意代码的指示的信息,并且可以将该信息呈现给用户。例如,客户端设备可以呈现经结合的恶意软件分析结果(例如,在第一API踪迹被移除的情况下)和第六API踪迹(例如,API 1、API 2、API 3、API 4、API 5、API 7和API 8)是恶意代码的指示。在一些实施方式,安全平台可以将指示软件程序包含恶意软件、恶意软件已经被移除和软件程序执行起来很安全的通知提供至客户端设备并且客户端设备可以呈现该通知。
以这种方式,用于使用静态和动态恶意软件分析扩展恶意软件的动态检测的过程的几个不同的阶段可以是自动化的,这可以消除人的主观性和过程中产生的废物,并且这可以提高过程的速度和效率并且节省计算资源(例如,处理器资源、存储器资源等)。此外,本文所描述的实施方式使用严谨的计算机化过程来执行之前未被执行或者之前使用主观的人类直觉或者输入来执行的任务或者作用。例如,当前不存在使用静态和动态恶意软件分析扩展恶意软件的动态检测的技术。最后,使用于使用静态和动态恶意软件分析扩展恶意软件的动态检测的过程自动化节省了将会以其他方式在尝试检测软件程序时被浪费的计算资源(例如,处理器资源、存储器资源等)。
如上所述,仅仅提供图1A至图1J作为示例。其它示例是可能的并且可以与关于图1A至图1J所描述的示例不同。
图2是可以实施本文所描述的系统和/或方法的示例环境200的示意图。如图2所示,环境200可以包括客户端设备210、安全平台220和网络230。环境200的设备可以经由有线连接、无线连接或者有线连接和无线连接的组合互相连接。
客户端设备210包括能够接收、生成、存储、处理和/或提供诸如本文所描述的信息等信息的一个或多个设备。例如,客户端设备210可以接收来自安全平台220的信息并且/或者将信息发送至安全平台220。在一些实施方式中,客户端设备210可以包括移动电话(例如,智能电话、无线电话等)、膝上型计算机、平板计算机、手持式计算机、游戏设备、可穿戴通信设备(例如,智能手表、一副智能眼镜等)、全球定位卫星(GPS)设备、服务器设备、个人计算机或者相似类型的设备。
安全平台220包括使用静态和动态恶意软件分析扩展恶意软件的动态检测的一个或多个设备。在一些实施方式中,安全平台220可以被设计成模块化的,使得某些软件组件可以按照特定需要被换入或者换出。这样,安全平台220可以被容易地和/或快速地重新配置以用于不同的用途。在一些实施方式中,安全平台220可以接收来自客户端设备210的信息和/或将信息传送至客户端设备220。
在一些实施方式中,如图所示,安全平台220可以被托管在云计算环境222中。值得注意的是,虽然本文所描述的实施方式将嵌入平台220描述为被托管在云计算环境222中,但是在一些实施方式中,安全平台220可以不是基于云的(即,可以被实施在云计算环境外面)或者可以是部分基于云的。
云计算环境222包括托管有安全平台220的环境。云计算环境222可以提供计算、软件、数据存取、存储等服务,这些服务不需要托管有安全平台220的(多个)系统和/或(多个)设备的物理位置和配置的终端用户知识。如图所示,云计算环境222可以包括一组计算资源224(统称为“计算资源224”和单独称为“计算资源224”)。
计算资源224包括一个或多个个人计算机、工作站计算机、服务器设备或者其它类型的计算和/或通信设备。在一些实施方式中,计算资源224可以托管安全平台220。云资源可以包括在计算资源224中执行的计算实例、设置在计算资源224中的存储设备、由计算资源224提供的数据传递设备等。在一些实施方式中,计算资源224可以经由有线连接、无线连接或者有线连接和无线连接的组合与其它计算资源224进行通信。
如图2中进一步所示的,计算资源224包括一组云资源,诸如,一个或多个应用(“APP”)224-1、一个或多个虚拟机(“VM”)224-2、虚拟化存储装置(“VS”)224-3、一个或多个管理程序(“HYP”)224-4等。
应用224-1包括一个或多个软件应用,该一个或多个软件应用可以被提供给客户端设备210或者由客户端设备210访问。应用224-1可以消除将软件应用安装在客户端设备210上或者执行客户端设备210上的软件应用的需要。例如,应用224-1可以包括与安全平台220相关联的软件和/或能够经由云计算环境222被提供的任何其它软件。在一些实施方式中,一个应用224-1可以经由虚拟机224-2将信息发送至一个或多个其它应用224-1/接收来自一个或多个其它应用224-1/的信息。
虚拟机224-2包括执行程序的机器(例如,计算机)的软件实现,如物理机。根据虚拟机224-2的用途和虚拟机224-2与任何实体机的对应关系,虚拟机224-2可以是系统虚拟机或者过程虚拟机。系统虚拟机可以提供完整的系统平台,该完整的系统平台支持完整的操作系统(“OS”)的执行。过程虚拟机可以执行单个程序,并且可以支持单个过程。在一些实施方式中,虚拟机224-2可以代表用户(例如,客户端设备210的用户或者安全平台220的操作者)执行,并且可以管理云计算环境222的基础设施,诸如,数据管理、同步或者长时间的数据传递。
虚拟化存储装置224-3包括一个或多个存储系统和/或一个或多个设备,其在计算资源224的存储系统或者设备内使用虚拟化技术。在一些实施方式中,在存储系统的背景下,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指逻辑存储与物理存储的抽象(或者分离),使得存储系统可以在不考虑物理存储装置或者异质结构的情况下被访问。分离可以允许存储系统的管理员在其如何管理针对终端用户的存储方面的灵活性。文件虚拟化可以消除在文件级被访问的数据与物理存储有文件的位置之间的依赖关系。这可以实现存储使用、服务器整合和/或无干扰文件迁移的执行的优化。
管理程序224-4可以提供硬件虚拟化技术,该硬件虚拟化技术允许多个操作系统(例如,“客户操作系统”)在诸如计算资源224等主机计算机上同时执行。管理程序224-4可以将虚拟操作平台呈现给客户操作系统,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。
网络230包括一个或多个有线和/或无线网络。例如,网络230可以包括蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDDMA)网络等)、公用陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公用交换电话网(PSTN))、私有网络、自组网络、内联网、互联网、基于光纤的网络等、和/或这些或者其它类型的网络的组合。
图2所示的设备和网络的数目和布置作为示例被提供。实际上,除了图2所示的那些之外,可能还会有附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图2所示的两个或者两个以上的设备可以被实施在单个设备内,或者图2所示的单个设备可以被实施为多个分布式设备。附加地或者备选地,环境200的设备集合(例如,一个或多个设备)可以执行被描述为正由环境200的另一设备集合执行的一个或多个功能。
图3是设备300的示例组件的示意图。设备300可以与客户端设备210、安全平台220和/或计算资源224相对应。在一些实施方式中,客户端设备210、安全平台220和/或计算资源224可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信接口370。
总线310包括组件,该组件允许设备300的组件之间的通信。处理器320被实施在硬件、固件或者硬件和软件的组合中。处理器320采取中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或者另一类型的处理组件的形式。在一些实施方式中,处理器320包括一个或多个处理器,该一个或多个处理器能够被编程以执行功能。存储器330包括随机存取存储器(RAM)、只读存储器(ROM)和/或存储供处理器320使用的信息和/或指令的另一种类型的动态或者静态存储设备(例如,闪速存储器、磁存储器和/或光学存储器)。
存储组件340存储与设备300的操作和使用相关的信息和/或软件。例如,存储组件340可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、压缩盘(CD)、数字多用盘(DVD)、软盘、磁盒、磁带和/或另一类型的非瞬态计算机可读介质连同对应的驱动器。
输入组件350包括组件,该组件允许设备300接收信息,诸如,经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。附加地或者备选地,输入组件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速计、陀螺仪和/或致动器)。输出组件360包括从设备300提供输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED))。
通信接口370包括类似收发器的组件(例如,收发器和/或分离的接收器和发送器),该类似收发器的组件使设备300能够与其它设备进行通信,诸如,经由有线连接、无线连接或者有线连接和无线连接的组合。通信接口370可以允许设备300接收来自另一设备的信息并且/或者将信息提供给另一设备。例如,通信接口370可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文所描述的一个或多个过程。设备300可以基于处理器320执行由诸如存储器330和/或存储组件340等非瞬态计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非瞬态存储器设备。存储器设备包括在单个物理存储设备内的存储器空间或者扩散到多个物理存储设备的存储器空间。
软件指令可以经由通信接口370从另一计算机可读介质或者从另一设备被读入存储器330和/或存储组件340中。当被执行时,被存储在存储器330和/或存储组件340中的软件指令可以使处理器320执行本文所描述的一个或多个过程。附加地或者备选地,硬连线电路装置可以代替软件指令或者与软件指令结合用以执行本文所描述的一个或多个过程。因此,本文所描述的实施方式并不限于硬件电路装置和软件的任何特定组合。
图3所示的组件的数目和布置作为示例被提供。实际上,除了图3所示的那些组件之外,设备300还可以包括附加组件、更少的组件、不同的组件或者不同地布置的组件。附加地或者备选地,设备300的组件集合(例如,一个或多个组件)可以执行被描述为由设备300的另一组件集合执行的一个或多个功能。
图4是用于使用静态和动态恶意软件分析来扩展恶意软件的动态检测的示例过程400的流程图。在一些实施方式中,图4的一个或多个过程框可以由安全平台(例如,安全平台220)执行。在一些实施方式中,图4的一个或多个过程框可以由另一设备或者与安全平台分离或者包括安全平台的一组设备,诸如,客户端设备(例如,客户端设备210)执行。
如图4所示,过程400可以包括:接收来自客户端设备的软件程序(框410)。例如,安全平台(例如,使用计算资源224、处理器320、通信接口370等)可以接收来自客户端设备的软件程序,如上面结合图1A至图2所描述的。
如图4中进一步所示的,过程400可以包括:将软件程序提供至沙盒(框420)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340等)可以将软件程序提供至沙盒,如上面结合图1A至图2所描述的。
如图4中进一步所示的,过程400可以包括:经由沙盒执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果(框430)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以经由沙盒执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果,如上面结合图1A至图2所描述的。
如图4中进一步所示的,过程400可以包括:基于软件程序的动态恶意软件分析生成调用图表(框440)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340等)可以基于软件程序的动态恶意软件分析生成调用图表,如上面结合图1A至图2所描述的。
如图4中进一步所示的,过程400可以包括:在软件程序的动态恶意软件分析期间利用调用图表标识软件程序的退出或者软件程序的强制终止中的至少一个(框450)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以在软件程序的动态恶意软件分析期间利用调用图表标识软件程序的退出或者软件程序的强制终止中的至少一个,如上面结合图1A至图2所描述的。
如图4中进一步所示的,过程400可以包括:经由沙盒基于标识软件程序的退出或者软件程序的强制终止中的至少一个执行软件程序的静态恶意软件分析(框460)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件330等)可以经由沙盒基于标识软件程序的退出或者软件程序的强制终止中的至少一个执行软件程序的静态恶意软件分析,如上面结合图1A至图2所描述的。
如图4中进一步所示的,过程400可以包括:基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果(框470)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果,如上面结合图1A至图2所描述的。
如图4中进一步所示的,过程400可以包括:将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果(框480)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340等)可以将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果,如上面结合图1A至图2所描述的。
如图4中进一步所示的,过程400可以包括:基于经结合的恶意软件分析结果执行一个或多个动作(框490)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330、通信接口370等)可以基于经结合的恶意软件分析结果执行一个或多个动作,如上面结合图1A至图2所描述的。
过程400可以包括附加实施方式,诸如,任何单个实施方式或者下面和/或结合本文其它部分所描述的一个或多个其它过程所描述的实施方式的任何组合。
在一些实施方式中,安全平台可以移除在经结合的恶意软件分析结果中被提供的应用编程接口(API)踪迹,该API踪迹是在经结合的恶意软件分析结果中被提供的其它API踪迹的子集。在一些实施方式中,当执行一个或多个动作时,安全平台可以修改软件程序以移除恶意代码和生成经修改的软件程序,可以将经修改的软件程序提供至客户端设备以用于执行,可以重新分析软件程序以核实恶意代码已经被从软件程序移除,和/或可以基于重新分析软件程序来重新修改软件程序以移除任何剩余的恶意代码。
在一些实施方式中,当执行一个或多个动作时,安全平台可以将使客户端设备修改软件程序以移除恶意代码的指令提供至客户端设备,可以将使客户端设备向特定设备报告软件程序和恶意代码的指令提供至客户端设备,可以向特定设备报告软件程序和恶意代码,可以阻止软件程序和恶意代码在包括软件程序和恶意代码的特定设备上被执行,和/或可以从包括软件程序和恶意代码的特定设备移除软件程序和恶意代码。
在一些实施方式中,当执行软件程序的动态恶意软件分析时,安全平台可以经由API挂载机制执行软件程序的应用编程接口(API)追踪,或者经由一个或多个动态仪表测量机制执行软件程序的API追踪。在一些实施方式中,当执行软件程序的静态恶意软件分析时,安全平台可以利用调用图表来执行软件程序的静态恶意软件分析。在一些实施方式中,动态恶意软件分析结果可以包括标识在软件程序中被提供的一个或多个应用编程接口(API)踪迹的信息,并且静态恶意软件分析结果可以包括标识在软件程序中被提供的一个或多个附加API踪迹的信息。
虽然图4示出了过程400的示例框,但是在一些实施方式中,与图4所示的那些相比较,过程400可以包括附加框、更少的框、不同的框或者不同地布置的框。附加地或者备选地,过程400的框中的两个或者两个以上的框可以被并行执行。
图5是用于使用静态和动态恶意软件分析来扩展恶意软件的动态检测的示例过程500的流程图。在一些实施方式中,图5的一个或多个过程框可以由安全平台(例如,安全平台220)执行。在一些实施方式中,图5的一个或多个过程框可以由另一设备或者与安全平台分离或者包括安全平台的一组设备,诸如,客户端设备(例如,客户端设备210)执行。
如图5所示,过程500可以包括:接收来自客户端设备的软件程序(框510)。例如,安全平台(例如,使用计算资源224、处理器320、通信接口370等)可以接收来自客户端设备的软件程序,如上面结合图1A至图2所描述的。
如图5中进一步所示的,过程500可以包括:执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果(框520)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果,如上面结合图1A至图2所描述的。
如图5中进一步所示的,过程500可以包括:基于软件程序的动态恶意软件分析生成调用图表(框530)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340等)可以基于软件程序的动态恶意软件分析生成调用图表,如上面结合图1A至图2所描述的。
如图5中进一步所示的,过程500可以包括:在软件程序的动态恶意软件分析期间利用调用图表标识软件程序的退出或者软件程序的强制终止中的至少一个(框540)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以在软件程序的动态恶意软件分析期间利用调用图表标识软件程序的退出或者软件程序的强制终止中的至少一个,如上面结合图1A至图2所描述的。
如图5中进一步所示的,过程500可以包括:基于标识软件程序的退出或者软件程序的强制终止中的至少一个,执行软件程序的静态恶意软件分析(框550)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340等)可以基于标识软件程序的退出或者软件程序的强制终止中的至少一个执行软件程序的静态恶意软件分析,如上面结合图1A至图2所描述的。
如图5中进一步所示的,过程500可以包括:基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果(框560)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以基于执行软件程序的静态恶意软件分析生成静态恶意软件分析结果,如上面结合图1A至图2所描述的。
如图5中进一步所示的,过程500可以包括:将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果(框570)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340等)可以将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果,如上面结合图1A至图2所描述的。
如图5中进一步所示的,过程500可以包括:移除在经结合的恶意软件分析结果中被提供的应用编程接口(API)踪迹,该API踪迹是在经结合的恶意软件分析结果中被提供的其它API踪迹的子集,其中,经修改的恶意软件分析结果是基于移除作为来自经结合的恶意软件分析结果的其它踪迹的子集的API踪迹来生成的(框580)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以移除在经结合的恶意软件分析结果中被提供的应用编程接口(API)踪迹,该API踪迹是在经结合的恶意软件分析结果中被提供的其它API踪迹的子集,如上面结合图1A至图2所描述的。在一些实施方式中,经修改的恶意软件分析结果可以是基于移除作为来自经结合的恶意软件分析结果的其它踪迹的子集的API踪迹来生成的。
如图5中进一步所示的,过程500可以包括:基于经修改的恶意软件分析结果执行一个或多个动作(框590)。例如,安全平台(例如,使用计算资源224、处理器320、通信接口370等)可以基于经修改的恶意软件分析结果执行一个或多个动作,如上面结合图1A至图2所描述的。
过程500可以包括附加实施方式,诸如,任何单个实施方式或者下面和/或结合本文其它部分所描述的一个或多个其它过程所描述的实施方式的任何组合。
在一些实施方式中,调用图表可以包括一个或多个应用编程接口(API)踪迹和一个或多个函数调用。在一些实施方式中,当执行一个或多个动作时,安全平台可以修改软件程序以移除恶意代码和生成修改软件程序,可以将经修改的软件程序提供至客户端设备以用于执行,可以重新分析软件程序以核实恶意代码已经被从软件程序移除,和/或可以基于重新分析软件程序来重新修改软件程序以移除任何剩余的恶意代码。
在一些实施方式中,当执行一个或多个动作时,安全平台可以将使客户端设备修改软件程序以移除恶意代码的指令提供至客户端设备,可以将使客户端设备向特定设备报告软件程序和恶意代码的指令提供至客户端设备,可以向特定设备报告软件程序和恶意代码,可以阻止软件程序和恶意代码在包括软件程序和恶意代码的特定设备上被执行,和/或可以从包括软件程序和恶意代码的特定设备移除软件程序和恶意代码。
在一些实施方式中,安全平台可以分析动态恶意软件分析结果以确定动态恶意软件分析结果是否足以标识软件程序中的恶意代码,并且当动态恶意软件分析结果不足以标识软件程序代码中的恶意代码时可以分析静态恶意软件分析结果以标识软件程序中的恶意代码。在一些实施方式中,安全平台可以基于经修改的恶意软件分析结果标识软件程序中的恶意代码。在一些实施方式中,动态恶意软件分析结果可以包括标识在软件程序中被提供的一个或多个应用编程接口(API)踪迹的信息,并且静态恶意软件分析结果可以包括标识在软件程序中被提供的一个或多个附加API踪迹的信息。
虽然图5示出了过程500的示例框,但是在一些实施方式中,与图5所示的那些相比较,过程500可以包括附加框、更少的框、不同的框或者不同地布置的框。附加地或者备选地,过程500的框中的两个或者两个以上的框可以被并行执行。
图6是用于使用静态和动态恶意软件分析来扩展恶意软件的动态检测的示例过程600的流程图。在一些实施方式中,图6的一个或多个过程框可以由安全平台(例如,安全平台220)执行。在一些实施方式中,图6的一个或多个过程框可以由另一设备或者与安全平台分离或者包括安全平台的一组设备,诸如,客户端设备(例如,客户端设备210)执行。
如图6所示,过程600可以包括:接收来自客户端设备的软件程序(框610)。例如,安全平台(例如,使用计算资源224、处理器320、通信接口370等)可以接收来自客户端设备的软件程序,如上面结合图1A至图2所描述的。
如图6中进一步所示的,过程600可以包括:执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果,其中,动态恶意软件分析结果包括标识在软件程序中被提供的一个或多个应用编程接口(API)踪迹的信息(框620)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以执行软件程序的动态恶意软件分析以生成动态恶意软件分析结果,如上面结合图1A至图2所描述的。在一些实施方式中,动态恶意软件分析结果可以包括标识在软件程序中被提供的一个或多个应用编程接口(API)踪迹的信息。
如图6中进一步所示的,过程600可以包括:基于软件程序的动态恶意软件分析生成调用图表(框630)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340等)可以基于软件程序的动态恶意软件分析生成调用图表,如上面结合图1A至图2所描述的。
如图6中进一步所示的,过程600可以包括:在软件程序的动态恶意软件分析期间利用调用图表标识软件程序的退出或者软件程序的强制终止中的至少一个(框640)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330、通信接口370等)可以在软件程序的动态恶意软件分析期间利用调用图表标识软件程序的退出或者软件程序的强制终止中的至少一个,如上面结合图1A至图2所描述的。
如图6中进一步所示的,过程600可以包括:基于标识软件程序的退出或者软件程序的强制终止中的至少一个执行软件程序的静态恶意软件分析(框650)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340、通信接口370等)可以基于标识软件程序的退出或者软件程序的强制终止中的至少一个执行软件程序的静态恶意软件分析,如上面结合图1A至图2所描述的。
如图6中进一步所示的,过程600可以包括:基于执行软件程序的静态恶意软件分析以生成静态恶意软件分析结果,其中,静态恶意软件分析结果包括标识在软件程序中被提供的一个或多个附加API踪迹的信息(框660)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以基于执行软件程序的静态恶意软件分析以生成静态恶意软件分析结果,如上面结合图1A至图2所描述的。在一些实施方式中,静态恶意软件分析结果可以包括标识在软件程序中被提供的一个或多个附加API踪迹的信息。
如图6中进一步所示的,过程600可以包括:将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果(框670)。例如,安全平台(例如,使用计算资源224、处理器320、存储组件340等)可以将动态恶意软件分析结果和静态恶意软件分析结果结合以生成经结合的恶意软件分析结果,如上面结合图1A至图2所描述的。
如图6中进一步所示的,过程600可以包括:基于经结合的恶意软件分析结果标识软件程序中的恶意代码(框680)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330等)可以基于经结合的恶意软件分析结果标识软件程序中的恶意代码,如上面结合图1A至图2所描述的。
如图6中进一步所示的,过程600可以包括:基于标识软件程序中的恶意代码来执行一个或多个动作(框690)。例如,安全平台(例如,使用计算资源224、处理器320、存储器330、通信接口370等)可以基于标识软件程序中的恶意代码来执行一个或多个动作,如上面结合图1A至图2所描述的。
过程600可以包括附加实施方式,诸如,任何单个实施方式或者下面和/或结合本文其它部分所描述的一个或多个其它过程描述的实施方式的任何组合。
在一些实施方式中,安全平台可以移除在经结合的恶意软件分析结果中被提供的API踪迹,该API踪迹是在经结合的恶意软件分析结果中被提供的其它API踪迹的子集。在一些实施方式中,当执行一个或多个动作时,安全平台可以修改软件程序以移除恶意代码和生成经修改的软件程序,可以将经修改的软件程序提供至客户端设备以用于执行,可以重新分析软件程序以核实恶意代码已经被从软件程序移除,和/或可以基于重新分析软件程序来重新修改软件程序以移除任何剩余的恶意代码。
在一些实施方式中,当执行一个或多个动作时,安全平台可以将使客户端设备修改软件程序以移除恶意代码的指令提供至客户端设备,可以将使客户端设备向特定设备报告软件程序和恶意代码的指令提供至客户端设备,可以向特定设备报告软件程序和恶意代码,可以阻止软件程序和恶意代码在包括软件程序和恶意代码的特定设备上被执行,和/或可以从包括软件程序和恶意代码的特定设备移除软件程序和恶意代码。
在一些实施方式中,当执行软件程序的动态恶意软件分析时,安全平台可以经由API挂载机制执行软件程序的API追踪,或者经由一个或多个动态仪表测量机制执行软件程序的API追踪。在一些实施方式中,安全平台可以分析动态恶意软件分析结果以确定动态恶意软件分析结果是否足以标识软件程序中的恶意代码,并且当动态恶意软件分析结果不足以标识软件程序代码中的恶意代码时可以分析静态恶意软件分析结果以标识软件程序中的恶意代码。
虽然图6示出了过程600的示例框,但是在一些实施方式中,与图6所示的那些相比较,过程600可以包括附加框、更少的框、不同的框或者不同地布置的框。附加地或者备选地,过程600的框中的两个或者两个以上的框可以被并行执行。
前面的公开内容提供了图示和描述,但是并非旨在于穷举或者使实施方式限于所公开的精确形式。修改和变型鉴于以上公开内容是可能的,或者可以从实施方式的实践中获得。
如本文所使用的,术语组件旨在被广泛地解释为硬件、固件或者硬件和软件的组合。
某些用户界面已经被描述于本文中和/或被示出于附图中。用户界面可以包括图形用户界面、非图形用户界面、基于文本的用户界面等。用户界面可以提供用于显示的信息。在一些实施方式中,用户可以与信息交互,诸如,通过经由设备的输入组件提供输入,该设备的输入组件提供用于显示的用户界面。在一些实施方式中,用户界面可以由设备和/或用户配置(例如,用户可以改变用户界面的大小、经由用户界面提供的信息、经由用户界面提供的信息的位置等)。附加地或者备选地,用户界面可以被预先配置为标准配置、基于其上显示有用户界面的设备的类型的特定配置、和/或基于与其上显示有用户界面的设备相关联的能力和/或规范的配置集合。
明显的是,本文所描述的系统和/或方法可以被实施在不同形式的硬件、固件或者硬件和软件的组合中。被用来实施这些系统和/或方法的实际专用控制硬件或者软件代码并不限于这些实施方式。因此,系统和/或方法的操作和行为在没有参考特定软件代码的情况下被描述于本文中,应当理解,软件和硬件可以被设计为基于本文的描述来实施系统和/或方法。
尽管在权利要求书中记载和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制可能的实施方式的公开。实际上,可以以未在权利要求中具体机载和/或未在说明书中具体公开的方式对这些特征中的许多特征进行组合。虽然下面列出的每个从属权利要求都可以直接取决于仅仅一个权利要求,但是可能的实施方式的公开内容包括与权利要求集合中的每个其它权利要求经结合的每个从属权利要求。
不应当将本文所使用的元素、动作或者指令解释为关键的或是必要的,除非明确被描述为如此。同样,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项,并且可以与“一个或多个”可交换地使用。此外,如本文所使用的,术语“集合”旨在包括一个或多个项(例如,相关项、无关项、相关项和无关项的组合等),并且可以与“一个或多个”可交换地使用。当仅有一个项时,使用术语“一个”或类似的语言。同样,如本文所使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在成为开放式术语。此外,短语“基于”旨在表示“至少部分地基于”,除非另有明确说明。

Claims (20)

1.一种方法,包括:
由设备接收来自客户端设备的软件程序;
由所述设备向沙盒提供所述软件程序;
由所述设备并且经由所述沙盒执行所述软件程序的动态恶意软件分析,以生成动态恶意软件分析结果;
由所述设备基于所述软件程序的所述动态恶意软件分析,生成调用图表;
由所述设备并且在所述软件程序的所述动态恶意软件分析期间,利用所述调用图表来标识以下中的至少一项:
所述软件程序的退出,或者
所述软件程序的强制终止;
由所述设备并且经由所述沙盒,基于标识所述软件程序的所述退出或者所述软件程序的所述强制终止中的所述至少一项,执行所述软件程序的静态恶意软件分析;
由所述设备基于执行所述软件程序的所述静态恶意软件分析,生成静态恶意软件分析结果;
由所述设备将所述动态恶意软件分析结果和所述静态恶意软件分析结果结合,以生成经结合的恶意软件分析结果;以及
由所述设备基于所述经结合的恶意软件分析结果,执行一个或多个动作。
2.根据权利要求1所述的方法,进一步包括:
移除在所述经结合的恶意软件分析结果中被提供的应用编程接口(API)踪迹,所述API踪迹是在所述经结合的恶意软件分析结果中被提供的其它API踪迹的子集。
3.根据权利要求1所述的方法,其中执行所述一个或多个动作包括以下中的一项或多项:
修改所述软件程序以移除恶意代码并且生成经修改的软件程序;
向所述客户端设备提供所述经修改的软件程序以用于执行;
重新分析所述软件程序,以核实所述恶意代码已经从所述软件程序被移除;或者
基于重新分析所述软件程序来重新修改所述软件程序以移除任何剩余的恶意代码。
4.根据权利要求1所述的方法,其中执行所述一个或多个动作包括以下中的一项或多项:
向所述客户端设备提供:使所述客户端设备修改所述软件程序以移除恶意代码的指令;
向所述客户端设备提供:使所述客户端设备向特定设备报告所述软件程序和所述恶意代码的指令;
向所述特定设备报告所述软件程序和所述恶意代码;
阻止所述软件程序和所述恶意代码在包括所述软件程序和所述恶意代码的所述特定设备上被执行;或者
从包括所述软件程序和所述恶意代码的所述特定设备移除所述软件程序和所述恶意代码。
5.根据权利要求1所述的方法,其中执行所述软件程序的所述动态恶意软件分析包括以下中的一项:
经由应用编程接口(API)挂载机制执行所述软件程序的API追踪;或者
经由一个或多个动态仪表测量机制执行所述软件程序的所述API追踪。
6.根据权利要求1所述的方法,其中执行所述软件程序的所述静态恶意软件分析包括:
利用所述调用图表来执行所述软件程序的所述静态恶意软件分析。
7.根据权利要求1所述的方法,其中:
所述动态恶意软件分析结果包括标识在所述软件程序中被提供的一个或多个应用编程接口(API)踪迹的信息;以及
所述静态恶意软件分析结果包括标识在所述软件程序中被提供的一个或多个附加API踪迹的信息。
8.一种设备,包括:
一个或多个存储器;以及
一个或多个处理器,所述一个或多个处理器用以:
接收来自客户端设备的软件程序;
执行所述软件程序的动态恶意软件分析,以生成动态恶意软件分析结果;
基于所述软件程序的所述动态恶意软件分析,生成调用图表;
在所述软件程序的所述动态恶意软件分析期间,利用所述调用图表来标识以下中的至少一项:
所述软件程序的退出,或者
所述软件程序的强制终止;
基于标识所述软件程序的所述退出或者所述软件程序的所述强制终止中的所述至少一项,执行所述软件程序的静态恶意软件分析;
基于执行所述软件程序的所述静态恶意软件分析,生成静态恶意软件分析结果;
将所述动态恶意软件分析结果和所述静态恶意软件分析结果结合以生成经结合的恶意软件分析结果;
移除在所述经结合的恶意软件分析结果中被提供的应用编程接口(API)踪迹,所述API踪迹是在所述经结合的恶意软件分析结果中被提供的其它API踪迹的子集,
其中经修改的恶意软件分析结果基于从所述经结合的恶意软件分析结果移除作为其它踪迹的子集的所述API踪迹而被生成;以及
基于所述经修改的恶意软件分析结果,执行一个或多个动作。
9.根据权利要求8所述的设备,其中所述调用图表包括:
一个或多个应用编程接口(API)踪迹,以及
一个或多个函数调用。
10.根据权利要求8所述的设备,其中当执行所述一个或多个动作时,所述一个或多个处理器用以执行以下中的一项或多项:
修改所述软件程序以移除恶意代码并且生成经修改的软件程序;
向所述客户端设备提供所述经修改的软件程序以用于执行;
重新分析所述软件程序以核实所述恶意代码已经从所述软件程序被移除;或者
基于重新分析所述软件程序来重新修改所述软件程序以移除任何剩余的恶意代码。
11.根据权利要求8所述的设备,其中当执行所述一个或多个动作时,所述一个或多个处理器用以执行以下中的一项或多项:
向所述客户端设备提供:使所述客户端设备修改所述软件程序以移除恶意代码的指令;
向所述客户端设备提供:使所述客户端设备向特定设备报告所述软件程序和所述恶意代码的指令;
向所述特定设备报告所述软件程序和所述恶意代码;
阻止所述软件程序和所述恶意代码在包括所述软件程序和所述恶意代码的所述特定设备上被执行;或者
从包括所述软件程序和所述恶意代码的所述特定设备移除所述软件程序和所述恶意代码。
12.根据权利要求8所述的设备,其中所述一个或多个处理器进一步用以:
分析所述动态恶意软件分析结果,以确定所述动态恶意软件分析结果是否足以标识所述软件程序中的恶意代码;以及
当所述动态恶意软件分析结果不足以标识所述软件程序中的所述恶意代码时,分析所述静态恶意软件分析结果,以标识所述软件程序中的所述恶意代码。
13.根据权利要求8所述的设备,其中所述一个或多个处理器进一步用以:
基于所述经修改的恶意软件分析结果,标识所述软件程序中的恶意代码。
14.根据权利要求8所述的设备,其中:
所述动态恶意软件分析结果包括标识在所述软件程序中被提供的一个或多个应用编程接口(API)踪迹的信息;以及
所述静态恶意软件分析结果包括标识在所述软件程序中被提供的一个或多个附加API踪迹的信息。
15.一种存储指令的非瞬态计算机可读介质,所述指令包括:
一个或多个指令,所述一个或多个指令在由设备的一个或多个处理器执行时使所述一个或多个处理器:
接收来自客户端设备的软件程序;
执行所述软件程序的动态恶意软件分析,以生成动态恶意软件分析结果;
其中所述动态恶意软件分析结果包括标识在所述软件程序中被提供的一个或多个应用编程接口(API)踪迹的信息;
基于所述软件程序的所述动态恶意软件分析,生成调用图表;
在所述软件程序的所述动态恶意软件分析期间,利用所述调用图表来标识以下中的至少一项:
所述软件程序的退出,或者
所述软件程序的强制终止;
基于标识所述软件程序的所述退出或者所述软件程序的所述强制终止中的所述至少一项,执行所述软件程序的静态恶意软件分析;
基于执行所述软件程序的所述静态恶意软件分析,生成静态恶意软件分析结果;
其中所述静态恶意软件分析结果包括标识在所述软件程序中被提供的一个或多个附加API踪迹的信息;
将所述动态恶意软件分析结果和所述静态恶意软件分析结果结合,以生成经结合的恶意软件分析结果;
基于所述经结合的恶意软件分析结果,标识所述软件程序中的恶意代码;以及
基于标识所述软件程序中的所述恶意代码,执行一个或多个动作。
16.根据权利要求15所述的非瞬态计算机可读介质,其中所述指令进一步包括:
一个或多个指令,所述一个或多个指令在由所述一个或多个处理器执行时使所述一个或多个处理器:
移除在所述经结合的恶意软件分析结果中被提供的API踪迹,所述API踪迹是在所述经结合的恶意软件分析结果中被提供的其它API踪迹的子集。
17.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作的所述一个或多个指令使所述一个或多个处理器执行以下中的一项或多项:
修改所述软件程序以移除恶意代码并且生成经修改的软件程序;
向所述客户端设备提供所述经修改的软件程序以用于执行;
重新分析所述软件程序以核实所述恶意代码已经从所述软件程序被移除;或者
基于重新分析所述软件程序来重新修改所述软件程序以移除任何剩余的恶意代码。
18.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作的所述一个或多个指令使所述一个或多个处理器执行以下中的一项或多项:
向所述客户端设备提供:使所述客户端设备修改所述软件程序以移除恶意代码的指令;
向所述客户端设备提供:使所述客户端设备向特定设备报告所述软件程序和所述恶意代码的指令;
向所述特定设备报告所述软件程序和所述恶意代码;
阻止所述软件程序和所述恶意代码在包括所述软件程序和所述恶意代码的所述特定设备上被执行;或者
从包括所述软件程序和所述恶意代码的所述特定设备移除所述软件程序和恶意代码。
19.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述软件程序的所述动态恶意软件分析的所述一个或多个指令使所述一个或多个处理器执行以下中的一项:
经由API挂载机制执行所述软件程序的API追踪;或者
经由一个或多个动态仪表测量机制执行所述软件程序的所述API追踪。
20.根据权利要求15所述的非瞬态计算机可读介质,其中所述指令进一步包括:
一个或多个指令,所述一个或多个指令在由所述一个或多个处理器执行时使所述一个或多个处理器:
分析所述动态恶意软件分析结果,以确定所述动态恶意软件分析结果是否足以标识所述软件程序中的所述恶意代码;以及
当所述动态恶意软件分析结果不足以标识所述软件程序中的所述恶意代码时,分析所述静态恶意软件分析结果,以标识所述软件程序中的所述恶意代码。
CN201910419646.6A 2018-07-19 2019-05-20 使用静态和动态恶意软件分析来扩展恶意软件的动态检测 Active CN110737895B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN201841026993 2018-07-19
IN201841026993 2018-07-19
US16/130,816 2018-09-13
US16/130,816 US10997291B2 (en) 2018-07-19 2018-09-13 Extending dynamic detection of malware using static and dynamic malware analyses

Publications (2)

Publication Number Publication Date
CN110737895A true CN110737895A (zh) 2020-01-31
CN110737895B CN110737895B (zh) 2024-02-06

Family

ID=69160694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910419646.6A Active CN110737895B (zh) 2018-07-19 2019-05-20 使用静态和动态恶意软件分析来扩展恶意软件的动态检测

Country Status (2)

Country Link
US (1) US10997291B2 (zh)
CN (1) CN110737895B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021214597A1 (en) * 2020-04-23 2021-10-28 International Business Machines Corporation Deep packet analysis

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11093605B2 (en) * 2018-06-28 2021-08-17 Cisco Technology, Inc. Monitoring real-time processor instruction stream execution
US11010472B1 (en) * 2018-10-23 2021-05-18 Architecture Technology Corporation Systems and methods for signature-less endpoint protection against zero-day malware attacks
US11303659B2 (en) * 2018-12-26 2022-04-12 International Business Machines Corporation Detecting inappropriate activity in the presence of unauthenticated API requests using artificial intelligence
CN113268726B (zh) * 2020-02-17 2023-10-20 华为技术有限公司 程序代码执行行为的监控方法、计算机设备
US11336680B2 (en) * 2020-03-05 2022-05-17 Oracle International Corporation Tailored security configuration of least-privilege applications
US11768938B2 (en) * 2020-11-20 2023-09-26 Foundation Of Soongsil University-Industry Cooperation Mobile application malicious behavior pattern detection method based on API call graph extraction and recording medium and device for performing the same
CN112433945A (zh) * 2020-11-26 2021-03-02 百富计算机技术(深圳)有限公司 一种用于程序动态跟踪的方法、装置及电子设备
US20230205883A1 (en) * 2021-12-27 2023-06-29 Sergey ULASEN Integrated static and dynamic analysis for malware detection
US11977633B2 (en) 2021-12-27 2024-05-07 Acronis International Gmbh Augmented machine learning malware detection based on static and dynamic analysis
US11842179B2 (en) 2022-01-07 2023-12-12 Dell Products L.P. System for automatically generating customer specific data center application program interfaces
US11924029B2 (en) * 2022-01-07 2024-03-05 Dell Products L.P. System for scoring data center application program interfaces
US11922229B2 (en) 2022-01-10 2024-03-05 Dell Products L.P. System for determining data center application program interface readiness
US11848835B2 (en) 2022-01-20 2023-12-19 Dell Products L.P. System for quantifying data center infrastructure utilization units
US20230289441A1 (en) * 2022-03-11 2023-09-14 Visa International Service Association Malware detection and mitigation system and method therefor

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254147A1 (en) * 2008-05-13 2012-10-04 Enpulz, L.L.C. Search engine employing preprocessing & filtering of objective activity information
US20150096022A1 (en) * 2013-09-30 2015-04-02 Michael Vincent Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US20160359875A1 (en) * 2014-12-03 2016-12-08 Korea Internet & Security Agency Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis
US20180018459A1 (en) * 2016-07-15 2018-01-18 Trustlook Inc. Notification of Maliciousness Categorization of Application Programs for Mobile Devices
US20180025162A1 (en) * 2016-07-19 2018-01-25 Fasoo.Com Co., Ltd. Application program analysis apparatus and method
US9917855B1 (en) * 2016-03-03 2018-03-13 Trend Micro Incorporated Mixed analysys-based virtual machine sandbox

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635694B2 (en) * 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
US9672355B2 (en) 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254147A1 (en) * 2008-05-13 2012-10-04 Enpulz, L.L.C. Search engine employing preprocessing & filtering of objective activity information
US20150096022A1 (en) * 2013-09-30 2015-04-02 Michael Vincent Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US20160359875A1 (en) * 2014-12-03 2016-12-08 Korea Internet & Security Agency Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis
US9917855B1 (en) * 2016-03-03 2018-03-13 Trend Micro Incorporated Mixed analysys-based virtual machine sandbox
US20180018459A1 (en) * 2016-07-15 2018-01-18 Trustlook Inc. Notification of Maliciousness Categorization of Application Programs for Mobile Devices
US20180025162A1 (en) * 2016-07-19 2018-01-25 Fasoo.Com Co., Ltd. Application program analysis apparatus and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021214597A1 (en) * 2020-04-23 2021-10-28 International Business Machines Corporation Deep packet analysis
GB2604797A (en) * 2020-04-23 2022-09-14 Kyndryl Inc Deep packet analysis
US11563761B2 (en) 2020-04-23 2023-01-24 Kyndryl, Inc. Deep packet analysis
US11757912B2 (en) 2020-04-23 2023-09-12 Kyndryl, Inc. Deep packet analysis

Also Published As

Publication number Publication date
US20200026851A1 (en) 2020-01-23
CN110737895B (zh) 2024-02-06
US10997291B2 (en) 2021-05-04

Similar Documents

Publication Publication Date Title
CN110737895B (zh) 使用静态和动态恶意软件分析来扩展恶意软件的动态检测
EP3314503B1 (en) Simulation of an application
US10972508B1 (en) Generating a network security policy based on behavior detected after identification of malicious behavior
EP2726977B1 (en) Virtual machine image analysis
US10944692B2 (en) Real-time analysis of multidimensional time series data to identify an operational anomaly
US11765034B2 (en) Enforcing policies in cloud domains with different application nomenclatures
EP3640826B1 (en) Utilizing heuristic and machine learning models to generate a mandatory access control policy for an application
US9811663B2 (en) Generic unpacking of applications for malware detection
US9800590B1 (en) Systems and methods for threat detection using a software program update profile
US11880458B2 (en) Malware detection based on user interactions
US10860716B2 (en) Detecting malware concealed by delay loops of software programs
CN115904605A (zh) 软件防御方法以及相关设备
US11175965B2 (en) Systems and methods for dynamically evaluating container compliance with a set of rules
US11438354B2 (en) Systems and methods for utilizing machine learning models to detect cloud-based network access anomalies
US11500661B2 (en) Performing an application snapshot using process virtual machine resources
EP3598331A1 (en) Extending dynamic detection of malware using static and dynamic malware analyses
US20240143780A1 (en) Supporting secure workspaces in heterogenous environments
CN116795480A (zh) 虚拟机隔离方法、装置和计算机设备
CN118051913A (zh) 基于用户交互的恶意软件检测

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