CN116530052A - 经由转发代理服务器检测和缓解恶意软件 - Google Patents

经由转发代理服务器检测和缓解恶意软件 Download PDF

Info

Publication number
CN116530052A
CN116530052A CN202180069750.2A CN202180069750A CN116530052A CN 116530052 A CN116530052 A CN 116530052A CN 202180069750 A CN202180069750 A CN 202180069750A CN 116530052 A CN116530052 A CN 116530052A
Authority
CN
China
Prior art keywords
file
malware
session
copy
corrupted
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
CN202180069750.2A
Other languages
English (en)
Inventor
G·乐文
T·切尔尼
D·森德罗维奇
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN116530052A publication Critical patent/CN116530052A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/0281Proxies
    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描述了用于由转发代理服务器代表客户端设备执行恶意软件检测和缓解的方法、系统、装置和计算机可读存储介质。例如,客户端设备被配置为通过转发代理服务器路由网络流量。转发代理服务器被配置为检测客户端设备和目的地服务器之间的文件传输操作。响应于检测到文件传输操作,转发代理服务器获取将被传输的文件的副本,并将其提供给恶意软件标识服务,该恶意软件标识服务针对恶意软件分析文件。恶意软件标识服务可以在转发代理服务器或与其通信耦合的另一服务器上执行。响应于确定文件已被恶意软件破坏,转发代理服务器执行一个或多个动作以缓解恶意软件。

Description

经由转发代理服务器检测和缓解恶意软件
背景技术
有许多类型的防火墙和反恶意软件可以安装在计算机上,以保护计算机免受恶意软件的侵害。然而,随着恶意软件变得越来越复杂,用于保护计算机的反恶意软件也越来越复杂。这对于具有有限处理能力的较旧或较简单的计算设备来说成为问题,因为这样的软件可能与这样的设备不兼容或不可在这样的设备上操作。即使这样的软件可在计算设备上执行,这样的软件所使用的计算资源的量也在增加,这对这样的设备的性能产生不利影响。
发明内容
提供本发明内容是为了以简化形式介绍概念的选择,这些概念将在下面的详细描述中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护主题的范围。
描述了用于由转发代理服务器代表客户端设备执行恶意软件检测和缓解的方法、系统、装置和计算机可读存储介质。例如,客户端设备被配置为通过转发代理服务器路由网络流量。转发代理服务器被配置为检测客户端设备和目的地服务器之间的文件传输操作。响应于检测到文件传输操作,转发代理服务器获取将被传输的文件的副本,并将其提供给恶意软件标识服务,该恶意软件标识服务针对恶意软件分析文件。恶意软件标识服务可以在转发代理服务器上或与其通信耦合的另一服务器上执行。响应于确定文件已被恶意软件破坏,转发代理服务器执行一个或多个动作以缓解恶意软件。
下面参考附图详细描述实施例的其他特征和优点以及各种实施例的结构和操作。注意,方法和系统不限于本文所述的具体实施例。本文仅出于说明目的而呈现这样的实施例。基于本文所包含的教导,其他实施例对于相关领域的技术人员将是明显的。
附图说明
并入本文并形成说明书的一部分的附图说明了本申请的实施例,并与说明书一起进一步用于解释实施例的原理,并使相关领域的技术人员能够制作和使用实施例。
图1示出了根据示例实施例的用于经由转发代理服务器执行恶意软件检测的系统的框图。
图2示出了根据另一示例实施例的用于经由转发代理服务器执行恶意软件检测的系统的框图。
图3示出了根据示例实施例的用于经由转发代理服务器检测恶意软件的方法的流程图。
图4示出了根据示例实施例的用于经由转发代理服务器检测文件下载操作的方法的流程图。
图5示出了根据示例实施例的用于经由转发代理服务器检测文件上传操作的方法的流程图。
图6示出了根据示例实施例的用于基于从客户端应用接收的通知来检测文件上传操作和文件下载操作的系统的框图。
图7示出了根据示例实施例的用于基于从客户端应用接收的通知来检测文件上传操作的方法的流程图。
图8示出了根据示例实施例的用于基于从客户端应用接收的通知来检测文件下载操作的方法的流程图。
图9是可以用于实现各种实施例的示例性基于处理器的计算机系统的框图。
本文所描述的实施例的特征和优点将从以下结合附图进行的详细描述中变得更加明显,其中相似的附图标记自始至终标识对应的元素。在附图中,相似的附图标记通常表示相同的、功能相似的和/或结构相似的元素。元素首次在其中出现的附图由相应附图标记中最左边的(多个)数字表示。
具体实施方式
I.介绍
以下详细描述公开了许多示例实施例。本专利申请的范围不限于所公开的实施例,还包括所公开实施例的组合以及对所公开实施实施例的修改。
说明书中对“一个实施例”、“实施例”和“示例实施例”等的引用表明:所描述的实施例可以包括特定的特征、结构或特性,但每个实施例不一定包括该特定的特征、结构或特性。此外,这样的短语不一定指同一实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为无论是否明确描述,结合其他实施例实现这样的特征、结构和特性在本领域技术人员的知识范围内。
在讨论中,除非另有说明,否则使用诸如“实质上”和“关于”之类的形容词来修改本公开实施例的一个或多个特征的条件或关系特性应被理解为意味着该条件或特性被定义为在其预期应用的实施例的操作可接受的公差范围内。
以下描述了许多示例性实施例。需要注意的是,本文提供的任何章节/小节标题并非旨在限制。本文档中描述了实施例,并且任何类型的实施例都可以包括在任何章节/小节中。此外,任何章节/小节中公开的实施例可以以任何方式与相同章节/小节和/或不同章节/小节所描述的任何其他实施例相结合。
II.示例性实施例
本文描述的实施例涉及由转发代理服务器代表客户端设备执行恶意软件检测和缓解。例如,客户端设备被配置为通过转发代理服务器路由网络流量。转发代理服务器被配置为检测客户端设备和目的地服务器之间的文件传输操作。响应于检测到文件传输操作,转发代理服务器获取要传输的文件的副本,并将其提供给恶意软件标识服务,该恶意软件标识服务针对恶意软件来分析文件。恶意软件标识服务可以在转发代理服务器或与其通信耦合的另一服务器上执行。响应于确定文件已被恶意软件破坏,转发代理服务器执行一个或多个动作以缓解恶意软件。
本文描述的技术提供了若干技术优点。例如,被执行恶意软件检测和缓解的设备受到保护,不受恶意软件的影响,因此能够更安全和有效地操作(即,保护设备免受恶意软件的有害影响)。此外,通过经由转发代理服务器而不是在客户端设备本身上执行恶意软件检测和缓解,客户端上保存了大量计算资源(例如,处理器周期、存储器和/或存储)。这有利地使得不能运行高级反恶意软件的具有有限处理能力的较旧和较简单的计算设备能够免受恶意软件的影响。此外,由于转发代理服务器管理恶意软件标识服务,因此客户端不再需要关心维护恶意软件标识服务(例如,通过更新恶意软件定义、安装更新等。这提供了节省客户端网络带宽的额外好处,因为客户端不再需要经由网络请求定义和更新。
此外,通过使恶意软件标识服务在除客户端之外的设备上执行,可以为规避的客户端实现除应用商店或市场所支持的类型之外的附加类型的恶意软件保护,从这些应用商店或市场可以下载应用(例如反恶意软件)。因此,本文描述的实施例为任何类型的客户端设备提供了无约束的恶意软件保护。
例如,图1示出了根据实施例的用于经由转发代理服务器执行恶意软件检测的系统100的框图。如图1所示,系统100包括多个客户端102A-102N、转发代理服务器104和目的地服务器106。客户端102A-102N中的每一个客户端经由第一网络108通信地耦合到转发代理服务器104。转发代理服务器104经由第二网络110通信地耦合到目的地服务器106。网络108和网络110中的每一个可以包括一个或多个网络,例如局域网(LAN)、广域网(WAN)、企业网络、因特网等,并且可以包括有线和/或无线部分中的一个或多个。
客户端102A-102N、转发代理服务器104和目的地服务器106中的每一个被配置为实现请求-响应协议,其中请求消息由此被发送,并且响应于请求消息的消息被接收。根据实施例,客户端102A-102N、转发代理服务器104和目的地服务器106中的每一个被配置为发送超文本传输协议(HTTP)请求并接收HTTP响应。例如,客户端102A-102N中的每一个客户端被配置为执行浏览器应用(即,Web浏览器),该浏览器应用被配置为发送和接收这样的请求和响应。浏览器应用允许检索、呈现和遍历网络信息资源。浏览器应用可以使用诸如统一资源标识符(URI)之类的网络地址来访问信息资源。信息资源的示例包括网页、图像、视频和其他形式的内容。浏览器应用的示例包括Microsoft(由华盛顿州雷蒙德的Microsoft Corp.发布)、Mozilla/>(由加利福尼亚州山景城的Mozille Corp.发布)、/>(由加利福尼亚州库比蒂诺的Apple Inc.发布)和/>Chrome(由加利福尼亚州山景城的Google Inc.发布)。
应注意,上述请求-响应协议纯粹是示例性的,并且客户端102A-102N、转发代理服务器104和目的地服务器106中的每一个可以被配置为实现和执行其他请求-响应协议。
客户端102A-102N中的每一个客户端可以是任何类型的固定或移动计算设备,包括移动计算机或移动计算设备(例如,设备、膝上型计算机、笔记本计算机、诸如Apple iPadTM的平板计算机、上网本等)、可穿戴计算设备(例如,头戴式设备,包括诸如/>GlassTM等的智能眼镜)或固定计算设备,诸如台式计算机或PC(个人计算机)。
目的地服务器106被配置为处理和响应源自客户端102A-102N并从转发代理服务器104接收的传入请求消息(例如,SOCKS4、SOCKS5、HTTP请求)。目的地服务器106提供客户端102A-102N经由转发代理服务器104可访问的资源和/或Web应用。Web应用的示例包括但不限于Web电子邮件应用(例如,由Google Inc.发布的)、Outlook.comTM(由Microsoft Corp.等发布)、文件共享应用(例如,由加利福尼亚州旧金山市的Dropbox,Inc.等发布的/>)、生产力应用(例如,由Microsoft Corp.发布的Office/>由Google Inc.发布的Google AppsTM)等。应注意,虽然图1将目的地服务器106作为单个服务器示出,但目的地服务器106可以包括任意数目的服务器。
客户端102A-102N中的每一个客户端被配置为与转发代理服务器104通信。例如,例如使用经由客户端提供的用户界面(例如,图形用户界面(GUI))的用户可以配置他的客户端以将一些或所有网络流量路由到转发代理服务器104。例如,用户可以使用用户界面指定与转发代理服务器104相关联的统一资源标识符(URI),例如但不限于统一资源定位器(URL)、因特网协议(IP)地址等。
转发代理服务器104包括恶意软件缓解器114,其被配置为检测客户端102A-102N与诸如目的地服务器106的其他实体之间的文件传输操作(例如,文件上传或下载)。恶意软件缓解器114还被配置为确定与这样的文件传输操作相关联的一个或多个文件是否被恶意软件破坏。例如,一旦检测到文件传输操作,恶意软件缓解器114可以获得与文件传输操作相关联的(多个)文件,并将(多个)文件的副本提供给一个或多个恶意软件标识服务112。(多个)恶意软件标识服务112可以包括一个或多个反恶意软件应用或服务,其被配置为检测(多个)文件是否被恶意软件破坏。反恶意软件应用和服务的示例包括但不限于由捷克共和国布拉格的Avast发布的Avast AntivirusTM、由加利福尼亚州山景城的ChronicleSecurity(Google Inc.的子公司)发布的Virus TotalTM等。根据实施例,(多个)恶意软件标识服务112中的每一个恶意软件标识服务可以在通信地耦合到转发代理服务器104的相应服务器上执行。根据另一实施例,恶意软件标识服务112中的每一个恶意软件标识服务在转发代理服务器104上执行。
(多个)恶意软件标识服务112分析所接收的(多个)文件并确定该(多个)文件是否被恶意软件破坏。响应于确定(多个)文件被恶意软件破坏,(多个)恶意软件标识服务112向恶意软件缓解器114提供第一指示,指示(多个)文件被恶意软件破坏。该指示还可以指定破坏(多个)文件的恶意软件的名称和/或类型。(多个)恶意软件标识服务112还可移除和/或隔离所标识的恶意软件,并向恶意软件缓解器114提供(多个)文件的不包含恶意软件的版本。响应于确定(多个)文件未被恶意软件破坏,(多个)恶意软件标识服务112向恶意软件缓解器114提供第二指示,指示(多个)文件未被恶意软件破坏。
响应于接收到第一指示,恶意软件缓解器114可以执行缓解恶意软件的动作。例如,恶意软件缓解器114可以提供指示检测到的文件传输操作被恶意软件破坏的通知。例如,恶意软件缓解器114可以向发起文件传输操作的用户提供消息。该消息可以标识文件传输操作、文件本身(例如,文件的名称),说明文件被恶意软件破坏,标识用于检测和标识恶意软件的(多个)恶意软件标识服务112等。该消息可以包括到与用户相关联的电子邮件地址的电子邮件消息、到与用户相关联的电话号码(例如,与客户端102A-102C中的由用户使用的客户端相关联的电话号码)的短消息服务(SMS)消息等。在另一示例中,恶意软件缓解器114可以生成文件(例如,“伪”或“墓碑”文件)并将生成的文件提供给用户。所生成的文件可以包括如上所述的消息。
动作还可以包括阻止文件传输操作被完成。例如,恶意软件缓解器114可以防止文件传输操作被完成。例如,在客户端102A-102N中的客户端正试图将文件上传到目的地服务器106的示例中,恶意软件缓解器114可以不与目的地服务器106建立连接,和/或可以不将上传请求和/或文件转发到目的地服务器106,从而防止与文件上传操作相关联的文件到达目的地服务器106。在客户端102A-102N中的客户端正试图从目的地服务器106下载文件的示例中,恶意软件缓解器114可以防止转发代理服务器104将包括试图从目的地服务器106被下载和被接收的文件的响应转发到客户端102A-102N中的请求客户端。
在另一示例中,动作还可以包括加密被破坏的文件。例如,恶意软件缓解器114可以加密被破坏的文件,并将经加密的文件提供给被授权解密、查看和/或分析该文件的用户。
在又一示例中,动作还可以包括允许文件传输操作被完成,但是向用户提供通知,该通知向用户指示文件被恶意软件破坏的警告。例如,恶意软件缓解器114可以通过将文件转发到其指定目的地来实现文件传输操作,并且还可以向用户提供通知(例如,如上所述,通过消息或伪文件),该通知警告用户文件已被恶意软件破坏。
响应于接收到第二指示,恶意软件缓解器114例如通过将文件转发到其指定的指定来完成文件传输操作。
转发代理服务器104可以经由物理计算设备、在物理计算设备上执行的虚拟机和/或包括被配置为处理数据的一个或多个处理器和/或存储器的任何类型的设备来实现。计算设备的示例包括但不限于:台式计算机或PC(个人计算机)、服务器、基于云的环境中的计算节点、物联网(IoT)设备、个人数字助理(PDA)、膝上型计算机、笔记本计算机、平板计算机、上网本、智能电话、可穿戴计算设备(例如,包括智能眼镜、虚拟头戴式耳机、智能手表等的头戴式设备)等。备选地,转发代理服务器可以被实现为在物理计算设备或虚拟机上执行的软件应用,或者可以被实现为被配置为经由在物理计算设备上执行的容器引擎执行的容器化应用。容器引擎的示例包括但不限于由Inc发布的/>
图2示出了根据另一实施例的用于经由转发代理服务器执行恶意软件检测的系统200的框图。如图2所示,系统200包括客户端202、转发代理服务器204、目的地服务器206和(多个)恶意软件标识服务212。如上分别参考图1所述,客户端202是客户端202A-202N的示例,转发代理服务器204是转发代理服务器104的示例,目的地服务器206是目的地服务器106的示例,并且(多个)恶意软件标识服务212是(多个)恶意软件标识服务112的示例。还如图2所示,转发代理服务器204包括会话建立器216和恶意软件缓解器214。恶意软件缓解器214是如上参考图1所述的恶意软件缓解器114的示例。恶意软件缓解器214包括消息分析器218和动作执行器220。
客户端202包括客户端应用222和操作系统226。客户端应用222可以是任何类型的软件应用或服务,例如社交网络应用、消息应用、电子邮件应用、文件托管应用、浏览器应用或被配置为发送和/或接收数据对象的任何应用。此类应用的示例包括 Google DocsTM、/>Office 365、DropboxTM、Microsoft/>等。客户端应用222可以被配置为接收、创建、生成、交互、下载、上传、删除、修改、访问和/或发送数据对象(例如,数据对象124)。数据对象的示例包括但不限于数据文件、数据库对象(例如,表、目录等)、结构化数据、非结构化数据、半结构化数据、数据容器等。
客户端202被配置为经由转发代理服务器204向计算设备(例如,目的地服务器206)发送和/或从计算设备(例如,目的地服务器206)接收网络数据分组(或网络流量)。例如,用户可以配置客户端202,使得源自客户端202的所有网络流量被路由到转发代理服务器204。例如,通过经由在客户端202上执行的操作系统226提供的用户界面(例如,图形用户界面),用户可以指定转发代理服务器204的URI、指定设置脚本(或其位置)等,该设置脚本在被执行时配置客户端202以与转发代理服务器204通信。从客户端202发送的网络数据分组可以源自在客户端202上执行的各种应用,包括但不限于客户端应用222。网络数据分组可以包括请求和/或响应消息以及其他类型的消息和/或数据。
为了发送请求消息,操作系统226首先与第一反向代理服务器204建立传输层连接(或会话)224。根据实施例,传输层连接224根据传输控制协议(TCP),尽管本文描述的实施例不限于此。为了建立传输层连接224,操作系统226向转发代理服务器204发送请求228,该请求228将尝试发起传输层连接的客户端(即,客户端202)通知转发代理服务器204。根据实施例,请求228包括根据TCP协议的SYN控制消息。请求228由会话建立器216接收。会话建立器216经由响应230响应客户端202。根据实施例,响应230包括根据TCP协议的SYN-ACK控制消息集。客户端202可以响应于接收到响应230而提供确认(或ACK)控制消息。客户端202和转发代理服务器204的会话建立器216基于上述控制消息的成功交换建立连接224。在已经建立连接224之后,客户端应用222能够向转发代理服务器204提供消息并从转发代理服务器204接收消息。
例如,客户端应用222可以经由连接224提供针对目的地服务器206的请求消息234。请求消息234可以指定与目的地服务器206对应的目的地URI。响应于接收到请求消息234,会话建立器216可以被配置为在转发代理服务器204和目的地服务器206之间建立传输层连接232(如经由请求消息234所标识的)。根据实施例,传输层连接232根据TCP协议。会话建立器216可以以与上面参考传输层连接224所描述的类似的方式建立传输层连接232,其中SYN和ACK控制消息在转发代理服务器204的会话建立器214和目的地服务器206之间交换。在建立传输层连接232之后,转发代理服务器204经由传输层连接234向目的地服务器206提供请求消息234。连接224和232可以是持久连接。也就是说,连接224和232可以保持打开或活动,直到它们被客户端202、转发代理服务器204和/或目的地服务器206终止。因此,可以利用连接224和232来发送任意数目的请求消息和/或响应消息。
目的地服务器206可以经由连接232向转发代理服务器204提供响应于请求消息234的响应消息236,并且转发代理服务器204经由连接224向客户端202转发响应消息236。根据实施例,请求消息234和响应消息236是基于超文本传输协议(HTTP)的消息。尽管,本文描述的实施例不限于此。例如,请求消息234和/或响应消息236可以根据SOCKS4或SOCKS5协议。
恶意软件缓解器214被配置为监测经由连接224和232接收的网络流量以检测文件操作(例如,文件上传操作或文件下载操作)。例如,消息分析器218被配置为分析请求消息(例如,请求消息234)和/或响应消息(例如,响应消息236)以检测这样的文件操作。为了检测文件上传操作,消息分析器218分析请求消息234以标识其类型。例如,在请求消息234是HTTP请求消息的实施例中,消息分析器218分析请求消息234以确定其请求方法是否对应于用于存储(或上传)文件的方法。这种请求方法的示例包括但不限于PUT、POST等。响应于确定请求消息234指定这样的请求方法,消息分析器218分析请求消息234以标识请求消息234中包括的URI。消息分析器218确定URI是否对应于用于上传文件的网页或服务器(例如,目的地服务器206)的文件上传路径(例如,www.example.com/upload)。消息分析器218可以维护与已知文件上传路径对应的URI的数据结构(例如,表)。如果所标识的URI映射到数据结构中包括的已知文件上传路径,则消息分析器218确定该URI对应于文件上传路径。响应于确定URI对应于文件上传路径,消息分析器218向(多个)恶意软件标识服务212提供由请求消息234标识(和/或包括在请求消息234中)的文件的副本。例如,如图2所示,恶意软件缓解器214提供包括文件副本的消息238。在消息分析器218确定请求消息234不指定这样的请求方法和/或不指定文件上传路径的情况下,消息分析器218确定请求消息234不对应于由客户端202发起的文件上传操作。
为了检测文件下载操作,消息分析器218分析由转发代理服务器204接收的响应消息(例如,响应消息236)。例如,在响应消息236是HTTP请求消息的实施例中,消息分析器218分析响应消息236的头部以确定响应消息236是否与文件下载操作相关联。根据响应消息236是HTTP请求消息的实施例,消息分析器218可以确定请求消息236是否包括内容处置头部。这样的头部可以指定要被下载和要在客户端202本地被保存的文件的文件名。如果消息分析器218确定这样的头部指定了文件名,则消息分析器218(例如,经由消息238)向(多个)恶意软件标识服务212提供由文件名标识的(并且包括在响应消息236中的)文件的副本。在消息分析器218确定响应消息236不包括指定文件名的头部的情况下,消息分析器218确定响应消息236不对应于需要(多个)恶意软件标识服务212的文件下载操作。
(多个)恶意软件标识服务212分析所接收的文件并确定这样的(多个)文件是否被恶意软件破坏。响应于确定(多个)文件被恶意软件破坏,(多个)恶意软件标识服务212向恶意软件缓解器214提供第一指示240,指示文件被恶意软件破坏。指示240还可以指定破坏文件的恶意软件的名称和/或类型。(多个)恶意软件标识服务212还可以移除和/或隔离所标识的恶意软件,并向恶意软件缓解器212提供(多个)文件的不包含恶意软件的版本。响应于确定(多个)文件未被恶意软件破坏,(多个)恶意软件标识服务212向恶意软件缓解器212提供第二指示242,指示(多个)文件未被恶意软件破坏。
响应于接收到指示240,恶意软件缓解器212可以执行缓解恶意软件的动作。例如,动作执行器220可以提供指示文件被恶意软件破坏的通知244。例如,文件动作执行器220可以经由客户端202向发起文件传输操作的用户提供消息。消息可以标识文件传输操作、文件本身(例如,文件的名称),说明文件被恶意软件破坏,标识用于检测和标识恶意软件的(多个)恶意软件标识服务212等。消息可以包括到与用户相关联的电子邮件地址的电子邮件消息、到与用户相关联的电话号码(例如,与客户端202相关联的电话号码)的短消息服务(SMS)消息等。在另一示例中,恶意软件缓解器212可以生成文件(例如,“伪”或“墓碑”文件)并将该文件提供给用户。文件可以包括如上所述的消息。
动作确定器220还可以阻止文件传输操作被完成。例如,在客户端202正试图经由请求消息(例如,请求消息238)将文件上传到目的地服务器206的示例中,恶意软件缓解器212可以在将文件转发到目的地服务器206之前从请求消息中移除该文件。备选地,恶意软件缓解器212可以移除与目的地服务器106的连接232,从而防止文件到达目的地服务器106。在客户端202正试图从目的地服务器206下载文件的示例中,恶意软件缓解器212可以防止转发代理服务器104向客户端202转发响应(例如,响应消息236),该响应包括试图从目的地服务器206被下载和被接收的文件。
在另一示例中,动作执行器220可以加密被破坏的文件,并将经加密的文件提供给被授权解密、查看和/或分析文件的用户。
在又一示例中,动作执行器220还可以允许文件传输操作被完成,但是向客户端202的用户提供通知,该通知向用户指示文件被恶意软件破坏的警告。例如,恶意软件缓解器212可以通过将文件转发到其指定目的地(例如,目的地服务器206)来完成文件传输操作,并且还可以向客户端202提供通知(例如,如上所述,通过消息或通过伪文件)。用户可以打开伪文件以查看关于失败的文件传输操作的附加细节。
响应于接收到指示242,恶意软件缓解器212例如通过将文件转发到其指定的指定来完成文件传输操作。例如,对于文件上传操作,恶意软件缓解器212使转发代理服务器204将请求消息234转发到目的地服务器206。对于文件下载操作,恶意软件缓解器212使转发代理服务器204将响应消息236转发到客户端202。
根据实施例,消息分析器218向(多个)恶意软件标识服务212中的每个恶意软件标识服务提供文件的副本。特定(多个)恶意软件标识服务212在检测一种类型的恶意软件方面可能比其他恶意软件标识服务212更有效。因此,消息分析器218可以向所有的(多个)恶意软件标识服务提供文件的副本。(多个)恶意软件标识服务212中的每一个恶意软件标识服务可以根据其是否检测到恶意软件来提供相应的指示240或242。如果(多个)恶意软件标识服务中的至少一个恶意软件标识服务以指示240响应,则消息分析器218可以确定文件被恶意软件破坏。
根据另一实施例,消息分析器218基于文件的文件类型(例如,JPEG、PNG、GIF、PDF、DOC等)确定(多个)恶意软件标识服务212中的哪一个恶意软件标识服务提供文件的副本。与其他(多个)恶意软件标识服务212相比,(多个)恶意软件标识服务212中的一些恶意软件标识服务可以更有效地标识关于特定文件类型的恶意软件。因此,第一文件类型的文件可以被提供给(多个)恶意软件标识服务212中的第一恶意软件标识服务,而第二文件类型的文件可以被提供到(多个)恶意软件标识服务器212中的第二恶意软件标识服务。
因此,恶意软件检测可以经由转发代理服务器以多种方式执行。例如,图3示出了根据示例实施例的用于经由转发代理服务器检测恶意软件的方法的流程图300。在实施例中,流程图300可以由如图2所示的转发代理服务器204实现。因此,将继续参考图2描述流程图300。基于以下关于流程图300和系统200的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员将是明显的。
图3的流程图300以步骤302开始。在步骤302中,从客户端设备接收发起与转发代理服务器的第一会话的请求。例如,参考图2,会话建立器216可以从客户端202的操作系统226接收请求228,以发起与转发代理服务器204的第一会话。在正在建立TCP会话的实施例中,请求228可以是SYN控制消息。
在步骤304,响应于接收到请求,与客户端设备发起第一会话,并且代表客户端设备建立与服务器设备的第二会话。例如,参考图2,会话建立器216提供响应230。在正在建立TCP会话的实施例中,响应可以是ACK控制消息。客户端202和转发代理服务器204的会话建立器216通过基于上述控制消息的成功交换创建连接224来建立会话。会话建立器216可以以与上面参考连接224所描述的类似方式进一步建立与目的地服务器206的会话(或连接232)。
在步骤306,经由第一会话或第二会话中的至少一个检测客户端设备和服务器设备之间的文件传输。例如,参考图2,消息分析器218可以分析转发代理服务器(经由连接224和/或连接232)接收的消息,并确定这些消息是否对应于文件传输操作。
根据一个或多个实施例,传输包括从服务器设备的文件下载操作。下面参考图4描述关于检测文件下载操作的附加细节。
根据一个或多个实施例,传输包括到服务器设备的文件上传操作。下面参考图5描述关于检测文件上传操作的附加细节。
在步骤308,响应于检测到传输,获取文件的副本。例如,参考图2,消息分析器218获取文件的副本。
在步骤310,确定文件的副本被恶意软件破坏。例如,参考图2,消息分析器218确定文件的副本被恶意软件破坏。
根据一个或多个实施例,确定文件的副本被恶意软件破坏包括:向多个恶意软件标识服务中的至少一个恶意软件标识服务提供文件的副本,多个恶意软件标识服务各自被配置为针对恶意软件来分析文件的副本,从至少一个软件标识服务接收指示,该指示指示文件的副本是否已被恶意软件破坏,以及基于指示文件的副本已被恶意软件破坏的指示,确定文件传输操作被恶意软件破坏。例如,参考图2,消息分析器218经由消息238向(多个)恶意软件标识服务212提供文件的副本。(多个)恶意软件标识服务212分析文件的副本以确定文件的副本是否被恶意软件破坏。响应于确定文件副本被恶意软件破坏,(多个)恶意软件标识服务212提供指示240,指示文件副本已被破坏。响应于确定文件的副本未被恶意软件破坏,(多个)恶意软件标识服务212提供指示240,指示文件的副本尚未被破坏。恶意软件缓解器216基于接收到指示240确定文件的副本被破坏。
根据一个或多个实施例,至少一个恶意软件标识服务在不同于转发代理服务器的服务器设备上执行。例如,参考图2,(多个)恶意软件标识服务212在不同于转发代理服务器204的一个或多个服务器设备(未示出)上执行。
根据一个或多个实施例,文件被提供给的至少一个恶意软件标识服务基于文件的文件类型而被选择。例如,参考图2,可以将JPEG文件提供给(多个)恶意软件标识服务212中的第一恶意软件标识服务,并且可以将PDF文件提供给(多个)恶意软件标识服务212中的第二恶意软件标识服务。
在步骤312,响应于确定文件的副本被恶意软件破坏,执行动作以缓解恶意软件。例如,参考图2,响应于确定文件的副本被恶意软件破坏,动作执行器220执行动作以缓解恶意软件。
根据一个或多个实施例,动作包括以下至少一项:提供指示传输被恶意软件破坏的通知或阻止传输被完成。例如,参考图2,动作执行器220可以提供指示文件被恶意软件破坏的通知244。例如,通知244可以包括经由客户端202向用户发起文件传输操作的消息。该消息可以标识文件传输操作、文件本身(例如,文件的名称),说明文件被恶意软件破坏,标识用于检测和标识恶意软件的(多个)恶意软件标识服务212等。消息可以包括到与用户相关联的电子邮件地址的电子邮件消息、到与用户相关联的电话号码(例如,与客户端202相关联的电话号码)的短消息服务(SMS)消息等。在另一示例中,恶意软件缓解器212可以生成文件(例如,“伪”或“墓碑”文件)并将该文件提供给用户。如上所述,文件可以包括消息。
动作确定器220还可以阻止文件传输操作被完成。例如,在客户端202正试图经由请求消息(例如,请求消息238)将文件上传到目的地服务器206的示例中,恶意软件缓解器212可以在将文件转发到目的地服务器206之前从请求消息中移除该文件。备选地,恶意软件缓解器212可以终止与目的地服务器206的连接232,从而防止文件到达目的地服务器206。在客户端202正试图从目的地服务器206下载文件的示例中,恶意软件缓解器212可以防止转发代理服务器104向客户端202转发响应(例如,响应消息236),该响应包括试图从目的地服务器206被下载和被接收的文件。
图4示出了根据示例实施例的用于经由转发代理服务器检测文件下载操作的方法的流程图400。在实施例中,流程图400可以由如图2所示的转发代理服务器204实现。因此,将继续参考图2描述流程图400。基于以下关于流程图400和系统200的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员将是明显的。
图4的流程图400以步骤402开始。在步骤402中,分析响应的头部,该响应与文件下载操作相关联并且经由第二会话从服务器设备被接收。例如,参考图2,消息分析器218分析经由连接232接收的响应消息236的头部,以确定响应消息236是否与文件下载操作相关联。根据响应消息236是HTTP请求消息的实施例,消息分析器218可以确定请求消息236是否包括内容处置头部。
在步骤404,确定头部标识针对文件的文件名。例如,参考图2,头部可以指定要被下载和在客户端202本地被保存的文件的文件名。如果消息分析器218确定这样的头部指定了文件名,则消息分析器218确定检测到客户端设备和服务器设备之间的文件传输。
图5示出了根据示例实施例的用于经由转发代理服务器检测文件上传操作的方法的流程图500。在实施例中,流程图500可以由如图2所示的转发代理服务器204实现。因此,将继续参考图2描述流程图500。基于以下关于流程图500和系统200的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员将是明显的。
图5的流程图500以步骤502开始。在步骤502中,分析经由第一会话从客户端设备接收的、与文件上传操作相关联的请求。例如,参考图2,消息分析器218被配置为分析请求消息234以标识请求消息234的类型。例如,在请求消息234是HTTP请求消息的实施例中,消息分析器218分析请求消息234以确定其请求方法是否对应于用于存储(或上传)文件的方法。这种请求方法的示例包括但不限于PUT、POST等。
在步骤504中,标识包括在请求中的统一资源标识符。例如,参考图2,响应于确定请求消息234指定了这样的请求方法,消息分析器218分析请求消息234以标识包括在请求消息234中的URI。
在步骤506中,确定统一资源标识符对应于与服务器设备相关联的文件上传路径。例如,参考图2,消息分析器218确定URI是否对应于用于上传文件的网页或服务器(例如,目的地服务器206)的文件上传路径(例如,www.example.com/upload)。消息分析器218可以维护与已知文件上传路径对应的URI的映射。如果所标识的URI映射到映射中包括的已知文件上传路径,则消息分析器218确定URI对应于文件上传路径。响应于确定URI对应于文件上传路径,消息分析器218检测到文件上传操作正在被执行。
监测文件上传或下载时出现的一个问题是:不同的web服务在客户端和服务器端之间具有不同的协议(例如,表单多部分、不同的AJAX方法、JSON post)。然而,特定客户端应用(例如,浏览器应用)实现了用于从客户端自身接收文件的相同API,无论客户端-服务器协议实现是什么。这些API包括:(1)将文件和目录(例如,文件夹)拖放到浏览器中;以及(2)从<input type=“file”/>中选择文件和目录(例如,从对话框中选择文件)。通过在捕获阶段的第一(即,最顶层)文档对象模型(DOM)元素过滤这些API,可以监测所有文件上传和下载尝试。相反,仅检查网络流量来完成文件上传和下载监测的代理解决方案可能无法标识所有上传。本文描述的实施例用于使恶意软件缓解器216能够检测可以被客户端应用222访问的客户端202中文档的文件上传和下载操作的技术。具体地,客户端应用222可以向恶意软件缓解器214提供通知,该通知指示用户正经由客户端应用222尝试文件上传或下载操作。
图6示出了根据示例实施例的用于基于从客户端应用接收的通知来检测文件上传和文件下载操作的系统600的框图。如图6所示,系统600包括客户端602、转发代理服务器604、目的地服务器606和(多个)恶意软件标识服务612。客户端602、转发代理服务器604、目的地服务器606和(多个)恶意软件标识服务612是如上参考图2所述的客户端202、转发代理服务器204、目的地服务206和(多个)恶意软件标识服务212的示例。客户端602和转发代理服务器604经由连接624通信耦合,并且转发代理服务器602和目的地服务器606经由连接632通信耦合。连接624和632是分别如上参考图2所述的连接224和232的示例。客户端602包括客户端应用622和操作系统626,它们是如上文参考图2所述的客户端应用222和操作系统226的示例。转发代理服务器604包括会话建立器616和恶意软件缓解器614,它们是如上文参考图2所述的会话建立器216和恶意软件缓解器214的示例。恶意软件缓解器614包括消息分析器618和动作执行器620,它们是如上文参考图2所述的消息分析器218和动作执行器220的示例。恶意软件缓解器614还包括代码注入器644。
为了使客户端应用622能够向目的地服务器606提供用户正在尝试文件上传或文件下载操作的通知,恶意软件缓解器614被配置为在提供给客户端602的(多个)文件(例如,网页、脚本等)中注入事件监测代码(例如,脚本代码,诸如JavaScript)。例如,客户端应用622可以提供请求消息634以从目的地服务器606下载脚本。请求消息634是如上文参考图2所述的请求消息234的示例。转发代理服务器604将请求消息634转发到目的地服务器606。作为响应,目的地服务器606向转发代理服务器604提供包括所请求的脚本的响应消息636。响应消息636是如上文参考图2所述的响应消息236的示例。代码注入器644被配置为标识脚本中可以提示客户端602上发生的文件上传事件和/或文件下载事件的代码。例如,代码注入器644可以解析脚本的代码,寻找可以提示客户端602处客户端侧生成的内容的上传事件和/或下载事件的命令、函数调用和/或变量设置。在一些实施例中,代码注入器644可以使用抽象语法树(AST)来标识可以提示客户端侧生成的内容的上传事件和/或下载事件的代码。AST是用编程语言编写的代码的抽象语法结构的树表示。AST的每个节点可以表示代码中出现的构造。例如,代码注入器644可以构建脚本的代码的AST,并遍历AST以查找包括可以提示客户端602处客户端侧生成的内容的上传事件或下载事件的命令、函数调用和/或变量设置的节点。
代码注入644被配置为将事件监测代码注入到接收到的脚本中,并经由响应消息646将修改后的脚本提供给客户端602。事件监测代码可以通过用替换函数或“钩子”“包装”被标识的代码而被注入。钩子是可以处理截获的函数调用、事件或消息的代码。客户端602在本地存储修改的脚本。例如,如图6所示,客户端应用622包括脚本652,脚本652已经用事件监测代码654修改。
事件监测代码654由请求脚本652的应用(例如,客户端应用622)执行。事件监测代码654被配置为检测经由客户端应用622执行的动作(例如,文件上传操作、文件下载操作等)。可以检测到的文件上传操作的示例包括但不限于要上传的文件被拖到用于上传文件的用户界面中的拖放动作、与用于上传文件的对话框交互的对话框动作等。可以被检测到的文件下载操作的示例包括但不限于检测显示给用户的用于下载文件的提示。
响应于检测到文件上传,事件监测代码654向转发代理服务器604提供请求648,该请求包括客户端应用622打算上传的文件。根据实施例,请求648是同步XmlHttpRequest(XHR)。恶意软件缓解器614经由消息638向(多个)恶意软件标识服务612提供文件的副本。消息638是如上文参考图2所述的消息238的示例。如上文参考图2所述的,(多个)恶意软件标识服务612确定文件是否已被恶意软件破坏。响应于接收到文件未被恶意软件破坏的指示642,恶意软件缓解器614可以经由请求消息650向目的地服务器606提供文件的副本。指示642是如上文参考图2所述的指示242的示例。响应于接收到文件被恶意软件破坏的指示640,动作执行器620可以向客户端602提供如上文参考图2所述的指示文件被恶意软件破坏的通知。
响应于检测到文件下载,事件监测代码654提供请求(例如,请求648),该请求包括由客户端应用622试图从目的地服务器606下载的文件名的标识符。消息分析器618分析标识文件名的请求,并向目的地服务器606提供针对由文件名标识的文件的请求656。目的地服务器606向转发代理服务器604提供包括文件的响应658。恶意软件缓解器614经由消息(例如消息638)向(多个)恶意软件标识服务612提供文件。如上文参考图2所述的,(多个)恶意软件标识服务612确定文件是否已被恶意软件破坏。响应于接收到文件未被恶意软件破坏的指示642,恶意软件缓解器614可以经由请求消息650向目的地服务器606提供文件的副本。指示642是如上文参考图2所述的指示242的示例。响应于接收到文件被恶意软件破坏的指示640,动作执行器620可以向客户端602提供如上文参考图2所述的指示文件被恶意软件破坏的通知。
因此,可以以多种方式基于从客户端应用接收的通知来检测文件上传操作和文件下载操作。例如,图7示出了根据示例实施例的用于基于从客户端应用接收的通知来检测文件上传操作的方法的流程图700。在实施例中,流程图700可以由如图6所示的转发代理服务器604实现。因此,将继续参考图6描述流程图700。基于以下关于流程图700和系统600的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员将是明显的。
图7的流程图700包括步骤702。在步骤702中,从经由第一会话在客户端设备上执行的代码接收消息,该消息指示客户端设备上执行的代码已经检测到从客户端设备到服务器设备的文件上传操作正在发生。例如,参考图6,转发代理服务器604可以接收由在客户端602上执行的事件监测代码654发出的消息(例如,消息624)。消息624指示事件监测代码654已经检测到从客户端602到目的地服务器606的文件上传操作正在发生。
图8示出了根据示例实施例的用于基于从客户端应用接收的通知来检测文件下载操作的方法的流程图800。在实施例中,流程图800可以由如图6所示的转发代理服务器604实现。因此,将继续参考图6描述流程图800。基于以下关于流程图800和系统600的讨论,其他结构和操作实施例对于(多个)相关领域的技术人员将是明显的。
图8的流程图800包括步骤802。在步骤802中,从经由第一会话在客户端设备上执行的代码接收消息,该消息指示客户端设备上执行的代码已经检测到从客户端设备到服务器设备的文件下载操作正在发生。例如,参考图6,转发代理服务器604可以接收由在客户端602上执行的事件监测代码654发出的消息(例如,消息624)。消息624指示事件监测代码654已经检测到从客户端602到目的地服务器606的文件下载操作正在发生。
III.计算机系统实施示例
客户端102A-102N、转发代理服务器104、目的地服务器106、(多个)恶意软件标识服务112、客户端202、转发代理服务器204、目的地服务器206、客户端应用222、操作系统226、会话建立器216、恶意软件缓解器214、消息分析器218、动作执行器220、(多个)恶意软件标识服务212、客户端602、转发代理服务器604、目的地服务器606、客户端应用622、操作系统626、会话建立器616、恶意软件缓解器614、消息分析器618、动作执行器620、代码注入器644、(多个)恶意软件标识服务612和/或流程图300、400、500、700和/或800可以以硬件或与软件和/或固件中的一个或两个组合的硬件实现。例如,客户端102A-102N、转发代理服务器104、目的地服务器106、(多个)恶意软件标识服务112、客户端202、转发代理服务器204、目的地服务器206、客户端应用222、操作系统226、会话建立器216、恶意软件缓解器214、消息分析器218、动作执行器220、(多个)恶意软件标识服务212、客户端602、转发代理服务器604、目的地服务器606、客户端应用622、操作系统626、会话建立器616、恶意软件缓解器614、消息分析器618、动作执行器620、代码注入器644、(多个)恶意软件标识服务612和/或流程图300、400、500,700和/或800可以被实现为被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中的计算机程序代码/指令。
备选地,客户端102A-102N、转发代理服务器104、目的地服务器106、(多个)恶意软件标识服务112、客户端202、转发代理服务器204、目标服务器206、客户端应用222、操作系统226、会话建立器216、恶意软件缓解器214、消息分析器218、动作执行器220、(多个)恶意软件标识服务212、客户端602、转发代理服务器604、目的地服务器606、客户端应用622、操作系统626、会话建立器616、恶意软件缓解器614、消息分析器618、动作执行器620、代码注入器644、(多个)恶意软件标识服务612和/或流程图300、400、500、700和/或800可以实现为硬件逻辑/电路装置。
例如,在实施例中,客户端102A-102N、转发代理服务器104、目的地服务器106、(多个)恶意软件标识服务112、客户端202、转发代理服务器204、目的地服务器206、客户端应用222、操作系统226、会话建立器216、恶意软件缓解器214、消息分析器218、动作执行器220、(多个)恶意软件标识服务212、客户端602、转发代理服务器604、目的地服务器606、客户端应用622、操作系统626、会话建立器616、恶意软件缓解器614、消息分析器618、动作执行器620、代码注入器644、(多个)恶意软件标识服务612和/或流程图300、400、500、700和/或800中的一项或多项可以以任意组合被一起实现在SoC中。SoC可以包括集成电路芯片,该集成电路芯片包括处理器(例如,中央处理单元(CPU)、微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口和/或其他电路中的一项或多项,并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
图9描绘了可以实现实施例的计算设备900的示例性实现。例如,客户端102A-102N、转发代理服务器104、目的地服务器106、(多个)恶意软件标识服务112、客户端202、转发代理服务器204、目的地服务器206、客户端应用222、操作系统226、会话建立器216、恶意软件缓解器214、消息分析器218、动作执行器220、(多个)恶意软件标识服务212、客户端602、转发代理服务器604、目的地服务器606、客户端应用622、操作系统626、会话建立器616、恶意软件缓解器614、消息分析器618、动作执行器620、代码注入器644、(多个)恶意软件标识服务612和/或流程图300、400、500、700和/或800和/或备选特征。本文提供的计算设备900的描述是为了说明的目的而提供的,而不是旨在限制。如(多个)相关领域技术人员所知,实施例可以在其他类型的计算机系统中实现。
如图9所示,计算设备900包括一个或多个处理器(称为处理器电路902)、系统存储器904和总线906,总线906将包括系统存储器904的各种系统组件耦合到处理器电路902。处理器电路902是在作为中央处理单元(CPU)、微控制器、微处理器和/或其他物理硬件处理器电路的一个或多个物理硬件电路器件元件和/或集成电路器件(半导体材料芯片或管芯)中实现的电路和/或光电路。处理器电路902可以执行存储在计算机可读介质中的程序代码,例如操作系统930的程序代码、应用程序932、其他程序934等。总线906表示几种类型的总线结构中的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用各种总线架构中的任何一种的处理器或本地总线。系统存储器904包括只读存储器(ROM)908和随机存取存储器(RAM)910。基本输入/输出系统912(BIOS)存储在ROM 908中。
计算设备900还具有以下驱动器中的一个或多个:用于从硬盘读取和向硬盘写入的硬盘驱动器914、用于从可移动磁盘918读取或向可移动磁盘写入的磁盘驱动器916、以及用于从诸如CD ROM、DVD ROM或其他光学介质的可移动光盘922读取或向其写入的光盘驱动器920。硬盘驱动器914、磁盘驱动器916和光盘驱动器920分别通过硬盘驱动器接口924、磁盘驱动器接口926和光盘驱动器接口928连接到总线906。驱动器及其相关联的计算机可读介质为计算机提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管描述了硬盘、可移动磁盘和可移动光盘,但可以使用其他类型的基于硬件的计算机可读存储介质来存储数据,例如闪存卡、数字视频盘、RAM、ROM和其他硬件存储介质。
许多程序模块可以存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括例如用于实现以下项的特征中的至少一个特征的计算机程序逻辑(例如,计算机程序代码或指令):操作系统930、一个或多个应用程序932、其他程序934和程序数据936。应用程序932或其他程序934可以包括,例如,用于实现客户端102A-102N、转发代理服务器104、目标服务器106、(多个)恶意软件标识服务112、客户端202、转发代理服务器204、目的地服务器206、客户端应用222、操作系统226、会话建立器216、恶意软件缓解器214、消息分析器218、动作执行器220、(多个)恶意软件标识服务212、客户端602、转发代理服务器604、目的地服务器606、客户端应用622、操作系统626、会话建立器616、恶意软件缓解器614、消息分析器618、动作执行器620、代码注入器644、(多个)恶意软件标识服务612和/或流程图300、400、500、700和/或800和/或本文所述的进一步实施例。
用户可以通过诸如键盘938和定点设备940的输入设备将命令和信息输入到计算设备900中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏板、卫星天线、扫描仪、触摸屏和/或触摸板、用于接收语音输入的语音识别系统、用于接收手势输入的手势识别系统等。这些和其他输入设备通常通过耦合到总线906的串行端口接口942连接到处理器电路902,但是可以通过其他接口(诸如并行端口、游戏端口或通用串行总线(USB))连接。
显示屏944还经由诸如视频适配器946的接口连接到总线906。显示屏944可以位于计算设备900的外部或结合在计算设备900中。显示屏944可以显示信息,并且是用于接收用户命令和/或其他信息(例如,通过触摸、手指手势、虚拟键盘等)的用户界面。除了显示屏944之外,计算设备900可以包括其他外围输出设备(未示出),例如扬声器和打印机。
计算设备900通过适配器或网络接口950、调制解调器952或用于在网络上建立通信的其他装置连接到网络948(例如,因特网)。调制解调器952可以是内部或外部的,可以经由如图9所示的串行端口接口942连接到总线906,或者可以使用包括并行接口的另一种接口类型连接到总线902。
如本文所使用的,术语“计算机程序介质”、“计算机可读介质”和“计算机可读存储介质”用于指代物理硬件介质,例如与硬盘驱动器914相关联的硬盘、可移动磁盘918、可移动光盘922、其他物理硬件介质(例如RAM、ROM、闪存卡、数字视频盘、zip盘、MEM、基于纳米技术的存储设备以及其他类型的物理/有形硬件存储介质。这种计算机可读存储介质与通信介质(不包括通信介质)不同,并且不与通信介质重叠。通信介质在诸如载波的调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据。术语“调制数据信号”是指其一个或多个特性以编码信号中信息的方式设置或改变的信号。作为示例而非限制,通信介质包括无线介质,诸如声学、RF、红外和其他无线介质,以及有线介质。实施例还针对这样的通信介质,其与针对计算机可读存储介质的实施例分离且不重叠。
如上所述,计算机程序和模块(包括应用程序932和其他程序934)可以存储在硬盘、磁盘、光盘、ROM、RAM或其他硬件存储介质上。这样的计算机程序也可以经由网络接口950、串行端口接口942或任何其他接口类型来接收。这样的计算机程序当由应用执行或加载时,使得计算设备900能够实现本文所讨论的实施例的特征。因此,这样的计算机程序表示计算设备900的控制器。
实施例还涉及包括存储在任何计算机可读介质上的计算机代码或指令的计算机程序产品。此类计算机程序产品包括硬盘驱动器、光盘驱动器、存储设备分组、便携式记忆棒、存储器卡和其他类型的物理存储硬件。
IV.其他示例实施例
本文描述了由转发代理服务器实现的方法。该方法包括:从客户端设备接收发起与转发代理服务器的第一会话的请求;响应于接收到请求,发起与客户端设备的第一会话,并且代表客户端设备建立与服务器设备的第二会话;经由第一会话或第二会话中的至少一个,检测客户端设备和服务器设备之间的文件传输;响应于检测到传输,获取文件的副本;确定文件的副本被恶意软件破坏;以及响应于确定文件的副本被恶意软件破坏,执行动作以缓解恶意软件。
在前述方法的一个实施例中,动作包括以下一项或多项:提供指示传输被恶意软件破坏的通知;或者防止传输被完成。
在前述方法的一个实施例中,确定文件的副本被恶意软件破坏包括:将文件的副本提供给多个恶意软件标识服务中的至少一个恶意软件标识服务,多个恶意软件标识服务各自被配置为针对恶意软件来分析文件的副本;从至少一个恶意软件标识服务接收指示,指示指示文件的副本是否已被恶意软件破坏;以及基于指示文件的副本已被恶意软件破坏的指示,确定文件的副本被恶意软件破坏。
在前述方法的一个实施例中,至少一个恶意软件标识服务在不同于转发代理服务器的服务器设备上执行。
在前述方法的一个实施例中,文件被提供给的至少一个恶意软件标识服务基于文件的文件类型被选择。
在前述方法的一个实施例中,传输包括从服务器设备的文件下载操作,其中经由第一会话或第二会话中的至少一个检测传输包括:分析响应的头部,响应与文件下载操作相关联,并且响应经由第二会话从与文件下载操作相关联的服务器设备被接收;以及确定头部标识了针对文件的文件名。
在前述方法的一个实施例中,传输包括到服务器设备的文件上传操作,其中经由第一会话或第二会话中的至少一个检测传输包括:分析经由第一会话从客户端设备接收的请求,请求与文件上传操作相关联;标识请求中包括的统一资源标识符;以及确定统一资源标识符对应于与服务器设备相关联的文件上传路径。
在前述方法的一个实施例中,检测客户端设备和服务器设备之间的传输包括:从经由第一会话在客户端设备上执行的代码接收消息,消息指示客户端设备上执行的代码已经检测到从客户端设备到服务器设备的文件上传操作正在发生。
在前述方法的一个实施例中,检测客户端设备和服务器设备之间的传输包括:从经由第一会话在客户端设备上执行的代码接收消息,消息指示客户端设备上执行的代码已经检测到从客户端设备到服务器设备的文件下载操作正在发生。
本文还描述了转发代理服务器。转发代理服务器包括:至少一个处理器电路;以及至少一个存储器,其存储程序代码,程序代码被配置为由至少一个处理器电路执行,程序代码包括:会话建立器,其被配置为:从客户端设备接收发起与转发代理服务器的第一会话的请求;响应于接收到请求,发起与客户端设备的第一会话,并且代表客户端设备建立与服务器设备的第二会话;以及恶意软件缓解器,其被配置为:经由第一会话或第二会话中的至少一个,检测在客户端设备和服务器设备之间的文件传输;响应于检测到传输,获取文件的副本;确定文件的副本被恶意软件破坏;以及响应于确定文件的副本被恶意软件破坏,执行动作以缓解恶意软件。
在前述转发代理服务器的一个实施例中,动作包括以下一项或多项:提供指示传输被恶意软件破坏的通知;或者防止传输被完成。
在前述转发代理服务器的一个实施例中,恶意软件缓解器通过以下项确定文件的副本被恶意软件破坏:将文件的副本提供给多个恶意软件标识服务中的至少一个恶意软件标识服务,多个恶意软件标识服务各自被配置为针对恶意软件来分析文件的副本;从至少一个恶意软件标识服务接收指示,指示指示文件的副本是否已被恶意软件破坏;以及基于指示文件的副本已被恶意软件破坏的指示,确定文件的副本被恶意软件破坏。
在前述转发代理服务器的一个实施例中,至少一个恶意软件标识服务在不同于转发代理服务器的服务器设备上执行。
在前述转发代理服务器的一个实施例中,文件被提供给的至少一个恶意软件标识服务基于文件的文件类型被选择。
在前述转发代理服务器的一个实施例中,传输包括从服务器设备的文件下载操作,并且其中恶意软件缓解器通过以下项经由第一会话或第二会话中的至少一个检测传输:分析响应的头部,响应与文件下载操作相关联,并且响应经由第二会话从服务器设备被接收;以及确定头部标识了针对文件的文件名。
在前述转发代理服务器的一个实施例中,传输包括到服务器设备的文件上传操作,其中恶意软件缓解器通过以下项经由第一会话或第二会话中的至少一个检测传输:分析经由第一会话从客户端设备接收的请求,请求与文件上传操作相关联;标识请求中包括的统一资源标识符;以及确定统一资源标识符对应于与服务器设备相关联的文件上传路径。
在前述转发代理服务器的一个实施例中,恶意软件缓解器通过以下项检测客户端设备和服务器设备之间的传输:从经由第一会话在客户端设备上执行的代码接收消息,消息指示客户端设备上执行的代码已经检测到从客户端设备到服务器设备的文件上传操作正在发生。
在前述转发代理服务器的一个实施例中,恶意软件缓解器通过以下项检测客户端设备和服务器设备之间的传输:从经由第一会话在客户端设备上执行的代码接收消息,消息指示客户端设备上执行的代码已经检测到从客户端设备到服务器设备的文件下载操作正在发生。
一种计算机可读存储介质,其上记录有程序指令,程序指令在由转发代理服务器中的至少一个处理器执行时,执行方法,该方法包括。该方法包括:从客户端设备接收发起与转发代理服务器的第一会话的请求;响应于接收到请求,发起与客户端设备的第一会话,并且代表客户端设备建立与服务器设备的第二会话;经由第一会话或第二会话中的至少一个,检测客户端设备和服务器设备之间的文件传输;响应于检测到传输,获取文件的副本;确定文件的副本被恶意软件破坏;以及响应于确定文件的副本被恶意软件破坏,执行动作以缓解恶意软件。
在前述计算机可读存储介质的一个实施例中,动作包括以下一项或多项:提供指示传输被恶意软件破坏的通知;或者防止传输被完成。
V.结论
虽然上面已经描述了各种实施例,但应当理解,它们仅以示例的方式而不是限制的方式来呈现。相关技术的技术人员将理解,可以在其中进行形式和细节的各种变化,而不偏离所附权利要求中定义的所述实施例的精神和范围。因此,本实施例的广度和范围不应受到上述任何一个示例性实施例的限制,而应仅根据以下权利要求及其等同物被定义。

Claims (15)

1.一种由转发代理服务器实现的方法,包括:
从客户端设备接收发起与所述转发代理服务器的第一会话的请求;
响应于接收到所述请求,发起与所述客户端设备的所述第一会话,并且代表所述客户端设备建立与服务器设备的第二会话;
经由所述第一会话或所述第二会话中的至少一个,检测所述客户端设备和所述服务器设备之间的文件传输;
响应于检测到所述传输,获取所述文件的副本;
确定所述文件的所述副本被恶意软件破坏;以及
响应于确定所述文件的所述副本被恶意软件破坏,执行动作以缓解所述恶意软件。
2.根据权利要求1所述的方法,其中所述动作包括以下一项或多项:
提供指示所述传输被恶意软件破坏的通知;或者
防止所述传输被完成。
3.根据权利要求1所述的方法,其中确定所述文件的所述副本被恶意软件破坏包括:
将所述文件的所述副本提供给多个恶意软件标识服务中的至少一个恶意软件标识服务,所述多个恶意软件标识服务各自被配置为针对恶意软件来分析所述文件的所述副本;
从所述至少一个恶意软件标识服务接收指示,所述指示指示所述文件的所述副本是否已被恶意软件破坏;以及
基于指示所述文件的所述副本已被恶意软件破坏的所述指示,确定所述文件的所述副本被恶意软件破坏。
4.根据权利要求3所述的方法,其中所述至少一个恶意软件标识服务在不同于所述转发代理服务器的服务器设备上执行。
5.根据权利要求3所述的方法,其中所述文件被提供给的所述至少一个恶意软件标识服务基于所述文件的文件类型被选择。
6.根据权利要求1所述的方法,其中所述传输包括从所述服务器设备的文件下载操作,并且其中经由所述第一会话或所述第二会话中的至少一个检测所述传输包括:
分析响应的头部,所述响应与所述文件下载操作相关联,并且所述响应经由所述第二会话从所述服务器设备被接收;以及
确定所述头部标识了针对所述文件的文件名。
7.根据权利要求1所述的方法,其中所述传输包括到所述服务器设备的文件上传操作,其中经由所述第一会话或所述第二会话中的至少一个检测所述传输包括:
分析经由所述第一会话从所述客户端设备接收的请求,所述请求与所述文件上传操作相关联;
标识所述请求中包括的统一资源标识符;以及
确定所述统一资源标识符对应于与所述服务器设备相关联的文件上传路径。
8.根据权利要求1所述的方法,其中检测所述客户端设备和所述服务器设备之间的所述传输包括:
从经由所述第一会话在所述客户端设备上执行的代码接收消息,所述消息指示所述客户端设备上执行的所述代码已经检测到从所述客户端设备到所述服务器设备的文件上传操作正在发生。
9.根据权利要求1所述的方法,其中检测所述客户端设备和所述服务器设备之间的所述传输包括:
从经由所述第一会话在所述客户端设备上执行的代码接收消息,所述消息指示所述客户端设备上执行的所述代码已经检测到从所述客户端设备到所述服务器设备的文件下载操作正在发生。
10.一种转发代理服务器,包括:
至少一个处理器电路;以及
至少一个存储器,存储程序代码,所述程序代码被配置为由所述至少一个处理器电路执行,所述程序代码包括:
会话建立器,其被配置为:
从客户端设备接收发起与所述转发代理服务器的第一会话的请求;
响应于接收到所述请求,发起与所述客户端设备的所述第一会话,并且代表所述客户端设备建立与服务器设备的第二会话;以及
恶意软件缓解器,其被配置为:
经由所述第一会话或所述第二会话中的至少一个,检测在所述客户端设备和所述服务器设备之间的文件传输;
响应于检测到所述传输,获取所述文件的副本;
确定所述文件的所述副本被恶意软件破坏;以及
响应于确定所述文件的所述副本被恶意软件破坏,执行动作以缓解所述恶意软件。
11.根据权利要求10所述的转发代理服务器,其中所述动作包括以下一项或多项:
提供指示所述传输被恶意软件破坏的通知;或者
防止所述传输被完成。
12.根据权利要求10所述的转发代理服务器,其中恶意软件缓解器通过以下项确定所述文件的所述副本被恶意软件破坏:
将所述文件的所述副本提供给多个恶意软件标识服务中的至少一个恶意软件标识服务,所述多个恶意软件标识服务各自被配置为针对恶意软件来分析所述文件的所述副本;
从所述至少一个恶意软件标识服务接收指示,所述指示指示所述文件的所述副本是否已被恶意软件破坏;以及
基于指示所述文件的所述副本已被恶意软件破坏的所述指示,确定所述文件的所述副本被恶意软件破坏。
13.根据权利要求12所述的转发代理服务器,其中所述至少一个恶意软件标识服务在不同于所述转发代理服务器的服务器设备上执行。
14.根据权利要求12所述的转发代理服务器,其中所述文件被提供给的所述至少一个恶意软件标识服务基于所述文件的文件类型被选择。
15.一种计算机可读存储介质,其上记录有程序指令,所述程序指令在由转发代理服务器的至少一个处理器执行时,执行根据权利要求1至9中任一项所述的方法。
CN202180069750.2A 2020-10-12 2021-07-30 经由转发代理服务器检测和缓解恶意软件 Pending CN116530052A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/068,157 US20220116406A1 (en) 2020-10-12 2020-10-12 Malware detection and mitigation via a forward proxy server
US17/068,157 2020-10-12
PCT/US2021/043811 WO2022081234A1 (en) 2020-10-12 2021-07-30 Malware detection and mitigation via a forward proxy server

Publications (1)

Publication Number Publication Date
CN116530052A true CN116530052A (zh) 2023-08-01

Family

ID=77398694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180069750.2A Pending CN116530052A (zh) 2020-10-12 2021-07-30 经由转发代理服务器检测和缓解恶意软件

Country Status (4)

Country Link
US (1) US20220116406A1 (zh)
EP (1) EP4226578A1 (zh)
CN (1) CN116530052A (zh)
WO (1) WO2022081234A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405363B2 (en) 2019-06-26 2022-08-02 Microsoft Technology Licensing, Llc File upload control for client-side applications in proxy solutions
US20220182396A1 (en) * 2020-12-07 2022-06-09 Lionic Corporation Method and system to handle files in antivirus actions
US20240283775A1 (en) * 2023-02-16 2024-08-22 Palo Alto Networks, Inc. Inline inspection cybersecurity enforcement of multipart file transmissions

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076801B2 (en) * 2001-06-11 2006-07-11 Research Triangle Institute Intrusion tolerant server system
US7150042B2 (en) * 2001-12-06 2006-12-12 Mcafee, Inc. Techniques for performing malware scanning of files stored within a file storage device of a computer network
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
JP5118020B2 (ja) * 2005-05-05 2013-01-16 シスコ アイアンポート システムズ エルエルシー 電子メッセージ中での脅威の識別
US8180920B2 (en) * 2006-10-13 2012-05-15 Rgb Networks, Inc. System and method for processing content
US20080301796A1 (en) * 2007-05-31 2008-12-04 Microsoft Corporation Adjusting the Levels of Anti-Malware Protection
US8291496B2 (en) * 2008-05-12 2012-10-16 Enpulz, L.L.C. Server based malware screening
US20120233697A1 (en) * 2009-11-06 2012-09-13 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus Reducing Malware Detection Induced Delay
US8813214B1 (en) * 2011-08-12 2014-08-19 Symantec Corporation Method and system for providing secure peer-to-peer file transfers
US10476893B2 (en) * 2015-10-30 2019-11-12 Citrix Systems, Inc. Feature engineering for web-based anomaly detection
US10476896B2 (en) * 2016-09-13 2019-11-12 Accenture Global Solutions Limited Malicious threat detection through time series graph analysis
US10375097B2 (en) * 2016-12-21 2019-08-06 Cisco Technology, Inc. Identifying self-signed certificates using HTTP access logs for malware detection
US10348745B2 (en) * 2017-01-05 2019-07-09 Cisco Technology, Inc. Associating a user identifier detected from web traffic with a client address
US10574680B2 (en) * 2017-05-12 2020-02-25 Teachers Insurance And Annuity Association Of America Malware detection in distributed computer systems
RU2679785C1 (ru) * 2017-10-18 2019-02-12 Акционерное общество "Лаборатория Касперского" Система и способ классификации объектов
US11329959B2 (en) * 2018-12-21 2022-05-10 Fortinet, Inc. Virtual routing and forwarding (VRF)-aware socket
US11405363B2 (en) * 2019-06-26 2022-08-02 Microsoft Technology Licensing, Llc File upload control for client-side applications in proxy solutions

Also Published As

Publication number Publication date
WO2022081234A1 (en) 2022-04-21
US20220116406A1 (en) 2022-04-14
EP4226578A1 (en) 2023-08-16

Similar Documents

Publication Publication Date Title
US11516246B2 (en) Secure browsing via a transparent network proxy
US9736178B1 (en) Systems and methods for detecting suspicious internet addresses
US10491566B2 (en) Firewall informed by web server security policy identifying authorized resources and hosts
US9356943B1 (en) Systems and methods for performing security analyses on network traffic in cloud-based environments
US20240106802A1 (en) Reverse proxy servers for implementing application layer-based and transport layer-based security rules
CN116530052A (zh) 经由转发代理服务器检测和缓解恶意软件
US9378370B2 (en) Scanning files for inappropriate content during synchronization
US9100426B1 (en) Systems and methods for warning mobile device users about potentially malicious near field communication tags
EP4097944B1 (en) Metadata-based detection and prevention of phishing attacks
US11233823B1 (en) Efficient implementation of honeypot devices to detect wide-scale network attacks
WO2015047432A1 (en) Digital protection that travels with data
WO2018076697A1 (zh) 僵尸特征的检测方法和装置
US20200153853A1 (en) Content-based optimization and pre-fetching mechanism for security analysis on a network device
US20160142909A1 (en) Dynamic password-less user verification
JP6957407B2 (ja) ネットワーク・ベースのストレージの内部のファイルのセキュリティ保護された転送
WO2022047253A1 (en) Systems and methods for enhancing user privacy
US9154520B1 (en) Systems and methods for notifying users of endpoint devices about blocked downloads
US20190026465A1 (en) Malware Detection
US11196754B1 (en) Systems and methods for protecting against malicious content
JP6635029B2 (ja) 情報処理装置、情報処理システム及び通信履歴解析方法
US10826978B1 (en) Systems and methods for server load control
US10958666B1 (en) Systems and methods for verifying connection integrity
US11044102B1 (en) Systems and methods for detecting certificate pinning
US10462050B1 (en) Systems and methods for chaining virtual private networks
US10572663B1 (en) Systems and methods for identifying malicious file droppers

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