CN105814577A - 隔离表现网络活动的可执行文件 - Google Patents

隔离表现网络活动的可执行文件 Download PDF

Info

Publication number
CN105814577A
CN105814577A CN201380081268.6A CN201380081268A CN105814577A CN 105814577 A CN105814577 A CN 105814577A CN 201380081268 A CN201380081268 A CN 201380081268A CN 105814577 A CN105814577 A CN 105814577A
Authority
CN
China
Prior art keywords
executable file
dynamic link
network activity
described executable
link library
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
CN201380081268.6A
Other languages
English (en)
Other versions
CN105814577B (zh
Inventor
N·塔卡尔
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.)
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 CN105814577A publication Critical patent/CN105814577A/zh
Application granted granted Critical
Publication of CN105814577B publication Critical patent/CN105814577B/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/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • 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
    • 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/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

将可执行文件加载到存储器中。对可执行文件进行分析以确定一个或多个动态链接库是否在文件的导入表中被引用。随后可以确定一个或多个动态链接库是否适于联接网络。

Description

隔离表现网络活动的可执行文件
技术领域
概括地说,本公开内容涉及用于确定可执行文件是否在表现网络活动的系统、计算机可执行介质、装置、以及方法。更加具体而言,但不作为限制,本公开内容涉及用于确定可执行文件在该文件的执行期间是否尝试联接(contact)网络的系统、计算机可执行介质、装置、以及方法。
背景技术
被称为“恶意软件”的恶意的软件可以经由网络(例如,互联网)攻击各种计算设备。恶意软件可以包括对计算机故意有害的任何程序或者文件,例如,互联网机器人、计算机病毒程序、计算机蠕虫和进行复制以便传播至其它计算机的其它独立的恶意软件计算机程序、木马和其它非自复制的恶意软件、间谍软件、或者对关于计算机及其用户的信息进行收集或者以其它方式在没有允许的情况下操作的任何计算机程序。
例如,反病毒扫描软件通常被安装在计算机上以针对恶意软件而扫描特定的设备。扫描可以由反病毒软件执行,该反病毒软件是由与特定的计算机、系统管理员等相关联的用户所指定的调度而确定的。不幸的是,等到反病毒软件检测到病毒时,对计算机的一些伤害已经发生了。
在一些实例中,恶意软件可以包括互联网“机器人”。机器人是被配置为远程地对计算机的全部或一部分进行控制而没有由计算机的用户授权的软件机器人。与机器人相关的活动可以包括机器人传播和攻击网络上的其它计算机。机器人通常通过对网络上的可用的节点(计算机或其它数字设备)进行扫描,以寻找易受攻击的目标。当易受攻击的计算机被扫描到时,机器人可以将自身的副本安装在该易受攻击的计算机上。一旦被安装,新复制的机器人可以继续寻找网络上的其它计算机来感染。
诸如互联网机器人、计算机蠕虫、木马程序、以及多个其它类型的恶意软件或间谍软件之类的新的恶意软件每天都在生成。为了分析新兴的恶意软件并且发展防御,收集恶意软件样本来研究威胁技术并且开发反病毒软件。研究者收集恶意软件样本的一种方法是使用所谓的“蜜罐”。蜜罐是被设计和部署为受到攻击的诱饵信息技术(IT)基础设施组件。研究者用来收集恶意软件样本的另一种方式是从已知的恶意网站和网址下载新的恶意软件样本。
由研究者获得的恶意软件样本的数量每天都继续增加。为了提供针对新生成的恶意软件的反病毒/入侵保护服务(AV/IPS)检测,可以由研究者每天接收多至数千个需要被执行(手动地或自动地)的恶意软件样本。由于研究者手头上的有限的资源,将每个恶意软件样本标识和分类为恶意的可能是巨大的挑战。标识某些类别的恶意软件样本(例如机器人或可以是高级持续性威胁(APT)目标攻击的一部分的二进制文件)也可以是有帮助的。
当前的自动化恶意软件分析系统执行所有接收到的恶意软件样本,而不专注于样本的单独的类别。基于分析报告,样本可以被分类为机器人或者表现网络活动的恶意软件样本。研究者通常必须等待直到每个样本都已经执行了为止,其可以花费五到十分钟来执行,以确定哪个样本可以是机器人和/或表现网络活动。
然而,执行所有接收到的恶意软件样本的缺点是该分析方法可能是耗时并且低效的方法。允许研究者专注于特定类型的恶意软件二进制文件可以降低需要被分析的样本数量,并且可以允许研究者专注于恶意软件样本的某些子集,其可以优化恶意软件分析系统的样本处理能力。
附图说明
图1是根据一个或多个所公开的实施例,示出了可以在其中实现所公开的技术的系统的简化框图。
图2是根据一个实施例,示出了可以在其中执行确定可执行文件是否表现网络活动的可编程设备的框图。
图3是根据一个或多个所公开的实施例,示出了经由网络相耦合的示例计算机系统与示例计算机服务器的框图。
图4根据一个实施例,示出了描绘用于确定可执行文件是否表现网络活动的一般性技术的示例的流程图。
图5根据一个实施例,示出了描绘用于确定可执行文件是否表现网络活动的一般性技术的示例的框图。
具体实施方式
在以下的描述中,出于解释说明的目的而阐述了多个具体的细节,以便提供对本发明的彻底的理解。然而,对于本领域技术人员将显而易见的是,可以没有这些具体细节而实施本发明。在其它实例中,以框图的形式示出了结构和设备以便避免使得本发明模糊不清。所引用的没有下标或后缀的标号被理解为引用对应于所引用的标号的下标和后缀的所有实例。此外,在本公开内容中所使用的语言可以主要出于可读性和指导性的目的而被选择,并且可以没有被选择为依靠确定发明主题所必需的权利要求来描绘或限制该发明主题。在说明书中对“一个实施例”或者“实施例”的引用意指结合实施例所描述的特定的特征、结构或者特性被包括在本发明的至少一个实施例中,并且对“一个实施例”或者“一实施例”的多个引用不应被理解为所有的都必须指同一实施例。如在本文中所使用的,术语“可编程设备”可以指的是单个可编程设备,或者一起工作以对被描述为在可编程设备上执行或者由可编程设备执行的功能进行执行的多个可编程设备。
如在本文中所使用的,术语“计算机系统”可以指的是单个计算机,或者一起工作以对被描述为在计算机系统上执行或者由计算机系统执行的功能进行执行的多个计算机。类似地,术语“可编程设备”可以指的是单个可编程设备,或者一起工作以对被描述为在可编程设备上执行或者由可编程设备执行的功能进行执行的多个可编程设备,并且术语“机器可读介质”可以指的是单个物理机器可读介质,或者一起对被描述为在机器可读介质上存储的材料进行存储的多个物理机器可读介质。
在本文中描述并且在附图中示出了针对高效地标识和分类恶意软件样本所建议的一个解决方案。如在图1中所示,在100处概括地示出了用于确定是否在可执行文件中引用了一个或多个动态链接库,并且确定一个或多个动态链接库是否适于联接网络的系统的实施例。在一般的实施例中,系统100适于将可执行文件加载到存储器中,对可执行文件进行分析以确定是否引用了一个或多个动态链接库,并且响应于确定是否引用了一个或多个动态链接库而检测一个或多个动态链接库是否适于联接网络。
参考图1,示意性地示出了可以在其中实现下文中所描述的技术的示例系统100。系统100可以包含计算机网络102。计算机网络102可以包括目前可用的许多不同类型的计算机网络,例如,互联网、公司网络、或者局域网(LAN)。这些网络中的每一个都可以包含有线的或无线的可编程设备,并且可以使用任何数量的网络协议(例如,TCP/IP)来操作。网络102可以连接至网关和路由器(由104表示),终端用户计算机106、以及计算机服务器108。系统100还可以包括用于与移动通信设备一起使用的蜂窝网络110。移动蜂窝网络支持移动电话和许多其它类型的设备。系统100中的移动设备被示出为移动电话112、膝上型计算机114、以及平板设备116。
现在参考图2,框图根据一个实施例示出了示例可编程设备200,其可以采用在本文中所描述的一般性技术。示例可编程设备200可以包括系统100的计算机系统中的一些的全部或者一部分。例如在一些实施例中,可编程设备200可以包括系统100的计算机系统中的一些的全部或者一部分,系统100可以包括终端用户计算机106、服务器108、移动设备112、114、116、或者包括可以耦合至网络102的任何计算系统。
在图2中所示出的示例可编程设备可以包括可编程设备200,其包括一个或多个处理元件202。尽管仅仅示出了一个处理元件,但是可编程设备200的实施例也可以包括两个这样的处理元件。处理元件202可以包括多核处理器,其包括第一处理器核心和第二处理器核心(即,处理器核心204a和204b)。这样的核心204a、204b可以被配置为以与下文所讨论的方式相类似的方式来执行指令代码。在一些实施例中,核心204a、204b可以被配置为执行诸如操作系统之类的指令代码。在一些实施例中,操作系统可以包括图形界面操作系统,例如,来自Redmond市、Washington州的Microsoft公司的然而,其它实施例可以使用是如所期望的单核处理器的处理元件。在具有多个处理元件202的实施例中,每个处理元件都可以用如所期望的不同数量的核心实现。
处理元件202可以包括至少一个共享的高速缓存206。共享的高速缓存206可以存储由处理元件的一个或多个组件(例如,核心204a、204b)所使用的数据(例如,指令)。例如,共享的高速缓存可以本地地将数据缓存在存储器208中,以供处理元件202的组件更快速地访问。在一个或多个实施例中,共享的高速缓存206可以包括一个或多个中级缓存,例如,2级(L2)、3级(L3)、4级(L4)、或者其它级的缓存、末级缓存(LLC)、或其组合。
尽管图2出于使附图清楚的目的而示出了具有一个处理元件202的可编程设备,但是本发明的范围不限于此并且可以存在任何数量的处理元件。可替代地,处理元件202中的一个或多个可以是除了处理器之外的元件,例如,图形处理单元(GPU)、数字信号处理(DSP)单元、现场可编程门阵列、或者任何其它可编程处理元件。处理元件202可以是异构或者非对称于额外的处理元件(未示出)。在包括架构特性、微架构特性、热特性、功耗特性等的品质指标谱(spectrumofmetricsofmerit)方面,处理元件202与额外的处理元件之间可以存在多种差别。这些差别可以有效地将它们自身表现为可编程设备200的任何处理元件202之间的非对称性和异构性。
处理元件202还可以包括存储器控制器逻辑(MC)210以及点对点(P-P)互连212。如在图2中所示,MC210将处理元件202耦合至存储器208,存储器208可以是本地附接至处理元件202的主存储器的一部分。尽管MC逻辑210被示出为集成在处理元件202中,但是在一些实施例中,MC逻辑210可以是处理元件202外部的分立逻辑而不是集成在其中。
处理元件202可以经由P-P互连212以及216耦合至I/O子系统214。如在图2中所示,I/O子系统214包括P-P互连218。此外,I/O子系统212包括接口220,接口220与可以包括高性能图形引擎的图形引擎222连接。在一个实施例中,总线224可以用于将图形引擎222耦合至I/O子系统214。可替代地,点对点互连可以耦合这些组件。
转而,I/O子系统214可以经由接口228耦合至第一链路226。在一个实施例中,第一链路226可以是外围组件互连(PCI)总线,或者是诸如快速PCI总线或另一个I/O互连总线之类的总线,尽管本发明的范围不限于此。
如在图2中所示,各种I/O设备230可以与桥接器232一起耦合至第一链路226,桥接器232可以将第一链路226耦合至第二链路234。在一个实施例中,第二链路234可以是低管脚数(LPC)总线。可以将各种设备耦合至第二链路234,在一个实施例中,所述各种设备包括例如键盘/鼠标236、通信设备238(其可以转而与计算机网络102进行通信)、以及诸如硬盘驱动器或者可以包括代码242的其它大容量存储设备之类的数据存储单元240。代码242可以包括用于执行在上文中所描述的技术中的一个或多个技术的实施例的指令。此外,音频I/O设备230可以耦合至第二链路234。
应当注意,可以构想出其它实施例。例如,系统可以实现多点分支总线或者另一种这样的通信拓扑结构,而不是图2的点对点架构。尽管链路226和234被示出为图2中的总线,但是可以使用任何期望的类型的链路。同样,图2的元件可以可替代地使用比在图2中所示出的更多或更少的集成芯片而被划分。
现在参考图3,框图示出了示例系统300的一个实施例。系统300可以包括经由计算机网络306互连的示例计算机系统302和示例计算机服务器304。可以在计算机系统302中体现可以相似或不同于图2的可编程设备200的可编程设备308、或其替代物。已经从图3中省略了可编程设备308的某些方面以便避免使得图3的其它方面模糊不清。
在某些实施例中,服务器304可以包括可以相似或不同于图2的可编程设备200的一个或多个可编程设备310,或其替代物。尽管图3出于使附图清楚的目的而示出了具有一个可编程设备310的服务器304,但是本发明的范围不限于此,并且可以在系统300的一个或多个服务器304中存在一个或多个可编程设备310。
可以在服务器304中体现诸如可以包括代码314的数据存储单元312或者其它大容量存储设备之类的一个或多个大容量存储设备。代码314可以包括用于执行在上文中所描述的技术中的一个或多个技术的实施例的指令。数据存储316可以用于存储数据。可以在数据存储316中使用用于存储数据(包括动态对象数据)的任何期望的方式。可以以任何期望的方式来实现或组织数据存储316。
作为选项,系统300可以包括图3中所示的沙盒(sandbox)318。在一些可选的实施例中,可以包括多于一个沙盒318。沙盒318可以提供用于包含并且运行在包含的区域内潜在为恶意的、未知的、或者有风险的软件。沙盒318及其任何功能可以由诸如服务器304的可编程设备310、或者计算机302的可编程设备308之类的可编程设备来控制。由在沙盒318内运行的软件(可执行应用)所执行的操作限于仅影响沙盒318,而不影响可编程设备308、可编程设备310、计算机302、服务器304、移动设备、或者系统300的任何部分的更大区域(其可以对沙盒318的全部或一些部分进行托管)或者可以在计算机302、服务器304、或者系统300内的任何位置上运行的其它应用。沙盒318可以被配置为对由在其中运行的可执行应用尝试的操作提供各种等级的限制。
作为选项,沙盒318的执行环境可以是一个或多个主机计算系统(例如,计算机302、服务器304、或者系统300内的任何位置)的分割的部分、或者多个分割的部分,其保护在沙盒318中运行的可执行应用不会直接访问可以在执行环境内可用的某些资源或者设备。在一些实施例中,沙盒318的执行环境可以是一个或多个大容量存储设备312上的活动空间(scratchspace)。在一些实施例中,沙盒318可以在虚拟机320上被执行。虚拟机320可以对可编程设备308、可编程设备310、计算机302、服务器304、或者可以托管虚拟机320的任何计算系统中的全部或一部分进行仿真。
在本文中所描述的技术可以利用确定可执行文件、或者能够作为程序的全部或一部分而被运行的任何软件应用是否表现网络活动的优势。所描述的技术可以允许研究者快速地对可执行文件进行分类,而不用等待可执行文件完全执行,其可以显著地降低处理文件样本所需要的时间,并且提供用于对可执行文件样本进行分析的高效的方法。
参考图4,在400处概括地示出的流程图,示出了用于确定可执行文件是否表现网络活动的一般性技术的示例。作为选项,可以在附图的架构和环境的上下文中实现所描述的技术。然而,可以在任何期望的环境中实现所描述的技术。
在操作402中,获得可执行文件。可以经由任何已知的方式来获得可执行文件。例如,可以经由网络从远程计算机系统接收可执行文件。可执行文件可以包括样本可执行文件,其可以是未知的、潜在地有风险的、并且可以是潜在地恶意的。可执行文件可以是可执行的文件,或者能够作为软件程序的全部或一部分而被运行的任何软件应用。作为选项,可执行文件可以包括可移植的(portable)可执行(PE)的文件。可以接收可执行文件以用于处理,从而检测可执行文件是否表现网络活动。在一些实施例中,由可执行文件使用一个或多个动态链接库(DLL)。DLL是包含可以同时由多于一个可执行文件使用的代码和数据的动态链接库,使得多于一个可执行文件可以使用被包括在单个DLL中的功能。在下文中所描述的技术可以确定可执行文件是否包含适于联接网络的一个或多个动态链接库。
在操作404中,检测可执行文件是否加壳(pack)。在一些实施例中,可以读取可执行文件来确定可执行文件是否被加壳。如果可执行文件没有被加壳,则过程继续至操作406,而如果可执行文件被加壳,则过程继续至操作408。作为选项,在可执行文件没有被加壳的实施例中,在操作406中,可以枚举可执行文件。对可执行文件进行枚举可以包括扫描、或者读取未加壳(unpack)的可执行文件以生成所加载的模块的地址列表、过程启动变量、诸如API调用之类的指令、代码样本的签名、以及导入描述符数据结构。
导入描述符数据结构可以包括导入描述符的阵列,其中,可以为可执行文件所加载的每个动态链接库(DLL)提供导入描述符。在操作系统可以包括或者基于的操作系统的实施例中,导入描述符数据结构可以包括“IMAGE_IMPORT_DESCRIPTOR”。在操作系统可以不包括或者基于的操作系统的实施例中,导入描述符数据结构可以包括任何合适的导入描述符数据结构。
在操作410中,可以针对适于联接网络或者以其它方式表现网络活动的任何动态链接库(DLL)而扫描可执行文件的导入描述符数据结构。在一些实施例中,导入描述符数据结构可以由机器(例如,计算系统)来扫描,而在可选的实施例中,导入描述符数据结构可以由研究者手动地扫描。
对于要使用诸如应用程序接口(API)调用之类的系统调用的可执行文件,可执行文件必须首先导入暴露API调用的DLL,并且随后运行API。指示哪个DLL暴露各种API调用的文档是公开可获得的。暴露与网络相关的API调用(例如,用于打开网络浏览器或者特定的URL的调用)的DLL被确定为包括适于联接网络或者表现网络活动的DLL。因此,可以针对暴露与网络相关的API调用或者以其它方式表现网络活动的一个或多个DLL来扫描地址列表。在一些实施例中,可以针对表现网络活动的预先确定的或者已知的DLL来扫描地址列表。这些DLL中的一些可以包括但不限于表现网络活动的“ulrmon.dll”、“mswsock.dll”、“ws2_32.dll”、以及“mscoree.dll”等。作为选项,在可执行文件中所引用的DLL可以与适于联接网络的DLL的列表进行比较。DLL的列表可以被存储在本文中所描述的技术可访问的系统内的任何位置中。在一个示例实施例中,表现网络活动的DLL的列表可以被存储在数据存储中,例如,在图3中所示出的数据存储316中。
在操作412中,确定通过扫描导入描述符数据结构是否检测到表现网络活动的一个或多个DLL的存在。如果检测到表现网络活动的至少一个DLL,则过程继续至操作414,其中在操作414,确认可执行文件可以表现网络活动。一旦确认可执行文件表现网络活动,仅仅作为选项,在操作416中,可以发生关于可执行文件的一个或多个动作。作为选项,可执行文件可以被分类成可以潜在地为恶意软件的文件。将可执行文件分类为潜在的恶意软件可以便于对可执行文件的进一步分析。例如,可以对可执行文件进行额外的分析以确定可执行文件是否表现可以指示该可执行文件可潜在地包括恶意软件的一个或多个行为。作为选项,可执行文件可以被加入数据存储,该数据存储可以包括可以是不受信任的或潜在为恶意的可执行文件的列表。该过程随后在操作418中结束。
返回操作412,如果确定当可执行文件被枚举时,在所生成的地址列表中没有由可执行文件所引用的适于联接网络或者表现网络活动的DLL,则过程继续至操作420,其中在操作420,可执行文件可以被分类。在一些实施例中,可执行文件可以简单地被分类为不表现网络活动的可执行文件。然而,可执行文件可以仍然潜在地是恶意软件或者以其它方式不受信任。过程继续至操作422,其中在操作422,作为选项,可以对可执行文件执行进一步分析。作为选项,可以对可执行文件执行额外的分析以确定可执行文件是否表现可以指示该可执行文件可以潜在地包括恶意软件的一个或多个行为,即使可执行文件不表现网络活动。可以如所讨论的来执行可执行文件的其它处理和分析。过程随后返回至操作402。
在操作404中,如果可执行文件被加壳,则可以在操作408中执行动态分析。在一些实施例中,可执行文件的动态分析可以包括在包含的环境(例如,在图3中所示出的沙盒318)中执行文件。在包含的环境(例如,在图3中所示出的沙盒318)中处理可执行文件可以防止可执行文件潜在地不利地影响计算机、服务器、移动设备、或者系统的任何部分的其它区域和/或可以在系统上运行的其它应用。
在操作424中,可以将可执行文件加载到存储器中。存储器可以包括高速缓存存储器或者主存储器的全部或一部分。存储器还可以包括如在图3中所示出的虚拟机320的虚拟存储器。动态链接器可以加载可执行文件引用的任何动态链接库(DLL),并且还可以列出每个DLL所需要的功能。DLL是包含可以同时由多于一个可执行文件使用的代码和数据的动态链接库,使得多于一个可执行文件可以使用被包含在单个DLL中的功能。
在操作426中,作为选项,可以创建针对可执行文件的进程环境块(PEB)。根据一些可选的实施例,一旦初始地启动可执行文件,就可以由可以正在处理可执行文件的操作系统创建PEB。PEB包括当可执行文件被初始地启动以加载由可执行文件所指示为包括DLL的各种模块时,由操作系统创建和使用的数据结构。由PEB所加载的DLL可以包括但不限于NTDLL.dll、Kernel32.dll、以及其它已知的DLL。PEB可以提供对当可执行文件进行初始化时可以被加载的模块、进程启动变量、以及导入的DLL的列表的可读取的访问。通过对PEB进行扫描,研究者可以获得当可执行文件进行初始化时可以被加载的任何导入的DLL的基地址的列表。
在一些实施例中,当DLL被导入时,在操作428中可以枚举PEB。对PEB进行枚举可以在操作430中生成由可执行文件加载的任何动态链接库(DLL)的地址列表。可以在操作432中针对表现网络活动的一个或多个DLL而扫描所生成的地址列表。例如,针对暴露与网络相关的API调用或者以其它方式表现网络活动的一个或多个DLL来扫描通过枚举PEB而生成的地址列表。如在上文中所讨论的,在一些实施例中,可以针对表现网络活动的预先确定的或者已知的DLL来扫描地址列表。
作为选项,在操作434中,在通过对PEB进行枚举而生成的地址列表没有引用适于联接网络、或者以其它方式表现网络活动的至少一个DLL的实例中,各种DLL功能可以在其被加载时被挂接(hook),以确定DLL是否表现网络活动。当某些DLL被加载时,与DLL相关联的API可以被挂接以中断API的处理来确定DLL是否适于联接网络、或者以其它方式表现网络活动。在一些可选的实施例中,与某些DLL相关联的API可以在PEB正被枚举时被挂接。作为可选的替代物,与某些DLL相关联的API可以被挂接以代替对PEB进行枚举或者在对PEB进行枚举之前。可以被挂接的各种DLL功能包括但不限于“LoadLibary”、“LoadLibraryA”、“LoadLibraryEX”、“LoadModule”、以及“LoadPackageLibrary”、和/或类似的API调用、以及其它已知的DLL功能。
可执行文件可以向API发出包括指令的功能参数,以指示API来执行一个进程、或多个进程,不同于API意欲执行的进程或者除了API意欲执行的进程之外。因此,功能参数可以指示API来执行一个或多个非有意的进程。除了API接收由可执行文件所发出的功能参数之外,进程也接收功能参数。使用功能参数,进程能够确定可执行文件尝试控制的目标进程。如果目标进程包括被配置为连接至网络的API调用,则在操作412中确定可执行文件是网络活跃的。
例如,可执行文件意欲连接至URL,因此表现网络活动。可执行文件可以尝试控制来自操作系统DLL的API调用,以便连接至URL。可执行文件可以尝试对来自操作系统DLL(例如“wininetdll”)的合适的API(例如“InternetOpenUrlA”或其它类似的网络活跃的API)进行控制。为了完成该控制,可执行文件可以首先尝试使用API调用(例如,LoadLibraryAAPI)来加载wininet.dll。当进程加载wininet.dll时,LoadLibraryAAPI被挂接。可执行文件尝试通过向API发出功能参数来控制LoadLibraryAAPI。
由于LoadLibraryAAPI是由进程挂接的,因此由可执行文件向API发出的功能参数由进程和LoadLibraryAAPI两者接收。这些功能参数指示可执行文件尝试加载目标API,例如,InternetOpenUrlAAPI。已知InternetOpenUrlAAPI包括被配置为访问网络(例如,互联网)的API调用,因此确定可执行文件表现网络活动。类似地,如果可执行文件尝试加载被配置为访问网络的其它目标API调用,则在操作412中确定可执行文件表现网络活动。
如果检测到表现网络活动的至少一个DLL,则过程继续至操作414,其中在操作414确认可执行文件可以表现网络活动。一旦确认可执行文件表现网络活动,仅仅作为选项,在操作416中,可以发生关于可执行文件的一个或多个动作。作为选项,可执行文件可以被分类成可以潜在地为恶意软件的文件。将可执行文件分类为潜在的恶意软件可以便于对可执行文件的进一步分析。例如,可以对可执行文件进行额外的分析以确定可执行文件是否表现可以指示该可执行文件可以潜在地包括恶意软件的一个或多个行为。作为选项,可执行文件可以被加入数据存储,该数据存储可以包括可以是不受信任的或潜在为恶意的可执行文件的列表。该过程随后在操作418中结束。
返回操作412,如果确定在可执行文件中引用的DLL没有表现网络活动,则过程继续至操作420,其中在操作420,可执行文件可以被分类。在一些实施例中,可执行文件可以简单地被分类为不表现网络活动的可执行文件。然而,可以执行文件可以仍然潜在地是恶意软件或者以其它方式不受信任。过程继续至操作422,其中在操作422,作为选项,可以对可执行文件执行进一步分析。作为选项,可以对可执行文件执行额外的分析以确定可执行文件是否表现可以指示该可执行文件可以潜在地包括恶意软件的一个或多个行为,即使可执行文件不表现网络活动。可以如所讨论的来执行可执行文件的其它处理和分析。过程随后返回至操作402。
图5是根据一个实施例,示出了用于根据在上文中所描述的技术来确定可执行文件是否表现网络活动的一般性技术的示例的框图500。网络接口502提供至网络的网络连接,其中可以接收表现网络活动的可执行文件。
加壳检测模块504可以接收可执行文件并且检测可执行文件是否被加壳。如果该可执行文件没有被加壳,则可以将其发送至枚举模块506;如果可执行文件被加壳,则可以将其发送至动态分析模块508。
作为选项,在可执行文件没有被加壳的实施例中,可执行文件可以由枚举模块506来枚举。对可执行文件进行枚举可以包括扫描、或者读取可执行文件的导入描述符数据结构模块510。导入描述符数据结构模块510可以提供导入描述符的阵列,其中可以为由可执行文件加载的每个动态链接库(DLL)提供导入描述符。
作为选项,网络DLL检测模块512可以针对由可执行文件加载的每个动态链接库(DLL),扫描在导入描述符数据结构模块510中所提供的导入描述符。在可选的实施例中,网络DLL检测模块512可以针对表现网络活动的预先确定的或者已知的DLL来扫描阵列。这些DLL中的一些可以包括但不限于“ulrmon.dll”、“mswsock.dll”、“ws2_32.dll”、以及“mscoree.dll”、以及适于联接网络或者以其它方式表现网络活动的其它DLL。
在一些实施例中,如果由网络DLL检测模块512检测到适于联接网络或者表现网络活动的至少一个DLL,则可执行文件被确定为表现网络活动。分析模块514可以随后从网络DLL检测模块512中接收可执行文件。分析模块514可以将可执行文件分类为潜在的恶意软件。将可执行文件分类为潜在的恶意软件可以便于对可执行文件的进一步分析。例如,可以由分析模块514对可执行文件执行额外的分析,以确定可执行文件是否表现可以指示该可执行文件可以潜在地包括恶意软件的一个或多个行为。作为选项,可执行文件可以被加入数据存储,该数据存储可以包括可以是不受信任的或潜在为恶意的可执行文件的列表。
如果可执行文件被加壳检测504确定为是加壳的,则其可以由动态分析模块508接收。在一些实施例中,动态分析模块508可以包括创建PEB模块516、枚举模块518、以及挂接API模块524,枚举模块518可以包括地址列表生成模块520和扫描模块522。
当可执行文件被初始地启动时,创建PEB模块516可以生成可执行文件的进程环境块(PEB)。PEB可以提供对模块、导入的DLL、以及关于可执行文件的其它信息的列表的可读取的访问。一旦创建了PEB,枚举模块518的地址列表生成模块520可以适于扫描PEB并且生成地址列表。一旦生成了地址列表,扫描模块522就可以适于针对任何所加载的动态链接库(DLL)来扫描所生成的PEB的地址列表。如先前所讨论的,作为选项,扫描模块522可以针对表现网络活动的预先确定的或者已知的DLL来扫描地址列表。在一些实施例中,网络DLL检测模块512可以随后从扫描模块522接收所扫描的地址列表,并且随后确定可以已在地址列表中被检测到的至少一个DLL是否可以表现网络活动。
作为选项,在由地址列表生成模块520所生成的地址列表没有引用适于联接网络、或者以其它方式表现网络活动的至少一个DLL的实例中,各种DLL功能可以在其被加载时由挂接API模块524挂接,以确定DLL是否表现网络活动。当某些DLL被加载时,与DLL相关联的API可以由挂接API模块524挂接,以中断API的处理来确定DLL是否适于联接网络、或者以其它方式表现网络活动。在一些可选的实施例中,与某些DLL相关联的API可以在PEB正被枚举时被挂接。作为可选的替代物,与某些DLL相关联的API可以由挂接API模块524挂接以代替对PEB进行枚举或者在对PEB进行枚举之前。可以被挂接的各种DLL功能包括但不限于“LoadLibary”、“LoadLibraryA”、“LoadLibraryEX”、“LoadModule”、以及“LoadPackageLibrary”、和/或类似的API调用、以及其它已知的DLL功能。
可执行文件可以向API发出包括指令的功能参数,以指示API来执行一个进程、或多个进程,不同于API意欲执行的进程或者除了API意欲执行的进程之外。因此,功能参数可以指示API来执行一个或多个非有意的进程。除了API接收由可执行文件所发出的功能参数之外,挂接API模块524也接收功能参数。使用功能参数,可以确定可执行文件尝试控制的目标进程。
在一些实施例中,网络DLL检测模块512可以随后从挂接API模块524中接收可执行文件,并且确定可执行文件尝试控制的目标进程是否可以表现网络活动。如果可执行文件被网络DLL检测模块512确定为表现网络活动,则可以将可执行文件发送至分析模块514。作为选项,分析模块514可以将可执行文件分类为潜在的恶意软件。将可执行文件分类为潜在的恶意软件可以便于对可执行文件的进一步分析。例如,可以对可执行文件进行额外的分析以确定可执行文件是否表现可以指示该可执行文件可以潜在地包括恶意软件的一个或多个行为。作为选项,可执行文件可以被加入数据存储,该数据存储可以包括可以是不受信任的或潜在为恶意的可执行文件的列表。
示例
以下的示例关于进一步的实施例。示例1是一种机器可读介质,其上存储指令,所述机器可读介质包括当被执行时使得一个或多个可编程设备执行以下操作的指令:加载可执行文件;检测所述可执行文件对适于执行网络活动的动态链接库的使用;以及响应于所述检测而执行恶意软件分析。
示例2包括示例1的主题,并且还包括:当被执行时使得所述一个或多个可编程设备检测所述可执行文件对适于执行网络活动的动态链接库的使用的指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:对由所述可执行文件所引用的动态链接库进行标识;以及确定所述动态链接库是否执行网络活动。
示例3包括示例1的主题,并且还包括当被执行时使得一个或多个可编程设备执行以下操作的指令:确定所述可执行文件是否被加壳。
示例4包括示例3的主题,其中,当被执行时使得一个或多个可编程设备确定所述可执行文件是否被加壳的指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:响应于确定所述可执行文件未被加壳而针对适于执行网络活动的动态链接库来扫描所述可执行文件。
示例5包括示例3的主题,其中,当被执行时使得一个或多个可编程设备确定所述可执行文件是否被加壳的指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:响应于确定可执行文件被加壳而处理所述可执行文件;以及确定一个或多个动态链接库是否执行网络活动。
示例6包括示例5的主题,其中,当被执行时使得一个或多个可编程设备确定一个或多个动态链接库是否执行网络活动的指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用。
示例7包括示例6的主题,其中,当被执行时使得一个或多个可编程设备枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用的指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:响应于检测到适于执行网络活动的动态链接库而挂接可执行文件的处理。
示例8包括示例6的主题,其中,当被执行时使得一个或多个可编程设备枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用的指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理。
示例9包括示例8的主题,其中,当被执行时使得一个或多个可编程设备响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理的指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:响应于检测到由动态链接库进行网络活动而挂接可执行文件的处理。
示例10包括示例5-9的主题,其中,所述可执行文件在沙盒中被处理。
示例11包括示例1-10的主题,其中,所述可执行文件包括可移植的可执行文件。
示例12是一种方法,其包括:加载可执行文件;检测所述可执行文件对适于执行网络活动的动态链接库的使用;以及响应于所述检测而执行恶意软件分析。
示例13包括示例12的主题,并且还包括:确定所述可执行文件是否被加壳;并且响应于确定所述可执行文件未被加壳而针对适于执行网络活动的动态链接库来扫描所述可执行文件。
示例14包括示例12的主题,并且还包括:确定所述可执行文件是否被加壳;响应于确定所述可执行文件被加壳而处理可执行文件;以及确定一个或多个动态链接库是否执行网络活动。
示例15包括示例14的主题,并且还包括:枚举所述可执行文件以确定适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用。
示例16包括示例15的主题,并且还包括:响应于检测到适于执行网络活动的动态链接库而挂接所述可执行文件的处理。
示例17包括示例15的主题,并且还包括:响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理;以及响应于检测到由动态链接库进行的网络活动而挂接所述可执行文件的处理。
示例18包括示例14-17的主题,其中,所述可执行文件在沙盒中被处理。
示例19包括示例12-18的主题,其中,所述可执行文件包括可移植的可执行文件。
示例20是一种装置,其包括:一个或多个处理元件;以及存储器,其耦合至所述一个或多个处理元件;被加载到存储器中的可执行文件分析器,所述可执行文件分析器被配置为检测动态链接库;动态链接库分析器,其被配置为确定经检测的一个或多个动态链接库是否适于执行网络活动;并且响应于所述检测而执行恶意软件分析。
示例21包括示例20的主题,其中,所述动态链接库分析器还被配置为:对由所述可执行文件所引用的适于执行网络活动的一个或多个动态链接库进行标识;以及确定所述一个或多个动态链接库是否执行网络活动。
示例22包括示例21的主题,并且还包括:所述可执行文件分析器还被配置为:确定所述可执行文件是否被加壳;并且动态链接库分析器还被配置为:响应于确定所述可执行文件未被加壳而针对适于执行网络活动的动态链接库来扫描所述可执行文件。
示例23包括示例21的主题,并且还包括:其中,所述可执行文件分析器还被配置为:确定所述可执行文件是否被加壳;以及响应于确定所述可执行文件被加壳而处理所述可执行文件;并且其中,所述动态链接库分析器还被配置为确定一个或多个动态链接库是否执行网络活动。
示例24包括示例23的主题,其中,所述可执行文件分析器还被配置为:枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用。
示例25包括示例24的主题,其中,所述动态链接库分析器还被配置为:响应于检测到适于执行网络活动的动态链接库而挂接所述可执行文件的处理。
示例26包括示例24的主题,其中,所述动态链接库分析器还被配置为响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理。
示例27包括示例26的主题,其中,所述动态链接库分析器还被配置为:响应于检测到由动态链接库进行的网络活动而挂接所述可执行文件的处理。
示例28是一种系统,其包括:用于将可执行文件加载到存储器中的计算单元;用于检测所述可执行文件的一个或多个动态链接库是否适于执行网络活动的计算单元;以及用于响应于所述检测而执行恶意软件分析的计算单元。
示例29包括示例28的主题,并且还包括:用于对由所述可执行文件所引用的适于执行网络活动的一个或多个动态链接库进行标识的计算单元;以及用于确定所述一个或多个动态链接库是否执行网络活动的确定单元。
示例30包括示例28的主题,并且还包括:用于确定可执行文件是否被加壳的计算单元;以及用于响应于确定所述可执行文件未被加壳而针对适于执行网络活动的动态链接库来扫描所述可执行文件的扫描单元。
示例31包括示例28的主题,并且还包括:用于确定所述可执行文件是否被加壳的计算单元;用于响应于确定所述可执行文件被加壳而处理所述可执行文件的处理单元;以及用于确定一个或多个动态链接库是否执行网络活动的确定单元。
示例32包括示例31的主题,并且还包括:用于响应于检测到适于执行网络活动的动态链接库而挂接所述可执行文件的处理的计算单元。
示例33包括示例22的主题,并且还包括:用于响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理的计算单元。
示例34包括示例33的主题,并且还包括:用于响应于检测到由动态链接库进行的网络活动而挂接所述可执行文件的处理的计算单元。
在前述的描述中,出于解释的目的,阐述了多个具体的细节以便提供对所公开的实施例的彻底的理解。然而显而易见,对于本领域技术人员来说,可以在没有这些具体的细节的情况下实施所公开的实施例。在其它实例中,以框图的形式示出了结构和设备以便避免使得所公开的实施例模糊不清。对没有下标或后缀的数字的引用被理解为对对应于所引用的数字的下标和后缀的所有实例的引用。此外,在本公开内容中所使用的语言可以主要出于可读性和指导性目的而被选择,并且可以没有被选择为依靠确定发明主题所必需的权利要求来描绘或限制该发明主题。在说明书中对“一个实施例”或“实施例”的引用意指结合该实施例所描述的特定的特征、结构或特性被包括在至少一个所公开的实施例中,并且对“一个实施例”或“实施例”的多个引用不应被理解为所有的都必须指同一实施例。
还应当理解的是,上文的描述旨在是说明性的而非限制性的。例如,可以将上文所描述的实施例彼此组合来使用,并且可以以不同于所示出的顺序的顺序来执行说明性的过程步骤。对于本领域技术人员来说,在参阅了以上的描述之后,许多其它的实施例将是显而易见的。因此应当参考所附权利要求以及这样的权利要求授权的等同物的完整范围,来确定本发明的范围。在所附权利要求中,术语“包括”和“其中”是作为相应的术语“包含”和“在其中”的普通英语的等同物来使用的。

Claims (25)

1.一种机器可读介质,其上存储指令,所述机器可读介质包括当被执行时使得一个或多个可编程设备执行以下操作的指令:
加载可执行文件;
检测所述可执行文件对适于执行网络活动的动态链接库的使用;以及
响应于所述检测而执行恶意软件分析。
2.根据权利要求1所述的机器可读介质,其中,当被执行时使得所述一个或多个可编程设备检测所述可执行文件对适于执行网络活动的动态链接库的使用的所述指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:
对由所述可执行文件所引用的动态链接库进行标识;以及
确定所述动态链接库是否执行网络活动。
3.根据权利要求1所述的机器可读介质,还包括当被执行时使得一个或多个可编程设备执行以下操作的指令:
确定所述可执行文件是否被加壳。
4.根据权利要求3所述的机器可读介质,其中,当被执行时使得一个或多个可编程设备确定所述可执行文件是否被加壳的所述指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:
响应于确定所述可执行文件未被加壳而针对适于执行网络活动的动态链接库来扫描所述可执行文件。
5.根据权利要求3所述的机器可读介质,其中,当被执行时使得一个或多个可编程设备确定所述可执行文件是否被加壳的所述指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:
响应于确定所述可执行文件被加壳而处理所述可执行文件;以及
确定由所述可执行文件使用的一个或多个动态链接库是否执行网络活动。
6.根据权利要求5所述的机器可读介质,其中,当被执行时使得一个或多个可编程设备确定一个或多个动态链接库是否执行网络活动的所述指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:
枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用。
7.根据权利要求6所述的机器可读介质,其中,当被执行时使得一个或多个可编程设备枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用的所述指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:
响应于检测到适于执行网络活动的动态链接库而挂接所述可执行文件的处理。
8.根据权利要求6所述的机器可读介质,其中,当被执行时使得一个或多个可编程设备枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用的所述指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:
响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理。
9.根据权利要求8所述的机器可读介质,其中,当被执行时使得一个或多个可编程设备响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理的所述指令包括当被执行时使得所述一个或多个可编程设备执行以下操作的指令:
响应于检测到由动态链接库进行的网络活动而挂接所述可执行文件的处理。
10.根据权利要求1-9中的任一项所述的机器可读介质,其中,所述可执行文件包括可移植的可执行文件。
11.一种方法,包括:
加载可执行文件;
检测所述可执行文件对适于执行网络活动的动态链接库的使用;以及
响应于所述检测而执行恶意软件分析。
12.根据权利要求11所述的方法,还包括:
确定所述可执行文件是否被加壳;以及
响应于确定所述可执行文件未被加壳而针对适于执行网络活动的动态链接库来扫描所述可执行文件。
13.根据权利要求11所述的方法,还包括:
确定所述可执行文件是否被加壳;
响应于确定所述可执行文件被加壳而处理所述可执行文件;以及
确定一个或多个动态链接库是否执行网络活动。
14.根据权利要求13所述的方法,还包括:
枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用。
15.根据权利要求14所述的方法,还包括:
响应于检测到适于执行网络活动的动态链接库而挂接所述可执行文件的处理。
16.根据权利要求14所述的方法,还包括:
响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理;以及
响应于检测到由动态链接库进行的网络活动而挂接所述可执行文件的处理。
17.一种装置,包括:
一个或多个处理元件;以及
存储器,其耦合至所述一个或多个处理元件;
被加载到存储器中的可执行文件分析器,所述可执行文件分析器被配置为检测动态链接库;
动态链接库分析器,其被配置为确定经检测的一个或多个动态链接库是否适于执行网络活动;并且
响应于所述检测而执行恶意软件分析。
18.根据权利要求17所述的装置,其中,所述动态链接库分析器还被配置为:
对由所述可执行文件所引用的适于执行网络活动的一个或多个动态链接库进行标识;以及
确定所述一个或多个动态链接库是否执行网络活动。
19.根据权利要求18所述的装置,还包括:
所述可执行文件分析器还被配置为确定所述可执行文件是否被加壳;以及
所述动态链接库分析器还被配置为响应于确定所述可执行文件未被加壳而针对适于执行网络活动的动态链接库来扫描所述可执行文件。
20.根据权利要求18所述的装置,还包括:
其中,所述可执行文件分析器还被配置为:
确定所述可执行文件是否被加壳;以及
响应于确定所述可执行文件被加壳而处理所述可执行文件;并且
其中,所述动态链接库分析器还被配置为确定一个或多个动态链接库是否执行网络活动。
21.根据权利要求20所述的装置,其中,所述可执行文件分析器还被配置为:
枚举所述可执行文件以检测适于执行网络活动的一个或多个动态链接库是否由所述可执行文件引用。
22.根据权利要求21所述的装置,其中,所述动态链接库分析器还被配置为:
响应于检测到适于执行网络活动的动态链接库而挂接所述可执行文件的处理。
23.根据权利要求21所述的装置,其中,所述动态链接库分析器还被配置为:
响应于没有检测到适于执行网络活动的动态链接库而允许所述可执行文件的处理。
24.根据权利要求23所述的装置,其中,所述动态链接库分析器还被配置为:
响应于检测到由动态链接库进行的网络活动而挂接所述可执行文件的处理。
25.根据权利要求17-24中的任一项所述的装置,其中,所述可执行文件包括可移植的可执行文件。
CN201380081268.6A 2013-12-27 2013-12-27 隔离表现网络活动的可执行文件 Active CN105814577B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/078065 WO2015099778A1 (en) 2013-12-27 2013-12-27 Segregating executable files exhibiting network activity

Publications (2)

Publication Number Publication Date
CN105814577A true CN105814577A (zh) 2016-07-27
CN105814577B CN105814577B (zh) 2020-07-14

Family

ID=53479437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380081268.6A Active CN105814577B (zh) 2013-12-27 2013-12-27 隔离表现网络活动的可执行文件

Country Status (6)

Country Link
US (2) US10083300B2 (zh)
EP (1) EP3087526A4 (zh)
JP (1) JP6236704B2 (zh)
KR (1) KR101880375B1 (zh)
CN (1) CN105814577B (zh)
WO (1) WO2015099778A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829579A (zh) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 可执行文件的分析方法、装置、存储介质和处理器

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
CN105814577B (zh) 2013-12-27 2020-07-14 迈克菲有限责任公司 隔离表现网络活动的可执行文件
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US11695800B2 (en) * 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
WO2019032728A1 (en) 2017-08-08 2019-02-14 Sentinel Labs, Inc. METHODS, SYSTEMS AND DEVICES FOR DYNAMICALLY MODELING AND REGROUPING END POINTS FOR ONBOARD NETWORKING
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
WO2020236981A1 (en) 2019-05-20 2020-11-26 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
US11232193B1 (en) * 2020-11-04 2022-01-25 Malwarebytes Inc. Automated generation of a sandbox configuration for malware detection
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212913A1 (en) * 2002-05-08 2003-11-13 David Vella System and method for detecting a potentially malicious executable file
CN101373502A (zh) * 2008-05-12 2009-02-25 公安部第三研究所 基于Win32平台下病毒行为的自动化分析系统
CN101373501A (zh) * 2008-05-12 2009-02-25 公安部第三研究所 针对计算机病毒的动态行为捕获方法
CN101587527A (zh) * 2009-07-08 2009-11-25 北京东方微点信息技术有限责任公司 病毒程序扫描方法及装置
CN101841523A (zh) * 2010-02-05 2010-09-22 中国科学院计算技术研究所 检测恶意代码样本的网络行为的方法及系统
CN102004884A (zh) * 2009-08-28 2011-04-06 华为技术有限公司 一种获取可执行文件输入表的方法及装置
CN102024112A (zh) * 2010-12-17 2011-04-20 四川大学 基于静态特征的pe文件加壳检测方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191436B1 (en) * 2001-03-08 2007-03-13 Microsoft Corporation Computer system utility facilitating dynamically providing program modifications for identified programs
US7664967B2 (en) * 2004-12-22 2010-02-16 Borland Software Corporation Development system with methodology providing information hiding in executable programs
US7568233B1 (en) * 2005-04-01 2009-07-28 Symantec Corporation Detecting malicious software through process dump scanning
US7620987B2 (en) * 2005-08-12 2009-11-17 Microsoft Corporation Obfuscating computer code to prevent an attack
US8161548B1 (en) * 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
EP2011099A4 (en) * 2006-04-06 2013-08-21 Juniper Networks Inc SYSTEM AND METHOD FOR DETECTING MALICIELS FOR LIMIT ACCESS MOBILE PLATFORMS
US7814544B1 (en) * 2006-06-22 2010-10-12 Symantec Corporation API-profile guided unpacking
US8578495B2 (en) * 2006-07-26 2013-11-05 Webroot Inc. System and method for analyzing packed files
WO2008048665A2 (en) * 2006-10-18 2008-04-24 University Of Virginia Patent Foundation Method, system, and computer program product for malware detection analysis, and response
US8037536B2 (en) * 2007-11-14 2011-10-11 Bank Of America Corporation Risk scoring system for the prevention of malware
KR20110070433A (ko) 2009-12-18 2011-06-24 한국전자통신연구원 단말 장치에서 커뮤니티 기반의 방송 서비스를 수신하는 방법
US9501644B2 (en) 2010-03-15 2016-11-22 F-Secure Oyj Malware protection
US8683216B2 (en) * 2010-07-13 2014-03-25 F-Secure Corporation Identifying polymorphic malware
WO2012027669A1 (en) 2010-08-26 2012-03-01 Verisign, Inc. Method and system for automatic detection and analysis of malware
KR101216995B1 (ko) * 2010-12-03 2012-12-31 충남대학교산학협력단 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법
KR101086203B1 (ko) 2011-07-15 2011-11-23 에스지에이 주식회사 악성 프로세스의 행위를 판단하여 사전에 차단하는 악성프로세스 사전차단 시스템 및 방법
KR101306656B1 (ko) 2011-12-29 2013-09-10 주식회사 안랩 악성코드 동적 분석정보 제공 장치 및 방법
US9355246B1 (en) * 2013-12-05 2016-05-31 Trend Micro Inc. Tuning sandbox behavior based on static characteristics of malware
CN105814577B (zh) 2013-12-27 2020-07-14 迈克菲有限责任公司 隔离表现网络活动的可执行文件

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212913A1 (en) * 2002-05-08 2003-11-13 David Vella System and method for detecting a potentially malicious executable file
CN101373502A (zh) * 2008-05-12 2009-02-25 公安部第三研究所 基于Win32平台下病毒行为的自动化分析系统
CN101373501A (zh) * 2008-05-12 2009-02-25 公安部第三研究所 针对计算机病毒的动态行为捕获方法
CN101587527A (zh) * 2009-07-08 2009-11-25 北京东方微点信息技术有限责任公司 病毒程序扫描方法及装置
CN102004884A (zh) * 2009-08-28 2011-04-06 华为技术有限公司 一种获取可执行文件输入表的方法及装置
CN101841523A (zh) * 2010-02-05 2010-09-22 中国科学院计算技术研究所 检测恶意代码样本的网络行为的方法及系统
CN102024112A (zh) * 2010-12-17 2011-04-20 四川大学 基于静态特征的pe文件加壳检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829579A (zh) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 可执行文件的分析方法、装置、存储介质和处理器

Also Published As

Publication number Publication date
US10599846B2 (en) 2020-03-24
EP3087526A1 (en) 2016-11-02
JP6236704B2 (ja) 2017-11-29
US10083300B2 (en) 2018-09-25
EP3087526A4 (en) 2017-06-21
US20190005243A1 (en) 2019-01-03
WO2015099778A1 (en) 2015-07-02
KR20160076534A (ko) 2016-06-30
US20170032122A1 (en) 2017-02-02
CN105814577B (zh) 2020-07-14
JP2017500636A (ja) 2017-01-05
KR101880375B1 (ko) 2018-07-19

Similar Documents

Publication Publication Date Title
US10599846B2 (en) Segregating executable files exhibiting network activity
US10834107B1 (en) Launcher for setting analysis environment variations for malware detection
US11063974B2 (en) Application phenotyping
US11075945B2 (en) System, apparatus and method for reconfiguring virtual machines
US9961107B2 (en) System and method for detecting and monitoring persistent events
US10432649B1 (en) System and method for classifying an object based on an aggregated behavior results
US8595829B1 (en) Systems and methods for automatically blacklisting an internet domain based on the activities of an application
JP7442313B2 (ja) 仮想マシンにおいて脆弱性を有するファイルを実行するときにログを作成するためのシステムおよび方法
WO2015109912A1 (zh) 缓冲区溢出攻击检测装置、方法和安全防护系统
EP3535681B1 (en) System and method for detecting and for alerting of exploits in computerized systems
CN110659478A (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
JP2021077373A (ja) 脅威検出方法及びコンピュータ装置
Ibrahim et al. Guarding android: A comprehensive review of intrusion detection techniques for smartphones
US20230127205A1 (en) Memory tracking for malware detection
JP6081540B2 (ja) 広告コンテンツを悪意のあるソフトウェアと互いに関係付けること
CN116595519A (zh) 数据处理单元的存储器中的恶意活动检测
CN116595520A (zh) 数据处理单元的存储器中的恶意域生成算法dga检测
CN117494110A (zh) 一种代码检测方法及相关系统
JP2019530066A (ja) コンピュータシステムのためのプログラマブルセキュリティユニットを実装するための方法、装置およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: McAfee limited liability company

Address before: California, USA

Applicant before: Mcafee Inc

GR01 Patent grant
GR01 Patent grant