一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动恶意软件修复和文件恢复管理的制作方法

2022-04-30 04:23:17 来源:中国专利 TAG:

自动恶意软件修复和文件恢复管理


背景技术:

1.云存储账户允许用户将其电子内容项或文件存储在能够利用网络连接从任意计算设备访问的在线存储账户中。云存储服务提供商的一些更为人所熟知的示例包括microsoftgoogle和通过这些类型的服务,用户能够从计算设备将诸如图片、歌曲、文档和其他电子内容的内容项上载到在线存储账户。之后能够从不同的计算设备访问这些项。在一些情况下,诸如microsoft的所述服务提供了对很宽范围的各种各样的文件类型进行存储、同步以及与其他人并且跨多个计算设备进行共享的手段,还提供了针对不同的设备对系统设置、视觉自定义、主题、应用设置和浏览器选项卡、历史和所保存的口令进行同步的可能性。
2.随着越来越多的计算机已经变得通过各种网络互连,通过网络传递的攻击也在增加,并且计算机安全成为了重中之重。这样的恶意软件攻击的出现形式能够是计算机病毒、计算机蠕虫、勒索软件、系统组件替换、间谍软件、广告软件、拒绝服务攻击以及利用一个或多个计算机系统漏洞达到非法目的的其他侵入式攻击。具体地,勒索软件是越来越多地以云存储为目标的恶意软件。
3.遗憾的是,即使具有云存储备份,用户还是不断发现其数字内容项面对恶意软件的攻击仍然是脆弱的。对于用户而言,解决这些攻击会是耗时的而且存在挑战。常规的修复方法需要由用户来执行一系列的多个人工步骤,在许多情况下,用户可能难以完成这些步骤。因此,仍然有重要的领域需要新的并且经改进的构思来确保数字内容的安全、减少恶意软件的影响以及为用户提供用于对设备感染的经改进的管理的工具。


技术实现要素:

4.根据本公开的第一方面的自动修复和恢复系统包括处理器和包含指令的计算机可读介质,所述指令当由所述处理器运行时使所述处理器在同步会话期间在远程云服务处通过通信网络接收来自第一客户端设备的针对第一文件的同步数据,所述同步数据指示所述第一客户端设备与被恶意软件感染的可能性相关联。所述指令还使所述处理器:在所述远程云服务处响应于接收到所述同步数据而确定所述第一客户端设备已经被恶意软件感染;并且响应于关于所述第一设备已经被感染的所述确定而自动地调用用于对所述第一客户端设备的修复的反病毒服务,所述第一设备向所述反病毒服务注册。另外,所述指令还使所述处理器:在所述远程云服务处确认对所述第一客户端设备的所述修复已经成功地完成,并且基于对所述第一文件的同步历史的检查来确定所述第一文件的受感染版本被初始提交以用于与所述远程云服务进行同步时的初始感染时间。所述指令还使所述处理器通过(在所述远程云服务处)识别在所述初始感染时间之前被同步的所述第一文件的第一版本并且利用所述第一版本代替所述受感染版本而自动地恢复所述客户端设备上的所述第一文件。
5.根据本公开的第二方面的方法包括在同步会话期间在远程云服务处通过通信网络接收来自第一客户端设备的针对第一文件的同步数据,所述同步数据指示第一客户端设
备与被恶意软件感染的可能性相关联。所述方法还包括:在所述远程云服务处响应于接收到所述同步数据而确定所述第一客户端设备已经被恶意软件感染;并且然后响应于关于所述第一设备已经被感染的所述确定而自动地调用用于对所述第一客户端设备的修复的反病毒服务,所述第一设备向所述反病毒服务注册。所述方法还包括在所述远程云服务处确认对所述第一客户端设备的所述修复已经成功完成。另外,所述方法包括基于对所述第一文件的同步历史的检查来确定所述第一文件的受感染版本被初始提交以用于与所述远程云服务同步时的初始感染时间。最后,所述方法能够包括通过(在所述远程云服务处)识别在所述初始感染时间之前被同步的所述第一文件的第一版本并且利用所述第一版本代替所述受感染版本而自动地恢复所述客户端设备上的所述第一文件。
6.根据本公开的第三方面的计算机可读介质包括存储在其中的指令,所述指令当由处理器运行时使所述处理器执行操作,所述操作包括在同步会话期间在远程云服务处通过通信网络接收来自第一客户端设备的针对第一文件的同步数据,所述同步数据指示第一客户端设备与被恶意软件感染的可能性相关联。另外,所述指令还使所述处理器:在所述远程云服务处响应于接收到所述同步数据而确定所述第一客户端设备已经被恶意软件感染;并且然后响应于关于所述第一设备已经被感染的所述确定而自动地调用用于对所述第一客户端设备的修复的反病毒服务,所述第一设备向所述反病毒服务注册。此外,所述指令还使所述处理器在所述远程云服务处确认对所述第一客户端设备的所述修复已经成功地完成。所述指令还使所述处理器:基于对所述第一文件的同步历史的检查来确定所述第一文件的受感染版本被初始提交以用于与所述远程云服务同步时的初始感染时间;并且通过(在所述远程云服务处)识别在所述初始感染时间之前被同步的所述第一文件的第一版本并且利用所述第一版本代替所述受感染版本而自动地恢复所述客户端设备上的所述第一文件。
7.提供该发明内容部分是为了以简化形式介绍构思的集合,在下文的具体实施方式中进一步描述这些构思。该发明内容部分并非意在识别所要求保护的主题的关键特征或基本特征,也并不意在用于限定所要求保护的主题的范围。此外,所要求保护的主题并不限于克服了在本公开的任何部分中所指出的任何或全部缺陷的实施方式。
附图说明
8.附图仅以举例方式而非限制方式绘示了根据本教导的一种或多种实施方式。在附图中,以相似的附图标记指示相同或相似的元件。此外,应当理解,附图未必是按比例绘制的。
9.图1a和图1b是自动修复和恢复的实施方式的概念性图示;
10.图2是图示了修复和恢复管理架构的实施方式的图示;
11.图3a和图3b是恶意软件攻击和对应的恶意软件检测的实施方式的概念性图示;
12.图4a和图4b是对设备感染的确认和对感染时间的确定的实施方式的概念性图示例示;
13.图5是自动修复过程的表示;
14.图6a和图6b是自动文件恢复过程的表示;
15.图7a是对用户设备的修复和恢复的发生的通知的实施方式的设备显示的表示;
16.图7b是用于调整针对用户设备的自动修复和恢复的用户偏好的用户界面的示例;
17.图8a和图8b是图示了用于自动修复和恢复的过程的实施方式的流程图;
18.图9是呈现自动修复和恢复过程的实施方式的流程图;
19.图10是可以被用于提供在本文中所描述的机制的实施方式的示例性计算设备的框图;并且
20.图11是图示了被配置为从机器可读介质读取指令的示例性机器的组件的框图。
具体实施方式
21.在下文的详细描述中,通过举例的方式阐述了许多具体细节,以便提供对相关教导的透彻理解。然而,应当显而易见的是,可以在没有这样的细节的情况下实践本教导。在其他情况下,在相对高的层次上描述了公知的方法、过程、组件和/或电路系统而未给出细节,以便避免对本教导的各个方面造成模糊。
22.以下描述公开了用于在电子内容项和计算设备被恶意软件感染之后进行修复的系统和方法。被攻击影响的(一个或多个)用户账户与为该用户账户对文件进行托管和同步的在线或基于云的存储系统相关联。内容管理系统被配置为接收关于所述电子内容项的信息,并且验证所述项中的一个或多个项是否已经有可能被恶意软件列为目标或者被其破坏。如果用户账户已经选择加入了或者以其他方式启用了自动修复服务,那么所述系统能够远程地确定所述客户端设备是否包含反病毒程序,并且然后自动地运行所述反病毒程序,以移除所述恶意软件。对所述设备的所述修复变成了由远程服务发起的完全自动的过程,并且能够既提供对受影响的设备的复原,又提供对受感染的文件的恢复。这样的主动修复措施能够减少潜在的数据丢失状况,使用户免于设备修理和文件破坏的负担,并且帮助使恶意软件移除中不完全或错误尝试的可能性最小化。
23.出于参考的目的,内容管理系统(cms)指代基于云的系统,用户能够通过所述基于云的系统来存储内容项,并且执行各种各样的内容管理任务,诸如取回、修改、浏览和/或共享所述内容项,并且使得用户能够从多个客户端设备访问所述内容。一般而言,用户能够通过被连接至网络的一个或多个客户端设备与cms进行交互。cms能够支持来自各种各样的不同客户端设备的连接,所述不同客户端设备诸如是台式计算机、移动计算机、移动通信设备(诸如移动电话、智能电话、平板电脑等)、智能电视、游戏设备、机顶盒、和/或任何其他启用网络的计算设备。cms能够被配置为同时地接受来自多个客户端设备的连接并且与这些客户端设备进行交互。典型地,用户通过与客户端侧应用的交互来使用cms,所述客户端侧应用被安装在客户端的设备上的或者经由第三方应用(诸如web浏览器应用)起作用并且被配置为与所述cms进行通信。
24.此外,作为一般性概念,术语“电子内容项”或“内容项”包括可以被呈现(例如,视觉地或听觉地呈现)的任何数字数据,包括但不限于:电子文档、媒体流、网页、超文本文档、图像、数字视频或视频记录、数字音频或音频记录、动画、数字消息、标记语言文档(诸如超文本标记语言(html)或可扩展标记语言(xml)文档)、具有接受输入的数据的空白构成部分的表单或者描述gui的应用的数据以及其他数字数据。另外,在本文中所使用的“项”能够包括电子设备上的任何文件夹、文件、目录或者数据对象。作为一个示例,项能够指代能够包括文档、照片、音乐文件和视频文件的目录“文件夹”。
25.此外,术语“软件应用”、“软件”或“应用”可以指代执行一般与计算机自身无关的
有用工作的计算机程序。软件应用的一些非限制性示例包括文字处理软件、电子表格、会计系统和电信程序以及游戏软件、实用程序和生产力工具、移动应用、演示图形和其他生产力软件。因此,本说明书通篇具体地以名称提及软件应用不应当被理解为限制对所提出的系统和方法的使用。
26.另外,同步能够指代通过通信网络将内容项从客户端设备上载至cms或者替代地通过通信网络将内容项从内容管理系统下载至客户端设备,其将在客户端设备和内容管理系统两者上得到经同步的内容库。应当理解,为了简单起见,在本文中所描述的示例将介绍在其中发生上载的情况。然而,在下文的描述中对“上载”的所有提及以及所介绍的基于上载的同步都的示例应当被理解为也涵盖同步事件涉及对电子内容的下载的情形。例如,客户端设备能够被配置为通过将被存储在客户端设备上的内容项上载至所链接的内容管理系统而使被存储在客户端设备上的内容项与cms上的关联账户同步。所述客户端设备还能够被配置为通过将被存储在所链接的内容管理系统上的内容项下载到所述客户端设备而对内容项进行同步。
27.以下实施方式描述了用于针对恶意软件对客户端设备、对应的操作系统和核心组件以及与所述设备相关联的数字内容进行监测和修复的方法。作为一般性概念,恶意软件指代已经被专门设计为破坏或干扰系统的软件(例如,恶意的软件或“恶意软件”),并且恶意软件损害计算机的操作系统的完整性。在日常的基础上,操作系统被设计为提供用于托管过程以及为这些过程提供系统服务的基础设施。这些操作系统通常提供基本的安全保护,包括对涉及系统资源的访问控制和所有权权利的增强。一些典型的保护性安全服务以主机防火墙、漏洞评估、补丁检测、行为阻止、主机或网络侵入检测和反病毒技术的形式出现。这些服务作为操作系统中的本地应用来运行。然而,尽管存在这些措施,但是所述设备操作系统有时还是不能够准确地确定其是否已经受到了攻击,或者延长了诊断这样的攻击所需的时间。作为一个示例,一旦某种形式的恶意代码或其他恶意软件攻击了计算机系统并且获得了必要水平的控制(例如,管理员级别的访问),那么所述操作系统为了确定其是否受到攻击所做的所有进一步尝试都将不再值得信任,因为针对这样的尝试的机制可能已经被破坏。
28.保护计算机系统以及其操作系统免受这样的损害涉及进一步安装安全应用,诸如反病毒软件、个人防火墙和侵入检测系统。即使在包括多个计算机系统的系统中,诸如在计算机网络或者按照阵列部署的计算机系统的群集中,每个个体计算机系统将运行其自己的一组安全应用。一般而言,这是由于网络或阵列中的每个计算机系统通常是具有其自己的网络附接、其自己的(一个或多个)中央处理单元以及其自己的操作系统实例的在物理上单独的实体。这些类型的安全应用可以被安装在每个计算机系统上,其目的在于防止所述设备以及其操作系统受到损害。然而,这样的安全应用可能也无法保护所述计算机系统,其部分原因在于——就像在所述计算机系统上运行的其他应用——其也易于受到攻击。
29.具体地,对于最终用户而言,勒索软件正在变得越来越周密并且越来越具有破坏性。勒索软件是一种感染设备并且拒绝用户访问所述设备上的计算机文件或数据的恶意软件。其通常要求支付“赎金”来作为允许用户访问其计算机文件或数据的回报。例如,勒索软件可以被用于对计算机文件或数据进行加密。在接收到赎金支付后,发送用于对所述文件或数据进行解密的密钥。勒索软件可能经由特洛伊木马被安装在计算机上,特洛伊木马是
伪装成合法文件、数据或程序的恶意软件文件。勒索软件还能够被嵌入在电子邮件附件和图片中。一种类型的勒索软件(“locker”)对计算机的整个硬盘驱动器进行加密,从而基本上针对用户把整个系统锁起来,而另一种类型(“crypto”)将仅对计算机上的具体的看起来重要的文件进行加密,诸如word文档、pdf和图像文件。这样的勒索软件总是不断演变,从而给客户端文件造成增加的损害并且给最终用户造成增加的压力。应当理解,尽管下文的公开内容可能出于以下示例的目的提及了具体类型的恶意软件(例如,勒索软件),但是本公开的益处并不限于此,并且能够针对很宽范围的恶意软件类型的诊断和处理来实施本公开。
30.还应当理解,以下公开内容可适用于在客户端设备上本地安装的、目的在于通过识别有害应用或其他可执行代码并且/或者移除或至少抵消所述有害代码从而对设备加以保护的所有类型的反病毒应用、反间谍软件应用以及其他反恶意软件应用。如下文将更详细讨论的,为了减少恶意软件对客户端设备的影响,在不同的实施方式中,cms能够为已经选择加入了自动修复和恢复服务(rrs)的用户账户提供或执行所述服务。rrs能够被配置为自动地检测恶意软件是否已经攻击了文件。作为响应,rrs能够远程地执行反病毒软件的本地实例,并且与客户端设备协作以使受到影响的文件返回到攻击前或感染前状态。rrs能够被配置为作为现有cms的扩展来操作或者作为在客户端设备上运行的代理扩展程序组件来操作。
31.在一些实施例中,rrs通过扫描经同步的文件来监测对用户文件的改变。当检测到对文件的改变时,所述系统能够确定所述文件是否受到了恶意改变(例如,删除、加密或者以其他方式破坏)。这样的确定能够基于许多种因素而发生,所述因素包括但不限于诸如以下的标准:(a)熵变化、(b)试探法、(c)用户行为的突然变化(例如,行为分析)、以及(d)被存储在云提供商的存储装置上或者被存储在客户端设备的存储装置上的蜜罐技术文件或者所述文件上的目录的变化。在一些实施例中,所述系统可以使用数据分析来帮助在合法变化与恶意变化之间进行区分。也可以应用各种机器学习技术,诸如支持向量机、贝叶斯网络、学习回归、神经网络、大数据分析、进化算法以及其他类似技术。能够收集各种文件特性,诸如文件变化的次数和频率、文件变化的位置、变化的模式(文件扩展名、文件标题、熵变化、文件类型)、用户信息(例如,组织或位置)以及其他特性,以辅助所述检测过程。
32.为了向读者更好地介绍所述系统和方法,图1a和图1b呈现了用于实施恶意软件修复和恢复管理系统(“系统”,也图2中被示意性地图示出)的代表性计算环境(“环境”)150的高层次示例。在不同的实施方式中,环境150能够包括一个或多个计算设备最终用户,或者简称“用户”。一个或多个用户能够与经由用户设备呈现的数据进行交互或者操纵所述数据。将对在图1a和图1b中所图示的各种特征和活动给出一般性描述,其中,将联系以后的附图给出额外的细节和示例。
33.作为示例,第一用户账户(“第一用户”)110正在利用第一设备120上的同步客户端应用(“同步客户端”)100来访问或者以其他方式共享数据。第一设备120可以是诸如台式计算机或膝上型电脑的个人计算机、移动设备、或者具有文件系统的任何其他计算机系统。第一设备120执行操作系统,诸如microsoftmac或者其他操作系统,并且包括存储器、存储装置、网络接口以及在图1a中为了清楚起见未图示出的其他计算机硬件。第一设备120经由其操作系统在其存储系统上创建、修改和/或删除文件,其中,在
本文中将对修改加以描述。另外,第一设备120包括一个或多个同步文件夹。在图1a中,仅示出了一个设备,但是任意数量的设备均可以经由同步服务来共享经同步的文件夹。例如,第一设备120能够被连接至服务器或者在线的或基于云的存储和计算服务(“云存储服务”)190,诸如cms。随着第一用户110经由第一设备120添加或修改电子内容,各种内容或文件可以通过网络连接在云存储装置中受到更新或保存。
34.因此,第一设备120允许第一用户110在客户端的本地文件系统上创建、修改和删除文件,并且cms——经由同步客户端100——允许那些动作与主机系统以及/或者一个或多个其他客户端计算机上的相同文件的版本同步。在一些实施方式中,用户可以创建文件夹并且将其指定用于同步。文件的内容部分地由同步客户端100来管理,以保持预期的同步频率或水平。一般而言,用户能够通过针对同步客户端100的本地控件或者经由web服务器来创建共享的经同步的文件夹,所述本地控件或web服务器能够为最终用户呈现用户界面,以识别将被同步的文件或者调整用户设置等。
35.一般而言,“界面”能够被理解为指代用于通过客户端应用向应用用户传送内容的机制。例如,界面可以包括可以经由本地应用用户界面(ui)被呈现给用户的弹出窗口、控件、可致动界面、交互式按钮或者可以通过本地应用ui被示出给用户的其他对象,以及对于用于呈现与那些本地控件相关联的内容的特定应用而言本地的机制。此外,“致动”或“致动事件”指代与经由界面的特定输入或应用的使用相关联的事件(或者具体的事件序列),其能够触发所述应用的显示的变化。可选择的或者可致动的选项或按钮被配置为接收用户输入并且触发这样的致动事件。
36.另外,“本地控件”指代用于通过客户端应用向应用用户传送内容的机制。例如,本地控件可以包括可以经由本地应用ui呈现给用户的可致动或可选择选项或“按钮”、触摸屏访问点、菜单项或者可以通过本地应用ui示出给用户的其他对象、较大界面的区段、以及对于用于利用那些本地控件呈现相关联的内容的特定应用而言本地的机制。术语“资产”指代可以与原始应用中的本地控件相关联地呈现的内容。因此,作为非限制性示例,资产可以包括处于可致动弹出窗口内的文本、与按钮或其他本地应用对象的交互式点击相关联的音频、与教导用户界面相关联的视频或者其他这样的信息呈现。
37.在图1a的示例中,同步客户端100能够提供ui,所述ui被配置为允许第一用户110选择或授权要与云存储服务190共享的文件夹或内容。然后,第一设备120能够上载或同步在与第一设备120相关联的存储器组件中可用的一项或多项电子内容。出于简单的目的,所述电子内容集合包括第一电子内容项(“第一项”)102,尽管在大多数情况下,将存在排队等候同步的多个电子内容项。第一项102能够与通过第一设备120上的同步客户端100变得可用的同步文件夹相关联。在一些实施方式中,操作系统能够发送消息,以指示已经发生了对经同步的文件夹的改变,以及已经发生了所述改变的所述文件夹的位置(路径)或者所述文件夹内的文件。由于所述文件夹是同步的,因而与每个项相关联的数据被传输至云存储服务190。
38.如下文将更详细讨论的,由于在同步账户会话112期间的第一时间104(大约3:00pm)处第一用户账户是同步的或者以其他方式与云存储服务190共享数据,因而可能存在关于一个或多个项或文件具有受到恶意软件影响或冲击的“征兆”或可能性的各种指示。在一些实施方式中,云存储服务190可以被配置为在发生同步期间或者在发生同步之后很快
检测这样的指示。例如,云存储服务190可以从第一设备接收针对一个或多个文件的同步数据,其指示第一设备与恶意软件造成感染的可能性相关联。
39.在图1a中,已经发生了这样的检测,其由警报触发器114来表示。换言之,在第一阶段130中,所述系统已经确定来自最近的同步账户会话112的一个或多个文件有可能反映指示由恶意软件造成的设备感染的损害。在不同的实施方式中,所述系统能够在第二阶段132中继续进行对感染的验证,在第二阶段中,能够发生对用户账户和相关联文件的更加彻底的检查。在一个示例中,所述系统能够基于对经由被安装在第一设备120上的同步客户端同步的文件中的一个或多个文件(在此是对第一项102)的损害确定恶意软件192已经攻击了第一设备120(即,存在对感染的确认或验证)。
40.在这样的情况下,所述系统能够尝试大致地确定感染初始是何时发生的以及感染的范围,如第三阶段134所表示的。该确定能够基于很宽范围的各种因素。在这种情况下,所述系统确定设备感染196开始于在2:00pm(参见第二时间194)处或者在2:00pm之后被同步的文件,其与最近(当前)同步会话之前大约一小时发生的同步会话相一致。在不同的实施方式中,基于该信息的一些或全部,所述系统能够发起自动修复。
41.现在参考图1b,云存储服务190能够在第四阶段136处向反病毒服务160传送或传输指令或请求162,以开始或执行设备修复过程。可以理解,反病毒服务160在修理时被安装在第一用户账户110上或者以其他方式与第一用户账户110一起注册。因此,在不同的实施方式中,所述系统能够包含一些规定,用于远程地并且自动地激活或执行与本地第一设备120相关联的软件或服务。在一些实施方式中,能够理解,仅有在获得了来自第一用户账户110的同意或授权(刚好在每个运行事件之前,或者在较早时间处获得的适用于所有或大部分未来感染确定的一般性同意)的那些情况下该过程才将发生。一旦反病毒服务160接收到请求162,就发生第五阶段138,在第五阶段138中,经由反病毒服务160修理第一设备120并且清除恶意软件。该修复会话170能够包括例如从受到影响的设备移除恶意软件(诸如勒索软件)和/或有可能对受到影响的设备重做映像。在一些实施方式中,所述系统能够将其修复会话170自动地扩展至与第一用户账户110相关联的多个设备,条件是发现其他设备也存储了(一个或多个)受损文件,而不仅仅是被首先识别出感染的第一设备110,由此确保所述用户账户作为整体是安全的。在一些实施方式中,这能够是同时发生的(即,针对该用户账户的多个受感染设备能够大致同时经历自动修复),可以是按顺序发生的(即,针对该用户账户的每个受感染的设备能够一个接一个地经历自动修复),或者最终用户能够为每个设备选择什么时候可接受用于自动修复的执行。
42.一旦第一设备110被修复,在一些实施方式中,所述系统就能够继续进行对受影响文件的自动恢复的发起。例如,在第五阶段140中,使第一项102反转回到第一项102的存在于尚未发生感染的时间点(如在图1a中的第三阶段134期间所确定的)上的版本(参见回滚循环180)。换言之,出于该示例的目的,所述系统能够使受影响文件从在3:00pm处反映的受损状态或状况返回或恢复到在2:00pm上存在的感染前状态(参见恢复点184)。该恢复能够相对于被存储在云存储服务中的文件和/或被存储在第一设备中的文件而发生。
43.可以意识到,在许多情况下,普通用户意识不到已经引起了对其设备或文件的恶意软件攻击的事件。因此,用户可能做出加剧问题或者以其他方式妨害其自身账户的安全性的行为。类似地,在用户变得意识到问题的情况下,他或她可能尝试发起恢复和修复,但
是难于应对成功地并且完整地完成恶意软件移除所需的许多精心安排的人工步骤。许多时候,用户可能在继续正常工作所需的程度上发起或完成了所述任务中的某些任务,但是仍然未意识到恶意软件继续存在于其设备上。在另一示例中,用户可能相信他们已经彻底净化了所述设备,但是实际上未能执行完成所述修复所必需的某一动作,并且接下来发现所述设备仍然不安全。作为一般性概念,自动修复会话将指代对一个或多个用户设备的远程地触发或发起的修复的实施。尽管在一些实施方式中,可能在修复之前向用户发出有关诊断和建议动作的通知或消息,并且/或者在修复开始之前要求用户向系统提供用户输入,但是在本文中所描述的总体过程被配置为按照基本上自动的方式发生,其中,用户能够在其设备处继续工作——并且如果希望的话——监测修理和恢复的进程,或者在修复和恢复会话发生时简单地从所述设备走开。
44.换言之,在确定设备已经被感染后,所述系统能够自动地采取步骤,以通过快速地发起对(一个或多个)受影响设备的修理以及对感染文件的恢复而对用户账户予以保护。为了进一步提供在本文中所描述的系统的使用和应用的背景,图2呈现了与云服务204和同步客户端220协同或相关联地操作的自动修复和恢复系统(“系统”)200的非限制性示例。在不同实施例中,同步上载集合(或者下载集合)的一个或多个文件能够包括能够被所述系统用于确定所述文件是否反映对所述客户端设备的感染的特点、属性或参数。作为一般性概念,“同步内容集”将被用于指代在未决的同步会话中排队进行同步的内容项。所述会话能够是按照预定间隔或者遵循特定触发事件自动发起的,或者能够是由用户人工发起的,并且能够包含一个文件、一个文件夹或者多个文件夹或目录。另外,“队列”指代针对特定文件的各先前版本的序列,所述各先前版本是紧随与云服务的多个同步事件之后生成的。
45.在图2中,同步客户端220被配置为监测同步进程,并且向被安装在客户端设备202上或者与其相关联的同步服务器系统传输同步内容。同步客户端220一般包括或访问同步项识别模块,所述同步项识别模块尤其被配置为识别将从同步客户端220同步到与云服务204相关联的同步文件存储装置270的一个或多个新同步项。例如,响应于数字内容项被创建或修改,能够生成相应的新同步项206并且将其提供给未决同步项模块,以供传输给云服务。在一些实施方式中,所述新同步项能够被添加到未决同步项队列中。所述未决同步项队列可以被配置为确定用于对未决同步项进行同步的顺序;例如,所述未决同步项队列可以被配置为从未决同步项中选择下一同步项。
46.在一些实施方式中,同步客户端220包括数据传送模块,所述数据传送模块被配置为从未决项队列取回同步项,从客户端内容存储装置230获得针对内容项(例如,文件)208的对应部分的数据,并且在上游内容项数据消息206中将所述数据经由(一个或多个)网络290传递至云服务或服务器系统204。在不同的实施方式中,恶意软件240可能攻击客户端设备202,并且在一些实施方式中,如在图2中所示的,恶意软件240能够引起对被存储在客户端内容存储装置230中的文件208的损害。当下一次经由同步客户端220与同步文件存储装置270同步这些文件208时,这些文件208能够被诊断模块280检查,诊断模块280能够确定损害的征兆或指示是否是设备感染的实际反映。
47.一般而言,云服务202被配置为接收内容数据(文件),以供存储到同步内容存储装置454中。服务器内容存储装置可以实施版本控制,以保存受到修改的或者删除的用户内容项的先前版本。在一些实施方式中,云服务204被配置为保持同步历史,下文将对此给出进
一步讨论。所述同步历史存储关于针对同步服务的用户的同步活动的信息。
48.另外,在一些实施方式中,同步内容存储装置270能够与能够检查针对经同步的文件的同步数据的诊断模块280进行通信和/或共享信息。在所述同步数据指示客户端设备202与恶意软件造成感染的可能性相关联的情况下,诊断模块280能够进一步确定或者确认客户端设备202已经被恶意软件感染。作为响应,修复控制器250能够自动地调用被安装在现在受感染的客户端设备202上的、与所述设备一起注册或者以其他方式与所述设备相关联的反病毒服务(参见反病毒组件210),以用于修复。在不同的实施方式中,该调用能够作为消息或指令而发生,所述消息或指令从修复控制器250并且可选地经由同步内容存储装置270传输至同步客户端220。然后,同步客户端220能够请求反病毒组件210发起针对客户端设备202的修复会话,以便移除感染并且修理所述设备。
49.在所述修复会话结束时,在一些实施方式中,云服务204能够确认或者以其他方式被配置为确定第一客户端设备的修复已经成功地完成。作为响应,恢复控制器260能够发起对(一个或多个)受破坏文件的自动恢复,其针对的是:(a)被存储在客户端设备202处的客户端内容存储装置230上的(一个或多个)文件的副本以及或者替代地(b)被存储在云服务204中的同步内容存储装置270上的副本。在一些实施方式中,诊断模块280能够通过识别(现在受损的)文件的作为恶意软件攻击之前发生的同步会话的结果的最近版本而促进恢复过程。在一些实施方式中,该识别能够遵循基于对第一文件的同步历史的检查对第一文件的受感染版本被初始提交以用于与远程云服务同步时的初始感染时间的确定。一旦已经确立了适当的回滚点,就能够利用所述文件的通过回滚版本232表示的未受损的版本来代替或者更新所述文件的受感染版本。
50.在不同的实施方式中,云服务204还能够包括或者有权访问用户账户信息模块212,用户账户信息模块212能够针对自动修复和/或自动恢复过程启用或者促进对任何所需的用户授权214或同意的验证。另外,消息发生器216能够与用户账户信息模块212协作,以识别通过用户账户指示的各种通知渠道,诸如电子邮件、经由社交媒体渠道的直接消息、即时消息传递消息和/或移动设备文本消息。消息发生器216能够发出用户通知476并且被配置为向用户发出关于恶意软件攻击的警告,在必要时获得来自用户的授权,和/或提供关于所述自动过程的更新。
51.现在参考在图3a-图7中所图示的序列,其呈现了实施恶意软件修复管理系统(“系统”)的情境的另一示例。从图3a开始,在第一天314(“22号星期一”)的第一时间312(“3:00pm”)经由第二设备320发起了第一同步会话(“第一会话”)310。在该第一会话310期间,同步文件夹324中的文件304被成功地同步,并且在第一会话310结束时,系统300未检测到任何恶意软件的指示(如由健康设备图标322所表示的)。在时间段302后,在接下来的第二天334(“24号星期三”)的第二时间332(“9:00am”)上,发起第二同步会话(“第二会话”)330。能够观察到,在时间段302期间的某一点上,第二设备320和/或登录到第二设备320中的用户账户的一个或多个文件变得被恶意软件326感染。在该情境下,出于提供示例的目的,将文件示为在勒索软件攻击328之后被“锁定”。应当理解,在一些实施方式中,在时间段302期间可能已经发生了在此未描绘的额外的或者多个同步会话。
52.在不同的实施方式中,恶意软件修复管理系统(“系统”)300能够被配置为随着与基于云的存储和计算服务(“云存储服务”)350对文件进行同步而保持对文件做出的变化的
最新了解,如在图3b中所表示的。在一些实施方式中,系统300能够在相对于在图3a中所示的事件的基本并行的过程期间评估和/或检查同步进程和对应数据。在图3b中,在第一会话310期间,系统300能够检测或者以其他方式获得第一组信息340,其指示文件当前反映了可能正常或未受损的状态342。然而,在第二会话330期间或者在第二会话330后,云存储服务350可以获得第二组信息360并且确定已经发生了客户端设备的可能感染362。例如,系统300可以检测正在被同步的文件中的一个或多个文件与各种指标或者可能的恶意软件征兆相关联。
53.接下来参考图4a,在不同的实现方式中,在该时间上或者在该时间左右(在第二会话330期间或者在第二会话330之后很快地),系统300能够发起对可能受损的文件以及被存储在云存储服务350上的、与用户账户414相关联的其他文件和数据412的评估、检查和/或评价416。如果在该评价416期间,系统300再次检测到异常或者其他不一致或指示恶意软件的信息,那么系统300被配置为确认客户端设备上的感染418的存在。
54.在一些实施方式中,在该评价416期间和/或在评价416后,系统300能够可选地进一步地基于其自己的所存储的用户同步历史继续进行更加深入或者全面的分析或诊断。例如,图4b描绘了一种可能的方案,系统300可以应用所述方案确定客户端设备初始在何时以及在哪一(些)文件上发生了感染。出于为读者举例说明的目的,沿着图4b的下部显示了单个(受影响)文件的多个先前同步的版本。每个文件版本对应于在不同时间上发生的不同同步会话。在图4b中,系统300针对用户的账户414发起对文件的检查,所述检查在时间上“倒行”,即从第二天334上的第二时间332(已知的“感染后”时段)向第一天314上的第一时间312(已知的“感染前”时段)进行。
55.在该过程期间,系统300能够评价例如在第一时段410期间同步的第一文件版本412、在第二时段420期间同步的第二文件版本422、在第三时段430期间同步的第三文件版本432、在第四时段440期间同步的第四文件版本442、在第五时段450期间同步的第五文件版本452、在第六时段460期间同步的第六文件版本462以及在第七时段470期间同步的第七文件版本472。如在图4b的上部附近以符号所表示的,在一些实施方式中,系统300可以确定在若干同步会话内(至少往回退到第四时段440)文件已经被破坏404。在一些实施方式中,系统300可以能够大致指出感染时间。在一种实施方式中,系统300能够建立在第五时段450处的感染边界406(例如,第五文件版本452),以便确保受破坏文件的明确划定或隔离。在一些实施方式中,系统300还可以大致地确定客户端设备的对应于该感染边界406的感染日456和感染时间454。在该时间之前,例如,在第六时间段460中以及更早时间上,文件(例如,第六文件版本462)被视为“干净”或正常。
56.在不同的实施方式中,响应于确定感染已经影响了与用户账户和设备相关联的(一个或多个)文件,所述系统可以自动地发起自动修复过程。在一些实施方式中,所述修复可以主要或完全地指向共享经同步的文件的设备,而在其他实施方式中,与所述用户账户相关联的若干个或所有设备都可以受到自动修复。在图5中,图示了对所得到的自动修复过程500的描绘。能够看到,在一些可选的实施方式中,用户520可以首先接收来自系统的自动请求512,其将通知用户520发生了感染,并且要求用户520提供对即将进行的自动修复过程500的授权、批准或确认。在该示例中,用户520经由第二设备320提供所请求的输入524。作为响应(在需要这样的输入的实施方式中),云存储服务500在初始修理时间502(10:00am)
上向反病毒提供商550传输请求或者以其他方式向其传送指令510。在这样的输入不必要的情况下,例如,当在该事件之前的时间上已经指示或记录了授权的情况下,自动修复过程500能够直接进行到对反病毒提供商550的远程执行。
57.出于该示例的目的,反病毒提供商550是用户520先前已经向其注册的本地安装或访问的应用,其被配置为修理第二设备320的由恶意软件攻击530导致的损害。在修理持续时间560内,第二设备320能够经历很宽范围的各种修复过程590,其包括但不限于:任何处理软件的安装、运行脚本、移除恶意代码的痕迹(同时使合法的或者未受破坏的文件保持原样)、隔离设备、促进远程访问、执行取证分析和/或对设备重做映像。一旦触发了基于客户端的恶意软件修理服务,(一个或多个)受影响的设备就能够在无需任何进一步的用户输入的情况下经历完全自动的时间点恢复。尽管在该示例中用户520被示为与第二设备320相邻,但是在其他示例中,所述用户在自动修复过程500的持续时间内可以位于别处(例如,不与所述设备一起呈现)。在一些其他情况下,用户520甚至可以使用第二设备的不受影响的资源在第二设备320上继续工作,同时对所述设备的自动恢复则继续发生,尽管可能存在一些间隔使所述过程请求用户“退后”,以允许机器修复工作不受干扰地继续进行,整个过程能够在无需用户的任何介入的情况下完成。所得到的修理后状态由安全符号580来表示。在该示例中,已经在修理持续时间560内发生的自动修复过程500大致在同一天的第二时间504(2:00pm)处完成。在其他实施方式中,所述过程能够在从数秒钟或数分钟到若干天不等的任何时间期限内发生。例如,如果在早期检测到感染,那么所述过程可能更为简短,而如果用户打断了所述过程或者恶意软件攻击更加严重,那么可能需要更多时间。一旦修理完成,那么所述系统可以接收或者以其他方式获得设备安全的信号540。在一些实施方式中,随后可以发起自动文件恢复过程,其中,将以较早的不受影响的文件版本代替或者恢复受破坏的文件版本。
58.接下来,参考图6a和图6b,其图示了自动数据恢复过程600的一种实施方式。在不同的实施方式中,云存储服务350包括或者能够访问文件的先前同步的版本650(如果有的话)。例如,基本上对于已经与用户的账户同步的每个数据项或文件,云存储服务350都可以包括在对该特定文件进行同步的过去同步会话期间对应于文件内容的多个版本。在图6a中,云存储服务350能够参考标示针对数据项602可用或者与其相关联的版本650的日志或目录,在此所述版本包括第一(初始)版本610、第二版本612、第三版本614、第四版本616、第五版本618、第六版本620、第七版本622、第八版本624、第九版本626、第十版本628、第十一版本630和第十二版本(最近或最新)版本632。在这种情况下,所述系统已经确定了存在文件破坏(参见感染边界406),其开始于第八版本624并且向前直至第十二版本632,而第八版本624以前的文件版本(即,第一版本到第七版本)则未受感染(参见未受损害状态342)。文件的恢复——例如,文件复原到相同文件的先前版本——能够涉及识别出所述文件的可用于复原的先前或最近的“安全”或未受破坏版本。在一种实施方式中,所述系统还能够通过发起账户状态的向第一文件被勒索软件影响的日期之前的时间的回滚而支持或提供额外的安全防护。换言之,尽管在一些实施方式中所述系统能够被配置为复原到刚好存在于感染之前的文件版本,以实现数据恢复的最大化,但是在一些其他实施方式中,所述系统能够发起包括“缓存”时段的回滚过程。该缓冲时段能够从感染时间往回延伸到更早时间,并且包含对文件的一个或多个安全版本进行同步的同步会话,以便完全地确保对文件的损害的
所有痕迹都被回滚。
59.在图6b中图示了这种类型的自动数据恢复过程600的一种可能的结果。在已经确定在对第八版本624进行同步的同步时段之后已经发生了破坏的情况下,回滚610在一些实施方式中能够取回或者复原到第七版本622,以实施恢复。在其他实施方式中,如在图6b中所示的,示出了恢复过程600的更“保守”的应用,其中,第七版本622被视为已经在感染状态与感染前状态之间的缓冲时段期间发生。在一些实施方式中,还能够由最终用户调整或选择对复原边界的选择(例如,缓冲时段应当扩展多宽或多大)。在这种情况下,回滚610替代性地涉及将第六版本620放到版本队列的“前面”,以使之作为所述文件的将被认为是安全的并且将可被用户访问的最近版本。第六版本620是恢复版本集合660的前端或者最当前版本。能够例如根据用户偏好从恢复版本集合660对文件的一组受损(或者有可能受损)版本670进行移除、隔离、隔绝、破坏或者以其他方式做出区分。在一些实施方式中,可以无限期地保持这些受损版本670,以防用户希望以后尝试进一步恢复仅在(一个或多个)文件的受损版本之一中可用的数据。
60.在所述自动修复和/或自动数据恢复过程期间或之后,在不同的实施方式中,可以向用户通知所述过程中的一个或多个阶段。这些通知能够是自动的,并且可以根据系统设置和/或用户偏好来传输。在图7a中示出了一个示例,在其中描绘了显示针对用户账户的电子邮件消息的用户界面700。尽管出于该示例的目的介绍了电子邮件消息,但是应当理解,在其他实施方式中,可以使用与用户的账户相关联的任何其他形式的通信来提供这样的信息,包括但不限于:文本消息、聊天消息、弹出窗口、自动电话呼叫、符号指示(在过程发生的同时简短地或者在多个时机上在显示器上示出)或者能够使用其他本地控件。在这种情况下,来自所述系统的电子邮件消息(“消息”)710被递送给链接至与受感染客户端设备相关联的用户账户的电子邮件账户。主题行722提示用户这是“文件恢复通知”。消息710包括主题概要730“在您的设备之一上检测到了勒索软件”。在一些实施方式中,消息710能够还包括具有(例如)诊断概要732的段落,诊断概要能够向用户通知检测到的(一个或多个)问题(“bruno您好,您的账户在2018年12月22日开始表现出可疑活动的迹象。我们确定231个文件似乎被勒索软件攻击所损害”)。在一种实施方式中,这能够跟随动作概要734,动作概要734能够描述被认为解决所述(一个或多个)问题所必需的步骤(“我们自动发起了修复以移除恶意软件并且将您的文件恢复到其感染前状态”)。此外,消息710能够包括状态概要736,由此将通知用户其(一个或多个)设备和数据的当前状态(“已经为您的账户清除了所检测到的恶意软件。您的本地设备上的受损害文件已经被回滚到了其感染前状态”)。在一些实施方式中,消息710还可以为用户提供一个或多个可选择的选项或链接,或者以其他方式提供有关用户可以如何获得额外的或者更多的详细信息的指导或建议。例如,消息710包括用于查看另外的细节的第一可选择选项760(“查看详细的进程报告”)以及用于访问或查看改变后的文件的第二可选择选项770(“检查恢复的文件”)。这样的选项还能够提供其他菜单界面或者允许用户导航至其他菜单界面,用户能够从所述菜单界面对其自动修复和恢复设置做出修改以及取消文件回滚(如果希望这样)。例如,用户可能希望选择退出自动过程的一个或多个步骤,选择加入其他服务以提高自动化,和/或请求经由不同机制提供通知。
61.参考图7b示出了用于调整用户偏好以及提供对自动修复和恢复过程的授权的用户界面708的一个示例。在这种情况下,用户界面708呈现了针对在上部区段758中的修复并
且在下部768中的恢复两者的选项。在上部区段中,为用户提供了用于授权或启用自动修复的第一可选择选项792。额外设置包括第一可选择子选项714(“一确认了恶意软件感染就执行?”)、第二可选择子选项716(“在我确认之前不运行以下过程:设备重做映像、设备重启、软件更新”)、第三可选择子选项718(“仅在以下时间修复:上午/下午/傍晚/夜间”)以及第四可选择子选项724(“仅在我未登录到设备时发起过程”)。在下部区段中,为用户提供了用于授权或启用自动恢复的第二可选择选项726。额外的设置包括第五可选择子选项728(“使用未受[恶意软件]影响的最近同步版本恢复?”)、第六可选择子选项744(“利用x小时缓冲时段前版本来恢复?”)、第七可选择子选项746(“仅在云服务器处恢复?”)和第八可选择子选项748(“仅在客户端设备上恢复?”)。应当理解,这些选项以及这些选项的一起示出的布置仅仅是出于举例说明的目的介绍的,并且许多其他可能的用户偏好设置或任务也是可能的,包括但不限于提供或调整更早相对于图1-图7a所描述的实施方式特征的那些设置或任务。
[0062]
应当理解,所公开的过程和系统能够既适用于企业环境又适用于消费者级别的实体,企业环境通常包括网络管理员和其他信息技术工作者,消费者级别的实体则频繁地成为恶意软件的目标以攻击其个人计算设备。这些自动过程允许个体对恶意软件攻击得到正确解决感到有信心,即使没有网管软件也如此。
[0063]
为了清楚起见,图8图示了用于为本地客户端设备提供自动修复和恢复服务(例如,经由远程云服务)的过程800的一种实施方式。在该示例中,第一阶段810包括针对一个或多个文件建立与客户端设备的同步会话。在第二阶段820中,与远程云服务相关联的系统可以基于文件的最近的或者一些新近的同步版本来检测可能的感染。如果系统在第三阶段822中能够确认客户端设备已经被恶意软件感染(“是”),那么过程800可以继续进行。如果没有感染,那么所述过程可以结束,或者返回,以在另一同步会话或文件同步的开始处发起。
[0064]
在第四阶段824中,所述系统能够确认与该同步会话相关联的用户账户是否已经对自动修复过程进行授权。如果授权不可用(“否”),那么可以在第五阶段826中传输请求以获得用户授权。在一些实施方式中,所述请求还可以包括有关感染的信息以供用户检查。如果在第六阶段828处未接收到授权(“否”),那么所述过程可以结束,或者返回以在另一同步会话或文件同步的开始处发起。然而,如果用户在第六阶段828处提供了其授权(“是”),或者如果在第四阶段824后授权已经可用,那么过程800能够在第七阶段830中继续,在所述第七阶段830中,云服务在本地客户端设备处远程地执行反病毒服务。在一些实施方式中,例如,如果所述反病毒服务出于某一原因不能够完成修复,那么用户可以通过完成人工修理而跟进。
[0065]
一旦设备修复完成(第八阶段840),那么所述系统能够在第九阶段850中确认与该同步会话相关联的用户账户是否授权了自动数据恢复过程。如果授权不可用(“否”),那么可以在第十阶段852中传输请求以获得用户授权。在一些实施方式中,所述请求还可以包括有关修复和即将到来的规划的恢复的信息以供用户检查。如果在第十一阶段854处未接收到授权(“否”),那么所述过程可以结束,或者返回以在另一同步会话或文件同步的开始处发起。然而,如果用户在第十一阶段854处提供了其授权(“是”),或者如果在第九阶段850后授权已经可用,那么过程800能够在第十二阶段860中继续,在所述第十二阶段860中,云服
务能够估计和/或确认感染是何时发生的和/或(一个或多个)受影响的文件的哪一版本是首先被破坏的。基于该确定,所述系统能够在第十三阶段870中将(一个或多个)受损害的文件版本自动地回滚到感染尚未发生的或者尚未造成损害的较早版本。数据恢复能够涉及云存储文件和客户端设备文件中的任一者或者这两者。一旦在第十四阶段880中完成,所述服务就可以在第十五阶段890中生成通知并且将其传达给所述用户账户。
[0066]
图9是图示了自动修复用户设备并且恢复针对所述用户设备的数据的方法900的实施方式的流程图。在图9的示例中,第一步骤910包括在同步会话期间在远程云服务处通过通信网络接收来自第一客户端设备的针对第一文件的同步数据,所述同步数据指示第一客户端设备与被恶意软件感染的可能性相关联。在第二步骤920中,方法900包括在所述远程云服务处响应于接收到所述同步数据而确定所述第一客户端设备已经被恶意软件感染。第三步骤930包括响应于关于所述第一设备已经被感染的所述确定而自动地调用用于对所述第一客户端设备的修复的反病毒服务,所述第一设备向所述反病毒服务注册。第四步骤940涉及在所述远程云服务处确认对所述第一客户端设备的所述修复已经成功地完成,并且第五步骤950包括基于对所述第一文件的同步历史的检查来确定所述第一文件的受感染版本被初始提交以用于与远程云服务同步时的初始感染时间。第六步骤960包括通过识别在初始感染时间之前同步的所述第一文件的第一版本并且利用所述第一版本代替受感染版本而恢复客户端设备上的第一文件。所述识别能够通过参考针对在云存储中所存储的所述特定文件的历史而在所述远程云服务处发生。
[0067]
在其他实施方式中,可以包括额外步骤。例如,在一些实施方式中,恶意软件能够是以下中的一种:勒索软件、间谍软件、广告软件、病毒或蠕虫。在另一示例中,反病毒服务可以被本地安装在第一客户端设备上。在一些实施方式中,所述第一版本对应于在初始感染时间之前被同步的第一文件的最近版本,而在其他实施方式中,所述第一版本对应于在比初始感染时间至少早预定缓冲时段而发生的同步会话期间被同步的第一文件的版本。
[0068]
在其他示例中,所述方法还包括通过使被存储在远程云存储装置中的受感染版本复原至所述第一版本而自动地所述恢复远程云存储装置内的第一文件的副本。另外,所述方法能够包括在所述远程云服务处接收来自与第一客户端设备相关联的用户账户的启用自动修复的授权,和/或在所述远程云服务处接收来自与所述第一客户端设备相关联的用户账户的启用对客户端设备上的文件的自动恢复的授权。在一些情况下,所述授权是在接收针对第一文件的同步数据之前获得的,而在其他情况下,所述授权是在确定第一客户端设备已经被恶意软件感染之后响应于来自远程云服务的请求而获得的。在一种实施方式中,所述方法还包括:在所述同步会话期间从所述第一客户端设备接收针对多个文件的同步数据;将所述多个文件的子集表征为已经被恶意软件损害;以及仅自动恢复所述多个文件的所述子集。
[0069]
如前文所指出的,为用户提供了一种机制,借助于这种机制能够更好地管理设备修复和电子内容恢复,提供所述机制的能力能够显著地提高工作流效率并且保护用户数据。通过检测到可能导致潜在数据损害的情形,所述自动系统能够允许用户在其日常计算使用中安心。通过使用该系统,用户能够继续从不同设备可靠地访问并且保持其电子内容的最近的安全版本,而不管恶意软件对其设备的攻击。另外,通过为用户提供遵循这些自动过程的通知,为用户给出了保持对其电子内容的状态的最新了解的机会,特别是在用户否
则可能一直意识不到攻击和/或文件复原的情形中。这种类型的方案能够有助于使用户对其电子内容的安全性和访问更具信心,并且/或者降低他们体验到数据丢失的可能性。由于恢复仅限于已经受恶意软件影响的那些文件,因而与标准修复过程相比所述的总体过程明显具有更低的侵入性,而且回滚掉用户做出的有意改变的可能性大大降低。这些过程还能够被配置为根据用户自身的偏好在对用户具有最低干扰的时间和时机上异步地发生。
[0070]
为了对本公开以及其益处举例说明,在文本中介绍了相对于图1-图9所描述的系统、设备和技术的详细示例。这样的示例使用不应当被理解为对本公开的逻辑过程实施构成限制,也不应当认为用户界面方法的相较于在本文中所描述的那些发生的变化处于本公开的范围之外。在一些实施方式中,在图1-图9中所描述的各种特征是在各自的模块中实施的,所述模块还可以被称为和/或包括逻辑单元、组件、单元和/或机制。模块可以构成软件模块(例如,被体现在机器可读介质上的代码)或硬件模块。
[0071]
在一些示例中,可以通过机械地、电子地或者其任何适当的组合来实现硬件模块。例如,硬件模块可以包括被配置为执行特定操作的专用电路系统或逻辑单元。例如,硬件模块可以包括专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件模块还可以包括由软件临时配置为执行某些操作的可编程逻辑单元或电路系统,并且可以包括机器可读介质数据和/或指令的用于这样的配置的部分。例如,硬件模块可以包括包含在由配置为执行软件指令集合的可编程处理器内的软件。将意识到,以机械方式,在专用和永久配置的电路系统中,或者在临时配置的电路系统(例如,通过软件配置的)中实施硬件模块的决定可以受到成本、时间、支持和工程设计考虑事项的推动。
[0072]
相应地,短语“硬件模块”应当被理解为涵盖能够执行特定操作的有形实体并且可以按照某种物理方式来配置或布置,这样的实体是物理构造的、永久配置的(例如,硬布线的)或者临时配置的(例如,编程的),从而按照特定方式操作或者执行在本文中所描述的特定操作。如在本文中所使用的,“硬件实施模块”指代硬件模块。考虑硬件模块被临时配置(例如,编程)的示例,不必在任何一个时刻上对硬件模块中的每个硬件模块都加以配置或实例化。例如,在硬件模块包括通过软件受到配置从而变成专用处理器的可编程处理器的情况下,所述可编程处理器可以在不同时间上被配置为各个不同的专用处理器(例如,包括不同硬件模块)。软件可以相应地配置特定的一个或多个处理器,使之(例如)在一个时刻上构成一个特定硬件模块,并在不同时刻上构成一个不同的硬件模块。使用处理器实施的硬件模块可以被称为是“处理器实施的”或者“计算机实施的”。
[0073]
硬件模块能够向其他硬件模块提供信息以及从其他硬件模块接收信息。相应地,所描述的硬件模块可以被看作是通信地耦合的。在同时存在多个硬件模块的情况下,可以通过硬件模块中的两个或更多个硬件模块之间的信号传输(例如,通过适当电路和总线)来实现通信。在多个硬件模块在不同时间上受到配置或实例化的实施方式中,例如,可以通过在所述多个硬件模块有权访问的存储器设备中存储和取回信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行一项操作并且将输出存储到一个存储器设备内,并且另一硬件模块之后可以访问所述存储器设备并且取回并处理所存储的所述输出。
[0074]
在一些示例中,方法的操作中的至少一些操作可以由一个或多个处理器或处理器实施模块来执行。此外,所述一个或多个处理器还可以通过操作用于支持相关操作在“云计算”环境中的执行或作为“软件即服务”(saas)来执行。例如,所述操作中的至少一些操作可
以由多个计算机(作为包括处理器的机器的示例)执行和/或在所述多个计算机中执行,其中,这些操作可经由网络(例如,因特网)和/或经由一个或多个软件接口(例如,应用接口(api))来访问。所述操作中的特定操作的执行可以分布于所述各处理器中,因而其不仅仅驻留在单个机器之内,而是跨若干机器部署。处理器或处理器实施模块可以位于单个地理位置上(例如,处于家庭或办公环境内或者处于服务器农场内),或者可以跨多个地理位置分布。
[0075]
图10是图示了示例性软件架构1002的框图1000,所述软件架构1002的各个部分可以与在本文中所描述的各种硬件架构结合使用,由此可以实施上文所描述的特征中的任何特征。图10是软件架构的非限制性示例,并且将意识到,可以实施许多其他架构来促进在本文中所描述的功能。软件架构1002可以在硬件上运行,所述硬件诸如是图1a的设备120,其尤其包括文档存储装置1070、处理器、存储器以及输入/输出(i/o)组件。例示了代表性硬件层1004,其能够表示(例如)图1的设备120。代表性硬件层1004包括处理单元1006和相关联的可执行指令1008。可执行指令1008表示软件架构1002的可执行指令,包括在本文中所描述的方法、模块等的实施。硬件层1004还包括存储器/存储装置1010,存储器/存储装置1010还包括可执行指令1008和附带数据。硬件层1004还可以包括其他硬件模块1012。由处理单元1008保存的指令1008可以是由存储器/存储装置1010保存的指令1008的部分。
[0076]
示例性软件架构1002可以被概念化成层,每个层提供各种功能。例如,软件架构1002可以包括诸如操作系统(os)1014、库1016、框架1018、应用1020和表现层1044的层和组件。从操作上来讲,应用1020和/或所述层内的其他组件可以调用对其他层的api调用1024并且接收对应的结果1026。所例示的层实质上是代表性的,并且其他软件架构可以包括额外的或者不同的层。例如,一些移动或专用操作系统可以不提供框架/中间件1018。
[0077]
os 1014可以管理硬件资源并且提供公共服务。os 1014可以包括(例如)内核1028、服务1030和驱动程序1032。内核1028可以起着硬件层1004和其他软件层之间的抽象层的作用。例如,内核1028可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务1030可以提供用于其他软件层的其他公共服务。驱动程序1032可以负责控制下层硬件层1004或者与其对接。例如,驱动程序1032可以包括显示器驱动程序、相机驱动程序、存储器/存储设备驱动程序、外围设备驱动程序(例如,经由通用串行总线(usb))、网络和/或无线通信驱动程序、音频驱动程序等,具体取决于硬件和/或软件配置。
[0078]
库1016可以提供可以由应用1020以及/或者其他组件和/或层使用的公共基础设施。库1016通常提供由其他软件模块用于执行任务的功能,而不是与os 1014直接交互。库1016可以包括系统库1034(例如,c标准库),其可以提供诸如存储器分配、字符串操纵、文件操作的函数。另外,库1016可以包括api库1036,诸如媒体库(例如,支持图像、声音和/或视频数据格式的呈现和操纵)、图形库(例如,用于在显示器上渲染2d和3d图形的opengl库)、数据库程序库(例如,sqlite或其他相关数据库函数)以及web库(例如,可以提供web浏览功能的webkit)。库1016还可以包括很宽范围的各种各样的其他库1038,以提供用于应用1020和其他软件模块的许多函数。
[0079]
框架1018(有时又被称为中间件)提供可以由应用1020和/或其他软件模块使用的更高级的公共基础设施。例如,框架1018可以提供各种图形用户界面(gui)函数、高级资源管理或者高级定位服务。框架1018可以提供用于应用1020和/或其他软件模块的很宽范围
的其他api。
[0080]
应用1020包括内置的应用1040和/或第三方应用1042。内置应用1040的示例可以包括但不限于:联系人应用、浏览器应用、定位应用、媒体应用、消息传送应用和/或游戏应用。第三方应用1042可以包括由特定平台的销售商之外的实体开发的任何应用。应用1020可以使用可经由os 1014、库1016、框架1018和表现层1044获得的函数来创建与用户交互的用户界面。
[0081]
一些软件架构使用虚拟机,如通过虚拟机1048所例示的。虚拟机1048提供运行环境,应用/模块可以在所述环境内运行,就像其在硬件机器(例如,图10的机器1000)上运行一样。虚拟机1048可以由主机os(例如,os 1014)或虚拟机管理程序托管,并且可以具有管理虚拟机1048的操作以及与主机操作系统的互操作的虚拟机监控程序1046。可以不同于虚拟机外的软件架构1002的软件架构在诸如os 1050、库1052、框架1054、应用1056和/或表现层1058的虚拟机1048内运行。
[0082]
图11是图示了被配置为从机器可读介质(例如,机器可读存储介质)读取指令并且执行在本文中所描述的特征中的任何特征的示例性机器1100的组件的框图。示例性机器1100具有计算机系统的形式,在所述计算机系统内可以运行用于使机器1100执行在本文中所描述的特征中的任何特征的指令1116(例如,具有软件组件的形式)。照此,可以使用指令1116实施在本文中所描述的模块或组件。指令1116可以使未受编程和/或未受配置的机器1100作为被配置为执行所描述的特征的特定机器工作。机器1100可以被配置为作为独立设备来操作,或者可以被耦合至(例如,联网至)其他机器。在联网部署中,机器1100可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份来操作,或者在对等或分布式网络环境中作为节点来操作。机器1100可以被体现为(例如)服务器计算机、客户端计算机、个人计算机(pc)、平板电脑、膝上型电脑、上网本、机顶盒(stb)、游戏和/或娱乐系统、智能电话、移动设备、可穿戴设备(例如,智能手表)和物联网(iot)设备。此外,尽管仅示出了单个机器1100,但是术语“机器”包括单独或者联合执行指令1116的机器的集合。
[0083]
机器1100可以包括处理器1110、存储器1130和i/o组件1150,其可以通过(例如)总线1102通信地耦合。总线1102可以包括通过各种总线技术和协议耦合机器1100的各种元件的多条总线。在示例中,处理器1110(例如,包括中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、asic或其适当组合)可以包括一个或多个可以执行指令1116并且处理数据的处理器1112a到1112n。在一些示例中,一个或多个处理器1110可以执行由一个或多个其他处理器1110提供或识别的指令。术语“处理器”包括具有若干核心的多核处理器,这些核心可以同时执行指令。尽管图11示出了多个处理器,但机器1100可以包括单个具有单一核心的处理器、单个具有多个核心的处理器(例如,多核处理器)、多个具有单一核心的处理器、多个具有多个核心的处理器或其任何组合。在一些示例中,机器1100可以包括分布于多个机器中的多个处理器。
[0084]
存储器/存储设备1130可以包括主存储器1132、静态存储器1134或者其他存储器以及存储单元1136,其均可被处理器1110访问(例如,经由总线1102)。存储单元1136和存储器1132、1134存储体现在本文中所描述的函数中的任何一者或多者的指令1116。存储器/存储设备1130还可以存储用于处理器1110的临时数据、中间数据和/或长期数据。指令1116在其执行期间还可以完全或部分地驻留在存储器1132、1134内,驻留在存储单元1136内,驻留
在处理器1110中的至少一个内(例如,命令缓冲器或高速缓冲存储器内),驻留在i/o组件1150中的至少一个内,或者驻留在其任何适当组合内。相应地,存储器1132、1134、存储单元1136、处理器1110内的存储器以及i/o组件1150内的存储器都是机器可读介质的示例。
[0085]
如在本文中所使用的,“机器可读介质”指代能够暂时或永久性地存储使机器1100按照特定方式工作的指令和数据的设备。如在本文中所使用的术语“机器可读介质”不包含瞬态电信号或电磁信号自身(例如,通过媒介传播的载波上的);术语“机器可读介质”因此可以被视为是有形并且非瞬态的。非瞬态有形机器可读介质的非限制性示例可以包括但不限于非易失性存储器(诸如闪速存储器或只读存储器(rom))、易失性存储器(诸如静态随机存取存储器(ram)或动态ram)、缓冲存储器、高速缓冲存储器、光学存储介质、磁性存储介质和设备、可网络访问的或者云存储设备、其他类型的存储设备以及/或者其任何适当组合。术语“机器可读介质”适用于用来存储指令(例如,指令1116)的单个介质或者多个介质的组合,所述指令供机器1100执行,因而所述指令当由机器1100的一个或多个处理器1110执行时使机器1100执行在本文中所描述的特征中的一者或多者。因此,“机器可读介质”可以指单个存储设备以及包括多个存储设备或设备的“基于云”的存储系统或存储网络。
[0086]
i/o组件1150可以包括很宽范围各种各样的硬件组件,这些组件适于接收输入,提供输出,产生输出,传输信息,交换信息,捕获测量结果等。包含在特定机器中的具体i/o组件1150将取决于机器的类型和/或功能。例如,移动设备(例如,移动电话)可以包括触摸输入设备,而无外设服务器或iot设备则可以不包括这样的触摸输入设备。图11中所示的i/o组件的特定示例不以任何方式构成限制,并且其他类型的组件可以被包含到机器1100内。对i/o组件1150的分组只是为了简化该讨论,并且所述分组不以任何方式构成限制。在各种示例中,i/o组件1150可以包括用户输出组件1152和用户输入组件1154。用户输出组件1152可以包括(例如)用于显示信息的显示组件(例如,液晶显示器(lcd)或投影仪)、声学组件(例如,扬声器)、触觉组件(例如,振动马达或力反馈设备)以及/或者其他信号发生器。用户输入组件1154可以包括被配置为接收各种用户输入(诸如命令和/或选择)的(例如)字母数字输入组件(例如,键盘或触摸屏)、定点组件(例如,鼠标设备、触控板或其他定点工具)和/或触觉输入组件(例如,物理按钮或者提供触摸或触摸手势的位置和/或力的触摸屏)。
[0087]
在一些示例中,i/o组件1150可以包括生物识别组件1156和/或位置组件1162,连同很宽范围的其他环境传感器组件。生物识别组件1156可以包括(例如)用以进行以下操作的组件:检测身体表达(例如,面部表情、声音表达、手势或身体姿势或者眼部跟踪),测量生物信号(例如,心率或脑电波),以及对人进行识别(例如,通过语音、视网膜和/或面部的识别)。位置组件1162可以包括(例如)位置传感器(例如,全球定位系统(gps)接收器)、海拔高度传感器(例如,气压传感器,可以由其推导海拔高度)和/或取向传感器(例如,磁强计)。
[0088]
i/o组件1150可以包括通信组件1164,所述通信组件实施很宽范围的各种各样的可用于经由相应的通信耦合1172和1182将机器1100耦合至网络1170和/或设备1180的技术。通信组件1164可以包括一个或多个网络接口组件或者其他与网络1170对接的适当设备。通信组件1164可以包括(例如)适于提供以下通信的组件:有线通信、无线通信、蜂窝通信、近场通信(nfc)、蓝牙通信、wi-fi和/或经由其他模态进行的通信。设备1180可以包括其他机器或者各种外围设备(例如,经由usb耦合的)。
[0089]
在一些示例中,通信组件1164可以检测标识符或者包括适于检测标识符的组件。
例如,通信组件1164可以包括射频识别(rfid)标签读取器、nfc检测器、光学传感器(例如,一维或多维条形码或者其他光学码)和/或声学检测器(例如,传声器,以识别带标签的音频信号)。在一些示例中,可以基于来自通信组件1162的信息确定位置信息,诸如但不限于通过互联网协议(ip)地址得到的地理位置、通过wi-fi、nfc、蓝牙或其他无线站点以及/或者信号三角测量得到的位置。
[0090]
尽管已经描述了各种实施方式,但是这些描述意在举例说明而非构成限制,并且应当理解,在所述实施方式的范围内,许多其他实施方式也是可能的。尽管特征的许多可能组合在附图中被示出并且在该详细描述中被讨论,但是所公开特征的许多其他组合也是可能的。除非有具体限制,否则任何实施方式的任何特征都可以与任何其他实施方式中的任何其他特征或元素组合使用或被其替代。因此,应当理解,可以按照任何适当的组合一起实施本公开中示出和/或讨论的特征中的任何特征。相应地,除非考虑所附权利要求及其等价方案,否则所述实施方式不受任何限制。而且,可以在所附权利要求的范围之内做出各种修改和变化。
[0091]
尽管上文描述了被视为最佳模式和/或其他示例的内容,但是应当理解,可以在其中做出各种修改,并且可以按照各种形式和示例实施本文公开的主题,而且所述教导可以被用到许多应用中,本文仅描述了其中一些。以下权利要求意在主张对落在本教导的实质范围以内的任何及所有应用、修改和变化的权利保护。
[0092]
除非另行指出,否则本说明书(包括随后的权利要求)中阐述的所有测量结果、值、比例、位置、大小、尺寸和其他规格都是大致的而非精确的。其意在具有与其涉及的功能以及其所属领域中惯常做法相容的合理范围。
[0093]
保护范围仅受现在所附加的权利要求的限制。所述范围意在并且应当被解释为具有与权利要求中使用的语言的普通含义(在考虑本说明书和随后的审查历史解释时)一致的宽度,并且涵盖所有的结构和功能等价方案。尽管如此,没有任何权利要求意在涵盖不能满足专利法第101、102或103节的要求的主题,也不应通过这样的方式对其进行解释。对这样的主题的任何无意涵盖在此都被放弃主张。
[0094]
除了上文刚刚表述过的,否则已经表述或例示的任何内容都不意在或者不应当被解释为导致任何组件、步骤、特征、对象、益处、优点或等价方案被奉献给公众,无论其是否在权利要求中被述及。
[0095]
应当理解,在本文中所使用的术语和表达具有相对于其研究和学习的对应领域而赋予这样的术语和表达的一般含义,除了本文以其他方式阐述了特定含义之外。关系术语,例如第一和第二等可以唯独用于将一个实体或动作与另一实体或动作区分开,而未必要求或暗示这样的实体或动作之间有任何实际这样的关系或顺序。术语“包括”、“包含”或者其任何其他变化旨在涵盖非排他性地包括,使得包括所列举要素的过程、方法、制品或设备不仅包括这些要素,还可以包括这样的过程、方法、制品或设备的未明确列举的或非固有的其他要素。在没有其他约束条件的情况下以单数冠词修饰的要素不排除包括所述要素的过程、方法、制品或设备中存在额外的等同要素。
[0096]
提供说明书概要是为了允许读者快速了解技术公开的实质。提交所述概要的前提是,不应当采用其解释或限制权利要求的范围和含义。此外,在前面的具体实施方式部分中,能够看到,在各示例中将各种特征分组在一起,以使本公开流畅。不应将本公开的这种
方法解释为反映如下意图:权利要求需要比每个权利要求中明确援引的更多特征。相反,如下述权利要求所反映的,本发明的主题所依托的特征可以少于单个所公开示例的所有特征。因此,在此将以下权利要求结合到具体实施方式部分中,其中每个权利要求自身代表独立主张权利的主题。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献