实时移动安全态势的制作方法

文档序号:13426490
实时移动安全态势的制作方法

本申请要求享有2014年12月27日提交的题为“REAL-TIME MOBILE SECURITY POSTURE”的美国非临时专利申请号14/583,687的权益和优先权,该美国非临时专利申请以其整体通过引用并入本文。

技术领域

本申请涉及计算机安全领域,并且更特别地涉及用于实时移动安全态势的设备和方法。



背景技术:

安全断言标记语言(SAML)是用于在各方之间、特别是在身份提供者与服务提供者之间交换认证和授权数据的基于XML、开放标准数据格式。SAML特别地对web浏览器单点登录(SSO)进行寻址。SAML规范定义三种角色:当事人(例如用户),和身份提供者(IdP)以及服务提供者(SP)。在示例认证中,当事人从SP请求服务。SP从IdP请求和接收身份断言。在该断言的基础上,服务提供者可以决定是否授予对资源的访问权。

在向SP递送身份断言之前,IdP可以从当事人请求一些信息,诸如用户名和口令、认证令牌、双因素认证或其它认证数据。(SAML不指定身份提供者处要求的认证方法。)SAML指定这三方之间的断言,特别是断言从IdP向SP传递的身份的消息。在SAML中,一个身份提供者可以向许多服务提供者提供SAML断言。类似地,一个SP可以依赖于并且信任来自许多独立IdP的断言。

附图说明

当与随附各图一起阅读时,本公开从以下详细描述最好地理解。要强调的是,依照工业界中的标准实践,各种特征并未按比例绘制并且仅用于图示目的。事实上,各种特征的尺寸可以为了讨论的清楚性而任意地增大或减小。

图1是根据本说明书的一个或多个示例的使能安全性的网络的框图。

图2是根据本说明书的一个或多个示例的计算设备的框图。

图3是根据本说明书的一个或多个示例的服务器的框图。

图4是根据本说明书的一个或多个示例的移动设备管理的信号流程图。

图5是根据本说明书的一个或多个示例的信任框架的框图。

图6是根据本说明书的一个或多个示例的信任框架的框图。

图7是根据本说明书的一个或多个示例的信任框架的信号流程图。

具体实施方式

概述

在示例中,提供了用于实时移动安全态势更新的系统和方法。移动设备管理(MDM)代理可以在移动设备上运行,并且可以向操作系统登记可能影响移动安全态势的一个或多个移动安全态势改变事件。这些可以包括例如,MDM代理的安装、程序的卸载、连接到受保护的或未受保护的网络或类似事件。当任何这样的事件发生时,OS向MDM代理申诉(lodge)该事件,MDM代理然后与MDM服务器引擎通信以潜在地接收新的安全指令。申诉事件可以包括向MDM服务器提供联合的用户和设备认证,诸如经由SAML。

本公开的示例实施例

以下公开内容提供许多不同的实施例或示例,以用于实现本公开的不同特征。以下描述组件和布置的具体示例以简化本公开。这些当然仅仅是示例并且不意图是限制性的。另外,本公开可以在各种示例中重复参考标号和/或字母。该重复是出于简化和清楚的目的并且自身不规定所讨论的各种实施例和/或配置之间的关系。

不同实施例可以具有不同的优点,并且没有特定优点是任何实施例所必然要求的。

企业计算中的现代趋势是所谓的“带上你自己的设备”(BYOD)模型。在BYOD中,用户可以拥有和提供其自身的设备,包括膝上型计算机、智能电话、平板电脑和其它类似的设备。这可以简化企业IT预算和策略,因为企业IT部门不需要定义针对使用特定设备的策略,为每一个用户购买一个设备,并且然后配置和管理所有设备。

然而,BYOD确实具有一些缺陷。由于BYOD固有地是民主的,因此企业放弃对哪个软件可以安装在设备上的紧密控制。在BYOD环境中,用户可以具有设备上的游戏、个人应用、个人实用程序和任何其它应用。这可能为企业呈现安全顾虑。具体地,用户可能使用他们的设备来访问企业数据,包括电子邮件和共享企业文件。如果用户设备没有受到适当地保护或者被恶意软件感染,企业数据可能受损。

为了帮助防止企业数据丢失,可以要求BYOD环境中的用户在他们的移动设备上安装移动设备管理(MDM)代理。MDM代理可以作为特许进程运行,并且可以配置成实施所选企业IT策略,诸如要求用户设备具有适当强的口令或与企业安全策略一致的其它安全机制。

在一个示例中,每一个用户最初可以向企业安全控制器登记他的设备,企业安全控制器可以向设备提供证书。只要设备贡献于满足企业安全策略,证书就保持有效。如果设备停止满足那些要求,则可以撤销证书连同用户对企业资源的访问权。

例如,如果用户结束他与企业的雇佣关系,他的证书可以被撤销,使得他不再能够接收企业电子邮件或登录到企业资源。其它事件也可以影响企业安全遵从。例如,如果用户卸载或禁用MDM代理,则用户证书可能不再被视为有效。在其它示例中,如果用户安装某些列入黑名单的程序,证书可以被撤销。在再其它的示例中,某些企业资源的使用可以被约束到用户身处企业地产上或者在办公室的某些区域内时的时间。在另一示例中,如果在设备上发现候选恶意对象或尚未被正确表征的其它安全对象,可以撤销证书。在另一示例中,只要用户提供正确的生物计量认证,他就可以访问企业资源。例如,用户可能与一个或多个非企业用户(诸如配偶和子女)共享设备。当其他人员正在使用该设备时,生物计量认证将不匹配,并且设备将不能够访问企业资源。前述各项中的任何一个可以被视为安全态势改变事件。在一些情况下,当发生安全态势改变事件时,联合的用户和设备认证可能是要求的,使得企业MDM服务器可以构造适当的经更新的安全简档,并且做出关于是否并且在什么程度上继续授予对企业资源的访问权的决定。

在一个示例中,当检测到安全态势中的改变时,MDM代理可以提供认证令牌,诸如经由安全证明标记语言(SAML)。有利地,SMAL令牌可以不仅提供针对用户和设备的认证,而且还可以包含关于新的安全态势的信息。

当接收到针对用户和设备的认证时,MDM服务器可以基于新的安全态势而构造策略决定并且向设备提供回新的决定。MDM服务器还可以在企业网络上本地实施新的策略。例如,如果新的设备安全态势使得移动设备应当被拒绝访问企业资源,则可以撤销对那些资源的设备访问权。

有利地,在本说明书的某些实施例中,可以实时或近实时地检测移动设备安全态势中的改变。例如,在一个示例中,MDM代理作为连续监视数个因素的“守护”进程运行并且准备向MDM服务器报告安全态势中的改变。MDM代理可以作为特许进程运行,例如在“环0”中,使得它可以检测所有种类的相关事件。在其它示例中,MDM代理可以在可信执行环境(TEE)中运行,诸如在存储器指定位址空间内,或者在诸如由Intel®vProTM架构提供的安全协处理器上。这可以帮助确保恶意软件对象不能篡改MDM代理。

在本文中还认识到,在一些情况下,通过MDM代理的恒定监视对于移动设备而言可能不切实际。具体地,在移动设备中,功耗很受重视。因此,使守护进程在后台总是运行从而监视数个进程可以证明是对电池寿命的不可接受的耗尽。

为了解决该困难,在某些实施例中,MDM代理可以向操作系统登记一系列事件,并且然后进入“睡眠”模式。操作系统自身然后可以监视设备以检测这些事件中的任何一个的发生。如果发生任何事件,操作系统唤醒MDM代理,并且MDM代理向MDM服务器报告安全态势中的改变。

现在将更加特定地参照随附各图来描述实时移动安全态势更新的系统和方法。贯穿各图,共同的标号用于指定跨多个图共同的元件。然而,这不意图暗示本文所公开的不同实施例之间的必然或严格关系。在一些情况下,相同元件的一个或多个不同示例或种类可以以带连字符号的形式指代。因此,例如,标号1xx-1和1xx-2可以指代称为1xx的对象类的两个不同种类或示例。

图1是根据本说明书的一个或多个示例的受保护的企业100的网络级图。在图1的示例中,多个用户120操作多个客户端设备110。具体地,用户120-1操作台式计算机110-1。用户120-2操作膝上型计算机110-2。并且用户120-3操作移动设备110-3。

每一个计算设备可以包括适当的操作系统,诸如Microsoft Windows、Linux、Android、Mac OSX、Apple iOS、Unix或类似物。前述各项中的一些可能比另一个更常使用在一种类型的设备上。例如,台式计算机110-1,其在一个实施例中可以是工程工作站,可能更可能使用Microsoft Windows、Linux、Unix或Mac OSX中的一个。膝上型计算机110-2,其经常是具有更少定制选项的便携式现成设备,可能更可能运行Microsoft Windows或Mac OSX。移动设备110-3可能更可能运行Android或iOS。然而,这些示例不意图是限制性的。

客户端设备110可以经由企业网络170通信耦合到彼此和其它网络资源。企业网络170可以是操作在一个或多个合适的联网协议上的任何合适的网络或一个或多个网络的组合,作为非限制性示例,包括例如局域网、内联网、虚拟网络、广域网、无线网络、蜂窝网络或因特网(可选地经由代理、虚拟机或其它类似的安全机构来访问)。企业网络170还可以包括一个或多个服务器、防火墙、路由器、交换机、安全器具、防病毒服务器或其它有用的网络设备。在该图示中,为了简化,企业网络170被示出为单个网络,但是在一些实施例中,企业网络170可以包括大数目的网络,诸如连接到互联网的一个或多个企业内联网。企业网络170还可以提供经由外部网络172对诸如因特网之类的外部网络的接入。外部网络172可以类似地是任何合适类型的网络。

配置为企业安全控制器(ESC)140的一个或多个计算设备也可以在企业网络170上操作。ESC 140可以为出众的安全管理员150提供用户接口以定义企业安全策略,ESC 140可以在企业网络170上和跨客户端设备120实施所述企业安全策略。

受保护的企业100可能遭遇网络上的各种“安全对象”。安全对象可以是在企业网络170上操作或与企业网络170交互并且具有实际或潜在的安全暗示的任何对象。在一个示例中,对象可以被宽泛划分成硬件对象和软件对象,硬件对象包括与网络通信或经由网络进行操作的任何物理设备。软件对象可以被进一步细分为“可执行对象”和“静态对象”。可执行对象包括可以主动执行代码或自主操作的任何对象,作为非限制性示例,诸如应用、驱动器、程序、可执行文件、库、进程、运行时文件、脚本、宏、二进制文件、解译器、经解译的语言文件、具有内联代码的配置文件、嵌入式代码和固件指令。静态对象可以宽泛地指定为不是可执行对象或者不能执行的任何对象,作为非限制性示例,诸如文档、图片、音乐文件、文本文件、没有内联代码的配置文件、视频和绘图。在一些情况下,还可以提供混合软件对象,诸如例如具有内置宏的文字处理文档或具有内联代码的动画。为了安全目的,这些可以被视为软件对象的单独类,或者可以简单地被视为可执行对象。

作为非限制性示例,企业安全策略可以包括认证策略、网络使用策略、网络资源配额、防病毒策略和关于客户端设备110上的可执行对象的约束。各种网络服务器可以提供大量服务,诸如路由、联网、企业数据服务和企业应用。

受保护的企业100可以跨企业边界104与外部网络172通信。企业边界104可以表示物理、逻辑或其它边界。企业网络172可以包括例如网站、服务器、网络协议和其它基于网络的服务。在一个示例中,应用储存库160经由外部网络172可用,并且攻击者180(或其它类似的恶意或过失行为者)也连接到外部网络172。

用户120和受保护的企业100的目标可以是在没有来自攻击者180或来自不想要的安全对象的干扰的情况下成功地操作客户端设备110。在一个示例中,攻击者180是恶意软件作者,其目标或目的是导致恶意的损害或危害。恶意损害或危害可以采取以下形式:在客户端设备110上安装根套件或其它恶意软件以篡改系统、安装间谍软件或广告软件以收集个人和商业数据、毁坏网站、操作僵尸网络(诸如电子垃圾服务器)或简单地烦扰和骚扰用户120。因此,攻击者180的一个目的可以是将他的恶意软件安装在一个或多个客户端设备110上。如贯穿本说明书所使用的,恶意的软件(“恶意软件”)包括配置成提供不想要的结果或进行不想要的工作的任何安全对象。在许多情况下,恶意软件对象将是可执行对象,作为非限制性示例,包括病毒、木马、僵尸、根套件、后门、蠕虫、间谍软件、广告软件、勒索软件、拨号器、有效载荷、恶意浏览器帮助器对象、追踪cookies、登录器或设计成采取潜在不想要的行动的类似对象,作为非限制性示例,所述潜在不想要的行动包括数据破坏、隐蔽数据收集、浏览器挟持、网络代理或重定向、隐蔽追踪、数据记录、按键记录、对移除的过量或蓄意障碍、联系收获和未经授权的自传播。

攻击者180还可能想要对受保护的企业100进行工业或其它间谍活动,诸如窃取机密或私有的数据、窃取身份或获得对企业资源的未经授权的访问。因此,攻击者180的策略还可能包括尝试获得对一个或多个客户端设备110的物理访问权并且在没有授权的情况下操作它们,使得有效的安全策略还可以包括用于防止这样的访问的规定。

在另一示例中,软件开发者可能并非明确地具有恶意意图,但是可能开发造成安全风险的软件。例如,公知并且通常利用的安全漏洞是所谓的缓冲超限,其中恶意用户能够将过长的字符串录入成输入形式并且因而获得执行任意指令或者以计算设备200上的升高的权限进行操作的能力。缓冲超限可以是例如劣质的输入认证或使用不安全的库的结果,并且在许多情况下出现在不明显的上下文中。因此,尽管自己不是恶意的,但是向应用储存库160贡献软件的开发者可能不利地为攻击者180提供攻击媒介。劣质编写的应用也可能导致固有的问题,诸如崩溃、数据丢失或其它不合期望的行为。由于这样的软件自身可能是合期望的,因此对于开发者而言可以有益的是不时地提供更新或补丁,所述更新或补丁在易损性变得已知时修复它们。然而,从安全的角度,这些更新和补丁本质上是新的。

应用储存库160可以表示Windows或Apple“应用商店”或更新服务、Unix式储存库或端口集合,或者为用户120提供在客户端设备110上交互地或自动地下载和安装应用的能力的其它网络服务。如果应用储存库160使得安全措施就位(这使得对于攻击者180而言难以公然分发恶意的软件),攻击者180可能替代性地将易损性暗中插入到明显有益的应用中。

在一些情况下,受保护的企业100可以提供策略指引,其约束可以从应用储存库160安装的应用类型。因此,应用储存库160可以包括不是疏忽开发的并且不是恶意软件的软件,但是这仍旧抵触策略。例如,一些企业约束比如媒体播放器和游戏那样的娱乐软件的安装。因此,甚至安全的媒体播放器或游戏可能不适合于企业计算机。安全管理员150可以负责分发与这样的约束一致的计算策略并且在客户端设备120上实施它。

受保护的企业100还可以与安全服务提供者190订有合约或者订阅安全服务提供者190,安全服务提供者190可以提供安全服务、更新、防病毒定义、补丁、产品和服务。McAfee®公司是提供全面安全和防病毒解决方案的这样的安全服务提供者的非限制性示例。在一些情况下,安全服务提供者190可以包括威胁智能能力,诸如由McAfee公司提供的全球威胁智能(GTITM)数据库。安全服务提供者190可以通过在新的候选恶意对象出现在客户端网络上时分析它们并且将它们表征为恶意的或善意的来更新其威胁智能数据库。

在另一示例中,受保护的企业100可以简单地为家庭,其中家长采取安全管理员150的角色。家长可能希望保护他们的孩子以防不合期望的内容,作为非限制性示例,诸如色情文学、广告软件、间谍软件、年龄不适宜的内容、对某些政治、宗教或社会运动的鼓吹或讨论不合法或危险活动的论坛。在该情况下,家长可以执行安全管理员150的一些或全部职责。

集体地,被指定为或者可以被指定为属于不合期望的对象的前述类别中的任何一个的任何对象可以被分类为恶意对象。当在受保护的企业100内遭遇到未知的对象时,该对象可以最初被分类为“候选恶意对象”。该指定可以确保其不被授予完整的网络权限,直到该对象被进一步分析。因此,用户120和安全管理员150的目标是配置和操作客户端设备110和企业网络170以便排除所有的恶意对象,并且迅速且准确地对候选恶意对象进行分类。

图2是根据本说明书的一个或多个示例的计算设备200的框图。计算设备200可以是任何合适的计算设备。在各种实施例中,作为非限制性示例,“计算设备”可以是或包括计算机、工作站、服务器、大型计算机、嵌入式计算机、嵌入式控制器、嵌入式传感器、个人数字助理、膝上型计算机、蜂窝电话、IP电话、智能电话、平板计算机、可转换的平板计算机、计算器具、网络器具、接收器、可穿戴计算机、手持计算器或用于处理和传送数据的任何其它电子、微电子或微机电设备。

在某些实施例中,客户端设备110可以全部是计算设备200的示例。

计算设备200包括连接到存储器220的处理器210,存储器220具有存储在其中的可执行指令以用于提供操作系统222和客户端引擎224的至少软件部分。计算设备200的其它组件包括存储部250、网络接口260和外围接口240。该架构仅作为示例而提供,并且意图是非排他且非限制性的。另外,所公开的各种部分意图仅仅是逻辑划分,并且不需要必然表示物理上分离的硬件和/或软件组件。某些计算设备例如提供单个物理存储器设备中的主存储器220和存储部250,并且在其它情况下,存储器220和/或存储部250在功能上跨许多物理设备分布。在虚拟机或管理程序的情况下,功能的全部或部分可以以在虚拟化层之上运行的软件或固件的形式提供以提供所公开的逻辑功能。在其它示例中,诸如网络接口260之类的设备可以仅提供执行其逻辑操作必要的最小硬件接口,并且可以依赖于软件驱动器来提供附加的必要逻辑。因此,本文所公开的每一个逻辑块宽泛地意图包括配置并且可操作用于提供该块的所公开的逻辑操作的一个或多个逻辑元件。如贯穿本说明书所使用的,“逻辑元件”可以包括硬件、外部硬件(数字、模拟或混合信号)、软件、往复式软件、服务、驱动器、接口、组件、模块、算法、传感器、组件、固件、微代码、可编程逻辑或可以协作以实现逻辑操作的对象。

在示例中,处理器210经由存储器总线270-3通信耦合到存储器220,作为示例,存储器总线270-3可以是例如直接存储器访问(DMA)总线,尽管其它存储器架构是可能的,包括其中存储器220经由系统总线270-1或某个其它总线与处理器210通信的那些。处理器210可以经由系统总线270-1通信耦合到其它设备。如贯穿本说明书所使用的,“总线”包括任何有线或无线互连线、网络、连接、捆束、单个总线、多个总线、交叉开关网络、单级网络、多级网络或可操作以承载计算设备的部分之间或计算设备之间的数据、信号或功率的其它传导介质。应当指出的是,这些使用仅作为非限制性示例而公开,并且一些实施例可以省略前述总线中的一个或多个,而其它可以采用附加或不同的总线。

在各种示例中,“处理器”可以包括逻辑元件的任何组合,包括作为非限制性示例的微处理器、数字信号处理器、现场可编程门阵列、图形处理单元、可编程逻辑阵列、专用集成电路或虚拟机处理器。在某些架构中,可以提供多核处理器,在该情况下处理器210可以被视为多核处理器的仅一个核,或者可以视情况而被视为整个多核处理器。在一些实施例中,还可以提供一个或多个协处理器以用于特殊化或支持功能。

处理器210可以经由DMA总线270-3在DMA配置中连接到存储器220。为了简化本公开,将存储器220公开为单个逻辑块,但是在物理实施例中可以包括任何一种或多种合适的易失性或非易失性存储器技术的一个或多个块,包括例如DDR RAM、SRAM、DRAM、高速缓存、L1或L2存储器、片上存储器、寄存器、闪存、ROM、光学介质、虚拟存储器区、磁性或磁带存储器或类似物。在某些实施例中,存储器220可以包括相对低延时的易失性主存储器,而存储部250可以包括相对较高延时的非易失性存储器。然而,存储器220和存储部250不需要是物理分离的设备,并且在一些示例中可以简单地表示功能的逻辑分离。还应当指出的是,尽管DMA作为非限制性示例而公开,但是DMA不是与本说明书一致的仅有协议,并且其它存储器架构是可用的。

存储部250可以是任何种类的存储器220,或者可以是单独设备。存储部250可以包括一个或多个非暂时性计算机可读介质,作为非限制性示例,包括硬盘驱动器、固态驱动器、外部存储部、独立盘冗余阵列(RAID)、网络附连存储部、光学存储部、磁带驱动器、备份系统、云存储部或前述各项的任何组合。存储部250可以是或者可以在其中包括一个或多个数据库或以其它配置存储的数据,并且可以包括诸如操作系统222和客户端引擎224的软件部分之类的操作软件的已存储副本。许多其它配置也是可能的,并且意图被涵盖在本说明书的宽泛范围内。

可以提供网络接口260以将计算设备200通信耦合到有线或无线网络。“网络”,如贯穿本说明书所使用的,可以包括可操作成在计算设备内或之间交换数据或信息的任何通信平台,作为非限制性示例,包括自组织本地网络、为计算设备提供电子交互的能力的互联网架构、简易老式电话系统(POTS)(计算设备可以将其用于执行事务,其中它们可以由人类操作者辅助或者其中它们可以向电话或其它合适的电子装备中手动键入数据)、提供系统中的任何两个节点之间的通信接口或交换的任何分组数据网络(PDN)、或者任何局域网(LAN)、城域网(MAN)、广域网(WAN)、无线局域网(WLAN)、虚拟专用网络(VPN)、内联网或促进网络或电话环境中的通信的任何其它适当的架构或系统。

在一个示例中,客户端引擎224可操作成实施如本说明书中所描述的计算机实现的方法。客户端引擎224可以包括一个或多个非暂时性计算机可读介质,其具有存储在其上的可操作成命令处理器提供安全引擎的可执行指令。如贯穿本说明书使用的,“引擎”包括可操作用于并且配置成执行客户端引擎224提供的一个或多个方法的类似或不类似的种类的一个或多个逻辑元件的任何组合。因此,客户端引擎224可以包括配置成提供如本说明书中公开的方法的一个或多个逻辑元件。在一些情况下,客户端引擎224可以包括设计成实施方法或其部分的特殊集成电路,并且还可以包括可操作成命令处理器执行该方法的软件指令。在一些情况下,客户端引擎224可以作为“守护”进程来运行。“守护”可以包括作为后台进程、终止并驻留程序、服务、系统扩展、控制面板、引导过程、BIOS子例程或在没有直接用户交互的情况下进行操作的任何类似程序而运行的任何程序或可执行指令系列,无论是实现在硬件、软件、固件还是其任何组合中。在某些实施例中,守护进程可以以升高的权限在“驱动器空间”中或在保护环架构中的环0、1或2中运行。还应当指出的是,客户端引擎224还可以包括其它硬件和软件,作为非限制性示例,包括配置文件、寄存器条目和交互式或用户模式软件。

在一个示例中,客户端引擎224包括存储在非暂时性介质上可操作成执行根据本说明书的方法的可执行指令。在适当时,诸如当引导计算设备200时或当来自操作系统222或用户120的命令时,处理器210可以从存储部250检索客户端引擎224(或其软件部分)的副本并且将其加载到存储器220中。处理器210然后可以迭代地执行客户端引擎224的指令以提供期望的方法。

在某些实施例中,客户端引擎224可以包括MDM代理,以及提供如本文所描述的MDM代理服务的任何支持程序。

外围接口240可以配置成与连接到计算设备200但是不一定是计算设备200的核心架构的部分的任何辅助设备对接。外设可以可操作成向计算设备200提供经扩展的功能性,并且可以或者可以不完全取决于计算设备200。在一些情况下,外设可以是独立的计算设备。外设可以包括输入和输出设备,作为非限制性示例,诸如显示器、终端、打印机、键盘、鼠标、调制解调器、网络控制器、传感器换能器、致动器、控制器、数据采集总线、相机、麦克风、扬声器或外部存储部。

图3是根据本说明书的一个或多个示例的服务器类计算机300的框图。服务器300可以是任何合适的计算设备,如结合图2所描述的。一般而言,图2的定义和示例可以被视为同样适用于图3,除非以其它方式具体陈述。本文分离地描述服务器300以说明在某些实施例中,根据本说明书的逻辑操作可以沿客户端-服务器模型划分,其中计算设备200提供某些本地化任务,而服务器300提供某些其它的集中式任务。企业安全控制器140,连同图5的身份提供者520,以及图7的设备安全态势评价630可以是或包括服务器300。

服务器300包括连接到存储器320的处理器310,存储器320具有存储在其中的可执行指令以用于提供操作系统322和服务器引擎324的至少软件部分。服务器300的其它组件包括存储部350、网络接口360和外围接口340。如图2中描述的,每一个逻辑块可以由一个或多个类似或不类似的逻辑元件提供。

在示例中,处理器310经由存储器总线370-3通信耦合到存储器320,存储器总线370-3可以是例如直接存储器访问(DMA)总线。处理器310可以经由系统总线370-1通信耦合到其它设备。

处理器310可以在DMA配置中经由DMA总线370-3或经由任何其它合适的存储器配置而连接到存储器320。如图2中所讨论的,存储器320可以包括任何合适类型的一个或多个逻辑元件。

存储部350可以是任何种类的存储器320,或者可以是单独设备,如结合图2的存储部250所描述的。存储部350可以是或者可以在其中包括一个或多个数据库或存储在其它配置中的数据,并且可以包括诸如操作系统322和服务器引擎324的软件部分的操作软件的已存储副本。

网络接口360可以被提供以将服务器300通信耦合到有线或无线网络,并且可以包括如图2中所描述的一个或多个逻辑元件。

服务器引擎324是如图2中描述的引擎,并且在一个示例中,包括可操作成实施如本说明书中所描述的计算机实现的方法的一个或多个逻辑元件。服务器引擎324的软件部分可以作为守护进程来运行。

服务器引擎324可以包括具有存储在其上的可执行指令的一个或多个非暂时性计算机可读介质,所述可执行指令可操作成命令处理器提供安全引擎。在适当的时间,诸如当引导服务器300时或当来自操作系统222或用户120或安全管理员150的命令时,处理器310可以从存储部350检索服务器引擎324(或其软件部分)的副本并且将其加载到存储器320中。处理器310然后可以迭代地执行服务器引擎324的指令以提供期望的方法。

在某些实施例中,作为非限制性示例,服务器引擎324可以包括MDM服务器引擎、图4的PDP 440、图4的PEP 450、身份提供者引擎和/或设备安全态势评价引擎。这些功能可以在许多不同的物理机器中单独提供,或者在适当的环境中一起被提供在单个机器中。

外围接口340可以配置成与连接到服务器300但是不一定是服务器300的核心架构的部分的任何辅助设备对接。外设可以可操作成向服务器300提供经扩展的功能性并且可以或可以不完全取决于服务器300。作为非限制性示例,外设可以包括图2中公开的外设中的任何一个。

图4是根据本说明书的一个或多个示例的移动设备管理的信号流程图。

在图4的示例中,MDM代理410安装在移动设备110上。在操作1中,MDM管理器430命令MDM代理410关注要监视的操作系统配置和属性。这些可以例如基于操作系统版本或其它设备属性。

在操作2中,MDM代理410向操作系统222登记可能构成移动安全态势中的改变的操作系统和设备属性。当做出任何改变时,MDM代理410可以被通知这些事件。

在操作3中,作为示例,恶意软件对象420对OS配置或安全态势改变事件的观察列表上的某个其它参数做出改变。应当指出的是,仅作为示例而提供恶意软件。在其它示例中,块420可以是尚未被分类的候选恶意对象,或者块420可以表示用户对移动设备发起的改变。因此,块420应当被宽泛地理解成涵盖移动设备安全态势改变的任何驱动器。

在操作4中,操作系统222告知MDM代理410对观察列表上的参数的改变。在一些示例中,这可以包括将MDM代理410从“睡眠”模式唤醒。

在操作5中,MDM代理410告知MDM管理器430已经对观察列表上的参数做出改变。

在操作6中,MDM管理器430告知策略决定点(PDP)440所述改变。

在操作7中,PDP 440评估所述改变的影响并且实时地重新评价设备安全态势。PDP 440然后可以构造针对设备的新策略,包括是否和在什么程度上继续允许设备访问企业资源。

在操作8中,PDP 440通知策略实施点(PEP)450所述决定。

在操作9中,PEP 450实施所述决定,包括阻止和/或允许对各种企业资源的访问。

在其它实施例中,PEP 450可以向MDM代理410传播回指令以对移动设备110采取行动。例如,如果移动设备110不能再被视为可信设备,则PEP 450可以命令MDM代理410采取适当的安全行动,诸如删除所存储的电子邮件、撤销对电子邮件服务器的访问权,和/或删除或加密所存储的企业数据。

图5是根据本说明书的一个或多个示例的信任框架500的信号流程图。在图5的信任框架500的某些实施例中,认证可以包括第三方认证,诸如经由SAML。

作为示例,在操作1中,客户端设备110向服务提供者510提供未经认证的访问请求。服务提供者510在该情境中可以是企业安全控制器140、提供企业级服务的SaaS提供者或用户要求访问的任何其它服务提供者中的一个。

在操作2中,服务提供者510向客户端110提供回重定向指令,使客户端110指向身份提供者520,身份提供者520具有与服务提供者510的信任关系。

在操作3中,客户端110向身份提供者520提供认证。这可以包括例如用户名和口令、安全令牌或多因素认证。

在操作4中,身份提供者520向客户端110提供认证(包括例如认证令牌)和重定向指令。客户端110现在可以拥有将其认证为对服务提供者510是真正的安全令牌。

在操作5中,客户端110现在可以向服务提供者510提供经认证的访问请求。服务提供者510具有与身份提供者520的信任关系,并且可以证实由客户端110提供的安全令牌。

在操作6中,一旦服务提供者510已经证实了认证令牌,服务提供者510可以基于认证而授予授权。

图6是根据本说明书的一个或多个示例的经修改的信任框架600的框图。

在信任框架600中,操作1和2可以与信任框架500的操作1和2大体相同。

在操作3中,客户端110可以向身份提供者520提供联合的用户和设备认证,以及可选地,设备安全态势分组。身份提供者620可以特别地配置成处置这样的联合认证和设备安全态势属性信息。

在该情况下,在操作4中,当身份提供者620向客户端110发送回认证令牌时,所述认证令牌还可以包括设备认证符以及设备安全态势评价。

信任框架600的其余操作可以与信任框架500基本上相同。然而,在该情况下,服务提供者610不仅接收针对用户120的认证,而且接收针对设备110的认证,以及经更新的设备安全态势评价。因此,在操作6中,服务提供者610可以取决于用户认证、设备认证和设备安全态势评价的组合而授予或撤销访问权。

图7是根据本说明书的一个或多个示例的信任框架600的附加框图。

在该示例中,身份提供者620可以是传统SAML身份提供者。在该情况下,身份提供者620可能未被配置成处置提供在信任框架600中的附加信息。因此,身份提供者520可以建立与设备安全态势评价服务器630的附加关系。这可以是附加的身份提供者,其可以被特别地配置成处置信任框架600中的附加信息。因此,在某些实施例中,信任框架600可以通过附加的设备安全态势评价服务器630的提供而利用传统SAML服务器有效地操作。

在图7的示例中,操作1和2可以与图5和图6的操作1和2基本上相同。

操作3类似于图6的操作3。客户端110向身份提供者620提供联合的用户和设备认证分组,并且还可以提供设备安全态势属性信息。然而,在该情况下,身份提供者620不提供用于处置操作3的额外的设备认证和设备安全态势信息的逻辑。

因此,在操作3.1中,身份提供者620向设备安全态势评价630提供影响设备安全态势评价的设备属性。

在操作3.2中,设备安全态势评价630向身份提供者620提供回设备安全态势评级。

身份提供者在一些示例中可以简单地将设备认证和设备安全态势评级添加到它向客户端110提供的认证令牌。因此,身份提供者620不需要包括用于处置设备安全态势评级的逻辑。而是,身份提供者620仅需要知道向认证令牌添加附加的信息,无论它是什么。

由于身份提供者620和设备安全态势评价630一起构造了用于信任框架600的适当认证分组,因此操作4可以与图6的操作4基本上相同。身份提供者620向客户端110提供经修改的认证分组。操作5和6然后可以与图5和图6的操作5和6基本上相同。

前文概述若干实施例的特征,使得本领域技术人员可以更好地理解本公开的各方面。本领域技术人员应当领会到,他们可以容易地使用本公开作为用于设计或修改其它过程和结构以用于实施本文介绍的实施例的相同的目的和/或实现相同的优点的基础。本领域技术人员还应当认识到,这样的等同构造不脱离本公开的精神和范围,并且他们可以做出本文中的各种改变、替换和更改而不脱离本公开的精神和范围。

本公开的特定实施例可以容易地包括片上系统(SOC)中央处理单元(CPU)封装。SOC表示将计算机或其它电子系统的组件集成到单个芯片中的集成电路(IC)。其可以包含数字、模拟、混合信号和射频功能:其中的全部可以提供在单个芯片衬底上。其它实施例可以包括多芯片模块(MCM),其中多个芯片位于单个电子封装内并且配置成通过电子封装与彼此紧密地交互。在各种其它的实施例中,数字信号处理功能性可以实现在专用集成电路(ASIC)、现场可编程门阵列(FPGA)和其它半导体芯片中的一个或多个硅核中。

此外,与所描述的微处理器相关联的组件中的一些可以被移除,或者以其它方式联合。从一般意义上来说,在各图中描绘的布置可以在其表示方面更加有逻辑,而物理架构可以包括这些元件的各种排列、组合和/或混合。必要的是要指出,无数可能的设计配置可以用于实现本文概述的操作目的。相应地,相关联的基础设施具有无数的替代布置、设计选择、设备可能性、硬件配置、软件实现、装备选项等。

任何经适当配置的处理器组件可以执行与数据相关联的任何类型的指令以实现本文所详述的操作。本文所公开的任何处理器可以将元件或制品(例如数据)从一个状态或事物转变成另一状态或事物。在另一示例中,本文概述的活动可以利用固定逻辑或可编程逻辑(例如由处理器执行的软件/计算机指令)实现,并且本文标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、ASIC(其包括数字逻辑、软件、代码、电子指令)、闪速存储器、光盘、CD-ROM、DVD-ROM、磁卡或光卡、适合于存储电子指令的其它类型的机器可读介质或它们的任何合适的组合。在操作中,在适当的情况下并且基于特定需要,处理器可以将信息存储在任何合适类型的非暂时性存储介质(例如随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM)等)、软件、硬件中或在任何其它合适的组件、设备、元件或对象中。另外,基于特定需要和实现,在处理器中追踪、发送、接收或存储的信息可以在任何数据库、寄存器、表格、高速缓存、队列、控制列表或存储结构中提供,其中的全部可以在任何合适的时间帧处被引用。本文所讨论的任何存储器项应当被解释为被涵盖在宽泛的术语“存储器”内。

实现本文所描述的功能性中的全部或部分的计算机程序逻辑以各种形式体现,包括但绝不限于,源代码形式、计算机可执行形式和各种中间形式(例如由汇编器、编译器、链接器或定位器生成的形式)。在示例中,源代码包括以各种编程语言实现的一系列计算机程序指令以供各种操作系统或操作环境使用,所述编程语言诸如对象代码、汇编语言或高级语言(诸如OpenCL、Fortran、C、C++、JAVA或HTML)。源代码可以定义和使用各种数据结构和通信消息。源代码可以以计算机可执行形式(例如经由解译器),或者源代码可以转换(例如经由翻译器、汇编器或编译器)成计算机可执行形式。

在一个示例实施例中,各图的任何数目的电气电路可以实现在相关联的电子设备的板上。板可以是可以保持电子设备的内部电子系统的各种组件并且还提供用于其它外设的连接器的一般电路板。更特别地,板可以提供系统的其它组件可以通过其电气通信的电气连接。任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等)、存储器元件等可以基于特定配置需要、处理需求、计算机设计等而适当地耦合到板。其它组件(诸如外部存储部、附加传感器、用于音频/视频显示的控制器和外围设备)可以作为插入卡、经由线缆而附连到板或者集成到板自身中。在另一示例实施例中,各图的电气电路可以实现为独立的模块(例如具有配置成执行特定应用或功能的相关联的组件和电路的设备)或实现为到电子设备的专用硬件中的插入模块。

要指出的是,关于本文所提供的众多示例,交互可以在两个、三个、四个或更多电气组件方面进行描述。然而,这仅仅出于清楚和示例的目的而进行。应当领会到,系统可以以任何合适的方式联合。沿类似的设计可替换方案,各图的所图示的组件、模块和元件中的任何一个可以组合在各种可能的配置中,其中的全部显然在本说明书的宽泛范围内。在某些情况下,通过仅参照有限数目的电气元件来描述给定流程集合的一个或多个功能性可能更加容易。应当领会到,各图的电气电路及其教导是可容易缩放的并且可以容纳大数目的组件,以及更复杂/精密的布置和配置。相应地,所提供的示例不应当限制如潜在地应用于无数其它架构的电气电路的范围或阻碍其宽泛的教导。

众多其它改变、替换、变型、更改和修改可以对本领域技术人员是被查明的并且意图在于本公开涵盖如落在随附权利要求的范围内的所有这样的改变、替换、变型、更改和修改。为了帮助美国专利商标局(USPTO)和此外关于本申请发布的任何专利的任何读者解释随附于此的权利要求,申请人希望指出的是,申请人:(a)不意图任何随附权利要求当它在本文提交日存在时援引35 U.S.C.第112章第六(6)款,除非在特定权利要求中具体地使用词语“用于……的部件”或“用于……的步骤”;并且(b)不意图通过说明书中的任何陈述来以并未以其它方式在随附权利要求中反映的任何方式限制本公开。

示例实现

在示例中公开了一种计算装置,包括:网络接口;以及移动设备管理(MDM)代理,所述移动设备管理(MDM)代理可操作用于:从服务提供者接收证书;确定安全态势改变事件已经发生;告知MDM服务器引擎安全态势改变事件;从MDM服务器引擎接收安全修改指令;以及按照安全修改指令行事。

还公开了一个示例,其中MDM代理还可操作用于向身份提供者提供联合的用户和设备认证令牌。

还公开了一个示例,还包括操作系统,并且其中MDM代理还可操作用于向操作系统登记安全态势改变事件。

还公开了一个示例,其中MDM代理还可操作用于从操作系统接收安全态势改变事件的通知。

还公开了一个示例,其中MDM代理还可操作成作为后台进程运行。

还公开了一个示例,其中MDM代理还可操作成作为具有升高的权限的后台进程运行。

还公开了一个示例,其中MDM代理还可操作成在可信执行环境(TEE)内运行。

还公开了一个示例,其中安全态势改变事件是程序的安装。

还公开了一个示例,其中安全态势改变事件是程序的卸载。

还公开了一个示例,其中安全态势改变事件是正遭遇所遭遇的候选恶意对象。

还公开了一个示例,其中安全态势改变事件是位置中的改变。

还公开了一个示例,其中安全态势改变事件是正连接到不受保护的网络。

还公开了一个示例,其中安全态势改变事件是生物计量数据中的改变。

在示例中还公开了一种安全态势评价装置,包括:网络接口;以及一个或多个逻辑元件,包括安全态势评价引擎,所述安全态势评价引擎可操作用于:经由网络接口接收针对移动设备的认证请求;经由网络接口接收与移动安全态势相关的设备属性;以及构造设备安全态势评级。

还公开了一个示例,其中安全态势评价引擎还可操作用于提供包括用户认证符、设备认证符和设备安全态势评价的联合响应。

还公开了一个示例,其中接收认证请求包括从第三方身份提供者接收认证请求。

还公开了一个示例,其中第三方身份提供者是安全断言标记语言(SAML)身份提供者。

还公开了一个示例,其中接收认证请求包括从服务提供者接收认证请求。

还公开了一个示例,还包括用于向服务提供者认证移动设备的身份提供者引擎。

还公开了一个示例,其中身份提供者引擎是可操作用于提供安全断言标记语言(SAML)服务的SAML身份提供者引擎。

还公开了一个示例,其中安全态势评价引擎还可操作用于接收针对移动设备的安全令牌。

还公开了一个示例,其中安全令牌包括用户名和口令。

还公开了一个示例,其中安全令牌包括双因素认证令牌。

在示例中还公开了一种服务器装置,包括:网络连接;以及一个或多个逻辑元件,包括移动设备管理(MDM)引擎,所述移动设备管理(MDM)引擎可操作用于:命令MDM代理登记移动安全态势事件;从MDM代理接收移动安全态势事件的实例;至少部分地响应于移动安全态势事件而构造策略决定;以及实施策略决定。

还公开了一个示例,其中移动设备管理引擎还可操作用于:从MDM代理接收联合的用户/设备认证请求;将联合的用户/设备认证请求重定向到身份提供者;从身份提供者接收联合的用户/设备认证响应;以及按照联合的用户/设备认证响应行事。

在示例中还公开了一种方法,包括执行在示例中的任何一个中公开的指令。

在示例中还公开了一种装置,包括用于执行示例中的任何一个的方法的部件。

还公开了一个示例,其中所述装置包括处理器和存储器。

在示例中还公开了一种装置,还包括具有存储在其上的用于执行示例中的任何一个的方法的软件指令的计算机可读介质。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1