将活动动作应用于频繁的活动的制作方法

文档序号:7779147阅读:401来源:国知局
专利名称:将活动动作应用于频繁的活动的制作方法
将活动动作应用于频繁的活动背景技术
在计算领域内部,很多场景都涉及一组可以执行涉及一个或多个资源的多种不同活动(activity)的用户。作为第一个示例,网络文件系统的用户可以访问多种不同的文件,例如创建、读取、变更、删除、命名或重命名以及执行多种不同的文件。作为第二个示例, 媒体共享服务的用户可以上传、下载、查看或与其他用户共享一个或多个媒体对象,例如文档、图像和音频和/或视频记录。作为第三个示例,社交媒体网络(social media network) 用户可以创建引用多种不同资源的消息,例如用统一资源标识符(URI)标识的可通过因特网访问的资源。在这种活动中涉及的资源可以被设备存储起来(例如,文件服务器允许用户对存储在其中的文件执行多种不同活动)。可替换地,用户可以执行涉及那些未被设备存储的资源的活动,其中该举例来说,所述资源可以是其他设备存储的资源的URI (例如对诸如网站提供的网页或其他对象服务器存储的对象之类的外部资源的引用)。发明内容
本发明内容是为了以简化的形式引入在以下的具体实施方式
中将进一步描述的精选概念而被提供的。本发明内容的目的既不是识别所要求保护主题的关键因素或必要特征,也不是用来限制所要保护的主题的范围。
在用户执行涉及一个或多个资源的活动的场景中,识别出频繁的活动可能是合意的。一些这样的活动可以包括合意或非合意活动(例如与朋友共享不受限制的歌曲记录,或者以一种与限制相反的方式来共享受到限制的记录)。相应地,可能合意的是,将设备(例如文件服务器、媒体共享服务或web服务器)配置成监视用户的活动,以便检测出涉及一组特定资源的频繁活动(例如频繁地上传文件服务器存储的特定文件或一组文件;频繁地查看媒体共享服务共享的特定媒体项;和/或频繁地引用发送给其他用户的消息内部的特定资源)。这种监视可以是有利的,由此可以响应于频繁的活动来应用某种活动动作(activity action)。作为第一个示例,如果实施例在一组用户中检测到频繁和合意的活动,那么该实施例可以自动将该活动识别成是在用户之间是流行的。作为第二个示例,如果实施例在一组用户之中检测到频繁但却非合意的活动(例如发送垃圾电子邮件消息或包含或引用恶意软件(malware)的电子邮件消息),那么该实施例可以自动限制该活动(例如通过阻止 (block)该活动的执行)、执行该活动的一个或多个用户(例如通过中止(suspend)或取缔 (ban)该用户)和/或该活动所涉及的一个或多个资源(例如通过阻止访问或删除一个或多个这样的资源)。这样一来,响应于由用户执行并且涉及一个或多个资源的频繁活动,这些技术的实施例可以自动或者在用户的帮助下应用适当的活动动作。
为了实现前述和相关目的,以下描述和附图阐述了某些说明性的方面及实施方式。然而,这些描述和附图仅仅指示了可以使用一个或多个方面的多种不同方式中的少量方式。当结合附图考虑时,从以下详细描述中可以清楚了解本公开的其他方面、优点和新颖特征。


图1是特征在于由一组用户来执行一组涉及服务的多种不同资源的活动的例示场景的例图。
图2是特征在于将设备配置成根据这里描述的技术来检测涉及服务的多种不同资源的频繁用户活动以及向它们自动应用活动动作的例示场景的例图。
图3是图示了用于评估涉及资源的用户活动的例示方法的流程图。
图4是图示了用于评估涉及资源的用户活动的例示系统的组件框图。
图5是包括被配置成实施这里阐述的一个或多个规定的处理器可执行指令的例示计算机可读介质的例图。
图6是特征在于依照签名生成器生成的签名来识别资源的例示场景的例图。
图7是特征在于将活动的存储和评估分布在诸如包括服务器群的一组服务器之类的一组组件上的例示场景的例图。
图8是特征在于将多种不同的活动动作应用于多种不同的用户、资源和活动的例示场景的例图。
图9图示了其中可以实现这里阐述的一个或多个规定的例示计算环境。
具体实施方式
现在将参考附图来描述所要求保护的主题,其中相同的参考数字始终用于指示相同的元件。出于说明目的,在以下描述中阐述了很多的具体细节,以便提供对所要求保护主题的全面理解。但是很明显,所要求保护的主题也可以在没有这些具体细节的情况下实施。 在其他实例中,为了便于描述所要求保护的主题,结构和设备是以框图形式显示的。
在计算领域内部,很多场景都涉及一组用户,并且这些用户可以执行涉及一个或多个资源的一个或多个活动。作为第一个示例,文件系统的用户(例如计算机的本地文件系统的用户组,访问网络文件系统内的文件的用户组,或者访问诸如文件传输协议(FTP)服务器或web服务器之类的远程文件服务器的用户组)可以执行与一个或多个文件相关的多种不同活动,例如创建、读取、变更、删除、命名或重命名、重新定位或是执行一个或多个文件。 作为第二个示例,媒体共享服务(例如图像数据库、文档数据库或音频和/或视频流传输服务)的用户可以执行与媒体对象相关的多种不同活动,例如上传、下载、流传输或删除媒体对象。作为第三个示例,社交媒体网络的用户可以执行关联于与其他用户共享的对象的多种不同活动,例如张贴寻址到一个或多个联系人的公共或私有消息,其中所述消息可以包括对诸如网站网页之类的一个或多个对象的引用(例如统一资源标识符(URI))。在这些以及其他示例中,向这种用户提供服务的设备可以被配置成从用户那里接收执行多种不同活动的请求,并且可以代表用户来对一个或多个资源执行此类活动。
图1给出了一个例示场景10的例图,其中该例示场景特征在于服务16的一组用户,所述服务包括一组资源18,例如由文件系统或FTP服务器提供的一组文件、由媒体共享服务器提供的一组媒体对象、或由文档服务器提供的一组文档。服务16可以由设备20提供,其中该设备例如可以是在工作站计算机、台式计算机、笔记本计算机或媒体设备上运行的服务器进程。服务16的用户12可以执行涉及一个或多个资源18的一个或多个活动14。 例如,第一用户12可以执行读取活动14以便访问第一资源18 ;第二用户12可以执行存储操作来存储第一资源18以及第二资源18 ;以及第三和第四用户12可以执行存储操作而在服务16中存储第三资源18和第四资源18。设备20可以被配置成记录这种活动14,例如将其记录在服务器日志中,其中每一个记录都识别关于活动14的特定特性(trait),这其中包括活动14中涉及的用户12 (例如用户12用以发布执行活动14的请求的网际协议(IP) 地址)和/或资源16。这样一来,提供服务16的设备20可以接收、评估和满足对包括服务 16的资源18执行活动14的请求。
图1的例示场景10涉及对活动14进行记录。这些记录可以例如由设备20的管理员检查,以便监视用户12与服务16的交互。这种监视处理可以帮助管理员改进服务16 的质量(例如通过识别性能瓶颈或是升级设备20的时机)和/或注意和评估恶意用户的非合意活动(例如通过追踪恶意用户12对服务16的资源18执行的活动14)。但是,在很多场景中(例如常规的web服务器),设备20未被配置成评估用户12请求的活动14。相反,设备 20可以被配置成仅仅记录活动14,以及代表用户12执行被请求的动作。
然而,可能合意的是,将设备20配置成评估对一个或多个资源18执行的活动14 的模式,以及响应于频繁执行且涉及一组特定资源18的活动14来自动执行一个或多个动作。活动14既可以包括合意的活动,例如用户12在媒体共享服务中共享流行的媒体对象, 也可以包括非合意活动,例如用户12上传令人不快的内容项(例如不恰当的照片)或是诸如传播病毒或蠕虫之类的恶意软件。由此,在检测到涉及一组特定资源18的特定的频繁活动14时,设备20可以被配置成响应于活动14自动执行动作。作为第一个示例,对于频繁共享流行的媒体对象之类的合意活动,设备20可以执行鼓励活动14的动作,例如将这个媒体对象添加到服务16存储的流行媒体对象列表中,通过为所述媒体对象的共享分配附加资源来改善性能(例如将媒体对象存储在高性能缓存中),或是奖励执行活动14的一个或多个用户12。相反,对于诸如上传或访问非合意对象之类的非合意活动14来说,设备20可以检测这种活动14的频率,并且可以应用一个或多个阻碍(discourage)该非合意活动14的活动动作。这种活动动作可以对执行活动14的用户12执行(例如警告或取缔执行活动14 的用户12),对在活动14中涉及的资源18执行(例如检查、限制访问、替换或删除资源18) 和/或对活动14执行(例如阻止执行活动14的尝试或降级设备20在执行活动14时的性能)。这种活动动作还可以被先发制人地、当前、追溯地应用;例如对于涉及上传非合意资源 18的活动14,设备20可以追溯地取缔先前执行过活动14的用户12的账户,可以取缔当前执行活动14的用户12,和/或可以监视用户12的未来请求,以便在接收到请求的时候迅速取缔请求活动14的用户12的账户。在这些和其他场景中,可能合意的是,将设备20配置成检测用户12频繁执行且涉及服务16的特定资源18的活动14,以及响应于这种活动14 来执行一个或多个活动动作。
图2给出了一个例示场景30,该场景特征在于被配置成监视服务16的用户12的活动14的设备20。在这个例示场景30中,一组用户12通过执行涉及服务16提供的一个或多个资源18的活动14来使用设备20提供的服务16。例如,第一用户12可以执行涉及第一资源18的“读取”活动14 ;第二用户12可以执行涉及第二资源18和第四资源18的 “存储”活动14 ;以及第三用户12和第四用户12中的每一个都可以执行涉及第三资源18 和第四资源18的“存储”活动14。用户12可以请求且涉及一个或多个资源18的特定活动 14可以是服务16的管理员关注的对象。例如,第三资源18可以包括加密破解工具,并且第四资源18可以包括服务16的用户账户数据库。第二用户12可以采用恰当或不可疑的方式访问第四资源(例如以授权方式创建新的用户账户),但是第三用户12和第四用户12可以通过执行同时涉及第三资源18和第四资源18的活动14来产生让人怀疑非合意活动的理由(例如解密服务16的用户数据库以便腐蚀(corrupt)该组用户账户)。此外,用户请求执行这个涉及这些资源18的活动14的请求的频率有可能太多,以致于不允许设备20的管理员以非自动的方式进行处理。
在这个和其他场景中,根据这里给出的技术,设备20可以被配置成识别涉及特定资源18的频繁活动32,以及执行与之相关的一个或多个活动动作34。例如,一旦从用户12 那里接收到请求执行涉及一个或多个资源18的活动14的请求,设备20就可以在活动日志 36中创建一个记录,该记录指示用户12、被请求的活动14以及活动14中涉及的资源18。 然后,设备20可以评估活动日志36,以便识别频繁活动32。例如,第三用户12和第四用户 12的“存储”活动14可以合格成为频繁活动32,因此,设备20可以对这个频繁活动32执行一个或多个活动动作34。在这个例示场景30中,第三用户12和第四用户12执行的频繁活动32可以包括非合意活动,并且一旦识别了频繁活动32,则设备14可以响应于频繁活动 32来自动执行活动动作34。例如,活动动作34可以被定义成从服务16取缔执行频繁活动 32的用户12。这个活动动作34既可以追溯应用(例如在识别出某些用户12先前已经尝试执行频繁活动32之后,设备20可以取缔先前执行过频繁活动32的用户12),也可以在当前被应用(例如取缔当前正在执行频繁活动32的用户12),和/或先发制人地应用(例如在识别出频繁活动32之后,监视用户12的活动14来检测执行频繁活动32的尝试以及由此取缔用户12)。这样一来,设备20可以检测频繁活动32,并且根据这里给出的技术来自动对其应用活动动作34。此外,设备20有选择地将活动动作34应用于执行涉及特定资源18的活动14的用户12。例如,由于活动14与所涉及资源18的组合产生了疑点,因此,第三用户 12和第四用户12将会遭遇到活动动作34,而执行类似活动14但是仅涉及这其中的一个资源18的第二用户12则不会产生疑点,并且不会遭遇到活动动作34。根据这个示例以及这里给出的技术,设备20能够识别出恶意用户12的在新的攻击模式中涉及的全新类型的活动14,并且可以通过对那些被识别为恶意的频繁活动32应用活动动作34来自动快速地产生防御这种攻击的新规则。
图3给出了这些技术的第一实施例,其中该实施例被图示成用于评估涉及资源 18 (举例来说,所述资源可以包括诸如文件服务之类的特定服务16)的用户12的活动14 的例示方法30。这个例示方法40涉及具有处理器且可以访问活动日志36的设备20,并且该方法可以被实现为例如存储在设备20的存储器组件(例如系统存储器,硬盘驱动器盘 (platter),固态存储设备,或是磁盘或光盘)中促使设备20实现这里给出的技术的软件指令集。该例示方法始于42并且涉及在处理器上执行44指令。特别地,一旦检测到由用户 12执行的涉及至少一个资源18的活动14,那么这些指令将被配置成在活动日志36中记录 46用户12、活动14以及至少一个资源18。这些指令还被配置成评估48活动日志36,以便识别涉及至少一个资源18的至少一个频繁活动32。此外,一旦识别出至少一个频繁活动 32,那么这些指令还被配置成将活动动作18应用50于执行涉及所述至少一个资源18的活动14的用户12。这样一来,设备20实现了将活动动作18应用于服务16的用户12所请求的频繁活动32的处理,并且由此在52结束。7
图4给出了这里给出的技术的第二实施例,其中该实施例被图示出成被配置成对涉及一个或多个资源18的用户12的活动14进行评估的例示系统66。该例示系统66可以涉及具有处理器64的设备62,并且该方法可以被实现为例如通过互操作(interoperate) 来促使设备62的处理器64执行这里给出的技术的一组软件组件。更为特别的是,软件组件可以包括存储在设备62的存储器组件(例如系统存储器,硬盘驱动器磁盘,固态存储设备,或是磁盘或光盘)中的指令集,该指令集促使处理器64执行特定任务,从而使得在这里提供的互操作的软件组件促使设备62执行这里给出的技术。在这个例示场景中,例示系统 66包括被配置成存储涉及至少一个资源18的活动14的活动日志68。该例示系统66还包括活动记录组件70,它被配置成在检测到由用户12执行的涉及至少一个资源18的活动14 的时候,在活动日志68中记录用户12、活动14以及至少一个资源18。该例示系统66还包括活动评估组件72,该组件被配置成评估活动日志68来识别涉及至少一个资源18的至少一个频繁活动32。该例示系统66还包括活动动作应用组件74,该组件被配置成在识别出频繁活动32时,将活动动作34应用于正在执行涉及至少一个资源18的活动14的用户12。 通过实现这些互操作的组件,例示系统66监视用户12的活动14,并且自动对由它执行的频繁活动32应用活动动作34。
另一个实施例涉及计算机可读介质,其中该介质包含被配置成应用这里给出的技术的处理器可执行指令。举例来说,这种计算机可读媒体可以包括涉及有形设备的计算机可读存储媒体,例如存储器半导体(例如利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和/或同步动态随机存取存储器(SDRAM)技术的半导体)、硬盘驱动器盘、闪存设备或是磁盘或光盘(例如CD-R、DVD-R或软盘),这些计算机可读存储媒体编码计算机可读指令集,在由设备的处理器执行时,所述指令集会促使设备实现这里给出的技术。这种计算机可读媒体还可以包括(作为与计算机可读存储媒体不同的技术分类)多种不同类型的通信媒体,例如可以通过多种不同的物理现象传播的信号(例如电磁信号、声波信号或光信号),在多种不同的有线场景中传播的信号(例如经由以太网或光缆)和/或在无线场景中传播的信号(例如WiFi之类的无线局域网(WLAN)、蓝牙之类的个人区域网(PAN)或是蜂窝或无线电网络),其中所述信号编码了计算机可读指令集,在由设备处理器执行时,所述指令集促使设备实现这里给出的技术。
在图5中示出了可以采用这些方式设计的例示计算机可读媒体,其中实现方式80 包括其上编码了计算机可读数据84的计算机可读介质82(例如⑶-R、DVD-R或硬盘驱动器盘)。这种计算机可读数据84进而又包括计算机指令集86,该指令集被配置成根据这里阐述的原理来工作。在一个这样的实施例中,处理器可执行指令86可以被配置成执行一种评估涉及资源的用户活动的方法,例如图3的例示方法40。在另一个这样的实施例中,处理器可执行指令86可以被配置成实现一个用于评估涉及资源的用户活动的系统,例如图4的例示系统66。这种计算机可读介质的一些实施例可以包括被配置成存储以这种方式配置的计算机可执行指令的非瞬态计算机可读存储介质(例如硬盘驱动器,光盘或闪存设备)。本领域普通技术人员可以设计出很多这种被配置成依照这里给出的技术工作的计算机可读媒体。
这里讨论的技术可以利用许多方面的变体来设计,并且相对于这些和其他技术的其他变体,一些变体可以给出附加的优点和/或减少缺点。而且,一些变体可以以组合的方式实施的,并且一些组合的特征可以是通过协同合作实现附加的优点和/或减少的缺点。 这些变体可被引入到多种不同的实施例中(例如图3的例示方法40以及图4的例示系统 66),以便将个别和/或协同的优点给予这些实施例。
在这些技术的实施例中可以发生变化的第一个方面涉及其中可以使用这里给出的技术的场景。作为第一个示例,这些技术可以与追踪和评估对多种不同类型的服务16的资源18执行的多种不同类型的活动14的处理相关地使用。作为第一个这样的变体,设备 20可以包括存储多种不同资源18 (例如文件或数据库记录)的数据存储器(例如文件系统或数据库),并且活动14可以涉及将资源18发送到服务16。作为第二个这样的变体,设备 20有可能能够代表用户12执行多种不同的指令,例如经过编译的二进制文件或脚本,并且活动14可以涉及执行特定的指令(例如尝试访问未经授权的资源,例如读取口令文件或删除系统对象)。举个例子,这些技术可以用于评估对文件系统的文件执行的多种不同活动 14,例如创建、读取、更新、删除、命名或重新定位文件;对媒体共享服务的媒体对象执行的多种不同的动作14,例如上传、下载、流传输、评论或移除媒体对象;以及对社交网络的消息执行的多种不同活动14,例如创建、读取、回复或删除消息。此外,实施例监视的活动14 可以是合意的(例如第一用户12与第二用户12共享媒体对象),非合意的(例如用户12对服务16的经过加密的资源执行解密实用工具),或者仅仅是令人感兴趣或不寻常的(例如用户12频繁地上传内容和用途不为文件服务器所知的文件)。作为第二个示例,其上执行这些技术的设备可以包括单个机器,或者可以采用多种不同方式分布在多个机器中(例如,两个或更多机器可以被配置成存储活动日志,评估活动日志中包括的活动,和/或响应于检测到的活动来应用活动动作)。作为第三个示例,这些技术可以用于在识别出涉及一个或多个特定资源18的频繁活动14的时候应用多种类型的活动动作34。这种活动动作34既可以应用于执行活动14的用户12(例如警告用户12所述活动14是非合意的,或者取缔用户 12的账户),也可以应用于活动14中涉及的资源18 (例如删除非合意活动14中涉及的资源18),和/或应用于活动14 (例如阻止执行活动14的尝试或请求)。
其中可以使用这些技术的特定的场景涉及恶意用户12的频繁策略(frequent tactic),所述恶意用户12例如是垃圾邮件和病毒及蠕虫之类的恶意软件的分发者,计算机系统的非授权渗透者,以及被腐蚀设备僵尸网络(botnet)的操作者。这种恶意用户12 通常会通过调用存储在服务16上的一组资源18来执行恶意活动14。例如,垃圾邮件制作者可以存储电子邮件模板,目标电子邮件地址的数据库,以及被设计成发送未经请求的大量电子邮件消息的应用;恶意软件的分发者可以存储恶意软件和用于递送恶意软件的机制(例如可以使用web服务器的弱点来安装恶意软件的被腐蚀用户控件(corrupted user control));以及僵尸网络的操作者可以存储指派设备(co-opted device)的网络地址列表以及用于向僵尸网络分发命令的多种不同对象,例如用于向指派设备验证僵尸网络操作者的加密密钥。这类用户12可以存储这些资产作为诸如公共文件服务器、公共web服务器或公共媒体对象服务器之类的一个或多个独立服务16内部的资源18,并且可以使用这些独立服务16的带宽、存储和计算能力来执行恶意活动14的一些或所有动作。但是,此类用户 12通常知道机构(包括服务16的管理员)可以尝试通过识别和移除包含用户12的资产的资源14来阻止这种恶意活动14。
恶意用户12用以逃避检测的一个频繁策略涉及在服务16上注册很多用户账户,并且冗余地在每一个用户账户中存储或使用整个资产集合或是其子集。举个例子,如果恶意活动14涉及三个不同的资源,那么恶意用户12可以在很多用户账户中存储所有这三个资源18,或者可以将第一资源18、第二资源18以及第三资源18中的每一个作为个别的资源18存储在很多用户账户中。冗余地使用很多用户账户可以允许恶意用户12继续执行恶意活动,即使在禁用了某些用户账户并且移除了某些资源18的情况下也是如此。此外,恶意用户12可以改变资源18的内容(例如通过创建明显不同且版本众多的垃圾电子邮件消息模板),由此,即便是特定资源18被识别成是在恶意活动14中使用的资产。因此,被设计成检测恶意活动14的模式并且只考虑资源18的内容的技术有可能无法检测那些采用更复杂和健壮的方式设计的恶意活动14。最终,即使可以有效地实现恶意活动14的自动检测, 但如果对检测到的这种恶意活动14的响应涉及诸如服务16的管理员之类的用户12的检查和/或干预,那么阻止这种恶意活动14有可能是不充分的。举个例子,恶意用户12有可能能够创建用户账户,并且至少可以与服务16的管理员可以检测和禁用这种服务16同样快地将资源18上传至服务16。但是,复杂度较低的自动技术不太能够将合法的合意的活动 14与恶意非合意的活动14区分开来。例如,自动技术仅仅关注在恶意活动14中使用的资源18,但是如果恶意用户12可以使用解密实用工具之类的特定资源18,那么自动技术有可能不正确地取缔那些合法调用解密实用工具的其它用户12。
对于检测和修复涉及这些策略的恶意活动14,这里给出的技术有可能会特别有效。这种有效性可以来源于以活动14以及所涉及的特定资源18为基础来识别频繁的活动 14的模式的处理,这是因为恶意活动14可以涉及对一组在其他方面合法的资源18执行的一组在其他方面合法的活动14。例如,第一组用户12可以(作为涉及第一资源18的第一活动14)接收和存储发送至用户12的电子邮件账户的垃圾电子邮件消息,并且可以(作为涉及第二资源18的第二活动14)调用一个向其他用户发送合法的电子邮件消息的发送邮件实用程序。但是,第二组用户12可以(作为涉及第一资源18和第二资源18的第三活动 14)调用发送邮件实用程序来将垃圾电子邮件消息发送到垃圾邮件接收方。通过评估活动 14与所涉及的资源18的组合,这里给出的技术可以自动识别出恶意的频繁活动32,并且将会取缔第二组用户12,但是不会阻止第一组用户12的合法频繁的活动32。但是,本领域普通技术人员可以设计出很多其中可以使用这里公开的技术的场景。
在这些技术的实施例中可以改变的第二个方面涉及在活动日志68中检测涉及特定资源18的活动14以及这种活动14的记录46。作为第一个示例,识别活动14以及一个或多个资源18可以采用多种不同方式来执行。这些技术的一个实施例可以产生多种不同活动14和/或资源18的签名,例如活动14使用的相应对象的散列码(hashcode),以便追踪对它的识别。因此,该实施例可以通过计算活动14以及至少一个资源18的签名(例如散列码生成器生成的散列码)以及将用户12和活动14记录在活动日志68中,来记录活动14。 这种通用技术可以是统一应用的,而不用考虑活动14和/或资源18的类型。但是,通过引入不显著的差别,一些用户12可以将活动14和/或资源18从这种检测中伪装起来。在第一个这样的变体中,不同类型的活动14可被执行,其中这些活动在非实质性的方式上存在差别以避免检测,但是其涉及相同的结果。例如,恶意用户12可以产生恶意制作的脚本的很多变体,并且多态病毒可以对该代码做出显著的改动。在第二个这样的变体中,活动14 使用的资源18也可以采用多种方式来改变,例如产生垃圾电子邮件消息模板的许多版本,并且通过使用多种图像编码算法来编码垃圾电子邮件消息中包含的图像。由此,与直接计算活动14和/或资源18的签名不同,如果资源18具有可识别的资源类型,一个实施例可以将签名作为内容指纹来计算,其中所述内容指纹可以识别资源18的显著特征,而不用考虑不显著的替换或变更。由此,该实施例可以通过调用内容指纹生成器来为相应资源18产生内容指纹(基于资源18的资源类型)并且存储所述内容指纹,从而记录活动14。
作为这个第二方面的第二个示例,活动日志68可以采用多种方式来实现。作为第一个这样的变体,活动日志68可以包括包含作为文本存储的记录(与常规服务器日志中一样)的文本文档,或者存储包括数据库表中的记录的记录的数据库。作为第二个这样的变体,该实施例可以包括活动索引生成器(例如散列码生成器),并且根据活动索引生成器为所使用的活动14和/或资源18所计算的活动索引,涉及特定资源18的相应活动14可以采用带有索引的方式存储在活动日志68中。作为索引的活动日志68的实现方式可以促进活动14和/或资源18的快速存储和评估。
图6给出了根据这里给出的技术的例示场景90,其中该场景特征在于给在一个或多个被记录和监视的活动14中使用的资源18编索引。在这个例示场景90中,这些技术的一个实施例包括散列码生成器92,其中该散列码生成器被配置成为活动14中涉及的相应资源18产生散列码94 (例如基于资源18的二进制内容)。因此,根据由此产生的散列码 94,活动日志68记录了一个或多个活动14中涉及的资源18。这种技术可以促进对诸如资源18的重复实例之类资源18等价物所进行的识别。举个例子,在图6的例示场景90中, 第二资源18和第四资源18可以存储在不同的位置(例如已经被上传到不同的用户账户), 但是这些资源18的等价性可以通过依照由此产生的散列码94来记录资源18而被识别,其中所述散列码可以示出这些资源18的等价性。在实现这里给出的技术的同时,本领域普通技术人员可以设计出很多记录活动14和/或资源18的方式。
在这些技术的实施例中可以改变的第三个方面涉及对涉及了一个或多个资源18 的活动14进行评估,以便识别用户12执行的频繁活动32。作为第一个示例,所述评估可以是持续执行的,例如由持续检查和识别用户12的活动14的进程执行,以便识别趋于频繁的活动32。可替换地,该评估也可以周期性执行,例如按照设备20定义的评估频率(例如对活动14进行每小时或每日评估)。作为这个第三方面的第二个示例,对用户12执行的活动 14中的频繁活动32的识别可以由设备20来定义。例如,一个实施例可以为特定活动14记录动计数器,其中该计数器包括所检测的涉及一组特定资源16的活动14已被执行的次数。 因此,一旦检测到执行活动14的请求,则该实施例可以递增用于活动14的活动计数器,并且可以将频繁活动识别成是活动计数器超出该实施例所定义的活动阈值的那些活动(举个例子,如果在一小时内接收到一百个以上的执行活动14的请求,则可以将活动14识别成是频繁活动32)。
作为这个第三方面的第三个示例,活动14的存储和/或评估可以分布在很多组件上,例如包括服务器群的许多计算机以及多任务系统中的多种不同软件进程。作为第一个这种变体,活动日志36可以在两个或更多的机器上冗余地存储(举例来说,由此将特定活动14记录在两个或多更多的机器或存储设备上)和/或以分布的方式存储(例如,活动日志36包括记录在第一机器或存储设备上的第一组活动14,以及记录在第二机器或存储设备上的第二组活动14)。作为第二个变体,对活动日志36中记录的活动14所进行的评估可以分布在若干个机器上,由此第一机器评估第一组活动14,并且第二机器评估第二组活动 14。作为第三个变体,响应于频繁活动32来应用活动动作34的处理可以分布在若干个机器上。例如对于向上扩展(scale up)活动14的评估以及活动动作34的应用来识别服务 16的用户12所执行的一大组活动34中的频繁活动32,这些分布技术可以是非常有利的。 举个例子,可以指派相应组件来评估活动14的特定子集,这样做可以改善对于一大组活动 14所进行的评估的可扩展性。因此,活动14可以通过首先识别被指派用来评估这种活动 14的组件以及通过调用该组件来评估活动14而被评估。
图7给出了一个例示场景100,其中该场景涉及以这种方式对活动14进行的评估, 从而使得将所述评估分布在实施例的多种不同组件106上,例如服务器集合中的一组活动评估服务器。在这个例示场景100中,组件选择器102可以为相应的活动14计算组件标识符104 (例如散列码生成器产生的散列码)。该实施例的相应组件106可以包括单独的活动日志68,并且可以被配置成评估由组件标识符104的不同子集(例如散列码生成器产生的不同范围的散列码)识别的活动14。为了评估涉及一组特定资源18的特定活动14,该实施例可以调用组件选择器102来产生组件标识符104,并且指派用来处理具有组件标识符104 的活动14 (例如散列码处于指派给组件106的散列码范围以内的活动14)的组件106可被调用,以便评估活动14和/或将活动14记录在活动日志68中。这样一来,可以分布对于活动14的评估以便改善该实施例的可扩展性。这种方法的性能还可以通过涉及依照活动索引而对活动编索引来进一步改善。例如,对于特定活动14,第一散列码可以由第一散列码生成器计算,以便识别被指派用来评估活动14的组件106,并且第二散列码可以由组件106 来计算,以便识别活动日志68中的活动索引,由此可以记录活动14。在实现这里给出的技术的同时,本领域普通技术人员可以设计出许多评估用户12的活动14的方式。
在这些技术的实施例中可以发生变化的第四个方面涉及响应于相应活动14来应用活动动作34的处理。作为第一个示例,对于由用户12执行的涉及至少一个资源18的特定活动14,活动动作34可被应用于执行频繁活动32的用户12 (例如通过警告或取缔执行频繁活动32的用户12来限制用户12的用户账户),可被应用于频繁活动32中涉及的至少一个资源18 (例如通过检查、限制访问、替换或删除资源18来限制资源18)和/或可被应用于频繁活动32 (例如阻止尝试执行频繁活动32,或者降低设备20在执行频繁活动32时的性能)。这种活动动作还可以是以追溯方式、在当前或者先发制人地应用的,举个例子,对于涉及上传非合意资源18的频繁活动32,设备20可以追溯性地取缔那些先前执行过该频繁活动32的用户12的账户,并且可以取缔那些当前正在执行频繁活动32的用户12,和/ 或可以监视用户12的未来请求,以便在接收到请求所述频繁活动32的请求的时候迅速取缔提出该请求的用户12的账户。可替换地,设备20可以周期性地检查频繁活动32 (例如每周一次),并且可以取缔那些被发现在先前周期中执行过频繁活动32的用户的账户。
这个第一示例的特定变体涉及使用自动实用程序来快速执行许多恶意活动14的恶意用户12,例如使用以自动方式与服务16进行交互的脚本或机器人程序(bot)。在这种场景中,其中检测到的频繁活动32有可能是由自动进程执行的,活动动作34可以通过如下方式限制执行频繁活动;34的用户通过向用户12呈现一个被配置成用来验证用户是人类行动者的用户询问(例如“captcha(全自动区分计算机和人类的图灵测试),,用户询问,例如很难被自动进程评估的位于噪声背景上的符号图像,由此,正确识别出这些符号的用户12很有可能是人类行动者)。只有在用户12提交了满足用户询问的用户询问响应的情况下,该实施例才可以代表该用户12来执行被请求的活动14。如果用户未能提交正确的用户询问响应,那么该实施例既可以允许用户12再次尝试,也可以简单地拒绝执行被请求的活动14,还可以限制或取缔用户12的账户。
图8给出了例示场景110的例图,其中该场景特征在于响应于多种不同的恶意频繁活动32来应用活动动作34的处理的若干变体。在这个例示场景110中,一组恶意用户 12使用服务16的多种不同资源18 (例如上传至文件共享服务的文件)来请求多种不同的活动14。依照这里给出的技术配置的设备20可以在活动日志36中记录用户12的活动14, 并且可以评估活动14以识别频繁活动32。在这个例示场景中,第一用户12和第二用户12 请求使用一组特定资源18来执行第一恶意频繁活动32。因此,设备20会响应于第一恶意频繁活动32来应用第一活动动作34。特别地,通过取缔用户12的用户账户,以及通过从服务16中删除资源18,这个第一频繁活动动作34被同时应用于用户12和资源18。此外, 第三用户12和第四用户12使用不同的一组资源18来执行第二恶意频繁活动32。因此, 设备20可以对这些用户12应用涉及用户询问(例如“captcha”)的活动动作34,其中该用户询问会核实每一个用户12包括的是人主体(human agent)而不是自动进程,并且该设备 20可以被配置成将仅仅在从用户12那里接收到满足用户询问的用户询问响应的情况下才应用活动14。这样一来,设备20对多种不同的用户12、资源18和/或活动14应用一组活动动作;34。
作为这个第四方面的第二示例,活动动作34可以涉及将频繁活动32告知设备20 的用户12 (例如服务16的管理员)。例如,该实施例可以为用户12产生一个指示了频繁活动32和活动14中涉及的资源18的通知,并且该通知还可能包括其他信息,例如执行频繁活动32的用户12的用户账户,频繁活动32的日期和时间,这种用户12的网际协议(IP)地址,以及这些用户12执行的其他任何活动14。该实施例可以积极地向用户发出通知(例如通过在管理界面中为用户呈现弹出式通知)和/或消极地通知用户(例如通过发送电子邮件消息,或是仅仅在用户12请求的时候呈现该通知)。
作为这个第二示例的另一个变体,该实施例还可以向用户呈现至少一个推荐用于频繁活动32的建议活动动作。举个例子,如果频繁活动32很可能是合意的,那么该实施例可以向用户12呈现一组鼓励频繁活动32的活动动作18,例如将频繁动作32识别给服务 16的其他用户12 (例如将那些被频繁查看的媒体对象包括在推荐给媒体共享服务的用户 12的媒体对象列表中)或者奖励那些执行频繁动作32的用户12。如果频繁活动32很可能是非合意的,那么该实施例可以为用户12呈现一组阻碍该频繁活动32的活动动作18,例如警告或取缔一个或多个执行该频繁活动32的用户12或是阻止所述频繁活动32的执行。 如果频繁活动32的性质是不确定的,那么该实施例可以向用户给出一系列的建议,和/或可以提议执行对所述频繁活动32的更进一步的评估(例如对在频繁活动32中涉及的资源 18、执行频繁活动32的用户12的其他活动14和/或频繁活动32的后果进行更复杂的分析),或者简单地继续监视和报告频繁活动32。
作为这个第二示例的更进一步的变体,一个实施例可以允许用户12从所建议的活动动作中选择一个要应用于频繁活动32的活动动作34,并且可以对该频繁活动32应用选择的活动动作34,其中该活动动作有可能包括应用于用户12执行频繁活动32的未来尝试的活动动作34。这样一来,在确定要自动应用于频繁活动32的活动动作18的过程中,设备可以包括用户12 (例如服务16的管理员)的交互。在实现这里给出的技术的同时,本领域普通技术人员可以设计出许多类型的活动动作34以及针对频繁活动32的应用。
虽然本主题已经按照特定于结构特征和/或方法动作的语言描述了,但是应该理解,附加权利要求中定义的主题未必局限于以上描述的具体特征或动作。相反,上文描述的具体特征或动作是作为实现权利要求的示例的形式公开的。
本申请中使用的术语“组件”、“模块”、“系统”、“接口”等等通常打算指计算机相关实体,其要么是硬件、软硬件组合,要么是软件或运行中的软件。例如,组件可以是但不局限于在处理器上运行的进程、处理器、对象、可执行程序、运行线程、程序和/或计算机。作为例证,在控制器上运行的应用以及控制器都可以是组件。一个或多个组件可以驻留在进程和/或运行线程中,并且组件可以位于一台计算机本地和/或分布在两台或更多计算机之间。
此外,所要求保护的主题可以被实现为通过使用标准的编程和/或工程技术来产生软件、固件、硬件或是其任何组合,从而控制计算机来实现所公开的主题的方法、设备或制品。这里使用的术语“制品”旨在包含可以从任何计算机可读设备、载体或媒体访问的计算机程序。当然,本领域技术人员将会预料到,在不脱离所要求保护的主题的范围或精神的情况下,针对这种配置的很多修改都是可行的。
图9和后续讨论提供的是关于实现这里阐述的一个或多个规定的实施例的适当计算环境的简要的一般性描述。图9的操作环境仅仅是适当的操作环境的一个示例,而不是想要表明任何对于所述操作环境的使用或功能范围的限制。例示的计算设备包括但不局限于个人计算机、服务器计算机、手持或膝上设备、移动设备(例如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费类电子设备、迷你计算机、大型机、包含上述任何设备或系统的分布式计算环境等等。
虽然实施例是在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中描述的,但这并不是必需的。计算机可读指令可以经由计算机可读介质(如下所述)来分发。计算机可读指令可以被实现为执行特定任务或是实现特定抽象数据类型的程序模块, 例如函数、对象、应用编程接口(API)、数据结构等等。通常,在多种不同的环境中可以根据需要来组合或分布计算机可读指令的功能。
图9图示了包括被配置成实现这里提供的一个或多个实施例的计算设备122的系统120的示例。在一个配置中,计算设备122包括至少一个处理单元1 和存储器128。根据计算设备的确切配置和类型,存储器1 可以是易失的(例如RAM),非易失的(例如ROM、 闪速存储器等等),或者可以是这二者的某种组合。在图9中用虚线IM示出了这种配置。
在其他实施例中,设备122还可以包括附加的特征和/或功能。例如,设备122还可以包括附加的存储器(例如可移除和/或不可移除),包括但不局限于磁性存储器、光学存储器等等。在图9中用存储器130示出了此类附加存储器。在一个实施例中,实现这里提供的一个或多个实施例的计算机可读指令可以位于存储器130中。存储器130还可以存储用于实现操作系统、应用程序等等的其他计算机可读指令。举例来说,计算机可读指令可被加载到存储器128中,以供处理单元1 运行。
这里使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括14在用于存储诸如计算机可读指令或其他数据之类的信息的方法或技术中实现的易失和非易失、可移除和不可移除的介质。存储器1 和存储器130是计算机存储介质的示例。计算机存储介质包括但不局限于RAM、R0M、EEPR0M、闪速存储器或其他存储器技术、CD-ROM、数字多用途盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备,或者是可以用于存储合意信息且能被设备122访问的其他任何介质。任何这样的计算机存储介质都可以是设备122的一部分。
设备122还可以包括允许设备122与其他设备通信的一个或多个通信连接136。 一个或多个通信连接136可以包括但不局限于调制解调器、网络接口卡(NIC)、集成的网络接口、射频发射机/接收机、红外端口、USB连接、或是用于将计算设备122连接到其他计算设备的其他接口。一个或多个通信连接136可以包括有线连接或无线连接。所述一个或多个通信连接136可以传送和/或接收通信介质。
术语“计算机可读介质,,可以包括通信介质。通信介质通常包含诸如载波之类的 “调制数据信号”或其他传输机制中的计算机可读指令或其他数据,并且包括任何信息传递介质。术语“调制数据信号”可以包括具有以一种将信息编码到信号中的方式设置或改变的一个或多个特性的信号。
设备122可以包括一个或多个输入设备134,例如键盘、鼠标、笔、语音输入设备、 触摸输入设备、红外相机、视频输入设备和/或其他任何输入设备。此外,在设备122中还可以包括一个或多个输出设备132,例如一个或多个显示器、扬声器、打印机和/或其他任何输出设备。一个或多个输入设备134以及一个或多个输出设备132可以经由有线连接、 无线连接或其任何组合连接到设备122。在一个实施例中,来自另一个计算设备的输入设备或输出设备可被用作计算设备122的一个或多个输入设备134或一个或多个输出设备132。
计算设备122的组件可以通过诸如总线之类多种不同的互连来连接。这种互连可以包括诸如PCI Express之类的外设组件互连(PCI)、通用串行总线(USB)、火线(IEEE 1394)、光学总线结构等等。在另一个实施例中,计算设备122的组件可以通过网络进行互连。例如,存储器818可以包括位于网络互联的不同物理位置中的多个物理存储器单元。
本领域技术人员将会认识到,用于存储计算机可读指令的存储设备可以分布在网络上。例如,可以经由网络138访问的计算设备130可以存储用于实现这里提供的一个或多个实施例的计算机可读指令。计算设备122可以访问计算设备130,以及下载一部分或所有计算机可读指令用于运行。可替换地,计算设备122可以根据需要下载计算机可读指令, 或者某些指令可以在计算设备122上运行,某些指令则在计算设备130上运行。
在这里提供了实施例的多种不同操作。在一个实施例中,所描述的一个或多个操作可以构成存储在一个或多个计算机可读介质上的计算机可读指令,其中如果计算设备运行所述指令,那么该指令将会导致计算设备执行所描述的操作。描述一些或所有操作的顺序不应该被解释成是暗指这些操作必须取决于顺序。得益于本描述的本领域技术人员将会预料到替换的顺序。更进一步,应该理解的是,并不是在这里提供的每一个实施例中都必须存在所有操作。
此外,这里使用的单词“例示”指的是充当一个示例、实例或例证。在这里被描述成“例示”的任何方面或设计都不必解释成是优于其他方面或设计的。相反,使用单词例示是为了以一种具体的方式来给出概念。本申请中使用的术语“或”指的是包含性的“或”,而不是排他性的“或”。换言之,除非以别的方式加以规定或者从上下文中可以清楚了解,否则 “X使用A或B”旨在指示任何自然的包容性置换。也就是说,如果X使用A ;X使用B^X 使用A和B,那么在任何前述实例中,“X使用A或B”都是得到满足的。此外,除非以别的方式规定或者从上下文中清楚了解针对的是单数形式,本申请以及附加权利要求中使用的冠词“一”和“一个”通常可以被解释成是指“一个或多个”。
此外,虽然本公开是关于一个或多个实现方式显示和描述的,但对本领域其他技术人员来说,基于对本说明书以及附图的阅读和理解,那么等价的替换和修改都是可以想到的。本公开包括所有这些修改和替换,并且只受后续权利要求范围的限制。特别地,对于上述组件(例如元件、资源等等)执行的多种不同功能来说,除非以别的方式加以指示,否则用于描述此类组件的术语旨在对应于执行所述组件的指定功能的任何组件(例如在功能上是等价的),即便在结构上与所公开的执行这里示出的公开例示实现方式中的功能的结构不等价的情况下也是如此。此外,虽然本公开的特定特征可能已经关于若干实施方式中的仅仅一种公开了,但是该特征可以与其他实现方式的一个或多个其他特征相结合,这种组合对于任何给定或特定的应用来说有可能是合意的和有利的。此外,对于在详细描述或权利要求中使用的术语“包括”、“具有”、“具备”、“带有”或是其变体来说,此类术语旨在与术语“包括” 一样应该是包含性的。
权利要求
1.一种评估用户(12)的活动(14)的方法(40),其中该活动涉及具有处理器(64)且可以访问活动日志(68 )的设备(62 )上的资源(18 ),该方法(40 )包括在处理器(64)上执行(44)指令,其中所述指令被配置成一旦检测到由用户(12)执行的涉及至少一个资源(18)的活动(14),则在活动日志 (68)中记录(46)用户(12)、活动(14)以及至少一个资源(18);评估(48)活动日志(68)以识别涉及至少一个资源(18)的至少一个频繁活动(32);以及一旦识别出至少一个频繁活动(32),则响应于用户(12)执行涉及至少一个资源(18) 的活动(14)来应用(50)活动动作(34)。
2.权利要求1的方法 该设备包括数据存储器;至少一个资源包括至少一个数据对象;以及用户执行的活动包括向设备发送要保存在数据存储器中的数据对象。
3.权利要求1的方法,记录活动以及至少一个资源包括 计算活动以及至少一个资源的签名,以及将用户和签名记录在活动日志中。
4.权利要求3的方法该设备包括至少一个散列码生成器;以及用于资源的签名包括由散列码生成器为所述资源产生的内容散列码。
5.权利要求3的方法 相应的资源包括资源类型;该设备包括用于一种资源类型的资源的至少一个内容指纹生成器;以及用于资源的签名包括内容指纹生成器为该资源的资源类型的资源产生的资源的内容指纹。
6.权利要求1的方法该设备包括活动索引生成器,其被配置成为涉及至少一个资源的相应活动产生活动索引;以及该活动日志包括活动索引,该活动索引被配置成根据活动索引生成器为活动和至少一个资源产生的活动索引来为涉及至少一个资源的相应活动将所述活动编入索引。
7.权利要求1的方法 该设备定义评估频率;以及评估活动日志包括以该评估频率周期性地评估活动日志。
8.权利要求1的方法该设备为频繁活动定义活动阈值;记录用户、活动和至少一个资源包括为相应的活动以及相应的至少一个相应资源记录活动计数器;以及识别频繁活动包括识别活动计数器超出活动阈值的活动。
9.权利要求1的方法该设备包括至少两个分别被配置成评估涉及至少一个资源的活动的组件;以及对于涉及至少一个资源的相应活动,所述指令被配置成 识别被配置成评估涉及该至少一个资源的活动的组件,以及调用该组件来评估涉及该至少一个资源的活动。
10.权利要求9的方法该设备包括组件选择器,其被配置成为涉及至少一个资源的相应活动产生组件标识符;该设备的相应组件与至少一个组件标识符相关联;以及识别被配置成评估涉及至少一个资源的活动的组件包括 调用组件选择器来产生用于涉及至少一个资源的活动的组件标识符; 识别出与组件标识符相关联的已识别组件;以及调用所述已识别组件来评估涉及该至少一个资源的活动。
11.权利要求1的方法,所述活动动作包括将频繁活动通知给所述设备的至少一个用户。
12.权利要求11的方法,所述活动动作包括响应于频繁活动,向用户呈现至少一个建议应用的活动动作;以及一旦从用户那里接收到从建议的活动动作中选出的活动动作,则响应于频繁活动来应用所选择的活动动作。
13.权利要求1的方法至少一个活动包括涉及至少一个资源的合意活动;以及用于该活动的活动动作包括将涉及至少一个资源的至少一个频繁活动作为合意活动呈现给设备用户。
14.权利要求1的方法至少一个活动包括涉及至少一个资源的非合意活动;以及用于非合意活动的活动动作包括限制那些执行所述涉及至少一个资源的非合意活动的用户。
15.一种被配置成评估用户(12)的活动(14)的系统(66),其中该活动涉及资源(18), 该系统(66)包括活动日志(68),被配置成存储涉及至少一个资源(18)的活动(14); 活动记录组件(70),被配置成在检测到由用户(12)执行的涉及至少一个资源(18)的活动(14)时,在活动日志(68)中记录用户(12)、活动(14)以及至少一个资源(18);活动评估组件(72),被配置成评估活动日志(68),以便识别涉及至少一个资源(18)的至少一个频繁活动(32);以及活动动作应用组件(74),被配置成在识别出至少一个频繁活动(32)时,响应于用户 (32)执行涉及至少一个资源(18)的活动(14),应用活动动作(34)。
全文摘要
将活动动作应用于频繁的活动。服务用户的活动通常涉及一个或多个资源,例如上传或下载FTP服务器的文件系统中的文件。用户的活动可被追踪并记录在活动日志中,以便识别频繁执行的涉及特定资源的活动,以及对于这种频繁执行的活动可以执行一个或多个活动动作。举例来说,恶意用户可以上传或使用存储在若干个账户中的等价资产集合。这些非合意活动的频率可被识别,并且可以自动将活动动作应用于用户(例如取缔账户),资源(例如删除资产)和/或活动(例如阻止访问资源)。相反,涉及特定资源的合意活动同样可以被检测,并且应用于此类合意活动的活动动作可以涉及将所述合意活动报告给服务的管理员。
文档编号H04L29/08GK102523283SQ20111041995
公开日2012年6月27日 申请日期2011年12月15日 优先权日2010年12月15日
发明者D.斯佩克托尔, F.E.戈麦斯苏亚雷斯, S.P.米亚勒, Y.尤 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1