CN105493095A - 用于样本提交的自适应和递归过滤 - Google Patents

用于样本提交的自适应和递归过滤 Download PDF

Info

Publication number
CN105493095A
CN105493095A CN201380079084.6A CN201380079084A CN105493095A CN 105493095 A CN105493095 A CN 105493095A CN 201380079084 A CN201380079084 A CN 201380079084A CN 105493095 A CN105493095 A CN 105493095A
Authority
CN
China
Prior art keywords
server
sample
instruction
client
rule
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.)
Pending
Application number
CN201380079084.6A
Other languages
English (en)
Inventor
I·穆迪科
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 CN105493095A publication Critical patent/CN105493095A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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/564Static detection by virus signature recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了使用自适应(即,学习)客户端-服务器系统来增强样本提交的效率的系统、装置、计算机可读介质和方法,所述样本提交例如恶意程序的样本向服务器字典的提交。这一系统中的服务器可以累加已经由许多不同客户端设备随时间提交的已知程序和/或程序部分的字典,表示他们已经遇到的所有各种程序。如果特定文件提交的部分已经可用于服务器(即,它是服务器已经分析和存储的部分),它将从将来的样本传输被排除。服务器将逐渐累加常用程序部分的丰富字典,因此请求仅传输以前未见的部分。因此,这种系统、装置、计算机可读介质和方法可用于减少将来的样本提交所需的传输时间。

Description

用于样本提交的自适应和递归过滤
技术领域
本公开一般涉及用于优化客户端移动和嵌入式设备中的样本提交的系统、装置、方法和计算机可读介质。更具体而言,但非限制,本公开涉及允许客户端移动设备向服务器提交以仅检查样本的对于服务器字典目前未知的那些部分的系统、装置、方法和计算机可读介质,所述客户端移动设备例如在其所有者在各接入点之间移动时可能频繁受挫于间歇性因特网连接的智能电话、平板、超级本等等。
背景
为了分析程序并且确定其恶性或良性性质,有必要获得该程序的副本(即,样本)。这由于软件(既干净(clean)又脏(dirty))的大(且增长的)尺寸因此通常是个问题,即使在(像Windows这样的)已设立平台上。对于具有有限资源(例如,CPU、电池、带宽)、间歇性连接、以及长传输会损害用户体验和/或引起用户的增加载体成本的情况下的移动或嵌入式设备来说,会是更大的问题。
目前有已记载的解决方案用于从多个设备(例如,以对等(P2P)方式)向服务器字典提交程序的“切片”用于分析,但它们仅在程序充分常用以使“提交负载”可以分布在多个客户端之间时工作。
随着目标恶意软件的扩散(更一般而言,随着攻击规模缩小,其中较少目标受到同一款恶意软件影响),有在使带宽消耗最小的同时完整且快速地提交独特样本的日益增长的需求。
从具有间歇性连通性的移动设备(或者,通过暂时链路从嵌入式设备,例如,在“数据穆棱(muling)”情形)完整地提交完整样本可能通常是有问题的。例如,传输中间的断连(例如,当数据穆棱离开接入点的范围时)可以以使整个样本提交无效结束。因此,具有提交样本信息供服务器站点处的分析的更有效的方案会是有价值的。
本公开的主题针对克服或至少减少以上提出的一个或多个问题的效应。为了解决这些及其他问题,此处描述了部分地使用自适应和/或递归过滤器来智能地确定样本部分以发送至服务器供分析的技术。
附图简述
图1是图示根据一个或多个公开的实施例的网络体系结构架构100的框图。
图2A是图示根据一个或多个公开的实施例、可用于执行此处描述的通信优化方法的计算机的框图。
图2B是图示根据一个或多个公开的实施例、可驻留于计算机上的处理器核的框图。
图3示出根据一个或多个公开的实施例、根据预先共享规则来分割样本以提交至服务器字典的符号表示。
图4A是用于在客户端自适应地和递归地过滤样本部分用于提交至服务器字典的方法的一个实施例的流程图。
图4B是用于在客户端自适应地和递归地过滤样本部分用于提交至服务器字典的另一种方法的一个实施例的流程图。
图5是用于从客户端接收自适应地和递归地过滤的样本部分用于在服务器处分析的方法的一个实施例的流程图。
详细描述
公开了使用自适应(即,学习)客户端-服务器系统来增强样本提交的效率的系统、装置、计算机可读介质和方法,所述样本提交例如恶意程序的样本向服务器字典的提交。这一系统中的服务器可以累加已经由许多不同客户端设备随时间提交的已知程序和/或程序部分的字典,表示他们已经遇到的所有各种程序。如果特定文件提交的部分已经“可用”于服务器(即,它是服务器已经分析和存储的部分),它将从所有将来的样本提交被排除。服务器将逐渐累加常用程序部分的丰富字典,因此请求仅传输以前未见的部分。因此,这种系统、装置、计算机可读介质和方法可用于减少将来的样本提交所需的传输时间。参照各附图,以下提供了根据该公开的样本提交优化方案的样本提交的各实施例。
现在参照图1,示意性地示出体系结构100。体系结构100包含计算机网络102。计算机网络102包括当前可用的许多不同类型的计算机网络,诸如因特网、公司网络或局域网(LAN)。这些网络的每一个可以包含有线或无线设备,并且使用任何数量的网络协议(例如,TCP/IP)来操作。网络102连至网关和路由器(由108表示)、终端用户计算机106和计算机服务器104。体系结构100中还示出用于移动通信设备的蜂窝网络103。如本领域已知,移动蜂窝网络支持移动电话以及许多其他类型的设备(例如,平板电脑未示出)。体系结构100中的移动设备被例示为移动电话110。
在诸如图1所显示的网络中,可以部署自适应的和递归的样本过滤软件来管理和控制网络上的客户端和服务器设备之间的样本提交。该软件可用于例如将样本程序分割为多个部分、创建这种部分的散列、以及将这种散列发送至服务器字典以确定该部分是否对于服务器已知和/或可用。如果样本被分割为最小允许的部分尺寸并且仍对于服务器不可用和/或未知,则这种部分可以被完整地发送至服务器用于分析和记录。如上所述,随着这种设备以及/或者携带这种设备的用户移动,这种设备可以频繁地取得和断开与计算机网络102的通信,因此使需要从任一特定移动设备110被发送的数据量被流水线化可能是重要的。移动设备100是可能尝试自适应且递归地提交样本供提交至例如服务器计算机104的客户端设备的示例,所述服务器计算机104具有可能有害的程序和文件组件的程序字典,如以下将进一步详述。
现在参照图2A,以框图形式图示根据一实施例用于提供通信优化技术的示例处理设备200。处理设备200可充当移动电话110、网关或路由器108、客户端计算机106或者服务器计算机104中的处理器。示例处理设备200包括系统单元205,系统单元205可以任选地连接至系统230的输入设备(例如,键盘、鼠标、触摸屏等等)和显示器235。程序存储设备(PSD)240(有时被称为硬盘、闪存或非暂态计算机可读介质)被包括于系统单元205中。系统单元205中还包括用于经由网络(或蜂窝或计算机)与其他移动和/或嵌入式设备(未示出)通信的网络接口220。网络接口220可以被包括于系统单元205中或者在系统单元205外部。在任一情况下,系统单元205将在通信上耦合至网络接口220。程序存储设备240表示任何形式的非易失性存储器,包括但不限于所有形式的光学及磁性存储器,包括固态的存储元件,包括可移动介质,并且可以被包括于系统单元205中或者在系统单元205外部。程序存储设备240可用于存储用来控制系统单元205的软件、供处理设备200使用的数据,或两者。
系统单元205可以被编程以执行按照本公开的方法。系统单元205包括一个或多个处理单元、输入-输出(I/O)总线225和存储器215。对存储器215的存取可以使用通信总线225来完成。处理单元210可以包括任何可编程控制器设备,包括例如大型处理器、移动电话处理器或例如英特尔公司的ATOMTMCORETM以及ARM公司的Cortex和ARM处理器家族中的一个或多个成员。(英特尔、英特尔ATOM以及CORE是英特尔公司的商标。CORTEX是ARM有限公司的注册商标。ARM是ARM有限公司的注册商标。)存储器215可以包括一个或多个模块并且包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可编程只写存储器以及固态存储器。如图2A还示出,系统单元205还可以包括自适应和递归过滤模块245,该自适应和递归过滤模块245可以用固件实现以辅助此处描述的样本提交优化技术的性能。
现在参照图2B,进一步详细图示了根据一实施例的处理单元核210。处理单元核210可以是任一类型的处理器的核,所述处理器诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、或者用于执行代码的其他设备。尽管图2B中仅图示了一个处理单元核210,处理元件可以替代地包括比图2B中图示的一个处理单元核210多的核。处理单元核210可以是单线程核,或者对于至少一个实施例,处理单元核210可以是多线程的,因为它可以包括每核不止一个硬件线程上下文(即“逻辑处理器”)。
图2B还图示了与处理单元核210耦合的存储器215。存储器215可以是对于本领域技术人员已知或以其他方式可用的各种存储器(包括存储器层级的各个层)中的任一种。存储器215可以包括要由处理单元核210执行的一个或多个代码指令250。处理单元核210遵循由代码250所指示的程序指令序列。每个指令进入前端部分260并且由一个或多个解码器270处理。解码器可以生成微运算作为其输出,微运算诸如预定义格式的固定宽度的微运算,或者解码器可以生成反映原始代码指令的其他指令、微指令或控制信号。前端260也包括寄存器重命名逻辑262和调度逻辑264,它们一般分配资源并且对对应于转换指令的操作排队以便进行执行。
图示的处理单元核210包括具有一组执行单元285-1到285-N的执行逻辑280。一些实施例可以包括专用于多个特定功能或多组功能的多个执行单元。其他实施例可以包括仅仅一个执行单元或可执行特定功能的一个执行单元。执行逻辑280执行代码指令所指定的操作。
在代码指令所指定的操作的执行完成之后,后端逻辑290收回代码250的指令。在一实施例中,处理单元核210允许无序执行,但要求指令的有序收回。收回逻辑295可以对于本领域技术人员已知的各种形式(例如,重排序缓冲器等等)。以此方式,处理单元核210在代码250的执行期间被变换——至少在解码器所生成的输出、寄存器重命名逻辑262所使用的硬件寄存器和表格、以及执行逻辑280所修改的任何寄存器(未示出)方面。
尽管图2B未图示,处理元件可以包括在处理单元核210片上的其他元件。例如,处理元件可以包括连同处理单元核210的存储器控制逻辑。处理元件可以包括I/O控制逻辑以及/或者可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件也可以包括一个或多个高速缓存。
自适应和递归的样本提交过滤器
根据一实施例,用于样本提交的自适应和递归过滤的方案可以按照以下一般化步骤操作:(1)客户端设备接收新程序并将该程序的完整散列提交至服务器。(2)如果样本在服务器处已知且可用,则客户端上的样本提交过程可以停止操作,因为没有需要进一步分析的内容。(3)如果整个样本对于服务器未知,则客户端随后可以尝试根据可以与服务器预先共享的一组规则,将程序递归地分割为多个部分(如果规则确定不需要进一步分割,则递归程序分割停止)。(4)然后,客户端可以将所有已标识部分的散列和指纹(即,程序部分的已过滤版本的散列)提交至服务器。(5)接着,服务器可以用哪些部分对于服务器已知且可用的标识来应答,这些部分因此可以在传输上被省去。(6)客户端于是可以仅向服务器提交先前对于服务器未知的部分。(7)然后,客户端软件可以通过返回至以上步骤(3)来进一步分割(即,递归地)未知的部分。然后,服务器可以通过合并客户端所提交的新部分以及服务器字典中已经保持的先前已知部分,来重构原始样本。最后,服务器可以对原始样本执行期望的分析(该分析可以包括像静态和动态分析这样的手动或自动方法的任意组合,所述分析包括但不限于:解译、反向工程、数据流分析以及调用关系图分析、以及任何种类的被监管或未被监管的机器学习、群集等等),例如,恶意软件检测过程。尽管以上描述的实施例构想了将所有散列发送至服务器然后发送所有未知部分,其他实施例也可以以串行方式发送所述散列和未知部分,即,散列-部分-散列-部分,以此类推。
为了更好地理解自适应和递归的过滤过程,可以考虑提交文本段落的示例。例如,该过程可以通过标识整个段落的将会唯一标识文本的散列而开始。如果文本的特定段落对于服务器未知,则它可以被分割成多个句子(sentence),该多个句子然后可以被个别地散列化。同样,如果句子的散列对于服务器未知,则句子可以被分割成个别的单词(word),个别单词(individualword)可以被散列化。在该示例中,所有个别单词的散列会被服务器所知,因为它们会被存储于例如服务器侧的散列字典中。因此,在关于文本段落的该例中,“个别单词”级别会是递归将停止的点。将会领会,不同的实现方式会将不同的“基础情况”保障定义到递归过程中,以使得当该过程已将程序分为最小的可允许部分时,它不会尝试进一步地分割该程序。
自适应和递归过滤过程的另一个示例可以是对用于应用的安卓APK安装包的分解。APK包是若干捆ZIP格式的压缩文件,并且可以包含子文件(诸如“classes.dex”格式的资源、元数据信息以及程序)。该过程可以提交整个APK的散列,且如果在服务器上没有字典匹配,则它可以提交所有子文件的散列。对于不从划痕构造为新计划的任何APK,来自APK的一些子文件会可能对于服务器已知(例如,来自资源文件夹的与同一应用的以前版本共享的各种尺寸的图标、图像和动画、来自菜单项的字符串、开发者证书、等等)。
过滤
为了创建“指纹”,可以向样本的一部分应用过滤器(例如,使代码/数据与位置不相关的过滤器)。过滤器可以是平台相关的,例如在x86CPU上,对代码中绝对存储器地址的引用可以用序号(或甚至零)来替换,以创建位置不相关的部分。这种过滤也有助于更好地压缩数据。因此,在服务器侧重新构造的样本可能与原始样本不相同——但它对于特定类型的分析仍可以充分相似(例如,如果仅提交目标代码,它仍可以被解译;替代地,无代码的数据仍可能携带可疑的URL或利用足以进行样本分类的数据块)。要应用的过滤级别也可以取决于客户端参数(例如3G/4G这样的连接类型、带宽可用性、以及/或者平均连接持续期)。过滤也可以涉及丢弃部分的特定部件(例如,移除零值块、空白、数据填充块、重复图案、不活动/死的代码分支、等等)或者在计算它们的散列并将它们作为指纹发送之前转换/替换它们(例如,执行小写字符向大写字符的转换、或任何其他种类的表格驱动或算术转换)。
然后,服务器可以在满的“未经过滤”二进制部分被提交时替换这些“已过滤”部分。这甚至对于独特样本可以改进样本的服务器表示(例如,当部分在匹配原始散列的其他软件程序中被发现时——对于来自同一缘的独特、被定位的恶意软件样本完全可行的场景,其中不同的二进制数可以由于例如代码/数据“剪切和粘贴”或公共库而共享它们的部分)。服务器可以分析新的部分、确定将它们进一步分割为各部分的最佳方法、并且向客户端(或多个客户端)发送经更新的分割规则。
为了更好地理解过滤过程,可以考虑彩色图像文件的示例。在彩色图像文件的情况下,过滤可以包括移除所有色彩,并将图像转换成黑白图像。然后,如果黑白图像的指纹与服务器已知的经过滤的彩色样本图像文件的指纹相匹配,则传入文件有很大的可能性会与位于服务器上的已匹配的样本图像文件相同。这类过滤技术对于图像文件间的微小差异也可以是有弹性的。例如,如果在客户端和服务器的任一侧或两侧应用了噪声减少(或减少细节)之后,散列对于客户端和服务器上的图像是匹配的,则图像被保证为相似。
在文本串的情况下,可能使用的一类过滤器会是“小写”过滤器。这一过滤器可以纠正相同字符串之间大小写差异,以使变化大小写的字符串(但字母相同)仍能与后端服务器上的相同文本相匹配。
此处所述技术可有用的程序的另一示例是大型编程库,例如,标准C语言库。随着特定过滤级别的应用,例如,移除与程序中定位有关的所有元素,给定库的所有实例会被识别为同一个库的实例。然后,这种实例若有需要可以在服务器处被重构,并且不需要被客户端设备完整地提交给服务器。
根据预先共享规则的样本分割
现在参照图3,示出根据一个或多个公开的实施例、根据预先共享规则来分割样本300以提交至服务器字典的符号表示。样本300被示出为由七个个别部分组成,至少在第一次经过递归样本分割之后。特别是,部分1被描述为通过散列匹配对服务器已知,并且在服务器字典处可用。当样本的特定部分对于服务器已知且可用时,不再需要将样本的该部分提交至服务器,且过程可以前进至样本的下一部分。在样本300的示例中,部分2被描述为对于服务器未知。在该示例中,分割规则不会规定要进一步分割部分2的任何其他方式。因此,若连接允许的话,样本的该部分应当被发送至服务器供分析。移至部分3,该部分对于服务器“非精确地”已知,也就是说,它经由指纹已知。换言之,存储于部分3中的确切代码块可能并非逐字母地对于服务器已知,但一旦适当的过滤已经应用于代码块(例如,上述位置不相关的代码过滤)且经过滤的部分已被散列化,该样本现在就被服务器所识别。因此,若可用的连接时间允许,部分3会仅需要被发送至服务器。
移至部分4,该部分同样被描述为通过散列对于服务器已知并且是可用的,因此不需要被重发至服务器。部分5也被描述为对于服务器“非精确地”已知,也就是说,服务器没有确切匹配,但是当不相关信息(出于样本分析目的)从该部分被剥离时,服务器能够识别该部分,因此除非可用的连接时间允许,它不需要被发送。与部分2相似,部分6被描述为对于服务器未知并且不能被进一步分割。因此,部分6是将被发送至服务器供分析的很好的候选者。最后,部分7对于服务器未知,但可以根据预先共享的规则被分割为进一步的子部分。在该情况下,部分7可以被分割350为子部分7A、7B和7C。
此时,可以对子部分7A、7B和7C递归地执行过滤过程和样本部分提交过程。如图3的示例所示,子部分7A通过散列匹配对于服务器已知,并且在服务器字典处可用,因此不需要被重新提交。部分7B被描述为对于服务器未知并且不能被进一步分割。因此,部分7B是被发送至服务器供分析的很好的候选者。最后,部分7C为服务器“非精确地”地已知,也就是说,它经由指纹已知。因此,若可用的连接时间允许,部分7C会仅需要被发送至服务器。
概言之,在图3所示的示例中,仅之前未知的部分2、6和7B会被发送至服务器。若连接允许,部分3和7C也可以被发送。然后,服务器将能重构完整的样本300,因为它已经有对其可用的所有其他部分(或至少从中拉取那些部分的其他样本)。
图4A示出图示用于在客户端处自适应地且递归地过滤样本的部分用于提交至服务器字典的方法的一实施例的流程图400,其中数据以交替方式被发送至服务器(即,“散列”-“部分”-“散列”-“部分”格式),如以下将描述。首先,客户端可以确定有一个样本需要提交(405)。接着,客户端可以将一组预先共享的(例如,自样本提交服务器预先共享的)规则应用于样本数据以便将该样本分割为多个部分(410)。这个过程中,客户端可以参照一组预先共享的样本分割和递归规则415。
接着,客户端可以确定所有必须的部分是否已被发送至服务器(420)。如果在块420处答案为“是”,则提交完成(455),且该特定样本的过程终止。如果相反,块420处的答案为“否”,则客户端可以将描述该样本下一部分的数据提交至服务器(425)。在一些实施例中,描述特定部分的数据可以是该部分的可用于唯一地识别该特定部分的内容的散列以及该特定部分相对于样本起点的位置。在服务器对散列进行分析之后,客户端可以从服务器接收关于该特定部分是否为服务器所知的应答(430)。然后,服务器可以用可最初创建样本的“稀疏”视图的部分来重新组成该样本。如果各部分被依序发送且它们的尺寸被传送至服务器,则服务器可以计算这些位置而不发送明确的位置(即,自样本起点的偏移)。当进一步的部分(例如从一个或多个客户端)到达时,服务器的视图可以变得较不稀疏并且最终成为该样本的真实表示。
如果在块435客户端接收该部分已经对于服务器可用的指示,则该过程可以跳过提交该部分并且前进至块450以确定是否有任何进一步的样本部分供潜在地提交至服务器。如果没有进一步的部分,则提交完成(455),且该特定样本的过程(或递归步骤)终止。相反,如果在块450有进一步的部分,则该过程可以返回至块425以提交描述下一部分的数据供提交至服务器。
如果相反,在块435客户端接收到该部分尚未对服务器可用的指示,则该过程可以前进至块440以接收关于该部分是否应被视为新样本的确定。如果该部分应被视为其自身的样本(块440处的“是”),则该过程可以继续通过返回至块410以便对新确定的“子样本”递归地调用样本分析过程。将一部分视为新样本的示例可以是查找父APK包内部的APK对象作为子文件、或者查找LinuxELF二进制元内嵌入的Flash对象。相反,如果该部分不应被视为其自身的样本(块440处的“否”),该过程可以继续将该当前样本部分发送至服务器供进一步的分析(445)并且接着前进至块450以分析原始样本的下一部分(若有)。
图4B示出图示用于在客户端处自适应地且递归地过滤样本的部分用于提交至服务器字典的方法的另一实施例的流程图460,其中数据以“全部散列”-“全部必要部分”格式被发送至服务器,如以下将描述。说明性的方法实施例460类似于实施例400开始。换言之,首先,客户端可以确定有一个样本需要提交,这可以涉及询问服务器它是否已在字典中(405)。接着,客户端可以将一组预先共享的(例如,自样本提交服务器预先共享的)规则应用于样本数据以便将该样本分割为多个部分(410)。这个过程中,客户端可以参照一组预先共享的样本分割和递归规则415。
然而,在实施例460中,客户端可以接着提交描述被提交至服务器的样本的每一部分的数据(例如,散列或者相对于样本起点的位置)(465)(与图4A中实施例的块425所示仅发送与第一部分相关的数据相反)。接着,客户端可以接收与要被提交的每一部分有关的服务器应答,即该部分是应被视为已知部分、新部分、还是新样本(470)。
接着,客户端可以确定是否有来自服务器的需要被处理的任何进一步的应答(475)。如果在块475处答案为“否”,则提交完成(495),且该特定样本的过程终止。相反,如果块475处的答案为“是”,则客户端可以接收关于该部分是否应被视为新样本的确定。如果该部分应被视为其自身的样本(块480处的“是”),则该过程可以继续通过返回至块410以便对新确定的“子样本”递归地调用样本分析过程。如果相反,该部分不应被视为其自身的样本(块480处的“否”),则该过程可能前进以确定当前部分是否对于服务器已知(485)。
如果块485处的答案为“是”,即样本部分已经对服务器可用,则该过程可以前进至块475以分析与来自该样本的一部分有关的下一应答。如果相反,块485处的答案为“否”,则该过程可以将当前样本部分发送至服务器供分析(490)并且然后返回至块475以便对下一应答(如果还有任何附加的应答)采取必要的动作。
现在参照图5,从服务器的角度示出用于从客户端接收自适应地和递归地过滤的样本部分用于在服务器处分析的方法的一个实施例的流程图。首先,服务器可以将一组样本分割规则发送至一个或多个客户端(505)。该组规则可以从服务器的字典中保持的一组部分中手动或自动创建。通过经由标准机器学习方法分析从部分的字典中(例如周期性地)提取的特征,系统可以构建将会提供原始样本的更好覆盖的一组群集规则。如果是,该组新的规则可以与客户端共享,因此使系统“自适应”。接着,服务器可以从客户端接收与一样本有关的第一数据(例如,散列以及相对于样本起点的相应位置信息)供潜在提交(510)。接着,服务器可以确定该样本是否对于服务器可用,即,散列是否对服务器已知以及/或者样本在服务器字典中(515)。如果在块515处答案为“是”,则提交完成(550),且该特定样本的过程终止。相反,如果在块515处答案为“否”,则服务器可以向客户端提供该样本在服务器处不可用的指示(520)。然后,服务器可以从客户端接收散列以及构成该样本的各个部分的相应位置(525)。(注意到,尽管该示例描述了发送全部散列,然后发送全部所需的部分,但是其他实施例可以采用上述的“散列-部分-散列-部分”方法。)如果接收到的第一部分在服务器处可用(块530处的“是”),则该过程可前进以确定是否有从客户端发送的进一步部分以查看(545)。如果在块545处答案为“否”,则提交完成(550),且该特定样本的过程终止。相反,如果块545处的答案为“是”,则该过程将返回至块530以确定接收到的下一部分在服务器处可用。
返回至块530,如果接收到的部分在服务器处不可用(即,块530处的“否”),则服务器将分析该部分以确定它是否应被视为新样本。如果该部分要被视为新样本(块535处的“是”),该过程可以返回至块(510)并且再次对新标识的样本开始样本接收过程。如果相反,该部分不被视为新样本(块535处的“否”),则服务器可以从客户端接收该部分并将其存储于服务器字典中的适当位置(540)。然后,该过程可以前进至块545以确定是否有进一步的部分从(诸)客户端发送供分析,并且在没有进一步的部分供服务器分析之前继续执行上述操作。
示例
以下示例关于进一步的实施例。示例1是一种包括其上存储的计算机可执行指令的非暂态计算机可读介质,用于使一个或多个处理单元:标识样本用于提交至服务器;从所述服务器接收所述样本是否对于服务器可用的指示;以及若所述指示是所述样本对于服务器不可用:根据一组规则将所述样本分割为多个部分;创建所述多个部分的每一个部分的散列;将所述多个部分的每一个部分的散列以及它们相应的位置提交至服务器;从所述服务器接收所述多个部分的每一个部分是否对于服务器可用的指示;以及仅向所述服务器提交所述服务器指示了该部分对于服务器未知的那些部分。
示例2包括示例1的主题,其中所提交的部分中的至少一个包括经过滤的部分。
示例3包括示例1或2的主题,其中,如果指示为所述样本对于服务器可用,则没有样本的部分被提交至所述服务器。
示例4包括示例1或2的主题,其中所述一组规则包括已经从所述服务器预先共享的一组规则。
示例5包括示例1或2的主题,其中所述多个部分中的至少一个部分包括库文件。
示例6包括示例1的主题,其中,如果所述指示是所述多个部分的一个部分对于服务器不可用,则指令进一步使一个或多个处理单元根据所述一组规则将该一个部分递归地分割为多个子部分。
示例7包括示例6的主题,其中所述指令进一步使一个或多个处理单元在以下任一发生之前、根据所述一组规则继续将各部分递归地分割为多个子部分:从所述服务器接收子部分对于服务器已知的指示;或者所述一组规则确定不需要进一步的分割。
示例8包括示例1的主题,其中用于标识样本用于提交至服务器的指令包括用于标识样本进行恶意软件分析的指令。
示例9包括示例2的主题,进一步包括用于创建所述多个部分的每一个部分的指纹的指令。
示例10包括示例9的主题,进一步包括用于将所述多个部分的每一个部分的指纹提交至服务器的指令。
示例11是一种包括其上存储的计算机可执行指令的非暂态计算机可读介质,用于使一个或多个处理单元:将一组样本分割规则发送至客户端;从所述客户端接收样本的散列;确定所述样本对于与所述一个或多个处理单元通信上耦合的字典是否可用;向所述客户端提供所述样本是否可用的指示;以及若所述指示为所述样本不可用:从所述客户端接收所述样本的各部分的多个散列以及它们相应的位置,其中各部分已经通过根据所述一组规则分割样本来创建;确定所述多个部分的每一个部分是否对于字典可用;向所述客户端提供所述多个部分的每一个部分是否对于所述字典可用的指示;仅从所述客户端接收其中该部分对于字典不可用的那些部分;以及将接收到的部分存储于所述字典中。
示例12包括示例11的主题,进一步包括用于使一个或多个处理单元通过合并接收到的部分以及已经对字典可用的部分来重构所述样本的指令。
示例13包括示例12的主题,进一步包括用于使一个或多个处理单元对所述样本执行恶意软件分析的指令。
示例14包括示例11的主题,其中接收到的部分中的至少一个部分包括经过滤的部分。
示例15包括示例14的主题,进一步包括用于使所述一个或多个处理单元用所述部分的未经过滤的版本来替换所述经过滤的部分中的至少一个部分的指令。
示例16包括示例11的主题,进一步包括其上存储的用于使一个或多个处理单元执行以下操作的指令:分析接收到的部分;至少部分基于接收到的部分的分析来确定一组经更新的样本分割规则;以及将所述一组经更新的样本分割规则发送至所述客户端。
示例17是一种样本分析方法,包括:将一组样本分割规则从服务器发送至客户端;在所述服务器处从所述客户端接收样本的散列;在所述服务器处确定所述样本对于与服务器通信上耦合的字典是否可用;由所述服务器向所述客户端提供所述样本对于服务器是否可用的指示;以及若所述指示为所述样本不可用:在所述服务器处从所述客户端接收所述样本的各部分的多个散列以及它们相应的位置,其中各部分已经通过根据所述一组规则分割样本来创建;在所述服务器处确定所述多个部分的每一个部分是否对于字典可用;由所述服务器向所述客户端提供所述多个部分的每一个部分是否对于所述字典可用的指示;在所述服务器处仅接收其中该部分对于字典不可用的那些部分;以及将接收到的部分存储于所述字典中。
示例18包括示例17的主题,进一步包括在服务器处通过合并接收到的部分以及对于字典已经可用的部分来重构所述样本的动作。
示例19包括示例17的主题,进一步包括在所述服务器处对所述样本执行恶意软件分析的动作。
示例20包括示例17的主题,其中接收到的部分中的至少一个部分包括经过滤的部分。
示例21包括示例20的主题,进一步包括在所述服务器处用所述部分的未经过滤的版本来替换所述经过滤的部分中的至少一个部分的动作。
示例22包括示例17的主题,进一步包括以下动作:在所述服务器处分析接收到的部分;至少部分基于接收到的部分的分析来确定一组经更新的样本分割规则;以及将所述一组经更新的样本分割规则发送至所述客户端。
示例23是一种被配置为执行样本分析的装置,包括:存储器;以及通信上耦合至所述存储器的一个或多个处理单元,其中所述存储器存储用于配置所述一个或多个处理单元以执行下列操作的指令:标识样本用于提交至服务器;创建所述样本的散列;将所述样本的所述散列提交至所述服务器;从所述服务器接收所述样本是否对于服务器可用的指示;以及若指示是所述样本对于服务器不可用:根据一组规则将所述样本分割为多个部分;创建所述多个部分的每一个部分的散列;将所述多个部分的每一个部分的散列以及它们相应的位置提交至服务器;从所述服务器接收所述多个部分的每一个部分是否对于服务器可用的指示;以及仅向所述服务器提交所述服务器指示了该部分对于服务器不可用的那些部分。
示例24包括示例23的主题,其中,如果所述指示是所述多个部分的一个部分对于服务器不可用,则指令进一步使一个或多个处理单元根据所述一组规则将该一个部分递归地分割为多个子部分。
示例25包括示例23的主题,其中用于标识样本用于提交至服务器的指令包括用于标识样本进行恶意软件分析的指令。
示例26是一种被配置为执行样本分析的装置,包括:存储器装置;以及在通信上耦合至所述存储器装置的处理装置,其中所述存储器装置存储用于配置所述处理装置以执行下列操作的指令:标识样本用于提交至服务器;创建所述样本的散列;将所述样本的所述散列提交至所述服务器;从所述服务器接收所述样本是否对于服务器可用的指示;以及若指示是所述样本对于服务器不可用:根据一组规则将所述样本分割为多个部分;创建所述多个部分的每一个部分的散列;将所述多个部分的每一个部分的散列以及它们相应的位置提交至服务器;从所述服务器接收所述多个部分的每一个部分是否对于服务器可用的指示;以及仅向所述服务器提交所述服务器指示了该部分对于服务器不可用的那些部分。
示例27包括示例26的主题,其中,如果所述指示是所述多个部分的一个部分对于服务器不可用,则指令进一步使所述处理装置根据所述一组规则将该一个部分递归地分割为多个子部分。
示例28包括示例26的主题,其中用于标识样本用于提交至服务器的指令包括用于标识样本进行恶意软件分析的指令。
示例29针对一种装置,该装置包括:存储器;一个或多个处理单元;以及非暂态计算机可读介质,包括其上存储的用于使一个或多个处理单元执行下列操作的计算机可执行指令:标识样本用于提交至服务器;从所述服务器接收所述样本是否对于服务器可用的指示;以及若所述指示是所述样本对于服务器不可用:则根据一组规则将所述样本分割为多个部分;创建所述多个部分的每一个部分的散列;将所述多个部分的每一个部分的散列以及它们相应的位置提交至服务器;从所述服务器接收所述多个部分的每一个部分是否对于服务器可用的指示;以及仅向所述服务器提交所述服务器指示了该部分对于服务器未知的那些部分。
示例30包括示例29的主题,其中所提交的部分中的至少一个包括经过滤的部分。
示例31包括示例29的主题,其中,如果指示为所述样本对于服务器可用,则没有样本的部分被提交至所述服务器。
示例32包括示例29的主题,其中所述一组规则包括已经从所述服务器预先共享的一组规则。
示例33包括示例29的主题,其中所述多个部分中的至少一个部分包括库文件。
示例34包括示例29的主题,其中,如果所述指示是所述多个部分的一个部分对于服务器不可用,则指令进一步使一个或多个处理单元根据所述一组规则将该一个部分递归地分割为多个子部分。
示例35包括示例34的主题,其中所述指令进一步使一个或多个处理单元在以下任一发生之前根据所述一组规则继续将各部分递归地分割为多个子部分:从所述服务器接收子部分对于服务器已知的指示;或者所述一组规则确定不需要进一步的分割。
示例36包括示例29的主题,其中用于标识样本用于提交至服务器的指令包括用于标识样本进行恶意软件分析的指令。
示例37包括示例30的主题,进一步包括用于创建所述多个部分的每一个部分的指纹的指令。
示例38包括示例37的主题,进一步包括用于将所述多个部分的每一个部分的指纹提交至服务器的指令。
示例39针对一种装置,该装置包括:存储器;一个或多个处理单元;以及非暂态计算机可读介质,包括其上存储的用于使一个或多个处理单元执行下列操作的计算机可执行指令:将一组样本分割规则发送至客户端;从所述客户端接收样本的散列;确定所述样本对于与所述一个或多个处理单元通信上耦合的字典是否可用;向所述客户端提供所述样本是否可用的指示;以及若所述指示为所述样本不可用:从所述客户端接收所述样本的各部分的多个散列以及它们相应的位置,其中各部分已经通过根据所述一组规则分割样本来创建;确定所述多个部分的每一个部分是否对于字典可用;向所述客户端提供所述多个部分的每一个部分是否对于所述字典可用的指示;仅从所述客户端接收其中该部分对于字典不可用的那些部分;以及将接收到的部分存储于所述字典中。
示例40包括示例39的主题,进一步包括用于使一个或多个处理单元通过合并接收到的部分以及已经对字典可用的部分来重构所述样本的指令。
示例41包括示例39的主题,进一步包括用于使一个或多个处理单元对所述样本执行恶意软件分析的指令。
示例42包括示例39的主题,其中接收到的部分中的至少一个部分包括经过滤的部分。
示例43包括示例42的主题,进一步包括用于使所述一个或多个处理单元用所述部分的未经过滤的版本来替换所述经过滤的部分中的至少一个部分的指令。
示例44包括示例39的主题,进一步包括用于使一个或多个处理单元执行以下操作的指令:分析接收到的部分;至少部分基于接收到的部分的分析来确定一组经更新的样本分割规则;以及将所述一组经更新的样本分割规则发送至所述客户端。
示例45是一种包括代码的机器可读介质,所述代码在被执行时使机器执行示例17-22的任一个示例的方法。
在以上描述中,出于说明目的,提出了许多具体细节以便提供对所公开的实施例的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践所公开的实施例。在其他实例中,结构和设备以框图形式示出以避免混淆所公开的实施例。对无下标或后缀的数字的引用被理解为引用与所引用的数字相对应的下标或后缀的所有实例。此外,本公开中使用的语言已经出于可读性和指令性目的而选择,并且可能未被选择以划定或限制本发明的主题,有必要参照权利要求书以确定这种发明的主题。说明书中引用“一个实施例”或“一实施例”意指结合实施例描述的特定特征、结构或特性被包括在至少一个所公开的实施例中,对“一个实施例”或“一实施例”的多次引用不应被理解为必须全部指同一个实施例。
还应当理解,以上描述意图是说明性的,不是限制性的。例如,上述实施例可以彼此组合使用,可以以与所示不同的次序执行说明性的过程步骤。在阅读以上描述后,许多其他实施例将对于本领域技术人员显而易见。因此,本发明的范围应当参照所附权利要求书以及这种权利要求所赋予的等价物的全部范围来确定。在所附权利要求中,术语“包括”(including)和“其中”(inwhich)被用作相应术语“包括”(comprising)和“其中”(wherein)的普通英语等价物。

Claims (25)

1.一种包括其上存储的计算机可执行指令的非暂态计算机可读介质,所述指令用于使一个或多个处理单元:
标识样本用于提交至服务器;
从所述服务器接收所述样本是否对于服务器可用的指示;以及
如果所述指示是所述样本对于服务器不可用:
则根据一组规则将所述样本分割为多个部分;创建所述多个部分中的每一个部分的散列;
将所述多个部分的每一个部分的散列以及它们相应的位置提交至服务器;
从所述服务器接收所述多个部分中的每一个部分是否对于服务器可用的指示;以及
仅向所述服务器提交服务器已经指示了所述部分对于服务器未知的那些部分。
2.如权利要求1所述的非暂态计算机可读介质,其特征在于,所提交的部分中的至少一个部分包括经过滤的部分。
3.如权利要求1或2所述的非暂态计算机可读介质,其特征在于,如果所述指示为所述样本对于服务器可用,则没有所述样本的部分被提交至所述服务器。
4.如权利要求1或2所述的非暂态计算机可读介质,其特征在于,所述一组规则包括已经从所述服务器预先共享的一组规则。
5.如权利要求1或2所述的非暂态计算机可读介质,其特征在于,所述多个部分中的至少一个部分包括库文件。
6.如权利要求1所述的非暂态计算机可读介质,其特征在于,如果所述指示是所述多个部分的一个部分对于服务器不可用,则所述指令进一步使所述一个或多个处理单元根据所述一组规则将该一个部分递归地分割为多个子部分。
7.如权利要求6所述的非暂态计算机可读介质,其特征在于,所述指令进一步使所述一个或多个处理单元在以下任一发生之前,根据所述一组规则继续将诸部分递归地分割为多个子部分:从所述服务器接收子部分对于服务器已知的指示;或者所述一组规则确定不需要进一步的分割。
8.如权利要求1所述的非暂态计算机可读介质,其特征在于,用于标识样本来提交至服务器的指令包括用于标识样本进行恶意软件分析的指令。
9.如权利要求2所述的非暂态计算机可读介质,其特征在于还包括,用于创建所述多个部分的每一个部分的指纹的指令。
10.如权利要求9所述的非暂态计算机可读介质,其特征在于,还包括用于将所述多个部分的每一个部分的指纹提交至所述服务器的指令。
11.一种包括其上存储的计算机可执行指令的非暂态计算机可读介质,所述指令用于使一个或多个处理单元:
将一组样本分割规则发送至客户端;
从所述客户端接收样本的散列;
确定所述样本对于在通信上耦合至所述一个或多个处理单元的字典是否可用;
向所述客户端提供所述样本是否可用的指示;以及
如果所述指示是所述样本不可用:
则从所述客户端接收所述样本的诸部分的多个散列以及它们相应的位置,其中所述诸部分已经通过根据所述一组规则分割样本来创建;
确定所述多个部分的每一个部分对于字典是否可用;
向所述客户端提供所述多个部分的每一个部分是否对于字典可用的指示;
仅从所述客户端接收该部分对于字典不可用的那些部分;以及
将接收到的部分存储于所述字典中。
12.如权利要求11所述的非暂态计算机可读介质,其特征在于,进一步包括用于使所述一个或多个处理单元通过合并接收到的部分以及已经对字典可用的部分来重构所述样本的指令。
13.如权利要求12所述的非暂态计算机可读介质,其特征在于,进一步包括用于使所述一个或多个处理单元对所述样本执行恶意软件分析的指令。
14.如权利要求11所述的非暂态计算机可读介质,其特征在于,接收到的部分中的至少一个部分包括经过滤的部分。
15.如权利要求14所述的非暂态计算机可读介质,其特征在于,进一步包括用于使所述一个或多个处理单元用所述部分的未经过滤的版本来替换所述经过滤的部分中的至少一个部分的指令。
16.如权利要求11所述的非暂态计算机可读介质,其特征在于,还包括其上存储的用于使所述一个或多个处理单元执行以下操作的指令:
分析接收到的部分;
至少部分基于对接收到的部分的分析来确定一组经更新的样本分割规则;以及
将所述一组经更新的样本分割规则发送至所述客户端。
17.一种样本分析方法,包括:
将一组样本分割规则从服务器发送至客户端;在所述服务器处从所述客户端接收样本的散列;
在所述服务器处确定所述样本对于在通信上耦合至所述服务器的字典是否可用;
由所述服务器向所述客户端提供所述样本对于服务器是否可用的指示;以及
如果所述指示是所述样本不可用:
则在所述服务器处从所述客户端接收所述样本的诸部分的多个散列以及它们相应的位置,其中所述诸部分已经通过根据所述一组规则分割样本来创建;
在所述服务器处确定所述多个部分中的每一个部分对于字典是否可用;
由所述服务器向所述客户端提供所述多个部分的每一个部分是否对于字典可用的指示;
在服务器处仅接收该部分对于字典不可用的那些部分;以及
将接收到的部分存储于所述字典中。
18.如权利要求17所述的方法,其特征在于,进一步包括在服务器处通过合并接收到的部分以及对于字典已经可用的部分来重构所述样本的动作。
19.如权利要求17所述的方法,其特征在于,还包括在所述服务器处对所述样本执行恶意软件分析的动作。
20.如权利要求17所述的方法,其特征在于,接收到的部分中的至少一个部分包括经过滤的部分。
21.如权利要求20所述的方法,其特征在于,进一步包括在所述服务器处用所述部分的未经过滤的版本来替换所述经过滤的部分中的至少一个部分的动作。
22.如权利要求17所述的方法,其特征在于,进一步包括以下动作:
在所述服务器处分析接收到的部分;
至少部分基于接收到的部分的分析来确定一组经更新的样本分割规则;以及
将所述一组经更新的样本分割规则发送至所述客户端。
23.一种被配置为执行样本分析的装置,包括:
存储器装置;以及
在通信上耦合至所述存储器装置的处理装置,其中所述存储器装置存储用于配置所述处理装置以执行下列操作的指令:
标识样本用于提交至服务器;
创建所述样本的散列;
将所述样本的所述散列提交至所述服务器;
从所述服务器接收所述样本是否对于服务器可用的指示;以及
如果所述指示是所述样本对于服务器不可用:
则根据一组规则将所述样本分割为多个部分;创建所述多个部分中的每一个部分的散列;
将所述多个部分的每一个部分的散列以及它们相应的位置提交至服务器;
从所述服务器接收所述多个部分的每一个部分是否对于服务器可用的指示;以及
仅向所述服务器提交服务器已经指示了所述部分对于服务器不可用的那些部分。
24.如权利要求23所述的装置,其特征在于,如果所述指示是所述多个部分的一个部分对于服务器不可用,则所述指令进一步使所述处理装置根据所述一组规则将该一个部分递归地分割为多个子部分。
25.如权利要求23所述的装置,其特征在于,用于标识样本用于提交至服务器的指令包括用于标识样本进行恶意软件分析的指令。
CN201380079084.6A 2013-09-24 2013-09-24 用于样本提交的自适应和递归过滤 Pending CN105493095A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/061388 WO2015047222A1 (en) 2013-09-24 2013-09-24 Adaptive and recursive filtering for sample submission

Publications (1)

Publication Number Publication Date
CN105493095A true CN105493095A (zh) 2016-04-13

Family

ID=52691972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079084.6A Pending CN105493095A (zh) 2013-09-24 2013-09-24 用于样本提交的自适应和递归过滤

Country Status (4)

Country Link
US (1) US9843622B2 (zh)
EP (1) EP3049983B1 (zh)
CN (1) CN105493095A (zh)
WO (1) WO2015047222A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144757A (zh) * 2017-06-28 2019-01-04 环达电脑(上海)有限公司 具有固件保护功能的主板
CN109816007A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 应用程序文字信息的行业分类方法、存储介质及终端设备
CN111985637A (zh) * 2019-05-21 2020-11-24 苹果公司 具有多个处理任务的条件执行的机器学习模型

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205074B (zh) * 2014-06-25 2019-03-26 优视科技有限公司 文件增量升级方法及系统
US9792424B1 (en) 2014-09-18 2017-10-17 Amazon Technologies, Inc. Chained authentication using musical transforms
JP6174826B2 (ja) * 2015-01-28 2017-08-02 日本電信電話株式会社 マルウェア解析システム、マルウェア解析方法およびマルウェア解析プログラム
US10318262B2 (en) * 2015-03-25 2019-06-11 Microsoft Technology Licensing, Llc Smart hashing to reduce server memory usage in a distributed system
US9740862B1 (en) 2015-06-29 2017-08-22 Juniper Networks, Inc. Identifying malware based on a relationship between a downloader file and a downloaded file
GB2555859B (en) * 2016-11-15 2020-08-05 F Secure Corp Remote malware scanning
GB2555858B (en) * 2016-11-15 2021-06-23 F Secure Corp Remote malware scanning method and apparatus
US11568038B1 (en) 2017-09-19 2023-01-31 Amazon Technologies, Inc. Threshold-based authentication
US20190207966A1 (en) * 2017-12-28 2019-07-04 Fireeye, Inc. Platform and Method for Enhanced Cyber-Attack Detection and Response Employing a Global Data Store
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11748655B2 (en) * 2019-05-31 2023-09-05 Apple Inc. Classification of messages using learned rules

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100242094A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Identification of telemetry data
WO2013137917A1 (en) * 2012-03-15 2013-09-19 Hewlett-Packard Development Company, L.P. Determining a schedule for a job to replicate an object stored on a storage appliance

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685296B2 (en) * 2003-09-25 2010-03-23 Microsoft Corporation Systems and methods for client-based web crawling
US7543068B2 (en) * 2004-08-26 2009-06-02 At&T Intellectual Property I, Lp Filtering information at a data network based on filter rules associated with consumer processing devices
US7441273B2 (en) * 2004-09-27 2008-10-21 Mcafee, Inc. Virus scanner system and method with integrated spyware detection capabilities
US20070240222A1 (en) * 2006-04-06 2007-10-11 George Tuvell System and Method for Managing Malware Protection on Mobile Devices
US7627542B2 (en) * 2006-09-22 2009-12-01 Microsoft Corporation Group identification in large-scaled networks via hierarchical clustering through refraction over edges of networks
GB2444514A (en) * 2006-12-04 2008-06-11 Glasswall Electronic file re-generation
US7818534B2 (en) * 2007-05-09 2010-10-19 Yahoo! Inc. Determination of sampling characteristics based on available memory
US8645333B2 (en) * 2008-05-29 2014-02-04 International Business Machines Corporation Method and apparatus to minimize metadata in de-duplication
US8230510B1 (en) * 2008-10-02 2012-07-24 Trend Micro Incorporated Scanning computer data for malicious codes using a remote server computer
EP2366163B1 (de) 2008-12-12 2019-02-27 Roche Diagnostics GmbH Verfahren und system zum verwalten von daten von analysegeräten
US20110041179A1 (en) * 2009-08-11 2011-02-17 F-Secure Oyj Malware detection
US8839421B2 (en) * 2009-08-31 2014-09-16 Blackberry Limited System and method for controlling applications to mitigate the effects of malicious software
US8676759B1 (en) * 2009-09-30 2014-03-18 Sonicwall, Inc. Continuous data backup using real time delta storage
US9449175B2 (en) * 2010-06-03 2016-09-20 Nokia Technologies Oy Method and apparatus for analyzing and detecting malicious software
US20120011101A1 (en) * 2010-07-12 2012-01-12 Computer Associates Think, Inc. Integrating client and server deduplication systems
US9116909B2 (en) * 2010-12-29 2015-08-25 Amazon Technologies, Inc. Reduced bandwidth data uploading in data systems
US8874863B2 (en) 2011-08-01 2014-10-28 Actifio, Inc. Data replication system
US8584235B2 (en) * 2011-11-02 2013-11-12 Bitdefender IPR Management Ltd. Fuzzy whitelisting anti-malware systems and methods
US8874697B2 (en) * 2011-11-30 2014-10-28 Red Hat, Inc. Content download based on hashes
US9003529B2 (en) * 2012-08-29 2015-04-07 The Johns Hopkins University Apparatus and method for identifying related code variants in binaries
US8925085B2 (en) * 2012-11-15 2014-12-30 Microsoft Corporation Dynamic selection and loading of anti-malware signatures
US9805099B2 (en) * 2014-10-30 2017-10-31 The Johns Hopkins University Apparatus and method for efficient identification of code similarity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100242094A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Identification of telemetry data
WO2013137917A1 (en) * 2012-03-15 2013-09-19 Hewlett-Packard Development Company, L.P. Determining a schedule for a job to replicate an object stored on a storage appliance

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144757A (zh) * 2017-06-28 2019-01-04 环达电脑(上海)有限公司 具有固件保护功能的主板
CN109816007A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 应用程序文字信息的行业分类方法、存储介质及终端设备
CN111985637A (zh) * 2019-05-21 2020-11-24 苹果公司 具有多个处理任务的条件执行的机器学习模型

Also Published As

Publication number Publication date
EP3049983B1 (en) 2018-07-25
US20150088967A1 (en) 2015-03-26
WO2015047222A1 (en) 2015-04-02
US9843622B2 (en) 2017-12-12
EP3049983A4 (en) 2017-05-31
EP3049983A1 (en) 2016-08-03

Similar Documents

Publication Publication Date Title
CN105493095A (zh) 用于样本提交的自适应和递归过滤
US20230126005A1 (en) Consistent filtering of machine learning data
EP3588279B1 (en) Automated extraction of rules embedded in software application code using machine learning
CN106919555B (zh) 用于日志流内包含的数据的字段提取的系统和方法
US11100420B2 (en) Input processing for machine learning
US9886670B2 (en) Feature processing recipes for machine learning
US10102480B2 (en) Machine learning service
EP2924633A1 (en) A system and method for extracting a business rule embedded in an application source code
CN110019267A (zh) 一种元数据更新方法、装置、系统、电子设备及存储介质
CN106557307B (zh) 业务数据的处理方法及处理系统
Boranbayev et al. The method of data analysis from social networks using apache hadoop
CN110249312A (zh) 数据集成作业转换
US9904716B2 (en) Optimal analytic workflow
CN106126670B (zh) 运营数据排序处理方法及装置
US11989199B2 (en) Optimizing flow of data within ETL data processing pipeline
CN109697281A (zh) 在线合并文档的方法、装置及电子设备
Téllez‐Velázquez et al. A Spark image processing toolkit
CN113342518A (zh) 任务处理方法和装置
Pu The Design and Implementation of a High-Efficiency Distributed Web Crawler
CN104252486B (zh) 一种数据处理的方法及装置
KR101638048B1 (ko) 맵리듀스를 이용한 sql 질의처리방법
CN117135151B (zh) 一种gpu集群的故障检测方法及gpu集群、电子设备和存储介质
US20220237364A1 (en) Click to document
CN116503191A (zh) 一种基于rpa的财务对账方法、装置、设备及介质
CN112162831A (zh) 一种大数据分析方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160413

WD01 Invention patent application deemed withdrawn after publication