首页 / 专利库 / 计算机网络 / 胖客户端 / 用于便携式信息设备的组安全

用于便携式信息设备的组安全

阅读:22发布:2020-05-27

专利汇可以提供用于便携式信息设备的组安全专利检索,专利查询,专利分析的服务。并且本 发明 提供一种具有安全模 块 的便携式信息设备(PID),该安全模块管理安全相关功能。由包括至少一个其他PID的安全组提供有利于所述PID的至少一些安全相关功能。在一类装置中,当配置为组处理模式时,某些为所述PID的利益而操作的安全功能或者组件能够在一个或者多个安全组成员设备上加以处理。在另一类装置中,设备组交换安全相关的信息,所述安全相关的信息是单一的组成员设备在处理一个或多个安全相关任务中确定的结果。,下面是用于便携式信息设备的组安全专利的具体信息内容。

1. 一种具有动态可配置安全装置的便携式信息设备,所述设备包括:
计算机电路,包括可操作地连接到数据存储器的处理器;
用户接口,包括显示和用户输入设备;
无线通信电路;以及
电源,所述电源为所述计算机电路、所述用户接口和所述无线通信电路供电,所述电源包括板载能量源;
其中,所述计算机电路包括安全装置,所述安全装置包括:
可配置的安全模,用于在所述便携式信息设备中帮助实现安全服务,其中所述可配置的安全模块可配置用于运行于第一模式,在所述第一模式中仅仅通过所述安全模块对所述便携式信息设备本地地选择性地提供某些安全服务,以及所述可配置的安全模块可配置运行于第二模式,在所述第二模式中由至少一台其他便携式计算设备来提供某些安全服务,所述至少一台其他便携式计算设备使用所述无线通信电路通过ad hoc无线网络通信连接到所述便携式信息设备;
计算能确定模块,用于重新评估与操作所述便携式信息设备的使用和性能预期有关的计算能力可用性;以及
安全配置模块,用于重新配置所述安全模块的操作设置,从而响应来自所述计算能力确定模块的计算能力指令的变化,使所述安全模块从运行于所述第一模式切换到运行于所述第二模式。
2. 根据权利要求1所述的便携式信息设备,还包括:
险描述模块,用于重新评估所述便携式信息设备所面临的一系列当前安全风险;
其中,所述安全配置模块用于对所述安全模块的操作设置进行动态地重新配置,从而响应来自所述风险描述模块的所述一系列当前安全风险的指令的变化,使所述安全模块从运行于所述第一模式切换到运行于所述第二模式。
3. 一种具有适用于组协助安全功能的安全装置的便携式信息设备,所述设备包括:
计算机电路,包括可操作地连接到数据存储器的处理器;
用户接口,包括显示和用户输入设备;
无线通信电路;以及
电源,所述电源为所述计算机电路、用户接口和无线通信电路供电,所述电源包括板载能量源;
其中,所述计算机电路包括用于在所述便携式信息设备中提供组协助安全服务的安全模块,所述安全模块包括:
胖客户端安全部分,用于对所述计算机电路上的安全相关任务进行本地处理;
安全组连接模块,用于通过所述便携式信息设备和至少一台其他便携式信息设备的安全组之间的无线通信电路来帮助实现本地无线连通;
其中,所述安全模块用于通过所述安全组连接模块在所述胖客户端安全部分和所述至少一台其他便携式信息设备之间引导安全相关信息的交换;以及
其中,所述安全模块被配置为:通过所述胖客户端安全部分来处理所述计算机电路上所述安全相关任务中的第一安全任务以产生第一安全任务输出,以及,通过所述安全组连接模块将所述第一安全任务输出发送给所述安全组中的至少一台便携式信息设备。
4. 根据权利要求3所述的便携式信息设备,其特征在于,所述第一安全任务响应于由所述安全组中至少一台便携式信息设备远程生成的请求进行处理。
5. 根据权利要求3所述的便携式信息设备,其特征在于,所述第一安全任务响应于所述安全模块本地确定的需求进行处理。
6. 根据权利要求3所述的便携式信息设备,其特征在于,所述第一安全任务包括至少一个安全功能,所述至少一个安全功能选自针对存在恶意软件的数据对象扫描、安全更新、安全任务识别以及入侵检测功能。
7. 根据权利要求3所述的便携式信息设备,还包括:
安全任务协调模块,用于确定哪些安全相关任务由所述安全组远程处理,以取代在所述便携式信息设备上使用所述计算机电路进行本地处理。
8. 根据权利要求3所述的便携式信息设备,其特征在于,所述安全组连接模块用于与所述安全组的所述多个其他便携式信息设备一起参与到ad hoc无线网络中。
9. 根据权利要求3所述的便携式信息设备,其特征在于,所述安全模块还包括计算能力确定模块,用于动态重新评估与操作所述便携式信息设备的使用和性能预期有关的当前计算能力可用性;以及
其中,所述安全模块用于基于所述计算能力确定模块所重新评估的当前计算能力可用性来发送所述第一安全任务输出。
10. 根据权利要求3所述的便携式信息设备,其特征在于,所述胖客户端安全部分用于通过提高为所述便携式信息设备的利益提供的安全保护等级来响应通过所述安全组连接模块收到来自所述安全组的安全相关信息。
11. 一种用于将安全相关处理分布于通信连接到便携式信息设备(PID)的至少一台其他便携式信息设备的组的方法,所述便携式信息设备具有动态自配置安全模块,所述方法包括:
由所述PID维护被授权为所述PID的利益处理安全相关任务的至少一台其他便携式信息设备的列表;
由所述PID基于所述任务的特性和所述PID当前可用计算能力,确定是否将安全相关任务分布到所述组中不同于所述PID的设备来处理;
响应分布所述安全相关任务的决定,所述PID将所述任务传送到所述组中的设备可访问的任务列表;以及
所述PID接收由所述组中至少一台设备响应于完成处理所述任务所生成的输出。
12. 根据权利要求11所述的方法,其特征在于,所述维护被授权为所述PID的利益处理安全相关任务的至少一台其他便携式信息设备的列表的步骤包括:维护与每一台设备有关的动态信息,所述动态信息包括至少一个参数,所述至少一个参数选自风险描述信息、当前计算能力信息、信任等级信息、位置信息或者其任意组合。
13. 根据权利要求11所述的方法,其特征在于,所述维护被授权为所述PID的利益处理安全相关任务的至少一台其他便携式信息设备的列表的步骤包括:识别列表中作为便携式基础设备的设备。
14. 根据权利要求11所述的方法,其特征在于,所述将任务传送到任务列表的步骤包括:将所述任务与优先级相关联。
15. 根据权利要求11所述的方法,其特征在于,所述将任务传送到任务列表的步骤包括:将所述任务与计算负载相关联。
16. 根据权利要求11所述的方法,其特征在于,所述确定是否分布安全相关任务的步骤包括:确定所述组中的设备是否满足与所述任务的敏感性相应的信任需求。
17. 根据权利要求11所述的方法,还包括:
响应已被传送到所述任务列表的任务一预定时限,调整与所述任务相关联的优先级。
18. 根据权利要求11所述的方法,还包括:
由所述PID分析是否由所述组中的另一台设备为该其他设备的利益而处理被传送到所述任务列表的任务,其中所述分析包括检查所述PID的当前计算能力可用性以及与所述任务相关联的负载等级,所述任务由所述组中的所述其他设备所传送。
19. 根据权利要求11所述的方法,还包括:
由所述PID分析是否由所述组中的另一台设备为该其他设备的利益处理被传送到所述任务列表的任务,其中所述分析包括检查所述PID上的可用安全资源是否适合于处理所述任务,所述任务由所述组中的所述其他设备所传送。
20. 根据权利要求11所述的方法,还包括:
所述PID响应其所接收的安全更新,与所述组中至少一台其他设备共享所述安全更新。

说明书全文

用于便携式信息设备的组安全

[0001] 相关的申请本申请要求于2008年12月31日提交的第61/142,092号美国临时专利申请的优先权,在此通过援引的方式将该申请全文并入本申请中。
[0002] 本申请还要求于2008年12月8日提交的第61/120,752号美国临时专利申请的优先权,在此通过援引的方式将该申请全文并入本申请中。

技术领域

[0003] 本发明总体上涉及信息技术,更具体地,涉及运用协同概念使便携式设备的安全更加高效和健全的安全系统及相关方法。

背景技术

[0004] 在当今世界的个人信息和通信系统中,便携式信息设备的流行正在迅速发展,特别是构建在上网本,或超轻薄笔记本,平台,以及构建在被称为智能手机或个人数字助理(PDAs)、超级移动个人计算机(UMPC)或者移动互联网设备(MIDs)的多功能通信设备上的系统,该系统使用如Intel制造的Atom或Moorestown中央处理器,或者运行如Android、Symbian OS、移动Windows等操作系统。向公众提供开放获取的网络,例如增强型数据速率GSM演进技术(EDGE)和3G,以及各种WiFi网络(例如基于IEEE801.X标准的网络),已经十分寻常并且日益普及。
[0005] 随着通信系统和设备的复杂性和通信带宽的增加,以及随着数据传输率接近每秒几十兆字节(MB),用户在无意中得到恶意程序和其他有害内容的险也随之增加。此外,便携式信息设备的日益普及以及开放式无线网络也为恶意行为者创造了不断增加的机会来欺诈这些技术的使用者,上述便携式信息设备具有广泛适用的开源应用程序,上述恶意行为者诸如黑客、身份窃贼、垃圾邮件发送者等等。计算机系统所面临的威胁,诸如病毒、蠕虫、恶意软件间谍软件、黑客攻击以及如钓鱼攻击和其他垃圾邮件之类的有害内容,其数量和严重程度都不断增加,同时便携式信息设备不断提高的计算能也将这些设备暴露在安全威胁领域之下。
[0006] 防火墙、入侵检测或者防御系统、杀毒软件、反垃圾邮件以及其它这类面向个人计算机的安全应用程序已被公众所熟知。然而,将已知的手段应用到便携式信息设备却带来了特殊的挑战。便携式信息设备系统和软件的设计者制造设备的主要目标是为来自世界上任何一座城市中的几乎每一个接入点的信息提供及时地存取。在高竞争、低利润的当今市场中便携式信息设备必须是消费者负担得起的。另外,便携式信息设备必须提供最大限度的便携性和可用性,这意味着整体设备尺寸要小并且支持足够长时间的操作(至少约为24小时)。由于电池占设备整体尺寸、重量和成本的很大一部分,因此性能和可用性经常与支付能力和便携性目标相抵触。由于增强型处理器其时钟速度和内存相应需要更多的能量,因此性能和可用性甚至彼此之间目标抵触。
[0007] 所有这些需求都导致仅通过简单地增加处理器资源、数据存储容量以及其他计算资源,难以在保持性能、可用性、便携性以及成本特性的同时为便携式设备提供安全机制改善。反过来,这些制约因素又对运行在便携式信息设备上应用程序尤其是安全应用程序的设计产生限制,该应用程序倾向于需要大量计算资源来处理数量和复杂性不断增加的、面向便携式设备的安全威胁。
[0008] 因此,需要特别适用于满足便携式信息设备特有需求的有效安全措施。

发明内容

[0009] 本发明的一方面是针对便携式信息设备(PID),所述PID具有执行安全相关功能的安全模。通过至少一台其他的PID的安全组来为所述PID的利益提供至少一些安全相关功能。在一类实施例中,当配置为组处理模式时,为所述PID的利益而操作的某些安全功能或者组件能够在一个或多个安全组成员设备上加以处理。在另一类实施例中,设备组对由单一的组成员设备在处理一个或多个安全相关任务中确定的安全相关信息进行交换。这一方案有利于实现集体的安全相关情报或知识共享,对整个组有益并避免对由单独的组成员设备处理过的某些安全相关任务进行重复处理。
[0010] 在一个特定的方面,具有可动态配置的安全装置的PID包括计算机电路(包括可操作地连接到数据存储器的处理器)、用户接口(包括显示和用户输入设备)、无线通信电路以及为所述计算机电路、用户接口和无线通信电路供电的电源。所述电源包括板载能量源(on-board energy source),例如使设备能够便携的电池。所述计算机电路包括由可配置的安全模块、计算能力确定模块和安全配置模块组成的安全装置。
[0011] 所述可配置的安全模块用于在所述PID中帮助实现安全服务,所述可配置的安全模块可配置运行于第一模式,在所述第一模式中仅仅通过所述安全模块对所述PID本地地选择性地提供某些安全服务,以及所述可配置的安全模块可配置运行于第二模式,在所述第二模式中由至少一台其他便携式计算设备来提供某些安全服务。所述至少一台其他便携式计算设备使用所述无线通信电路通过ad hoc无线网络通信连接到所述PID。所述计算能力确定模块用于重新评估与操作所述便携式信息设备的使用和性能预期有关的计算能力可用性。所述安全配置模块用于重新配置所述安全模块的操作设置,从而响应来自所述计算能力确定模块的计算能力指令的变化,使所述安全模块从运行于所述第一模式切换到运行于所述第二模式。
[0012] 在相关实施例中,所述安全配置模块用于基于安全组成员设备的计算能力来重新配置所述安全模块的操作设置。在其他实施例中,安全功能被优先分布到计算能力可用性更高的组成员设备中。
[0013] 在另一个相关实施例中,所述可配置的安全模块包括风险描述模块,该风险描述模块用于重新评估所述信息设备当前所面临的一系列安全风险。所述安全配置模块进一步用于对所述安全模块的操作设置进行动态地重新配置,从而响应来自所述风险描述模块的所述当前一系列安全风险的指令的变化,使所述安全模块从运行于所述第一模式切换到运行于所述第二模式。
[0014] 在本发明的另一方面,PID包括用于提供组协助安全服务的安全模块。所述安全模块包括胖客户端(thick client)安全部分以及安全组连接模块,所述胖客户端安全部分用于对计算机电路上的安全相关任务进行本地处理,所述安全组连接模块用于通过所述PID和至少一台其他便携式信息设备的安全组之间的无线通信电路来帮助实现本地无线连通。所述安全模块用于通过所述安全组连接模块在所述胖客户端安全部分和所述至少一台其他便携式信息设备之间引导安全相关信息的交换。此外,所述安全模块被配置为:通过所述胖客户端安全部分来处理所述计算机电路上(所述安全相关任务中的)第一安全任务以产生第一安全任务输出,以及,通过所述安全组连接模块将所述第一安全任务输出发送给所述安全组中的至少一台PID。可以响应由所述安全组中至少一台PID远程生成的请求处理所述第一安全任务,或者响应所述安全模块本身所本地确定的需求处理所述第一安全任务。
[0015] 在本发明的另一方面,用于将安全相关处理分布于通信连接到所述PID的至少一台其他便携式信息设备的组的方法包括:由所述PID维护被授权为所述PID的利益处理安全相关任务的至少一台其他便携式信息设备的列表;由所述PID基于所述任务的特性和所述PID当前可用计算能力,确定是否将安全相关任务分布到所述组中不同于所述PID的设备来处理;为了响应分布所述安全相关任务的决定,所述PID将所述任务传送到所述组中的设备可访问的任务列表;以及所述PID接收由所述组中至少一台设备响应于完成处理所述任务所生成的输出。
[0016] 通过下述对于优选实施例的具体描述,许多优点将变得显而易见。附图说明
[0017] 为了对本发明进行更为全面的理解,通过结合下述附图对本发明各实施例进行具体描述,其中:图1A示出了根据本发明的各方面,能够应用安全装置的便携式信息设备(PID)的主要外部组件框图
图1B示出了图1A所示PID的主要内部组件框图;
图1C示出了包括保护客户端设备免受各种威胁的安全装置在内的系统架构;
图1D为用户在无保护网络中使用的客户端设备的操作方案的原理示意图;
图1E示出了客户端设备的用户不能确保其数据被全程保护的常见风险情况示意图; 图2A为根据本发明的一个方面,运行于便携式信息设备上的本地安全模块示意图;
图2B描绘了根据本发明的一个方面,包括应用程序级保护的安全模块的示意图,其中能够基于所述PID的应用程序来进行配置调整;
图2C和图2D示出了根据本发明的实施例的安全装置一种可配置方式,其中能够基于各种与PID 10的配置或者操作状态有关的因素来动态地配置瘦客户端和胖客户端;
图2E示出了根据本发明一个实施例的通信信道,该实施例帮助实现对瘦客户端或者主要安全相关功能由远程安全服务器加以执行的合成安全装置的操作;
图3A示出了根据本发明一个实施例的安全装置的框图,其中,能够基于PID的当前位置来自动配置存在于PID 10上的、可配置的安全模块;
图3B示出了根据一个实施例,适用于图3A所示安全装置的位置描述数据库的一个示例,其中,该数据库包含各地点或者地理位置的记录,且根据各地点或者地理位置相关的安全或危险级别,以安全或威胁等级对其加以标识;
图4示出了根据一类实施例的安全装置示意图,其中,能够基于PID 10的当前安全描述、PID 10的当前计算能力或者二者兼顾,对该安全模块进行自动配置;
图5A示出了根据一个实施例,图4所示安全装置中风险描述模块的架构示例;
图5B示出了根据一个实施例,用户行为跟踪模块执行处理的示例;
图5C示出了根据一个实施例,适用于图5B所示用户行为跟踪模块的多个行为模板示例;
图6A示出了根据一个实施例,图4所示安全装置中计算能力确定模块的架构示例;
图6B和图6C示出了根据本发明各实施例,包含于设备信息数据库中的几套数据表的示例,该设备信息数据库是计算能力确定模块的一部分;
图6D表现了根据本发明一个方面,一套所确定的PID配置类型的示例表;
图7A示出了根据一个实施例,用于确定安全威胁数据库待执行的更新类型的决策过程的流程图
图7B示出了根据一个实施例,如何根据所剩电池续航时间来选择各安全配置的简单示例的流程图;
图8A示出了根据本发明的一个方面,便携式设备构成的安全共享组的方案示例,该便携式设备与图1A所示PID通信连接;
图8B示出了由PID或者由图8A中所描绘的其他设备维护的、设备数据库形式的成员关系表的示例;
图8C示出了根据一个实施例的设备数据库部分的示例,该设备数据库包括关于列表中每一台设备的动态信息;
图8D示出了位于不同位置的不同便携式设备,该不同便携式设备能构成潜在的安全共享组成员;
图8E示出了根据一个实施例的安全重新评估过程的示例;
图8F示出了根据一个实施例,在设备安全共享组之间分布安全相关任务的过程示例;
图9A示出了根据一个实施例,用于组安全共享的任务数据库示例;
图9B示出了根据一个示范性实施例,与所需计算能力和可用性度量有关的各加载等级分类;
图9C示出了根据一个实施例,使便携式信息设备与图9A所示任务数据库相互作用来选择任务加以执行的流程图;
图9D示出了根据一个实施例,通过考虑与不同组设备有关的信任等级和分配该任务所需的保护等级来分布安全相关任务的流程图;
图10A示出了根据一个实施例,使安全共享组帮助设备获得安全更新的流程图;
图10B示出了根据一个实施例,使用安全共享组成员设备的集体情报来改善每一台单独设备的安全有效性的过程的示例;
图10C和图10D示出了根据实施例,PID将安全功能或者任务分布于安全共享组的其他成员的过程;
图10E示出了根据一个实施例,通过分布式安全处理的安全共享组的设备操作来共同执行的过程,其中,单独的设备共享关于其所发现的安全漏洞的信息,从而使其他组成员能够采取保护措施;
同时,该发明能够以各种修改和替代形式来实现,其细节已通过附图的示例方式展现并将加以详细描述。但是应予理解的是,其目的并非将本发明限制于所描述的具体实施例。
相反,在如随附权利要求书所限定的本发明的精神和范围内,本发明涵盖所有修改,等值和替代实施例。

具体实施方式

[0018] 图1A示出了一台示例性便携式信息设备(PID)10的框图。PID 10可以是智能手机、PDA、UMPC、MID或者任何其他体积小、重量轻的计算和通信设备。PID 10包括紧密的外壳12和用户接口,该外壳12足够小从而容易地使设备便携,该用户接口包括显示屏14及例如键盘16的用户输入设备。PID 10的该显示屏和用户输入设备能够整合为触摸屏
[0019] 图1B进一步示出了PID 10附加的功能组件的框图。PID 10进一步包括计算机电路,例如与数据存储器接口的处理器20,该数据存储器包括RAM 22a和非易失性存储器22b。处理器20还与连接到天线26的无线通信电路24接口,该无线通信电路24能够采用移动电话无线通信(CDMA、GSM、Iridium或者诸如此类)、Wi-Fi、蓝牙(Bluetooth)或者任何其他这类通信电路的形式。应予理解的是,处理器20与用户接口设备及其他任何能够形成PID 10一部分的外围设备接口。PID 10还包括具有板载能量源30的电源28从而实现真正的便携和移动操作,该板载能量源30可以示例为如图1B所示的电池的形式。电源28通过能量源30为PID 10的全部组件提供合适的动力,并且包括电路以支持外接电源为操作PID 10供电和为能量源30充电。
[0020] 尽管目前实际设备倾向于采用某些主导技术,例如基于CMOS的微控制器、DRAM、非易失性闪存、用于通信的射频设备、蓄电池等等,但应予理解的是,本发明并不限定于任何特定技术。本发明的一些方面是针对于应对经常由小型个人计算和通信设备带来的挑战,但并未针对特定的体系结构或者技术,一方面,其先天允许在性能和用户体验之间加以取舍,另一方面,其先天允许在能量需求、便携性和尺寸之间加以取舍。
[0021] 当用作数据通信设备时,例如PID 10的便携式设备通常链接到主机网络,该主机网络相应提供到例如因特网Internet的广域网的连通。在具有智能手机类型的3G设备情况下,主机网络可以由蜂窝电话服务提供商维护。其他常见的主机网络类型可包括局域网(LANs)上的IEEE 802.11 Wi-Fi热点(hotspots),该局域网通过网络服务提供商(ISPs)连接到Internet。便携式设备还能够与其他设备连接以形成网状网格。不管主机网络方案的类型如何,任意一种方案都是客户端-服务器模式,例如,PID从另一台计算设备获取例如Internet连接技术的任意一种服务,其中,PID是客户端,该提供服务的计算设备是服务器。
[0022] 图1C示出了包括保护客户端设备150免受各种威胁的安全措施在内的系统的体系结构。服务器100控制从例如Internet的外网110传播到网络140的信息流量。客户端设备150代表各种各样PID中的任意一种。客户端设备150运行各种应用程序160。服务器100运行各种应用程序130,该应用程序130支持或帮助实现客户端应用程序160的操作。应用程序130的一个例子为Web服务器应用程序。除了支持或帮助实现客户端应用程序的基本功能的服务器应用程序以外,服务器还有用于安全的应用程序。管理控制台120为管理员提供用于控制服务器应用程序130以及用于改变不同的应用程序设置的访问。管理控制台120具有自身的图形用户接口(GUI),该GUI使服务器管理员能够实时调整服务器应用程序130。通过控制台120,管理员既能够控制用于安全的应用程序,又能够控制服务器上操作的其他各种应用程序。
[0023] 图1D是用户在无保护网络210中使用的客户端设备200的操作方案的原理图。客户端设备200运行各种客户端应用程序240。当使客户端设备200的用户尝试在咖啡馆、旅馆、机场或者其他公共场所访问Internet或者尝试在这些地方加载软件更新时能够采用这样的方案。
[0024] 按照惯例,客户端200需要装备有自己的安全应用程序230。通过采用管理控制台220,客户端设备200的用户能够调整安全应用程序230的设置,从而基于用户可感知的需求来设置保护等级。比如,当用户通过公共网络连接到Internet时,该用户可能认为需要提高反病毒扫描程序的主动防御能力,该反病毒扫描程序是安全应用程序230的一部分。这一方案是胖客户端安全应用程序的一个示例,该胖客户端安全程序运行于客户端设备230本地来为客户端应用程序240提供保护。
[0025] 这一方案所面临的一个挑战在于,由于运行客户端应用程序240需要占用系统资源,因此胖客户端安全应用程序230可能受限于系统资源不足。类似地,由于运行安全应用程序230需要占用计算资源,因此客户端应用程序240可能受限于计算资源枯竭。即使具有足够的计算资源,由于安全应用程序230和客户端应用程序240的密集处理导致电池耗尽,会显著降低便携式信息设备在两次充电之间的移动性和可用性。由于这些以及其他原因,常见的胖客户端安全装置并不能完全替代例如以上结合图1C所描述的全局性安全装置。 图1E示出了客户端设备的用户不能确保其数据被全程保护的情况示意图。尽管用户能够确保家庭和工作网络受到如主机网络防火墙的安全服务器的保护,但用户在其他地方无法具有同样的把握,在这些地方,用户的设备可能被突破了用户设备上任何不够可靠的(non-robust)的本地防火墙或者其他安全措施的黑客攻击或者未知程序所控制。
[0026] 图2A为根据本发明的一个方面,运行于便携式信息设备上的本地安全模块300的示意图。此处所用的术语“模块”意味着真实的设备或者组件,该设备或者组件可以使用硬件例如通过现场可编程阵列(FPGA)的专用集成电路(ASIC)来实现,或者,作为软硬件的结合例如通过微处理器系统及一套指令来实现安全模块功能。模块还可以通过上述两者的组合实现,某些功能由硬件帮助实现,以及另外的功能由软硬件结合帮助实现。在某些实现方式中,能够在执行应用程序的PID处理器上执行模块的至少一部分,甚至在某些情况下执行模块的全部,该执行应用程序的PID处理器例如为PID 10的处理器20。因此,安全模块300能够以各种各样的形式实现,并且不应被本文所示例的任何特定实现方式所限制。
[0027] 安全模块300执行一个或多个安全相关功能的任意组合,诸如防御不需要的内容302、检测/去除不需要的内容304以及无效威胁306。下面仅笼统的通过示例的方式对这些安全相关功能加以描述,并且这些安全相关功能并非本发明的精神范畴内应用安全模块
300所必需的或详尽的安全功能列表。各种各样其他的安全相关功能可以附加于或者取代这里所示例的任何功能。
[0028] 防御不需要的内容302拦截不需要的内容以及不期望出现的数据流量,所述不需要的内容诸如病毒、蠕虫和其他的恶意软件、恶意广告软件、间谍软件、垃圾邮件等等,所述不期望出现的数据流量例如黑客攻击,在这些威胁或程序的任意一种被置于本地设备之前进行上述拦截。通常,这一功能包含在防火墙处拦截内容或数据流量,或者使其转向。检测/去除不需要的内容304适用于已突破防御功能并且目前以某一形式存在于本地设备的内容。这一功能的典型示例包括基于数据库的病毒定义进行病毒扫描,以及移除或隔离这些程序指令或相关数据。无效威胁306适用于在进程中检测恶意内容或者检测攻击或威胁,并且包含采取行动来终结任何可能的程序或进程、中断网络流量以及将系统恢复为上一次已知的安全状态。
[0029] 安全模块300包括各种各样的组件,诸如防火墙308、消息过滤器310、反恶意软件/恶意广告软件的拦截/移除工具312、系统备份/恢复工具314以及入侵防御或检测系统(IPS/IDS)316。这些组件能够以不同的组合工作来实现安全模块300的各种功能。
[0030] 在一个实施例中,安全模块300帮助实现其功能的可配置性。例如,一类可配置性为能够选择性地开启或关闭个别组件或功能。另一类可配置性为能够动态调整个别功能或组件的操作。例如,在一个实施例中,基于操作者或系统的需求,能够将防火墙308或IPS/IDS 316的操作设置调整到更积极或者更消极的保护等级。
[0031] 在另一个实施例中,反恶意软件/恶意广告软件组件312是可调的。反恶意软件/恶意广告软件组件312具有已知威胁定义数据库,所述威胁定义数据库用于扫描数据存储来识别任何已知威胁的存在。在一个实施例中,能够基于系统或用户需求,通过附加的威胁定义来对所述威胁定义数据库加以限制或扩展。
[0032] 在相关实施例中,能够自动调整安全模块300的各种其他操作设置,即,无需用户干预。本发明的各方面表明,可以对各种不同的安全功能或者组件的不同操作设置加以调整,而不受本文所描述示例的限制。
[0033] 图2B描绘了根据一个实施例,包括应用程序级保护的安全模块,其中,能够基于PID的应用程序来进行配置调整。应用程序级过滤器320和防火墙322从各种OSI模型层获得关于本地系统操作的信息。引擎324借助于指令描述数据库326来隔离已知威胁或攻击,并且分析输入流量。在指令描述数据库326的一个实施例中,采用XML格式来描述威胁。每一条威胁描述327可以包括不同的信息项,诸如,应用程序类型、应用程序版本、与该应用程序有关的注册表项、易受攻击端口等等。对于每一条威胁描述,采用不同的信息项来建立用于监视和过滤输入网络流量的专门的规则。针对特定威胁,能够对规则进行调整,从而处理某些类型的攻击或者用于专门的应用程序。
[0034] 引擎324与两条信息信道通信连接:应用程序状态信息328和连接状态信息330,他们又依次分别与应用程序级过滤器320和防火墙322连接。每次当网络连接建立时,或者每当应用程序335开始使用特定端口时,引擎324都基于数据库326的内容,确定是否有表明存在任何已知威胁的任何明显可能性。通过这一方式识别出的任何威胁将构成相对较小的、但具有更高相关性的可用已知威胁的子集。从而,能够对这一小型子集进行实际分析和跟踪。
[0035] 由于连接状态信息330主要包括通信协议和相关信息,如网际控制信息协议(ICMP)指令,因此防火墙322在运行中仅仅拦截总数据流量的一小部分。对于大部分的潜在威胁,仍然需要更彻底的分析和关于威胁及其对目标计算机系统的影响的更详细的信息。因此,仅仅通过分析TCP/IP协议所获得的信息不足以提供可靠的等级保护。
[0036] 在应用程序级,对已知的每一个应用程序335的易受攻击点的具体系列而言,专门的过滤器320使对其上的威胁分析加以集中成为可能。应用程序级过滤器320拦截TCP/IP服务332和通信协议层334之间的流量。由引擎324针对每一个应用程序分别对已拦截流量进行分析。在一个实施例中,安全系统识别活动应用程序(例如,MS Outlook Mobile)。在相关的实施例中,系统基于所采用的端口和所使用的数据通信协议类型来确定活动应用程序(例如,Web浏览器,游戏等)的类型。因此,系统或者了解了特定的活动应用程序,或者了解了使用中的应用程序的类型。根据这一信息,系统选择适合于当前应用程序或活动程序的合适的保护机制。这样,系统将安全资源仅集中于相对而言小型的规则群组和威胁描述327,该规则组和威胁描述327为与显露出的、当前运行的特定应用程序有关的规则组和威胁描述327。
[0037] 图2C和图2D示出了根据本发明的实施例,安全装置另一种可配置方式。分别由图2C和图2D示出的瘦客户端和胖客户端配置能够基于各种与PID 10的配置或者操作状态有关的因素来动态地加以配置,这将在下面进行更加详细的描述。由这些实施例提供的动态可配置方式能够在允许用户设备具有更好的计算能力、或更好的移动性、或上述二者兼备的情况下保持足够的安全等级。因此,用户可以确信无论其可能在哪里连接到网络,都会存在合适的安全配置。如果用户设备位于已知安全的特定局域网内,则选择图2C的配置,该配置依赖存在于本地网络服务器上的安全应用程序。这种情况下,用户设备将采用瘦客户端安全配置使安全相关的计算负载彻底卸载到服务器上。在这种瘦客户端配置中,用户设备具有更多可用于运行普通应用程序(非安全应用程序)的计算资源,因此能够达到更好的性能和能量利用率。
[0038] 另一方面,如果用户设备被确定为通过局域网连接到Internet且未知该局域网是否具有足够的安全保障,则选择图2D的配置。图2D的方案具有以胖客户端配置方式本地运行于用户设备上的安全应用程序。尽管用户设备用于非安全应用程序的计算性能降低,但图2D所示的胖客户端安全装置将在缺乏保护的网络中提供足够的安全保障。
[0039] 在相关实施例中,能够对瘦客户端/胖客户端的安全装置加以合成,其中某些安全功能被卸载到服务器上,同时另外的安全功能在用户便携式信息设备上本地运行。例如,在一个这样的合成配置中,PID 10运行精简了功能的防火墙,该防火墙对输出数据进行网络流量控制并且拦截全部未授权的输入流量,但并不针对潜在的有害数据负载承担对已授权的输入流量进行扫描的责任。在这一合成配置实施例中,安全服务器保留计算密集型的、针对潜在威胁来扫描数据通信的防火墙功能,以及对那些威胁做出反应。
[0040] 图2E示出了根据一个实施例的通信信道,该实施例帮助实现对瘦客户端或者主要安全相关功能由远程安全服务器加以执行的合成安全装置的操作。这一方案可以在客户端设备350的用户相对于安全服务器352而言是远程的但希望使用安全服务器352资源的情况下采用。此外,该方案可以在客户端设备350的用户请求或者要求使用远程安全系统的情况下采用,在此情况下安全服务器352将为客户端设备350执行各种安全功能。在本发明的这一方面,与安全服务器352的安全连接包括虚拟专用网络(VPN)连接354以及附加的加密连接356,VPN连接354嵌入加密连接356之间。在一类实施例中,基于已知的客户端标识符实现加密,例如,用户个人数据,或者唯一的硬件参数。加密所基于的各种参数能够由用户预先创建,即,在用户希望使用安全连接之前。在客户端设备350和安全服务器352之间建立安全连接之后,客户端设备350的用户能够安全地访问安全服务器352的资源或其外部连接358。外部连接358可以是Internet连接,或者是到一些其他普通的不具有安全措施的网络的连接,该不具有安全措施的网络通过运行于安全服务器352上的保护软件来进行安全保护。在相关的实施例中,加密连接356监视VPN连接354的完整性,并且在监视发现任何原因所导致的计划外连接终止时采取步骤以恢复连接。
[0041] 本发明的另一方面的目的在于执行决策标准,以确定何时以及如何为PID自动地配置安全装置。可以进行本地配置,例如通过PID 10上运行的配置进程。替代地,可以进行远程配置,例如通过远程安全服务器。在一个实施例中,在本地进行配置,本地运行于PID10上的安全配置模块用于确定何时进行安全模块的配置或者重新配置,以及建立何种操作设置。该安全配置模块能够接收、监视或者另外获得与以下各项有关的信息:系统配置、PID
10的操作状态、PID 10的相关历史记录、全局安全环境信息、用户偏好或者这些项的任意组合。反过来,这一信息将用于安全模块的自动配置。系统配置数据可以包括:设备类型、处理器速度、内存大小、处理器总线速度、电池容量、已安装应用程序列表以及常用应用程序列表。
[0042] 在远程进行安全模块配置的实施例中,PID 10与远程安全服务器之间建立连接,并将系统配置、操作状态、相关历史记录、全局安全环境信息、用户偏好数据等等传送给服务器。服务器接收并分析被传送的数据,并向PID 10发回指令以调整安全模块的配置设置。
[0043] 操作状态数据可以包括诸如PID 10的实际位置、网络流量速度、网络流量大小、剩余电量、已分配内存的大小、当前运行的应用程序列表或者处理器闲置时间。PID 10的相关历史记录包括诸如最近检测出的攻击历史记录、高于正常频率的查验(Ping)或来自未知源的连接尝试以及诸如此类。这样的项能够关联到位置信息。全局安全环境信息可以包括例如所存在威胁的当前总体状况。比如,特定蠕虫的传播、由于拒绝服务攻击(denial-of-service attacks)引起的服务器运行中断模式等等,将导致整体威胁等级提高。安全公司对这一类型的信息进行持续的监视,并且能够在例如安全更新时提供给PID10。用户偏好可以包括诸如用户提供的风险耐受输入,或者性能需求。
[0044] 图3A示出了根据一个实施例的安全装置,其中基于PID 10的当前位置能够自动配置存在于PID 10上的可配置的安全模块400。安全模块400包括胖客户端安全部分402以及瘦客户端安全部分404。胖客户端安全部分402与上述安全模块300类似,可包括各种安全功能和组件,每一安全功能和组件都能够被单独配置或调整。
[0045] 瘦客户端安全部分404帮助实现与一个或者多个外部处理器的连接和信息交换,所述外部处理器可以表现为至少一个安全服务器的形式或者至少一个其他计算设备(移动电话或者其他)的形式,与PID 10的安全模块400一起,作为一个组来共同提供安全相关功能。
[0046] 瘦客户端部分404包括安全服务器连接模块406,该安全服务器连接模块406管理到一个或一群远程安全服务器的一个或者多个连接,并且帮助实现与一个或多个服务器之间的数据交换。在一个实施例中,安全服务器连接模块406配置有各可用安全服务器的网络地址以及执行用于决定采用哪一个或哪些安全服务器的逻辑(如果需要可动态改变服务器),以及基于由任务协调模块408(将在后续加以讨论)建立的配置在安全模块400和安全服务器之间传输数据。一类实施例采用了如上述参考图2E所述的加密信道连接。
[0047] 瘦客户端安全部分404的安全组连接模块407帮助实现本发明的一个方面,其中由组来为PID 10提供至少一些安全相关功能,该组由至少一个其他设备构成。在一类实施例中,当配置为组处理模式时,能够在区别于PID 10的一个或者多个移动设备上处理为PID 10的利益而操作的某些安全功能或者组件。在相关类型的实施例中,设备组交换安全相关信息来帮助实现有利于整个组的集体安全相关情报。参与安全处理分布以及为了集体安全利益参与信息交换的设备组,在下文中称为安全共享组。因此,安全组连接模块407动态建立并与其他构成组成员的设备协调通信。
[0048] 在一类实施例中,安全组连接模块407包括帮助实现组互联的驱动程序或者其他程序指令。在另一类实施例中,安全组连接模块407采用由PID 10的操作系统提供的驱动程序和服务来实现组互联。其他实施例使用特定于模块的和标准的安全功能的组合。在这些实施例的任意一种中,驱动程序和程序指令在通信域内的安全共享组成员之间建立小型自组织(ac hoc)网络。为了建立这一网络,可以采用任何合适的进程,上述进程执行以下必需操作:识别已知为安全共享组成员的其他设备或者那些能够潜在的成为安全共享组成员的其他设备,允许那些其他设备从PID 10接收安全相关的进程分布信息,并且允许其他设备根据已协调的安全共享组功能向PID 10发送安全相关的进程分布信息。在各种实施例中,可以使用用于ad hoc网络的已知技术,例如,由Kluwer Academic出版社在2004年出版的、作者为Xiuzhen Cheng、Xiao H. Huang和Dingzhu Du的《Ad Hoc Wireless Networking》一书中所描述的技术,加上本文所引述的技术。下面将在组安全操作的背景下,对安全组连接模块407的相关实施例的操作进行更详细的描述。
[0049] 瘦客户端安全部分404还包括任务协调模块408,该任务协调模块408在胖客户端安全部分402和远程安全服务器或设备组之间交换信息。该任务协调模块408的职责还包括采取合成安全装置时确保合适的整体操作,其中,采取合成安全装置的情况下胖客户端安全部分402的一部分通过瘦客户端安全部分404与远程安全服务器一同操作。
[0050] 图3A的安全装置进一步包括安全配置模块410,该安全配置模块410与安全模块400接口,并且基于各输入及决策标准412来建立或调整安全模块的配置和操作设置。一类输入为位置确定模块414提供的PID 10的当前位置。位置确定模块414对PID 10位于何处或者PID 10为了连接到Internet可能采用哪一种本地网络加以实时地确定或者简单评估。在一个这样的实施例中,位置确定模块414包括全球定位系统(GPS)接收器以确定实际位置。在相关实施例中,为了推断位置或者推断可能作为PID 10通信载体的本地网络的网络标识符,位置确定模块414采用分析数据包的网络拓扑分析器。两种方式所提供的本地信息的性质不同,因此这两种方式可以彼此结合使用以便更好地评估位置或者所使用的网络。在另一个相关实施例中,位置确定模块414包括允许设备用户输入他/她的位置的用户接口组件。该用户接口输入可以与GPS位置或者网络拓扑测定结合使用来对位置或网络标识符进行微调。比如,用户可能面临两个或三个可能的选择并从中选择所使用的网络,那些选择基于由其他位置确定方式推断出的信息自动生成。
[0051] 在本发明各方面的精神和范围内,能够通过各种方式来查明客户端设备的位置。许多用来确定网络设备地理位置的其他技术被人所熟知,并且任何合适的技术都能够被采用。
[0052] 安全配置模块410使用位置标识符来查明当前位置的安全风险描述。基于该安全风险描述,配置模块410使用决策准则412来为安全模块400设置合适的配置。安全配置模块410访问位置描述数据库416以从不同地理位置的本地网络列表中查找当前位置。
[0053] 图3B示出了包含各种地点或者地理位置的记录的位置描述数据库416的一个示例,其中,对于各种地点或者地理位置的记录,根据其相关的安全或危险级别,以安全或威胁等级对其加以标识。例如,对于某些已知在服务器位置处具有良好的网络安全(例如在图1C所示的方案中)的地点,一旦在用户将被关注的范围内,则可以将其标识为具有“安全”状态。在一个实施例中,数据库包含遍及全世界的地点记录。PID 10上可以维护一份数据库的用户拷贝,并且只要客户端设备与一个包含有数据库主(最新的)版本的安全系统服务器通信,就能够自动进行可用内容更新。替代地,安全配置模块410能够访问远程安全服务器来询问位置描述数据库416。可以按照图3B所示的实施例对存储在数据库中的地点进行分类:确认安全、用户指定为安全、可能安全以及可能不安全。在另一个实施例中,使用用于确定PID 10位置的不同技术的组合来确认“安全”状态并对抗本地欺骗企图等等。可以采用各种其他的安全等级分类或者名称。
[0054] 在一个相关实施例中,系统支持对安全状态所依赖的条件加以定义。因此,用户能够基于其观察及数据库中所包含的信息来进行自己的安全评估。在另一个相关实施例中,根据本发明的实施例对客户端设备进行配置,使其在与最近的运行有安全应用程序的安全服务器连接后,刷新自身的位置数据库。
[0055] 图4示出了根据一类实施例的安全装置,其中,基于PID 10的当前安全描述、PID10的当前计算能力或者二者兼顾,能够对安全模块进行自动配置。该方案包括可配置的安全模块400,该安全模块400参考上述图3A所述,能够被配置为瘦或胖客户端或者为合成配置、模式配置,以及可以具有可进行使能或禁用选择的各种安全功能或组件,或者具有可动态调整的各种操作设置。安全模块400由安全配置模块450加以配置或调整,该安全配置模块450可以与安全模块400一起位于PID 10本地,或者可以位于PID 10的远程并且通过网络访问安全模块400。
[0056] 安全配置模块450包括配置确定模块460和配置设置模块465。配置确定模块460包括决策准则,该决策准则读取和处理来自于风险描述模块470、计算能力确定模块480以及用户输入模块490的至少其中之一的输入,以确定适于为安全模块400采取哪一种配置或操作设置。配置设置模块465在安全模块400中依次设置已确定的配置或操作设置。
[0057] 在一个实施例中,出于降低计算机电路上由可配置的安全模块400操作产生的计算负载、同时保持防御当前安全风险的安全等级的目的,安全配置模块450的配置确定模块460和配置设置模块465将安全模块400的操作设置配置为由安全配置模块450基于来自风险描述模块470的输入确定。
[0058] 在这样的一种方式下,配置确定模块460维护可用于安全模块400的安全相关功能的分级。根据由风险描述模块470所确定的一系列当前安全风险,对该安全相关功能的等级进行排序。因此,在这个实施例中,该分级方案是动态的;然而在更多的基础实施例中,可以采用安全相关功能的静态分级方案。根据抵御该当前安全风险系列所需的功能重要性,对该分级进行排序。例如,对于运行有web浏览器程序而未运行邮件客户端程序的PID10而言,防火墙以及反恶意软件/恶意广告软件功能与例如消息过滤器功能相比,对于保持抵御可能的该安全威胁系列而言更加必要。
[0059] 在相关实施例中,根据较细微的粒度对功能必要性进行分级,其中,用于安全相关功能的每一级别的操作设置可以是不同的。例如,反恶意软件/恶意广告软件功能可以被调整为抵御与当前PID 10上执行的应用程序有关的特定威胁,而非提供抵御全部已知威胁的更宽范围。
[0060] 在一个实施例中,配置确定模块460响应来自风险描述模块470的一系列当前安全风险,获取或选择安全相关功能的分级顺序,并且基于计算能力模块480所确定的当前计算能力,进一步从分级中选择由更加必要的功能构成的子集。这样,可用的计算能力越高,通常所提供的安全功能越多;但是,在降低计算能力的情况下,安全性被限制为仅仅针对必要特征。因此,安全性被基于环境智能且动态地加以限制,导致配置设置模块465设置安全模块400的配置或操作设置,当更多必要的安全相关功能的子集被提供时,由安全模块400的操作所引起的计算机电路上的计算负载降低,从而在为PID 10提供相应于该当前安全风险系列的安全保护时,优化了PID 10的可用性。
[0061] 在相关的示例中,随着计算能力逐步降低,在PID 10的电力被消耗的情况下,配置设置模块465按照必要性从低到高,逐步禁用安全相关功能,从而为PID 10的非安全功能保持计算能力。
[0062] 在各实施例中,风险描述模块470从其查明的当前风险描述获得信息。图5A示出了一个示例,其中风险描述模块470与多个不同的风险相关信息源接口。在所示示例中,风险描述模块470与位置确定模块414和位置数据库416通信(位置确定模块414和位置数据库416如上文所述),以获得与当前位置有关的信息并确定与当前位置有关的相应安全等级。在这个示例中,风险描述模块470还与安全服务器连接模块500接口,该安全服务器连接模块500使风险描述模块470能够通过网络获得安全相关信息。这类信息的示例包括与一般威胁等级有关的信息,并且在与位置确定模块414结合使用时,包括具体到当前位置的威胁等级。
[0063] 风险描述模块470评估和重新评估PID 10所面临的一系列当前安全风险。在一种方案中,风险描述模块470进行周期性的重新评估,例如达到某个预定的时间间隔。在另一种方案中,响应某些有关风险描述的事件的出现而执行重新评估,例如,新的应用实例的开启。在相关实施例中,周期性和响应事件这两种情况下都执行重新评估。在这一类实施例中,对某些并不会频繁改变的风险指标进行周期性的重新评估,例如当前威胁等级的指标;同时,对其他倾向于随操作模式或运行于PID 10上的应用程序的改变而突然改变的安全风险指标进行响应事件的重新评估,例如网络流量。
[0064] 在一个实施例中,应用程序分析模块505检查PID 10操作系统的注册表以确定设备上安装了哪些应用程序。根据这一信息,风险描述模块470能够与应用程序分析模块505结合使用来确定PID 10的具体易受攻击点。例如Web浏览器的应用程序与例如电子邮件应用程序或者电子表格相比,具有不同的易受攻击点描述。在相关实施例中,应用程序分析模块505检查当前活动的应用程序,相比于全部已安装的应用程序,当前活动的应用程序范围更小。因此,在一个实施例中,依赖于当前瞬间所使用应用程序的风险描述指标随时间而改变。
[0065] 安全历史记录模块510提供有关能够影响当前威胁等级的近期安全相关事件的信息。例如,如果防火墙已经检测到未知设备尝试访问PID 10的频率异常,这可能是入侵风险增加的标识。事件历史记录还与位置信息有关,以致不同的位置可能具有不同的有关历史记录。因此,如果用户将PID 10带到新的位置,针对那一位置将进行相关历史记录的检查。
[0066] 用户行为跟踪模块520跟踪用户行为以更新风险描述,该风险描述反过来用于调整可配置的安全模块400的配置。用户行为跟踪适用于以下实施例:可配置的安全模块400不依赖任何远程计算设备,完全运行于胖客户端模式;可配置的安全模块400运行于与安全服务器结合的瘦客户端模式或者合成模式;以及,可配置的安全模块400运行于分布式安全共享组处理模式。
[0067] 图5B示出了根据一个实施例,用户行为跟踪模块520执行处理的示例。在步骤522,用户行为跟踪模块520跟踪并记录用户行为。跟踪动作可包括由操作系统和应用程序生成的常规日志,诸如由可配置的安全模块400的反病毒功能生成的常规日志(例如,被调用的使用共享库的系统功能,等等)以及简单行为日志(例如,浏览器应用程序的启用、Web页的打开、电子邮件客户端应用程序的启动、即时通信(IM)客户端的启动,等等)。
[0068] 当使用跟踪进程确定用户已经执行了足够数量的动作时,从某一具体时间点开始执行对用户被跟踪的行为和预定义行为模式加以比较的进程,如步骤524所示。在一个实施例中,以用户行为模板的形式保存预定义行为模式。图5C示出了根据一个实施例的多个行为模板示例。
[0069] 在一个实施例中,用户行为模板包括标准或者阈值,必须满足该标准或者阈值才认为使用模式与该模板匹配。这一实施例在能够考虑到会影响风险描述或者要不然触发可配置的安全模块400具体配置的行为模式的情况之前,需要用户在PID 10上执行足够数量的动作或者事务。如果在步骤526确定与用户行为模板中的任一种已知使用模式匹配,则使能相应的安全策略,如步骤528所示。比如,倘若用户行为与模板10042(与重复下载活动相对应)匹配,则对可配置的安全模块400加以配置,改变其防火墙设置以使能更积极的筛选。此外,使能入侵防御,从而在对文件的访问授权之前,在隔离的沙盒(sandbox)内对全部已下载文件进行具体筛选。在不存在已识别使用模式的情况下,该已识别使用模式能识别特定风险增加,可配置的安全模块400不会使能特定的保护措施。
[0070] 如果步骤526的结论表明特定使用序列没有匹配已知的模式或者模板,该序列仍然可能引起关注。在一个示例性实施例中,步骤522的行为监视基于一套预设标准适用于对重复活动或者感兴趣的活动进行检测和标记的逻辑。在这一实施例中,重复的活动可能导致风险增加;但是,在不存在已知的模式或者模板的情况下,用户行为跟踪模块520不能如此确认。因此,在步骤530,将作为重复模式或者感兴趣模式而被检测出的使用模式记录为新的使用模式,并且如果可配置的安全模块400运行于与所采用的外部处理器相互作用的瘦客户端模式或者合成模式,则在步骤532视情况而定,或者将该新的使用模式发送给安全服务器,或者发送给组成员,以备在步骤534进行进一步的分析。安全服务器或者设备安全共享组能够对新的模式进行分析,看其是否与其他使用者的类似模式相匹配,或者在同一用户的使用模式中是否具有吻合的历史记录。此外,安全服务器或者设备安全共享组上功能足够的设备可以执行更为深入的分析,以确定检测出的使用模式是否代表特定风险或者易受攻击点。从而,能够产生新的已知使用模式或者新的使用模板并分送给PID 10,并且如果合适,分送给其安全共享组上的其他设备。
[0071] 再次参考图4,计算能力确定模块480为安全配置模块450的使用提供有关PID10的系统性能信息。这一类型的信息使由安全配置模块450来为可配置的安全模块400选择合适的配置,从而安全系统的操作不会导致系统性能超负荷。在一类实施例中,认为结合由计算能力确定模块480提供的计算能力信息与由安全配置模块450提供的风险描述信息,能够在PID 10的性能需求和安全需求之间达到适当的平衡。
[0072] 计算能力确定模块480评估以及重新评估PID 10的计算能力可用性的当前状态。在一种方案中,计算能力确定模块480进行周期性的重新评估,例如达到某个预定的时间间隔。在另一种方案中,响应某些有关计算能力的事件的出现而执行重新评估,例如,新的应用实例的开启。在相关实施例中,周期性和响应事件这两种情况下都执行重新评估。在这一类实施例中,对某些并不会突然改变的计算能力指标进行周期性的重新评估,例如电池容量;同时,对其他倾向于随操作模式或运行于PID 10上的应用程序的改变而突然改变的计算能力指标进行响应事件的重新评估,例如可用内存。
[0073] 图6A示出了在一个示例性实施例中,计算能力确定模块480所接收输入类型的几个示例。输入540是设备的类型指标,这里设备为PID 10。计算能力确定模块480还能访问设备信息数据库545,该设备信息数据库545可位于PID 10的本地或者远程,包含不同类型设备的分类性能测度。由于在许多情况下设备类型是静态信息项,因此可以于在PID10上安装安全装置的过程中确定这一信息。图6B示出了包含在设备信息数据库545中的一组数据的示例表。显示器尺寸、处理器类型、数据存储类型和大小、电池容量以及通信配备能帮助实现对每一台设备性能特征的评估,包括电池消耗率。设备信息数据库中数据的另一个示例为由微软公司(Microsoft Corporation)Windows XP操作系统的系统信息(Systeminfo)实用工具所产生的信息。
[0074] 图6C是包含在设备信息数据库545中的一组数据的另一个实施例,其中,对每一类设备进行预先的性能评分或评级。基于该性能评级,如图6D所示,可以确定特定的配置类型。图6D中所示的配置类型根据不同的实施例,可以在安装安全装置时确定、在安装更新时确定或者动态确定。一个可动态配置的实施例适用于可升级或可扩展的情况,诸如设备易扩展存储卡插槽(比如,micro SD卡插槽),或者能够由用户为设备安装的高容量电池。
[0075] 再次参考图6A,处理器监视器550提供PID 10处理器的负载指标,并且提供相应的输入给安全配置模块450。在一个实施例中,处理器监视器550测量处理器处于闲置状态的时间比率。例如,一些处理器采用时钟速度降低模式,诸如在其闲置状态中采用英特尔公® ™司的Speedstep 功能或者AMD公司的Cool ‘n Quiet 功能。在本发明的实施例中,可以对这些模式下的操作进行监视和使用,作为处理器负载的测度。处理器负载是PID 10的实际使用密度的一种指标。这一信息用于确定PID 10除了处理运行其他占用处理器负载的应用程序以外,处理运行安全模块400的能力。同样,内存监视器560监视内存配置,并提供相应的输入给安全配置模块450,其中,内存配置是运行安全模块400的系统负载和能力的另一种测度。在PID 10的处理器负载和内存资源相对较高的情况下,配置模块可以暂时配置具有简化功能的安全模块400(如果这样做没有与考虑当前风险描述和用户指定的耐受程度的安全需求相矛盾)。
[0076] 网络流量监视器570提供到安全配置模块450的输入,指示PID 10的网络输入和输出数据流的当前状态。就PID 10使用现状的性质而言,可以参考输入和输出网络数据流。作为直接测度,网络流量指示可能为安全模块400的某些配置类型所需的可用通信带宽。作为间接测度,网络流量、数据流的主方向以及输入输出数据量比率一起,指示用户的使用强度和对于设备性能的相应需求。在一个实施例中,安全配置模块450把来自网络流量监视器750的输入看作确定是否将安全模块400配置为运行在瘦客户端模式或者胖客户端模式的部分因素,其中前者相对于后者需要更多的通信带宽。
[0077] 电池容量指示580向安全配置模块450提供电池状态信息。电池状态是计算能力限制的参考信息,这是因为即使处理器、内存和通信带宽足以支持强健的安全配置,但该种配置中安全模块的计算负载将需要更为密集的能量。在PID 10的能源储备有限的情况下,可以指令将安全模块400配置为简化负载操作模式。
[0078] 再次参考图4,安全配置模块450能够进一步接收来自用户输入模块490的输入,这使得PID 10的用户能够提供他或她的偏好以将该偏好纳入配置安全模块400的考虑之中。在一个实施例中,用户输入模块490通过用户接口提供滑动器或者其他用户可直观操控的装置,从而用户能够选择侧重安全或者侧重性能。比如,在某一时刻用户特别紧急地需要浏览Web的情况下,或者在需要平滑地运行图像密集型应用程序的情况下,用户可以设置滑动操纵装置为侧重性能。在相关的实施例中,用户输入模块490提供用户操纵装置来帮助实现对安全组件和其他背景程序的选择性关闭,关闭该安全组件能够改善性能。在另一种情况下,用户想要访问个人或者金融信息,则用户能够设置滑动操纵装置来指示侧重安全。
[0079] 本发明打算使安全配置模块能够采用任何合适的决策逻辑来编程,以基于该安全配置模块接收的各种输入来确定安全模块400的配置设置。此外,可以基于设备类型来选择或者公式化获得该决策逻辑。例如,具有较少计算资源和较窄通信带宽的智能手机设备可能具有在侧重于维护性能方面给予更多积极响应的决策描述,而上网本类型的设备则需要能力更强的处理器和更大的内存。
[0080] 不同类型的设备还能被配置为以不同的方式对相似的环境情况加以响应。比如,在安全配置模块450的输入要求降低归因于由安全模块400引起的计算负载的情况下,作为对该情况的初步响应,设备A可以优先从胖客户端配置迁移为瘦客户端配置;而设备B则可以在安全模块400保持在胖客户端模式的同时,优先减少安全模块400的功能。
[0081] 在一类实施例中,通过计算表示安全风险描述、计算能力以及用户输入设置的多变量输入的性能-风险向量来对安全配置模块450进行编程,以平衡在提供足够的安全风险防御等级的同时维护PID 10性能的需求。该多变量输入的每一个变量可具有不同的为其分配的权重,从而使相应的输入在公式中得到强调。在一个示范性实施例中,一些变量以下述次序加权(从最大权重到最小权重):电池消耗情况;
用户偏好;
位置;
运行的应用程序;
网络数据流;以及
综合数值的威胁等级。
[0082] 在安全配置模块450如何采用来自风险描述模块470和计算能力确定模块480的输入的另一个示例中,图7A示出了用于确定安全威胁数据库更新类型的决策过程,其中根据一个实施例来执行该安全威胁数据库更新。在步骤600,应用程序分析模块505检测PID10上当前所安装的应用程序。在步骤610,基于这一列表,应用程序分析模块505在三个更新选项中进行选择:选项620采用仅针对已安装应用程序的更新威胁描述来配置该威胁数据库。选项630配置该数据库,使其包括与已安装应用程序相关的威胁加上额外的威胁的描述,该额外的威胁的描述与具有相似特征的应用程序相关。比如,在Mozilla Firefox为已安装应用程序的情况下,选项630一般来说将对威胁描述数据库中与Web浏览器程序相关的威胁加以更新。在不包括用于减少其总体功能的规定的常见安全装置中,选项640将实现对全部已知威胁定义的完整配置。在一个实施例中,基于计算机能力确定模块480所确定的计算能力,基于处理器和内存容量,以及和可选择地基于当前负载条件,在三个选项中进行选择。在相关实施例中,可以将当前电池续航时间作为执行何种类型的更新的因素。
[0083] 图7B示出了如何根据所剩电池续航时间的函数来选择各安全配置的简单示例的流程图。随着PID 10的使用,当剩余的电池续航时间由高(长)到低(短)减少时,依次执行所示过程。一般来说,首先禁用非必要的安全功能,并且最后禁用更多必要的安全功能。在图7B的示例中,首先在步骤700禁用运行于PID 10上的安全系统管理控制台。由于该管理控制台仅是用户接口并且其本身并不执行安全功能,因此其构成了单纯开销系统资源的负载。
[0084] 在步骤710,系统确定是否存在活动的、与远程安全服务器之间的通信。如果存在活动的通信,其说明安全模块运行于在一定程度上依赖安全服务器的配置上。在这种情况下,跳过步骤720,该步骤720禁用帮助实现到服务器连接的加密通信信道。另一方面,如果安全模块未与安全服务器活动连接,则在步骤720禁用该加密模块。在步骤730,系统检查位置确定功能是否可用。如果可用(即未禁用),则保留位置数据库的相关管理功能可用,以支持基于位置的可配置功能。如果位置确定功能未被使用,则在步骤740禁用位置数据库和任何其他相关的功能。
[0085] 在步骤750,随着电池电量的进一步消耗,防火墙和反病毒功能逐渐被减至最低限度。参考图5,上述逐渐减至最低限度的一个示例为简化威胁描述数据库,使其在应对可能性较低的安全风险上消耗更少的系统资源。通过仅仅关注那些与当前应用程序类型最密切相关的风险,或者仅仅关注那些安装在PID 10上的特定应用程序,能够使花费在安全上的系统资源利用率更有效率。
[0086] 随着电池电量进一步地继续消耗,在步骤760,禁用位置确定、响应功能以及通信功能,仅为最必要的防火墙和恶意软件功能保持系统资源。某种情况下,需要对是否完全禁用安全功能加以判断以便仅为正在运行的应用程序保持系统资源,或者判断对于在PID 10上完全无安全保障的运行应用程序,其风险是否是不可接受的。因此,在一个实施例中,当电池电量严重不足时,比如说10%,设备提示用户许可无安全保障的运转。在相关实施例中,在安全系统失效的不同阶段会发出用户通知,从而使用户有能力来调整PID 10的资源管理行为。
[0087] 再次参考图3A和图4,在本发明的组协助安全功能方面,在一类组协助安全模式下,PID 10采用上述的配置模块410或者配置模块450将可配置的安全模块400配置为瘦客户端或者合成模式,其中,某些为有利于PID 10而操作的安全功能或者组件实际运行在一个或者多个不同于PID 10的便携式设备上,通过安全组连接模块407来帮助实现一个或者多个移动设备之间的数据交换。在相关实施例中,从预先确定的一群可信任设备中选择该组的一个或者多个设备,PID 10的安全相关处理分布于该组的一个或者多个设备。
[0088] PID 10能够基于各种环境或者输入,有选择地进入这一有利于PID 10的安全功能处理分布模式,诸如基于上述那些情况,为可配置的安全模块400选择瘦客户端、胖客户端或者合成模式的操作。另外,本发明这一方面的实施例使用任务协调模块408,或者配置模块410或450,用于选择将哪些安全功能或者组件分布到安全共享组(与在PID 10中本地处理相对),以及用于指定某些安全功能或者组件为特定的安全共享组成员。
[0089] 因此,在各实施例中,基于诸如PID 10的当前计算能力、PID 10的当前风险描述、PID 10的位置等因素,任务协调模块408,或者配置模块410或450,配置用于组分布安全操作的安全模块400。在这样一个实施例中,任务协调模块408,或者配置模块410或450,还将设备安全共享组的当前状态纳入考虑(包括当前组成员关系、组成员个体的计算能力、组成员个体的风险描述以及组成员个体的位置)。
[0090] 图8A示出了通过通信连接到PID 10的便携式设备802a-802构成的安全共享组的分布示例。在图8A所描绘的实施例中,安全组连接模块407建立并操作多跳(multi-hop)点对点(peer-to-peer)网络拓扑结构,例如无线蜂窝网格网络拓扑。在其他实施例中,采用各种其他的网络拓扑结构。示例包括星型hub-and-spoke(即,单跳single hop)、树型tree(即,根-枝root-branch层次结构)、基于网格型cell-based(即,具有相互连接的网格控制单元)。在一类实施例中,安全组连接模块407在一系列不同的网络技术中进行选择,以适合于现有环境。本领域技术人员应当理解,可以采用任何合适的拓扑结构。设备802a-d和PID 10之间的拓扑能够采用Wi-Fi、蓝牙或者任何其他的实用无线物理通信技术加以实现。在相关实施例中,安全组连接模块407采用诸如以上参考图2E所描述的加密隧道,来帮助实现安全共享组上PID 10和其他设备之间的安全通信。
[0091] 对于PID 10和便携式设备802a-802d而言,其基于预先定义的成员关系列表加入安全共享组。图8B示出了由PID 10或者其他设备802a-802d中的任何一个加以维护的、设备数据库形式的成员关系列表示例。这一示例中的该成员关系表包括四类设备:可信任设备、可能可信任设备、高风险设备以及不可信设备。取决于安全模块的配置,以及取决于其上分布或者由其协助的安全功能,被认为适合与该组连接的一系列设备可以具有不同类别,因而在一些配置中,仅有可信任设备被认为是可接受的,然而在其他配置中,除了可信任设备以外,还可以与可能可信任设备甚至高风险设备连接。
[0092] 在相关实施例中,该设备数据库包括关于每个列表设备的动态信息。该动态信息包括随时间改变的信息。这一信息能够被实时更新、在一定的间隔周期更新或者除此以外在发现附近设备过程中更新。图8C示出了一个这样的实施例。该设备ID可以基于设备序列号(S/N)、MAC地址、或者其他这样的硬编码标识、或者最好是难以或者不可能通过编程来改变的标识。在各种实施例中,当前风险描述信息或者当前计算能力信息的其中之一或者全部,能够构成风险或者计算能力的标准数量(如图8C中以计算能力为例)、代表风险描述或者计算能力信息的多个参数的代码(如图8C中以风险描述为例)、指向标准查找表项的指针或者例如XML形式数据的该风险/计算能力信息本身,在该标准查找表项中能够为风险描述或者计算能力信息的多个参数赋值。其他实施例能够以任意一种合适的形式来描述该数据。
[0093] 设备列表能够基于预先已知的设备由用户加以定义。用户工作组还基于所计划的群组行为,诸如协商次数或者共同传输,能够自动创建组定义。安全共享组成员关系还能够基于PID 10的位置。例如,如图8D所示,在不同位置处的不同便携式设备能够构成潜在的安全共享组成员。因此,举例来说,PID 10中在工作场所被授权为潜在安全共享组成员的设备,不一定在家庭里也被授权为安全共享组成员。用于公共场所时,可以进一步对该潜在设备列表加以限制。
[0094] 在一类方案中,安全共享组可以由位于不同地理位置的设备组成。例如,家庭设备可以在包括工作场所设备或者其他场所设备的安全共享组中。在这一示例中,通过广域网来实现与不同位置的设备通信,例如Internet。在相关实施例中,全局保护系统或者安全服务器在安全共享组的移动设备的协调的连通性和处理分布式中发挥作用,包括协调组成员关系(即,设备加入或者离开该组,以及如何将具体进程分布给特定组成员设备的任务分布)。
[0095] 在另一类实施例中,安全共享组包括便携式基础设备,该便携式基础设备主要用于帮助实现联网或者其他服务,而非主要用于用户接口设备如智能手机、PDA、上网本等等。便携式Wi-Fi热点是一个这样的设备,例如Novatel生产的MiFi,该MiFi将Wi-Fi私有网络和移动3G网络连接起来。其他基础设备包括Wi-Fi延伸器等等。这些设备被设计为由用户到处携带,但并不是代表用户发起和消耗信息的PID设备本身。然而,他们确实具有某些处理能力,以及在电池供电设备的情况下没有背光显示的能量要求,就像被主要设计为与用户接口的设备的情况。在这一实施例中,对便携式基础设备进行编程以执行安全相关的功能,并且像便携式设备802a-802d的任意一个一样对其进行配置以参与安全共享组。另外,该便携式基础设备为其组执行类似于服务器的安全功能诸如防火墙和入侵检测/防御功能,从远程安全服务器获取频繁更新,以及中继那些给其他组成员设备的更新。
[0096] 当将安全相关处理分布到安全共享组设备时,PID 10能够基于多种因素来进行选择,该多种因素包括特定于PID 10的标记以及特定于可用安全共享组设备的标记。对于前者,在一个实施例中,可以采用与上述用于在瘦客户端、胖客户端或者合成模式中进行选择的相同的标准,来选择安全共享组处理模式。对于后者,在各实施例中,潜在安全共享组设备列表上的设备的风险描述和/或计算能力可被用来选择安全共享组处理模式。例如,在一个实施例中,当为某些设备组成员确定了某个计算能力可用性的最小阈值时,仅在PID10中配置安全共享组处理模式。在另一个实施例中,不考虑其他设备的可用计算能力,选择安全共享组处理模式来代替安全服务器。
[0097] 根据相关实施例,PID 10基于以下几个条件将安全任务分布给安全共享组上的其他设备:(a)来自组内至少一台设备的可用性,该可用性准备为其他设备执行安全任务;(b)来自组内一台设备(或多台设备)的计算能力,该计算能力足以执行所需任务;(c)PID10的计算能力状态或者用户设置缺乏允许在PID 10上本地执行该安全任务的该能力、配置或者用户偏好。
[0098] 图8F示出了在设备安全共享组之间分布安全相关任务的过程示例。在这一示例的步骤830,例如PID 10的设备评估其是否具有足够的本地资源来对指定安全的任务执行本地处理。如果是,则随后在步骤832本地执行该任务。否则在步骤834,PID 10确定是否存在能够执行该任务的任何组成员。如果存在组成员,则这一步骤可包含PID 10向临近设备发出多个查询的搜索过程。如果没有组成员,在步骤836通知用户。否则,继续由PID 10向该组分布任务的过程。在步骤838,公布该任务使组设备可见。在这一示例性实施例中,PID 10并非自己选择特定的组设备(尽管其他实施例企图由PID 10来驱动这一决定)。此处,PID 10简单地将该任务放置到其他设备可见的任务列表中。在一类实施例中,该任务列表以任务数据库的形式实现,这将在以下进行更详细的描述。在步骤840,更新该任务列表的所有拷贝以反应新增到该列表的内容。可以通过任何一种方式实现更新,例如,向组设备广播下载列表更新版本的消息。
[0099] 在步骤842,PID 10寻找组设备之一已经取得该安全任务的指令。在这一示例中,组设备自身之间仲裁关于哪一个设备更适于承担该安全处理。为了确定哪一个设备最适合于承担该任务所处理的各种因素或者参数在以下实施例中加以讨论。在步骤844,PID 10确定是否组设备已经开始处理该任务。这一步骤可以通过由承担该任务的组设备向PID 10发送消息来实现。在组设备做出肯定响应的情况下,在步骤846,PID 10等待处理发生。在处理以后,PID 10接收该安全任务处理的输出。否则,在缺乏组设备承担该任务的指令的情况下(例如经过一段时间未收到步骤844的指令),继续执行步骤848的判断处理,在此PID10检查是否已经超过基于任务潜伏时间容忍度所指定的预定时限。如果尚未超过该预定时限,PID 10跳转到步骤842继续等待。否则,在步骤850,通知用户并提高该任务的优先级。
[0100] 除了用于建立安全共享组成员彼此连接的ad hoc网络的已知技术以外,作为对新设备(或者设备网络)加入该组的响应,一个实施例进一步执行安全重新评估。图8E示出了安全重新评估过程的示例。在步骤810,当便携式设备的安全共享组建立ad hoc网络时,初始化安全重新评估过程来指示有新设备(或者设备网络)已经加入(或者正在加入过程中)安全共享组。在步骤812中,将新增加的设备或者网络与其他设备隔离。在此期间,不允许新增加的设备或者网络接收来自于安全共享组其他设备的待处理信息,并且除了用来确定新增加的设备或者网络是否可信的必要信息之外,不允许新增加的设备或者网络为了该设备或者网络的利益发送信息给安全共享组进行处理。在步骤814中,如果必要,执行新增加设备或者网络的扫描。该扫描可以由新增加的设备(或者新增加网络的设备)执行,或者跨越该ad hoc网络由一个或者多个其他安全共享组成员执行,或者可替代地,由远程安全服务器执行。从上一次成功扫描以后,在新增加的设备或者网络并未接收外部数据的情况下,新的扫描并非必须进行。
[0101] 在步骤816,做出关于新增加的设备或者网络是否安全的决定。这一决定可以是简单的证明或者确认,从上一次成功扫描以后,新增加的设备或者网络没有接收外部数据。在另外的情形下,确实执行了新的扫描,扫描结果表明恶意软件或者其他可疑内容或连接存在或者不存在。如果确定新增加的设备或者网络安全,可以在步骤820将其作为全功能的组成员加入安全共享组。然后,如果在步骤816的测定表明新增加的设备或者网络与增加的风险相联系,则在步骤824中允许新增加的设备或者网络参与到安全共享组中之前,在步骤822提高安全共享组的保护等级。提高的保护可以包括例如更积极的防火墙或入侵检测系统的设置或者更频繁的病毒扫描。在相关实施例中,新增加设备或者网络在步骤824的加入相比新增加设备或者网络在步骤820的完全加入,限制更多。在新增加的设备或者网络参与的受限制的安全共享组中,一些安全共享组功能被允许,而另外的功能被禁止。
[0102] 在一类实施例中,任务协调模块408包括如何执行用于安全相关过程的分布的指令。一般来说,在本发明的精神和范围内可以使用用于控制分布过程的任何合适的技术。例如,在一类实施例中,可以使用根据合同DAAL03-89-C-0017(陆军研究办公室),在1991年8月由A. R. K. Sastry提交的洛克韦尔国际最终报告“Distributed Processing in Multi-Hop Packet Radio Networks”中描述的技术,在此以全文方式援引以作为参考。
[0103] 在一类实施例中,任务协调模块408维护包含安全相关任务列表的任务数据库,该安全相关的任务或者被用于该组内的单独设备,或者作为一个整体用于该组,或者二者皆可。图9A示出了任务数据库的示例。安全相关任务可包括扫描该组中新加入设备的数据存储或者在该组的设备之一上的文件,提供安全Internet连接(例如,为一个或者多个其他组设备,将组设备之一作为代理服务器加以操作),等等。在所示实施例中,每一个任务都与优先级、任务复杂性的测度(例如,完成该任务的计算资源或者使用特定资源的时间)相关。
[0104] 在一个实施例中,安全共享组上每一个设备的任务协调模块都维护任务数据库的拷贝,并且同步处理用于保持每一个设备的拷贝为当前状态。在另一个实施例中,任务数据库是分布式的,因此该任务数据库的不同部分被维护在不同设备处。还考虑有这两种途径组合的其他实施例,其中,不同的设备对部分任务数据库进行复制,而其他部分未被复制。然而在其他实施例中,该组以中央方式在特定设备处或者在设备的特定子群处维护任务数据库。在有多个设备维护任务数据库至少一部分的拷贝的实施例中,更新该任务数据库可以是周期性操作(例如,在特定间隔),或者基于请求(例如,当将被执行的安全相关任务被加到该数据库时,以及当每一台组成员设备被发送更新其本地数据库拷贝的通知时)。
[0105] 在一个实施例中,允许用户将安全相关任务加到他的或者她的设备上,并且定义该任务的状态,即,其优先级、任务类型、其执行时间等等。还可以根据该任务的临界点自动确定状态。例如,提供到Internet的安全连接或者检查近期的Email,能被认为具有高优先级,而计划的扫描可以在一天的时间中执行,能被认为是低优先级任务。在相关实施例中,数据库中的每一个任务都与其自身的计时器相关,该计时器检测该任务在任务列表中存在了多久,并且对于长期挂起的任务,提高其优先级。这一机制能够预防低优先级任务被无限期推迟。
[0106] 除了每个任务的优先级以外,在某些实施例中,还维护与每个任务有关的负载等级(即,计算负载)。基于对各任务的专家评估,可预先确定该负载等级。例如,新设备的完整扫描需要大量的资源(高计算负载),而扫描设备上的少量文件将花费相对很少的时间和资源(因为可以使用哈希和时间戳技术来校验文件是否没有改变,对于设备上的大部分文件来说进行扫描是不必要的),该设备例如图9A所示的Jerry的移动互联网设备MID。
[0107] 在一个实施例中,安全共享组成员协同操作以下列方式对安全相关过程的任务加以分布:将总体处理负载的相对更多份额分布给能力更强的设备。这里的能力是指如上所述的计算能力可用性,因此举例来说,能力更强的设备是那些相对具有更强有力的处理器、更大的内存、更多的通信带宽、更长的电池续航时间或者将这些参数的任意组合的设备。
[0108] 在一个实施例中,允许用户将安全相关任务加到他的或者她的设备上,并且定义该任务的状态,即,其优先级、任务类型、其执行时间等等。还可以根据该任务的关键性来自动确定状态。例如,提供到Internet的安全连接或者检查近期的Email,能被认为具有高优先级,而有计划的扫描可以在一天的时间中执行,能被认为是低优先级任务。在相关实施例中,数据库中的每一个任务都与其自身的计时器相关,该计时器检测该任务在任务列表中存在了多久,并且对于长期挂起的任务,提高其优先级。这一机制能够预防低优先级任务被无限期推迟。
[0109] 除了每个任务的优先级以外,在某些实施例中,还维护与每个任务有关的负载等级(即,计算负载)。基于对各任务的专家评估,可预先确定该负载等级。例如,新设备的完整扫描需要大量的资源(高计算负载),而扫描设备上的少量文件将花费相对很少的时间和资源(因为可以使用哈希和时间戳技术来校验是否文件没有改变,对于设备上的大部分文件来说进行扫描是不必要的),该设备例如是图9A所示的Jerry的移动互联网设备MID。
[0110] 在一个实施例中,与安全任务有关的负载等级以设备执行该任务所需的计算能力的形式来表示。在相关实施例中,按照计算能力的范围,对负载等级进行分类或者关联。例如,如图9B所示,将负载等级分类为低、中或者高,每一级别都与设备计算能力的范围以及计算能力可用性的测度相对应。在一个示例性实施例中,可用性度量以处理器空闲时间的百分比来表示。
[0111] 如上所述,在PID 10比安全共享组中另一个设备能力更强的情况下,PID 10可以承担一个或者多个其他设备的许多安全功能;但是,这样做将倾向于降低PID 10执行其他功能的可用计算能力。事实上,使用PID 10去执行用户应用程序和其他非安全操作也降低了用于安全任务的可用计算能力。在一个实施例中,可用性程度用0和1之间的数字来表示,通过下述公式(1)可以使用该可用性度量来确定在任意给定时刻可用的计算能力:[可用计算能力] = [计算能力] * [可用性度量] (1)
在相关实施例中,基于在设备上的可用安全模块来选择委托处理安全任务的设备。例如,相比需要读取位于远程的恶意软件数据库的设备,具有恶意软件数据库的本地拷贝的设备能够更有效地对另一台设备的文件进行恶意软件检查。在另一个示例中,待委托处理的特定安全任务和与执行该任务相关的资源列表相比较,并且在安全共享组的可用设备中,优先选择在可用安全模块和计算能力方面最匹配的设备。
[0112] 在一个实施例中,PID 10包括用户接口,该用户接口允许用户将任务协调模块408或者配置模块410或450配置为允许、拒绝或限制使用PID 10来为其他设备执行安全任务。作为示例,用户设置能对用于指示PID 10的可用性度量设置最大限度,从而为PID
10的本地进程保留计算能力。在这一实施例的变形中,用户接口帮助实现对规则或者决策逻辑的定义,通过该规则或者决策逻辑,设备使自身为其他设备承担安全相关处理的可用性更强或者更弱。例如,对于希望保持在他的或者她的设备上电池续航时间的用户,可以定义如果电池续航时间低于某一设定值,例如50%,则不为其他设备执行安全任务。同样地,该用户可以定义,倘若所剩电池续航时间低于某个值,例如30%,PID 10将优先争取将安全相关任务分布到该组,而非本地执行那些任务。
[0113] 图9C示出了根据一个实施例,PID 10与任务数据库交互来选择任务加以执行的过程的流程图。首先,在步骤902中,PID 10检查是否准备执行安全任务。倘若用户将设备配置为不为其他设备执行安全相关任务,在步骤904中结束该过程。否则,在步骤906中,该过程使PID 10开始从任务数据库取回任务。在步骤908中,选择具有最高优先级的任务。在步骤910,PID 10查询与该任务有关的计算负载,并且在步骤912中,对该负载和其当前可用计算能力进行比较。如果PID 10有能力执行该任务,在步骤914中从任务数据库中移除该任务(从而其他设备不会在同一时间承担该任务的处理),并且在步骤916中,PID10执行该任务。
[0114] 执行以后,或者如果PID 10没有可用于执行所选最高优先级任务的计算能力,PID 10在步骤918检查任务数据库中是否有其他需要被处理的任务。如果有剩余的任务,该过程跳转到步骤908取回有次高优先级的任务(与此前的任务相比,其负载可能较轻)。继续这一过程直到任务数据库中没有剩余的任务。在步骤920中,PID 10更新任务数据库(或者如果有,更新任务数据库的其本地拷贝)。图9C的过程允许安全共享组上各种类型的便携式设备参与承担安全任务,而非仅仅能力最强的设备。
[0115] 在图9C所描述的过程中,首先根据其优先级然后根据其执行的复杂度,来进行任务选择。作为一个示例,考虑以下情况:PID 10的用户想要对其设备上最近接收的文件加以检查,但PID 10仅有安全功能的最小集,使该组的辅助成为必要。在这一情况下,将待检查文件或者在一些实施例中将这些文件的哈希值或校验和转发给PID 802a,该PID 802a的计算能力可用性和功能性更强,例如维护恶意程序数据库的功能。但是,在这一示例中,对文件进行恶意软件检查并未被PID 10的用户赋予高优先级,并且由于设备802a是该组内能力较强的设备之一,因此设备802a被委托处理其他高优先级安全任务,例如为设备802b的用户提供网页浏览安全保护。一旦对设备802b的网页浏览安全任务完成(即,设备
802b的用户完成网页浏览活动),可注意到PID 10的低优先级任务。该优先级管理机制可包括基于这些任务已被挂起的时间长度来提高任务的优先级。在相关实施例中,PID 10可提供用户接口,该用户接口以用户可理解的形式对挂起的安全相关任务进行列表,并提供允许用户手动提高所选安全任务优先级的控制。在另一个相关实施例中,本示例中被委托处理安全任务的设备802a可包括用户接口,该用户接口允许设备802a的用户控制任务数据库优先级,该设备802a的用户被委托任务的组成员设备所信赖。
[0116] 这一示例显示了用于安全共享组的任务优先级机制,其中最高优先级的任务也就是无需等待的任务,相比于低优先级任务,由所委托处理的能力较高的设备优先处理,即使该低优先级任务更加耗费计算资源。由于从用户的观点来说,使用可用的处理能力来满足紧迫的需求看起来能提供更好的总体安全需求服务,因此一般而言这一类方式能够很好地满足用户群的实时安全需求。如果必要,同样由安全共享组中的其他设备最后对优先级低但更耗费计算资源的任务进行处理,按照与这些任务降低的紧迫性相称的服务级别依次完成这些任务。
[0117] 在相关实施例中,PID 10或者安全共享组中至少一个其他设备,在安全相关功能或任务与其计算开销之间维持一系列关联。这些关联可以存储为列表、一系列数据库记录或者任何其他合适的形式,与安全共享组成员设备列表及其各自的能力结合使用,以确定所鉴定的过程是否适用于分布,以及如果是,确定将其分布给哪一个(或哪几个)设备。在一个实施例中,PID 10使用这些数据结构,确定如何分布为PID 10而操作的过程。在另一个实施例中,不同的安全共享组成员设备,例如组的主设备(master),使用从每个希望分布处理的其他组成员设备所收集的信息来加以确定。
[0118] 在另一个相关实施例中,每个任务与一个或多个度量标准相关,该度量标准与该任务的重要性或敏感性相关,诸如系统临界点、信息敏感性、时间敏感性等等。随后,基于安全共享组成员设备的信任分类以及其执行处理的能力,使用这些测量标准来确定该处理任务可首选分布于哪些安全共享组成员设备。
[0119] 在一个示例中,如图9D所示,分布安全相关任务的过程可以考虑信任等级(例如以上参考图8B所述的信任分类)。在这一过程中所适用的原则为,在安全任务需要高级别保护,或者一个人并不能确认安全相关任务所分布到的设备本身免受恶意元件干扰或者除此以外的无法妥协的情况下,则在此情况下进行任务的委托处理将是不合适的。在相关实施例中,进行委托的设备提供用户接口,该用户接口允许用户委托特定的组设备,该组设备对于某些任务是可信任的,但对于其他任务则并非如此。例如,同事的设备就共享安全更新而言是可信任的,但就筛选web浏览数据流而言则并非如此。
[0120] 现在转到图9D,在步骤930过程开始,设置选择安全任务所需的信任等级。在相关示例中,可以将安全任务和其他具有相似安全敏感性的安全任务分组到信任类别中,从而可以为每一类别指定信任等级。在步骤932中,将待分布给该组的安全任务放入任务列表。在步骤934中,更新远程存储于各个设备的任务列表,更新方式与如以上参考图8F所述的方式相似。在步骤936中,委托设备等待,直到其组成员之一取得待处理的安全任务。在这一阶段,接受安全任务的设备进行自我识别(可以有一个授权步骤来确保该设备与其所声称的一致)。在步骤938中,委托设备确定就该特定任务而言,该接受设备是否可信。当然,这取决于该接受设备的信任等级以及该任务(或者该任务所属任务类别)的信任等级。
如果该接受设备可信度不足,该过程跳转回步骤936以允许不同的设备接受该任务进行处理。如果该接受设备对于执行该安全任务来说是可信的,在步骤940中委托设备检查该接受设备是否已经开始对该任务的处理。如果是,在步骤942委托设备等候该任务完成,并且接收该处理的输出。否则,在步骤944中委托设备检查是否已超过用于接受该任务的时限。
如果尚未超过,该过程跳转回步骤938,如图所示。否则,在委托尝试暂停的情况下,在步骤
946中通知用户并且提高该任务优先级。
[0121] 图10A-10E示出了示范性过程的流程图,通过这些过程能够利用设备安全共享组来高效执行各种安全相关功能。图10A中所示过程利用安全共享组来帮助设备获得安全更新。由于不断地开发和部署新的恶意软件威胁,为了有效使用安全软件,定期更新是必不可少的。因此,安全公司可以每隔一小时就提供更新,如有必要,甚或更加频繁。当便携式信息设备无法访问能够提供更新的服务器时,设备的安全模块会变得越来越无效。因此,在步骤1002中,PID 10的可配置的安全模块400确定其是否与提供更新的安全服务器连通。在PID 10所处的本地局域网已丧失其广域网连通性的情况下,该服务器可能无法访问。但PID 10可能仍然面临本地网络上的风险,特别是如果网络面向公众开放的话。当然,存在无数其他的PID 10无法接收更新的情况。
[0122] 如果在步骤1004的判断表明能够从安全服务器获得更新,该问题得以避免,并且在后序步骤1006中下载更新。但是,如果PID 10确定不能以通常的方式从安全服务器获得更新,则在步骤1008中确定安全共享组中任何一个成员所接收的最新更新。在一个这样的实施例中,依次询问该组的每一个设备,以评估其更新版本或者上一次更新的开始或者完成时间。在另一个实施例中,安全共享组不断维护列表或者数据库,该列表或者数据库除了其他方面以外,还表现了每一个组成员的更新状态。可以在指定的组成员设备上以集中地维护该列表或者数据库,或者可以由每一个单独的组成员设备来维护该列表或者数据库。在步骤1010中,PID 10从具有最新更新并且能够与其分享的组成员设备处下载最新更新。
[0123] 该最新更新可能仍然被认为过于陈旧,在此情况下,可能危害到安全共享组的安全。因此,在步骤1012中,PID 10确定任一组成员上的当前最新更新是否是陈旧的。这一步骤能够以不同的方式实现,例如,通过将更新时间与当前时间加以比较,以及如果差值超过预先确定的阈值,则认为该更新版本已经过时。在此情况下,在步骤1014中,将可配置的安全模块400配置为更积极的操作方式。例如,可开启入侵防御系统(IPS),或者可将防火墙设置调整为更积极地筛选和过滤输入通信。这样,可将可配置的安全模块400设置为更主动的操作方式,或者启动或增加启发性功能。
[0124] 图10B示出了利用安全共享组成员设备集体情报来改善每一个单独设备的安全效率的示范性过程。就安全共享组上任一设备在步骤1020中所检测到的任一威胁,在步骤1022中由该设备对该威胁的标识或者位置进行本地记录,并且在步骤1024中分布给该组的其他成员设备。根据所接收的该威胁的标识或者位置,接收组成员设备能够立即采取行动来定位该特定威胁,诸如针对该特定威胁的存在进行扫描、对该特定威胁免疫、或者配置本地防火墙或入侵检测/防御系统来识别或阻止与该特定威胁的通信或者到该特定威胁的访问。
[0125] 在这一示例中,威胁可由下述因素构成:恶意软件的存在、网络入侵、危险网站或危险邮件内容(例如钓鱼攻击)或者被发现该威胁的设备(例如PID 10)视为安全威胁的任意其他数据或事件。可将该威胁的ID或者位置作为该威胁的描述符。在一个实施例中,所述ID包括一个恶意软件或邮件的哈希值,而位置包括被视为安全威胁的网站的URL或IP地址。
[0126] 威胁检测可以通过各种安全操作来实现,诸如恶意软件扫描操作或者沙盒(sandbox)中的程序仿真(二者都是计算开销很高的进程)。因此,图10B中所示的过程允许安全功能并不十分可靠的组成员设备从具有更可靠的安全功能设备的安全加强中获益。
[0127] 应予注意的是,利用图10B所示过程的实施例并不采取通过向其他设备分配特定任务的方式(如本文其他实施例所述的情况)来直接分布安全功能。反而,图10B所示过程允许通过共享那些计算开销很高的安全操作的结论,来达到分布某一安全功能的好处。实际上,具有相似的风险描述和操作于同一网络上的组成员设备面临与另一组成员设备所面临的相同威胁的可能性增加。分布已完成安全相关进程的结论,允许其他组成员设备不需要实际运行该进程即可从该进程获益。
[0128] 图10C和图10D示出了根据由PID 10将安全功能或者任务分布给安全共享组其他成员的实施例的过程。参考图10C,在步骤1030中, 当在PID 10中执行新(未预先筛选)的程序并且该程序的进程开始时,可配置的安全模块400拦截该进程并在判断步骤1032中确定PID 10中是否有足够的计算能力来执行完整扫描,或者该新进程的其他类型的评估。扫描可能需要将该进程的指令与已知恶意程序或者其他威胁的数据库加以比较;而其他类型的评估包括在受保护的沙盒(sandbox)中运行该进程以确定该进程是否试图执行任何可疑行为,例如访问分配给操作系统内核的内存空间。可以由PID 10基于当前风险描述来确定安全筛选的范围。这一类的扫描或评估的计算消耗很高,并且PID 10可能有或没有足够的计算能力来执行该安全进程。
[0129] 在具有足够计算能力的情况下,当可配置的安全模块400执行安全筛选进程时,在步骤1034中将PID 10与安全共享组的其他设备隔离。在相关实施例中,当所筛选进程或者被确定是安全的,或者被取消或者关闭时,取消对PID 10的隔离,使PID 10处于安全状态。在判断步骤1032中确定PID 10没有足够的计算能力来执行扫描或者评估的情况下,筛选进程任务被分配给一个或多个设备,该一个或多个设备是组成员并且具有能力且被授权来执行该处理,并且因此在步骤1036中,在另外的至少一台设备上执行筛选。
[0130] 现在参考图10D,描述了当PID 10识别出附加了新的存储设备时执行相似的步骤的另一实施例。例如,当可移动存储卡插入PID 10时这一过程开始。该新的存储卡可能具有可能存在安全威胁的数据或程序,并且在其内容能够被安全访问之前必须进行扫描。在步骤1040中,PID 10识别出新的存储设备。在步骤1042中判断确定PID 10是否具有足够的计算能力来执行扫描,如先前在图10C的过程中所述。如果PID 10具有足够的能力,当PID 10执行本地扫描时,在步骤1044中将其从安全共享组隔离。否则,在步骤104中6由一个或者多个其他组成员设备执行扫描。
[0131] 图10E示出了根据一个实施例,由安全共享组上设备以分布式安全处理的形式来共同执行操作的过程,其中各个设备共享关于其发现的安全易受攻击点的信息,从而其他组成员能够采取保护动作。在步骤1050中,设备A识别出易受攻击点或者引人注意的行为(exploit),诸如蠕虫已破坏其本地安全或者仅仅是恶意软件定义已经更新但并未执行本地扫描或使用这些定义的免疫处理(结论是安全方面潜在弱点的识别)。作为回应,设备A将其削弱的安全状态通知给安全共享组的其他设备。一旦收到该信息,在步骤1052中,每个其他设备都调整其组成员设备列表或数据库,使得设备A被标识为不可信。取决于所识别出的易受攻击点或者引人注意的行为(exploit)的严重程度,安全共享组设备调整其风险描述或者另外在步骤1054中采取行动来提高其安全等级以更积极地对自己进行保护。
[0132] 在步骤1056中,安全共享组上的设备A和其他设备执行步骤来解决该易受攻击点或者引人注意的行为(exploit)。一旦完成,安全共享组上的设备交换状态更新,并且在确定安全共享组设备针对所识别的易受攻击点或者溢出受到保护时,可以在步骤1058中降低安全等级,并且在步骤1060中将设备A恢复为安全共享组的全部参与成员。
[0133] 根据本发明的所有方面的设想,在配置确定模块460的决策标准中,基于不同的输入能够应用几乎无限数量的适当途径来配置安全模块400。此外,有许多安全模块400配置类型的变形能够被实现。因此,在权利要求限定的范围内,不应将本发明限定至本文所描述的任何特定的说明性示例。
[0134] 上述实施例意在进行说明而非限定。在权利要求范围内存在更多的实施例。此外,虽然已经参考特定实施例对本发明的各方面加以描述,但本领域技术人员应该认识到,在不脱离本发明权利要求所定义的精神和保护范围的情况下,可以在形式及细节上加以变化。
[0135] 相关领域的一般技术人员应该认识到,本发明可以包含少于上述任何单独的实施例所例举的特征。本文所描述的实施例并未试图对本发明各个特征的可能组合方式进行穷举。因此,并不排斥实施例之间特征的互相组合;当然,根据本领域一般技术人员的理解,本发明可以由从不同独立实施例中选取的不同独立特征的组合构成。
[0136] 限制对上述文档以引用的方式进行合并,因此,与本文所明确披露的信息相违背的主题内容不应被引用。进一步限制对上述文档以引用的方式进行合并,因此,本文不应将文档中所包括的权利要求以引用的方式进行合并。再进一步限制对上述文档以引用的方式进行合并,因此,本文不应以引用的方式对文档中提供的任何定义加以合并,除非本文明确指明。
[0137] 出于解释本发明权利要求的目的,明确指出,除非在权利要求中出现特定术语“装置”或者“方法”,否则并不援引美国专利法35 U.S.C.中第六段第112条的规定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈