具体实施方式
本发明整体涉及用于基于用户行为确定恶意下载风险的系统和方法。如将在下文更详细地阐述,通过使用良性下载行为来预测未来的恶意下载行为的风险,本文描述的系统能够在用户受到感染之前保护高风险用户,收集关于高风险用户下载习惯的有价值信息,并且/或者保护组织免受其成员的高风险行为的危害。
下面将参考图1、图2和图5提供基于用户行为来确定恶意下载风险的示例性系统的详细描述。也将结合图3至图4提供相应计算机实现的方法的详细描述。此外,将分别结合图6和图7提供能够实现本文所述实施方案中的一者或多者的示例性计算系统和网络体系结构的详细描述。
图1是用于基于用户行为确定恶意下载风险的示例性系统100的框图。如该图所示,示例性系统100可包括用于执行一个或多个任务的一个或多个模块102。例如,并且如将在下文更详细地阐述,示例性系统100可以包括识别模块104,该模块识别处于恶意下载高风险的一组用户以及处于恶意下载低风险的一组用户。示例性系统100可以另外包括确定模块106,该模块确定该组高风险用户所共有并且不是该组低风险用户所共有的高风险下载行为模式。示例性系统100还可以包括分析模块108,该分析模块分析未分类用户在预定义时间段内的下载行为,以将该下载行为分类为高风险或低风险。示例性系统100可以另外包括分类模块110,该模块响应于确定未分类用户的下载行为落入高风险下载行为模式的预定义相似度阈值内,将未分类用户分类为高风险用户。尽管被示为独立元件,但图1中的模块102中的一者或多者可表示单个模块或应用程序的部分。
在某些实施方案中,图1中的模块102中的一者或多者可表示一个或多个软件应用程序或程序,所述软件应用程序或程序在被计算设备执行时,可使计算设备执行一个或多个任务。例如,以及如将在下面更加详细地描述,模块102中的一者或多者可表示存储在一个或多个计算设备上并且被配置为在所述计算设备上运行的软件模块,所述计算设备诸如图2中的计算设备202、图6中的计算系统610和/或图7中的示例性网络体系结构700的部分。图1中的模块102中的一者或多者还可表示被配置为执行一个或多个任务的一台或多台专用计算机的全部或部分。
如图1所示,示例性系统100还可包括一个或多个数据库,诸如数据库120。在一个示例中,数据库120可以被配置为存储先前识别的下载行为的模式,诸如高风险下载行为模式122。数据库120可表示单个数据库或计算设备的组成部分或者多个数据库或计算设备。例如,数据库120可表示图6中的计算系统610和/或图7中的示例性网络架构700的一部分。另选地,图1中的数据库120可表示能够通过计算设备访问的一个或多个物理独立设备,诸如图6中的计算系统610、和/或图7中的示例性网络体系结构700的部分。
图1中的示例性系统100可用多种方式来实现。例如,示例性系统100的全部或一部分可表示图2中的示例性系统200的部分。如图2所示,系统200可包括计算设备202。在一个示例中,计算设备202可用模块102中的一者或多者进行编程和/或可存储数据库120中的数据的全部或一部分。
在一个实施方案中,来自图1的模块102中的一者或多者在被计算设备202的至少一个处理器执行时,使得计算设备202基于用户行为确定恶意下载风险。例如,以及如将在下面更加详细地描述,识别模块104可识别处于恶意下载高风险的一组用户210和处于恶意下载低风险的一组用户208。接下来,确定模块106可确定由该组高风险用户210所共有并且不是该组低风险用户208所共有的高风险下载行为模式122。在稍后时间,分析模块108可分析未分类用户212在预定义时间段内的下载行为,以将该下载行为分类为高风险或低风险。最后,分类模块110可响应于确定未分类用户212的下载行为落入高风险下载行为模式122的预定义相似度阈值内,将未分类用户212分类为高风险用户。
计算设备202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。计算设备202的示例包括而不限于笔记本电脑、平板电脑、台式机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、游戏控制台、这些设备中一个或多个的组合、图6中的示例性计算系统610或任何其他合适的计算设备。
图3是用于基于用户行为来确定恶意下载风险的计算机实现的示例性方法300的流程图。图3中示出的步骤可通过任何合适的计算机可执行代码和/或计算系统来执行。在一些实施方案中,图3中示出的步骤可通过图1中的系统100、图2中的系统200、图6中的计算系统610和/或图7中的示例性网络体系结构700的部分的组件中的一个或多个执行。
如图3所示,在步骤302处,本文所述系统的一者或多者可识别处于恶意下载高风险的一组用户和处于恶意下载低风险的一组用户。例如,作为图2中的计算设备202的一部分,识别模块104可识别处于恶意下载高风险的一组用户210和处于恶意下载低风险的一组用户208。
这里使用的术语“恶意下载”通常是指可能在计算设备上执行不需要的动作的任何类型的文件、脚本和/或应用程序。在一些示例中,恶意下载可包括一份恶意软件和/或下载一份恶意软件的应用程序。恶意下载可能是由用户有意或无意地发起的。恶意下载的示例包括但不限于病毒、键盘记录器、木马、间谍软件和/或垃圾软件。
识别模块104可以以各种方式识别一组高风险用户和一组低风险用户。例如,识别模块104可通过在预定义下载监视时间段内监视一组未分类的用户的下载行为来识别该组高风险用户和该组低风险用户。在本示例中,识别模块104可将在预定义下载监视时间段期间计算设备感染恶意软件的用户分类为高风险用户,并将在预定义下载监视时间段期间计算设备未感染恶意软件的用户分类为低风险用户。识别模块104可通过使用任何类型的恶意软件检测应用程序来识别受感染的用户。除此之外或另选地,识别模块104可将任何作为网络攻击的目标的用户(诸如鱼叉式网络钓鱼电子邮件的目标)分类为高风险用户。
在一些实施方案中,识别模块104可仅将用户分类为高风险和低风险两种风险类别。在其他实施方案中,识别模块104可将用户连续地分类,诸如从无风险到极高风险。例如,识别模块104可将完全无下载活动的用户归类为无风险,将具有若干下载活动但不会遇到恶意软件的用户归类为低风险,将下载单份相对无害的恶意软件(例如,充斥广告的浏览器工具栏)的用户归类为中等风险,将下载多份恶意软件的用户归类为高风险,并且/或者将下载大量恶意软件的用户归类为极高风险。除此之外或另选地,识别模块104可以使用数字分数诸如用户在给定时间段期间下载恶意软件的百分比对用户进行分类。
在步骤304处,本文所述系统的一者或多者确定由该组高风险用户所共有并且不是该组低风险用户所共有的高风险下载行为模式。例如,作为图2所示计算设备202的一部分,确定模块106可确定由该组高风险用户210所共有并且不是该组低风险用户208所共有的高风险下载行为模式122。
这里使用的术语“下载行为”通常是指其中来自外部来源的文件被复制和/或创建在计算设备上的任何实例。在一些实施方案中,下载行为可以指从互联网下载的文件和/或文件夹。下载行为可以由用户例如通过点击链接发起,或者由已经在用户设备上的文件诸如自动下载更新的应用程序发起。下载行为的模式可以包括信息诸如何时下载文件,下载了多少文件,从哪里下载文件,将文件下载到哪里,关于下载文件的元数据和/或与文件下载相关的任何其他信息。
确定模块106可通过多种方式确定高风险下载行为模式。例如,确定模块106可以分析低风险用户的下载行为,分析高风险用户的下载行为,并且将在高风险用户中普遍但在低风险用户中罕见的任何下载行为分类为高风险下载行为模式。高风险下载行为模式可以包括由确定模块106发现的一些或全部高风险下载行为。在一些实施方案中,当计算高风险下载行为模式时,确定模块106可以给予不同的下载行为不同的权重。在一个实施方案中,确定模块106可以使用机器学习算法来确定高风险下载行为模式。例如,确定模块106可以使用支持向量机器来确定高风险下载行为模式。
在一些实施方案中,确定模块106可以通过查看用户计算机上的文件的属性来检测高风险下载行为模式。这里使用的术语“文件”可以指代文件的代码和/或元数据,文件的名称,和/或文件的任何唯一表示,诸如文件的散列和/或指纹。
在一个实施方案中,高风险下载行为模式可包括由高风险用户使用来下载文件的计算设备上的文件的总数。在一些示例中,确定模块106可检查计算设备上的文件的总数和/或在下载监视时间段期间下载到计算设备的文件的总数。确定模块106还可以检查文件的其他特性,诸如文件的大小,文件的信誉和/或文件的类别。例如,确定模块106可以确定下载落在预定义信誉得分阈值以下的一个或多个文件是高风险下载行为。在另一个示例中,确定模块106可确定下载“赌博应用程序”类别中的文件比下载“软件开发应用程序”类别中的文件更加危险。文件类别的其他示例包括但不限于计算机安全工具、文件共享应用程序、工程工具、交易工具、多媒体应用程序和/或游戏应用程序。在一些实施方案中,确定模块106可以至少部分地基于文件的签名者来确定文件的类别。
在一些实施方案中,高风险下载行为模式可包括由高风险用户使用来下载文件的计算设备上的至少一个文件,并且该文件出现在其他用户所使用的计算设备上的频率低于预定义频率阈值。例如,如果在小于1%的由其他用户使用的计算设备上找到文件,则确定模块106可以确定下载该文件是高风险下载行为。在另一个示例中,如果在超过50%的其他用户所使用的计算设备上找到某文件,则确定模块106可确定下载该文件不是高风险下载行为。在一个示例中,确定模块106可确定定期下载出现在少于10%其他用户的计算设备上的文件的用户大部分落入高风险用户类别,并且因此预定义频率阈值为10%。
除此之外或另选地,高风险下载行为模式可包括在由高风险用户使用来下载文件的计算设备上下载至少一个文件的时间戳。在一些示例中,文件可以在特定时间诸如当应用程序更新或当恶意软件应用程序联系控制服务器时自动下载。在这些示例中,确定模块106可以确定合法应用程序可能在不同于恶意软件应用程序的时间下载更新。在其他示例中,定期在不同时间从互联网下载文件的用户可具有关于应用程序类别的不同下载模式。例如,用户不太可能在正常工作时间下载感染恶意软件的赌博应用程序。在一个示例中,确定模块106可以确定定期在凌晨2点下载文件的用户下载恶意文件的风险高,而通常仅在上午9点到下午5点之间下载文件的用户下载恶意文件的风险较低。在这个示例中,确定模块106可以确定深夜下载文件是高风险的下载行为。
在一些实施方案中,确定模块106可以通过检查用户最初下载文件、存储下载的文件和/或执行下载的文件的文件路径来确定高风险下载行为模式。在一个实施方案中,高风险下载行为模式可包括由高风险用户使用来下载文件的计算设备上的不同文件路径的总数。例如,确定模块106可以确定在单个下载目录(例如,其浏览器的默认下载目录)中存储所有下载的文件的用户比下载文件到不同目录的用户的恶意下载风险更高。在另一个示例中,确定模块106可确定将多个文件下载到相同的几个目录的用户(例如,通过从相同的信誉良好的发布者下载多个不同应用程序)比下载多个文件到多个不同目录的用户的恶意下载风险更低。
在一些示例中,高风险下载行为模式可包括应用于高风险用户使用来下载文件的计算设备上的至少一个不同文件路径的信誉得分,并且该信誉得分低于预定义信誉得分阈值。例如,确定模块106可确定将文件下载到低信誉文件路径“C:\Program Files\MalwareDistributorsInc”的用户处于恶意下载的高风险。
在其他示例中,高风险下载行为模式可包括由高风险用户使用来下载文件的计算设备上的至少一个不同文件路径,并且该文件路径出现在其他用户所使用的计算设备上的频率低于预定义频率阈值。由于文件路径经常根据发布者而分离,因此不太常见的文件路径可能指示用户正在从不知名且可能不太有信誉的发布者处下载文件。在一个示例中,确定模块106可确定定期将文件下载至出现在少于5%其他用户的计算设备上的文件路径的用户大部分落入高风险用户类别,并且因此预定义频率阈值为5%。
除此之外或另选地,高风险下载行为模式可包括在由高风险用户使用来下载文件的计算设备上创建至少一个不同文件路径的时间戳。确定模块106可以以类似于确定模块106做出关于文件下载时间的确定的方式来做出关于文件路径创建时间的确定,如上面更详细地解释的。
在一些实施方案中,确定模块106可以周期性地更新高风险下载行为模式。在这些实施方案中,识别模块104可以识别处于恶意下载高风险的一组新的用户,并且确定模块106可响应于该组高风险用户和该组新的高风险用户之间的至少一项下载行为的变化,更新高风险下载行为模式。例如,确定模块106可以确定先前的良性文件路径“C:\ProgramFiles\Malicious Toaster Games Inc”现在具有低于预定义信誉得分阈值的信誉,并且因此下载到该目录现在应被认为是高风险的下载行为。在另一个示例中,确定模块106可以基于在该组新的高风险用户中观察到的下载行为,确定多产的恶意软件的命令和控制服务器现在在格林威治标准时间凌晨3点发送下载文件的命令,而不是凌晨12点。在这个示例中,确定模块106可以确定在格林威治标准时间凌晨12点的文件下载应该比先前的高风险下载行为模式内的权重更低,同时作为高风险下载行为模式的一部分,在格林威治标准时间凌晨3点的文件下载应分配更高的权重。
在一些实施方案中,该组新的高风险用户可能与该组原始高风险用户重叠。在其他实施方案中,该组新的高风险用户可以由先前未被监视的全新用户组成。图4是用于基于用户行为来确定恶意下载风险的示例性方法400的流程图,其示出了通过监视用户来创建和改进高风险下载行为模式的周期。如图4所示,在步骤402处,本文所述系统可以监视一组用户在预定义时间段内的下载行为。预定义时间段可以是一周、一个月、几个月和/或任何其他合适的时间段。在步骤404处,本文所述系统可以将感染了恶意软件的用户分类为高风险用户,并将未感染的用户分类为低风险用户。在一些实施方案中,只有在监视周期期间感染恶意软件的用户,本文所述系统才会将他们分类为高风险。在其他实施方案中,如果监视周期开始时用户即已感染恶意软件,则本文所述系统即可将其分类为高风险。在步骤406处,本文所述系统可以确定由高风险用户所共有的高风险下载行为。在一些实施方案中,本文所述系统可以使用机器学习算法来确定高风险下载行为模式。在步骤408处,本文所述系统可以继续监视所有用户。然后本文所述系统可以返回到步骤406,重新适当地分类用户。例如,感染恶意软件的低风险用户可能被重新分类为高风险用户。在步骤410处,本文所述系统可开始监视一组新的用户。在一些示例中,本文所述系统可以通过具有可用于分析的更大的用户和下载行为的样本大小,发现关于构成高风险下载行为的附加数据。
返回图3,在步骤306处,本文所述的一个或多个系统可分析未分类用户在预定义时间段内的下载行为,以将下载行为分类为高风险或低风险。例如,作为图2所示计算设备202的一部分,分析模块108可分析未分类用户212在预定义时间段内的下载行为,以将该下载行为分类为高风险或低风险。。
分析模块108可以通过多种方式分析未分类用户的下载行为。例如,分析模块108可将用户的下载行为与高风险下载行为模式进行比较以检测相似性。在一些实施方案中,分析模块108可以实时收集下载行为,在下载发生时记录关于每个新文件下载的信息。在其他实施方案中,分析模块108可以以预定义间隔收集下载行为。例如,每个小时,分析模块108可以记录关于在过去一小时内已下载的所有新文件的数据。
在步骤308处,响应于确定未分类用户的下载行为落入高风险下载行为模式的预定义相似度阈值内,本文所述系统的一者或多者将未分类用户分类为高风险用户。例如,作为图2所示计算设备202的一部分,分类模块110可响应于确定未分类用户212的下载行为落入高风险下载行为模式122的预定义相似度阈值内,将未分类用户212分类为高风险用户。
分类模块110可以通过多种方式分类用户。例如,如果用户的行为与高风险下载行为模式有90%相似,则分类模块110可以将用户分类为高风险。在另一个示例中,如果用户的下载行为的加权分数超过危险下载行为的最小阈值,则分类模块110可将用户分类为高风险。除此之外或另选地,分类模块110可以通过使用机器学习技术将用户分类为高风险。
在一些实施方案中,分类模块110可不定期地重新对用户进行分类。在一个实施方案中,分析模块108可周期性地分析分配了风险类别的先前分类用户在附加的预定义时间段内的附加下载行为,以将该下载行为分类为高风险或低风险。在这个实施方案中,分类模块110可响应于确定先前分类用户的下载行为已关于高风险下载行为模式而改变,调整先前分类用户的所分配风险类别。例如,以前的低风险用户可能已经改变了他们的下载行为模式,从而更加接近于高风险下载行为模式,并且现在可能是高风险用户。在另一个示例中,先前的高风险用户可能已经减少了他们的危险下载行为,并且现在可能是低风险用户。在一些示例中,如果用户的新下载行为模式比先前更高,则分类模块110可以在风险类别(诸如中等风险和高风险)之间移动用户。在一些实施方案中,分析模块108可以按照设定的时间间隔(诸如每月一次)重新分析用户的行为,并且分类模块110可以在每个间隔结束时调整用户的类别。
在一些实施方案中,本文所述系统可以响应于分类模块110将用户分类为高风险来执行一个或多个安全动作。图5是用于基于用户行为确定恶意下载风险并采取适当安全动作的示例性计算系统500的框图。如图5所示,模块102可以分析用户502在计算设备504上的下载行为,并且可以将用户502的分类发送到安全模块506。安全模块506可以与安全系统508和/或属于组织510的计算设备进行通信。
安全模块506可以采取多个不同的动作。在一些示例中,安全模块506可以增加用户502的安全态势,以降低用户502感染恶意软件的风险。例如,安全模块506可以增加对计算设备504的防火墙、垃圾邮件过滤器和/或其他类似应用程序的设置的限制。在另一个示例中,安全模块506可以建议和/或安排在计算设备504上进行更频繁的反病毒扫描。在一些示例中,安全模块506可以在计算设备504上推荐和/或安装附加的安全应用程序。除此之外或另选地,安全模块506可以向用户502显示关于其危险下载行为的警告。
在一些示例中,安全模块506可以增加组织510的安全态势,以降低组织510所使用的计算设备因用户502的高风险下载行为而感染恶意软件的风险。例如,安全模块506可以限制来自计算设备504的流量,以防止恶意软件传播到组织的其余部分。在另一个示例中,安全模块506可在组织510所使用的计算设备上推荐和/或安装附加的安全应用程序。除此之外或另选地,安全模块506可增加对组织510所使用的防火墙、路由器、垃圾邮件过滤器和/或其他类似系统的设置的限制。在一些实施方案中,只有当属于组织510的被分类为高风险用户的用户数量超过预定义阈值时,安全模块506才会增加组织510的安全态势。例如,只有当组织510内至少有10%的用户被归类为高风险用户时,安全模块506才会增加组织510的安全态势。在一些示例中,安全模块506可向组织510内的管理员识别用户502和/或组织510内的任何其他高风险用户。
除此之外或另选地,安全模块506可以收集关于用户502的附加数据,以提高高风险下载行为模式在预测恶意软件感染时的准确性,并且/或者提高附加恶意软件感染预测系统的准确性。例如,安全模块506可收集关于用户502的浏览习惯和/或计算设备504的配置的数据。在一些实施方案中,模块102可使用附加数据来更好地将未来用户分类为低风险或高风险。除此之外或另选地,安全模块506可将附加数据发送到安全系统508。在一些实施方案中,安全系统508可以包括使用与模块102不同的数据和/或不同的算法的恶意软件感染预测算法。在其他实施方案中,安全系统508可以包括安全应用程序,该安全应用程序可以保护计算设备504和/或计算设备504所连接的网络,并且基于关于用户502的行为的数据来调整它们的功能。
如以上结合方法300所描述的,本文所述系统和方法通过使用用户的下载行为来预测这些用户感染恶意软件的风险,可以帮助保护用户和/或组织免受恶意软件的侵害。本文所述系统可以监视一组初始用户,以构建关于构成危险下载行为的真实数据集合,然后通过不断地收集关于用户下载行为和后续恶意软件感染率的信息来继续改进该数据。然后本文所述系统可以使用关于危险下载行为的数据,基于用户的下载行为来预测未分类用户遇到恶意软件的可能性。通过准确地预测哪些用户将在不久的将来有意或无意地下载恶意软件,本文所述的系统可以使安全系统能够进行调整以更好地保护用户和组织。
图6为能够实现本文描述和/或例示的实施方案中的一个或多个的示例性计算系统610的框图。例如,计算系统610的全部或一部分可单独地或与其他元件结合来执行本文所述的步骤中的一个或多个(诸如图3所示的步骤中的一个或多个)和/或作为用于执行其的装置。计算系统610的全部或一部分也可执行本文描述和/或例示的任何其他步骤、方法或过程和/或作为用于执行其的装置。
计算系统610在广义上表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统610的示例包括而不限于:工作站、笔记本电脑、客户端方终端、服务器、分布式计算系统、手持设备或任何其他计算系统或设备。在其最基本的配置中,计算系统610可包括至少一个处理器614和系统存储器616。
处理器614通常表示能够处理数据或解译和执行指令的任何类型或形式的物理处理单元(例如,硬件实现的中央处理单元)。在某些实施方案中,处理器614可接收来自软件应用程序或模块的指令。这些指令可使处理器614执行本文描述和/或例示的一个或多个示例性实施方案的功能。
系统存储器616通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器616的示例包括而不限于:随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器或任何其他适用的存储器设备。尽管不是必需的,但在某些实施方案中,计算系统610可包括易失性存储器单元(诸如,例如,系统存储器616)和非易失性存储设备(诸如,例如,主存储设备632,如下详述)两者。在一个示例中,图1的模块102中的一个或多个可加载到系统存储器616中。
在某些实施方案中,除处理器614和系统存储器616之外,示例性计算系统610还可包括一个或多个组件或元件。例如,如图6所示,计算系统610可包括存储器控制器618、输入/输出(I/O)控制器620和通信接口622,它们中的每一个都可经由通信基础结构612互连。通信基础设施612通常表示能够促进计算设备的一个或多个组件之间的通信的任何类型或形式的基础结构。通信基础设施612的示例包括而不限于:通信总线(诸如工业标准体系结构(ISA))、外围组件互连(PCI)、PCI Express(PCIe)或类似的总线)和网络。
存储器控制器618通常表示能够处理存储器或数据或者控制计算系统610的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施方案中,存储器控制器618可通过通信基础结构612来控制处理器614、系统存储器616和I/O控制器620之间的通信。
I/O控制器620通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,在某些实施方案中,I/O控制器620可控制或促进计算系统610的一个或多个元件之间的数据传输,所述元件是诸如处理器614、系统存储器616、通信接口622、显示适配器626、输入接口630和存储接口634。
通信接口622在广义上表示能够促进示例性计算系统610与一个或多个另外设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施方案中,通信接口622可促进计算系统610与包括另外计算系统的专用或公共网络之间的通信。通信接口622的示例包括但不限于:有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器和任何其他合适的接口。在至少一个实施方案中,通信接口622可通过与网络(诸如互联网)的直接链接来提供与远程服务器的直接连接。通信接口622还可通过例如局域网(诸如以太网网络)、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其他合适的连接来间接提供此类连接。
在某些实施方案中,通信接口622还可表示主机适配器,该主机适配器被配置为通过外部总线或通信信道来促进计算系统610与一个或多个另外网络或存储设备之间的通信。主机适配器的示例包括但不限于:小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、电气与电子工程师协会(IEEE)1394主机适配器、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)和外部SATA(eSATA)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口622还可允许计算系统610参与分布式或远程计算。例如,通信接口622可接收来自远程设备的指令或将指令发送到远程设备以供执行。
如图6所示,计算系统610还可包括至少一个显示设备624,该显示设备通过显示适配器626耦合到通信基础结构612。显示设备624通常表示能够以可视方式显示显示适配器626转发的信息的任何类型或形式的设备。类似地,显示适配器626通常表示被配置为转发来自通信基础结构612(或来自帧缓冲器,如本领域所已知)的图形、文本和其他数据以在显示设备624上显示的任何类型或形式的设备。
如图6所示,示例性计算系统610还可包括经由输入接口630联接到通信基础结构612的至少一个输入设备628。输入设备628通常表示能够向示例性计算系统610提供输入(由计算机或人生成)的任何类型或形式的输入设备。输入设备628的示例包括而不限于:键盘、指示设备、语音识别设备或任何其他输入设备。
如图6所示,示例性计算系统610还可包括主存储设备632和经由存储接口634联接到通信基础结构612的备份存储设备633。存储设备632和633通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备632和633可为磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口634通常表示用于在存储设备632和633与计算系统610的其他组件之间传输数据的任何类型或形式的接口或设备。在一个示例中,图1的数据库120可存储在主要存储设备632中。
在某些实施方案中,存储设备632和633可被配置为对被配置为存储计算机软件、数据或其他计算机可读信息的可移除存储单元执行读取和/或写入。合适的可移除存储单元的示例包括但不限于:软盘、磁带、光盘、闪存存储器设备等。存储设备632和633还可包括允许将计算机软件、数据或其他计算机可读指令加载到计算系统610内的其他类似结构或设备。例如,存储设备632和633可被配置为读取和写入软件、数据或其他计算机可读信息。存储设备632和633还可为计算系统610的一部分,或者可为通过其他接口系统进行访问的独立设备。
可将许多其他设备或子系统连接到计算系统610。相反地,无需图6中示出的所有组件和设备都存在,亦可实践本文描述和/或例示的实施方案。上文提及的设备和子系统也可通过不同于图6所示的方式互连。计算系统610也可采用任何数量的软件、固件和/或硬件配置。例如,本文所公开的一个或多个示例性实施方案可被编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。如本文所用,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括而不限于:传输型介质(诸如载波)和非暂态型介质(诸如磁存储介质,例如,硬盘驱动器、带驱动器和软盘)、光存储介质(如,光盘(CD)、数字视频盘(DVD)和蓝光光盘)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。
可将包含计算机程序的计算机可读介质加载到计算系统610中。然后可将计算机可读介质上存储的全部或部分计算机程序存储在系统存储器616和/或存储设备632和633的各个部分中。当由处理器614执行时,加载到计算系统610中的计算机程序可使处理器614执行执行本文描述和/或例示的示例性实施方案中的一者或多者的功能和/或用于执行其的装置。除此之外或另选地,可在固件和/或硬件中实现本文描述和/或例示的示例性实施方案中的一者或多者。例如,计算系统610可被配置为用于实现本文所公开的示例性实施方案中的一个或多个的专用集成电路(ASIC)。
图7为示例性网络体系结构700的框图,其中客户端系统710,720和730以及服务器740和745可联接到网络750。如上文所详述,网络体系结构700的全部或一部分可执行单独地或与其他元件结合来执行本文所公开的步骤中的一个或多个(诸如图3所示的步骤中的一个或多个)和/或用于执行其的装置。网络体系结构700的全部或一部分也可用于执行本公开中阐述的其他步骤和特征和/或用于执行其的装置。
客户端系统710,720和730通常表示任何类型或形式的计算设备或系统,诸如图6中的示例性计算系统610。类似地,服务器740和745通常表示被配置为提供各种数据库服务和/或运行某些软件应用程序的计算设备或系统,诸如应用程序服务器或数据库服务器。网络750通常表示任何电信或计算机网络,包括例如内联网、WAN、LAN、PAN或因特网。在一个示例中,客户端系统710,720和/或730和/或服务器740和/或745可包括图1的系统100的全部或一部分。
如图7所示,一个或多个存储设备760(1)-(N)可直接附接到服务器740。类似地,一个或多个存储设备770(1)-(N)可直接附接到服务器745。存储设备760(1)-(N)和存储设备770(1)-(N)通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施方案中,存储设备760(1)-(N)和存储设备770(1)-(N)可表示被配置为使用各种协议(诸如网络文件系统(NFS)、服务器消息块(SMB)或通用互联网文件系统(CIFS))与服务器740和745进行通信的网络附接存储(NAS)设备。
服务器740和745也可连接到存储区域网络(SAN)架构780。SAN架构780通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或体系结构。SAN架构780可促进服务器740和745与多个存储设备790(1)-(N)和/或智能存储阵列795之间的通信。SAN架构780还可通过网络750以及服务器740和745以这样的方式促进客户端系统710,720和730与存储设备790(1)-(N)和/或智能存储阵列795之间的通信:设备790(1)-(N)和阵列795呈现为客户端系统710,720和730的本地附接设备。与存储设备760(1)-(N)和存储设备770(1)-(N)相同,存储设备790(1)-(N)和智能存储阵列795通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。
在某些实施方案中,并参照图6的示例性计算系统610,通信接口(诸如图6中的通信接口622)可用于在每个客户端系统710,720和730与网络750之间提供连接。客户端系统710,720和730可能能够使用例如网页浏览器或其他客户端软件来访问服务器740或745上的信息。此类软件可允许客户端系统710,720和730访问由服务器740、服务器745、存储设备760(1)-(N)、存储设备770(1)-(N)、存储设备790(1)-(N)或智能存储阵列795托管的数据。尽管图7示出了使用网络(诸如互联网)来交换数据,但本文描述和/或例示的实施方案并非仅限于互联网或任何特定的基于网络的环境。
在至少一个实施方案中,本文所公开的一个或多个示例性实施方案中的全部或一部分可被编码为计算机程序并加载到服务器740、服务器745、存储设备760(1)-(N)、存储设备770(1)-(N)、存储设备790(1)-(N)、智能存储阵列795、或它们的任意组合上并加以执行。本文所公开的一个或多个示例性实施方案中的全部或一部分也可被编码为计算机程序,存储在服务器740中,由服务器745运行,以及通过网络750分配到客户端系统710,720和730。
如上所详述,计算系统610和/或网络架构700的一个或多个组件可执行和/或作为一种方式用于单独或与其他元件结合来执行用于基于用户行为确定恶意下载风险的示例性方法的一个或多个步骤。
虽然上述公开内容使用特定框图、流程图和示例阐述了各种实施方案,但每个框图组件、流程图步骤、操作和/或本文描述和/或例示的组件可使用多种硬件、软件或固件(或其任何组合)配置单独和/或共同地实现。此外,包含在其他组件内的组件的任何公开内容应当被视为在本质上是示例性的,因为可实施许多其他体系结构来实现相同功能。
在一些示例中,图1中的示例性系统100的全部或一部分可表示云计算环境或基于网络的环境的部分。云计算环境可通过互联网提供各种服务和应用程序。这些基于云的服务(例如软件即服务、平台即服务、基础结构即服务等)可通过网页浏览器或其他远程接口进行访问。本文所述的各种功能可通过远程桌面环境或任何其他基于云的计算环境提供。
在各种实施方案中,图1中的示例性系统100的全部或一部分可促进基于云的计算环境内的多租户应用。换句话讲,本文所述的软件模块可配置计算系统(例如,服务器)以促进本文所述功能中的一个或多个的多租户应用。例如,本文所述软件模块中的一个或多个可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作系统、处理系统和/或存储系统。本文所述模块中的一个或多个还可为每个顾客分割多租户应用程序的数据和/或配置信息使得一个顾客不能访问另一个顾客的数据和/或配置信息。
根据各种实施方案,图1中的示例性系统100的全部或一部分可在虚拟环境中实现。例如,本文所述模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常指由虚拟机管理器(例如,管理程序)从计算硬件中抽象出来的任何操作系统环境。除此之外或另选地,本文所述的模块和/或数据可在虚拟化层内驻留和/或执行。如本文所用,术语“虚拟化层”通常指覆盖操作系统环境和/或从操作系统环境中抽象出来的任何数据层和/或应用层。虚拟化层可由软件虚拟化解决方案(例如,文件系统过滤器)管理,软件虚拟化解决方案将虚拟化层呈现为就好像它是底层基本操作系统的一部分。例如,软件虚拟化解决方案可将最初定向至基本文件系统和/或注册表内的位置的调用重定向至虚拟化层内的位置。
在一些示例中,图1中的示例性系统100的全部或一部分可表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实现,这些设备包括移动电话、平板电脑、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等),等等。在一些示例中,移动计算环境可具有一个或多个区别特征,包括(例如)对电池供电的依赖、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、(例如,由全球定位系统、陀螺仪、加速度计等提供的)位置和移动数据、限制对系统级配置的修改和/或限制第三方软件检查其他应用程序的行为的能力的受限平台、限制应用程序的安装的控制装置(例如,仅安装来源于经批准的应用程序商店的应用程序),等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。
此外,图1中的示例性系统100的全部或一部分可表示一个或多个信息管理系统的部分,与一个或多个信息管理系统交互,使用由一个或多个信息管理系统产生的数据和/或产生被一个或多个信息管理系统使用的数据。如本文所用,术语“信息管理”可指数据的保护、组织和/或存储。信息管理系统的示例可包括但不限于:存储系统、备份系统、存档系统、复制系统、高可用性系统、数据搜索系统、虚拟化系统等。
在一些实施方案中,图1中的示例性系统100的全部或一部分可表示一个或多个信息安全系统的部分,产生受一个或多个信息安全系统保护的数据和/或与一个或多个信息安全系统通信。如本文所用,术语“信息安全”可指对受保护数据的访问的控制。信息安全系统的示例可包括而不限于:提供受管理的安全服务的系统、数据丢失防护系统、身份认证系统、访问控制系统、加密系统、策略遵循系统、入侵检测与防护系统、电子发现系统等等。
根据一些示例,图1中的示例性系统100的全部或一部分可表示一个或多个端点安全系统的部分、与一个或多个端点安全系统通信和/或受一个或多个端点安全系统保护。如本文所用,术语“端点安全”可指保护端点系统免遭未经授权和/或非法使用、访问和/或控制。端点保护系统的示例可包括而不限于:反恶意软件系统、用户认证系统、加密系统、保密系统、垃圾邮件过滤服务,等等。
本文描述和/或例示的过程参数和步骤序列仅通过举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不一定需要按例示或讨论的顺序来执行。本文描述和/或例示的各种示例性方法也可省略本文描述或例示的步骤中的一个或多个,或除了所公开的那些步骤之外还包括另外步骤。
虽然在全功能计算系统的背景中描述和/或例示了各种实施方案,但这些示例性实施方案中的一个或多个可作为各种形式的程序产品来分配,而不顾及用于实际执行分配的计算机可读介质的特定类型。本文所公开的实施方案也可使用执行某些任务的软件模块来实现。这些软件模块可包括脚本、批文件或可存储在计算机可读存储介质上或计算系统中的其他可执行文件。在一些实施方案中,这些软件模块可将计算系统配置为执行本文所公开的示例性实施方案中的一个或多个。
此外,本文所述的模块中的一个或多个可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所述模块中的一者或多者可接收要转换的下载数据,将该下载数据转换成下载行为模式,将转换结果输出到数据库,使用转换结果确定恶意下载风险,以及将转换结果存储到数据库。除此之外或另选地,本文所述模块中的一个或多个可通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器、和/或物理计算设备的任何其他部分从一种形式转换为另一种形式。
提供前面描述的目的是使本领域的其他技术人员能够最好地利用本文所公开的示例性实施方案的各种方面。该示例性描述并非旨在是详尽的或局限于所公开的任何精确形式。在不脱离本发明精神和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应当参考所附权利要求及其等同形式来确定本发明的范围。
除非另有说明,否则在本说明书和权利要求中使用的术语“连接到”和“联接到”(以及其衍生形式)应该理解为允许直接和间接(即,经由其他元件或组件)连接。此外,在本说明书和权利要求中使用的术语“一个”或“一种”应当理解为表示“…中的至少一者”。最后,为了易于使用,在本说明书和权利要求中使用的术语“包括”和“具有”(以及其衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。