CN105518619B - 在同步期间针对不适宜内容扫描文件 - Google Patents

在同步期间针对不适宜内容扫描文件 Download PDF

Info

Publication number
CN105518619B
CN105518619B CN201480034638.5A CN201480034638A CN105518619B CN 105518619 B CN105518619 B CN 105518619B CN 201480034638 A CN201480034638 A CN 201480034638A CN 105518619 B CN105518619 B CN 105518619B
Authority
CN
China
Prior art keywords
file
version
client device
content
scanning
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
Application number
CN201480034638.5A
Other languages
English (en)
Other versions
CN105518619A (zh
Inventor
M.E.塞因菲尔德
D.斯佩克托尔
W.M.津特尔
A.M.马里内斯库
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 CN105518619A publication Critical patent/CN105518619A/zh
Application granted granted Critical
Publication of CN105518619B publication Critical patent/CN105518619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Abstract

本发明延伸至用于在文件同步期间针对不适宜内容扫描文件的方法、系统和计算机程序产品。本发明的实施例留意到在针对不适宜内容扫描文件以及后续文件处理中的操作顺序。在一些实施例中,在同步期间,中间服务器针对不适宜内容扫描文件。该文件并不允许被完全下载到客户端设备,直至该扫描确定该文件并不包含不适宜内容。在其它实施例中,在同步期间,客户端设备针对不适宜内容扫描文件的较新版本。该文件的较旧版本并不被删除直至该扫描确定该文件的较新版本并不包含不适宜内容。在另外的实施例中,服务器侧的扫描和客户端侧的扫描都被使用以提升检测不适宜内容的能力。

Description

在同步期间针对不适宜内容扫描文件
背景技术
计算机系统和相关技术影响到社会的许多方面。实际上,计算机系统处理信息的能力已经改变了我们生活和工作的方式。计算机系统现在普遍地执行了在计算机系统出现之前由人工执行的大量任务(例如,文字处理、调度、审计等)。近年来,计算机系统已经互相耦合并且耦合至其它电子设备从而形成有线和无线的计算机网络,计算机系统和其它电子设备能够通过该计算机网络传输电子数据。因此,许多计算任务的执行跨多个不同计算机系统和/或多种不同计算环境进行分布。
在一些环境中,云存储被用来在不同设备之间同步数据。例如,一个设备处的文件的经更新版本可以被传输至云存储。该文件的经更新版本随后可以从云存储传输至一个或多个其它设备从而更新那些设备处的该文件。然而,使用云存储同步文件也可能为恶意软件引入新的散布途径(vector)。例如,感染病毒的文件会被传输至云存储并且随后该被感染的文件能够从云存储传输至一个或多个其它设备,而它们将利用该被感染的文件进行更新。
一些设备侧机制被用来针对恶意软件而扫描所接收到的文件。然而,这些设备侧机制通常在验证新接收到的文件副本并不包含恶意软件之前就无条件地删除该文件现有的干净副本。如果在新接收到的文件副本中检测到恶意软件,则新接收到的文件副本被删除并且该文件的同步关系被打破。因此,当文件现有的干净副本在恶意软件检测之前被删除时,该设备可能无法访问该文件的任何版本。
发明内容
本发明延伸至用于在同步期间针对不适宜内容扫描文件的方法、系统和计算机程序产品。在一些实施例中,计算机系统(例如,客户端)从同步的分布式存储系统接收文件的较新版本的数据的一部分。该文件的较新版本要替代计算机系统处该文件的现有版本。该计算机系统处的存储位置(例如,系统存储器、磁盘等)被识别以存储该数据部分。从该同步的分布式存储系统接收该文件的较新版本的任何剩余数据部分。该文件的较新版本的剩余数据部分被存储在该存储位置。
针对不适宜内容(例如,恶意软件、并不允许从分布式存储系统泄漏的数据,等等)对存储在该存储位置的多个数据部分进行扫描。在扫描之后并基于扫描结果,存储在该存储位置的多个数据部分被删除或者该文件的当前版本被删除。因此,该文件的一个剩余版本保留在该计算机系统。该文件的这一个剩余版本作为该文件的新的当前版本而被保留。
在其它实施例中,计算机系统(例如,服务器)接收客户端设备已经开始从存储系统下载文件的指示。该计算机系统向该客户端设备指示该计算机系统将要针对不适宜内容扫描该文件并且不允许到该客户端设备的文件下载在扫描完成之前完成。该计算机系统从存储系统接收该文件的一个或多个部分。该文件的一个或多个部分也被下载到该客户端设备。
该计算机系统针对不适宜内容而扫描该文件的一个或多个部分。在该扫描之后并且基于扫描结果,该计算机系统确定是否允许到该客户端设备的下载完成。该计算机系统基于该确定而允许到该客户端设备的下载完成或者不允许到该客户端设备的下载完成。
提供该发明内容而以简单的形式引入在以下具体实施方式中进一步进行描述的概念的选择。该发明内容并非意在标示出所请求保护主题的关键特征或必要特征,也并非意在确定所请求保护主题的范围时被用作辅助。
本发明另外的特征和优势将在以下描述中给出,并且部分将由于该描述而是显而易见的,或者可以通过本发明的实践而被习得。本发明的特征和优势可以利用在所附权利要求中特别指出的手段和组合而被意识到并获得。本发明的这些和其它特征将由于以下描述和所附权利要求而变得更为完全地显而易见,或者可以通过如随后所给出的本发明的实践而被习得。
附图说明
为了描述能够获得本发明以上所记载的以及其它的优势和特征的方式,将通过参考在附图中所图示的其具体实施例而对以上简要描述的本发明的更为特定的描述加以呈现。要理解的是,这些图形仅描绘了本发明的典型实施例,并因此并不被认为对其范围加以限制,本发明将通过使用附图而利用额外的特性和细节被加以描述和解释,其中:
图1图示了促成在同步期间针对不适宜内容扫描文件的示例计算机架构。
图2图示了在同步期间针对不适宜内容扫描文件的示例方法的流程图。
图3图示了促成针对不适宜内容扫描正在下载的文件的示例计算机架构。
图4图示了用于针对不适宜内容扫描正在下载的文件的示例方法的流程图。
具体实施方式
本发明延伸至用于在文件同步期间针对不适宜内容扫描文件的方法、系统和计算机程序产品。在一些实施例中,计算机系统(例如,客户端)从同步的分布式存储系统接收文件的较新版本的数据的一部分。该文件的较新版本要替代计算机系统处该文件的现有版本。该计算机系统处的存储位置(例如,系统存储器、磁盘等)被识别以存储该数据部分。从该同步的分布式存储系统接收该文件的较新版本的任何剩余数据部分。该文件的较新版本的剩余数据部分被存储在该存储位置。
针对不适宜内容(例如,恶意软件、并不允许从分布式存储系统泄漏的数据,等等)对存储在该存储位置的多个数据部分进行扫描。在扫描之后并基于扫描结果,存储在该存储位置的多个数据部分被删除或者该文件的当前版本被删除。因此,该文件的一个剩余版本保留在该计算机系统。该文件的这一个剩余版本作为该文件的新的当前版本而被保留。
在其它实施例中,计算机系统(例如,服务器)接收客户端设备已经开始从存储系统下载文件的指示。该计算机系统向该客户端设备指示该计算机系统意在针对不适宜内容扫描该文件并且不允许到该客户端设备的文件下载在扫描完成之前完成。该计算机系统从该存储系统接收该文件的一个或多个部分。该文件的一个或多个部分也被下载到该客户端设备。
该计算机系统针对不适宜内容而扫描该文件的一个或多个部分。在该扫描之后并且基于扫描结果,该计算机系统确定是否允许到该客户端设备的下载完成。该计算机系统基于该确定而允许到该客户端设备的下载完成或者不允许到该客户端设备的下载完成。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器的计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其它计算机可读媒体。这样的计算机可读媒体可以是可由通用或专用计算机系统访问的任何可用媒体。存储计算机可执行指令的计算机可读媒体是计算机存储媒体(设备)。承载计算机可执行指令的计算机可读媒体是传输媒体。由此,作为示例而非限制,本发明的各实施例可包括至少两类显著不同的计算机可读媒体:计算机存储媒体(设备)和传输媒体。
计算机存储媒体(设备)包括RAM、ROM、EEPROM、CD—ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相位变化存储器(“PCM”)、其它类型的存储器,其它光盘存储、磁盘存储或其它磁存储设备,或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机所访问的任何其它媒体。
“网络”被定义为使得能够在计算机系统和/或模块和/或其它电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输媒体。传输媒体可包括可用于携带计算机可执行指令或数据结构形式的所需程序 代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读媒体的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输媒体自动转移到计算机存储媒体(设备)(或者反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传送到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储媒体(设备)。因此应当理解的是,计算机存储媒体(设备)可被包括在同样(或甚至主要)利用传输媒体的计算机系统组件中。
计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但要理解的是,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实施权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等等。本发明也可以在通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实践。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。
本发明的实施例还可以在云计算环境中实施。在该说明书以及以下的权利要求中,“云计算”被定义为用于使得能够针对可配置计算资源的共享池进行按需网络访问的模型。例如,能够在市场中采用云计算以针对可配置的计算资源的共享池提供普遍且便利的按需访问。可配置的计算资源的共享池可以经由虚拟化而被快速提供,并以低度管理工作或服务提供方交互而发布,并且随后相应地按比例进行。
云计算模型可以由各种特征所组成,诸如,例如按需自服务、宽泛网络访问、资源装池、快速弹性、测量服务等。云计算模型还能够展现出各种服务模型,诸如,例如软件即服务(“SaaS”)、平台即服务(“PaaS”)和设施即服务(“IaaS”)。云计算模型还能够使用不同部署模型进行部署,诸如私有云、社区云、公众云、混合云等。在该说明书和权利要求中,“云计算环境”是其中采用云计算的环境。
在该说明书和以下权利要求中,“云存储”被定义为使用云计算模型和/或在云计算环境中操作的存储。在一些实施例中,分布式存储系统使用云存储来实施。分布式存储系统可以包括多个存储设备和多个存储服务器。文件的不同数据部分能够跨多个存储设备进行分布并且由多个存储服务器所访问。因此,当客户端设备请求文件时,该文件的不同部分能够从不同存储设备进行访问(可能是并行地)并且随后从不同存储服务器被发送至客户端设备(可能是并行地)。
总体上,本发明的实施例涉及用于在同步期间针对不适宜内容扫描文件的机制。该机制留意到操作的顺序而使得文件在检测到不适宜内容时得到有效保护。
图1图示了促成在同步期间针对不适宜内容扫描文件的示例计算机架构100。参考图1,计算机架构100包括客户端101、分布式存储系统104,以及客户端106A—106C。客户端101、分布式存储系统104,以及客户端106A—106C中的每一个能够通过网络互相连接(或者作为该网络的一部分),上述网络诸如例如局域网(“LAN”)、广域网(“WAN”)以及甚至互联网。因此,客户端101、分布式存储系统104和客户端106A—106C以及任意其它所连接的计算机系统以及它们的组件能够创建消息相关数据并通过网络交换消息相关数据(例如,互联网协议(“IP”)数据报以及利用IP数据报的其它更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等,或者使用其它非数据报协议)。
通常,客户端101和客户端106A—106C可以被配置为通过分布式存储系统104互相同步文件。例如,当客户端101和客户端106A—106C中的一个客户端设备具有文件的较新版本时,则该客户端设备能够将该文件上传至分布式存储系统104。客户端101和客户端106A—106C中的其它客户端设备随后能够下载该文件的较新版本并且相应地进行更新。文件可以包括数据文件,诸如,例如图片、视频、音频、文档等。
如所描绘的,分布式存储系统104可以包括多个存储设备和多个存储服务器。多个不同文件的数据能够跨多个存储设备进行分布。在一些实施例中,一个文件的不同部分跨多个存储设备进行分布。因此,当文件被客户端设备所请求时,该多个存储服务器中的一个或多个能够从不同存储设备访问该文件的不同部分。该一个或多个存储服务器能够将所访问的不同文件部分单独发送至进行请求的客户端设备。
可替换地,文件的不同部分能够被发送至中间服务器。该中间服务器能够从各个不同部分构建该文件并且随后将该文件发送至进行请求的客户端设备。该中间服务器也可以执行各种扫描操作以确定该文件的任何部分是否包含不适宜内容。
在一些实施例中,文件的多个部分被并行地发送至进行请求的客户端设备和中间服务器。
如所描绘的,客户端101包括存储位置102和扫描模块103。存储位置102可以是实际上任意类型的存储,例如系统存储器或更为持久的存储设备(例如,磁性的、光学的等)。当文件被下载到客户端101时,该文件的多个部分能够被存储在存储位置102。扫描模块103能够被配置为针对包括恶意软件和具有传输限制的内容在内的各种类型的不适宜内容而扫描客户端101处的数据,包括存储位置102中所存储的所接收数据。
扫描模块103能够删除包括所检测到的不适宜内容的文件。因此,当扫描模块103在文件的较新版本中检测到不适宜内容时,该文件的较新版本的多个部分从存储位置102被删除(并且该文件的当前版本能够被保留)。另一方面,当扫描模块103并未在文件的较新版本检测到时,该文件的较新版本被允许替换该文件的当前版本。当该文件的较新版本替换该文件的当前版本时,客户端101能够将指向该文件的当前版本的操作另外重新指向该文件的较新版本。
不适宜内容可以包括恶意软件,诸如病毒、蠕虫、特洛伊木马、隐匿程式、键盘记录器、广告软件、间谍软件,以及其它类型的恶意软件。因此,扫描模块103能够保护同步关系免于成为恶意软件的途径。不适宜内容还可以包括并不被允许达到或离开客户端设备或者并不被允许到达或离开云存储的内容。因此,扫描模块103还能够保护同步关系免于成为数据泄露的途径。
图2图示了在同步期间针对不适宜内容扫描文件的示例方法200的流程图。将关于计算机架构100的组件和数据对方法200进行描述。
客户端101能够向分布式存储系统104发送同步请求以针对客户端101处所存储的任意文件请求较新版本。分布式存储系统104能够检测到文件111N是文件111的较新版本。作为响应,分布式存储系统104能够开始将文件111N的多个部分发送至客户端101。例如,分布式存储系统104能够将数据111A—111C(即,文件111N的多个部分)发送至客户端101。文件111N事先能够已经被客户端106A—106C的任意一个上传至分布式存储系统104。
方法200包括从同步的分布式存储系统接收文件的较新版本的数据的一部分,该文件的较新部分要替换该计算机系统处的该文件的现有版本(201)。例如,客户端101能够从分布式存储系统104接收数据111A。如所描述的,数据111A是文件111N(要替换文件111的较新版本)的一部分。客户端101能够作为用于在客户端101和客户端106A—106C之间同步数据的同步操作的一部分而接收数据111A。
方法200包括识别该计算机系统处的存储位置以存储该数据部分(202)。例如,客户端101能够识别存储位置102(例如,系统存储器、磁盘等)以存储数据111A。客户端101能够将数据111A存储在存储位置102。方法200包括从该同步的分布式存储系统接收该文件的较新版本的任何剩余数据部分(203)。例如,客户端101能够从分布式存储系统104接收数据111B—111C。客户端101能够作为用于在客户端101和客户端106A—106C之间同步数据的同步操作的一部分而接收数据111B—111C。方法200包括将该文件的较新版本的剩余数据部分存储在该存储位置(204)。例如,客户端101能够将数据111B—111C存储在存储位置102。
方法200包括针对不适宜内容对存储在该存储位置的多个数据部分进行扫描(205)。例如,扫描模块103能够针对不适宜内容扫描(存储位置102处的)数据111A—111C,上述不适宜内容诸如例如是恶意软件和/或从分布式存储系统104泄漏的数据。扫描模块103可以检测或不检测数据111A—111C中的一个或多个中的不适宜内容。
扫描模块103能够在结果112中记录扫描数据111A—111C的结果。当扫描模块103在数据111A—111C中的一个或多个中检测到不适宜内容时,扫描模块103能够记录文件111N包含不适宜内容的指示(以及可能还记录不适宜内容的一种或多种类型)。另一方面,当扫描模块103并未在数据111A—111C任何一者中检测到不适宜内容时,扫描模块103能够记录文件111N并不包含不适宜内容(和/或文件111N是“干净的”)的指示。在一些实施例中,结果112处于提供信息的目的而被呈现给用户。
在扫描之后并基于扫描结果,方法200包括删除存储在该存储位置的多个数据部分和该文件的当前版本之一,而使得文件的一个剩余版本保留在计算机系统(206)。例如,在扫描数据111A—111C之后,结果112可以指示在数据111A—111C中的一个或多个中检测到不适宜内容。基于结果112指示所检测到的不适宜内容,数据111A—111C能够从存储位置102被删除(如虚线“删除”以及标记出数据111A—111C的虚线所指示)。当结果112指示检测到不适宜内容时,客户端101能够打破文件111N和文件111之间的同步关系。
另一方面,在扫描数据111A—111C之后,结果112可以指示数据111A—111C任何一者中都不包含不适宜内容(或文件111N是“干净的”)。基于结果112指示数据111A—111C并不包含不适宜内容(或文件111N是“干净的”),文件111能够被删除(如实线“删除”以及标记出文件111N的实线所示)。在任一个实施例中,数据都能够在数据111A—111C的扫描之后被删除。
方法200包括保留该文件的这一个剩余版本作为该文件的新的当前版本(207)。例如,当数据111A—111C被删除时,文件111能够被保留(如数据111的虚线版本所指示)。另一方面,当文件111被删除时,数据111A—111C能够被写入客户端101处的文件111N。在一些实施例中,文件111N被给予文件111被删除之前所具有的相同文件名。
在文件111N被写入之后,客户端101能够将指向文件111的操作另外重新指向文件111N。
因此,本发明的实施例在扫描和删除客户端设备处的数据时留意到操作的顺序。例如,在同步期间,删除文件的现有版本是有条件的。也就是说,文件的现有版本被保留直至扫描结果指示文件的较新版本没有不适宜内容。
现在参考图3。图3图示了促成针对不适宜内容扫描下载文件的示例计算机架构300。如所描绘的,计算机架构300包括中间服务器301、分布式存储系统304、客户端306,以及客户端308A和308B。中间服务器301、分布式存储系统304、客户端306,以及客户端308A和308B中的每一个均能够通过网络互相连接(或者作为该网络的一部分),上述网络诸如例如局域网(“LAN”)、广域网(“WAN”)以及甚至互联网。因此,中间服务器301、分布式存储系统304、客户端306与客户端308A和308B以及任意其它所连接的计算机系统以及它们的组件能够创建消息相关数据并通过网络交换消息相关数据(例如,互联网协议(“IP”)数据报以及利用IP数据报的其它更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等,或者使用其它非数据报协议)。
总体上,客户端306、客户端308A和客户端308B能够被配置为通过分布式存储系统304相互同步文件。例如,当客户端306、客户端308A和客户端308B中的一个客户端设备具有文件的较新版本时,则该客户端设备能够将该文件上传至分布式存储系统304。客户端306、客户端308A和客户端308B中的其它客户端设备随后能够下载该文件的较新版本并且相应地进行更新。文件可以包括数据文件,诸如,例如图片、视频、音频、文档等。
如所描绘的,分布式存储系统304包括多个服务器307A—307D。在分布式存储系统304内,多个不同文件的数据能够跨多个存储设备进行分布。在一些实施例中,一个文件的不同部分跨多个存储设备进行分布。因此,当文件被客户端设备所请求时,该多个服务器307A—307D中的一个或多个能够从不同存储设备访问该文件的不同部分。该多个服务器307A—307D中的一个或多能够将所访问的不同文件部分单独发送至进行请求的客户端设备。
当诸如例如客户端306的客户端设备从分布式存储系统304请求文件时,该客户端设备能够向中间服务器301通知该下载请求。作为响应,中间服务器301也能够发起该文件的下载。可替换地,当从客户端设备接收到下载请求时,分布式存储系统304能够自动发起所请求的文件到该客户端设备的下载并且还发起所请求的文件到中间服务器301的并行下载。
如所描绘的,中间服务器301包括扫描模块303。扫描模块303能够被配置为针对各种类型的不适宜内容而对中间服务器301处的数据进行扫描,上述不适宜内容包括恶意软件以及具有传输限制的内容。当文件的一部分被发送至客户端设备和中间服务器301时,中间服务器301能够防止客户端下载在扫描模块303针对不适宜内容对该文件的多个部分进行了扫描之前完成。当扫描模块303在文件中检测到不适宜内容时,中间服务器301向客户端通知该客户端并不被允许完成文件的下载。当扫描模块303并未在文件中检测到不适宜内容时,中间服务器301向客户端通知该客户端被允许完成下载该文件。如所描述的,不适宜内容可以包括恶意软件、具有传输限制的内容等。
图4图示了用于针对不适宜内容扫描下载文件的示例方法400的流程图。将关于计算机架构300的组件和数据对方法400进行描述。
客户端306能够向分布式存储系统304发送文件请求341。文件请求342可以是针对文件311的请求。文件311可以包括数据311A—311D,它们跨分布式存储系统304的不同存储设备进行分布。为了将文件311下载到客户端306,服务器307A—307D能够分别从不同存储设备访问数据311A—311D。服务器307A—307D随后能够发起分别将数据311A—311D发送至客户端306。
连同发送文件请求341一起,客户端306能够向中间服务器301发送下载通知321。下载通知321向中间服务器310通知客户端306正在下载文件311。
方法400包括接收客户端设备已经开始从存储系统下载文件的指示(401)。例如,中间服务器301能够从客户端306接收下载通知321。可替换地,中间服务器301可以连同客户端306正在下载文件311的指示一起开始从分布式存储系统304接收文件311的多个部分。这样,客户端306和分布式存储系统304之一或其二者能够向中间服务器301通知文件311正在被下载到客户端306。
方法400包括向该客户端设备指示该计算机系统意在针对不适宜内容扫描该文件并且不允许到该客户端设备的文件下载在扫描完成之前完成(402)。例如,中间服务器301能够向客户端306发送扫描通知322。扫描通知322向客户端306指示中间服务器301意在针对不适宜内容扫描文件311。扫描通知322还向客户端306指示对文件311的下载在完成对文件311的扫描之前并不允许完成。
方法400包括从该存储系统接收该文件的一个或多个部分,该文件的一个或多个部分也被下载到该客户端设备(403)。例如,中间服务器301能够分别从服务器307A—307D接收数据311A—311D。如所描绘的,数据311A—311D还分别从服务器307A—307D下载到客户端306。
方法400针对不适宜内容而扫描该文件的一个或多个部分(404)。例如,扫描模块303能够针对不适宜内容扫描数据311A—311D,上述不适宜内容诸如例如恶意软件和/或从分布式存储系统304所泄漏的内容。扫描模块303可能在数据311A—311D的一个或多个中检测到不适宜内容或可能并未检测到不适宜内容。
扫描模块303能够将扫描数据311A—311D的结果记录在结果312中。当扫描模块303检测到数据311A—311D的一个或多个中的不适宜内容时,扫描模块303能够记录文件311包含不适宜内容的指示(并且可能还记录不适宜内容的一种或多种类型)。另一方面,当扫描模块303并未在数据311A—311D任何一者中检测到不适宜内容时,扫描模块303能够记录文件311并不包含不适宜内容的指示(和/或文件311是“干净的”)。
在该扫描之后并且基于扫描结果,方法400包括确定是否允许到该客户端设备的下载完成(405)。例如,基于结果312,中间服务器301能够确定是否允许文件311到客户端306的下载完成。在一些实施例中,在扫描数据311A—311D之后,结果312指示在数据311A—311D的一个或多个之中检测到不适宜内容。基于指示所检测到的不适宜内容的结果312,中间服务器301确定不允许完成文件311到客户端106的下载。在其它实施例中,在扫描数据311A—311D之后,结果312指示并未在数据311A—311D任何一者中检测到不适宜内容(或者文件311是“干净的”)。基于指示并未检测到不适宜内容的结果312,中间服务器301确定允许完成文件311到客户端106的下载。在任一个实施例中,数据311A—311D能够从中间服务器301被删除。
在扫描之后并基于扫描结果执行以下之一:基于该确定,允许该客户端设备处的下载完成或者不允许该客户端设备处的下载完成(406)。例如,中间服务器301能够向客户端306发送结果通知323。结果通知323能够指示是否允许文件311到306的下载(例如,与到中间服务器301的下载并行)完成。当允许文件311的下载(例如,并行的)完成时,客户端306能够下载数据311A—311D。客户端306能够从数据311A—311D写入文件311。当并不允许文件311的下载完成时,任何已经被下载到客户端306的数据311A—311D都能够被删除。
因此,本发明的实施例在扫描要被下载到客户端设备的文件时留意到操作的顺序。例如,在同步期间,中间服务器能够针对不适宜内容扫描文件。客户端设备并不被允许完成文件下载直至扫描确定该文件并不包含不适宜内容。在确定该文件并不包含不适宜内容之后,该客户端设备被允许完成文件下载。
本发明的实施例能够互相交互操作从而提供用于在同步期间检测不适宜内容的有所提升的能力。例如,中间服务器能够在允许客户端设备完成文件的较新版本的下载之前针对不适宜内容扫描该文件的较新版本(例如,依据方法400)。在中间服务器对该文件的较新版本进行扫描之后并且当并未检测到不适宜内容时,该客户端设备能够完成该文件的较新版本的下载。该客户端设备能够再次针对不适宜内容扫描该文件的较新版本(例如,依据方法200)。在客户端设备扫描该文件的较新版本之后并且并未检测到不适宜内容时,客户端设备能够利用该文件的较新版本替换该文件的较旧版本。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (11)

1.一种用于使用计算机系统在同步期间针对不适宜内容扫描文件的方法,所述计算机系统包括处理器和系统存储器,所述计算机系统包括通信耦合至同步的分布式存储系统的同步客户端,所述同步客户端被配置为与耦合至所述同步的分布式存储系统同步文件,所述方法包括:
从所述同步的分布式存储系统接收文件的较新版本的一个或多个数据部分,所述文件的所述较新版本被指定要替换所述文件在所述计算机系统处的现有版本,所述文件的所述较新版本先前由另一同步客户端上载到所述同步的分布式存储系统;
识别所述计算机系统处的存储位置以存储所述一个或多个数据部分;
在所述存储位置处存储所述一个或多个数据部分;
维持与所述文件在所述同步客户端处的所述现有版本的同步关系,包括:在允许所述文件的所述较新版本替换所述文件的所述现有版本之前,并且在删除所述文件的所述现有版本之前:
访问所述存储位置以针对不适宜内容扫描所述一个或多个数据部分;以及
确定所述一个或多个数据部分是否没有不适宜内容;以及
至少基于确定所述一个或多个数据部分没有不适宜内容,通过至少删除所述文件的所述现有版本以及利用所述文件的所述较新版本替换所述文件的所述现有版本,来断开所述同步关系。
2.根据权利要求1所述的方法,其中访问所述存储位置以针对不适宜内容扫描所述一个或多个数据部分包括扫描所述一个或多个数据部分以防止数据泄露。
3.根据权利要求1所述的方法,进一步包括:
通过将针对所述文件的操作重新指向所接收到的所述一个或多个数据部分而使得所接收到的所述数据部分在所述计算机系统处可用。
4.根据权利要求1所述的方法,其中访问所述存储位置以针对不适宜内容扫描所述一个或多个数据部分包括:针对以下的一个或多个来扫描所述一个或多个数据部分:病毒以及不被允许下载到所述计算机系统的内容。
5.一种在计算机系统处使用的方法,所述计算机系统包括处理器和系统存储器,所述计算机系统通信耦合至客户端设备和存储系统,所述客户端设备被配置为从所述存储系统下载文件,所述方法用于针对不适宜内容扫描正在下载的文件,所述方法包括:
接收所述客户端设备已经发起从所述存储系统下载文件的版本的指示,所述文件的所述版本用于替换所述文件在所述客户端设备处的现有版本;
向所述客户端设备指示:
所述计算机系统意在下载所述文件的所述版本并且针对不适宜内容扫描所述文件的所述版本;以及
所述计算机系统正在通过防止所述客户端设备完成所述文件的所述版本从所述存储系统的下载直到扫描完成之后为止,来保护所述客户端设备与所述文件的所述现有版本之间的同步关系;
从所述存储系统接收所述文件的所述版本的一个或多个部分,所述文件的所述版本的所述一个或多个部分也被下载到所述客户端设备;
针对不适宜内容而扫描所述文件的所述版本的所述一个或多个部分;
在所述扫描完成之后,确定所述文件的所述版本的所述一个或多个部分没有不适宜内容;
响应于确定所述文件的所述版本的所述一个或多个部分没有不适宜内容,并且在确定所述文件的所述版本的所述一个或多个部分没有不适宜内容之后,允许所述客户端设备断开与所述文件的所述现有版本的所述同步关系,包括:
基于扫描结果确定所述客户端设备被允许完成所述文件的所述版本从所述存储系统的所述下载;以及
允许所述客户端设备完成所述文件的所述版本在所述客户端设备处的所述下载,以用所述文件的所述版本替换所述文件的所述现有版本;并且
其中所述文件的所述一个或多个部分在所述扫描完成之前被下载到所述客户端设备。
6.根据权利要求5所述的方法,其中所述存储系统是分布式存储系统,所述分布式存储系统包括多个分布式服务器,其中所述文件的所述版本的至少一部分从第一服务器被访问,所述第一服务器选自所述多个服务器,并且其中所述文件的所述版本的至少一个其它部分从不同的第二服务器被访问,所述第二服务器选自所述多个服务器,并且其中从所述存储系统接收所述文件的所述版本的一个或多个部分包括:
在所述文件的所述版本的所述至少一部分也被从所述第一服务器下载到所述客户端设备的同时,从所述第一服务器接收所述文件的所述版本的所述至少一部分;并且
在所述文件的所述版本的所述至少一个其它部分也被从所述不同的第二服务器下载到所述客户端设备的同时,从所述不同的第二服务器接收所述文件的所述版本的所述至少一个其它部分。
7.根据权利要求5所述的方法,其中从所述存储系统接收所述文件的所述版本的一个或多个部分包括:接收所述文件的所述版本的、要在所述客户端设备处被用于同步所述文件的一个或多个部分。
8.根据权利要求7所述的方法,进一步包括:向所述客户端设备通知所述客户端设备被允许完成同时下载。
9.根据权利要求5所述的方法,其中确定所述客户端设备被允许完成所述文件的所述版本的所述下载包括:确定所述客户端设备被允许在与所述文件的所述版本到所述计算机系统的下载同时完成所述文件的所述版本的同时下载。
10.一种计算系统,所述系统包括:
分布式存储系统;
中间服务器;
多个客户端设备;
其中所述中间服务器被配置为:
接收来自所述多个客户端设备的客户端设备已经发起从所述分布式存储系统下载文件的指示,所述文件的版本要替换所述文件在所述客户端设备处的现有版本;
向所述客户端设备指示:
所述中间服务器意在下载所述文件的所述版本并且针对不适宜内容扫描所述文件的所述版本;以及
所述客户端设备与所述文件的所述现有版本之间的同步关系正通过防止所述客户端设备完成所述文件的所述版本从所述分布式存储系统的下载直到所述扫描完成之后为止而被保护;
从所述分布式存储系统接收所述文件的所述版本的一个或多个部分,所述文件的所述版本的所述一个或多个部分也被下载到所述客户端设备;
针对不适宜内容而扫描所述文件的所述版本的所述一个或多个部分;
在所述扫描完成之后,确定所述文件的所述版本的所述一个或多个部分没有不适宜内容;
响应于确定所述文件的所述版本的所述一个或多个部分没有不适宜内容,并且在确定所述文件的所述版本的所述一个或多个部分没有不适宜内容之后,允许所述客户端设备断开所述同步关系,包括:
基于所述扫描的结果确定所述客户端设备被允许完成所述文件的所述版本从所述分布式存储系统的所述下载;以及
允许所述客户端设备完成所述文件的所述版本在所述客户端设备处的所述下载,以用所述文件的所述版本替换所述文件的所述现有版本;并且
其中在所述扫描完成之前所述文件的所述一个或多个部分被下载到所述客户端设备;并且
其中所述多个客户端设备中的每个客户端设备被配置为:
从所述中间服务器接收所述文件的所述版本的所述一个或多个部分;
在存储位置处存储所述文件的所述版本的所述一个或多个部分;
保护所述同步关系,包括:在允许所述文件的所述版本替换所述文件的所述现有版本之前,并且在删除所述文件的所述现有版本之前:
针对不适宜内容对存储在所述存储位置处的所述文件的所述版本的所述部分进行扫描;
在所述扫描之后并且基于所述扫描的结果:
删除所述文件在所述存储位置处的所述版本和所述文件的所述现有版本之一,而使得所述文件的一个剩余版本保持在所述客户端设备处;以及
保留所述文件的所述一个剩余版本作为所述文件的新的当前版本。
11.一种其上存储计算机可执行指令的计算机可读存储媒体,所述指令当由计算设备执行时,使得所述计算设备实现如权利要求1-9中的任一个所述的方法。
CN201480034638.5A 2013-06-17 2014-06-13 在同步期间针对不适宜内容扫描文件 Active CN105518619B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/920,015 US9378370B2 (en) 2013-06-17 2013-06-17 Scanning files for inappropriate content during synchronization
US13/920015 2013-06-17
PCT/US2014/042212 WO2014204786A1 (en) 2013-06-17 2014-06-13 Scanning files for inappropriate content during synchronization

Publications (2)

Publication Number Publication Date
CN105518619A CN105518619A (zh) 2016-04-20
CN105518619B true CN105518619B (zh) 2019-05-14

Family

ID=51168406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480034638.5A Active CN105518619B (zh) 2013-06-17 2014-06-13 在同步期间针对不适宜内容扫描文件

Country Status (4)

Country Link
US (2) US9378370B2 (zh)
EP (1) EP3011437B1 (zh)
CN (1) CN105518619B (zh)
WO (1) WO2014204786A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678032B (zh) * 2012-09-17 2017-10-31 腾讯科技(深圳)有限公司 系统文件的修复方法及装置
US10885209B2 (en) 2015-04-17 2021-01-05 Dropbox, Inc. Collection folder for collecting file submissions in response to a public file request
US10091296B2 (en) 2015-04-17 2018-10-02 Dropbox, Inc. Collection folder for collecting file submissions
US9692826B2 (en) 2015-04-17 2017-06-27 Dropbox, Inc. Collection folder for collecting file submissions via a customizable file request
US10162972B2 (en) 2015-04-17 2018-12-25 Dropbox, Inc. Collection folder for collecting and publishing file submissions
CN106302559B (zh) 2015-05-11 2019-07-05 阿里巴巴集团控股有限公司 一种数据复制方法和设备
US10425477B2 (en) 2015-09-15 2019-09-24 Microsoft Technology Licensing, Llc Synchronizing file data between computer systems
US10713966B2 (en) 2015-12-31 2020-07-14 Dropbox, Inc. Assignments for classrooms
US10719408B2 (en) * 2016-08-03 2020-07-21 Microsoft Technology Licensing, Llc Retain locally deleted content at storage service
US11303656B2 (en) 2017-03-01 2022-04-12 Cujo LLC Determining entity maliciousness based on associated entities
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10496822B2 (en) * 2017-12-21 2019-12-03 Mcafee, Llc Methods and apparatus for securing a mobile device
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US10826917B2 (en) * 2018-05-02 2020-11-03 Servicenow, Inc. Malicious data scan service
KR102084183B1 (ko) * 2018-06-11 2020-03-03 숭실대학교산학협력단 악성 프로세스 감염을 차단하는 파일 백업 장치 및 그 방법
US11514162B1 (en) * 2022-01-13 2022-11-29 Uab 360 It System and method for differential malware scanner
US20230362231A1 (en) * 2022-05-04 2023-11-09 Citrix Systems, Inc. Optimizing data storage across multiple content repositories

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609645A (zh) * 2012-01-19 2012-07-25 北京工业大学 一种基于网络隔离结构的网站数据防篡改方法
CN102902926A (zh) * 2012-10-11 2013-01-30 长春理工大学 基于分布式文件同步技术的网站文件防篡改方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578054B1 (en) * 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
US6842861B1 (en) 2000-03-24 2005-01-11 Networks Associates Technology, Inc. Method and system for detecting viruses on handheld computers
US7086090B1 (en) * 2000-10-20 2006-08-01 International Business Machines Corporation Method and system for protecting pervasive devices and servers from exchanging viruses
US20040158741A1 (en) * 2003-02-07 2004-08-12 Peter Schneider System and method for remote virus scanning in wireless networks
US7496607B2 (en) * 2003-08-29 2009-02-24 Yahoo! Inc. Method and system for maintaining synchronization between a local data cache and a data store
US7730538B2 (en) 2006-06-02 2010-06-01 Microsoft Corporation Combining virus checking and replication filtration
US8756683B2 (en) * 2006-12-13 2014-06-17 Microsoft Corporation Distributed malicious software protection in file sharing environments
US20080195676A1 (en) * 2007-02-14 2008-08-14 Microsoft Corporation Scanning of backup data for malicious software
US8255999B2 (en) * 2007-05-24 2012-08-28 Microsoft Corporation Anti-virus scanning of partially available content
US8863286B1 (en) * 2007-06-05 2014-10-14 Sonicwall, Inc. Notification for reassembly-free file scanning
US8291496B2 (en) * 2008-05-12 2012-10-16 Enpulz, L.L.C. Server based malware screening
US8667583B2 (en) 2008-09-22 2014-03-04 Microsoft Corporation Collecting and analyzing malware data
CN101888311B (zh) * 2009-05-11 2013-02-06 北京神州绿盟信息安全科技股份有限公司 一种防止网络内容被篡改的设备、方法和系统
US9811662B2 (en) * 2010-05-03 2017-11-07 Panzura, Inc. Performing anti-virus checks for a distributed filesystem
US9119017B2 (en) 2011-03-18 2015-08-25 Zscaler, Inc. Cloud based mobile device security and policy enforcement
US20120272320A1 (en) * 2011-04-25 2012-10-25 Verizon Patent And Licensing Inc. Method and system for providing mobile device scanning
RU2523112C1 (ru) * 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выбора оптимального типа антивирусной проверки при доступе к файлу

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609645A (zh) * 2012-01-19 2012-07-25 北京工业大学 一种基于网络隔离结构的网站数据防篡改方法
CN102902926A (zh) * 2012-10-11 2013-01-30 长春理工大学 基于分布式文件同步技术的网站文件防篡改方法

Also Published As

Publication number Publication date
US9781142B2 (en) 2017-10-03
US20140373147A1 (en) 2014-12-18
US9378370B2 (en) 2016-06-28
WO2014204786A1 (en) 2014-12-24
EP3011437B1 (en) 2018-02-21
US20160285900A1 (en) 2016-09-29
CN105518619A (zh) 2016-04-20
EP3011437A1 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
CN105518619B (zh) 在同步期间针对不适宜内容扫描文件
Cohen et al. Distributed forensics and incident response in the enterprise
US10650077B2 (en) Providing secure storage of content and controlling content usage by social media applications
US20210209007A1 (en) Methods for improved web application testing using remote headless browsers and devices thereof
CN104598257B (zh) 远程应用程序运行的方法和装置
TW201141159A (en) Securing asynchronous client server transactions
US20160285781A1 (en) Data processing method, apparatus, client, server and system
US9158902B2 (en) Software modification for partial secure memory processing
CN109791483A (zh) 用于计算设备的共享软件库
US9652278B2 (en) Virtual machine migration via a mobile device
US10089166B2 (en) Configuring and utilizing call-home systems
GB2529246A (en) Method for securing integrity and consistency of a cloud storage service with efficient client operations
US20100235471A1 (en) Associating telemetry data from a group of entities
US20160378521A1 (en) Automated test optimization
WO2016022191A1 (en) Extensible data path
Afonin et al. Mobile Forensics–Advanced Investigative Strategies
US10140043B1 (en) Digital data sanitation
JP2011193264A (ja) コンテンツ配信システム、コンテンツサーバ、クライアント装置、コンテンツ配信方法、コンテンツサーバのコンテンツ配信方法、クライアント装置のコンテンツ取得方法及びプログラム
US9191298B1 (en) Distributed forensic investigation
CN111756784B (zh) 会话方法、会话装置、计算机设备和介质
JP2013131158A (ja) 自動仮想化プログラム、自動仮想化方法及び情報処理装置
US9213842B2 (en) Tracing data block operations
JP6257085B2 (ja) 所定のサーバに対してログインを要求するログイン要求装置及び方法、並びにこれらに用いられるプログラム
US20220060488A1 (en) Methods for providing malware protection for cloud storage and devices thereof
Amaris et al. Microsoft System Center Enterprise Suite Unleashed

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant