著录项信息
专利名称 | 在电信终端上实现安全性的系统 |
申请号 | CN200680055970.5 | 申请日期 | 2006-07-31 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2009-08-19 | 公开/公告号 | CN101513008 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;G;0;6;F;2;1;/;0;0查看分类表>
|
申请人 | 意大利电信股份公司 | 申请人地址 | 意大利米兰
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 意大利电信股份公司 | 当前权利人 | 意大利电信股份公司 |
发明人 | M·里昂 |
代理机构 | 中国国际贸易促进委员会专利商标事务所 | 代理人 | 李颖 |
摘要
一种系统,包括具有数据处理能力的至少一个电信终端(115-1,...,115-5),所述电信终端容许在其上安装软件应用,其中每个软件应用具有与之关联的相应指示符,所述指示符适合于指示软件应用的安全级别,所述安全级别能够随时间变化;由所述至少一个电信终端执行的软件代理(110),所述软件代理适合于根据相应的安全级别,有条件地允许软件应用在电信终端上的安装;与所述软件代理通信的服务器(105),所述服务器适合于动态计算软件应用的安全级别,并把计算的待安装在所述电信终端上的软件应用的安全级别传给软件代理。
1.一种用于在移动电信终端上实现安全性的系统,所述系统包括:
-具有数据处理能力的至少一个移动电信终端(115-1,...,115-5),
-适于与所述至少一个移动电信终端通信的服务器(105),
其中:
-所述移动电信终端容许在其上安装软件应用或运行安装在其上的软件应用,其中每个软件应用具有与之关联的相应指示符,所述指示符适合于指示软件应用的安全级别,所述安全级别能够随时间变化;
-所述移动电信终端包括由所述至少一个移动电信终端执行的软件代理(110),所述软件代理适合于以下中的至少一项:
-检测在移动电信终端上安装软件应用的起始活动,并且根据要安装的软件应用的相应的安全级别,有条件地允许软件应用在所述移动电信终端上的安装,以及-检测安装在移动电信终端上的软件应用的启动,并且当软件应用在移动电信终端上被执行时,根据正启动的软件应用的相应的安全级别,有条件地允许所述软件应用访问移动电信终端资源,
-所述服务器(105)与所述软件代理通信,并且适合于动态计算所述软件应用的安全级别,并把所计算的待安装在所述移动电信终端上或待由所述移动电信终端执行的软件应用的安全级别传送给所述软件代理,其中所述服务器包括第一模块(225),其适合于通过评估以下至少一项来静态分析所述软件应用的代码:
-所述软件应用调用的移动电信终端资源的类型;
-所述软件应用在移动电信终端上的安装形态;
-所述软件应用访问的数据的类型。
2.按照权利要求1所述的系统,其中所述软件代理还适合于:
-就待安装的所述软件应用或正启动的软件应用,向所述服务器请求更新的安全级别。
3.按照权利要求1所述的系统,其中所述移动电信终端资源包括由管理移动电信终端的操作的操作系统暴露的应用编程接口-API。
4.按照权利要求1所述的系统,其中所述软件代理还包括适合于保存安装在所述移动电信终端上的软件应用的安全级别的本地数据库。
5.按照权利要求4所述的系统,其中所述软件代理还适合于在保存在本地数据库中的软件应用的安全级别不是最新的条件下,就正在启动的软件应用,向所述服务器请求更新的安全级别。
6.按照权利要求1所述的系统,其中所述服务器还包括:
-适合于分析所述软件应用显示出的漏洞的第二模块(230)。
7.按照权利要求6所述的系统,其中所述第二模块适合于基于关于所述软件应用的检测到的已知漏洞的总数的指示,进行所述漏洞分析。
8.按照权利要求6或7所述的系统,其中所述第二模块适合于基于检测到的漏洞的危急程度,进行所述漏洞分析。
9.按照权利要求6所述的系统,其中所述第二模块适合于基于从计算机紧急响应小组、开放漏洞评估语言、公共漏洞和暴露、软件应用生产商/厂家的公告、软件认证机构中的一个或多个获得的信息,进行所述漏洞分析。
10.按照权利要求1所述的系统,其中服务器包括:
-适合于保存所述服务器监控的软件应用的列表以及相应安全级别的第一数据库(240)。
11.按照权利要求10所述的系统,其中所述服务器包括:
-适合于保存安装在所述至少一个移动电信终端上的软件应用的列表的第二数据库(245)。
12.按照权利要求1所述的系统,还包括至少一个第二移动电信终端,所述软件代理适合于从所述第二移动电信终端接收涉及所述软件应用的安全级别的信息。
13.按照权利要求1所述的系统,其中所述软件代理还适合于:
-从在移动电信终端上运行的防恶意软件的软件应用或入侵检测系统中的一个或多个收集信息;和
-把所述收集的信息传给所述服务器,
其中所述服务器还适合于:
-从移动电信终端接收所述收集的信息,和
-使用接收的信息动态计算软件应用的安全级别。
14.一种具有数据处理能力的移动电信终端,所述移动电信终端容许在其上安装软件应用或运行安装在其上的软件应用,其中每个软件应用具有与之关联的相应指示符,所述指示符适合于指示所述软件应用的安全级别,所述移动电信终端包括:
-适合于由所述移动电信终端执行的软件代理,所述软件代理包括:
前端(320),其包括:
客户端/服务器通信模块(305),适合于管理所述软件代理和由信任提供者(105)代表的服务器组件之间的通信;以及
广播通信模块(315),用于通过广播无线电信道获得信息;以及
监控层(323),其包括:
应用程序安装监控模块(325),适合于检测与新软件应用在所述移动电信终端上的安装相关或者导致所述安装的活动的启动;
应用程序执行监控模块(330),适合于检测安装在所述移动电信终端上的应用程序的启动;
内核模块(335),与应用程序安装监控模块(325)和应用程序执行监控模块(330)通信;以及
安全级别更新器模块(337),与内核模块(335)交互作用,管理软件应用的安全级别的更新、与信任提供者(105)和/或与其它移动电信终端建立通信,或者借助广播无线电信道接收更新信息。
15.按照权利要求14所述的移动电信终端,其中所述软件代理还适合于:
-就待安装的软件应用或正在启动的软件应用,向所述服务器请求更新的安全级别。
16.按照权利要求14所述的移动电信终端,其中所述移动电信终端资源包括由管理所述移动电信终端的操作的操作系统暴露的应用编程接口-API。
17.按照权利要求14所述的移动电信终端,其中所述软件代理还包括适合于保存安装在移动电信终端上的软件应用的安全级别的本地数据库(340)。
18.按照权利要求17所述的移动电信终端,其中所述软件代理还适合于在保存在本地数据库中的软件应用的安全级别不是最新的条件下,就正在启动的软件应用,向服务器请求更新的安全级别。
19.一种适合于与具有数据处理能力的至少一个移动电信终端(115-1,...,115-5)通信的服务器(105),其中所述移动电信终端容许在其上安装或运行软件应用,每个软件应用具有与之关联的相应指示符,所述指示符适合于指示软件应用的安全级别,所述安全级别能够随时间变化,所述服务器适合于动态计算软件应用的安全级别,并把计算的待安装或运行在所述移动电信终端上的软件应用的安全级别传送给由所述移动电信终端运行的软件代理,其中所述服务器包括第一模块(225),其适合于通过评估以下至少一项来静态分析所述软件应用的代码:
-所述软件应用调用的移动电信终端资源的类型;
-所述软件应用在移动电信终端上的安装形态;
-所述软件应用访问的数据的类型。
20.按照权利要求19所述的服务器,还包括:
-适合于分析软件应用显示出的漏洞的第二模块(230)。
21.按照权利要求20所述的服务器,其中所述第二模块适合于基于关于软件应用检测到的已知漏洞的总数的指示,进行所述漏洞分析。
22.按照权利要求20所述的服务器,其中所述第二模块适合于根据检测到的漏洞的危急程度,进行所述漏洞分析。
23.按照权利要求20所述的服务器,其中所述第二模块适合于基于从计算机紧急响应小组、开放漏洞评估语言、公共漏洞和暴露、软件应用生产商/厂家的公告、软件认证机构中的一个或多个获得的信息,进行所述漏洞分析。
24.按照权利要求19所述的服务器,包括:
-适合于保存服务器监控的软件应用的列表以及相应安全级别的第一数据库(240)。
25.按照权利要求24所述的服务器,其中所述服务器包括:
-适合于保存安装在所述至少一个移动电信终端上的软件应用的列表的第二数据库(245)。
26.一种用于在移动电信终端上实现安全性的方法,所述方法包括:
检测在移动电信终端上安装软件应用的起始活动,或检测安装在移动电信终端上的软件应用的启动;
-基于软件应用的安全级别,有条件地允许该软件应用在所述移动电信终端上的安装或执行,或者有条件地允许安装在所述移动电信终端上的所安装软件应用访问所述移动电信终端的资源,
其中
所述安全级别能随时间变化;
并且其中所述方法还包括:
通过与所述移动电信终端通信的服务器(105),使移动电信终端接收该软件应用的更新的安全级别。
在电信终端上实现安全性的系统\n技术领域\n[0001] 本发明一般涉及移动或有线电信终端上的安全策略执行的领域,特别涉及具有开放式操作系统的电信终端中应用层的安全策略的执行,所述开放式操作系统允许安装(和执行)第三方软件应用。\n背景技术\n[0002] 移动电信终端(例如,最新一代的移动电话机)在终端的计算能力、可用通信带宽、专门为电信终端设计的服务和软件应用的可用性方面的普及和发展正在扩展电信终端能够向用户提供的业务的范围,以及接入电信网络的形态。\n[0003] 现在,具有开放式操作系统,比如Windows Mobile,Symbian或SavaJe的移动电信终端上通信带宽和计算能力的可用性已使得能够提供新的增值业务,以及采用“always on”连接特征(profile)(即,电信终端的用户始终与电信/数据通信网络连接,并能够在任何时候访问提供的业务)。这些新业务的例子是统一标准的消息接发(电子邮件、即时消息接发、短消息业务-SMS、多媒体消息业务-MMS),雇员通过IP(因特网协议)信道对企业资源的安全访问(例如,借助包括比如TLS/SSL-传输安全层/安全套接字层,IPsec-IP安全,L2TP-第二层隧道协议等协议在内的受保护隧道的方式),数字版权管理(DRM)业务,多媒体内容的访问和利用(例如,基于DVB-H-手持数字视频广播标准),对企业的业务和应用程序的访问,等等。\n[0004] 另外考虑到定制业务能够触及的广大目标客户,这些强大的移动电信终端的可用性是一个巨大的市场机会。不过,这种强大的终端也会在移动电信网络运营商的核心业务方面带来安全问题。在一些方面,移动终端特别易受软件攻击:仅仅列举一些例子,移动终端通常专用于个人使用,它保存敏感信息(个人信息和职业信息),它具有与SIM(用户身份模块)相关的货币信用,它保存便于容易地跟踪用户的信息(比如IMSI-国际移动用户身份,和IMEI-国际移动设备身份),它可以使用宽的通信带宽(例如,GPRS/EDGE/UMTS),并且它可以实现不同种类的连接(例如Wi-Fi,蓝牙,IrDA-红外设备应用,NFC-近场通信,ZigBee)。\n[0005] 目前,涉及移动电信终端的安全问题主要归因于用户的敏感性(社会工程),及特洛伊式恶意软件的扩散。与个人计算机(PC)的用户相比,移动电话机的用户通常对安全问题不太敏感;这部分归因于与PC相比,移动电话机更普及,以及归因于移动电话机通常被视为安全设备的事实,从而用户不习惯认为他们的移动电话机可能受到软件攻击。\n[0006] 现在,正在传播的恶意软件基本上是特洛伊式恶意软件;从而,它很少利用驻留在移动终端上的软件的弱点,相反它使用“掩饰(cover)”应用程序在终端上进行安装,在获得用户的授权之后(在这方面,用户的低敏感性起了重要的作用),实施为其设计的攻击(例如,向收费号码(premium number)发送SMS,删除用户文件和文档,非法转发电子邮件和其它种类的信息,复制它自己)。\n[0007] 为了解决部分由几种恶意应用程序的扩散驱动的日益增长的对更高安全性的需求,提出了几种方案(initiative)。一些最重要的方案是Microsoft Mobile-2-Market(http://msdn.microsoft.com/mobility/windowsmobile/partners/mobile2market/dsefault.aspx),SymbianSigned(https://www.symbiansigned.com),OMTP(开放式移动终端平台)P6应用程序安全计划(http://www.omtp.org),GSM-A MAS(移动应用程序安全)计划(http://www.gsmworld.com/using/security/mobile application.shtml),Java MIDP(移动 信息 设备 简档 )2.0(http://java.sun.com/products/midp/index.isp)。\n[0008] 通常,所有已知的方案都基于相同的模型,下面称为“信任模型”,它一般定义两种宏观类型的能够在移动电信终端上运行的软件应用:可信应用程序和不可信应用程序。\n[0009] 不可信应用程序是当被安装和/或执行时,在终端上不能评估其真实性的未数字签名的应用程序(或者由不可信的认证机构-CA数字签名的应用程序);因为不存在关于这些应用程序的任何信息,并且不能进行任何检查,因此,它们是终端的潜在攻击源。由于这些原因,不可信应用程序只被允许访问电信终端的资源的有限子集,即,操作系统暴露的API(应用编程接口),也就是被认为不危险的API。\n[0010] 相反,可信应用程序被(可信CA)数字签名,并且被允许访问更大的一组暴露API。\n特别地,按照所访问资源的关键程度的准则,操作系统暴露的API被分成不同的类别。根据发出用其签署应用程序的数字证书的CA,可信的数字签名的应用程序被映射到某一安全级别。对应于不同的“根证书”定义不同的安全级别:相对于引用存在于终端上的根证书之一的证书链,认证某一应用程序。待分配给该应用程序的安全级别是根据分配给在验证期间使用的根证书的安全级别确定的。分配给该应用程序的安全级别确定该应用程序能够访问的一组资源,以及该应用程序能够与所述一组资源交互作用的方式。在一些情况下,已被分配某一安全级别的应用程序不能访问为该级别指定的所有资源,而只能访问在认证过程中由软件厂商指定的那些资源。\n[0011] 在应用程序的安全受到威胁或者违反特定的安全策略时,数字签名机制的使用还允许实现应用程序撤消机制。例如,就连接的可用性来说,在安装和/或执行应用程序之前,移动终端可确定所考虑的应用程序是否被撤消;这可通过下载和检查证书撤消清单(CRL),或者利用诸如在线证书状态协议(OCSP)之类的协议,以便获得和与签名密钥绑定的证书的有效性,从而和相关的签名应用程序的有效性相关的即时响应来实现。\n[0012] 在EP-A-1361527中可找到信任模型的一种实现例子,其中描述一种用于把应用程序加载到设备中,通常用于把应用程序下载到便携式设备(一般是移动电话机)中的方法。所述方法包括下述步骤:把带签名的应用程序下载到设备中;使应用程序的签名与保存在设备中的预定义属性证书关联;连同所述属性证书一起安装该应用程序。优选地,使应用程序的签名与根证书关联,该根证书再把应用程序与预定义的属性证书联系起来。\n[0013] 在WO2006/017757中可找到实现信任模型的另一种实现例子,其中公开了利用业务提供者验证,提供增强的安全性的方法和设备。除了对照保存在网络节点上的根证书验证应用程序签名之外,还比较与应用程序关联的第一电信公司标识与第二电信公司标识。\n如果第一和第二电信公司标识匹配,那么该应用程序可被分配给可信保护域和被授予提供对网络节点的特许访问的许可。例如,应用程序可被授予在网络节点上安装和/或执行的许可。否则,该应用程序可被拒绝特许访问。因此,电信公司的应用程序将只被安装到作为该应用程序的预定接收者的网络节点上。\n[0014] 在US 2005/03398中可找到信任模型的又一种实现例子,其中单一机器具有在不可信环境中运行的实体和在可信环境中运行的实体,可信环境中的实体的可信赖性被投射到不可信环境中的实体。这适用于例如Microsoft的Next Generation Secure ComputingBase(NGSCB),其中常规的操作系统(例如,Windows操作系统)托管安全操作系统(例如,nexus)。\n发明内容\n[0015] 申请人注意到上面讨论的信任模型受到几个问题的影响。\n[0016] 由CA来认证应用程序具有不可忽视的费用;从而,只有那些能够负担认证费用的软件生产商/厂家才更可能存在于市场上(即,提供能够访问移动终端的操作系统暴露的最感兴趣API的强大应用程序)。在这方面,应注意到使软件应用被CA认证的费用较高,还因为仅仅在首次把应用程序投放到市场上时对其进行认证并不够:需要对该应用程序的每个新版本重复认证,即使变化较少或者厂家发布了服务包或应用程序补丁也不例外。\n[0017] 就开源软件来说,认证费用的问题感受特别明显:申请人认为开源软件程序可以获得对操作系统的所有API和资源的访问同样是重要的,不过采用上述的基于CA认证的信任模型会使之变得不可能,因为不清楚谁将负担认证费用。\n[0018] 信任模型的另一问题在于上面提及的应用程序撤消机制。应用程序的撤消可以或者应该由信任模型中所涉及的几个参与者(比如移动电话机用户,软件生产商/厂家,网络运营商,移动终端制造商)来授权,这使过程的设计及不同角色和职责的分配复杂化。由于不同国家中的不同立法的缘故,还涉及法律问题:这会使得难以创建被不同的国家全球认可和法律支持的适合于提供同质的服务简档的统一框架。\n[0019] 信任模型的另一问题在于根据一组标准测试,软件应用被赋予一定的安全级别,所述一组标准测试包括应用程序代码的静态分析(即,不考虑当在实际环境中运行时,该应用程序实际会做什么的分析)。不过,这种静态分析可能不是很有效:它不能重构和评价应用程序的所有可能的执行路径。为此,诸如Symbian Signed的一些认证过程要求来自软件生产商的关于该应用程序的非恶意行为的声明。当考虑软件漏洞(软件应用的程序缺陷,其可能被恶意软件用于传播和产生损害)时,情况更复杂。目前,通过静态分析确定漏洞的存在是一个具有挑战性的问题。已知的解决方案,比如Java,Symbian Signed,MicrosoftM2M提供向应用程序静态赋予在认证过程中确定的安全级别。这种认证,以及其它种类的认证,比如Common Criteria或ITSEC(信息技术安全评价标准)认证不能防止应用程序包含可被恶意软件用于进行攻击的严重漏洞。此外,即使确定了严重漏洞,并且已一次或多次被利用,认证也不会改变。申请人认为这种静态分配对用户(对软件应用的可用性的限制)和能够实现的业务模型来说局限性都很强。\n[0020] 鉴于上面概述的现有技术的状态,申请人解决了实现不受上述问题和局限影响的安全方案的问题。\n[0021] 特别地,申请人解决了提高具有开放式操作系统的电信终端中的应用层的安全性的问题。\n[0022] 申请人发现通过提供一种适合于向安装在电信终端上,并且可能被电信终端执行的软件应用分配易于随时间变化的安全级别的框架,并通过提供一种适合于动态管理对于应用程序的安全级别的分配的框架,能够克服已知信任模型经历的问题。\n[0023] 特别地,申请人发现能够根据软件应用的声誉分配安全级别。软件应用的声誉指的是软件应用的信任度。软件应用的声誉,即信任度,可根据从多个信息源收集的信息来计算;可用于计算软件应用的声誉的信息包括已发现漏洞的数目和严重性信息,软件应用代码(可执行代码和,如果可能的话,源代码)的分析,利用已发现漏洞的存在,补丁发布时间,等等。\n[0024] 对于本发明来说,“漏洞”(vulnerability)指的是数据处理系统中允许攻击者违犯数据处理系统或它托管的数据和/或应用程序的完整性,机密性,访问控制,可用性,一致性或审计机制的缺陷。漏洞可起源于系统中的程序缺陷或设计缺点。漏洞可以仅仅在理论上存在,或者可具有已知的利用。当包含漏洞的程序借助特权工作,进行验证或者易于访问用户数据或设施时,漏洞尤其严重。\n[0025] 软件应用的安全级别的动态计算可被委托给代表电信终端的用户工作的服务器实体。\n[0026] 按照本发明的一个方面,提供一种如所附权利要求1中所述的系统。\n[0027] 所述系统包括:\n[0028] -具有数据处理能力的至少一个电信终端,所述电信终端容许在其上安装软件应用,其中每个软件应用具有与之关联的相应指示符,所述指示符适合于指示软件应用的安全级别,所述安全级别能够随时间变化;\n[0029] -由所述至少一个电信终端执行的软件代理,所述软件代理适合于根据相应的安全级别,有条件地允许软件应用在电信终端上的安装;\n[0030] -与所述软件代理通信的服务器,所述服务器适合于动态计算软件应用的安全级别,并把计算的待安装在所述电信终端上的软件应用的安全级别发送给所述软件代理。\n[0031] 对于本发明来说,软件应用的“安全级别”意指能够被认为是归因于该软件应用的信任度,它确定电信终端允许访问其资源(操作系统的API)的程度。\n[0032] 按照本发明的第二方面,提供一种如权利要求19所述的电信终端,所述电信终端具有数据处理能力,并且容许在其上安装软件应用,其中每个软件应用具有与之关联的相应指示符,所述指示符适合于指示软件应用的安全级别。所述电信终端包括适合于由电信终端执行的软件代理,所述软件代理适合于根据相应的安全级别,有条件地允许软件应用在电信终端上的安装,并从服务器接收更新后的待安装在所述电信终端上的软件应用的安全级别。\n[0033] 按照本发明的第三方面,提供一种如所附权利要求26所述的系统,所述系统包含适合于与具有数据处理能力的至少一个电信终端通信的服务器,其中所述电信终端容许在其上安装软件应用,每个软件应用具有与之关联的相应指示符,所述指示符适合于指示软件应用的安全级别,所述安全级别能够随时间变化,所述服务器适合于动态计算软件应用的安全级别,并把计算的待安装在所述电信终端上的软件应用的安全级别发送给软件代理。\n[0034] 按照本发明的第四方面,提供一种如所附权利要求36所述的方法,所述方法包括根据软件应用的安全级别,有条件地允许该软件应用在电信终端上的安装。所述安全级别能随时间变化,所述方法还包括使电信终端接收由与所述电信终端通信的服务器更新的该软件应用的安全级别。\n附图说明\n[0035] 通过阅读仅仅作为非限制性例子提供的本发明的一个实施例的下述详细说明,本发明的特征和优点将变得更明显,为了清楚起见,将参考附图进行说明,其中:\n[0036] 图1以功能块简要地示出了按照本发明实施例的系统的体系结构;\n[0037] 图2以功能块简要地示出了图1的系统的信任提供者组件的结构;\n[0038] 图3以功能块简要地示出了驻留在终端上的图1的系统的客户端组件的结构;\n[0039] 图4A、4B和4C示出了图解说明在终端上安装新的软件应用时,客户端组件和信任提供者组件执行的主要动作的简化流程图;\n[0040] 图5示出了图解说明在运行安装在终端上的软件应用的情况下,客户端组件和信任提供者组件执行的主要动作的简化流程图。\n具体实施方式\n[0041] 参考附图,图1中以功能块简要示出了按照本发明实施例的系统的体系结构。\n[0042] 该系统包含信任提供者组件105,信任提供者组件105作为关于驻留在用户的移动电信终端115-1、115-2、115-3、115-4和115-5上的若干客户端组件110的服务器而运行。\n[0043] 移动通信终端是例如适合于在移动电信网络,尤其是移动电话网络,比如GSM(全球移动通信系统),GPRS(通用分组无线电系统),EDGE(增强数据速率GSM演进)或者UMTS(通用移动电信系统)中使用的移动电话机,PDA(个人数字助手),智能电话机。不过要指出的是尽管参照移动通信终端进行本说明,不过这不应被解释成对本发明的限制,本发明同样适用于有线电信终端。\n[0044] 普通(generic)移动终端115-1、115-2、115-3、115-4和115-5上安装有开放式操作系统,比如Windows Mobile,Symbian或者SavaJe,所述开放式操作系统控制移动终端的操作,允许在移动终端上安装第三方软件应用。可安装在移动终端上的这些软件应用可通过操作系统暴露的API(API对应于移动终端的资源,从而下面术语“API”和“资源”将被视为同义词)访问移动终端的资源。\n[0045] 特别地,相应于API相对于移动终端安全性的不同关联度,操作系统暴露的AI被分成不同的类别。\n[0046] 将在移动终端上安装和执行的软件应用具有相关联的安全或信任等级,该关联的安全或信任等级确定应用程序能够访问的一组API(一个或多个类别),以及相关访问形态。\n[0047] 一般来说,安全或信任等级是与应用程序能够有条件地访问的三组或多组API对应的大于2个值的多个值之一。\n[0048] 访问形态的例子是“allow always”形态,“blanket”形态,“oneshot”形态和“session”形态。在“allow always”形态下,对用户来说,软件应用对资源(例如,对API)的访问请求基本上是透明的而不要求与用户的任何直接交互(直接交互可以经由提示或者图形用户界面-GUI)。在“blanket”访问形态下,软件应用可再次按照对用户来说透明的方式访问资源,除应用程序首次请求访问资源之外:这种情况下,要求用户的明确授权;\n一旦授权被批准,那么该授权被认为是永久性的,对资源的后续访问请求被隐含地认为得到许可。在“one shot”形态下,每次应用程序请求访问资源时,用户必须授权该访问。在“session”形态下,对资源的访问需要用户的授权;不过,一旦授权被批准,那么认为该授权对整个会话有效,即,直到应用程序的运行被终止或者使终端保持“打开”状态,该授权有效;在下次调用该应用程序时,或者在该终端再次加电时,为了准许访问资源,必需要新的用户授权。\n[0049] 按照本发明的实施例,分配给打算安装并且随后可能在移动终端115-1,...,\n115-5上执行的普通软件应用的安全级别不是静态的,即,不是像通常在应用程序认证过程中那样一劳永逸地确定的,而是动态变化的。\n[0050] 特别地,通过动态确定待分配给打算安装或者已安装在移动终端115-1,...,\n115-5上的软件应用的恰当的安全级别,并把安装/待安装于移动终端上的软件应用的更新后的安全级别通知移动终端,信任提供者105代表移动终端115-1,...,115-5的用户运作,并帮助保持移动终端的完整性。\n[0051] 移动终端115-1,...,115-5的用户为其订户的移动电信网络的运营商可扮演信任提供者105的角色。事实上,在认证、信道加密和隐私保护方面,移动网络运营商已经扮演了其用户的安全提供者的角色。此外,它具有必要的技术和管理技能,被已签署接入移动网络合同的用户信任,并且在网络侧和移动终端侧它都具有可被有利地用于实现安全框架的资源和平台。\n[0052] 信任提供者105与移动终端115-1,...,115-5通信。特别地,通过利用移动电信网络资源,例如借助SMS消息和/或MMS消息,和/或借助IP网络上的基于分组(例如GPRS)连接,信任提供者105和移动终端115-1,...,115-5之间的通信可通过空中(Over The Air)进行。优选地,例如利用数字签名机制(例如,签名的XML)保护信任提供者105和移动终端115-1,...,115-5之间的通信。\n[0053] 信任提供者105另外与外部信息源(总的标注为120)通信,外部信息源120适合于向信任提供者105提供有用的信息以动态确定,即,保持被监控软件应用的更新后的安全级别。特别地,仅仅通过举例的方式,外部信息源120可包括CERT(计算机紧急响应小组,http://www.cert.org/)(标注为120-1),它是位于软件工程研究所(由卡内基·梅隆大学运作的联邦资助的研发中心)的因特网安全专家的中心,致力于研究因特网安全漏洞,研究联网系统的长期变化,提出帮助改善安全性的信息和培训;另一示例性的外部信息源是OVAL(开放漏洞评估语言,http://oval.mitre.org/)(标注为120-2),它是用于表示测试用系统的配置信息的标准语言和方法,目的是分析系统以获得指定机器状态(漏洞,配置,补丁状态)的存在。进一步示例性的外部信息源是CVE(公共漏洞和暴露,http://cve.mitre.org/)(标注为120-3),它是所有公知漏洞和安全性暴露的标准化字典,软件厂家公告(标注为120-4),在软件厂家公告120-4上,软件生产商和厂家公布所检测到的其软件应用的漏洞,可能还有解决该问题的补丁或解决途径,和软件认证实验室(即CA,总的标注为120-5),它负责按照公知的方案(比如Symbian Signed,Microsoft Mobile-2-Market或OMTP框架)测试和认证应用程序。\n[0054] 信任提供者105还可与例如由不同的移动电信网络运营商运行的一个或多个其它信任提供者105-1、105-2通信,从而共享有关的信息以动态且及时地确定被监控软件应用的安全级别。因为安全级别与应用程序绑定,而不是与用户绑定,所以可无任何隐私顾虑地共享这种信息。\n[0055] 图1中,各对移动终端115-1,...,115-5之间的箭头意欲表示移动终端之间的对等电信信道,例如(但不限于)短程通信信道,比如蓝牙、ZigBee、NFC等等,或者GSM/GPRS/UMTS/HSDPA(高速下行链路分组接入)/WiFi上的全IP信道(如果可用的话);在本发明的一个优选实施例中,利用这些直接的对等通信信道的移动终端可共享与安装在所述移动终端上并且可能在其上运行的软件应用的安全级别相关的信息,甚至无需与信任提供者105建立连接。这有助于提高安全框架的效率,并提供更好的带宽消耗。\n[0056] 现在参见图2,利用主功能块更详细地说明信任提供者105的结构。\n[0057] 信任提供者105(其相对于安装在移动终端上并在其上运行的客户端组件110而言扮演服务器组件的角色)包括前端205和后端210。\n[0058] 前端205包括与驻留在移动终端上的客户端110通信的通信接口(总的标注为\n215);这种通信接口215包括例如SMS接口,MMS接口,IP接口,广播信道接口(例如,通过GSM/GPRS/UMTS网络上的蜂窝广播信道发送信息)。信任提供者105的前端205还包括信息发布接口220,比如第三方(例如移动终端的用户和其它信任提供者)可通过web浏览器访问的web服务器;通过信息发布接口220,信任提供者105发布并使第三方可以获得例如以下信息:比如信任提供者105采用的计算被监控软件应用的安全级别的方法(这可采取安全级别评价声明-SLES的形式,一种宣告所采用的安全级别评价方法的文档);被监控软件应用及其当前安全级别,可能还有涉及软件应用的安全级别随时间如何变化的历史数据的列表;与被监控软件应用的安全级别的建立有关的过去的事件。可对这种信息的访问进行验证处理,以便只有授权用户和代理才能够获得该数据。\n[0059] 后端210包括静态或二进制分析器模块225,适合于进行软件应用的代码的静态(即二进制)分析;还提供了漏洞分析器模块230,通过利用从外部信息源120收集的信息,漏洞分析器模块230适合于分析软件应用的漏洞。安全级别评价器模块235被配置成接收二进制分析器模块225和漏洞分析器模块230的输出,以及从外部信息源120,尤其是从软件生产商/厂商公告120-4,从CA 120-5和从其它信任提供者105-1,105-2收集信息,并通过应用预定度量(在信任提供者105发布和维护的SLES中规定),计算待分配给每个被监控软件应用的安全级别。安全级别通常由安全级别评价器模块在三个或更多的级别中选择。软件应用数据库240被配置成保存信任提供者105监控的所有软件应用的列表,和对应的安全级别(优选地,除了当前安全级别之外,还保存过去的安全级别,使得能够认识软件应用的历史)。用户数据库245保存作为信任提供者105的订户的用户的标识符和其它细节(例如,对与用户的移动终端建立通信或者记账来说必需的细节),并且对于每个用户,保存安装在用户的移动终端上的软件应用的列表。\n[0060] 在图3中,利用主功能块描述安装并运行于普通移动终端上的客户端组件110的结构。\n[0061] 客户端组件110是运行于移动终端上的软件代理。客户端组件110包括适合于管理客户端组件110和由信任提供者105代表的服务器组件之间的通信的客户端/服务器通信模块305。优选提供利用短程通信信道(比如蓝牙、ZigBee、NFC等,或者GSM/GPRS/UMTS/HSDPA上的全IP通信信道)来管理与其它移动终端的直接通信的对等通信模块310。此外,还提供广播通信模块315,以便通过广播无线电信道(比如GSM/GPRS/UMTS网络中的蜂窝广播)获得信息。通信模块305、310和315形成客户端组件110的前端320。\n[0062] 客户端组件110还包括监控层323。监控层323包括应用程序安装监控模块325,适合于检测与新软件应用在移动终端上的安装相关或者导致所述安装的活动的启动。监控层323还包括适合于检测安装在移动终端上的应用程序的启动的应用程序执行监控模块\n330。提供内核模块335,内核模块335与应用程序安装监控模块325和应用程序执行监控模块330通信,并与配置成包含诸如安装在移动终端上的软件应用的当前安全级别,和信任提供者105的数字证书之类信息的本地数据库340通信(可能的话,与信任提供者105结成联盟的信任提供者(比如信任提供者105-1和105-2)的数字证书被交叉证明;这样,通过对等通信信道从作为所述联盟的其它信任提供者105-1,105-2的订户的移动终端获得的软件应用的安全级别信息可被证实和识别为是真实的,并且得到用户的信任提供者的批准)。\n[0063] 内核模块335还与安全级别更新器模块337交互作用,安全级别更新器模块337管理软件应用的安全级别的更新、与信任提供者105(经由客户端/服务器通信模块305)和/或与其它移动终端(经由对等通信模块310)建立通信,或者仅仅借助广播无线电信道(比如蜂窝广播)(经由广播通信模块315)接收更新信息。\n[0064] 内核模块335还与外部信息源通信(这里,“外部”意味在客户端组件110之外,但是存在于移动终端之上),比如入侵检测系统(IDS)345和其它安全工具350,例如安装在移动终端上的防恶意软件的软件或个人防火墙。\n[0065] 下面,将详细说明该安全框架的操作。\n[0066] 信任提供者105维护安装在作为其订户的用户的移动终端上的软件应用的更新后的动态安全级别。\n[0067] 参见图4A、4B和4C的简化流程图,假定在某一时间,新的软件应用将被安装在移动终端上:这种情况下,该事件被应用程序安装监控模块325检测到(方框405),应用程序安装监控模块325把该事件通知内核模块335(方框410)。当从应用程序安装监控模块\n330收到该通知时,内核模块335检查本地数据库340,以确定指定的软件应用是否已被列于其中(意味该应用程序已被监控),在肯定的情况下,内核模块335检查该软件应用的安全级别是否足够新(判定框415)。在肯定的情况下(判定框415,离开分支Y),内核模块\n335评估待安装的软件应用的安全级别是否足够高,即,不低于预定的最小安全级别(判定框420):在肯定的情况下(判定框420,离开分支Y),内核模块授权该应用程序的安装(方框425),于是允许该应用程序的安装;在否定的情况下(判定框420,离开分支N),内核模块335可阻止该软件应用的安装。应注意预定的最小安全级别是可选择的:如果未被配置,那么应用程序将始终被安装在移动终端上,只是在可用的移动终端API方面受其对应安全级别限制。\n[0068] 如果待安装的指定软件应用未被列入本地数据库340中,或者即使被列入,但是其安全级别不够新(判定框415,离开分支N),那么内核模块335调用安全级别更新器模块\n337,通知服务器组件一个新的应用程序将被安装在移动终端上,并获得所考虑的应用程序的(更新后的)安全级别(方框435)。\n[0069] 安全级别更新器模块337尝试与信任提供者105建立连接(方框440),如果成功建立该连接,那么安全级别更新器模块337通知信任提供者105在移动终端上已开始新软件应用的安装。它还向信任提供者105请求与指定软件应用相关的更新的安全级别(方框\n445)。\n[0070] 信任提供者105接收来自移动终端的请求(方框450),通过把指定软件应用添加到安装在用户的移动终端上的应用程序的列表中来更新用户数据库245(方框455),并且随后把指定软件应用的当前安全级别提供给安全级别更新器模块337(方框460)。如果指定软件应用不在被监控软件应用的列表中,则信任提供者能够开始收集和该软件应用有关的信息,并计算对应安全级别的程序。按照信任提供者采用的具体度量,关于新应用程序(即,尚未被监控的应用程序)的安全级别计算可能需要时间,从而可能发生不能实时完成所述计算的情况。在这些情况下,信任提供者能够返回保守的安全级别(例如,较低值),以便至少在完成整个安全级别计算所需的时间期间,限制可供应用程序使用的API组。在这些情况下,信任提供者还可向其它结成联盟的信任提供者请求和特定应用程序相关的安全级别。\n[0071] 指定应用程序的更新后的安全级别被传给内核模块335,并被保存在本地数据库\n340中(方框465)。\n[0072] 现在,内核模块335能够评估待安装的软件应用的安全级别,并根据该应用程序的安全级别是否低于预定的最小安全级别允许或阻止安装(连接符C,跳转回判定框420)。\n[0073] 在不能建立与信任提供者105的连接的情况下,或者除了与信任提供者105建立连接之外,安全级别更新器模块337可尝试利用对等通信模块310与其它移动终端建立连接。如果安全级别更新器模块337不能建立任何种类的连接(例如,由于移动终端离线),那么按照预先配置的策略,内核模块335可分配保守的安全级别(例如,可容许的较低级别)或者阻止软件安装,直到获得所考虑的应用程序的更新后的安全级别为止。\n[0074] 参见图5的简化流程图,现在假定在某一时间,安装在普通移动终端115-1上的软件应用被启动。应用程序执行监控模块330检测到该事件(方框505),并把该事件通知内核模块335(方框510)。当从应用程序执行监控模块330收到该通知时,内核模块335检查该应用程序是否已被安装和监控,即,该应用程序是否已存在于本地数据库340中。如果该应用程序不存在,那么该事件被视为新应用程序的安装来处理,如结合图4A-4C所述的那样。相反,如果该应用程序存在于本地数据库340中,那么内核模块335从本地数据库340取回相关的安全级别。如果所述安全级别足够新,那么内核模块335根据应用程序的安全级别,批准应用程序的运行和对API的访问。相反,如果安全级别不够新,那么内核模块335调用安全级别更新器模块337,以便刷新保存在数据库340中的安全级别信息(方框515)。\n[0075] 安全级别更新器模块337尝试与信任提供者105建立连接(方框520),如果该连接被建立,那么安全级别更新器模块337要求信任提供者105提供指定软件应用的更新后的安全级别(方框525)。在不能建立与信任提供者105的连接的情况下,或者除了与信任提供者105建立连接之外,安全级别更新器模块337可尝试利用对等通信模块310与其它移动终端建立连接。\n[0076] 信任提供者105接收来自移动终端的请求,通过从应用程序数据库240获得指定软件应用的当前安全级别,并将其提供给移动终端(方框530)。或许,当确定指定的软件应用不在安装于该用户的移动终端上的软件应用的列表中时,信任提供者105把所述指定应用程序添加到这样的列表(保存在用户数据库245中)中。如果不能建立与信任提供者的连接,或者除此之外,移动终端可从一个或多个其它移动终端接收指定应用程序的更新后的安全级别;这种情况下,安全级别更新器模块337可适合于评估哪个安全级别是该软件应用的最新安全级别:例如,这可通过使最后更新安全级别的日期和时间的指示与安全级别相关联来实现。\n[0077] 更新后的安全级别被传给内核模块335,并被保存在本地数据库340中(方框\n535)。\n[0078] 如果安全级别更新器模块337不能建立任何种类的连接(例如,由于移动终端离线),那么按照预先配置的策略,内核模块335可分配一个保守的安全级别(例如,可容许的较低级别)或者阻止软件运行,直到获得所考虑的应用程序的更新后的安全级别为止。\n[0079] 根据安全级别,内核模块335按照实现的信任模型,准许已启动的软件应用有条件地访问移动终端的资源,即有条件地访问与特定应用程序安全级别关联的操作系统暴露的API。\n[0080] 当从用户的移动终端卸载软件应用时,该事件被传给信任提供者105(一旦检测到网络连接,并且网络连接可用的话),信任提供者105随后从保存在数据库245中的安装在用户的移动终端上的软件应用的列表中删除指定的软件应用。\n[0081] 信任提供者105还实现移动终端的本地数据库340的推送式更新机制(例如,借助SMS、MMS、WAP推送消息,蜂窝广播消息),以便向运行于移动终端上的客户端组件110提供安装在移动终端上的软件应用的更新安全级别。另外,除了当软件应用被启动或者将被安装在移动终端上时询问信任提供者105之外,客户端组件还定期联系信任提供者105,以获得安装在其上的软件应用的更新安全级别。除了定期更新之外,可替换地或可附加地,客户端组件可基于样本地工作:从安装在移动终端上的应用程序中选择应用程序子集(例如,最频繁使用的应用程序),并为所述应用程序子集请求更新的安全级别。\n[0082] 驻留在移动终端上的客户端组件110还可把由安装在移动终端上的IDS 345或防恶意软件工具350检测的反常事件通知信任提供者105。当收到这种通知时,信任提供者可采取必要的步骤来识别安装在移动终端上的哪个(哪些)软件应用导致该反常事件(例如,使不同用户发送的反常事件相互关联),并把识别的应用程序放入需要更仔细分析的应用程序的列表中;可在实验室中深入地测试这些应用程序。\n[0083] 下面,讨论由信任提供者105实现的计算软件应用的安全级别的方法的例子。要指出的是下面说明的计算方法只是示例性的,不应被解释成对本发明的限制,因为几种备选方法也是可行的。\n[0084] 二进制分析器模块225适合于静态分析普通软件应用的二进制代码。通过静态分析可执行代码,实现所述静态分析,而不必分析软件应用的所有可能的动态行为或者执行路径。特别地,静态分析可确定软件应用调用的API的种类,软件应用的安装细节(例如,是否采用自动运行特征),被访问数据的性质。根据所进行的分析,二进制分析器模块225可向待传给安全级别评价器模块的一个或一组参数AS赋值。\n[0085] 漏洞分析器模块230适合于评估将评价其安全级别的软件应用的漏洞。漏洞分析器模块230适合于从外部信息源,比如CERT、OVAL/CVE、软件生产商和厂家的公告、软件认证机构取回可用于评估漏洞的信息。漏洞分析器模块230适合于借助统计和预测分析,向安全级别评价器模块235提供对于所考虑的软件应用发现的漏洞的总数的指示、每个遇到的漏洞的危急程度,和何时发现下一个危急程度的估计。根据所进行的分析,漏洞分析器模块230可向待传给安全级别评价器模块的一个参数或一组参数AV赋值。\n[0086] 对安全级别评价器模块建立应用程序的安全级别有用的另一个参数是软件生产商/厂家对新漏洞的检测/公布的反应时间,即,软件生产商/厂家找到检测到的/发布的漏洞的补救措施所需时间的指示。可定义一个参数或一组参数TR,其值取决于在检测到/公布漏洞之后,发布补救措施所需的时间、所发布的补救措施、解决途径或补丁的效力、已对其发布补救措施的漏洞的危急程度。\n[0087] 另外,安全级别评价器模块可向定义软件生产商/厂家的可靠性的一个参数或一组参数AF赋值;这样,历史上已证明能够生产/分发受较少漏洞影响的安全、可靠软件产品的企业可被赋予特许。\n[0088] 在评价某一软件应用的安全级别的过程中,信任提供者105还可进一步考虑是否存在由认可的机构发布的任何认证、声明或保证,比如与Symbian Signed,Microsoft Mobile2Market,Common Criteria或ITSEC相关的那些认证、声明或保证。这种认证的存在会影响一个参数或一组参数AC的值。\n[0089] 确定软件应用的安全级别的有用信息的另一来源是来自移动终端本身的通知,例如,由驻留在移动终端上的反常检测或入侵检测工具检测的反常。如前所述,当驻留在普通移动终端上的IDS或防恶意软件工具发现反常行为,或者仅仅是恶意软件的入侵时,它们可用信号将其通知客户端组件110,客户端组件110随后向信任提供者105通告该事件(可能以得到移动终端用户的授权为条件)。通过使可能来自不同移动终端的信息相互联系,知道安装在用户的移动终端上的软件应用是哪些软件应用的信任提供者能够进行分析,从而识别哪个(或哪些)软件应用是最可能导致该反常的软件应用。信任提供者还可进行更详细的分析,比如代码的静态分析或者暗箱分析(即,不对在软件应用的开发过程中做出的实现选择进行假设,局限于观察和分析应用程序的输入和输出的分析)。这种分析影响一个参数或一组参数AD的值。\n[0090] 在待赋予软件应用的安全级别的评价中,信任提供者还可例如考虑到在最近的预定月数(例如12个月)中检测到和公布的漏洞的数目,设定分析时间窗。设定的时间窗被指定为参数t的值。\n[0091] 利用上面讨论的评价要素,安全级别评价模块用于计算软件应用的安全级别的度量可被表述成:\n[0092] SLAPP(t)=f(AS,AV,TR,AF,AC,AD,t)\n[0093] 其中f()表示具有预定形式的函数,并且AS,AV,TR,AF,AC,AD和t是与上述评价要素对应的参数。\n[0094] 根据该情况,信任提供者可例如基于用户的类型,应用多个函数f()中的一个函数。例如,对于不想放弃在其终端上安装和运行普通软件应用的可能性的消费者用户,应为其定义函数fConsumer()。另外,对于具有更严格安全标准的客户企业的用户雇员,应定义函数fEnterprise()。\n[0095] 可能的函数f()是诸参数的加权和:\n[0096] \n[0097] 其中基于用户的类型,可区分权重:\n[0098] ΩConsumer=(ω′AS,ω′AV,ω′TR,ω′AF,ω′AC,ω′AD)[0099] ΩEnterprise=(ω″AS,ω″AV,ω″TR,ω″AF,ω″AC,ω″AD)[0100] 这些分别是特定于消费者用户和企业用户的两组加权因子。\n[0101] 本发明克服了当前的静态认证系统在高成本和组织方面的问题。\n[0102] 归功于本发明,通过借助公认的评价度量定期重新计算安全级别,以便跟踪软件应用的安全性方面的变化,软件应用被赋予可随时间动态变化的安全级别;这便于实现奖励已经在实际使用中证明其安全性的软件应用的策略。\n[0103] 此外,本发明有助于减少与恶意软件和可利用的应用程序有关的安全风险。一旦检测到恶意软件,对应的安全级别是给移动终端上的软件代理的阻止该应用程序运行(并且可能删除该应用程序)的信息。就可利用的应用程序来说,安全级别被降低,直到发布解决途径或补丁为止,使得使该应用程序能够执行,但是同时限制移动终端上可用的资源。施加这种限制的目的也是为了降低利用应用程序漏洞的恶意软件所产生的损害的风险。应注意的是,在这种时间内(直到发布解决途径或补丁为止),用户仍然可以使用该应用程序。\n[0104] 按照本发明的解决方案非常灵活,尤其是在能够建立的业务模型方面;持续更新可在移动终端获得的安全级别信息的成本可由例如信任提供者负担,信任提供者可设立订户用户的移动终端与之联系的免费电话号码;在信任提供者的角色由移动网络运营商扮演的情况下,这些成本可包含在与用户的服务协议中。\n[0105] 按照本发明的系统使移动电信网络运营商能够在增强移动终端的安全性方面起中枢作用,这不仅有利于运营商自己(就网络保护而言),而且有利于用户,用户能够依赖于具有技术和组织技能的可信任的对方。\n[0106] 按照本发明的系统的另一优点是该系统不排除一种重要类别的应用程序,比如被归入开源软件类别的那些应用程序,因为并不要求软件生产商承担高昂的认证成本。\n[0107] 基于例如前述信任模型,按照本发明的系统能够容易地与现有解决方案结合。\n[0108] 上面参考本发明的示例性且非限制性实施例,说明了本发明。本领域的技术人员会认识到可对所述实施例做出一些修改,例如为了满足临时的需求,在不脱离在附加权利要求中陈述的保护范围的情况下,一些其它实施例也是可能的。\n[0109] 例如,没有什么能阻止在SIM中实现软件代理,为了其在电信网络中的操作,使之与电信终端在操作上相联系。
法律信息
- 2012-09-19
- 2009-10-14
- 2009-08-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-02-09
|
2002-08-09
| | |
2
| |
2005-06-22
|
2004-12-17
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |