CN116502197A - 计算机实现的方法、设备和计算机程序产品 - Google Patents

计算机实现的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN116502197A
CN116502197A CN202210061803.2A CN202210061803A CN116502197A CN 116502197 A CN116502197 A CN 116502197A CN 202210061803 A CN202210061803 A CN 202210061803A CN 116502197 A CN116502197 A CN 116502197A
Authority
CN
China
Prior art keywords
anomaly
user
score threshold
threshold value
detection model
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.)
Pending
Application number
CN202210061803.2A
Other languages
English (en)
Inventor
陈强
倪嘉呈
王子嘉
贾真
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.)
Dell Products LP
Original Assignee
Dell Products LP
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 Dell Products LP filed Critical Dell Products LP
Priority to CN202210061803.2A priority Critical patent/CN116502197A/zh
Priority to US17/666,776 priority patent/US11973782B2/en
Publication of CN116502197A publication Critical patent/CN116502197A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • 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/102Entity profiles
    • 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/1416Event detection, e.g. attack signature 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/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • General Factory Administration (AREA)

Abstract

本公开的实施例涉及计算机实现的方法、设备和计算机程序产品。该方法包括:基于在第一时间段内的一组用户行为数据,确定针对第一时间段内的用户行为的一组行为特征。该方法还包括:基于一组行为特征,根据异常检测模型,确定针对用户行为的一组异常分数。异常检测模型基于第二时间段内的用户行为数据而被训练。该方法还包括:基于所确定的一组异常分数与先前确定的异常分数阈值的比较,来更新异常分数阈值。异常分数阈值用于指示用户行为是否异常。该方案通过不断地更新异常分数阈值,来使用经更新的异常分数阈值对用户行为进行异常检测。以此方式,能够适用用户逐渐变化的行为特征,并且能够适应用户的新的行为模式。

Description

计算机实现的方法、设备和计算机程序产品
技术领域
本公开的实施例总体涉及计算机领域,具体涉及计算机实现的方法、设备和计算机程序产品。
背景技术
用户与终端设备(诸如笔记本计算机、移动设备等)交互时,通常会表现出固有的或者相似的行为模式。例如,用户敲击键盘或触摸屏幕时,常常表现出较为固定的行为模式。对用户的行为数据进行分析能够检测异常的用户行为,从而能够有助于诸如用户的身份验证等应用。目前已经提出了一些方案来基于例如由终端设备的传感器所获取的用户行为数据来进行用户行为的异常检测。将会理解,终端设备的存储能力和计算能力都存在限制。此时,如何使用终端设备进行用户行为的异常检测,成为一个研究热点。
发明内容
在本公开的第一方面,提供了一种计算机实现的方法。该方法包括:基于在第一时间段内的一组用户行为数据,确定针对第一时间段内的用户行为的一组行为特征。该方法还包括:基于一组行为特征,根据异常检测模型,确定针对用户行为的一组异常分数。异常检测模型基于第二时间段内的用户行为数据而被训练。该方法还包括:基于所确定的一组异常分数与先前确定的异常分数阈值的比较,来更新异常分数阈值。异常分数阈值用于指示用户行为是否异常。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得电子设备执行动作,该动作包括:基于在第一时间段内的一组用户行为数据,确定针对第一时间段内的用户行为的一组行为特征。该动作还包括:基于一组行为特征,根据异常检测模型,确定针对用户行为的一组异常分数。异常检测模型基于第二时间段内的用户行为数据而被训练。该动作还包括:基于所确定的一组异常分数与先前确定的异常分数阈值的比较,来更新异常分数阈值。异常分数阈值用于指示用户行为是否异常。
在本公开的第三方面中,提供了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行根据本公开的第一方面所描述的方法的任意步骤。
请注意,提供本发明内容是为了以简化的形式来介绍对概念的选择,这些概念在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开内容的关键特征或主要特征,也无意限制本公开内容的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中:
图1图示了本公开的实施例能够在其中实现的示例环境的示意图;
图2图示了根据本公开的一些实施例的用于更新异常分数阈值的方法的流程图;
图3图示了根据本公开的一些实施例的确定用户的行为特征以用于异常检测的示例架构的示意图;
图4图示了根据本公开的一些实施例的异常检测模型的检测结果的示意图;
图5图示了根据本公开的一些实施例的异常分数的若干示例曲线图;
图6图示了根据本公开的一些实施例的异常分数的附加的示例曲线图;
图7图示了根据本公开的一些实施例所确定的异常分数曲线的示例结果的示意图;以及
图8示出了可以用来实现本公开的实施例的设备的示意性框图。
在所有附图中,相同或相似的附图标记表示相同或相似的元素。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应理解,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。而是,提供这些实施例是为了更加透彻和完整地理解本公开。应理解,本公开的附图及实施例仅是示例性的,并非用于限制本公开的保护范围。
本文中使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
如本文中所使用的,术语“模型”可以从训练数据中学习到相应的输入与输出之间的关联,从而在训练完成后可以针对给定的输入,生成对应的输出。模型的生成可以基于机器学习技术。深度学习是一种机器学习算法,通过使用多层处理单元来处理输入和提供相应输出。神经网络模型是基于深度学习的模型的一个示例。在本文中,“模型”也可以被称为“机器学习模型”、“学习模型”、“机器学习网络”或“学习网络”,这些术语在本文中可互换地使用。
如前所述,用户与终端设备(诸如笔记本计算机、移动设备等)交互时,通常会表现出固有的或者相似的行为模式。基于例如由终端设备的传感器所获取的用户行为数据,能够对用户行为进行异常检测。然而,终端设备的存储能力和计算能力都存在限制。一方面,用户活动包括了关于用户行为的大量数据,而终端设备的存储能力和计算能力使其难以处理大量的用户行为数据。因此,希望能够使得存储能力和计算能力有限的终端设备能够有效地对用户行为的数据进行分析。
另一方面,针对不同的应用,用户的行为可能具有不同的模式。例如,当用户敲击键盘写邮件时,与用户敲击键盘玩游戏时,通常会表现出不同的敲击键盘的行为模式。此外,同一用户针对相同应用的行为模式也经常随时间而发生变化。因此,希望能够针对不同的且随时间变化的用户行为模式进行用户行为的异常检测。
在一些传统的用户行为异常检测方案中,通常使用静态行为指纹。即,将用户的行为数据与静态的用户行为指纹进行比较,以确定用户行为是否异常。然而,这种方案不能适应用户具有变化性的不同的行为模式。
目前已经提出了一些重新训练异常检测模型的方案,来适应用户不断变化的行为模式。然而,这种方案较为繁琐并且可能需要大量计算。尽管目前终端设备在计算能力(例如,硬件)和智能算法(例如,软件)方面已经取得了长足的发展,但是这种不断重新训练异常检测模型的方案仍遇到了很多问题。例如,由于硬件限制,通常无法在终端设备中使用较大的模型。此外,异常检测模型通常需要实时运行,这种后台持续运行会较快的消耗电池。此外,更新异常检测模型以适应行为模式变化也非常麻烦。
综上所述,目前缺少用于在终端设备上进行用户行为的异常检测的有效方案。根据本公开的实施例,提供了一种用于用户行为异常检测的方案。该方案根据在一段时间内所确定的用户行为的一组异常分数与先前确定的异常分数阈值的比较,来确定是否更新异常分数阈值。如果确定需要更新异常分数阈值,该方案利用在该段时间内的用户的一组行为特征来更新异常分数阈值。通过不断地触发对异常分数阈值的更新,本方案能够更好地适应用户不断变化的行为模式。此外,本方案也能够对于用户的新的行为模式(例如,用于针对其他应用的行为模式)进行异常分数阈值的确定。
以这样,本方案能够使用较小的模型来根据适应性的异常分数阈值来检测用户的行为异常。进一步地,这种较小的模型能够对终端设备的电池更友好。此外,这种方案可以节约计算资源以及存储资源,提高了终端设备的整体性能。
以下参考图1至图8来说明本公开的基本原理和若干示例实现方式。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制本公开的范围。
图1示出了本公开的实施例能够在其中实现的环境100的示意图。在图1的环境100中,计算设备110被配置为对用户行为数据102进行异常检测,以得到异常检测结果150。计算设备110可以包括异常检测模型120以及比较模块140。异常检测模型120可以是经训练的模型。异常检测模型120被配置为基于用户行为数据102确定针对该用户行为数据102的异常分数112。在一些实施例中,计算设备110还包括特征提取模块(未示出)。计算设备110可以利用特征提取模块来提取出用户行为数据102的行为特征。异常检测模型120可以基于所提取出的行为特征来确定异常分数112。
在一些实施例中,比较模块140可以是比较器。在一些实施例中,比较模块140被配置为基于异常分数阈值130与异常分数112的比较,来确定异常检测结果150。异常分数阈值130可以是预先确定的。异常检测结果150可以指示用户行为是否异常。
在一些实施例中,计算设备110可以被配置为与各种传感器(未示出),诸如加速度计、触敏传感器等可通信地耦合,以获取用户行为数据102。各种传感器可以被包括在计算设备110中,或者可以与计算设备110可分离地设置。应理解,虽然图1中仅示出了用户行为数据102,但这仅仅是示意性的。计算设备110可以接收一组用户行为数据,或者用户行为数据的序列。计算设备110可以利用异常检测模型120针对一组用户行为数据确定一组异常分数,并且利用比较模块140确定一组异常检测结果。
在一些实施例中,计算设备110可以是任何具有计算能力的设备,例如各种终端设备,诸如物联网(IoT,Internet of Things)设备。终端设备可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。
在一些实施例中,异常检测模型120可以是无监督、非参数的学习模型。异常检测模型120的示例包括但不限于:K最近邻(KNN)模型、孤立森林(isolation forest)模型等。应理解,本文所列举的示例模型仅仅是示例性的,而不是限制性的。可以使用其他适当的模型作为异常检测模型120。
以上所描述的异常检测模型120通常较小,因此更加适合于在诸如IoT设备的计算设备110中使用。以这样,能够节省计算设备110的计算资源,从而提高计算设备110的整体性能。
应理解,应理解,虽然图1中仅示出了一个异常检测模型120,但这仅仅是示意性的。计算设备110可以包括任何数目的异常检测模型120。计算设备110可以针对用户的不同类型的行为,使用不同的异常检测模型。此外,计算设备110可以分别训练各个异常检测模型,并且对其分别设置不同的异常分数阈值。例如,针对敲击键盘这一类型的行为,以及针对触摸屏幕这一类型的行为,可以分别设置不同的异常检测模型以及各自相关联的异常分数阈值。又如,针对用户敲击键盘写邮件以及针对用户敲击键盘玩游戏,也可以分别设置不同的异常检测模型以及各自相关联的异常分数阈值。
通过这种方式,计算设备110可以利用不同的异常检测模型来分别针对不同类型的用户行为进行异常检测。以这样,能够更好地适应用户的多样的行为模式。
应理解,图1示出的环境中的部件和布置仅是示例,适于用于实现本公开所描述的示例实施例的计算设备可以包括一个或多个不同的部件、其他部件和/或不同的布置方式。本公开的实施例在此方面不受限制。
以下将继续参考附图,描述用户行为异常检测的示例实施例。图2图示了根据本公开的一些实施例的更新异常分数阈值的示例方法200的流程图。方法200可以例如由计算设备110执行。应理解,方法200还可以包括未示出的附加动作。以下参考图1来详细描述方法200。
在框210处,计算设备110基于在第一时间段内的一组用户行为数据,确定针对第一时间段内的用户行为的一组行为特征。在本文中,用户的行为特征也被称为用户的行为指纹。在一些实施例中,行为特征可以是向量、矩阵或者其他任何适当的数据形式。第一时间段可以是预先设置的时间长度,例如30秒。应理解,关于第一时间段的取值仅是示例性的,而无意限制本公开的范围。在本公开的实施例中,第一时间段可以是任何适当的时间长度。
在一些实施例中,第一时间段中可以包括多个采样时间点。计算设备110可以对一组用户行为数据中在各个采样时间点的用户行为数据分别利用特征提取模块来提取行为特征。
附加地或备选地,在一些实施例中,计算设备110可以对一组用户行为数据在各个采样时间点进行加窗处理,并且针对经加窗处理的用户行为数据来提取行为特征。图3图示了根据本公开的一些实施例的确定用户的行为特征以用于异常检测的示例架构300的示意图。
如图3所示,计算设备110被配置为利用滑动窗口320来对在第一时间段内获得的一组用户行为数据310进行处理。例如,针对第一时间段(可以被表示为包括时间点t(i-n)、……、t(i-1)及t(i),其中i和n为任何适当的自然数)内的时间点t(i),滑动窗口320可以被配置为对时间点t(i-3)、t(i-2)、t(i-1)及t(i)处的用户行为数据进行滑动平均。应理解,以上所描述的滑动窗口320仅仅是示例性的,而无意限制本公开的范围。本公开的实施例可以使用其他适合适当的滑动窗口。
在一些实施例中,计算设备110可以利用存储模块350来存储当前的至少一个用户行为数据,以供接下来由滑动窗口320处理下一个用户行为数据。例如,在时间点t(i)处,存储模块350可以仅存储时间点t(i-3)、t(i-2)、t(i-1)及t(i)处的用户行为数据,而不存储第一时间段内其他时刻的用户行为数据。备选地,存储模块350可以将第一时间段内的一组用户行为数据310均存储到存储模块350中。通过这样,能够节省计算设备110的存储资源。
在一些实施例中,对于一组用户行为数据310中的各个用户行为数据,分别利用滑动窗口320进行加窗处理。将处理后的一组用户行为数据中的各个用户行为数据分别输入到特征提取模块330,以获得一组行为特征340。在一些实施例中,特征提取模块330可以是针对不同应用定制(tailor)的函数。特征提取模块330所采样的函数可以是由有经验的专家所设计的,也可以根据历史参考值或者经验值推导而来。例如,针对敲击键盘和针对触摸屏幕,可以设置不同的函数来进行特征提取。可以使用任何适当的函数或者模型来进行特征提取。本公开的范围在此方面不受限制。
以敲击键盘行为检测为例,针对这一行为的行为特征可以包括但不限于:按键事件、按键时间间隔等等。又如在触摸屏幕这类行为中,行为特征可以包括但不限于:按压强度、手指移动速度等等。应理解,以上所列举的敲击键盘和触摸屏幕的示例仅仅是示例性的,而无意限制本公开的范围。本公开的实施例可以用于任何适当的用户行为类型。
在一些实施例中,一组行为特征340可以分别输入到异常检测模型120以供后续的用户行为异常检测。附加地或备选地,一组行为特征340可以被存储到存储模块350中以供后续使用。在一些实施例中,存储模块350中也可以仅存储一组行为特征340中的部分的行为特征,例如预定数目的最新的行为特征。
通过利用滑动窗口和特征提取模块,可以通过采样和保存策略来确保存储模块不断补充最新的用户行为数据。结合异常检测模型120,可以实现对微小行为模式漂移的适应。
已经结合图3描述了确定行为特征以供用户行为异常检测的过程。应理解,可以使用任何适当的其他方法或模块来基于用户行为数据确定行为特征以供异常检测。
继续参考图2。在框220处,计算设备110基于一组行为特征340,根据异常检测模型120,确定针对用户行为的一组异常分数。例如,计算设备110可以针对一组行为特征340中的各个行为特征,分别确定各自的异常分数。异常检测模型120可以是经训练的模型。例如,异常检测模型120可以基于第二时间段内的用户行为数据而被训练。第二时间段在第一时间段之前。第二时间段可以与第一时间段部分重合或者完全不重合。
如前所述,在一些实施例中,异常检测模型120可以是无监督、非参数的学习模型。异常检测模型120可以不需要训练数据的标签信息。异常检测模型120的示例包括但不限于:K最近邻(KNN)模型、孤立森林(isolation forest)模型等。图4图示了根据本公开的一些实施例的异常检测模型120的检测结果400的示意图。在图4中,训练集410示出了在异常检测模型120的训练阶段的多个用于训练的行为特征点。输入特征集420可以是异常检测模型120的使用过程中所接收到的多个行为特征点。
在图4的示例中,输入特征集420与训练集410差别较大,因此异常检测模型120可以针对该输入特征集420输出较高的异常分数。较高的异常分数可以表示与该输入特征集420对应的用户行为较为异常。在一些实施例中,异常检测模型120可以针对输入特征集420中的各个输入特征分别输出较高的异常分数,以指示用户行为较为异常。
应理解,在一些实施例中,也可以采用较低的异常分数来指示用户行为较为异常。在本文中,以较高的异常分数指示用户行为较为异常为例进行描述。
通过使用较小的异常检测模型120来进行用户行为的异常检测,能够更好地适用于诸如IoT设备的计算设备110。以这样,能够节省计算设备110的计算资源,从而提高计算设备110的整体性能。
在一些实施例中,计算设备110可以基于由异常检测模型120所确定的异常分数与异常分数阈值的比较,来确定用户行为是否异常。例如,如果异常分数超过异常分数阈值,则表示用户行为异常。反之,如果异常分数未超过异常分数阈值,则表示用户行为正常。在一些实施例中,异常分数阈值可以被预先确定,并且可以不断地被更新。以下继续参考图2来描述异常分数阈值的更新过程。
在框230处,计算设备110基于所确定的一组异常分数与先前确定的异常分数阈值130的比较,来更新异常分数阈值130。例如,如果一组异常分数中超过先前确定的异常分数阈值130的异常分数的数目超过阈值数目,则计算设备110对异常分数阈值130进行更新。例如,计算设备110可以基于对应于第一时间段内的一组用户行为数据310的一组行为特征340,来更新异常分数阈值130。
反之,如果一组异常分数中超过先前确定的异常分数阈值130的异常分数的数目未超过阈值数目,则计算设备110不对异常分数阈值130进行更新。阈值数目可以是预先设置的适合适当的数目,本公开在此方面不受限制。应理解,阈值数目也可以被动态的设置。此外,针对不同应用或者不同的用户行为类型,可以设置不同的阈值数目。
通过这种方式,能够根据用户逐渐变化的行为模式或行为特征来更新异常分数阈值。特别是可以通过滑动窗口逐渐偏移输入的方式来更新用户的有效行为模式。通过合理地设置异常分数阈值和阈值数目,可以使计算设备110能够对偶尔的异常行为具有鲁棒性。此外,根据本方案的异常检测模型对用户行为的适应是无缝的,且无需卸载敏感信息。
附加地或备选地,如果确定一组异常分数中的第一异常分数超过异常分数阈值130,计算设备110对用户进行身份认证。例如,如果利用在第一时间段内的第一时刻的用户行为数据所对应的行为特征所确定的异常分数超过异常分数阈值130,则计算设备110对用户进行身份认证。例如,计算设备110可以提示用户输入密码。如果用户输入的密码正确,则该用户通过身份认证。应理解,可以采用任何适当的身份认证方式来对用户进行身份认证。本公开的范围在此不受限制。
在一些实施例中,如果用户通过身份认证,则计算设备110可以对异常分数阈值进行更新。例如,计算设备110可以基于对应于第一时间段内的一组用户行为数据310的一组行为特征340,来更新异常分数阈值130。备选地,计算设备110可以基于第一时刻之前的一段时间内所确定的行为特征,来更新异常分数阈值130。
以此方式,可以针对受认证用户的改变的行为模式或行为特征更新异常分数阈值。在一些场景下,针对不同的应用,用户的行为会呈现出不同的行为特征。例如。用户专注于敲击键盘输入数字时,可以输入地很快并且不停顿。又如,当用户在边听网络会议边敲击键盘输入时,可能会输入地较慢并且错误较多。同一用户在不同时间或者针对不同任务或应用可以具有多种不同的行为特征。因此,以这种方式,在确定用户身份的前提下,可以对用户发生改变的行为特征更新异常分数阈值。
附加地,在一些实施例中,如果用户通过身份认证,计算设备120还可以重新训练异常检测模型120来学习新的用户行为模式。备选地,计算设备120还可以采用另一异常检测模型来学习用户的新的用户行为模式。
以此方式,可以针对受认证用户的改变的行为模式或行为特征重新训练异常检测模型或者训练附加的异常检测模型。例如,用户敲击键盘写邮件与用户敲击键盘玩游戏虽然都是敲击键盘,但是针对不同的应用会呈现出不同的行为特征。因此,以这种方式,在确定用户身份的前提下,可以对用户发生改变的行为特征重新训练异常检测模型或者训练附加的异常检测模型。
附加地或备选地,如果确定第一时间段与第二时间段之间的时间间隔超过时间间隔阈值,则计算设备110可以重新训练异常检测模型120。也就是说,如果当前时间段与异常检测模型120被训练的时间段相间隔的时间超过时间间隔阈值,则计算设备110可以重新训练异常检测模型120。应理解,时间间隔阈值可以被设置为任何适当的时间长度,本公开的范围在此不受限制。应理解,时间间隔阈值也可以被动态的设置。此外,针对不同应用或者不同的用户行为类型,可以设置不同的时间间隔阈值。
用户的行为模式是在不断变化的。例如,如果某个用户最近经常打字,则其敲击键盘的速度可能是逐渐加快的。又如,如果某个用户很多天没有打字,则其敲击键盘的速度会降低。因此,通过每隔一段时间重新训练异常检测模型,可以使之更好地适应用户不断发生变化的行为模式或行为特征。以这样,对用户行为的异常检测将会更加准确。
以上结合图2描述了本公开的基于不断更新的异常分数阈值来进行用户行为的异常检测的方案。本公开所描述的用户行为的异常检测能够不断适应用户逐渐变化的行为模式。此外,本公开所描述的异常检测还可以识别用户新的行为模式并且对其进行学习。此外,本公开的方案不需要很多的人工参与,用户体验感好。
一方面,本公开采用了较小的异常检测模型,节省了计算资源和存储资源。另一方面,本公开的方案在终端设备本地进行用户行为数据的分析,避免了数据泄露,从而确保了用户的隐私安全。为终端设备例如IoT设备提供了具有学习能力的个性化且安全的异常检测方案。本公开所描述的异常检测模型还可以被集成到终端设备的诸如身份检测器或者其他应用的核心模块中,以用于诸如身份验证等应用。
图5图示了根据本公开的一些实施例的异常分数的若干示例曲线图。曲线图500示出了异常检测模型120的初始训练过程的异常分数曲线510。例如,当计算设备110首次被使用的一段时间内,异常检测模型120还没有被训练。即,异常检测模型120是空的或预训练的模型。在此初始学习阶段,计算设备120还没有预先设置的异常分数阈值。计算设备120将这段时间的用户行为数据均视为正常的。计算设备120利用异常分数曲线510来对异常检测模型120进行训练。在一些实施例中,可以通过预先设置训练集的大小或者设置训练时间段的长度,来完成对异常检测模型120的训练。
曲线图520示出了在一段时间内使用经训练的异常检测模型120进行用户行为异常检测的异常分数曲线540。曲线图520中还示出了异常分数阈值530。在曲线图520的示例中,异常分数曲线540一直没有超过异常分数阈值530。这表示用户行为在这段时间内一直正常。
曲线图550示出了在另一段时间内使用经训练的异常检测模型120进行用户行为异常检测的异常分数曲线560。曲线图550中还示出了异常分数阈值530。在曲线图550的示例中,异常分数曲线560多次超过异常分数阈值530。异常分数曲线560超过异常分数阈值530可能是由于非认证用户尝试使用计算设备110,也可能是由于受认证用户的行为模式不断变化。
在一些实施例中,如果在一段时间内,异常分数曲线560超过异常分数阈值530的次数小于阈值数目,例如,仅超过了异常分数阈值530一次,则该异常很可能是由于用户的随机行为造成的。计算设备110将继续执行对用户行为的异常检测。
与之相反,如果在一段时间内,异常分数曲线560超过异常分数阈值530的次数超过了阈值数目,则计算设备120可以触发警报。该警报可以通知用户检测到了用户行为异常。附加地或备选地,如果异常分数曲线560超过异常分数阈值530的次数超过了阈值数目,则计算设备120可以对用户的身份进行认证。例如,计算设备120可以提示用户输入密码来进行身份认证。
例如,如果在时间点570处,异常分数曲线560超过异常分数阈值530的次数超过了阈值数目,则计算设备120提示用户输入密码。如果用户通过了认证,则计算设备110可以更新异常分数阈值530并且可以附加地重新训练异常检测模型120。
图6图示了根据本公开的一些实施例的异常分数的附加的示例曲线图。曲线图600示出了异常检测模型120在一段时间内的异常分数曲线620以及异常分数阈值610。在时间点622、624和626处,计算设备120可以对异常检测模型120进行重新训练。附加地,在时间点622、624和626处,计算设备120可以更新异常分数阈值610。
在一些实施例中,时间点622、624和622可以是预先设置的,或者可以根据异常分数超过异常分数阈值610的次数来动态设置。例如,在一些实施例中,可以按照固定的时间间隔(例如,每天,每周等任意时间间隔)来对异常检测模型120进行重新训练和/或更新异常分数阈值610。
例如,计算设备120可以利用存储在存储设备诸如图3中的存储模块350中的用户行为数据和行为特征来重新训练异常检测模型120和/或更新异常分数阈值610。应理解,虽然图6中的610示出为没有发生变化的直线,但在一些实施例中,异常分数阈值610可以是不断发生变化的。
曲线图650示出了异常检测模型120在一段时间内的异常分数曲线660以及异常分数阈值610。如图所示,在时间点662处,异常分数曲线660超过了异常分数阈值610。随后,异常分数曲线660超过了异常分数阈值610多次。在时间点664处,检测到了超过阈值数目的异常次数,则在时间点664处,计算设备110会触发警报。该警报可以指示用户例如输入密码来进行身份认证。如果在时间点666处,用户通过了身份认证,则计算设备110可以在时间点666处重新训练异常检测模型120和/或更新异常分数阈值610。
图7图示了根据本公开的一些实施例所确定的异常分数曲线的示例结果的示意图。在图7的示例中,采用特征提取函数来提取频繁字符(例如E、T、A)的平均按键时间和按键之间的间隔时间(例如E-N之间的间隔、A-N之间的间隔、N-T之间的间隔)。特征值可以被确定为30次击键事件的滑动窗口内的平均值。示例特征值结果如表1和表2所示,其中表1示出了一组按键时间的特征值,而表2示出了一组按键时间间隔的特征值。
表1按键时间(s)
表2按键时间间隔
E-N A-N N-T
0.5000009 0.0 0.172395
0.5000009 0.0 0.172395
0.5000009 0.0 0.000000
0.5000009 0.0 0.000000
0 0.0 0.000000
应理解,虽然表1和表2中针对各个按键及按键组合仅示出了6个示例特征值,但是针对各个按键及按键组合可以提取更多数量的特征值或者特征向量。在一些实施例中,可以根据所确定的若干特征值或特征向量,利用异常检测模型120,来确定一组异常分数。结果710示出了所确定的一组异常分数。异常分数曲线720是根据结果710绘制出的。
在曲线720中,计算设备110确定在开始的一段时间,异常分数逐渐增高并且在随后一段时间趋于稳定。针对这种情况,计算设备110会触发对异常检测模型120的重新训练。异常检测模型120学习到了用户的新的行为特征,因此异常分数在异常检测模型120被重新训练后(即,异常分数曲线720的结尾部分)会降低到低于异常分数阈值的正常值。
图8示出了可以用来实施本公开的实施例的设备800的示意性框图,设备800可以是本公开的实施例所描述的设备或装置。如图8所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。虽然未在图8中示出,设备800还可以包括协处理器。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个方法或过程,例如方法200,可由处理单元801来执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法200或过程中的一个或多个步骤或动作。备选地,在其他实施例中,CPU 801也可以以其他任何适当的方式被配置以实现上述过程/方法。
在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使得本技术领域的其它普通技术人员能理解本文公开的各实施例。

Claims (17)

1.一种计算机实现的方法,包括:
基于在第一时间段内的一组用户行为数据,确定针对所述第一时间段内的用户行为的一组行为特征;
基于所述一组行为特征,根据异常检测模型,确定针对所述用户行为的一组异常分数,所述异常检测模型基于第二时间段内的用户行为数据而被训练;以及
基于所确定的所述一组异常分数与先前确定的异常分数阈值的比较,来更新所述异常分数阈值,所述异常分数阈值用于指示用户行为是否异常。
2.根据权利要求1的方法,其中更新所述异常分数阈值包括:
如果确定所述一组异常分数中超过先前确定的所述异常分数阈值的异常分数的数目超过阈值数目,对所述异常分数阈值进行更新。
3.根据权利要求1所述的方法,还包括:
如果确定所述一组异常分数中的第一异常分数超过所述异常分数阈值,对用户进行身份认证;以及
如果所述用户通过所述身份认证,对所述异常分数阈值进行更新。
4.根据权利要求2或3所述的方法,其中对所述异常分数阈值进行更新包括:
基于所述一组行为特征,来更新所述异常分数阈值。
5.根据权利要求3所述的方法,其中如果所述用户通过所述身份认证,所述方法还包括:
重新训练所述异常检测模型。
6.根据权利要求1所述的方法,还包括:
如果确定所述第一时间段与所述第二时间段之间的时间间隔超过时间间隔阈值,重新训练所述异常检测模型。
7.根据权利要求1所述的方法,其中所述异常检测模型包括无监督、非参数的异常检测模型。
8.根据权利要求1所述的方法,其中所述方法在物联网IoT设备处被实现。
9.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备执行动作,所述动作包括:
基于在第一时间段内的一组用户行为数据,确定针对所述第一时间段内的用户行为的一组行为特征;
基于所述一组行为特征,根据异常检测模型,确定针对所述用户行为的一组异常分数,所述异常检测模型基于第二时间段内的用户行为数据而被训练;以及
基于所确定的所述一组异常分数与先前确定的异常分数阈值的比较,来更新所述异常分数阈值,所述异常分数阈值用于指示用户行为是否异常。
10.根据权利要求9所述的电子设备,其中更新所述异常分数阈值包括:
如果确定所述一组异常分数中超过先前确定的所述异常分数阈值的异常分数的数目超过阈值数目,对所述异常分数阈值进行更新。
11.根据权利要求9所述的电子设备,其中所述动作还包括:
如果确定所述一组异常分数中的第一异常分数超过所述异常分数阈值,对用户进行身份认证;以及
如果所述用户通过所述身份认证,对所述异常分数阈值进行更新。
12.根据权利要求10或11所述的电子设备,其中对所述异常分数阈值进行更新包括:
基于所述一组行为特征,来更新所述异常分数阈值。
13.根据权利要求11所述的电子设备,其中如果所述用户通过所述身份认证,所述动作还包括:
重新训练所述异常检测模型。
14.根据权利要求9所述的电子设备,其中所述动作还包括:
如果确定所述第一时间段与所述第二时间段之间的时间间隔超过时间间隔阈值,重新训练所述异常检测模型。
15.根据权利要求9所述的电子设备,其中所述异常检测模型包括无监督、非参数的异常检测模型。
16.根据权利要求9所述的电子设备,其中所述方法在物联网IoT设备处被实现。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至8中任一项所述的方法。
CN202210061803.2A 2022-01-19 2022-01-19 计算机实现的方法、设备和计算机程序产品 Pending CN116502197A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210061803.2A CN116502197A (zh) 2022-01-19 2022-01-19 计算机实现的方法、设备和计算机程序产品
US17/666,776 US11973782B2 (en) 2022-01-19 2022-02-08 Computer-implemented method, device, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210061803.2A CN116502197A (zh) 2022-01-19 2022-01-19 计算机实现的方法、设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN116502197A true CN116502197A (zh) 2023-07-28

Family

ID=87161389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210061803.2A Pending CN116502197A (zh) 2022-01-19 2022-01-19 计算机实现的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11973782B2 (zh)
CN (1) CN116502197A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12088604B2 (en) * 2022-05-10 2024-09-10 Bank Of America Corporation Security system for dynamic detection of attempted security breaches using artificial intelligence, machine learning, and a mixed reality graphical interface

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917963B2 (en) 2006-08-09 2011-03-29 Antenna Vaultus, Inc. System for providing mobile data security
WO2008055156A2 (en) 2006-10-30 2008-05-08 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US9069908B2 (en) 2009-03-16 2015-06-30 Apple Inc. Accessory and mobile computing device communication using an application communication protocol
US20100262579A1 (en) 2009-04-08 2010-10-14 Research In Motion Limited Reducing Transmission of Location Updates Based on Loitering
US20120284212A1 (en) 2011-05-04 2012-11-08 Google Inc. Predictive Analytical Modeling Accuracy Assessment
US8533224B2 (en) 2011-05-04 2013-09-10 Google Inc. Assessing accuracy of trained predictive models
US8554703B1 (en) 2011-08-05 2013-10-08 Google Inc. Anomaly detection
US9208347B2 (en) 2013-11-05 2015-12-08 Bank Of America Corporation Updating roles based access
US20230412620A1 (en) * 2015-10-28 2023-12-21 Qomplx, Inc. System and methods for cybersecurity analysis using ueba and network topology data and trigger - based network remediation
US20220014560A1 (en) * 2015-10-28 2022-01-13 Qomplx, Inc. Correlating network event anomalies using active and passive external reconnaissance to identify attack information
US10268749B1 (en) 2016-01-07 2019-04-23 Amazon Technologies, Inc. Clustering sparse high dimensional data using sketches
US10673880B1 (en) * 2016-09-26 2020-06-02 Splunk Inc. Anomaly detection to identify security threats
US20180300653A1 (en) 2017-04-18 2018-10-18 Distributed Systems, Inc. Distributed Machine Learning System
US10698766B2 (en) 2018-04-18 2020-06-30 EMC IP Holding Company LLC Optimization of checkpoint operations for deep learning computing
US11593634B2 (en) 2018-06-19 2023-02-28 Adobe Inc. Asynchronously training machine learning models across client devices for adaptive intelligence
US10642592B2 (en) 2018-10-04 2020-05-05 International Business Machines Corporation Automated configuration profile generation and management
US20200249936A1 (en) 2019-02-04 2020-08-06 James Ronald Barfield, JR. Method and system for a platform for api based user supplied algorithm deployment
CN111858111B (zh) 2019-04-25 2024-10-15 伊姆西Ip控股有限责任公司 数据分析的方法、设备和计算机程序产品
US11483327B2 (en) * 2019-11-17 2022-10-25 Microsoft Technology Licensing, Llc Collaborative filtering anomaly detection explainability
CN112884156A (zh) 2019-11-29 2021-06-01 伊姆西Ip控股有限责任公司 用于模型自适应的方法、设备和程序产品
CN113313246A (zh) 2020-02-27 2021-08-27 伊姆西Ip控股有限责任公司 用于确定模型压缩率的方法、设备和程序产品
US11816461B2 (en) 2020-06-30 2023-11-14 Paypal, Inc. Computer model management system

Also Published As

Publication number Publication date
US20230231861A1 (en) 2023-07-20
US11973782B2 (en) 2024-04-30

Similar Documents

Publication Publication Date Title
US8942431B2 (en) Biometrics based methods and systems for user authentication
US20200387588A1 (en) Intrusion detection on computing devices
US11861947B2 (en) Machine learning-based platform for user identification
Saevanee et al. Continuous user authentication using multi-modal biometrics
US20170227995A1 (en) Method and system for implicit authentication
US9536072B2 (en) Machine-learning behavioral analysis to detect device theft and unauthorized device usage
CN103164646A (zh) 安全性高的生物体认证系统
US11941096B2 (en) Risk assessment framework for identity verification system
Roy et al. An HMM-based behavior modeling approach for continuous mobile authentication
Buduru et al. An effective approach to continuous user authentication for touch screen smart devices
KR20120082772A (ko) 확률적 사용자 인증 장치 및 방법
CN112017669B (zh) 语音对抗样本检测方法、装置、终端设备以及存储介质
Fereidooni et al. AuthentiSense: A Scalable Behavioral Biometrics Authentication Scheme using Few-Shot Learning for Mobile Platforms
Bello et al. Machine learning algorithms for improving security on touch screen devices: a survey, challenges and new perspectives
CN116502197A (zh) 计算机实现的方法、设备和计算机程序产品
Yang et al. Energy-efficient w-layer for behavior-based implicit authentication on mobile devices
Yang et al. Bubblemap: Privilege mapping for behavior-based implicit authentication systems
CN113436633A (zh) 说话人识别方法、装置、计算机设备及存储介质
US11943252B2 (en) Securing against network vulnerabilities
Lee et al. Offensive Security of Keyboard Data Using Machine Learning for Password Authentication in IoT
CN114036476A (zh) 用户登录认证方法、装置、设备、存储介质和产品
EP3555783B1 (en) User authentication
JP2008146138A (ja) 生体認証装置、生体認証システム、及び生体認証方法
Ashibani et al. Classification and Feature Extraction for User Identification for Smart Home Networks Based on Apps Access History
P. R et al. A report on behavior-based implicit continuous biometric authentication for smart phone

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