CN110826058B - 基于用户交互的恶意软件检测的设备、方法、介质 - Google Patents
基于用户交互的恶意软件检测的设备、方法、介质 Download PDFInfo
- Publication number
- CN110826058B CN110826058B CN201910452829.8A CN201910452829A CN110826058B CN 110826058 B CN110826058 B CN 110826058B CN 201910452829 A CN201910452829 A CN 201910452829A CN 110826058 B CN110826058 B CN 110826058B
- Authority
- CN
- China
- Prior art keywords
- file
- malware
- user
- metadata
- user device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 177
- 230000003993 interaction Effects 0.000 title claims abstract description 174
- 238000001514 detection method Methods 0.000 title claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 140
- 244000035744 Hura crepitans Species 0.000 claims abstract description 56
- 230000009471 action Effects 0.000 claims abstract description 48
- 238000012360 testing method Methods 0.000 claims abstract description 32
- 230000004048 modification Effects 0.000 claims description 58
- 238000012986 modification Methods 0.000 claims description 58
- 230000015654 memory Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 27
- 230000006399 behavior Effects 0.000 claims description 24
- 230000008260 defense mechanism Effects 0.000 claims description 18
- 238000005516 engineering process Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 9
- 238000012795 verification Methods 0.000 description 8
- 230000008520 organization Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1491—Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开的实施例涉及基于用户交互的恶意软件检测。设备可以接收文件,该文件已经被下载到或者将被下载到用户设备并且将经历恶意软件检测过程。基于文件的一个或多个文件标识属性,设备可以获得标识与文件相关联的用户交互的元数据。元数据可以包括当文件在用户设备上被访问时执行的第一组用户交互或者当文件在一个或多个其它用户设备上被访问时执行的第二组用户交互。设备可以通过执行由元数据标识的用户交互并且执行恶意软件检测过程以确定文件是否是恶意软件来在沙盒环境中测试文件以获得结果。设备可以提供通知以在文件是恶意软件时使用户设备执行动作。
Description
技术领域
本公开的实施例涉及恶意软件的检测领域,更具体地,涉及基于用户交互的恶意软件检测。
背景技术
恶意软件可以指被有意设计为对计算机、服务器、网络等造成损害的任何软件。为了防止、检测和/或移除恶意软件,组织可以通过使设备配备有防火墙软件、恶意软件检测和/或移除软件等来保护设备。
发明内容
根据一些可能的实施方式,设备可以包括一个或多个存储器以及被通信地耦合至一个或多个存储器的一个或多个处理器,用以接收文件,该文件已经被下载到第一用户设备或者将被下载到第一用户设备,其中文件将经历恶意软件检测过程。一个或多个处理器可以处理文件以确定一个或多个文件标识属性。一个或多个处理器可以基于一个或多个文件标识属性获得标识与文件相关联的用户交互的元数据,其中用户交互包括以下中的至少一个:当文件在第一用户设备上被访问时所执行的第一组用户交互,或者当文件在一个或多个其它用户设备上被访问时所执行的第二组用户交互。一个或多个处理器可以在沙盒环境中测试文件以获得结果,其中一个或多个处理器在测试文件时用以:执行由元数据标识的用户交互,并且执行恶意软件检测过程以确定文件是否是恶意软件。一个或多个处理器可以向第一用户设备提供包括结果的通知,以在文件是恶意软件时使第一用户设备执行一个或多个动作。
根据一些可能的实施方式,方法可以包括:由设备接收文件,该文件已经被下载到第一用户设备或者将被下载到第一用户设备。该方法可以包括:由设备处理文件以确定一个或多个文件标识属性。该方法可以包括:由设备并且基于一个或多个文件标识属性获得元数据,该元数据标识包括以下中的至少一个的与文件相关联的用户交互:当文件在第一用户设备上被访问时所执行的第一组用户交互或者当文件在一个或多个其它用户设备上被访问时所执行的第二组用户交互。该方法可以包括:由设备并且在沙盒环境内执行由元数据标识的用户交互。该方法可以包括:由设备并且在沙盒环境内执行恶意软件检测过程以确定文件是否是恶意软件,其中用户交互被执行以减少或消除恶意软件防御机制在执行恶意软件检测过程之前触发良性恶意软件行为的可能性。该方法可以包括:由设备并且向第一用户设备提供通知,该通知指示文件是否是恶意软件,以在文件是恶意软件时使第一用户设备执行一个或多个动作。
根据一些可能的实施方式,非瞬态计算机可读介质可以存储指令,该指令包括一个或多个指令,该一个或多个指令在由用户设备的一个或多个处理器执行时使一个或多个处理器接收将在用户设备上被访问的文件。一个或多个指令可以使一个或多个处理器处理文件以确定文件标识符。一个或多个指令可以使一个或多个处理器捕获与一个或多个界面对象的用户交互,该一个或多个界面对象与在文件被访问之后所显示的文件相关联。一个或多个指令可以使一个或多个处理器生成标识与一个或多个界面对象的用户交互的元数据,该一个或多个界面对象与文件相关联。一个或多个指令可以使一个或多个处理器向由安全平台可访问的数据结构提供文件标识符和元数据,以允许安全平台在沙盒环境中测试文件以确定文件是否是恶意软件。一个或多个指令可以使一个或多个处理器从安全平台接收通知,该通知指示文件是否是恶意软件。一个或多个指令可以使一个或多个处理器基于接收到通知并且通知指示文件是恶意软件来执行一个或多个动作以撤销由恶意软件对用户设备产生的修改集合。
附图说明
图1A至图1E是本文所描述的示例实施方式的示意图。
图2是可以实施本文所描述的系统和/或方法的示例环境的示意图。
图3是图2的一个或多个设备的示例组件的示意图。
图4至图6是用于基于与文件过程相关联的用户交互来检测恶意软件的示例过程的流程图。
具体实施方式
示例实施方式的以下详细描述参照附图。不同附图中的相同附图标记可以标识相同或类似的元素。
为了防止和/或检测恶意软件,组织可以通过使设备配备有防火墙软件、恶意软件检测和/或移除软件等来保护设备。例如,组织可以利用能够检测文件是否是恶意软件的一种或多种恶意软件检测技术来部署沙盒环境。
然而,恶意软件可能被配备有各种防御机制,该各种防御机制使恶意软件难以检测和消除。例如,恶意软件可以被配备有防御机制,该防御机制标识恶意软件是否被人类用户或者能够检测恶意软件的沙盒环境访问。
作为示例,如果用户与用户设备交互以下载和/或访问是恶意软件的文件,则恶意软件可能会要求用户进行输入,诸如,通过要求用户与一个或多个对话框交互,该一个或多个对话框被呈现以用于显示在用户设备的界面上(例如,用户可以通过选择是或否,通过回答问题,通过选择所显示的菜单选项列表的子集等来与对话框交互)。在该示例中,如果被输入到对话框的响应类似机器而不是人类用户,则恶意软件可以触发防御机制,该防御机制使恶意软件表现出良性行为。通过表现出良性行为并且将它自己伪装为清洁软件,在沙盒环境中使用的恶意软件检测技术可能无法检测出恶意软件。
此外,可以在对话框内执行较大变化的可能动作,并且恶意软件创建者可以始终发布新的变化和技巧以用于核实用户是否是人类用户。如此,将机器学习模型部署在沙盒环境中以预测用户响应可能是无效的解决方案。
本文所描述的一些实施方式提供了一种安全平台,以通过模拟与文件过程相关联的用户交互以克服恶意软件防御机制来确定文件是否是恶意软件,从而允许执行恶意软件检测过程来确定文件是否是恶意软件。例如,安全平台可以接收文件,该文件要经过测试以确定该文件是否是恶意软件。在这种情况下,安全平台可以获得标识用户交互的元数据,该用户交互与文件的过程相关联,当文件在用户设备上被访问时这些文件的过程结合文件被执行。附加地,安全平台可以通过执行由元数据标识的用户交互并且通过执行恶意软件检测过程以确定文件是否是恶意软件来在沙盒环境中测试文件。此外,安全平台可以向用户设备提供通知,该通知指示文件是否是恶意软件。如果文件是恶意软件,则用户设备可以执行一个或多个动作以撤销恶意软件对用户设备进行的修改的集合。
通过这种方式,安全平台确定文件是否是恶意软件,尽管恶意软件部署了能够检测恶意软件是否被人类用户或沙盒环境访问的防御机制。通过防止或减少对网络内的设备的恶意软件攻击,安全平台降低了对恶意软件所对准的设备的处理资源(例如,可以被用来执行未经授权的动作、接收未经授权的数据、存储未经授权的数据、传输未经授权的数据等的资源)的利用率。这通过释放资源提高了设备的整体性能,否则这些资源可能会被用来执行由恶意软件命令的未经授权的动作。此外,通过检测恶意软件,安全平台保存了处理资源和/或网络资源,否则这些资源将被用来执行撤销由恶意软件产生的修改所需的动作。
附加地或者备选地,本文所描述的一些实施方式提供了一种用户设备,用以捕获与文件的过程相关联的一个或多个界面对象的用户交互,向安全平台提供标识用户交互的元数据以允许安全平台确定文件是否是恶意软件,并且如果文件被标识为恶意软件,则执行动作以撤销对用户设备的修改的集合。例如,用户设备可以捕获与一个或多个界面对象的用户交互,该一个或多个界面对象与在文件被访问之后所显示的文件相关联。在这种情况下,用户设备可以向数据存储装置提供标识用户设备的元数据,这可以允许安全平台在沙盒环境中测试文件以确定文件是否是恶意软件。附加地,用户设备可以接收通知,该通知指示文件是否是恶意软件,并且可以执行一个或多个动作以撤销由恶意软件对用户设备产生的修改。
通过这种方式,用户设备捕获确定文件是否是恶意软件所需的用户交互,从而防止或减少对用户设备的恶意软件攻击。这降低了对用户设备的处理资源的利用率,否则该处理资源可能会用于执行未经授权的动作,接收未经授权的数据,存储未经授权的数据,传输未经授权的数据等。此外,通过追踪状态信息,用户设备能够撤销由恶意软件进行的修改的集合。这降低了对先前被用来支持恶意软件相关动作的资源的利用率,通过释放用于授权任务的资源提高了用户设备性能等。
图1A至图1E是本文所描述的示例实施方式100的示意图。示例实施方式100可以包括与组织(或者两个或多个组织)相关联、与网络(或者两个或多个网络)相关联等的一组用户设备、数据存储装置和用于提供与网络安全相关的服务的安全平台。如图所示,安全平台可以通过使用从该组用户设备获得的元数据模拟与文件相关联的用户交互来确定文件是否是恶意软件。这可以允许安全平台对文件执行恶意软件检测过程(例如,在沙盒环境中),而不需要文件激活恶意软件防御机制,否则该恶意软件防御机制将防止恶意软件检测过程检测恶意软件,如在本文中进一步详细描述的。如本文所使用的,文件可以包括可执行文件(例如,程序等)或不可执行文件(例如,文字处理文档、电子表格文档、便携式文档格式(PDF)文档等)。
如在图1A中并且通过附图标记105所示出的,该组用户设备可以周期性地接收文件。例如,组织的一个或多个员工团队可以使用该组用户设备来执行多个不同任务作为组织内的工作的一部分。随着时间,文件可以被下载到和/或安装到该组用户设备(例如,以帮助用户执行工作相关任务,或者在一些情况下,可以出于另一目的或偶然地下载文件)。
在一些实施方式中,文件可以被直接下载到用户设备。例如,文件可以从网页下载,经由电子邮件中的链路下载等。附加地或者备选地,当文件将被下载到用户设备时(例如,当在组织的网络上时),首先可以通过一个或多个中间设备路由发送或拦截文件,诸如,交换端口分析器(SPAN)、网络传感器、网络网关、安全平台等。作为示例,中间设备可以监测网络流量(例如,传入的文件),并且可以将网络流量或网络流量的副本提供给安全平台以用于进一步分析。
在一些实施方式中,在将网络流量发送到一个或多个用户设备之前,中间设备可以将网络流量或网络流量的副本转发到安全平台。在一些实施方式中,在将网络流量发送到一个或多个用户设备之后,中间设备可以将网络流量或网络流量的副本转发到安全平台。在一些实施方式中,在将网络流量发送到一个或多个用户设备的同时,中间设备可以将网络流量或网络流量的副本转发到安全平台。
如通过附图标记110所示出的,该组用户设备可以生成标识与文件的过程相关联的用户交互的元数据。例如,用户设备可以捕获针对被显示为文件的过程的一部分的界面对象集合的显示信息,可以捕获与界面对象集合的用户交互,并且可以生成标识显示信息和/或用户交互的元数据,如在本文中进一步详细描述的。
在一些实施方式中,当用户设备下载文件、执行文件和/或与文件过程交互时,该文件可以触发可以被用户观看的用户界面对象集合的显示。如果文件是恶意软件,则用户界面对象集合可以包括被用来核实用户是人类用户(例如,而不是试图检测文件是恶意软件的机器)的对话框。在这种情况下,为了核实用户是否是人类用户,对话框组可以通过要求用户选择屏幕上的特定对象(如图1A所示,通过要求用户选择包括道路的图像),通过要求用户选择显示在屏幕上的特定颜色等,来要求用户对所呈现的问题选择是或否,从选择菜单选择对所呈现的问题的响应,要求用户输入对所呈现的问题的响应(例如,通过使用键盘来输入响应)。
在一些实施方式中,用户设备可以安装代理程序,该代理程序能够捕获与文件过程相关联的用户交互。例如,为了利用由安全平台提供的服务,用户可以将代理程序安装到用户设备上,该代理程序包括用于捕获针对与文件相关联的界面对象集合的显示信息、捕获与文件相关联的界面对象集合的用户交互集合等的特征。代理程序可以被安装为用户设备的用户空间部分的一部分或者用户设备的内核空间部分的一部分。
在一些实施方式中,用户设备可以捕获针对被显示为文件过程的一部分的界面对象集合的显示信息。例如,用户设备可以通过使用图像捕获技术、界面抓取技术等来捕获显示信息。图像捕获技术可以获得用户界面的周期性截屏,记录用户界面的视频等。如果图像捕获技术获得了周期性截屏,则可以创建图像文件,该图像文件包括针对界面对象集合的显示信息、针对用户界面的其它方面(例如,未通过文件显示的各方面)的显示信息等。如果图像捕获技术记录了视频,则可以创建媒体文件,该媒体文件包括具有显示信息的帧集合。
在一些实施方式中,用户设备可能能够在与文件过程不关联的其它界面对象上标识界面对象集合。例如,用户设备可以在执行文件过程之前获得第一截屏,并且可以在执行文件过程之后获得第二截屏。如此,用户设备可以分析第一截屏和第二截屏以标识哪些界面对象与文件过程相关联。
在一些情况下,用户设备可以立即丢弃(例如,删除)与文件过程无关的显示信息。例如,如果用户设备接收到恶意软件的弹出窗口(pop-up),同时在在线银行网页上,则用户设备将丢弃与弹出窗口无关的任何显示信息(例如,可能已经出现在用户界面上的机密银行信息)。通过这种方式,用户设备捕获与文件过程相关的显示信息,而不危害用户的数据隐私,同时仍然符合数据隐私法和/或类似法律。此外,这允许用户设备保存处理资源和/或网络资源,否则这些资源可能会被用来生成针对与文件无关的显示信息的元数据。
在一些实施方式中,用户设备可以捕获与文件过程相关联的用户交互。例如,用户设备可以使用图像捕获技术、界面抓取技术等来捕获用户交互。在这种情况下,用户设备可以通过以与上面描述的方式类似的方式比较特定时间段的截屏来区分用户交互与显示信息。例如,几秒钟的时间段内的一系列截屏可以指示鼠标图标正在朝着显示在用户界面上的特定按钮移动并且可以包括示出了正被点击的按钮的显示动作。这允许用户设备捕获可以被用来生成元数据的用户交互,如本文所描述的。
要理解,通过示例提供了用于捕获显示信息和用户交互的上述技术。实际上,用户设备可以使用任何数目的不同技术,诸如,由被安装在用户设备的内核级部分处的代理程序使用的技术(例如,其可能能够捕获数据,而不需要图像捕获或界面抓取技术)。
在一些实施方式中,用户设备可以选择性地捕获与界面对象集合的用户交互。例如,用户设备可以扫描文件以标识文件是安全的,这可以允许用户设备放弃捕获显示信息以及与界面对象的用户交互。在这种情况下,用户设备可以被提供有网页、文件、设备等的安全列表(通常称为白名单),并且可以执行文件的高级处理(例如,用以标识文件的发送者、文件名等)以确定是否捕获显示信息和用户交互。通过这种方式,当在用户设备上访问文件时,相对于总是捕获用户交互,用户设备保存了处理资源和/或网络资源。
在一些实施方式中,用户设备可以生成针对界面对象集合的元数据。例如,图像捕获技术可能已经创建了图像文件或媒体文件,并且用户设备可以使用一种或多种自然语言处理技术和/或一种或多种计算机视觉技术来处理图像文件或媒体文件以生成标识界面对象集合的元数据。标识界面对象集合的元数据可以包括标识界面对象是对人、地方、事物(例如,询问的问题)等的描述的数据、标识界面对象的特性(例如,颜色、大小、形状等)的数据等。
在一些实施方式中,用户设备可以确定针对文件的文件标识符。例如,用户设备可以处理文件以确定可以由安全平台用以获得标识与文件相关联的用户交互的元数据的文件标识符(例如,文件名、文件名的哈希等),如本文进一步描述的。
通过这种方式,该组用户设备能够捕获与文件相关联的用户交互。
如在图1B中并且通过附图标记115所示出的,该组用户设备可以将元数据(例如,标识用户交互的元数据和/或标识显示信息的元数据)和文件标识符提供给数据存储装置。例如,该组用户设备可以使用通信接口(例如,应用编程接口或类似类型的接口)来将元数据和针对文件的文件标识符提供给数据存储装置。
在一些实施方式中,一个或多个其它设备可以接收元数据和/或文件标识符。例如,用户设备可以向安全平台提供与文件相关联的元数据和/或对应的文件标识符。
如通过附图标记120所示出的,数据存储装置可以存储由该组用户设备提供的元数据和文件标识符。在一些实施方式中,数据存储装置可以使用数据结构来存储元数据和文件标识符,诸如,阵列、链表、哈希表、数据库(例如,关系数据库)和/或另一类型的数据结构。
在一些实施方式中,数据存储装置可以使用数据结构来建立元数据与文件标识符之间的关联。例如,可以通过将元数据与特定文件的文件标识符相关联的方式存储与特定文件相关联的元数据。
通过这种方式,数据存储装置将元数据与文件标识符相关联,使得安全平台能够使用针对特定文件的文件标识符来搜索针对对应于特定文件的元数据的数据结构,如本文进一步描述的。
如在图1C中并且通过附图标记125所示出的,安全平台可以接收文件。例如,安全平台可以接收已经由被包括在该组用户设备中的用户设备下载或者将被该用户设备下载的文件。在一些实施方式中,当在网络处接收到文件时,中间设备(例如,SPAN、网络传感器、网络网关等)可以创建文件的副本,并且将文件的副本提供给安全平台(或者可以将文件提供给安全平台并且将文件的副本提供给用户设备)。
在一些实施方式中,在文件已经被下载到用户设备之后和/或在用户设备已经触发文件过程之后,安全平台可以接收文件。在一些实施方式中,在文件已经被下载到用户设备之前和/或在用户设备已经触发文件过程之前,安全平台可以接收文件。
如通过附图标记130所示出的,安全平台可以确定针对文件的文件标识符。例如,安全平台可以处理文件以确定文件标识符(例如,可以确定针对文件的文件名、针对文件的文件名的哈希等)。如通过附图标记135所示出的,安全平台可以获得标识与文件相关联的用户交互的元数据。例如,安全平台可以使用包括文件标识符的搜索查询来搜索针对标识用户交互的元数据的数据存储装置的数据结构。在这种情况下,安全平台可以接收搜索结果(如果成功的话),该搜索结果包括标识由先前已经下载或访问了文件或相同类型的文件的一个或多个用户设备执行的用户交互的元数据。
在一些实施方式中,安全平台可以接收搜索结果,该搜索结果指示文件标识符与由数据结构存储的元数据不匹配。在这种情况下,安全平台可以执行动作的集合以获得元数据,该元数据标识与文件相关联的用户交互,该文件具有与文件的界面对象集合相同或类似的界面对象,如下面进一步描述的。
在一些实施方式中,安全平台可以在沙盒环境中访问文件,这可以触发与文件相关联的界面对象集合的显示。在这种情况下,安全平台可以使用本文其它地方描述的技术来捕获显示信息。附加地,安全平台可以处理显示信息来生成标识界面对象集合的元数据。此外,安全平台可以使用包括标识界面对象集合的元数据的搜索查询来搜索针对标识其它文件的相同或类似界面对象的元数据的数据结构。标识其它文件的相同或类似界面对象的元数据可以与标识与相同或类似界面对象的用户交互的元数据联合存储,安全平台然后可以在测试时使用这些元数据来确定文件是否是恶意软件。
在一些实施方式中,搜索查询可以允许可配置的参数。例如,只有标识针对其它文件的界面对象的元数据满足与标识文件的界面对象集合的元数据的相似度阈值水平,安全平台才可以获得标识与其它文件的界面对象的用户交互的元数据。这通过使用满足相似度阈值水平的元数据提高了安全平台准确检测恶意软件的能力。
通过这种方式,安全平台获得可以被用来模拟用户交互的元数据,该元数据可以被用以通过可以由文件(例如,这可以是恶意软件)呈现的用户核实测试。
如在图1D中并且通过附图标记140所示出的,安全平台可以在沙盒环境中测试文件。例如,安全平台可以访问文件(例如,执行文件、打开文件等),这可以使接口组件集合被显示为人类核实测试的一部分。在这种情况下,安全平台可以通过执行人类核实过程来完成人类核实测试,该人类核实过程对接口组件集合执行用户交互,这可以允许安全平台执行恶意软件检测过程以确定文件是否是恶意软件。
在一些实施方式中,安全平台可以被配置有沙盒环境,该沙盒环境可以被用来测试文件以确定文件是否是恶意软件。沙盒环境可以模拟由该组用户设备使用的功能齐全的操作系统和文件系统。例如,沙盒环境可以被配置为使得恶意软件可以访问硬盘驱动器、寄存器等,而该恶意软件不将沙盒环境标识为威胁。这可以允许沙盒环境访问文件,通过与由人类用户执行的用户交互相同或类似的方式与文件交互等。附加地或者备选地,沙盒环境可以被配置为执行能够检测文件是否是恶意软件的恶意软件检测过程,监测恶意软件对沙盒环境进行的改变等。
在一些实施方式中,安全平台可以模拟或执行由元数据标识的用户交互。例如,安全平台可以读取元数据值,该元数据值可以指示要执行哪些用户交互。如被示出为示例的,如果元数据标识出用户选择了显示道路的第一框以及显示道路的第四框,则安全平台可以执行涉及选择第一框和第四框的用户交互。
在一些实施方式中,人类核实过程可以使一系列接口组件被显示。例如,文件可以显示询问第一问题的第一对话框,并且如果正确回答了第一问题,则可以仅显示一个或多个附加对话框。在这种情况下,安全平台可以读取与第一对话框的用户交互相关联的元数据,这可以允许安全平台执行用户交互。安全平台然后可以扫描接口组件集合,直到检测到一个或多个附加对话框为止。在这种情况下,安全平台可以再次读取元数据,这可以允许安全平台执行与一个或多个附加对话框的附加用户交互。
在一些实施方式中,安全平台可以使用机器人过程自动化(RPA)技术或类似技术来执行用户交互。例如,安全平台可以使用RPA技术来读取元数据并且在沙盒环境内模拟或执行用户交互。
在一些实施方式中,安全平台可以执行恶意软件检测过程。例如,安全平台可以在完成人类核实过程之后执行恶意软件检测过程。恶意软件检测过程可以包括基于签名的检测技术、基于启发式的检测技术、行为检测技术、基于云的检测技术等。作为示例,恶意软件检测过程可以通过监测沙盒环境内的寄存器、端口等来确定文件是否是恶意软件,并且如果在访问文件时进行了特定修改,则安全平台可以推断该文件是恶意软件。
在一些情况下,由人类用户对用户设备执行的用户交互可能已经包括了错误动作(例如,可能无法通过人类核实测试的动作)。如果安全平台执行这些相同的用户交互,并且文件是恶意软件,则安全平台可能无法通过人类核实测试,这可能使文件(如果是恶意软件)表现出良性恶意软件行为。这会防止恶意软件检测过程检测到恶意软件。
为了防止这一点,在执行用户交互之前,安全平台可以确定由元数据标识的用户交互使恶意软件防御机制表现出良性恶意软件行为的可能性。例如,安全平台可以处理标识用户交互的元数据(例如,使用规则集合、在历史数据上被训练的使用机器学习的数据模型、统计分析等)以确定用户交互使恶意软件防御机制表现出良性恶意软件行为的可能性。在这种情况下,安全平台可以确定该可能性是否满足用户交互产生良性恶意软件行为的阈值可能性。如果不满足阈值,则安全平台仍然可以执行用户交互,如上面所描述的。如果满足阈值,则安全平台可以从数据存储装置获得其它用户交互(例如,使用本文所描述的技术),并且可以执行其它用户交互。
如通过附图标记145-1所示出的,安全平台可以向用户设备提供恶意软件检测过程的结果。例如,恶意软件检测过程可以确定文件不是恶意软件。在这种情况下,安全平台可以生成指示文件不是恶意软件的通知,并且可以向用户设备提供通知。
如通过附图标记150-1所示出的,用户设备可以显示结果。例如,用户设备可以显示结果,该结果指示文件不是恶意软件。在一些情况下,用户设备可能已经下载了文件,但是未授权访问文件,直到接收到该文件不是恶意软件的通知为止。在一些实施方式中,用户设备可能已经收集到与由文件对用户设备产生的修改相关的数据。在文件已经被标识为恶意软件的情况下,用户设备可能已经使用该数据来撤销修改。当文件被标识为安全的(即,不是恶意软件)时,用户设备可以从存储器删除该数据,从而保存存储器资源,否则继续存储数据将浪费该存储器资源。
通过这种方式,安全平台通过防止或减少文件(如果是恶意软件)检测到沙盒环境并且表现出良性恶意软件行为的可能性的方式来测试文件是否是恶意软件。
如图1E所示,安全平台可以确定文件是恶意软件。在这种情况下,并且如通过附图标记145-2所示出的,安全平台可以向用户设备提供恶意软件检测过程的结果(例如,文件是恶意软件)和/或指令。例如,安全平台可以生成指示文件是恶意软件的通知,并且可以向用户设备提供该通知。
在一些实施方式中,安全平台可以向用户设备提供指令作为通知的一部分,该指令与恶意软件可能已经对用户设备进行的修改集合相关联。该指令可以是撤销修改集合的指令、指示如何撤销修改集合的指令(例如,因为当安全平台在沙盒环境中访问文件时可能已经观察到修改集合)等。在一些实施方式中,安全平台可以允许自动撤销对用户设备进行的修改集合,诸如,通过使用API来登录到用户设备中并且执行撤销修改集合的动作(例如,如下面所描述的)。
修改集合可以包括改变寄存器值的第一修改、打开或关闭端口的第二修改、打开或关闭网络连接的第三修改、添加新文件或新文件夹的第四修改、修改现有文件或现有文件夹的第五修改等。
如通过附图标记150-2所示出的,在接收到文件是恶意软件的通知和/或指令之后,用户设备可以执行一个或多个动作以撤销修改集合。例如,代理程序(在用户设备上执行)可以被用来监测用户设备的状态信息。针对特定时间段,状态信息可以包括寄存器值集合、针对端口集合的端口状态(例如,打开、关闭等)、针对一个或多个网络连接的状态(例如,打开、关闭等)、针对文件集合的文件信息(例如,诸如文件大小、文件名等文件元数据、文件内容等)、文件夹信息(例如,指示哪些文件在哪些文件夹中等)等。
在这种情况下,用户设备可以将在下载和/或访问文件之前发生的第一时间段的状态信息与在接收到指示文件是恶意软件的通知之后发生的第二时间段的状态信息相比较。在一些实施方式中,用户设备可以智能地区分由文件产生的差异以及由对用户设备执行的其它授权动作所产生的差异。例如,用户设备可以监测对用户设备执行的所有(或一些)动作后面的源,这可以允许用户设备标识恶意软件进行了哪些修改。通过这种方式,用户设备标识由恶意软件进行的修改集合,这可以允许用户设备执行动作以撤销修改集合。
在一些实施方式中,安全平台可以执行一个或多个动作。例如,安全平台可以卸载文件,移除被标识为修改集合的一部分的有害内容,激活附加的安全过程,清除受感染的文件和/或文件夹,将注册表值恢复回与进行恶意软件修改之前的状态相关联的值,更新被修改的一个或多个端口的状态等。
在一些实施方式中,安全平台可能错误地确定文件不是恶意软件,可以标识错误,并且可以执行一个或多个动作以校正错误。例如,假设安全平台确定第一文件不是恶意软件。在这种情况下,安全平台随后可以接收第二文件,该第二文件已经被下载到第二用户设备(或者将被下载到第二用户设备)。安全平台可以对第二文件执行恶意软件检测过程以确定第二文件是恶意软件。此外,安全平台可以扫描先前被标识为不是恶意软件的文件的文件标识符列表,并且可以确定第二文件的文件标识符与第一文件的文件标识符相匹配。
如此,安全平台可以获得新的元数据,该新的元数据标识被用来确定第二文件是恶意软件的用户交互,并且可以重新测试第一文件,这可以包括执行由新的元数据标识的用户交互并且重新执行恶意软件检测过程以确定第二文件是恶意软件。此外,安全平台可以向用户设备提供通知,该通知指示第一文件是恶意软件,并且可以执行动作以撤销由恶意软件进行的修改,如本文描述的。
通过这种方式,即使恶意软件部署了能够检测恶意软件是否被人类用户或沙盒环境访问的防御机制,安全平台也确定文件是否是恶意软件。通过防止或减少对该组用户设备的恶意软件攻击,安全平台降低了对恶意软件所对准的用户设备的处理资源(例如,可以被用来执行未经授权的动作、接收未经授权的数据、传输未经授权的数据、存储未经授权的数据等的资源)的利用率。这通过释放资源提高了这些用户设备的整体性能,否则这些资源可能会被用来执行由恶意软件命令的未经授权的动作。此外,一些实施方式在用户设备访问文件之前检测恶意软件,这保存了处理资源和/或网络资源,否则这些资源将被用来执行撤销由恶意软件产生的修改所需的动作。
如上面所指示的,图1A至图1E仅被提供为示例。其它示例是可能的,并且可以不同于关于图1A至图1E所描述的。例如,与图1A至图1E所示的设备和/或网络相比,可能存在附加设备和/或网络、更少设备和/或网络、不同设备和/或网络或者排列不同的设备和/或网络。此外,图1A至图1E中所示的两个或更多个设备可以被实施在单个设备内,或者图1A至图1E中所示的单个设备可以被实施为多个分布式设备。附加地或者备选地,示例实施方式100的设备集合(例如,一个或多个设备)可以执行被描述为由示例实施方式100的另一设备集合执行的一个或多个功能。
图2是可以实施本文所描述的系统和/或方法的示例环境200的示意图。如图2所示,环境200可以包括一组用户设备210、数据存储装置220、在云计算环境240内被托管的安全平台230、一组网络设备250(被示出为网络设备250-1至网络设备250-N)和/或网络260。环境200的设备可以经由有线连接、无线连接或者有线连接和无线连接的组合来互连。
用户设备210包括能够接收、生成、存储、处理和/或提供与文件相关联的信息的一个或多个设备。例如,用户设备210可以包括通信设备和/或计算设备,诸如,移动电话(例如,智能电话、无线电话等)、膝上型计算机、平板计算机、手持式计算机、服务器计算机、游戏设备、可穿戴通信设备(例如,智能手表、一对智能眼镜等)或者类似类型的设备。
在一些实施方式中,用户设备210可以接收将经历安全平台230的一个或多个安全特征的文件。在一些实施方式中,用户设备210可以直接从源设备下载文件。在一些实施方式中,当用户设备210下载文件时,在文件被下载之前,文件可以由一个或多个中间设备拦截,诸如,交换端口分析器(SPAN)、网络传感器、网络网关、安全平台230等。在一些实施方式中,用户设备210可以向数据存储装置220提供元数据,该元数据标识用户交互集合和/或文件的文件标识符。
数据存储装置220包括能够接收、存储、生成、确定和/或提供与文件相关联的信息的一个或多个设备。例如,数据存储装置220可以包括服务器设备或服务器设备组。在一些实施方式中,数据存储装置220可以包括可以被用来存储与文件相关联的元数据、文件的文件标识符等的一个或多个数据结构。在一些实施方式中,数据存储装置220可以从安全平台230接收针对元数据的请求。在一些实施方式中,数据存储装置220可以向安全平台230提供元数据。
安全平台230包括能够接收、存储、处理、生成、确定和/或提供与文件相关联的信息的一个或多个设备。例如,安全平台230可以包括服务器设备(例如,主机服务器、网络服务器、应用服务器等)、数据中心设备或类似设备。在一些实施方式中,安全平台230可以向用户设备210提供通知,该通知指示文件是否是恶意软件。在一些情况下,通知可以包括指示要撤销由恶意软件产生的修改的指令、指示如何撤销由恶意软件产生的修改的指令等。
在一些实施方式中,安全平台230可以支持沙盒环境。在一些实施方式中,安全平台230使用物理机来支持沙盒环境。在一些实施方式中,安全平台230可以使用计算资源235来支持沙盒环境(例如,诸如通过使用在管理程序中运行的虚拟机)。在一些实施方式中,安全平台230可以包括能够对文件执行测试的执行引擎。在一些实施方式中,安全平台230可以包括执行引擎,该执行引擎能够利用与文件相关联的接口组件集合执行用户交互,执行恶意软件检测过程,执行恶意软件校正过程等。
在一些实施方式中,如图所示,安全平台230可以被托管在云计算环境240中。值得注意的是,尽管本文所描述的实施方式将安全平台230描述为被托管在云计算环境240中,但是在一些实施方式中,安全平台230可以不是基于云的(即,可以在云计算环境外被实施)或者可以是部分基于云的。
云计算环境240包括托管安全平台230的环境。云计算环境240可以提供计算、软件、数据访问、存储等服务,这些服务不需要终端用户了解托管安全平台230的(多个)系统和/或(多个)设备的物理位置和配置。如图所示,云计算环境240可以包括一组计算资源235(统称为“计算资源235”,并且单独称为“计算资源235”)。
计算资源235包括一个或多个个人计算机、工作站计算机、服务器设备或者另一类型的计算和/或通信设备。在一些实施方式中,计算资源235可以托管安全平台230。云资源可以包括在计算资源235中执行的计算实例、在计算资源235中被提供的存储设备、由计算资源235提供的数据传递设备等。在一些实施方式中,计算资源235可以经由有线连接、无线连接或者有线连接和无线连接的组合与其它计算资源235通信。
如在图2中进一步示出的,计算资源235可以包括一组云资源,诸如,一个或多个应用(“APP”)235-1、一个或多个虚拟机(“VM”)235-2、虚拟化存储装置(“VS”)235-3、一个或多个管理程序(“HYP”)235-4等。
应用235-1可以包括可以被提供给用户设备210和/或数据存储装置220或者由用户设备210和/或数据存储装置220访问的一个或多个软件应用。应用235-1可以消除在这些设备上安装和执行软件应用的需要。例如,应用235-1可以包括与安全平台230相关联的软件和/或能够经由云计算环境240被提供的任何其它软件。在一些实施方式中,一个应用235-1可以经由虚拟机235-2将信息发送到一个或多个其它应用235-1/从一个或多个其它应用235-1接收信息。
虚拟机235-2可以包括像物理机一样执行程序的机器(例如,计算机)的软件实施方式。虚拟机235-2可以是系统虚拟机或者过程虚拟机,这取决于虚拟机235-2对任何真实机器的使用和对应程度。系统虚拟机可以提供支持完整操作系统(“OS”)的执行的完整系统平台。过程虚拟机可以执行单个程序,并且可以支持单个过程。在一些实施方式中,虚拟机235-2可以代表另一设备(例如,用户设备210、数据存储装置220等)执行,并且可以管理云计算环境240的基础设施,诸如,数据管理、同步或者长时间数据传递。
虚拟化存储装置235-3可以包括在计算资源235的存储系统或设备内使用虚拟化技术的一个或多个存储系统和/或一个或多个设备。在一些实施方式中,在存储系统的上下文内,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指逻辑存储与物理存储的抽象(或分离),使得可以访问存储系统,而不考虑物理存储或者异构结构。分离可以允许存储系统的管理员在管理员如何管理针对终端用户的存储方面的灵活性。文件虚拟化可以消除在文件级被访问的数据与物理存储文件的位置之间的依赖性。这可以实现存储使用、服务器整合和/或无中断文件迁移性能的优化。
管理程序235-4可以提供允许多个操作系统(例如,“访客操作系统”)在主机计算机(诸如,计算资源235)上并发地执行的硬件虚拟化技术。管理程序235-4可以向访客操作系统呈现虚拟操作平台,并且可以管理访客操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。
网络设备250包括能够以本文所描述的方式接收、处理、存储、路由发送和/或提供流量(例如,文件等)的一个或多个设备。例如,网络设备250可以包括路由器,诸如,标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器、提供者路由器(例如,提供者边缘路由器、提供者核路由器等)、虚拟路由器等。附加地或者备选地,网络设备250可以包括网关、交换机、防火墙、集线器、桥接器、反向代理、服务器(例如,代理服务器、云服务器、数据中心服务器等)、负载平衡器和/或类似设备。在一些实施方式中,网络设备250可以是被实施在壳体(诸如,机箱)内的物理设备。在一些实施方式中,网络设备250可以是由云计算环境或数据中心的一个或多个计算机设备实施的虚拟设备。
在一些实施方式中,网络设备250可以用作中间设备以将流量和/或文件路由发送到安全平台230。在一些实施方式中,网络设备250可以是针对由安全平台230提供的服务的目标。如此,被描述为由用户设备210执行的一个或多个实施方式和/或特征可以由网络设备250实施和/或在网络设备250上被执行。
网络260包括一个或多个有线和/或无线网络。例如,网络260可以包括蜂窝网络(例如,第五代(5G)网络、第四代(4G)网络(诸如,长期演进(LTE)网络),第三代(3G)网络、码分多址(CDMA)网络、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、私有网络、自组网、内联网、互联网、基于光纤的网络、云计算网络等和/或这些或其它类型的网络的组合。
图2所示的设备和网络的数目和布置被提供为示例。实际上,与图2所示的设备和/或网络相比,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络或者不同布置的设备和/或网络。此外,图2中所示的两个或更多个设备可以被实施在单个设备内,或者图2中所示的单个设备可以被实施为多个分布式设备。附加地或者备选地,环境200的设备集合(例如,一个或多个设备)可以执行被描述为由环境200的另一设备集合执行的一个或多个功能。
图3是设备300的示例组件的示意图。设备300可以对应于用户设备210、数据存储装置220和/或安全平台230。在一些实施方式中,用户设备210、数据存储装置220和/或安全平台230可以包括一个或多个设备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执行本文所描述的一个或多个过程。附加地或者备选地,硬连线电路装置可以代替软件指令使用或者与软件指令组合使用以执行本文所描述的一个或多个过程。因此,本文所描述的实施方式并不限于硬件电路装置和软件的任何特定组合。
在一些实施方式中,设备300可以对应于网络设备250。在一些实施方式中,网络设备250可以包括一个或多个设备300和/或设备300的一个或多个组件。在一些实施方式中,网络设备250可以包括其它组件,诸如,链路集合、支持分组处理组件集合的集成电路集合、交换结构、控制器等。
图3中所示的组件的数目和布置被提供为示例。实际上,与图3中所示的组件相比,设备300可以包括附加组件、更少组件、不同组件或者不同布置的组件。附加地或者备选地,设备300的组件集合(例如,一个或多个组件)可以执行被描述为由设备300的另一组件集合执行的一个或多个功能。
图4是用于基于与文件过程相关联的用户交互来检测恶意软件的示例过程400的流程图。在一些实施方式中,图4的一个或多个过程框可以由安全平台(例如,安全平台230)执行。在一些实施方式中,图4的一个或多个过程框可以由与安全平台分离或者包括安全平台的另一设备或设备组执行,诸如,用户设备(例如,用户设备210)、数据存储装置(例如,数据存储装置220)和/或网络设备(例如,网络设备250)。
如图4所示,过程400可以包括接收文件,该文件已经被下载到第一用户设备或者将被下载到第一用户设备,其中文件将经历恶意软件检测过程(框410)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330、输入组件350、通信接口370等的安全平台230)可以接收文件,该文件已经被下载到第一用户设备(例如,第一用户设备210)或者将被下载到第一用户设备,如上面关于图1A至图1E所描述的。在一些实施方式中,文件可能经历恶意软件检测过程。
如在图4中进一步示出的,过程400可以包括处理文件以确定一个或多个文件标识属性(框420)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330等的安全平台230)可以处理文件以确定一个或多个文件标识属性,如上面关于图1A至图1E所描述的。
如在图4中进一步示出的,过程400可以包括基于一个或多个文件标识属性来获得标识与文件相关联的用户交互的元数据,其中用户交互包括以下中的至少一个:当文件在第一用户设备上被访问时所执行的第一组用户交互,或者当文件在一个或多个其它用户设备上被访问时所执行的第二组用户交互(框430)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330、输入组件350、通信接口370等的安全平台230)可以基于一个或多个文件标识属性来获得标识与文件相关联的用户交互的元数据,如上面关于图1A至图1E所描述的。在一些实施方式中,用户交互可以包括以下中的至少一个:当文件在第一用户设备上被访问时所执行的第一组用户交互,或者当文件在一个或多个其它用户设备上被访问时所执行的第二组用户交互。
如在图4中进一步示出的,过程400可以包括在沙盒环境中测试文件以获得结果,其中一个或多个处理器在测试文件时用以:执行由元数据标识的用户交互,并且执行恶意软件检测过程以确定文件是否是恶意软件(框440)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330、输入组件350、输出组件360、通信接口370等的安全平台230)可以在沙盒环境中测试文件以获得结果,如上面关于图1A至图1E所描述的。在一些实施方式中,安全平台在测试文件时可以执行由元数据标识的用户交互,并且可以执行恶意软件检测过程以确定文件是否是恶意软件。
如在图4中进一步示出的,过程400可以包括向第一用户设备提供包括结果的通知以在文件是恶意软件时使第一用户设备执行一个或多个动作(框450)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330、输出组件360、通信接口370等的安全平台230)可以向第一用户设备提供包括结果的通知以在文件是恶意软件时使第一用户设备执行一个或多个动作,如上面关于图1A至图1E所描述的。
过程400可以包括附加实施方式,诸如,任何单个实施方式或者下面描述和/或结合本文其它地方描述的一个或多个其它过程的实施方式的任何组合。
在一些实施方式中,标识用户交互的元数据可以包括标识与关联于文件的一个或多个界面对象的用户交互的数据。在一些实施方式中,当处理文件时,安全平台可以处理文件以确定以下中的至少一个:将被用作第一文件标识属性的文件标识符或者与一个或多个界面对象相关的一个或多个其它文件标识属性,该一个或多个界面对象在文件在沙盒环境中被访问之后被显示。在一些实施方式中,当获得标识用户交互的元数据时,安全平台可以通过使用第一文件标识属性或者一个或多个其它文件标识属性搜索将特定元数据与特定文件标识属性相关联的数据结构来获得标识用户交互的元数据。
在一些实施方式中,当在沙盒环境中测试文件时,安全平台可以执行恶意软件检测过程以确定文件是恶意软件。在一些实施方式中,恶意软件检测过程可以基于被人类用户执行时错误地访问用户交互的恶意软件的防御机制来确定文件是恶意软件。在一些实施方式中,当在沙盒环境中测试文件时,安全平台可以通过使用以下中的至少一个与关联于文件的一个或多个界面对象交互来执行由元数据标识的用户交互,或者用以使用以下中的至少一个来模拟:鼠标、键盘或触摸屏。在一些实施方式中,文件可以是恶意软件,并且安全平台在提供通知时可以提供指令集合作为通知的一部分,该指令集合指示如何撤销由恶意软件在第一用户设备上产生的修改集合。
在一些实施方式中,安全平台可以确定用户交互触发文件的良性恶意软件行为的可能性,并且可以确定用户交互触发良性恶意软件行为的可能性是否满足用户交互触发良性恶意软件行为的阈值可能性。在一些实施方式中,安全平台在沙盒环境中测试文件时可以通过基于用户交互触发良性恶意软件行为的可能性是否满足阈值可能性执行由元数据标识的用户交互或者由其它元数据标识的不同用户交互,来在沙盒环境中测试文件。
尽管图4示出了过程400的示例框,但是在一些实施方式中,与图4所描绘的框相比,过程400可以包括附加框、更少框、不同框或者不同布置的框。附加地或者备选地,可以并行执行过程400的两个或更多个框。
图5是用于基于与文件过程相关联的用户交互来检测恶意软件的示例过程500的流程图。在一些实施方式中,图5的一个或多个过程框可以由安全平台(例如,安全平台230)执行。在一些实施方式中,图5的一个或多个过程框可以由与安全平台分离或者包括安全平台的另一设备或设备组执行,诸如,用户设备(例如,用户设备210)、数据存储装置(例如,数据存储装置220)和/或网络设备(例如,网络设备250)。
如图5所示,过程500可以包括接收文件,该文件已经被下载到第一用户设备或者将被下载到第一用户设备(框510)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330、输入组件350、通信接口370等的安全平台230)可以接收文件,该文件已经被下载到第一用户设备或者将被下载到第一用户设备,如上面关于图1A至图1E所描述的。
如在图5中进一步示出的,过程500可以包括处理文件以确定一个或多个文件标识属性(框520)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330等的安全平台230)可以处理文件以确定一个或多个文件标识属性,如上面关于图1A至图1E所描述的。
如在图5中进一步示出的,过程500可以包括基于一个或多个文件标识属性获得元数据,该元数据标识包括以下中的至少一个的与文件相关联的用户交互:当文件在第一用户设备上被访问时所执行的第一组用户交互,或者当文件在一个或多个其它用户设备上被访问时所执行的第二组用户交互(框530)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330、输入组件350、通信接口370等的安全平台230)可以基于一个或多个文件标识属性获得元数据,该元数据标识包括以下中的至少一个的与文件相关联的用户交互:当文件在第一用户设备上被访问时所执行的第一组用户交互,或者当文件在一个或多个其它用户设备上被访问时所执行的第二组用户交互,如上面关于图1A至图1E所描述的。
如在图5中进一步示出的,过程500可以包括在沙盒环境内执行由元数据标识的用户交互(框540)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330、输入组件350、输出组件360、通信接口370等的安全平台230)可以在沙盒环境内执行由元数据标识的用户交互,如上面关于图1A至图1E所描述的。
如在图5中进一步示出的,过程500可以包括在沙盒环境内执行恶意软件检测过程以确定文件是否是恶意软件,其中用户交互被执行以减少或消除恶意软件防御机制在执行恶意软件检测过程之前触发良性恶意软件行为的可能性(框550)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330等的安全平台230)可以在沙盒环境内执行恶意软件检测过程以确定文件是否是恶意软件,如上面关于图1A至图1E所描述的。在一些实施方式中,用户交互可以被执行以减少或消除恶意软件防御机制在执行恶意软件检测过程之前触发良性恶意软件行为的可能性。例如,可以在执行恶意软件检测过程之前执行用户交互。在一些情况下,可以认为用户交互的执行被包括为恶意软件检测过程的一部分。
如在图5中进一步示出的,过程500可以包括向第一用户设备提供通知,该通知指示文件是否是恶意软件以在文件是恶意软件时使第一用户设备执行一个或多个动作(框560)。例如,安全平台(例如,使用计算资源235、处理器320、存储器330、输出组件360、通信接口370等的安全平台230)可以向第一用户设备提供通知,该通知指示文件是否是恶意软件以在文件是恶意软件时使第一用户设备执行一个或多个动作,如上面关于图1A至图1E所描述的。
过程500可以包括附加实施方式,诸如,任何单个实施方式或者下面描述和/或结合本文其它地方描述的一个或多个其它过程的实施方式的任何组合。
在一些实施方式中,标识用户交互的元数据可以包括标识与关联于文件的一个或多个界面对象的用户交互的数据。在一些实施方式中,文件可以是恶意软件,并且恶意软件检测过程可以基于被人类用户执行时错误地访问用户交互的恶意软件的防御机制来确定文件是恶意软件。
在一些实施方式中,获得标识用户交互的元数据可以包括通过使用第一搜索查询搜索针对标识用户交互的元数据的数据结构来执行搜索,其中第一搜索查询包括作为一个或多个文件标识属性的一部分的文件标识符。在一些实施方式中,安全平台可以基于执行搜索来接收结果,该结果指示标识用户交互的元数据未被发现。在一些实施方式中,安全平台可以通过使用第二搜索查询搜索针对标识用户交互的元数据的数据结构来执行另一搜索。在一些实施方式中,第二搜索查询可以包括一个或多个界面对象标识符作为一个或多个文件标识属性的一部分,该一个或多个界面对象标识符与当文件在沙盒环境中被访问时所显示的一个或多个界面对象相关联。在一些实施方式中,安全平台可以基于执行其它搜索来接收另一结果,该另一结果包括标识用户交互的元数据。
在一些实施方式中,文件可以是第一文件,并且恶意软件检测过程可以确定第一文件不是恶意软件。在一些实施方式中,安全平台可以接收第二文件,该第二文件已经被下载到第二用户设备或者将被下载到第二用户设备,可以对第二文件执行恶意软件检测过程以确定第二文件是恶意软件。在一些实施方式中,安全平台可以确定第二文件的文件标识符与第一文件的特定文件标识符相匹配,并且可以使用新的元数据来执行一个或多个动作以重新确定第一文件是否是恶意软件,该新的元数据标识被用来确定第二文件是恶意软件的特定用户交互。
在一些实施方式中,安全平台可以确定用户交互使恶意软件防御机制在执行恶意软件检测过程之前表现出良性恶意软件行为的可能性。在一些实施方式中,安全平台可以确定该可能性是否满足用户交互使恶意软件防御机制表现出良性恶意软件行为的阈值可能性。在一些实施方式中,安全平台在执行用户交互时可以基于该可能性是否满足阈值可能性来执行由元数据标识的用户交互或者由其它元数据标识的不同用户交互。在一些实施方式中,安全平台可以提供指令集合作为通知的一部分,该指令集合指示要撤销由恶意软件对第一用户设备产生的修改集合。在一些实施方式中,指令集合可以使第一用户设备撤销由恶意软件产生的修改集合。
尽管图5示出了过程500的示例框,但是在一些实施方式中,与图5所描绘的框相比,过程500可以包括附加框、更少框、不同框或者不同布置的框。附加地或者备选地,可以并行执行过程500的两个或更多个框。
图6是用于基于与文件过程相关联的用户交互来检测恶意软件的示例过程600的流程图。在一些实施方式中,图6的一个或多个过程框可以由用户设备(例如,用户设备210)执行。在一些实施方式中,图6的一个或多个过程框可以由与用户设备分离或者包括用户设备的另一设备或设备组执行,诸如,数据存储装置(例如,数据存储装置220)、安全平台(例如,安全平台230)和/或网络设备(例如,网络设备250)。
如图6所示,过程600可以包括接收将在用户设备上被访问的文件(框610)。例如,用户设备(例如,使用处理器320、存储器330、输入组件350、通信接口370等的用户设备210)可以接收将在用户设备上被访问的文件,如上面关于图1A至图1E所描述的。
如在图6中进一步示出的,过程600可以包括处理文件以确定文件标识符(框620)。例如,用户设备(例如,使用处理器320、存储器330等的用户设备210)可以处理文件以确定文件标识符,如上面关于图1A至图1E所描述的。
如在图6中进一步示出的,过程600可以包括捕获与关联于文件的一个或多个界面对象的用户交互,该一个或多个界面对象在文件被访问之后被显示(框630)。例如,用户设备(例如,使用处理器320、存储器330、输入组件350、输出组件360、通信接口370等的用户设备210)可以捕获与关联于文件的一个或多个界面对象的用户交互,该一个或多个界面对象在文件被访问之后被显示,如上面关于图1A至图1E所描述的。
如在图6中进一步示出的,过程600可以包括生成标识与关联于文件的一个或多个界面对象的用户交互的元数据(框640)。例如,用户设备(例如,使用处理器320、存储器330等的用户设备210)可以生成标识与关联于文件的一个或多个界面对象的用户交互的元数据,如上面关于图1A至图1E所描述的。
如在图6中进一步示出的,过程600可以包括向由安全平台可访问的数据结构提供文件标识符和元数据以允许安全平台在沙盒环境中测试文件以确定文件是否是恶意软件(框650)。例如,用户设备(例如,使用处理器320、存储器330、输出组件360、通信接口370等的用户设备210)可以向由安全平台可访问的数据结构(例如,安全平台230可以访问的数据存储装置220)提供文件标识符和元数据以允许安全平台在沙盒环境中测试文件以确定文件是否是恶意软件,如上面关于图1A至图1E所描述的。
如在图6中进一步示出的,过程600可以包括从安全平台接收指示文件是否是恶意软件的通知(框660)。例如,用户设备(例如,使用处理器320、存储器330、输入组件350、通信接口370等的用户设备210)可以从安全平台接收指示文件是否是恶意软件的通知,如上面关于图1A至图1E所描述的。
如在图6中进一步示出的,过程600可以包括基于接收到通知并且通知指示文件是恶意软件来执行一个或多个动作以撤销由恶意软件对用户设备产生的修改集合(框670)。例如,用户设备(例如,使用处理器320、存储器330、输入组件350、输出组件360、通信接口370等的用户设备210)可以基于接收到通知并且通知指示文件是恶意软件来执行一个或多个动作以撤销由恶意软件对用户设备产生的修改集合,如上面关于图1A至图1E所描述的。
过程600可以包括附加实施方式,诸如,任何单个实施方式或者下面描述和/或结合本文其它地方描述的一个或多个其它过程的实施方式的任何组合。
在一些实施方式中,文件可以是恶意软件。在一些实施方式中,向数据结构提供文件标识符和元数据可以允许安全平台在沙盒环境中执行用户交互,并且基于被人类用户执行时错误地访问用户交互的恶意软件的防御机制来使用恶意软件检测过程确定文件是恶意软件。在一些实施方式中,用户交互可以包括以下中的至少一个:对一个或多个界面对象中的第一界面对象的鼠标点击,将值输入到一个或多个界面对象中的第二界面对象的键盘录入,或者与一个或多个界面对象中的第三界面对象的触摸屏交互。
在一些实施方式中,用户设备可以捕获针对与文件相关联的一个或多个界面对象的显示信息,并且可以生成附加元数据,该附加元数据标识针对与文件相关联的一个或多个界面对象的显示信息。在一些实施方式中,当向数据结构提供文件标识符和元数据时,用户设备可以向数据结构提供附加元数据以允许安全平台在确定文件是否是恶意软件时使用附加元数据。在一些实施方式中,修改集合可以包括以下中的至少一个:改变寄存器值的第一修改、打开或关闭端口的第二修改、打开或关闭网络连接的第三修改、添加新文件或新文件夹的第四修改或者修改现有文件或现有文件夹的第五修改。
在一些实施方式中,当执行一个或多个动作以撤销修改集合时,用户设备可以将在访问文件之前发生的第一时间段的用户设备的状态信息与在接收到指示文件是恶意软件的通知之后发生的第二时间段的状态信息相比较。在一些实施方式中,用户设备可以基于在将第一时间段的状态信息与第二时间段的状态信息相比较时所标识的差异来标识修改集合。在一些实施方式中,用户设备可以撤销已经被标识的修改集合。
尽管图6示出了过程600的示例框,但是在一些实施方式中,与图6所描绘的框相比,过程600可以包括附加框、更少框、不同框或者不同布置的框。附加地或者备选地,可以并行执行过程600的两个或更多个框。
通过这种方式,安全平台确定文件是否是恶意软件,尽管恶意软件部署了能够检测恶意软件是否被人类用户或沙盒环境访问的防御机制。通过防止或减少对网络内的设备的恶意软件攻击,安全平台降低了对恶意软件所对准的设备的处理资源(例如,可以被用来执行未经授权的动作、接收未经授权的数据、存储未经授权的数据、传输未经授权的数据等的资源)的利用率。这通过释放资源提高了设备的整体性能,否则该资源可能会被用来执行由恶意软件命令的未经授权的动作。此外,通过检测恶意软件,安全平台保存了处理资源和/或网络资源,否则这些资源将被用来执行撤销由恶意软件产生的修改所需的动作。
附加地,用户设备捕获确定文件是否是恶意软件所需的用户交互,从而防止或减少对用户设备的恶意软件攻击。这降低了对用户设备的处理资源的利用率,否则该处理资源可能会被用于执行未经授权的动作,接收未经授权的数据,存储未经授权的数据,传输未经授权的数据等。此外,通过追踪状态信息,用户设备能够撤销对恶意软件进行的修改集合。这降低了对先前被用来支持恶意软件相关动作的资源的利用率,通过释放用于授权任务的资源提高了用户设备性能等。
前述公开内容提供了说明和描述,但并非旨在穷举或将实施方式限制于所公开的精确形式。鉴于以上公开内容,修改和变型是可能的,或者可以从实施方式的实践中获取修改和变型。
如本文所使用的,术语组件旨在被广义地解释为硬件、固件和/或硬件和软件的组合。
如本文所使用的,术语流量或内容可以包括分组集合。分组可以指用于传送信息的通信结构,诸如,协议数据单元(PDU)、网络分组、数据报、区段、消息、块、小区、帧、子帧、时隙、符号、上述的任何的一部分和/或能够经由网络被传输的另一类型的格式化或未格式化的数据单元。
本文结合阈值描述了一些实施方式。如本文所使用的,满足阈值可以指值大于(greater than)阈值、多于(more than)阈值、高于阈值、大于或等于阈值、小于(lessthan)阈值、少于(fewer than)阈值、低于阈值、小于或等于阈值、等于阈值等。
本文已经描述了和/或在附图中示出了某些用户界面。用户界面可以包括图形用户界面、非图形用户界面、基于文本的用户界面等。用户界面可以提供信息以供显示。在一些实施方式中,用户可以与信息交互,诸如,通过经由提供用户界面以供显示的设备的输入组件提供输入。在一些实施方式中,用户界面可以由设备和/或用户(例如,用户可以改变用户界面的大小、经由用户界面提供的信息、经由用户界面提供的信息的位置等)可配置。附加地或者备选地,用户界面可以被预配置为标准配置、基于显示用户界面的设备类型的特定配置和/或基于与显示用户界面的设备相关联的能力和/或规范的配置集合。
将明显的是,本文所描述的系统和/或方法可以以硬件、固件或者硬件和软件的组合的不同形式来实施。被用来实施这些系统和/或方法的实际专用控制硬件或软件代码并不限制实施方式。因此,本文描述了系统和/或方法的操作和行为,而没有参照特定的软件代码–要理解,软件和硬件可以被设计为基于本文的描述实施系统和/或方法。
即使特征的特定组合被叙述在权利要求书中和/或公开在说明书中,但是这些组合并不旨在限制可能的实施方式的公开内容。实际上,这些特征中的许多特征可以以未被具体叙述在权利要求书中和/或公开在说明书中的方式组合。尽管下面列举的每项从属权利要求都可以仅直接依赖于一项权利要求,但是可能的实施方式的公开内容包括与权利要求集合中的每项其它权利要求组合的每项从属权利要求。
除非明确地这样描述,否则本文所使用的元件、动作或指令不应被解释为关键或必要的。而且,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。此外,如本文所使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),并且可以与“一个或多个”互换使用。在仅有一个项目的情况下,使用术语“一个”或类似语言。而且,如本文所使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在作为开放式术语。进一步地,除非另有明确规定,否则短语“基于”旨在表示“至少部分地基于”。
Claims (20)
1.一种用于恶意软件检测的设备,包括:
一个或多个存储器;以及
一个或多个处理器,所述一个或多个处理器被操作地连接至所述一个或多个存储器,用以:
接收文件,所述文件已经被下载到第一用户设备或者将被下载到所述第一用户设备,
其中所述文件将经历恶意软件检测过程;
处理所述文件以从界面对象集合确定与一个或多个界面对象相关的一个或多个文件标识属性,所述一个或多个界面对象在所述文件在沙盒环境中被访问之后被显示;
通过使用所述一个或多个文件标识属性搜索将特定元数据与特定文件标识属性相关联的数据结构,来获得标识显示信息以及与所述界面对象集合的用户交互的元数据,
其中所述用户交互包括以下中的至少一个:
当所述文件在所述第一用户设备上被访问时所执行的第一组用户交互,或者
当所述文件在一个或多个其它用户设备上被访问时所执行的第二组用户交互;
在所述沙盒环境中测试所述文件以获得结果,
其中所述一个或多个处理器在测试所述文件时用以:
执行由所述元数据标识的所述用户交互,以及
执行所述恶意软件检测过程以确定所述文件是否是恶意软件;以及
向所述第一用户设备提供包括所述结果的通知以在所述文件是恶意软件时使所述第一用户设备执行一个或多个动作。
2.根据权利要求1所述的设备,其中所述一个或多个处理器在所述沙盒环境中测试所述文件时用以:
执行所述恶意软件检测过程以确定所述文件是恶意软件,
其中所述恶意软件检测过程基于在被人类用户执行时错误地访问所述用户交互的所述恶意软件的防御机制来确定所述文件是恶意软件。
3.根据权利要求1所述的设备,其中所述一个或多个处理器在所述沙盒环境中测试所述文件时用以:
通过使用以下中的至少一个与所述界面对象集合的所述一个或多个界面对象交互来执行由所述元数据标识的所述用户交互,或者用以使用以下中的至少一个来进行模拟:
鼠标,
键盘,或者
触摸屏。
4.根据权利要求1所述的设备,其中所述文件是恶意软件;并且其中所述一个或多个处理器在提供所述通知时用以:
提供指令集合作为所述通知的一部分,所述指令集合指示如何撤销由所述恶意软件在所述第一用户设备上产生的修改集合。
5.根据权利要求1所述的设备,其中所述一个或多个处理器还用以:
确定所述用户交互触发所述文件的良性恶意软件行为的可能性;
确定所述用户交互触发所述良性恶意软件行为的所述可能性是否满足所述用户交互触发所述良性恶意软件行为的阈值可能性;并且
其中所述一个或多个处理器在所述沙盒环境中测试所述文件时用以:
通过基于所述用户交互触发所述良性恶意软件行为的所述可能性是否满足所述阈值可能性执行由所述元数据标识的所述用户交互或者由其它元数据标识的不同用户交互,来在所述沙盒环境中测试所述文件。
6.根据权利要求1所述的设备,其中所述显示信息是通过使用以下一项或多项而被捕获的:
图像捕获技术,或者
界面抓取技术。
7.根据权利要求1所述的设备,其中所述文件是第一文件,并且其中所述恶意软件检测过程确定所述第一文件不是恶意软件;
其中所述一个或多个处理器还用以:
接收已经被下载到第二用户设备或将要下载到所述第二用户设备的第二文件;
对所述第二文件执行所述恶意软件检测过程,以确定所述第二文件为恶意软件;
确定所述第二文件的文件标识符与所述第一文件的特定文件标识符匹配;以及
执行一个或多个动作以使用新元数据来重新确定第一文件是否是恶意软件,所述新元数据标识用于确定所述第二文件是恶意软件的特定用户交互。
8.一种用于恶意软件检测的方法,包括:
由设备接收文件,所述文件已经被下载到第一用户设备或者将被下载到所述第一用户设备;
由所述设备处理所述文件以从界面对象集合确定与一个或多个界面对象相关的一个或多个文件标识属性,所述一个或多个界面对象在所述文件在沙盒环境中被访问之后被显示;
通过使用所述一个或多个文件标识属性搜索将特定元数据与特定文件标识属性相关联的数据结构,来获得标识显示信息以及与所述界面对象集合的用户交互的元数据;
其中所述用户交互包括以下中的至少一个:
当所述文件在所述第一用户设备上被访问时所执行的第一组用户交互,或者
当所述文件在一个或多个其它用户设备上被访问时所执行的第二组用户交互;
由所述设备在所述沙盒环境内执行由所述元数据标识的所述用户交互;
由所述设备并且在所述沙盒环境内执行恶意软件检测过程以确定所述文件是否是恶意软件,
其中所述用户交互被执行以减少或消除恶意软件防御机制在所述恶意软件检测过程的执行之前触发良性恶意软件行为的可能性;以及
由所述设备向所述第一用户设备提供指示所述文件是否是恶意软件的通知,以在所述文件是恶意软件时使所述第一用户设备执行一个或多个动作。
9.根据权利要求8所述的方法,其中所述文件是恶意软件;并且其中所述恶意软件检测过程基于在被人类用户执行时错误地访问所述用户交互的所述恶意软件的防御机制来确定所述文件是恶意软件。
10.根据权利要求8所述的方法,其中获得标识所述用户交互的所述元数据包括:
通过使用第一搜索查询搜索针对标识所述用户交互的所述元数据的数据结构来执行搜索,
其中所述第一搜索查询包括文件标识符,所述文件标识符是所述一个或多个文件标识属性的一部分,
基于执行所述搜索来接收结果,所述结果指示标识所述用户交互的所述元数据未被发现,
通过使用第二搜索查询搜索针对标识所述用户交互的所述元数据的所述数据结构来执行另一搜索,
其中所述第二搜索查询包括一个或多个界面对象标识符作为所述一个或多个文件标识属性的一部分,所述一个或多个界面对象标识符与当所述文件在所述沙盒环境中被访问时所显示的、来自所述界面对象集合的一个或多个界面对象相关联,以及
基于执行所述另一搜索,接收包括标识所述用户交互的所述元数据的另一结果。
11.根据权利要求8所述的方法,其中所述文件是第一文件,并且其中所述恶意软件检测过程确定所述第一文件不是恶意软件;所述方法进一步包括:
接收第二文件,所述第二文件已经被下载到第二用户设备或者将被下载到所述第二用户设备;
对所述第二文件执行所述恶意软件检测过程以确定所述第二文件是恶意软件;
确定所述第二文件的文件标识符与所述第一文件的特定文件标识符相匹配;以及
使用新的元数据执行一个或多个动作以重新确定所述第一文件是否是恶意软件,所述新的元数据标识被用来确定所述第二文件是恶意软件的特定用户交互。
12.根据权利要求8所述的方法,进一步包括:
确定所述用户交互使所述恶意软件防御机制在所述恶意软件检测过程的执行之前表现出良性恶意软件行为的所述可能性;
确定所述可能性是否满足所述用户交互使所述恶意软件防御机制表现出所述良性恶意软件行为的阈值可能性;并且
其中执行所述用户交互包括:
基于所述可能性是否满足所述阈值可能性来执行由所述元数据标识的所述用户交互或者由其它元数据标识的不同用户交互。
13.根据权利要求8所述的方法,其中提供所述通知包括:
提供指令集合作为所述通知的一部分,所述指令集合指示要撤销由所述恶意软件对所述第一用户设备产生的修改集合,
其中所述指令集合使所述第一用户设备撤销由所述恶意软件产生的所述修改集合。
14.根据权利要求8所述的方法,其中所述显示信息是通过使用以下一项或多项而被捕获的:
图像捕获技术,或者
界面抓取技术。
15.一种非瞬态计算机可读介质,其存储指令,所述指令包括:
一个或多个指令,所述一个或多个指令在由用户设备的一个或多个处理器执行时使所述一个或多个处理器:
接收将在所述用户设备上被访问的文件;
处理所述文件以从界面对象集合确定与一个或多个界面对象相关的一个或多个文件标识属性,所述一个或多个界面对象在所述文件在沙盒环境中被访问之后被显示;
捕获针对与所述文件相关联的一个或多个界面对象的显示信息;
捕获与在所述文件被访问之后被显示的所述一个或多个界面对象的用户交互;通过使用所述一个或多个文件标识属性搜索将特定元数据与特定文件标识属性相关联的数据结构,来生成标识所述显示信息以及与所述一个或多个界面对象的所述用户交互的元数据;
向由安全平台可访问的所述数据结构提供所述文件标识属性和所述元数据,以允许所述安全平台在所述沙盒环境中测试所述文件以确定所述文件是否是恶意软件;
从所述安全平台接收通知,所述通知指示所述文件是否是恶意软件;以及
基于接收到所述通知并且所述通知指示所述文件是恶意软件来执行一个或多个动作以撤销由所述恶意软件对所述用户设备产生的修改集合。
16.根据权利要求15所述的非瞬态计算机可读介质,其中所述文件是恶意软件;并且其中向所述数据结构提供所述文件标识属性和所述元数据允许所述安全平台在所述沙盒环境中执行所述用户交互并且基于在被人类用户执行时错误地访问所述用户交互的所述恶意软件的防御机制来使用恶意软件检测过程确定所述文件是恶意软件。
17.根据权利要求15所述的非瞬态计算机可读介质,其中所述用户交互包括以下中的至少一个:
对所述一个或多个界面对象中的第一界面对象的鼠标点击,
向所述一个或多个界面对象中的第二界面对象输入值的键盘录入,或者
与所述一个或多个界面对象中的第三界面对象的触摸屏交互。
18.根据权利要求15所述的非瞬态计算机可读介质,其中所述修改集合包括以下中的至少一个:
改变寄存器值的第一修改,
打开或关闭端口的第二修改,
打开或关闭网络连接的第三修改,
添加新文件或新文件夹的第四修改,或者
修改现有文件或现有文件夹的第五修改。
19.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作以撤销所述修改集合的所述一个或多个指令使所述一个或多个处理器:
将在访问所述文件之前发生的第一时间段的所述用户设备的状态信息与在接收到指示所述文件是恶意软件的所述通知之后发生的第二时间段的状态信息相比较,
基于在将所述第一时间段的所述状态信息与所述第二时间段的所述状态信息相比较时所标识的差异来标识所述修改集合,以及
撤销已经被标识的所述修改集合。
20.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作以捕获显示信息的所述一个或多个指令使所述一个或多个处理器:
通过使用以下一项或多项来捕获所述显示信息:
图像捕获技术,或者
界面抓取技术。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410185115.6A CN118051913A (zh) | 2018-08-13 | 2019-05-28 | 基于用户交互的恶意软件检测 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/102,335 | 2018-08-13 | ||
US16/102,335 US11138313B2 (en) | 2018-08-13 | 2018-08-13 | Malware detection based on user interactions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410185115.6A Division CN118051913A (zh) | 2018-08-13 | 2019-05-28 | 基于用户交互的恶意软件检测 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110826058A CN110826058A (zh) | 2020-02-21 |
CN110826058B true CN110826058B (zh) | 2024-03-29 |
Family
ID=66001086
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910452829.8A Active CN110826058B (zh) | 2018-08-13 | 2019-05-28 | 基于用户交互的恶意软件检测的设备、方法、介质 |
CN202410185115.6A Pending CN118051913A (zh) | 2018-08-13 | 2019-05-28 | 基于用户交互的恶意软件检测 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410185115.6A Pending CN118051913A (zh) | 2018-08-13 | 2019-05-28 | 基于用户交互的恶意软件检测 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11138313B2 (zh) |
EP (2) | EP3611643B1 (zh) |
CN (2) | CN110826058B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138313B2 (en) | 2018-08-13 | 2021-10-05 | Juniper Networks, Inc. | Malware detection based on user interactions |
US11070632B2 (en) * | 2018-10-17 | 2021-07-20 | Servicenow, Inc. | Identifying computing devices in a managed network that are involved in blockchain-based mining |
US11277438B2 (en) * | 2019-12-10 | 2022-03-15 | Fortinet, Inc. | Mitigating malware impact by utilizing sandbox insights |
US20220198002A1 (en) * | 2020-12-18 | 2022-06-23 | UiPath, Inc. | Security automation using robotic process automation |
US11899536B2 (en) * | 2021-07-02 | 2024-02-13 | Datto, Inc. | Autoscreenshot systems and methods for virtual operating system states |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095760A (zh) * | 2008-12-18 | 2015-11-25 | 赛门铁克公司 | 用于检测恶意软件的方法和系统 |
WO2016109283A1 (en) * | 2014-12-30 | 2016-07-07 | Fireeye, Inc. | Intelligent context aware user interaction for malware detection |
US9813443B1 (en) * | 2015-02-13 | 2017-11-07 | Symantec Corporation | Systems and methods for remediating the effects of malware |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7456832B1 (en) * | 1989-05-15 | 2008-11-25 | International Business Machines Corporation | Object database-driven interactive shell for a data processing system |
US7689532B1 (en) * | 2000-07-20 | 2010-03-30 | Digimarc Corporation | Using embedded data with file sharing |
US8443446B2 (en) * | 2006-03-27 | 2013-05-14 | Telecom Italia S.P.A. | Method and system for identifying malicious messages in mobile communication networks, related network and computer program product therefor |
US20080183680A1 (en) * | 2007-01-31 | 2008-07-31 | Laurent Meynier | Documents searching on peer-to-peer computer systems |
US9009829B2 (en) * | 2007-06-12 | 2015-04-14 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for baiting inside attackers |
US8407784B2 (en) * | 2008-03-19 | 2013-03-26 | Websense, Inc. | Method and system for protection against information stealing software |
US8528091B2 (en) * | 2009-12-31 | 2013-09-03 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for detecting covert malware |
US8819826B2 (en) * | 2010-01-27 | 2014-08-26 | Mcafee, Inc. | Method and system for detection of malware that connect to network destinations through cloud scanning and web reputation |
US8806647B1 (en) * | 2011-04-25 | 2014-08-12 | Twitter, Inc. | Behavioral scanning of mobile applications |
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 |
US8863288B1 (en) * | 2011-12-30 | 2014-10-14 | Mantech Advanced Systems International, Inc. | Detecting malicious software |
US9608881B2 (en) * | 2012-04-13 | 2017-03-28 | International Business Machines Corporation | Service compliance enforcement using user activity monitoring and work request verification |
US9104867B1 (en) * | 2013-03-13 | 2015-08-11 | Fireeye, Inc. | Malicious content analysis using simulated user interaction without user involvement |
US9536091B2 (en) * | 2013-06-24 | 2017-01-03 | Fireeye, Inc. | System and method for detecting time-bomb malware |
US10084817B2 (en) * | 2013-09-11 | 2018-09-25 | NSS Labs, Inc. | Malware and exploit campaign detection system and method |
US9507939B1 (en) * | 2014-03-18 | 2016-11-29 | Bitdefender IPR Management Ltd. | Systems and methods for batch processing of samples using a bare-metal computer security appliance |
WO2015161239A1 (en) * | 2014-04-17 | 2015-10-22 | Versata Development Group, Inc. | User interface test coverage |
US9411959B2 (en) * | 2014-09-30 | 2016-08-09 | Juniper Networks, Inc. | Identifying an evasive malicious object based on a behavior delta |
US9413774B1 (en) * | 2014-10-27 | 2016-08-09 | Palo Alto Networks, Inc. | Dynamic malware analysis of a URL using a browser executed in an instrumented virtual machine environment |
US10339300B2 (en) * | 2015-03-23 | 2019-07-02 | Binary Guard Corp. | Advanced persistent threat and targeted malware defense |
US9438613B1 (en) * | 2015-03-30 | 2016-09-06 | Fireeye, Inc. | Dynamic content activation for automated analysis of embedded objects |
US9483644B1 (en) * | 2015-03-31 | 2016-11-01 | Fireeye, Inc. | Methods for detecting file altering malware in VM based analysis |
US9477837B1 (en) * | 2015-03-31 | 2016-10-25 | Juniper Networks, Inc. | Configuring a sandbox environment for malware testing |
US10417031B2 (en) * | 2015-03-31 | 2019-09-17 | Fireeye, Inc. | Selective virtualization for security threat detection |
US10567395B2 (en) * | 2015-05-10 | 2020-02-18 | Check Point Advanced Threat Prevention Ltd | Detection of potentially malicious web content by emulating user behavior and user environment |
US10089465B2 (en) * | 2015-07-24 | 2018-10-02 | Bitdefender IPR Management Ltd. | Systems and methods for tracking malicious behavior across multiple software entities |
US10601865B1 (en) * | 2015-09-30 | 2020-03-24 | Fireeye, Inc. | Detection of credential spearphishing attacks using email analysis |
US10083299B2 (en) * | 2015-12-16 | 2018-09-25 | Carbonite, Inc. | Systems and methods for automatic snapshotting of backups based on malicious modification detection |
US9935973B2 (en) * | 2015-12-16 | 2018-04-03 | Carbonite, Inc. | Systems and methods for automatic detection of malicious activity via common files |
US10565378B1 (en) * | 2015-12-30 | 2020-02-18 | Fireeye, Inc. | Exploit of privilege detection framework |
US10133866B1 (en) * | 2015-12-30 | 2018-11-20 | Fireeye, Inc. | System and method for triggering analysis of an object for malware in response to modification of that object |
US10621338B1 (en) * | 2015-12-30 | 2020-04-14 | Fireeye, Inc. | Method to detect forgery and exploits using last branch recording registers |
KR101787470B1 (ko) * | 2016-02-15 | 2017-11-16 | 한국전자통신연구원 | Usb로 연결된 외부 장치 기반의 악성코드 분석 장치 및 이를 이용한 방법 |
IL250797B (en) | 2016-02-25 | 2020-04-30 | Cyren Ltd | An array for analyzing advanced cyber threats and methods of use |
US10009370B1 (en) * | 2016-03-01 | 2018-06-26 | EMC IP Holding Company LLC | Detection and remediation of potentially malicious files |
WO2017164856A1 (en) * | 2016-03-23 | 2017-09-28 | Entit Software Llc | Comparable user interface object identifications |
US10528734B2 (en) * | 2016-03-25 | 2020-01-07 | The Mitre Corporation | System and method for vetting mobile phone software applications |
CN105975581B (zh) * | 2016-05-05 | 2019-05-17 | 腾讯科技(北京)有限公司 | 媒体信息的展示方法、客户端及服务器 |
EP3267349A1 (en) * | 2016-07-04 | 2018-01-10 | Cyan Security Group GmbH | Method and computer system for determining a threat score |
US10275596B1 (en) * | 2016-12-15 | 2019-04-30 | Symantec Corporation | Activating malicious actions within electronic documents |
US10581879B1 (en) * | 2016-12-22 | 2020-03-03 | Fireeye, Inc. | Enhanced malware detection for generated objects |
US10552610B1 (en) * | 2016-12-22 | 2020-02-04 | Fireeye, Inc. | Adaptive virtual machine snapshot update framework for malware behavioral analysis |
US10523609B1 (en) * | 2016-12-27 | 2019-12-31 | Fireeye, Inc. | Multi-vector malware detection and analysis |
US10699003B2 (en) * | 2017-01-23 | 2020-06-30 | Hysolate Ltd. | Virtual air-gapped endpoint, and methods thereof |
US10536524B2 (en) * | 2017-02-21 | 2020-01-14 | Level 3 Communications, Llc | Systems and methods for content origin administration |
US20190028494A1 (en) * | 2017-06-12 | 2019-01-24 | ARIM Technologies Pte Ltd. | System and method for cloud-connected agent-based next-generation endpoint protection |
US10735449B2 (en) * | 2017-07-11 | 2020-08-04 | Viaforensics, Llc | Methods and apparatuses for improved mobile app security testing via bridged native and web user interface interaction |
US10747881B1 (en) * | 2017-09-15 | 2020-08-18 | Palo Alto Networks, Inc. | Using browser context in evasive web-based malware detection |
US11010474B2 (en) * | 2018-06-29 | 2021-05-18 | Palo Alto Networks, Inc. | Dynamic analysis techniques for applications |
US10956573B2 (en) * | 2018-06-29 | 2021-03-23 | Palo Alto Networks, Inc. | Dynamic analysis techniques for applications |
US11138313B2 (en) | 2018-08-13 | 2021-10-05 | Juniper Networks, Inc. | Malware detection based on user interactions |
-
2018
- 2018-08-13 US US16/102,335 patent/US11138313B2/en active Active
-
2019
- 2019-03-28 EP EP19165995.2A patent/EP3611643B1/en active Active
- 2019-03-28 EP EP22217429.4A patent/EP4184357A1/en active Pending
- 2019-05-28 CN CN201910452829.8A patent/CN110826058B/zh active Active
- 2019-05-28 CN CN202410185115.6A patent/CN118051913A/zh active Pending
-
2021
- 2021-09-22 US US17/448,368 patent/US11880458B2/en active Active
-
2023
- 2023-12-05 US US18/529,351 patent/US20240104205A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095760A (zh) * | 2008-12-18 | 2015-11-25 | 赛门铁克公司 | 用于检测恶意软件的方法和系统 |
WO2016109283A1 (en) * | 2014-12-30 | 2016-07-07 | Fireeye, Inc. | Intelligent context aware user interaction for malware detection |
US9813443B1 (en) * | 2015-02-13 | 2017-11-07 | Symantec Corporation | Systems and methods for remediating the effects of malware |
Also Published As
Publication number | Publication date |
---|---|
EP3611643A1 (en) | 2020-02-19 |
CN110826058A (zh) | 2020-02-21 |
CN118051913A (zh) | 2024-05-17 |
EP4184357A1 (en) | 2023-05-24 |
EP3611643B1 (en) | 2023-03-22 |
US11880458B2 (en) | 2024-01-23 |
US20200050762A1 (en) | 2020-02-13 |
US20240104205A1 (en) | 2024-03-28 |
US11138313B2 (en) | 2021-10-05 |
US20220004632A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826058B (zh) | 基于用户交互的恶意软件检测的设备、方法、介质 | |
US10198574B1 (en) | System and method for analysis of a memory dump associated with a potentially malicious content suspect | |
EP3002702B1 (en) | Identifying an evasive malicious object based on a behavior delta | |
CN109214170B (zh) | 经由辅助文件分析进行恶意软件标识 | |
EP3214568B1 (en) | Method, apparatus and system for processing cloud application attack behaviours in cloud computing system | |
JP6419787B2 (ja) | マルウェアコンテンツ検出システム内の仮想マシンへの最適化されたリソース割当て | |
US10972508B1 (en) | Generating a network security policy based on behavior detected after identification of malicious behavior | |
US10496826B2 (en) | Device based automated threat detection and response | |
CN110704836A (zh) | 实时无签名恶意软件检测 | |
CN110808944B (zh) | 用于网络监控的方法、电子设备和计算机可读介质 | |
US11562066B2 (en) | Memory tracking for malware detection | |
US20130111018A1 (en) | Passive monitoring of virtual systems using agent-less, offline indexing | |
AU2019200945A1 (en) | Automated issue detection and resolution framework for enterprise resource planning | |
US11763004B1 (en) | System and method for bootkit detection | |
US20230127205A1 (en) | Memory tracking for malware detection |
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 |