CN107077547B - 使用针对高效连续认证的行为分析的方法和系统 - Google Patents

使用针对高效连续认证的行为分析的方法和系统 Download PDF

Info

Publication number
CN107077547B
CN107077547B CN201580055507.XA CN201580055507A CN107077547B CN 107077547 B CN107077547 B CN 107077547B CN 201580055507 A CN201580055507 A CN 201580055507A CN 107077547 B CN107077547 B CN 107077547B
Authority
CN
China
Prior art keywords
user
value
behavior
processor
calculating equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580055507.XA
Other languages
English (en)
Other versions
CN107077547A (zh
Inventor
R·古普塔
S·P·帕特恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107077547A publication Critical patent/CN107077547A/zh
Application granted granted Critical
Publication of CN107077547B publication Critical patent/CN107077547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/67Risk-dependent, e.g. selecting a security level depending on risk profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/68Gesture-dependent or behaviour-dependent

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

计算设备处理器可以配置有处理器可执行指令,以实现使用行为分析和机器学习技术来识别、防止、校正、和/或响应计算设备的恶意行为或者使性能下降行为的方法。作为这些操作的一部分,处理器可以执行多因素认证操作,其包括:确定交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个,使用这些值中的一个或多个来确定在对该计算设备的用户进行认证时进行评估的认证因素的数量,并通过对所确定数量的认证因素进行评估来对用户进行认证。

Description

使用针对高效连续认证的行为分析的方法和系统
背景技术
蜂窝和无线通信技术在最近几年出现了爆炸性的增长。无线服务提供商现在能够提供各种各样的功能和服务,这些功能和服务向它们的用户提供信息、资源和通信的空前水平的访问。为了跟上这些增强,个人和消费电子设备(例如,蜂窝电话、手表、耳机、远程控制等等)与过去相比变得更强大和更复杂,它们现在通常包括强大的处理器、较大的存储器和其它资源,这允许在它们的设备上执行复杂的和强大的软件应用。此外,这些设备还使它们的用户能够从应用下载服务(例如,苹果商店、商店、play等等)或者互联网中下载各种各样的软件应用,并进行执行。
由于这些和其它方面的提高,个人和消费电子设备在现代生活中变得无处不在和持续存在,并对于它们的用户所产生的信息或者与其有关的信息,拥有前所未有的获取水平。此外,人们频繁地使用他们的设备来存储敏感信息(例如,信用卡信息、联系人等等),和/或完成安全具有重要性的任务。例如,移动设备用户频繁地使用他们的设备来购买商品,发送和接收敏感通信,支持帐单,管理银行帐户和进行其它敏感交易。由于这些趋势,用于对个人和消费电子设备的用户进行认证的新的和改进的安全解决方案,对于消费者来说是有益的。
发明内容
各个方面包括用于通过下面方式来在计算设备中执行多因素用户认证的方法:在计算设备的处理器中,确定交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个;使用该交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个,来确定在对计算设备的用户进行认证时进行评估的认证因素的数量;以及通过对所确定数量的认证因素进行评估来对该用户进行认证。在一个方面,该方法可以包括:使用所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个,来确定在对该计算设备的用户进行认证时进行评估的认证因素。
在另外的方面,该方法可以包括:对计算设备的硬件和软件系统进行监测来确定该计算设备对于未经授权使用的当前脆弱性。在另外的方面,确定所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个可以包括:对软件应用的活动进行监测以收集行为信息;基于所收集的行为信息来生成用于描绘所监测的活动的特性的行为向量;以及将该行为向量应用于分类器模型以生成分析结果。在另外的方面,该分类器模型可以是关键活动模型。在另外的方面,该行为向量可以是多维度向量数据结构。
在另外的方面,该方法可以包括:对计算设备的硬件和软件系统进行监测,以随时间学习所述用户与该计算设备进行交互的不同方式,其中,通过对所确定数量的认证因素进行评估来对所述用户进行认证包括:判断软件应用的行为是否和所述用户与该计算设备进行交互的该不同方式相一致。
在另外的方面,确定要进行评估的所述数量的认证因素可以包括:执行被动认证操作来对所述用户进行认证,而不需要为了认证目的来表达用户交互;确定被动认证置信度值,其中该被动认证置信度值以被动认证操作的准确性来标识设备的置信度水平;确定关键性水平值,其中该关键性水平值标识在所述计算设备上操作的进程或者软件应用的重要性或者关键性;将被动认证置信度值与关键性水平值进行比较,以生成用于标识被动认证的置信度水平是否超过关键性水平的比较结果;基于该比较结果,确定在对该计算设备的用户进行认证时进行评估的认证因素的数量。
另外的方面可以包括一种计算设备,该计算设备包括处理器,后者配置有处理器可执行指令以执行包括以下各项的操作:确定交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个;使用该交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个,来确定在对该计算设备的用户进行认证时进行评估的认证因素的数量;以及通过对所确定数量的认证因素进行评估来对该用户进行认证。
在一个方面,所述处理器可以配置有处理器可执行指令以执行还包括以下的操作:使用所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个来确定在对该计算设备的用户进行认证时进行评估的认证因素。在另外的方面,所述处理器可以配置有处理器可执行指令以执行还包括以下的操作:对硬件和软件系统进行监测来确定该计算设备对于未经授权使用的当前脆弱性。
在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得确定所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个包括:对软件应用的活动进行监测以收集行为信息;基于所收集的行为信息来生成用于描绘所监测的活动的特性的行为向量;将该行为向量应用于分类器模型以生成分析结果。
在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得将所述行为向量应用于所述分类器模型以生成分析结果包括:将该行为向量应用于关键活动的模型。在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得将所述行为向量应用于所述关键活动的模型包括:向所述关键活动的模型应用多维度向量数据结构。
在另外的方面,所述处理器可以配置有处理器可执行指令以执行还包括以下的操作:对所述计算设备的硬件和软件系统进行监测,以随时间学习所述用户与该计算设备进行交互的不同方式。在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得通过对所确定数量的认证因素进行评估来对所述用户进行认证包括:判断软件应用的行为是否和所述用户与该计算设备进行交互的该不同方式相一致。
在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得确定要进行评估的认证因素的数量包括:执行被动认证操作来对所述用户进行认证,而不需要为了认证目的来表达用户交互;确定被动认证置信度值,其中该被动认证置信度值以被动认证操作的准确性来标识设备的置信度水平;确定关键性水平值,其中该关键性水平值标识在所述计算设备上操作的进程或者软件应用的重要性或者关键性;将被动认证置信度值与关键性水平值进行比较,以生成用于标识被动认证的置信度水平是否超过关键性水平的比较结果;基于该比较结果,确定在对所述计算设备的用户进行认证时进行评估的认证因素的数量。
另外的方面可以包括一种其上存储有处理器可执行软件指令的非临时性计算机可读存储介质,其中所述处理器可执行软件指令被配置为使计算设备的处理器执行包括以下各项的操作:确定交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个;使用所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个,来确定在对所述计算设备的用户进行认证时进行评估的认证因素的数量;通过对所确定数量的认证因素进行评估来对用户进行认证。
在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行还包括以下的操作:使用所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个来确定在对所述计算设备的用户进行认证时进行评估的认证因素。在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行还包括以下的操作:对硬件和软件系统进行监测来确定所述计算设备对于未经授权使用的当前脆弱性。
在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得确定所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个包括:对软件应用的活动进行监测以收集行为信息;基于所收集的行为信息来生成用于描绘所监测的活动的特性的行为向量;将该行为向量应用于分类器模型以生成分析结果。在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得将所述行为向量应用于所述分类器模型以生成分析结果包括:将该行为向量应用于关键活动的模型。
在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得将所述行为向量应用于所述关键活动的模型包括:向所述关键活动的模型应用多维度向量数据结构。在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行还包括以下的操作:对所述计算设备的硬件和软件系统进行监测,以随时间学习所述用户与该计算设备进行交互的不同方式。在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得通过对所确定数量的认证因素进行评估来对所述用户进行认证包括:判断软件应用的行为是否和所述用户与该计算设备进行交互的该不同方式相一致。
在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得确定要进行评估的认证因素的数量包括:执行被动认证操作来对所述用户进行认证,而不需要为了认证目的来表达用户交互;确定被动认证置信度值,其中该被动认证置信度值以被动认证操作的准确性来标识设备的置信度水平;确定关键性水平值,其中该关键性水平值标识在所述计算设备上操作的进程或者软件应用的重要性或者关键性;将被动认证置信度值与关键性水平值进行比较,以生成用于标识被动认证的置信度水平是否超过关键性水平的比较结果;基于该比较结果,确定在对所述计算设备的用户进行认证时进行评估的认证因素的数量。
另外的方面包括一种计算设备,其包括:用于确定交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个的单元;用于使用所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个,来确定在对该计算设备的用户进行认证时进行评估的认证因素的数量的单元;用于通过对所确定数量的认证因素进行评估来对用户进行认证的单元。在一个方面,该计算设备可以包括:用于使用所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个来确定在对所述计算设备的用户进行认证时进行评估的认证因素的单元。
在另外的方面,该计算设备可以包括:用于对该计算设备的硬件和软件系统进行监测,以确定该计算设备对于未经授权使用的当前脆弱性的单元。在另外的方面,用于确定所述交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个的单元可以包括:用于对软件应用的活动进行监测以收集行为信息的单元;用于基于所收集的行为信息来生成用于描绘所监测的活动的特性的行为向量的单元;用于将该行为向量应用于分类器模型以生成分析结果的单元。
在另外的方面,用于将所述行为向量应用于所述分类器模型以生成分析结果的单元可以包括:用于将所述行为向量应用于关键活动的模型的单元。在另外的方面,用于将所述行为向量应用于所述关键活动的模型的单元可以包括:用于向所述关键活动的模型应用多维度向量数据结构的单元。在另外的方面,该计算设备可以包括:用于对所述计算设备的硬件和软件系统进行监测,以随时间学习所述用户与该计算设备进行交互的不同方式的单元,其中,用于通过对所确定数量的认证因素进行评估来对所述用户进行认证的单元包括:用于判断软件应用的行为是否和所述用户与该计算设备进行交互的该不同方式相一致的单元。
在另外的方面,用于确定要进行评估的认证因素的数量的单元可以包括:用于执行被动认证操作来对所述用户进行认证,而不需要为了认证目的来表达用户交互的单元;用于确定被动认证置信度值的单元,其中该被动认证置信度值以被动认证操作的准确性来标识设备的置信度水平;用于确定关键性水平值的单元,其中该关键性水平值标识在所述计算设备上操作的进程或者软件应用的重要性或者关键性;用于将被动认证置信度值与关键性水平值进行比较,以生成用于标识被动认证的置信度水平是否超过关键性水平的比较结果的单元;用于基于该比较结果,确定在对所述计算设备的用户进行认证时进行评估的认证因素的数量的单元。
附图说明
被并入本文并且构成本说明书一部分的附图,描绘了本发明的示例性方面,并且连同上面给出的概括描述以及下面给出的详细描述一起来解释本发明的特征。
图1是适合于实现本文的各个方面的示例性片上系统的体系结构图。
图2是示出一个方面移动设备中的示例性逻辑组件和信息流的框图,其配置为当对计算设备的用户进行认证时,确定将进行评估的认证因素的数量。
图3是根据一个方面,示出确定在对计算设备的用户进行认证时,要将进行评估的认证因素的数量的方法的处理流程图。
图4是在对计算设备的用户进行认证时,可以用于智能地确定将进行评估的认证因素的数量的示例性事件和值的视图。
图5是根据一个方面,示出执行多因素认证的方法的处理流程图。
图6是根据另一个方面,示出确定在对计算设备的用户进行认证时,要将进行评估的认证因素的数量的方法的处理流程图。
图7是示出用于在移动设备上执行自适应观测的方面方法的处理流程图。
图8是适合于在一个方面使用的移动设备的组件框图。
具体实施方式
现在参照附图来详细地描述各个方面。在可以的地方,贯穿附图使用相同的附图标记来指代相同或者类似的部件。对于特定示例和实现的引用只是用于说明目的,而不是旨在限制本发明或者权利要求的保护范围。
总而言之,各个方面包括一些方法和计算设备,其配置为实现使用行为分析和机器学习技术,来执行用于持续地/重复地认证计算设备的用户的多因素认证操作的方法。该多因素认证操作可以包括:确定交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个,使用这些值中的一个或多个来确定在对该计算设备的用户进行认证时进行评估的认证因素的数量,并通过对所确定数量的认证因素进行评估,来对用户进行认证。通过使用机器学习和/或行为分析技术,计算设备可以使用当前活动、行为、用户等等所需要的认证水平,智能地和持续地对用户进行认证,而不会需要比所需要的相比更多的认证因素,这可能对于该设备的性能、可用性、安全性、或者功耗特性具有显著的负面影响。通过下面所提供的方面的详细描述,对于计算设备的功能、功能性、和/或功能化的另外改进将会显而易见。
本文互换地使用术语“移动计算设备”和“移动设备”指代下面中的任何一种或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、具备多媒体互联网能力的蜂窝电话、无线游戏控制器、以及包括存储器、可编程处理器(其性能是非常重要的)并在电池供电情形下进行操作,使得省电方法有益的类似个人电子设备。虽然各个方面在诸如智能电话之类的移动计算设备(它们具有有限的资源并在电池上运行)中是特别有用的,但这些方面通常在包括处理器并执行应用程序的任何电子设备中也是有用的。
存在各种各样的可以由计算设备使用,以确保用户被授权访问该计算设备、其操作系统、其软件应用、和/或其存储的内容。这些技术包括主动认证、被动认证、单因素认证(SFA)、以及多因素认证(MFA)。
当前,大部分计算设备实现和使用主动单因素认证技术,在授权用户访问该设备之前,该技术需要该用户输入/填写认证证书(例如,输入个人识别号(PIN)或者用户名和密码组合)。这种认证技术是“单因素”认证,这是由于其只需要计算设备对单一认证因素(例如,用户的认证证书的知识)进行评估。此外,该技术还是主动认证,这是由于其需要用户为了认证目的而明确地输入信息(即,他或她的认证证书)。
近年来,网络攻击者和盗贼已经日渐成熟,现在可以在没有用户的知识或同意的情况下,容易地获得或者猜测用户的认证证书。结果,单因素认证解决方案已不再足以保护计算设备避免未经授权使用。由于该原因,越来越多的计算设备现在实现和使用多因素认证(MFA)解决方案来确保仅仅授权的用户才能访问该计算设备、其操作系统、其软件应用、或者其存储的内容。
多因素认证解决方案测试两种或者更多不同类型的独立认证因素,例如,知识因素、拥有因素、以及固有因素中的两个或更多。知识因素可以是测试用户的秘密知识的认证因素,例如,通过需要用户输入PIN或密码、绘制图案、或选择图像。拥有因素可以是测试用户对于诸如密钥卡、基于SMS的安全令牌、USB令牌、随机数生成令牌、智能卡等等之类的对象的所有/拥有的认证因素。固有因素可以是测试用户所固有的特征或者特性的认证因素,通常,其是诸如指纹、虹膜图案等等之类的生物特征。通过测试不同类型的认证因素,多因素认证解决方案极大地提高了计算设备的安全性。
计算设备可以通过定义多个独立的操作集来测试/评估不同类型的认证因素,并在每一次对用户进行认证时执行这些操作集中的两个或更多,来实现多因素认证解决方案。例如,计算设备可以定义用于评估图案的第一操作集(知识因素)和用于评估随机数令牌的第二操作集(拥有因素)。用于评估图案的示例性操作(其是知识因素)可以包括:显示提示、请求用户选择或者绘制图案,将所选定的/绘制的图案与存储器中存储的加密的图案值进行比较。用于评估随机数令牌的示例性操作(因此其是拥有因素)可以包括:生成安全令牌值(例如,基于当前时间和/或加密密钥的数字值等等),经由单独的介质(例如,经由电子邮件、密钥卡等等)向该设备的授权用户发送该安全令牌值,显示用于请求用户输入该安全令牌值的提示,将用户输入与原始安全令牌值进行比较。在每一次对用户进行认证时,计算设备可以执行这两个操作集来评估这两种不同类型的认证因素(即,知识因素和拥有因素)。通过评估两种不同类型的认证因素(即,知识因素和拥有因素),这种多因素认证解决方案提高了计算设备的安全性,这是由于黑客必须获得知识因素(例如,猜测或者窃取密码)和拥有因素(例如,窃取USB令牌或安全保护装置)。此外,不同于知识因素,用户可能发现拥有因素正在丢失,因此能够检测安全性是否受到损害。
通过针对每一种类型的认证因素增加进行评估的因素的数量,来进一步提高计算设备的安全性。例如,与配置为测试两种知识因素和一种拥有因素的类似装备的计算设备相比,被配置为测试两种知识因素(例如,密码和图案)和两种拥有因素(例如,USB令牌和密钥卡)的计算设备通常更安全。
此外,还可以通过重复地评估较大数量的认证因素来提高计算设备的安全性。也就是说,计算设备评估的认证因素越多,并且对这些因素的评估越频繁,则其安全水平越强。与对认证因素进行评估一次(例如,在登录时等等)、或者响应于选择事件进行评估(例如,安装软件或者访问敏感信息的请求等等)的类似装备的设备相比,重复地、频繁地、或者持续地对认证因素进行评估的计算设备更安全。但是,对较大数量的认证因素进行重复评估的传统解决方案通常对于计算设备的性能、可用性、以及功耗特性具有负面影响。此外,用户可能会因为频繁提示进行身份验证而变得烦躁,并因此而禁用这些功能,从而使它们的设备变得更容易受到攻击。结果,传统的解决方案并不适合于在资源受限计算设备(例如,智能电话)中包含或使用,其中资源受限计算设备具有有限的处理和电池资源,并且对于其来说愉快的用户体验是重要的。
使用传统解决方案,需要计算设备针对进行评估的每一个认证因素,执行多个复杂或功率密集型操作(例如,显示提示、接收用户输入、将用户输入与存储的值进行比较等等)。此外,大部分的传统解决方案在每一次对用户进行认证时,需要与设备进行某种形式的用户交互(例如,输入密码、扫描指纹等等)。需要用户重复地输入认证证书和/或执行多个认证操作(例如,输入密码,随后扫描指纹)令人烦恼,分散注意力,并且降低用户体验。由于所有这些原因,传统的多因素解决方案并不评估足够数量的认证因素,并不连续地对用户进行认证,并不提供足够水平的保护/安全,或者对于计算设备的性能、可用性、或者功耗特性具有显著的负面影响。
此外,大部分传统解决方案在每一次对用户进行认证时,测试相同数量的认证因素。一些解决方案静态地定义这些认证因素(以及它们相关联的操作集),并且在运行时动态地选择进行评估的认证因素。此外,这些计算设备在每一次对用户进行认证时,选择相同数量(或者先前定义数量)的认证因素来进行测试。
此外,传统解决方案在对认证因素进行评估时,也没有动态地计算/确定要进行执行的操作,并且没有基于设备的当前行为、在该设备上操作的软件应用的行为、正在进行的交易的类型、用户置信度值、软件完整性置信度值、和/或历史行为信息,来持续地对用户进行认证。此外,传统解决方案并没有基于设备的当前行为、对于攻击的当前脆弱性、或者设备的当前安全风险容忍度,在运行时智能地和动态地确定要进行评估的认证因素的数量和类型。此外,传统解决方案也没有对设备的性能、可用性、安全性、以及功耗特性进行充分地平衡。由于所有这些原因,传统的解决方案并不适合于在资源受限计算设备中包含或使用。
本文的各个方面通过配置计算设备使用机器学习和/或行为分析技术,来智能地、高效地、并且动态地判断是否需要认证、要进行评估的认证因素的数量、要进行评估的认证因素的类型、以及在对认证因素进行评估时要进行执行的操作,来克服传统的用户认证解决方案的限制。计算设备可以被配置为基于设备的当前行为、正在进行的交易的类型、用户置信度值、用户交互、软件完整性置信度值、和/或在该设备上操作的软件应用的历史行为,对用户、应用、或者活动进行认证。
通过使用机器学习和/或行为分析技术,计算设备可以持续地(或者接近持续地)对设备的硬件和/或软件系统进行监测,准确地确定计算设备对于未经授权使用(或者攻击)的当前脆弱性,而不会在这些环境下消耗过量的该设备的处理资源或功率资源。此外,计算设备还可以基于计算设备对于未经授权使用(或者攻击)的当前脆弱性,确定应当进行评估的认证因素的数量,并持续地评估聚焦的数量的认证因素,以便对设备的安全性、性能、可用性、以及功耗特性进行智能地平衡。
通过使用机器学习和/或行为分析技术,计算设备可以识别和评估认证因素,其中这些认证因素并不需要与设备进行显式的用户交互(例如,输入用户证书等等)。这允许计算设备持续地对用户、应用、或者活动进行认证,和/或评估较大数量的认证因素,而不会使用户体验降级。
由于所有上面所提及的原因,本文的各个方面非常适合于在资源受限计算设备(例如,智能电话)中包含和使用,其中资源受限计算设备具有有限的处理和电池资源,并且对于其来说愉快的用户体验是重要的。
在一个方面,计算设备可以被配置为计算脆弱性值,其中该脆弱性值标识设备对于攻击/未经授权使用的脆弱性的级别。计算设备可以基于所确定的脆弱性值来计算或者选择认证因素和/或确定认证因素的数量,并且对这些认证因素进行评估以对用户、应用、或者活动进行认证。计算设备可以被配置为基于设备的当前行为、正在进行的交易的类型、用户置信度值、软件完整性置信度值、在该设备上操作的软件应用的历史行为、和/或在该设备中检测的其它行为、事件、或者状况,来计算该脆弱性值。
通常,用户以唯一或者不同的方式来与它们的计算设备进行交互。例如,移动设备用户通常具有不同的工作或通信方式,使用特定的软件应用或者特定类型的软件应用,使用它们的移动设备来执行特定的活动或者完成特定的任务,以特定的顺序来执行活动,在特定的时间执行特定的活动,以特定的方式来与特定的软件应用进行交互等等。在一个方面,计算设备可以被配置为学习用户随时间与他/她的设备进行交互的不同方式,并使用该信息来智能地对用户进行认证。
在一个方面,计算设备可以被配置为执行设备上学习操作,以基于用户与该设备进行交互的不同方式,来计算或者确定用户置信度值,其中该用户置信度值用于向设备标识该用户是授权/认证用户的置信度(例如,经由概率值等等)。用户置信度值可以指示该设备的当前使用模式是否与特定用户对该设备的正常使用模式相一致,或者指示一致性的程度。计算设备可以使用用户置信度值来计算/选择认证因素,和/或智能地确定在对用户进行认证时,该设备应当进行评估的认证因素的数量。例如,当用户置信度值较高时,计算设备可以评估精简数量的认证因素,当用户置信度值较低时(即,当所检测的使用模式与该设备或用户的正常使用模式不一致时),评估更大数量的认证因素。此外,计算设备还可以使用该用户置信度值来计算用于标识该设备对于攻击或者未经授权使用的脆弱性的级别的脆弱性值,并使用该脆弱性值来确定在对用户进行认证时应当进行评估的认证因素的数量。
在一个方面,计算设备可以被配置为持续地(或者接近持续地)对设备的进程、软件应用、以及硬件传感器的活动或者行为进行监测,使用所收集的行为信息来识别用户的设备使用模式,并使用所识别的设备使用模式来确定用户置信度值。
在一个方面,计算设备可以被配置为确定正在进行的交易的类型,判断这些交易中的任何一个是否是需要进行密切监测的关键活动,计算交易类型关键性值,并基于该交易类型关键性值(例如,基于当前正在进行的交易的类型)来计算/选择进行评估的认证因素和/或认证因素的数量。例如,当没有关键的活动在进行中时,计算设备可以评估精简数量的认证因素,并且当一个或多个关键的活动在进行中时,评估更大数量的认证因素。此外,计算设备还可以根据在进行的交易的类型(例如,通过使用交易类型关键性值)来计算所述脆弱性值,并使用该脆弱性值来确定在对用户进行认证时应当进行评估的认证因素的数量。用此方式,使用的认证因素的数量可以是响应于当前使用和操作状态(因此的当前计算设备的脆弱性和当前环境下对用户构成的风险),或者与其相一致。
计算设备可以被配置为:判断在该设备上操作的进程/软件应用中的任何一个是否被标记成重要/关键软件应用(例如,银行app,存储信用卡信息的应用程序等等)(其中这些软件应用是易受滥用的,会暴露用户风险(例如,身份盗窃或金钱损失),或者需要密切关注),确定在进行的交易的类型,和/或计算交易类型关键性值。此外,计算设备还可以对进程或者软件应用的活动/行为进行监测以收集行为信息,基于所收集的行为信息来生成用于表示所监测的活动/行为的行为向量,将所生成的行为向量与分类器模型或者关键行为的模型进行比较以判断该进程/软件应用是否是重要/关键软件应用或者在参与需要进行密切监测的关键活动,并基于确定是重要/关键的所述多个活动、进程、或者软件应用来计算交易类型关键性值。
在一个方面,计算设备可以被配置为确定软件完整性置信度值,其表示或者量化一个软件应用是授权的、认证的、还是非良性的可疑或者置信程度(例如,经由概率值等等)。计算设备可以使用这些软件完整性置信度值,在当前环境下,计算/选择认证因素和/或确定要进行评估的认证因素的数量。此外,计算设备还可以根据软件完整性置信度值来计算脆弱性值,并使用该脆弱性值来确定在对用户进行认证时该设备应当进行评估的认证因素的数量。
在一个方面,计算设备可以被配置为:针对该设备进行评估的每一个进程、软件应用、或者设备行为,对历史行为信息进行收集和存储。该历史行为信息可以包括:适合于识别软件应用或者进程的先前观测的行为的信息;该行为的优先级或者相对重要性;该行为先前被分析/分类成良性还是非良性的;用于该行为的先前分类的分类置信度值;用于标识恶意或性能退化的程度的严重性值(对应于被分类成非良性的行为);用于标识上一次观测、分析或者分类该行为的时间的时间戳值;以及其它类似的信息。
计算设备可以被配置为使用历史行为信息来计算历史行为值(置信度/概率值),使用该历史行为值来选择/计算认证因素,和/或确定在对用户进行认证时,应当进行分析的认证因素的数量。例如,计算设备可以被配置为:当历史行为信息指示当前在该设备上操作的软件应用的行为先前被分类成非良性的时(或者当历史行为值较低或者接近于零时),选择更强的或者更健壮的认证因素,和/或评估更大数量的认证因素。类似地,计算设备可以被配置为:当历史行为信息指示其当前行为中没有任何一个最近(例如,在上一小时、天、周、月、年等等)被分类成可疑的或者非良性的时,或者当历史行为值较高或者接近于一时,选择更瘦/更弱的认证因素,和/或评估更少数量的认证因素。此外,计算设备还可以被配置为:根据该历史行为信息或者历史行为值来计算脆弱性值,并使用该脆弱性值来确定在对用户进行认证时应当进行评估的认证因素的数量。
在各个方面,计算设备可以被配置为根据交易类型关键性值、用户置信度值、软件完整性置信度值、和/或历史行为值中的一些或者全部,来计算脆弱性值。计算设备可以使用该脆弱性值来确定在对用户进行认证时该设备应当进行评估的认证因素的数量。此外,计算设备还可以使用该脆弱性值来智能地选择/计算认证因素。
通过使用机器学习和/或行为分析技术,计算设备可以持续地(或者接近持续地)计算、选择、和/或评估认证因素,而不会消耗过量的其处理资源或者功率资源。计算设备可以通过随时确定风险水平,而不仅仅是在关键时刻(例如,登录时间),来完成这种随机性或者使用概率性方法。
在一个方面,计算设备可以被配置为执行被动认证操作来对用户进行认证,而不需要为了认证目的来表达用户交互。在该方面,计算设备可以被配置为:确定被动认证置信度值,其中该被动认证置信度值以被动认证的准确性来标识设备的置信度水平;确定关键性水平值,其中该关键性水平值标识在该设备上操作的进程或者软件应用的重要性或者关键性;将被动认证置信度值与关键性水平值进行比较,以判断被动认证中的置信度水平是否足够用于关键性水平;基于该比较的结果来确定(例如,计算或者选择)在被动认证操作中将要使用的认证因素和/或认证因素的数量。
在各个方面,计算设备可以被配置为:经由该计算设备的综合行为监测和分析系统,来执行本申请中所讨论的操作中的任何一个或者全部。该行为监测和分析系统可以在不对计算设备的响应性、性能、或者功耗特性具有显著的、负面、或者用户可感知影响的情况下,完成这些操作。
该行为监测和分析系统可以被配置为:快速地和高效地识别非良性软件应用(例如,恶意的、写得不好的、与设备不兼容的应用),阻止这些应用使计算设备的性能、功率利用水平,网络使用水平,安全性和/或隐私性随时间下降。此外,该行为监测和分析系统还可以被配置为:确定该设备进行评估的认证因素的数量、确定进行评估的认证因素的类型、以及确定在对这些认证因素进行评估时要执行的操作。此外,该行为监测和分析系统还可以被配置为:基于设备的当前行为、正在进行的交易的类型、用户置信度值、软件完整性置信度值或者在该设备上操作的软件应用的历史行为,对用户、进程、软件应用或者任何其它实体或组件进行认证。
该基于行为的监测和分析系统可以包括:观测器进程、守护进程、模块或子系统(本文统称为“模块”)、行为提取器模块和分析器模块。观测器模块可以被配置为测量或协调该计算设备系统的各个层级的各个应用程序接口(API)、寄存器、计数器或其它设备部件(本文统称为“仪表部件”),从仪表部件收集行为信息,(例如,经由存储器写操作、函数调用等等)将所收集的行为信息发送给行为提取器模块。行为提取器模块可以使用所收集的行为信息来生成行为向量,其中该行为向量表示或者描绘与该设备的一个或多个特定线程、进程、软件应用、模块或部件相关联的观测的事件、状况、任务、活动和/或行为(本文统称为“行为”)中的很多或者全部。行为提取器模块可以将所生成的行为向量传输给分析器模块(例如,经由存储器写操作、函数调用等等),分析器模块可以将这些行为向量应用于分类器模型以生成分析结果,使用分析结果来判断软件应用或设备行为是良性的,还是非良性的(例如,恶意的、写的不好、性能下降的等等)。随后,设备处理器可以执行各种操作来校正、治疗、治愈、隔离、或者以其它方式修复所识别的问题(例如,确定是非良性的行为)。
每一个行为向量可以是包括或者封装一个或多个“行为特征”的信息结构。行为特征可以是用于表示移动设备中的观测的事件、状况、活动、操作、关系、交互或者行为中的全部或一部分的抽象数字或符号。每一个行为特征可以与下面的信息相关联:用于标识一系列可能的值的数据类型、可以关于这些值执行的操作、这些值的含义和其它类似的信息。移动设备可以使用该数据类型来确定应当如何对相应的行为特征(或者特征值)进行测量、分析、加权或者使用。
在一个方面,计算设备可以被配置为生成大小为“n”的行为向量,其将进程/应用的行为映射到n维空间。该行为向量中的每一个数字或者符号(即,该向量所存储的“n”个值中的每一个)可以表示该设备的特征的值。计算设备可以分析该行为向量(例如,通过将该行为向量应用于关键行为的模型等等),以判断该进程/软件应用是否是异常的。此外,计算设备还可以对系统中的所有进程/应用的行为评分进行聚合,以识别该系统的正常/异常行为。
在一个方面,计算设备可以被配置为存储关键行为的模型。关键行为的模型可以与关键性水平(或者优先级或重要性值)相关联地标识通用“关键”行为。关键行为的示例包括用于处理以下方面的操作:近场通信(NFC)支付、银行交易、图片拍摄、音频或视频信息的录制、访问密码或者PIN、发送或接收安全或加密的电子邮件等等。这些和其它关键行为的模型可以存储在云服务器或网络中,在较大数量的设备之间共享,定期地或者按需地向计算设备发送,以及在设备中进行定制以便说明与各个用户相关联的关键行为。关键行为的模型可以在分类器模型中,或者包括在分类器模型中。
分类器模型可以是一种行为模型,其包括能由设备处理器进行使用,以快速地和高效地测试或者评估特定的特征、因素、数据点、条目、API、状态、状况、行为、软件应用、进程、操作、组件等等(本文统称为“特征”)或者该设备的行为的其它方面的数据、条目、决策节点、决策标准和/或信息结构。分类器模型还可以包括能由设备处理器进行使用,以便确定要在移动设备中进行监测的软件应用和/或行为之间的关系的本质的信息。
每一个分类器模型可以被分类成全分类器模型或精简分类器模型。全分类器模型可以是根据较大的训练数据集来生成的健壮数据模型,其中该较大的训练数据集可以包括数千个特征和数亿个条目。精简分类器模型可以是根据精简的数据集来生成的更聚焦的数据模型,其中该精简的数据集包括或者优先级划分关于以下的特征/条目的测试:与判断特定的移动设备行为是否是良性的最有关的特征/条目。本地分类器模型可以是在移动计算设备中生成的精简分类器模型。通过在使用这些模型的计算设备中生成分类器模型,本文的各个方面使计算设备能够准确地识别:对于判断该特定设备上的行为是否是良性的来说最重要,或者是对于设备的性能下降具有贡献的特定特征。这些方面还使计算设备能够根据分类器模型中的特征在对该特定设备中的行为进行分类时的相对重要性,来准确地对这些特征划分优先次序。
各个方面(其包括参照图2到图7所描述的方面)可以在包括单一处理器和多处理器系统以及片上系统(SOC)的多种不同的移动设备中实现。图1是示出可以在实现本文各个方面的计算设备中使用的示例性片上系统(SOC)100架构的体系结构图。SOC 100可以包括多个异构处理器,例如,数字信号处理器(DSP)101、调制解调器处理器104、图形处理器106和应用处理器108。此外,SOC 100还可以包括连接到异构处理器101、104、106、108中的一个或多个的一个或多个协处理器110(例如,向量协处理器)。每一个处理器101、104、106、108、110可以包括一个或多个内核,每一个处理器/内核可以独立于其它处理器/内核来执行操作。例如,SOC 100可以包括执行第一类型的操作系统(例如,FreeBSD、LINIX、OS X等等)的处理器和执行第二类型的操作系统(例如,微软Windows 8)的处理器。
SOC 100还可以包括用于管理传感器数据、模数转换、无线数据传输,以及用于执行其它专用操作(如,对用于游戏和电影的编码音频信号进行处理)的模拟电路和定制电路114。此外,SOC 100还可以包括系统组件和资源116,例如电压调整器、振荡器、锁相环、外围桥接、数据控制器、内存控制器、系统控制器、接入端口、定时器、以及用于支持这些处理器和客户端在计算设备上运行的其它类似组件。
系统组件116和定制电路114可以包括用于与外围设备进行交互的电路,例如,照相机、电子显示器、无线通信设备、外部存储器芯片等等。处理器101、104、106、108可以经由互连/总线模块124(其可以包括可再配置逻辑门阵列和/或实现总线架构(例如,CoreConnect、AMBA等等))来互连到一个或多个存储器单元112、系统组件、以及资源116和定制电路114。可以通过诸如高性能片上网络(NoC)之类的高级互连来提供通信。
SOC 100还可以包括用于与该SOC之外的资源进行通信的输入/输出模块(没有示出),例如,时钟118和电压调整器120。SOC之外的资源(例如,时钟118、电压调整器120)可以由内部SOC处理器/内核(例如,DSP 101、调制解调器处理器104、图形处理器106、应用处理器108等等)中的两个或更多来实现。
此外,SOC 100还可以包括适合于从传感器收集传感器数据的硬件和/或软件组件,这些传感器包括扬声器、用户接口单元(例如,输入按键、触摸屏显示器等等)、麦克风阵列、用于监测物理状况(例如,位置、方向、运动、方位、振动、压力等等)的传感器、照相机、指南针、GPS接收机、通信电路(例如,WLAN、WiFi等等)、以及现代电子设备的其它公知组件(例如,加速计等等)。
除了上面所讨论的SOC 100之外,可以利用各种各样的计算系统(其可以包括单一处理器、多个处理器、多核处理器或者其任意组合)来实现这些各个方面。
图2根据各个方面,示出了包括基于行为的安全系统200的一个方面计算设备中的示例性逻辑组件和信息流,其中基于行为的安全系统200配置为使用行为分析技术,对用户、应用、或者活动进行验证。在图2所示出的例子中,该计算设备是包括设备处理器(即,移动设备处理器)的移动设备102,其中该设备处理器配置有可执行指令模块,其包括行为观测器模块202、行为提取器模块204、行为分析器模块206、执行器模块208、以及认证模块210。
在各个方面,可以将认证模块210中的全部或者一部分实现成行为观测器模块202、行为提取器模块204、行为分析器模块206、或者执行器模块208的一部分。模块202到210中的每一个可以是利用软件、硬件、或者其任意组合来实现的线程、进程、守护进程、模块、子系统、或者组件。在各个方面,可以将模块202到210实现在操作系统的一部分中(例如,实现在内核中、实现在内核空间中、实现在用户空间中等等)、实现在单独的程序或应用中、实现在专用硬件缓冲区或处理器中、或者实现在其任意组合中。在一个方面,模块202到210中的一个或多个可以实现成在移动设备102的一个或多个处理器上执行的软件指令。
认证模块210可以被配置为基于其它模块202到208所收集、生成或者分析的信息中的任何一个或者全部,智能地、高效地和动态地判断是否需要认证、确定要进行评估的认证因素的数量、以及当评估这些认证因素时,要执行的操作。例如,认证模块210可以使用行为观测器模块202所收集的信息,来确定该设备的当前行为,正在进行的交易的类型、用户置信度值和软件完整性置信度值,使用任何或者所有这种信息来确定在对用户进行认证时,将进行评估的认证因素的数量和类型。再举一个例子,认证模块210可以被配置为:存储行为分析器模块206向分析器模型应用行为向量的结果以作为历史行为信息,使用所存储的历史行为信息来计算历史行为值(即,置信度值或者概率值),使用该历史行为值来确定行为观测器模块202将进行监测和行为分析器模块206将进行分析的设备特征,以便对用户进行认证。
在一个方面,认证模块210可以被配置为选择用于测试两种或更多不同类型的独立认证因素,其包括:知识因素类型,拥有因素类型、以及固有因素类型中的两个或更多。在一个方面,认证模块210可以被配置为确定用于对认证因素进行测试或评估的操作。这些操作可以包括或者可以基于:行为观测器模块202所监测的活动中的任何一个、或者行为分析器模块206分析的行为中的任何一个。
行为观测器模块202可以被配置为:在一段时间上,测量该设备的各个层级/模块处的应用程序接口(API)、计数器、硬件监测器等等,对这些各个层级/模块处的活动、状况、操作和事件(例如,系统事件、状态改变等等)进行监测。行为观测器模块202可以收集关于所监测的活动、状况、操作或事件的行为信息,并在存储器中(例如,在日志文件等等中)存储所收集的信息。
行为观测器模块202可以被配置为:通过收集关于应用框架或运行时库中的库API调用、系统调用API、文件系统和网络化子系统操作、设备(其包括传感器设备)状态改变和其它类似事件的信息,来监测移动计算设备102的活动。此外,行为观测器模块202还可以监测文件系统活动,其可以包括:搜索文件名、文件访问的类别(个人信息或通用数据文件)、生成或删除文件(例如,类型exe、zip等等)、文件读/写/查找操作、改变文件许可等等。
此外,行为观测器模块202还可以通过对数据网络活动(其可以包括:连接的类型、协议、端口号、该设备连接到的服务器/客户端、连接的数量、通信的量或频率等等)进行监测,来监测移动计算设备102的活动。行为观测器模块202可以对电话网络活动进行监测,其可以包括:对发送出、接收到或者中间截获的呼叫或消息(例如,SMS等等)的类型和数量(例如,拨打的高级呼叫的数量)进行监测。
此外,行为观测器模块202还可以通过对系统资源使用(其可以包括:对叉(fork)的数量、存储器访问操作、文件打开的数量等等)进行监测,来监测移动计算设备102的活动。行为观测器模块202可以对移动计算设备102的状态进行监测,其可以包括对诸如下面的各种因素进行监测:显示器是打开还是关闭的、该设备是锁定还是未锁的、电池的剩余电量、照相机的状态等等。此外,行为观测器模块202还可以例如通过监测关键服务(浏览器、提供商等等)的意图、进程间通信的程度、弹出窗等等,对进程间通信(IPC)进行监测。
此外,行为观测器模块202还可以通过一个或多个硬件组件的驱动器统计和/或状态进行监测,来监测移动计算设备102的活动,其中这些硬件组件可以包括:照相机、传感器、电子显示器、WiFi通信组件、数据控制器、内存控制器、系统控制器、接入端口、定时器、外围设备、无线通信组件、外部存储器芯片、电压调整器、振荡器、锁相环、外围桥接、以及用于支持这些处理器和客户端在上移动计算设备102上运行的其它类似组件。
此外,行为观测器模块202还可以通过对表示该移动计算设备102和/或移动设备子系统的状态或状况的一个或多个硬件计数器进行监测,来监测移动计算设备102的活动。硬件计数器可以包括处理器/内核的特殊用途寄存器,其被配置为存储在该移动计算设备102中发生的与硬件相关活动或事件的计数值或状态。
此外,行为观测器模块202还可以通过对以下信息进行监测,来监测移动计算设备102的活动:软件应用的活动或操作、来自应用下载服务器(例如,应用商店服务器)的软件下载、软件应用使用的计算设备信息、调用信息、文本消息信息(例如,SendSMS、BlockSMS、ReadSMS等等)、媒体消息信息(例如,ReceiveMMS等等)、用户账户信息、位置信息、照相机信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线电通信(例如,蓝牙、WiFi等等)、基本文本的通信的内容、记录的音频文件的内容、电话簿或联系人信息、联系人列表等等。
此外,行为观测器模块202还可以通过对移动计算设备102的传输或通信进行监测,来监测移动计算设备102的活动,其包括监测下面之类的通信:语音邮件(VoiceMailComm)、设备标识符(DeviceIDComm)、用户账户信息(UserAccountComm)、日历信息(CalendarComm)、位置信息(LocationComm)、记录的音频信息(RecordAudioComm)、加速计信息(AccelerometerComm)等等。
此外,行为观测器模块202还可以通过下面信息的使用和更新/改变进行监测,来监测移动计算设备102的活动:指南针信息、计算设备设置、电池寿命、陀螺仪信息、压力传感器、磁传感器、屏幕活动等等。行为观测器模块202可以监测向软件应用传输和/或传输来自软件应用的通知(AppNotifications)、应用更新等等。行为观测器模块202可以监测与第一软件应用有关的状况或事件,其中第一软件应用请求下载和/或安装第二软件应用。行为观测器模块202可以监测与用户验证有关的状况或事件,例如,密码的输入等等。
此外,行为观测器模块202还可以通过对移动计算设备102的多个层级(其包括应用层、无线电层和传感器层)的状况或事件进行监测,来监测移动计算设备102的活动。应用层观测可以包括:经由人脸识别软件来观测用户、观测社交流媒体、观测用户输入的笔记、观测与 Wallet、和其它类似应用或服务的使用有关的事件。此外,应用层观测还可以包括:观测与虚拟专用网(VPN)的使用有关的事件,以及关于以下各项的事件:同步、语音搜索、语音控制(例如,通过说一个词来锁定/解锁电话)、语言翻译器、数据的卸载以进行计算、视频流媒体、无需用户活动的照相机使用、无需用户活动的麦克风使用等等。
无线电层观测可以包括确定下面中的任何一种或多种的出现、存在或者数量:在建立无线通信链路或者发送信息之前,与移动计算设备102的用户交互、双/多用户识别模块(SIM)卡、互联网无线电、移动电话系留、卸载数据以进行计算、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、计算设备同步等等。此外,无线电层观察还可以包括:监测无线电(WiFi、WiMax、蓝牙等等)的使用以进行定位、对等(p2p)通信、同步、车辆对车辆通信和/或机器对机器(m2m)。此外,无线电层观测还可以包括:对网络业务使用、统计或简档进行监测。
传感器层观测可以包括:对磁传感器或其它传感器进行监测,以确定该移动计算设备102的使用和/或外部环境。例如,移动计算设备处理器可以被配置为:判断该设备是处于皮套中(例如,经由配置为对皮套中的磁体进行感测的磁传感器)还是处于用户的口袋中(例如,经由照相机或光传感器所检测到的光量)。检测到移动计算设备102处于皮套之中,可以是与认识到可疑行为有关,例如,由于当移动计算设备102在放入皮套时,与用户的活动使用有关的活动和功能(例如,拍摄照片或视频、发送消息、进行语音呼叫、记录声音等等)发生,可能是恶意的进程在该设备上进行执行(例如,以跟踪或窥探该用户)的特征。
与使用或外部环境有关的传感器层观测的其它例子,可以包括:检测NFC信令、从信用卡扫描器、条形码扫描器或者移动标签读取器收集信息、检测通用串行总线(USB)充电电源的存在、检测键盘或者辅助设备已耦合到该移动计算设备102、检测到该移动计算设备102已耦合到另一个计算设备(例如,经由USB等等),判断LED、闪光、闪光灯或者光源是否被修改或者禁用(例如,恶意地禁用紧急信令app等等)、检测扬声器或麦克风是否已打开或加电、检测充电或功率事件、检测到该移动计算设备102被使用成游戏控制器等等。此外,传感器层观测还可以包括:从医疗或保健传感器或者通过扫描用户的身体来收集信息,从插入到USB/音频插孔的外部传感器收集信息、从触觉或感触传感器收集信息(例如,经由振动器接口等等)、收集与移动计算设备102的热状态有关的信息等等。
为了将需要监测的因素的数量减少到一个可管理的水平,在一个方面,行为观测器模块202可以被配置为:通过对初始集合的行为或因素进行监测/观察,来执行粗观测,其中该初始集合是可能对于该计算设备的脆弱性或性能下降具有贡献的所有因素的一个较小子集。在一个方面,行为观测器模块202可以从服务器和/或云服务或网络中的组件接收该初始集合的行为和/或因素。在一个方面,可以利用机器学习分类器模型,来指示该初始集合的行为/因素。在一个方面,这些机器学习分类器模型可以是关键行为的模型。
行为观测器模块202可以将所收集的行为信息传输给行为提取器模块204(例如,经由存储器写操作、函数调用等等)。行为提取器模块204可以被配置为接收或者获取该收集的行为信息,使用该信息来生成一个或多个行为向量。每一个行为向量可以利用一个值或者向量数据结构,来简洁地描述该设备、软件应用或者进程的行为。
该向量数据结构可以包括一系列数字,每一串数字表示该移动设备的一个特征或行为,例如,该移动设备的照相机是否在使用(例如,零或者一),从移动设备发送的网络业务量或者移动设备所生成的网络业务的量(例如,20KB/秒等等),已传输的互联网消息的数量(例如,SMS消息的数量等等)和/或行为观测器模块202所收集的任何其它行为信息。再举一个例子,该向量数据结构可以包括用于表示以下方面的一系列数字:是否从桌子上拿起该移动设备、用户是否打开/发起电子邮件应用、移动支付应用或者移动游戏应用、用户是否将该设备递交给另一个用户、该用户是成人还是儿童、用户是否活动地参与该设备(例如,玩游戏等等)等等。
在一个方面,行为提取器模块204可以被配置为生成行为向量,使得它们充当为使移动设备系统(例如,行为分析器模块206)能够快速地认识、识别或者分析该设备的行为的标识符。在一个方面,行为提取器模块204可以被配置为生成大小为“n”的行为向量,其将进程或软件应用的行为映射到n维空间。在一个方面,行为提取器模块204可以被配置为:生成包括有能输入到机器学习分类器中的特征/决策节点的信息的行为向量,以便生成关于所监测的活动的查询的应答,或者判断一个行为是否是需要密切监测的关键活动。
在一个方面,行为提取器模块204可以被配置为生成行为向量以包括执行信息。可以将该执行信息作为行为的一部分(例如,后台进程将3秒钟之内使用照相机5次,前台进程在3秒钟之内使用照相机3次等等)或者独立特征的一部分,包括在行为向量中。在一个方面,可以将执行状态信息作为阴影特征值子向量或者数据结构,包括在行为向量中。在一个方面,该行为向量可以将该阴影特征值子向量或者数据结构与同该执行状态有关的特征、活动、任务,进行关联地存储。
行为提取器模块204可以将所生成的行为向量传输给行为分析器模块206(例如,经由存储器写操作、函数调用等等)。行为分析器模块206可以被配置为:将这些行为向量应用于分类器模型,以判断设备行为是否是对于该设备的随时间性能下降具有贡献(或者可能具有贡献)、和/或可能在该设备上造成问题的非良性行为。行为分析器模块206可以被配置为判断是否需要认证、确定要进行评估的认证因素的数量、要进行评估的认证因素的类型、以及当评估这些认证因素时,要执行的操作。此外,行为分析器模块206可以被配置为将行为向量应用于分类器模型,以确定正在进行的交易的类型、交易类型关键性值、用户置信度值、软件完整性置信度值,当前在该设备上操作的软件应用的历史行为、历史行为值、脆弱性值等等。
每一个分类器模型可以是包括能由计算设备处理器使用,以评估计算设备行为的特定特征或方面的数据和/或信息结构(例如,特征向量、行为向量、组件列表等等)的行为模型。每一个分类器模型还可以包括用于监测该计算设备中的多种特征、因素、数据点、条目、API、状态、状况、行为、应用、进程、操作、组件等等(本文统称为“特征”)的决策标准。分类器模型可以预安装在计算设备上,从网络服务器下载或接收,在计算设备中生成或者是其任意组合。此外,还可以通过使用众包解决方案、行为建模技术、机器学习算法等等,来生成这些分类器模型。
每一个分类器模型可以被分类成全分类器模型或者精简分类器模型。全分类器模型可以是根据大量的训练数据集所生成的健壮数据模型,其可以包括数千特征和数十亿条目。精简分类器模型可以是根据精简数据集生成的更聚焦的数据模型,其仅仅包括/测试对判断一个特定的活动是否是正在进行的关键活动和/或特定的计算设备行为是否是良性的来说非常重要的特征/条目。举例而言,设备处理器可以被配置为从网络服务器接收全分类器模型,基于全分类器来生成该移动设备中的精简分类器模型,使用本地生成的精简分类器模型,将设备的行为分类成可被攻击的脆弱性或者非良性的(例如,恶意的、使性能下降的等等)。
本地生成的精简分类器模型是在计算设备中生成的精简分类器模型。也就是说,由于移动设备是高度可配置和复杂系统,对于判断特定的设备行为是否是非良性的(例如,恶意的或者使性能下降的)来说最重要的特征,在各个设备中可能是不同的。此外,特征的不同组合可能需要在每一个设备中进行监测和/或分析,以便该设备快速地和高效地判断该计算设备是否是易受攻击的(因此更高水平的用户认证是适当的)或者特定的行为是否是非良性的。此外,通常可以仅仅使用从要监测或者分析其行为的特定设备所获得的信息,来确定需要监测和分析的精确特征组合,以及每一个特征或者特征组合的相对优先级或重要性。由于这些和其它原因,本文的各个方面可以在使用分类器模型的移动设备中,生成这些模型。这些本地分类器模型使设备处理器能够准确地识别对于判断该计算设备是否是易受攻击的或者该特定设备上的行为是否是非良性的(例如,对于该设备的性能下降具有贡献)来说最重要的特定特征。本地分类器模型还使设备处理器能够根据进行测试或者评估的特征对于判断该计算设备是否是易受攻击的或者分类该特定设备中的行为来说的相对重要性,对这些特征划分优先级。
特定于设备的分类器模型是一种包括聚焦的数据模型的分类器模型,其仅仅包括/测试具有下面特性的特定于计算设备的特征/条目:确定这些特征/条目对于分类特定的计算设备中的活动或者行为来说最相关。特定于应用的分类器模型是一种包括聚焦的数据模型的分类器模型,其仅仅包括/测试具有下面特性的特征/条目:这些特征/条目对于评估特定的软件应用来说最相关。特定于用户的分类器模型是一种包括聚焦的数据模型的本地分类器模型,其包括或者优先级划分关于以下的特征/条目最有关的测试:与识别设备的用户、确定用户的角色、判断设备行为是否与所识别的用户的角色相一致、判断设备行为是否与所识别的用户中的一个对于该设备的普通使用相一致、或者判断用户的活动是指示可疑的或非良性的行为(其证明更高级别的用户认证)。通过在移动设备中动态地生成特定于用户、特定于设备和/或特定于应用的分类器模型,本文的各个方面使设备处理器能够将其监测和分析操作聚焦于很少数量的特征上,其中这些很少数量的特征对于判断该特定移动设备的操作和/或在该设备上操作的特定软件应用是否与该特定设备的已知用户的个性、习惯或普通使用模式相一致来说非常重要。
在本申请中所讨论的分类器模型中的任何一个或全部可以包括关键行为的模型,其与用于标识该行为的危险性的关键性水平或者置信度、概率、优先级、重要性值相关联地标识关键行为。关键行为的示例包括用于处理以下方面的操作:近场通信(NFC)支付、银行交易、图片拍摄、音频或视频信息的录制、访问密码或者PIN、发送或接收安全或加密的电子邮件、或者依次由模块202到208进行监测、分析或分类的任何其它活动或者行为。
在一个方面,行为分析器模块206可以被配置为:当其行为分析操作的结果不能提供足够的信息,将设备行为分类成良性的或者非良性的时,将该行为分类成“可疑的”。行为分析器模块206可以被配置为:响应于确定设备行为是可疑的,通知行为观测器模块202。作为响应,行为观测器模块202可以基于从行为分析器模块206接收的信息(例如,实时分析操作的结果),调整其观测的粒度(即,对计算设备特征进行监测的细节水平)和/或改变进行监测的因素或者行为,生成或收集新的或另外的行为信息,并向行为分析器模块206发送该新的/另外的信息以进行进一步分析/分类。行为观测器模块202和行为分析器模块206之间的这种反馈通信,使移动计算设备102能够递归地增加观测的粒度(即,更精细或者更详细地观测),或者改变进行观测的特征/行为,直到集体行为被分类成良性或者非良性的、识别可疑的或者性能下降的行为的来源为止、直到达到处理或者电池消耗门限为止、或者直到设备处理器确定不能通过进一步改变、调整或者增加观测粒度来识别该可疑的或性能下降的移动设备行为的来源为止。此外,这种反馈通信还可以使移动计算设备102能够调整或修改行为向量和分类器模型,而不需要消耗该计算设备的过度量的处理、存储器、或者能量资源。
在各个方面,移动设备102可以被配置为与网络服务器进行协作地工作,以智能地和高效地识别对于判断该计算设备是否是易受攻击的,或者活动或行为是非良性的来说最相关的特征、因素和数据点。例如,设备处理器可以被配置为从网络服务器接收全分类器模型,使用所接收的全分类器模型来生成精简分类器模型(即,数据/行为模型),其中这些精简分类器模型特定于该设备的用户和/或该设备或者其软件应用的特征和功能。设备处理器可以使用全分类器模型,来生成不同程度的复杂度(或者“精简性”)的一系列精简分类器模型。可以例行地应用该系列的精简分类器模型中的最精简模型(即,基于最少数量的测试条件的精简分类器模型),直到遇到该分类器模型不能进行分类的行为为止,在该时间,可以尝试应用更健壮的(即,不太精简的)分类器模型来对该行为进行分类。可以应用该系列的所生成的精简分类器模型中的更强大的精简分类器模型,直到实现该行为的确定性分类或者确定了用户认证的所需要水平为止。用此方式,设备处理器可以通过将最完整、但资源密集型精益分类器模型的使用,限制于需要健壮的分类器模型来对行为进行明确地分类的那些情形,可以在效率和准确性之间取得平衡。
在各个方面,设备处理器可以被配置为:通过将全分类器模型中包括的有限状态机表示或者表达转换成增强型决策树桩,来生成精简分类器模型。设备处理器可以基于特定于应用、设备或用户的特征,来修剪或剔除该完全集合的增强型决策树桩,以生成包括有该全分类器模型中所包括的增强型决策树桩的一个子集的精简分类器模型。随后,设备处理器可以使用该精简分类器模型,对设备行为进行智能地监测、分析和/或分类。
增强型决策树桩是只有一个节点(因此一个测试问题或者测试条件)和一个权重值的一级决策树,因此其非常适合于在数据/行为的二进制分类中使用。也就是说,在二进制应答(例如,是或否)中,将行为向量应用于增强型决策树桩。例如,如果增强型决策树桩所测试的问题/条件是“短消息服务(SMS)传输的频率低于每分钟x次?”,则向增强型决策树桩应用“3”的值,将导致“是”应答(对应于“小于3次”的SMS传输)或者“否”应答(对应于“3次或更多”的SMS传输)。增强型决策树桩是高效的,这是由于它们是非常简单和原始的(因此,不需要显著的处理资源)。增强型决策树桩也是非常平行的,因此可以并行地/在同一时间,应用或者测试多个树桩(例如,通过计算设备中的多个内核或者处理器)。
图3是根据一个方面,示出智能性地确定在对计算设备的用户进行认证时,要将进行评估的认证因素的数量的方法300。方法300可以由移动设备或资源受限性计算设备的处理内核或者设备处理器来执行。在方框301中,设备处理器可以监测该计算设备系统的各个层级的仪表部件(例如,API、寄存器、计数器等等)以收集行为信息,检测在进行的新活动、状况、事件或者行为。在方框302处,设备处理器可以基于所收集的行为信息,来生成用于表示或描绘所检测的活动、状况、事件或者行为的行为向量。
在可选框304中,设备处理器可以基于行为向量,来计算交易类型关键性值(或者更新先前所计算的交易类型关键性值)。例如,设备处理器可以将行为向量与关键行为的模型进行比较,以确定该行为的关键性或者重要性,基于所确定的该行为的关键性或者重要性,来计算交易类型关键性值。在一个方面,设备处理器可以将交易类型关键性值设置为等于零和一之间的值(包括性的)。例如,当确定该行为是非关键的时(例如,设备被移动),则设备处理器可以将该值设置为“1.0”,当确定该行为是中性的时,设置为“0.5”,当确定该行为是高度关键的时,设置为“0.1”(例如,使用NFC支付的银行交易)。
在可选框306中,设备处理器可以基于该行为向量,来计算用户置信度值(或者更新先前所计算的用户置信度值)。例如,设备处理器可以将所生成的行为向量应用于分类器模型,以判断所检测的行为是否与用户的正常使用模式相一致,使用将该行为向量应用于所述模型的结果来计算用户置信度值。在一个方面,设备处理器可以将用户置信度值设置为等于零和一之间的值(包括性的),以便指示该设备的当前使用模式与该用户对于该设备的正常使用模式相一致的程度。例如,当该行为与正常使用模式高度一致时,设备处理器可以将该值设置为“1.0”,当该行为是中性的时,将该值设置为“0.5”,当该行为是高度异常的时,将该值设置为“0.1”。
在可选框308中,设备处理器可以基于该行为向量,来计算软件完整性置信度值(或者更新先前计算的软件完整性置信度值)。设备处理器可以将软件完整性置信度值设置为等于零和一之间的值(包括性的),以便指示与该行为相关联的软件应用是良性的置信度。例如,如果行为分析器模块将该行为分类成良性的,设备处理器可以将该值设置为“1.0”,如果确定该行为是温和的可疑时,将该值设置为“0.8”,如果确定该行为是高度可疑的时,将该值设置为“0.2”,如果确定该行为是非良性的时,将该值设置为“0.0”。
在可选框310中,设备处理器可以基于行为向量和/或存储器中存储的历史行为信息,来计算历史行为值(或者更新先前计算的历史行为值)。该历史行为信息可以包括适合于以下方面的信息:识别有关的软件应用或者进程的先前观测的行为、该行为的优先级或者相对重要性、该行为先前是被分析/分类成良性的还是非良性的、用于该行为的先前分类的分类置信度值、用于标识恶意或者性能退化的程度的严重性值(对于分类成非良性的行为)、用于标识上一次对该行为进行观测、分析或者分类的时间的时间戳值、以及其它类似的信息。在一个方面,设备处理器可以将历史行为值设置为等于零和一之间的值(包括性的),以指出该历史行为信息指示所检测的活动、状况、事件或者行为是非良性的程度。例如,如果历史行为信息指示当前在该设备上操作的软件应用的行为先前被分类成良性的,则设备处理器可以将该值设置为“1.0”,如果确定该行为在上个月是可疑的,则将该值设置为“0.8”,如果确定该行为在一个小时之前是可疑的,并具有较高优先级或者相对重要性,则将该值设置为“0.2”,如果最近确定该行为是非良性的,则将该值设置为“0.0”。
在方框312中,设备处理器可以使用交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的任何一个或者全部,来确定在对该计算设备的用户进行认证时,要进行评估的认证因素的数量。
图4示出了计算设备可以检测的事件/行为的示例性序列,以及基于每一个检测的事件/行为,可以针对交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值来计算的示例性值。此外,图4还示出了可以基于交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值,来动态地确定安全水平和认证因素的数量。
在操作452中,设备处理器(例如,经由从方位传感器收集的信息等等)检测到用户从桌子上或者等同的高度拿起了计算设备。结果,设备处理器将交易类型关键性值设置为“1.0”,将用户置信度值设置为“0.5”(由于没有足够的信息来识别该用户),将软件完整性置信度值设置为“1.0”,将历史行为值设置为“0.7”。基于这些值,设备处理器将适合于对用户进行认证的认证因素的数量设置为三(3)。在操作453中,用户登录到该设备,并且设备处理器使用三种认证因素(例如,密码、指纹、安全令牌等等)来对该用户进行认证。
在操作454中,设备处理器检测到用户打开/发起了电子邮件应用。结果,设备处理器将交易类型关键性值设置为“0.4”(更关键),将用户置信度值设置为“0.7”(具有更好的机会建模该用户具有更高的置信度),将软件完整性置信度值设置为“1.0”,并且将历史行为值设置为“0.7”。基于这些值,设备处理器将适合于对用户进行认证的认证因素的数量增加为四(4)。在操作455中,设备处理器使用另外的认证因素(例如,激活照相机进行人脸识别等等)来对该用户进行认证。
在操作456中,设备处理器检测到用户打开/发起了移动支付应用。结果,设备处理器将交易类型关键性值设置为“0.1”(高度关键),将用户置信度值设置为“1.0”(非常高的用户识别的信任),将软件完整性置信度值设置为“1.0”,并且将历史行为值设置为“0.7”。基于这些值,设备处理器可以将适合于对用户进行认证的认证因素的数量增加为五(5)。在操作457中,设备处理器使用另外的认证因素来对该用户进行认证,例如,通过判断该特定序列的操作是否与用户的先前设备使用模式相一致。
在操作458中,设备处理器检测到用户打开/发起了移动游戏应用。结果,设备处理器将交易类型关键性值设置为“0.9”,将用户置信度值设置为“1.0”,将软件完整性置信度值设置为“1.0”,并且将历史行为值设置为“0.8”。基于这些值,设备处理器可以将适合于对用户进行认证的认证因素的数量减少为二(2)。
在操作460中,用户将该设备递交给一个儿童。设备处理器检测到用户将该设备递交给第二用户,并且第二用户是一个儿童(例如,基于第二用户使用两只手来与该设备进行交互,通过使用人脸识别技术等等),故将用户置信度值设置为0.5。结果,设备处理器将交易类型关键性值设置为“0.9”,将用户置信度值设置为“0.5”,将软件完整性置信度值设置为“1.0”,并且将历史行为值设置为“0.8”。基于这些值,设备处理器可以将认证因素的数量增加为三(3)。
在操作462中,设备处理器检测到第二用户(儿童)开始玩游戏应用。结果,设备处理器将交易类型关键性值设置为“0.9”,将用户置信度值设置为“1.0”,将软件完整性置信度值设置为“1.0”,并且将历史行为值设置为“0.8”。基于这些值,设备处理器可以将认证因素的数量减少为二(2)。
在操作464中,设备处理器检测到第二用户(儿童)尝试下载可疑的或者已知的恶意软件应用。结果,设备处理器将交易类型关键性值设置为“0.9”,将用户置信度值设置为“1.0”,将软件完整性置信度值设置为“0.0”,并且将历史行为值设置为“0.1”。基于这些值,设备处理器将认证因素的数量增加为六(6)。在操作465中,设备处理器使用另外的认证因素来对该用户进行认证。
图5是根据一个方面,示出执行多因素认证的方法500。方法500可以由移动设备或者资源受限性计算设备的处理内核或者设备处理器来执行。在方框502中,设备处理器可以定义用于对第一知识类型认证因素进行评估的第一操作集,以及用于对第二知识类型认证因素进行评估的第二操作集。设备处理器可以基于上面参照图2所讨论的行为观测器模块202和/或行为分析器模块206的操作,来确定第一操作集和第二操作集。
在方框504中,设备处理器可以定义用于对第一拥有类型认证因素进行评估的第三操作集,以及用于对第二拥有类型认证因素进行评估的第四操作集,这些中的任何一个或者全部可以是基于行为观测器模块202和行为分析器模块206的操作来确定的。在方框506中,设备处理器可以定义用于对第一固有类型认证因素进行评估的第五操作集,以及用于对第二固有类型认证因素进行评估的第六操作集,它们也可以是基于行为观测器模块202和行为分析器模块206的操作来确定的。
在方框508中,设备处理器可以向所收集的行为信息(例如,设备状态信息、传感器数据、用户交互信息等等)应用机器学习和/或行为分析技术,以确定适合于在当前状态/状况下对用户进行认证的认证因素的数量。在一个方面,这可以通过执行上面参照图3所讨论的方法300的操作来完成。例如,在方框508中,设备处理器可以使用关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个,来确定在对该计算设备的用户进行认证时应当进行评估的认证因素是六个(6)认证因素中的三个(3)。
在方框510中,设备处理器可以基于所确定数量的认证因素来确定应当评估这些认证因素中的哪些认证因素并且选择操作集,并且使得所选定的操作集对知识类型认证因素、拥有类型认证因素、以及固有类型认证因素中的两个或更多进行评估。例如,在方框510中,处理内核可以使用关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个来确定在对该计算设备的用户进行认证时应当评估第一知识类型认证因素和第二知识类型认证因素和第二固有类型认证因素,选择第一操作集和第二操作集来对第一知识类型认证因素和第二知识类型认证因素进行评估,并且选择第四操作集来对第二固有类型认证因素进行评估。在方框512中,设备处理器可以执行所选定的操作集来对用户进行认证。
图6是根据另一个方面,示出确定认证因素和/或认证因素的数量的方法600。方法600可以由移动设备或者资源受限性计算设备的处理内核或者设备处理器来执行。在方框602中,设备处理器可以执行被动认证操作来对用户进行认证,而不需要为了认证目的来表达用户交互。在方框604中,设备处理器可以确定被动认证置信度值,其中该被动认证置信度值以被动认证操作的准确性来标识设备的置信度水平。在方框606中,设备处理器可以确定关键性水平值,其中该关键性水平值标识在该设备上操作的进程或者软件应用的重要性或者关键性。在方框608中,设备处理器可以将被动认证置信度值与关键性水平值进行比较,以判断该被动认证中的置信度水平是否超过(例如,大于等等)关键性水平。在方框610中,设备处理器可以基于该比较的结果来确定、计算、或者选择认证因素和/或认证因素的数量。
图7根据一个方面,示出了用于执行动态和自适应观测的示例性方法700。在方框702中,设备处理器可以通过对可能对于该移动设备的性能下降具有贡献的很大数量的因素/行为的一个子集进行监测/观测,来执行粗观测。在方框703中,设备处理器可以基于该粗观测量来生成用于描绘粗观测量和/或移动设备行为的特性的行为向量。在方框704中,设备处理器可以识别与这些粗观测量相关联的可能潜在地对于该移动设备的性能下降具有贡献的子系统、进程、和/或应用。例如,这可以通过将从多个源接收的信息与从移动设备的传感器接收的上下文信息进行比较来实现。在方框706中,设备处理器可以基于粗观测量来执行行为分析操作。
在判断框708,设备处理器可以判断是否可以基于该行为分析的结果来识别和校正可疑行为或者潜在问题。当设备处理器确定可以基于该行为分析的结果来识别和校正可疑行为或者潜在问题时(即,判断框708=“是”),则在方框718中,处理器可以发起用于对该行为进行校正的处理,并返回到方框702来执行另外的粗观测。
当设备处理器确定不能基于该行为分析的结果来识别和/或校正可疑行为或者潜在问题时(即,判断框708=“否”),则在判断框709中,设备处理器可以判断存在问题的可能性。在一个方面,设备处理器可以通过计算该移动设备的遭遇到潜在问题和/或参与可疑行为的概率,并判断所计算的概率是否大于预定的门限,来确定问题是有可能性的。当设备处理器确定所计算的概率不大于预定的门限和/或可疑行为或者潜在问题的存在没有可能性和/或不能检测到这些情形时(即,判断框709=“否”),则处理器可以返回到方框702以执行另外的粗观测。
当设备处理器确定存在可疑行为或者潜在问题存在的可能性和/或可检测到这些情形时(即,判断框709=“是”),则在方框710中,设备处理器可以对于所识别的子系统、进程、或者应用执行更深入的记录/观测或者最终的记录。在方框712中,设备处理器可以对于所识别的子系统、进程、或者应用执行更深入和更详细的观测。在方框714中,设备处理器可以基于更深入和更详细的观测来执行进一步和/或更深入的行为分析。在判断框708中,设备处理器可以再次判断是否能够基于更深入行为分析的结果,来识别和校正可疑行为或者潜在问题。当设备处理器确定基于该更深入的行为分析的结果,不能识别和校正这些可疑行为或者潜在问题时(即,判断框708=“否”),则处理器可以重复方框710到714中的操作,直到细节水平足够精细以便能够识别该问题为止,或者直到确定不能利用另外的细节来识别该问题或者不存在问题为止。
当设备处理器确定基于该更深入的行为分析的结果,能够识别和校正这些可疑行为或者潜在问题时(即,判断框708=“是”),则在方框718中,设备处理器可以执行操作以校正该问题/行为,处理器可以返回到方框702以执行另外的操作。
在一个方面,作为方法700的方框702到718的一部分,设备处理器可以执行该系统的行为的实时行为分析,以根据有限的粗观测量来识别可疑行为,动态地确定要进行更详细地观测的行为,以及动态地确定这些观测所需要的精密的细节水平。这使设备处理器能够高效地识别和防止发生问题,而不需要使用该设备上的大量的处理器、存储器、或者电池资源。
各个方面通过使用行为分析和/或机器学习技术(与基于权限、策略或规则的方法相比)来监测和分析选定的一组软件应用的集体行为,来提升现有解决方案。行为分析或机器学习技术的使用是重要的,这是由于现代计算设备是高度可配置和复杂系统,对于判断软件应用程序是否是串通的来说最重要的因素,在各个设备中可能是不同的。此外,设备特征/因素的不同组合可能需要每一个设备进行分析,以便该设备判断软件应用程序是否是串通的。但是,通常只使用从执行该活动的特定计算设备所获得、并在进行该活动的时间所获得的信息,来确定需要进行监测和分析的特征/因素的精准组合。由于这些和其它原因,现有的解决方案并不能够在不消耗计算设备的大量的处理资源、存储器或功率资源的情况下,足够实时地对计算设备中的多个软件应用的集体行为或者它们之间的关系进行监测、检测和描绘特性(当该行为在进行时)。
各个方面(其包括上面参照图2到7所讨论的方面)可以在各种各样的计算设备上实现,在图8中利用智能电话的形式来示出了其一个例子。智能电话800可以包括耦合到内部存储器804、显示器812,以及耦合到扬声器的处理器802。另外,智能电话800还可以包括用于发送和接收电磁辐射的天线,后者可以连接到无线数据链路和/或耦合到处理器802的蜂窝电话收发机808。通常,智能电话800还包括用于接收用户输入的菜单选择按键或者摇杆开关820。
典型的智能电话800还包括声音编码/解码(CODEC)电路806,后者对于将从麦克风接收的声音数字化成适合于无线传输的数据分组,对接收的声音数据分组进行解码,以生成将提供给扬声器来生成声音的模拟信号。此外,处理器802、无线收发机808和CODEC 806中的一个或多个可以包括数字信号处理器(DSP)电路(没有单独地示出)。
处理器802可以是任何可编程微处理器、微计算机或多处理器芯片或芯片集,它们可以由软件指令(应用)进行配置以执行各种各样的功能,其包括下面所描述的各个方面的功能。在一些移动设备中,可以提供多个处理器802,例如,一个处理器专用于无线通信功能,一个处理器专用于运行其它应用。通常,在访问软件应用并将它们装载到处理器802之前,可以将这些软件应用存储在内部存储器804中。处理器802可以包括足够用于存储这些应用软件指令的内部存储器。在各个方面,处理器812可以是设备处理器、处理内核或者SOC(例如,图1中所示出的示例性SOC 100)。在一个方面,智能电话800可以包括SOC,处理器802可以是SOC中包括的处理器里的一个(例如,图1中所示出的处理器101、104、106、108、110中的一个)。
如本申请所使用的,术语“性能下降”指代计算设备的各种各样的非期望操作和特性,例如,更长的处理时间、减慢的实时响应速度、更长的电池寿命、私人数据的丢失、恶意经济活动(例如,发送未授权的高级SMS消息)、拒绝服务(DoS)、编写或设计不当的软件应用程序、恶意软件、恶意程序、病毒、碎片化存储器、与征用移动设备或者使用电话来进行窥探或僵尸活动有关的操作等等。此外,由于这些原因中的任何一个而使性能下降的行为、活动和状况,本文称之为“非良性的”或者“不良的”。
如本申请中所使用的,术语“组件”、“模块”等等旨在包括与计算机相关的实体,例如但不限于:配置为执行特定的操作或功能的硬件、固件、硬件和软件的结合、软件或运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例而言,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于处理和/或执行线程中,组件可以位于一个处理器或内核中和/或分布在两个或更多处理器或内核之间。此外,这些组件能够从其上存储有各种指令和/或数据结构的各种非临时性计算机可读介质中执行。组件可以通过本地和/或远程处理、函数或过程调用、电信号、数据分组、存储器读/写、以及其它已知网络、计算机、处理器和/或与处理有关的通信方法的方式进行通信。
用于在可编程处理器上运行以执行本文的各个方面的操作的计算机程序代码或“程序代码”,可以利用诸如C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、结构化查询语言(例如,Transact-SQL)、Perl之类的高级编程语言来编写,或者利用各种其它编程语言来编写。如本申请所使用的计算机可读存储介质上所存储的程序代码或程序,可以指代其格式是处理器可理解的机器语言代码(例如,目标代码)。
将很多移动计算设备操作系统内核组织到用户空间(非特权代码运行的空间)和内核空间(特权代码运行的空间)。这种分隔在和其它通用公共许可证(GPL)环境中具有特别的重要性,其中在这些环境中,作为内核空间的一部分的代码必须是GPL许可的,而在用户空间中运行的代码可以不是GPL许可的。应当理解的是,这里所讨论的各种软件组件/模块可以实现在内核空间中,也可以实现在用户空间中,除非另外明确指出。
上述的方法描述和处理流程图仅仅是用作为说明性例子,而不是旨在要求或者隐含着必须以所给出的顺序来执行各个方面的步骤。如本领域普通技术人员所应当理解的,可以以任何顺序来执行上述的方面中的步骤顺序。此外,诸如“其后”、“转而”、“接着”等等之类的词语,并不旨在限制这些步骤的顺序;这些词语仅仅只是用于引导读者遍历该方法的描述。此外,任何对权利要求元素的单数引用(例如,使用冠词“一个(a)”、“某个(an)”或者“该(the)”),不应被解释为将该元素限制为单数形式。
结合本文所公开的方面描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面对各种示例性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明的保护范围。
用于执行本文所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件部件或者其任意组合,可以用来实现或执行结合本文所公开的方面描述的用于实现各种示例性的逻辑、逻辑框、模块和电路的硬件。通用处理器可以是多处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和多处理器的组合、若干多处理器、一个或多个多处理器与DSP内核的结合,或者任何其它此种结构。替代地,一些步骤或方法可以由特定于给定的功能的电路来执行。
在一个或多个示例性方面,本文所述功能可以用硬件、软件、固件或它们任意组合的方式来实现。当在软件中实现时,可以将这些功能存储成非临时性计算机可读存储介质或者非临时性处理器可读存储介质上的一个或多个处理器可执行指令或代码。本文所公开的方法或算法的步骤,可以体现在处理器可执行软件模块中,后者可以位于非临时性计算机可读存储介质或处理器可读存储介质上。非临时性计算机可读或处理器可读存储介质可以是计算机或处理器能够存取的任何存储介质。举例而言,但非做出限制,这种非临时性计算机可读介质或者处理器可读介质可以包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。如本申请所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性计算机可读介质和处理器可读介质的保护范围之内。另外,一种方法或算法的操作可以作为一个代码和/或指令集或者其任意组合,位于非临时性处理器可读介质和/或计算机可读介质上,其中该非临时性处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。
为使本领域任何普通技术人员能够实现或者使用本发明,上面围绕所公开的方面进行了描述。对于本领域普通技术人员来说,对这些方面的各种修改是显而易见的,并且,本文定义的总体原理也可以在不脱离本发明的精神或保护范围的基础上应用于其它方面。因此,本发明并不限于本申请所示出的方面,而是与所附权利要求书和本文公开的原理和新颖性特征的最广范围相一致。

Claims (24)

1.一种在计算设备中执行多因素用户认证的方法,包括:
经由所述计算设备的处理器,对在所述计算设备上操作的软件应用的活动进行监测以收集行为信息;
使用所述收集的行为信息来生成用于描绘所监测的所述软件应用的活动的特性的行为向量;
将所述生成的行为向量应用于分类器模型以生成分析结果;
使用所述生成的分析结果来计算至少一个值,所述计算的至少一个值包括交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个;
使用所述计算的至少一个值,来确定在对所述计算设备的用户进行认证时进行评估的认证因素的数量;以及
通过对所确定数量的认证因素进行评估来对所述用户进行认证。
2.根据权利要求1所述的方法,还包括:
对所述计算设备的硬件和软件系统进行监测来确定所述计算设备对于未经授权使用的当前脆弱性。
3.根据权利要求1所述的方法,其中,将所述行为向量应用于所述分类器模型以生成所述分析结果包括:将所述行为向量应用于关键活动模型以生成所述分析结果。
4.根据权利要求3所述的方法,其中,将所述行为向量应用于关键活动模型以生成所述分析结果包括:
向所述关键活动模型应用多维度向量数据结构以生成所述分析结果。
5.根据权利要求1所述的方法,还包括:
对所述计算设备的硬件和软件系统进行监测,以随时间学习所述用户与所述计算设备进行交互的不同方式,其中,通过对所确定数量的认证因素进行评估来对所述用户进行认证包括:判断所述软件应用的行为是否和所述用户与所述计算设备进行交互的所述不同方式相一致。
6.根据权利要求1所述的方法,其中,使用所述计算的至少一个值来确定在对所述计算设备的用户进行认证时进行评估的认证因素的所述数量还包括:
执行被动认证操作来对所述用户进行认证,而不需要表达用户交互;
确定被动认证置信度值,其中所述被动认证置信度值以所述被动认证操作的准确性来标识所述计算设备的置信度水平;
确定关键性水平值,其中所述关键性水平值标识在所述计算设备上操作的所述软件应用的重要性或者关键性;
将所述被动认证置信度值与所述关键性水平值进行比较,以生成用于标识所述被动认证的置信度水平是否超过关键性水平的比较结果;以及
使用所述生成的比较结果,确定在对所述计算设备的所述用户进行认证时进行评估的认证因素的所述数量。
7.一种计算设备,包括:
存储器;
耦合到所述存储器的处理器,其中所述处理器配置有处理器可执行指令以执行包括以下各项的操作:
对在所述计算设备上操作的软件应用的活动进行监测以收集行为信息;
使用所述收集的行为信息来生成用于描绘所监测的所述软件应用的活动的特性的行为向量;
将所述生成的行为向量应用于分类器模型以生成分析结果;
使用所述生成的分析结果来计算至少一个值,所述计算的至少一个值包括交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个;
使用所述计算的至少一个值,来确定在对所述计算设备的用户进行认证时进行评估的认证因素的数量;以及
通过对所确定数量的认证因素进行评估来对所述用户进行认证。
8.根据权利要求7所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行还包括以下的操作:
对硬件和软件系统进行监测来确定所述计算设备对于未经授权使用的当前脆弱性。
9.根据权利要求7所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得将所述行为向量应用于所述分类器模型以生成所述分析结果包括:
将所述行为向量应用于关键活动的模型以生成所述分析结果。
10.根据权利要求9所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得将所述行为向量应用于所述关键活动的模型以生成所述分析结果包括:
向所述关键活动的模型应用多维度向量数据结构以生成所述分析结果。
11.根据权利要求7所述的计算设备,其中:
所述处理器配置有处理器可执行指令以执行还包括以下的操作:对所述计算设备的硬件和软件系统进行监测,以随时间学习所述用户与所述计算设备进行交互的不同方式;以及
所述处理器配置有处理器可执行指令以执行操作,使得通过对所确定数量的认证因素进行评估来对所述用户进行认证包括:判断所述软件应用的行为是否和所述用户与所述计算设备进行交互的所述不同方式相一致。
12.根据权利要求7所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得使用所述计算的至少一个值来确定在对所述计算设备的用户进行认证时进行评估的认证因素的所述数量还包括:
执行被动认证操作来对所述用户进行认证,而不需要表达用户交互;
确定被动认证置信度值,其中所述被动认证置信度值以所述被动认证操作的准确性来标识所述计算设备的置信度水平;
确定关键性水平值,其中所述关键性水平值标识在所述计算设备上操作的软件应用的重要性或者关键性;
将所述被动认证置信度值与所述关键性水平值进行比较,以生成用于标识所述被动认证的置信度水平是否超过关键性水平的比较结果;以及
使用所述生成的比较结果,确定在对所述计算设备的所述用户进行认证时进行评估的认证因素的所述数量。
13.一种其上存储有处理器可执行软件指令的非临时性计算机可读存储介质,其中所述处理器可执行软件指令被配置为使计算设备的处理器执行包括以下各项的操作:
对在所述计算设备上操作的软件应用的活动进行监测以收集行为信息;
使用所述收集的行为信息来生成用于描绘所监测的所述软件应用的活动的特性的行为向量;
将所述生成的行为向量应用于分类器模型以生成分析结果;
使用所述生成的分析结果来计算至少一个值,所述计算的至少一个值包括交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个;
使用所述计算的至少一个值,来确定在对所述计算设备的用户进行认证时进行评估的认证因素的数量;以及
通过对所确定数量的认证因素进行评估来对所述用户进行认证。
14.根据权利要求13所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行还包括以下的操作:
对硬件和软件系统进行监测来确定所述计算设备对于未经授权使用的当前脆弱性。
15.根据权利要求13所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得将所述行为向量应用于所述分类器模型以生成所述分析结果包括:将所述行为向量应用于关键活动的模型以生成所述分析结果。
16.根据权利要求15所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得将所述行为向量应用于所述关键活动的模型以生成所述分析结果包括:向所述关键活动的模型应用多维度向量数据结构以生成所述分析结果。
17.根据权利要求13所述的非临时性计算机可读存储介质,其中:
所存储的处理器可执行软件指令被配置为使处理器执行还包括以下的操作:对所述计算设备的硬件和软件系统进行监测,以随时间学习所述用户与所述计算设备进行交互的不同方式;以及
所存储的处理器可执行软件指令被配置为使处理器执行操作,使得通过对所确定数量的认证因素进行评估来对所述用户进行认证包括:判断所述软件应用的行为是否和所述用户与所述计算设备进行交互的所述不同方式相一致。
18.根据权利要求13所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得使用所述计算的至少一个值来确定在对所述计算设备的用户进行认证时进行评估的认证因素的所述数量还包括:
执行被动认证操作来对所述用户进行认证,而不需要表达用户交互;
确定被动认证置信度值,其中所述被动认证置信度值以所述被动认证操作的准确性来标识所述计算设备的置信度水平;
确定关键性水平值,其中所述关键性水平值标识在所述计算设备上操作的软件应用的重要性或者关键性;
将所述被动认证置信度值与所述关键性水平值进行比较,以生成用于标识所述被动认证的置信度水平是否超过关键性水平的比较结果;以及
使用所述生成的比较结果,确定在对所述计算设备的所述用户进行认证时进行评估的认证因素的所述数量。
19.一种计算设备,包括:
用于对在所述计算设备上操作的软件应用的活动进行监测以收集行为信息的单元;
用于使用所述收集的行为信息来生成用于描绘所监测的所述软件应用的活动的特性的行为向量的单元;
用于将所述生成的行为向量应用于分类器模型以生成分析结果的单元;
用于使用所述生成的分析结果来计算至少一个值的单元,所述计算的至少一个值包括交易类型关键性值、用户置信度值、软件完整性置信度值、以及历史行为值中的一个或多个;
用于使用所述计算的至少一个值,来确定在对所述计算设备的用户进行认证时进行评估的认证因素的数量的单元;以及
用于通过对所确定数量的认证因素进行评估来对所述用户进行认证的单元。
20.根据权利要求19所述的计算设备,还包括:
用于对硬件和软件系统进行监测来确定所述计算设备对于未经授权使用的当前脆弱性的单元。
21.根据权利要求19所述的计算设备,其中,用于将所述行为向量应用于所述分类器模型以生成所述分析结果的单元包括:用于将所述行为向量应用于关键活动的模型以生成所述分析结果的单元。
22.根据权利要求21所述的计算设备,其中,用于将所述行为向量应用于所述关键活动的模型以生成所述分析结果的单元包括:用于向所述关键活动的模型应用多维度向量数据结构以生成所述分析结果的单元。
23.根据权利要求19所述的计算设备,还包括:
用于对所述计算设备的硬件和软件系统进行监测,以随时间学习所述用户与所述计算设备进行交互的不同方式的单元,其中,用于通过对所确定数量的认证因素进行评估来对所述用户进行认证的单元包括:用于判断所述软件应用的行为是否和所述用户与所述计算设备进行交互的所述不同方式相一致的单元。
24.根据权利要求19所述的计算设备,其中,用于使用所述计算的至少一个值来确定在对所述计算设备的用户进行认证时进行评估的认证因素的所述数量的单元还包括:
用于执行被动认证操作来对所述用户进行认证,而不需要表达用户交互的单元;
用于确定被动认证置信度值的单元,其中所述被动认证置信度值以所述被动认证操作的准确性来标识所述计算设备的置信度水平;
用于确定关键性水平值的单元,其中所述关键性水平值标识在所述计算设备上操作的软件应用的重要性或者关键性;
用于将所述被动认证置信度值与所述关键性水平值进行比较,以生成用于标识所述被动认证的置信度水平是否超过关键性水平的比较结果的单元;以及
用于使用所述生成的比较结果,确定在对所述计算设备的所述用户进行认证时进行评估的认证因素的所述数量的单元。
CN201580055507.XA 2014-10-15 2015-08-20 使用针对高效连续认证的行为分析的方法和系统 Active CN107077547B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/514,662 2014-10-15
US14/514,662 US9684775B2 (en) 2014-10-15 2014-10-15 Methods and systems for using behavioral analysis towards efficient continuous authentication
PCT/US2015/046118 WO2016060738A1 (en) 2014-10-15 2015-08-20 Methods and systems for using behavioral analysis towards efficient continuous authentication

Publications (2)

Publication Number Publication Date
CN107077547A CN107077547A (zh) 2017-08-18
CN107077547B true CN107077547B (zh) 2019-08-27

Family

ID=54015249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580055507.XA Active CN107077547B (zh) 2014-10-15 2015-08-20 使用针对高效连续认证的行为分析的方法和系统

Country Status (5)

Country Link
US (1) US9684775B2 (zh)
EP (1) EP3207680A1 (zh)
JP (1) JP6239808B1 (zh)
CN (1) CN107077547B (zh)
WO (1) WO2016060738A1 (zh)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529777B2 (en) 2011-10-28 2016-12-27 Electronic Arts Inc. User behavior analyzer
US9906954B2 (en) 2014-10-20 2018-02-27 Payfone, Inc. Identity authentication
US10388270B2 (en) 2014-11-05 2019-08-20 At&T Intellectual Property I, L.P. System and method for text normalization using atomic tokens
US9628477B2 (en) * 2014-12-23 2017-04-18 Intel Corporation User profile selection using contextual authentication
GB201423362D0 (en) * 2014-12-30 2015-02-11 Mastercard International Inc Trusted execution enviroment (TEE) based payment application
US9680646B2 (en) * 2015-02-05 2017-06-13 Apple Inc. Relay service for communication between controllers and accessories
US10108791B1 (en) * 2015-03-19 2018-10-23 Amazon Technologies, Inc. Authentication and fraud detection based on user behavior
JP6515621B2 (ja) * 2015-03-25 2019-05-22 富士通株式会社 メール処理サーバ、メール処理方法、およびメール処理プログラム
US10427048B1 (en) 2015-03-27 2019-10-01 Electronic Arts Inc. Secure anti-cheat system
US10057227B1 (en) * 2015-03-27 2018-08-21 Amazon Technologies, Inc. Determination of authentication mechanism
US11179639B1 (en) 2015-10-30 2021-11-23 Electronic Arts Inc. Fraud detection system
US10021120B1 (en) * 2015-11-09 2018-07-10 8X8, Inc. Delayed replication for protection of replicated databases
US20170227995A1 (en) * 2016-02-09 2017-08-10 The Trustees Of Princeton University Method and system for implicit authentication
US10459827B1 (en) 2016-03-22 2019-10-29 Electronic Arts Inc. Machine-learning based anomaly detection for heterogenous data sources
US9992018B1 (en) * 2016-03-24 2018-06-05 Electronic Arts Inc. Generating cryptographic challenges to communication requests
WO2017173145A1 (en) * 2016-03-30 2017-10-05 The Privacy Factor, LLC Systems and methods for analyzing, assessing and controlling trust and authentication in applications and devices
US20180097816A1 (en) * 2016-04-12 2018-04-05 Sensoriant, Inc Access control mechanisms based on computational behavior
US10867025B2 (en) * 2016-05-19 2020-12-15 UnifyID, Inc. Opportunistically collecting sensor data from a mobile device to facilitate user identification
US11368454B2 (en) * 2016-05-19 2022-06-21 Prove Identity, Inc. Implicit authentication for unattended devices that need to identify and authenticate users
US11176231B2 (en) * 2016-05-19 2021-11-16 Payfone, Inc. Identifying and authenticating users based on passive factors determined from sensor data
US9801066B1 (en) 2016-06-02 2017-10-24 Duo Security, Inc. Method for automatic possession-factor authentication
CN106096923A (zh) * 2016-06-27 2016-11-09 联想(北京)有限公司 一种安全支付防护方法及电子设备
CN109565383B (zh) * 2016-08-03 2022-03-01 联想创新有限公司(香港) 装置到装置传输
US10460320B1 (en) 2016-08-10 2019-10-29 Electronic Arts Inc. Fraud detection in heterogeneous information networks
US11030618B1 (en) 2016-09-30 2021-06-08 Winkk, Inc. Authentication and personal data sharing for partner services using out-of-band optical mark recognition
US11256791B2 (en) * 2016-10-03 2022-02-22 Bioconnect Inc. Biometric identification platform
CN107045604A (zh) * 2017-02-22 2017-08-15 北京小米移动软件有限公司 信息处理方法及装置
US11023709B2 (en) * 2017-04-28 2021-06-01 ID R&D, Inc. System, method and apparatus for multi-modal biometric authentication and liveness detection
US10447718B2 (en) 2017-05-15 2019-10-15 Forcepoint Llc User profile definition and management
US10999296B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Generating adaptive trust profiles using information derived from similarly situated organizations
US9882918B1 (en) 2017-05-15 2018-01-30 Forcepoint, LLC User behavior profile in a blockchain
US10943019B2 (en) 2017-05-15 2021-03-09 Forcepoint, LLC Adaptive trust profile endpoint
US10862927B2 (en) 2017-05-15 2020-12-08 Forcepoint, LLC Dividing events into sessions during adaptive trust profile operations
US10129269B1 (en) 2017-05-15 2018-11-13 Forcepoint, LLC Managing blockchain access to user profile information
US10917423B2 (en) 2017-05-15 2021-02-09 Forcepoint, LLC Intelligently differentiating between different types of states and attributes when using an adaptive trust profile
US10999297B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Using expected behavior of an entity when prepopulating an adaptive trust profile
DE102017111933A1 (de) 2017-05-31 2018-12-06 Krohne Messtechnik Gmbh Verfahren zur sicheren Kommunikation mit einem Feldmessgerät der Prozesstechnik und entsprechendes Feldmessgerät
US10397209B2 (en) * 2017-07-06 2019-08-27 International Business Machines Corporation Risk-aware multiple factor authentication based on pattern recognition and calendar
US10846387B2 (en) * 2017-07-12 2020-11-24 At&T Intellectual Property I, L.P. Managing access based on activities of entities
CN107450708B (zh) * 2017-07-28 2020-03-24 Oppo广东移动通信有限公司 解锁控制方法及相关产品
US10819698B2 (en) * 2017-09-07 2020-10-27 International Business Machines Corporation Dynamic password generation
RU2673010C1 (ru) * 2017-09-13 2018-11-21 Дмитрий Владимирович Истомин Способ мониторинга поведения пользователя при взаимодействии с контентом и система для его осуществления
CN107818251B (zh) * 2017-09-27 2021-03-23 维沃移动通信有限公司 一种人脸识别方法及移动终端
CN107819945B (zh) * 2017-10-30 2020-11-03 同济大学 综合多种因素的手持设备浏览行为认证方法及系统
US11574204B2 (en) * 2017-12-06 2023-02-07 Accenture Global Solutions Limited Integrity evaluation of unstructured processes using artificial intelligence (AI) techniques
US10404626B1 (en) 2018-03-23 2019-09-03 Juniper Networks, Inc. Method for resetting a packet processing component to an operational state
US10853467B2 (en) * 2018-03-28 2020-12-01 Bank Of America Corporation Data access control using multi-device multifactor authentication
US11238366B2 (en) 2018-05-10 2022-02-01 International Business Machines Corporation Adaptive object modeling and differential data ingestion for machine learning
US10573273B2 (en) * 2018-06-13 2020-02-25 Mapsted Corp. Method and system for device placement based optimization techniques
KR102291557B1 (ko) * 2018-07-03 2021-08-19 네이버 주식회사 사용자 행동 분석 장치 및 사용자 행동 분석 방법
WO2020018454A1 (en) 2018-07-16 2020-01-23 Islamov Rustam Cryptography operations for secure post-quantum communications
US11017100B2 (en) * 2018-08-03 2021-05-25 Verizon Patent And Licensing Inc. Identity fraud risk engine platform
CN112508568A (zh) * 2018-08-15 2021-03-16 创新先进技术有限公司 核身产品推送及核身方法和系统
CN109063920B (zh) * 2018-08-20 2022-05-27 创新先进技术有限公司 一种交易风险识别方法、装置、及计算机设备
US10931659B2 (en) * 2018-08-24 2021-02-23 Bank Of America Corporation Federated authentication for information sharing artificial intelligence systems
US11095642B2 (en) * 2018-11-07 2021-08-17 Cylance Inc. Verifying user identity through human / computer interaction
EP3657364A1 (en) * 2018-11-20 2020-05-27 Nagravision SA Authorising operations for devices in a network
KR20200078987A (ko) * 2018-12-24 2020-07-02 라인플러스 주식회사 사용자 신뢰도 구축 방법 및 시스템
US11561983B2 (en) 2019-03-07 2023-01-24 Throughputer, Inc. Online trained object property estimator
WO2020178208A1 (en) * 2019-03-07 2020-09-10 British Telecommunications Public Limited Company Permissive access control
EP3935525A1 (en) * 2019-03-07 2022-01-12 British Telecommunications public limited company Access control
JP7303654B2 (ja) * 2019-03-29 2023-07-05 グローリー株式会社 認証システム及び認証方法
US11604867B2 (en) * 2019-04-01 2023-03-14 Throughputer, Inc. Graphic pattern-based authentication with adjustable challenge level
US10997295B2 (en) 2019-04-26 2021-05-04 Forcepoint, LLC Adaptive trust profile reference architecture
WO2020225819A1 (en) * 2019-05-07 2020-11-12 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Methods and devices for detecting improper clinical programming of implantable medical devices
US11599624B2 (en) 2019-06-05 2023-03-07 Throughputer, Inc. Graphic pattern-based passcode generation and authentication
RU2746201C2 (ru) * 2019-06-28 2021-04-08 Акционерное общество "Лаборатория Касперского" Система и способ невербальной активации сервиса на мобильном устройстве
US11820529B2 (en) 2019-10-29 2023-11-21 Ga Telesis, Llc System and method for monitoring and certifying aircrafts and components of aircrafts
CN110719169A (zh) * 2019-11-07 2020-01-21 北京小米移动软件有限公司 传输路由器安全信息的方法及装置
US11574045B2 (en) 2019-12-10 2023-02-07 Winkk, Inc. Automated ID proofing using a random multitude of real-time behavioral biometric samplings
US20210297455A1 (en) * 2019-12-10 2021-09-23 Winkk, Inc Bus for aggregated trust framework
US11936787B2 (en) 2019-12-10 2024-03-19 Winkk, Inc. User identification proofing using a combination of user responses to system turing tests using biometric methods
US11328042B2 (en) 2019-12-10 2022-05-10 Winkk, Inc. Automated transparent login without saved credentials or passwords
US20210297448A1 (en) * 2019-12-10 2021-09-23 Winkk, Inc Aggregated trust framework
US11553337B2 (en) 2019-12-10 2023-01-10 Winkk, Inc. Method and apparatus for encryption key exchange with enhanced security through opti-encryption channel
US11928193B2 (en) 2019-12-10 2024-03-12 Winkk, Inc. Multi-factor authentication using behavior and machine learning
US11652815B2 (en) 2019-12-10 2023-05-16 Winkk, Inc. Security platform architecture
US11657140B2 (en) * 2019-12-10 2023-05-23 Winkk, Inc. Device handoff identification proofing using behavioral analytics
US20210203687A1 (en) * 2019-12-18 2021-07-01 Cyberark Software Ltd. Dynamically generating multi-factor entity risk assessments within virtualized environments
US11567847B2 (en) * 2020-02-04 2023-01-31 International Business Machines Corporation Identifying anomolous device usage based on usage patterns
WO2021180443A1 (en) * 2020-03-13 2021-09-16 British Telecommunications Public Limited Company Computer-implemented continuous control method, system and computer program
US11768945B2 (en) * 2020-04-07 2023-09-26 Allstate Insurance Company Machine learning system for determining a security vulnerability in computer software
CN113742184B (zh) * 2020-06-05 2024-03-26 国家计算机网络与信息安全管理中心 构建用户历史行为表示向量、用户行为异常检测方法及装置
US11956224B2 (en) * 2020-06-11 2024-04-09 Bank Of America Corporation Using machine-learning models to authenticate users and protect enterprise-managed information and resources
US11683325B2 (en) * 2020-08-11 2023-06-20 Capital One Services, Llc Systems and methods for verified messaging via short-range transceiver
US11734402B2 (en) * 2020-10-29 2023-08-22 Blackberry Limited System and method for user authentication based on passive biometrics
US11488178B2 (en) * 2020-11-01 2022-11-01 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for verifying digital payments
US20220210151A1 (en) * 2020-12-30 2022-06-30 Mastercard Technologies Canada ULC Systems and methods for passive multi-factor authentication of device users
WO2022180157A1 (en) * 2021-02-26 2022-09-01 Policystore Gmbh Method and system for influencing user interactions
US20220321602A1 (en) * 2021-03-30 2022-10-06 Cisco Technology, Inc. Frictionless supplementary multi-factor authentication for sensitive transactions within an application session
US11714893B2 (en) * 2021-04-06 2023-08-01 EMC IP Holding Company LLC Escalated authentication system to perform an integrity-check based on behavior patterns
CN117597684A (zh) * 2021-06-04 2024-02-23 美商新思科技有限公司 在没有项目细节的先验知识的情况下在每个项目的基础上的故障安全软件访问许可控制
US11843943B2 (en) 2021-06-04 2023-12-12 Winkk, Inc. Dynamic key exchange for moving target
US11921842B2 (en) * 2021-06-14 2024-03-05 Kyndryl, Inc. Multifactor authorization on accessing hardware resources
US12001528B2 (en) * 2021-06-18 2024-06-04 Lenovo (Singapore) Pte. Ltd. Authentication policy for editing inputs to user-created content
US20230008868A1 (en) * 2021-07-08 2023-01-12 Nippon Telegraph And Telephone Corporation User authentication device, user authentication method, and user authentication computer program
US11824999B2 (en) 2021-08-13 2023-11-21 Winkk, Inc. Chosen-plaintext secure cryptosystem and authentication
CN115049395B (zh) * 2022-08-15 2022-11-11 山东双仁信息技术有限公司 一种移动支付安全检测方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9578022B2 (en) * 2001-08-21 2017-02-21 Bookit Oy Ajanvarauspalvelu Multi-factor authentication techniques
JP2005208993A (ja) * 2004-01-23 2005-08-04 Hitachi Ltd 利用者認証システム
WO2005107137A2 (en) * 2004-04-23 2005-11-10 Passmark Security, Inc. Method and apparatus for authenticating users using two or more factors
US8079079B2 (en) * 2005-06-29 2011-12-13 Microsoft Corporation Multimodal authentication
JP5096117B2 (ja) * 2007-11-29 2012-12-12 京セラ株式会社 電子機器、電子機器の制御方法、及びプログラム
JP2010067184A (ja) * 2008-09-12 2010-03-25 Toshiba Corp 個別二段階認証方法およびシステム
JP2010170314A (ja) * 2009-01-22 2010-08-05 Nec Corp 携帯情報機器、ユーザー認証システム、およびユーザー認証方法
US8683547B2 (en) * 2009-10-28 2014-03-25 Liveops, Inc. System and method for implementing adaptive security zones
US9672335B2 (en) * 2009-12-17 2017-06-06 Laird H Shuart Cognitive-based logon process for computing device
US9372979B2 (en) * 2011-01-07 2016-06-21 Geoff Klein Methods, devices, and systems for unobtrusive mobile device user recognition
US8800056B2 (en) * 2011-08-12 2014-08-05 Palo Alto Research Center Incorporated Guided implicit authentication
US8832798B2 (en) 2011-09-08 2014-09-09 International Business Machines Corporation Transaction authentication management including authentication confidence testing
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US8850589B2 (en) * 2012-09-25 2014-09-30 International Business Machines Corporation Training classifiers for program analysis
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
PH12015000292A1 (en) * 2014-09-02 2017-03-13 Securemetric Technology Sdn Bhd Hybrid adaptive authentication scoring system
US10114935B2 (en) * 2014-12-23 2018-10-30 Intel Corporation Technologies for login pattern based multi-factor authentication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《Context-aware multi-factor authentication》;Luís Henrique Fernandes Moura Miranda;《Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia Departamento de Informática》;20100924;第7,23,35-45页 *

Also Published As

Publication number Publication date
CN107077547A (zh) 2017-08-18
WO2016060738A1 (en) 2016-04-21
JP2017538186A (ja) 2017-12-21
JP6239808B1 (ja) 2017-11-29
US20160110528A1 (en) 2016-04-21
US9684775B2 (en) 2017-06-20
EP3207680A1 (en) 2017-08-23

Similar Documents

Publication Publication Date Title
CN107077547B (zh) 使用针对高效连续认证的行为分析的方法和系统
CN106133642B (zh) 在移动设备中通过执行行为分析操作推断应用状态的方法和系统
CN107567628B (zh) 用于使用针对增强型决策树桩的因果分析来识别和响应非良性行为的方法和系统
CN105830080B (zh) 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统
CN106415580B (zh) 阻止侧信道攻击的方法和系统
CN107580699A (zh) 用于特定于行为的致动以实时白名单化的方法和系统
CN106716382B (zh) 用于移动装置行为的聚集多应用程序行为分析的方法和系统
CN109478218A (zh) 用于分类执行会话的装置和方法
CN104541293B (zh) 用于客户端‑云行为分析器的架构
JP6239807B1 (ja) ユーザのペルソナ情報に基づくモバイルデバイス挙動の挙動分析のための方法およびシステム
CN104885099B (zh) 使用推升式决策树桩和联合特征选择及剔选算法来对移动设备行为进行高效分类的方法和系统
KR102474048B1 (ko) 개선된 멀웨어 보호를 위해 모바일 디바이스와의 페이크 사용자 상호작용들을 검출하기 위한 방법들 및 시스템들
CN105531712B (zh) 移动设备上的基于数据流的行为分析
CN107408178A (zh) 用于通过云与客户端行为的差异来识别恶意软件的方法及系统
CN107851154B (zh) 存储器层次结构监测系统和方法
CN107209825A (zh) 经由存储器监测的数据流跟踪
CN107924492A (zh) 使用归一化置信值对移动设备行为进行分类
Zhu et al. Espialcog: General, efficient and robust mobile user implicit authentication in noisy environment
Goyal et al. A behaviour‐based authentication to internet of things using machine learning
Vhaduri et al. Implicit IoT authentication using on-phone ANN models and breathing data
Alzubaidi et al. A data reduction scheme for active authentication of legitimate smartphone owner using informative apps ranking
Teh Using users' touch dynamics biometrics to enhance authentication on mobile devices
Michel et al. Categorization of Discoverable Cyber Attributes for Identity Protection, Privacy, and Analytics
Eremin et al. Touch and move: Incoming call user authentication
NaliniPriya et al. Phishing Attack Detection Using Machine Learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant