CN117917043A - 凭证输入检测和威胁分析 - Google Patents
凭证输入检测和威胁分析 Download PDFInfo
- Publication number
- CN117917043A CN117917043A CN202280059733.5A CN202280059733A CN117917043A CN 117917043 A CN117917043 A CN 117917043A CN 202280059733 A CN202280059733 A CN 202280059733A CN 117917043 A CN117917043 A CN 117917043A
- Authority
- CN
- China
- Prior art keywords
- application
- credential
- context
- input
- operating system
- 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
Links
- 238000001514 detection method Methods 0.000 title abstract description 42
- 238000004458 analytical method Methods 0.000 title description 18
- 238000000034 method Methods 0.000 claims abstract description 201
- 230000000116 mitigating effect Effects 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims description 84
- 238000004891 communication Methods 0.000 claims description 37
- 230000008520 organization Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 19
- 230000009471 action Effects 0.000 abstract description 37
- 230000006870 function Effects 0.000 description 38
- 238000005516 engineering process Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 14
- 239000008186 active pharmaceutical agent Substances 0.000 description 13
- 239000000872 buffer Substances 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 10
- 230000000977 initiatory effect Effects 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 5
- 230000007123 defense Effects 0.000 description 5
- 239000000725 suspension Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012367 process mapping Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本文所描述的技术通过在操作***级别分析所接收的用户输入来标识和缓解网络钓鱼企图。最初,凭证(诸如用户名或密码)被注册到威胁检测***。本文所描述的技术在操作***级别拦截用户输入,生成输入的哈希值,并将其与正在被监控的凭证的哈希值比较。当针对输入的字符串的哈希值与针对正在被监控的凭证的哈希值匹配时,凭证条目被检测。当秘密条目被检测到时,本文所描述的技术将执行威胁评估。威胁评估可以使用应用上下文和网络上下文作为评估的输入。当威胁被检测到时,各种缓解动作可以被采用。
Description
背景技术
在互联网上,诈骗性地获取他人的凭证和密码信息的计划已经变得屡见不鲜。这些计划通常被指代为“网络钓鱼”。网络钓鱼计划可以非常复杂,并且在其复杂级别上不断增长。在一些计划中,用户会从所需页面转移到外观与所需页面貌似相似的诈骗性页面。用户可能会通过点击链接、错误键入网址或任何其他机制被引导到这种类型的诈骗性页面。其他计划可以基于用户被说服浏览基于错误信息的诈骗性页面,诸如声称来自已知企业的电子邮件。在其他计划中,用户可以正确输进信息以浏览所需站点,但由于服务器损坏,用户可能会被重新路由。当登录和密码提示被展示给用户时,用户通常几乎没有上下文来评测针对登录凭证的请求是否合法。这使得高级网络钓鱼方案难以甚至不可能被用户检测到。
发明内容
本发明内容旨在以简化的形式介绍下面在具体实施方式中进一步描述的概念选择。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在被用作确定所要求保护的主题范围的帮助。
最初,凭证(诸如用户名或密码)在威胁检测***中被注册。本文所描述的技术的各个方面不限于针对与用户名或密码一起使用。凭证可以是任何类型的秘密或机密信息,诸如社会安全号码、***信息、驾驶执照号码、护照ID,可以由本文所描述的***监控。在一方面,针对操作***的用户名和密码被自动注册。用户接口可以针对用户或其他个人(例如***管理方)被提供,以注册针对监控的附加凭证。
经注册的凭证在凭证数据存储中与用户相关联,本文中可以将其描述为凭证管理器。在一方面,凭证的哈希被存储,而不是凭证被存储。在一方面,凭证的哈希使用第一函数被生成,并被存储以用于与来自用户输进的文本所生成的哈希比较。
本文所描述的技术通过在操作***级别分析所接收的用户输入来标识和缓解网络钓鱼尝试。在操作***级别接收输入时,允许检测可能无法被应用级别的输入分析所检测到的威胁。本文所描述的技术将在凭证条目被检测到时执行威胁评估。威胁评估可以使用应用上下文和网络上下文作为评估的输入。在其他可能的归类中,威胁评估可以将凭证输入归类为有效网页、安全/不安全应用、无效证书、密码重用、不受信任、已知恶意和未知。
当威胁被检测到时,各种缓解动作可以被采取。用户和/或***管理方可以指定在威胁被检测到时所采取的缓解动作。可以为不同的威胁归类指定不同的缓解动作。
附图说明
本文所描述的技术通过示例而非限制在附图中被示出,其中相同的参考数字指示类似的元件,并且在附图中:
图1是适于针对本公开的实现的示例操作环境的框图;
图2-图4是根据本文所描述技术的一方面描绘的在操作***级别捕获键盘和分析键盘条目的图;
图5是根据本文所描述技术的一方面示出的分析输入缓冲中的击键以检测凭证的图;
图6-图8是显示网络钓鱼企图期间的用户接口的图;
图9是根据本文所描述技术的一方面示出的用于检测网络钓鱼网站的组件的活动的框图;
图10是根据本文所描述技术的一方面示出的用于检测中间人攻击的组件的活动的框图;
图11是根据本文所描述技术的一方面示出的用于通过文字处理器应用检测网络钓鱼企图的组件的活动的框图;
图12是根据本文所描述技术的一方面示出的用于通过视频会议平台检测网络钓鱼攻击的组件的活动的框图;
图13是根据本文所描述技术的一方面示出的用于通过操作***通知检测网络钓鱼攻击的组件的活动的框图;
图14是根据本文所描述技术的一方面示出的用于检测密码重用的组件的活动的框图;
图15是根据本文所描述技术的一方面示出的用于确认正确密码使用的组件的活动的框图;
图16是根据本文所描述技术的一方面显示的检测分析凭证输入的方法的流程图;
图17是示出适于与本文所描述技术的各方面一起使用的计算设备的框图;
图18是根据本文所描述技术的一方面显示的检测分析凭证输入的方法的流程图;以及
图19是根据本文所描述技术的一方面显示的检测分析凭证输入的方法的流程图。
具体实施方式
本文所描述的各种技术已经以足够的具体性被描述以满足法定要求。然而,描述本身并不旨在限制本专利的范围。相反,发明人已经考虑到所要求的主题也可以以其他方式被体现,包含不同的步骤或类似于本文中所描述的步骤的组合,与其他现有或未来的技术结合使用。此外,尽管术语“步骤”和/或“框”可以在本文中被用于表示所采用方法的不同元件,但除非各个步骤的顺序被明确描述,否则这些术语不应被解释为暗示本文所公开的各个步骤之间的任何特定顺序。
本文所描述的技术通过在操作***级别分析所接收的用户输入来标识和缓解网络钓鱼尝试。在操作***级别接收输入时,允许检测可能无法被应用级别的输入分析所检测到的威胁。网络钓鱼应用索取凭证是是攻击的一个示例,这种攻击可以避免在应用级别的检测,但可以通过根据本文所描述的技术在操作***级别分析所接收的输入被检测。
最初,凭证(诸如用户名或密码)在威胁检测***中被注册。本文所描述的技术的各个方面不限于针对与用户名或密码一起使用。凭证可以是任何类型的秘密或机密信息,诸如社会安全号码、***信息、驾驶执照号码、护照ID,可以由本文所描述的***监控。在一方面,针对操作***的用户名和密码被自动注册。用户接口可以针对用户或其他个人(例如***管理方)被提供,以注册针对监控的附加凭证。
经注册的凭证在凭证数据存储中与用户相关联,本文中可以将其描述为凭证管理器。在一方面,凭证的哈希被存储,而不是凭证被存储。在一方面,凭证的哈希使用第一函数被生成,并被存储以用于与来自用户输入的文本所生成的哈希比较。在凭证条目被检测到时,本文所描述的技术将执行威胁评估,而凭证或凭证哈希不会离开本地操作***。
本文所描述的技术在操作***级别拦截用户输入,生成输入的哈希,并将其与被监控的凭证的哈希比较。在一方面,所接收的最后n个字符的哈希被生成,其中n是凭证的字符长度。例如,输进的最后8个字符的哈希可以被生成,并将其与8个字符密码的哈希比较。在另一方面,少于完整凭证的哈希被生成,并被用于在条目完成之前凭证的潜在条目的检测。例如,4个字符、5个字符、6个字符以及7个字符的哈希可以被生成,以预测8个字符密码的条目。在这种情况下,输入串在与被存储在凭证管理器中的部分凭证的哈希值匹配的字符长度处被哈希处理。
当针对所输进的字符串的哈希与针对被监控的凭证的哈希匹配时,检测到凭证条目。当输进的字符串的哈希与针对部分凭证的哈希匹配时,检测到潜在的凭证条目。
在凭证条目被检测到时,本文所描述的技术将执行威胁评估。威胁评估可以使用应用上下文和网络上下文作为评估的输入。其他信息也可以在威胁评估过程中被使用。各种传感器被用于标识应用上下文和网络上下文的特征。本文所描述的技术的各个方面可以使用多个上下文传感器:通用传感器、自定义传感器以及启蒙传感器。通用传感器提供基本的网络和过程元数据,用于披露有关已标识威胁的上下文。自定义传感器将是应用特定的传感器,用于第一方应用、浏览器、消息传递以及其他应用,其中凭证条目是从遥测导出的。
具有启蒙传感器的应用可以利用API直接向操作***提供上下文。这些应用可以被专门编程以与与本文所描述的技术交互。在某些方面,操作***壳层内的代码可以使用公共API。
在其他可能的归类中,威胁评估可以将凭证输入归类为有效/无效位置、安全/不安全应用、无效证书、密码重用、不受信任、已知恶意和未知。
如本文所用,当凭证与与凭证关联的组织所使用的适当身份提供方和验证服务器匹配时,分配有效位置归类。例如,login.microsoft.com与MICROSOFT关联。当输进与用户的MICROSOFT账户相关联的凭证时,当网络上下文显示凭证正在被通信到login.microsoft.com则凭证输入事件可能被归类为有效位置。如果网络上下文显示与凭证组织无关的URL或其他特征,则该位置可能被归类为无效。无效的归类可能会触发缓解动作,诸如阻碍凭证与URL的通信或凭证的暂停。
如本文所用,安全/不安全应用是事先被分配给接收密码/凭证条目的应用的归类。该归类指示应用针对接收纯文本密码是安全的还是不安全的。相关应用可能是凭证所针对的活动应用。一些应用可能被归类为针对所有密码不安全,因为它已知用于网络钓鱼攻击或以其他方式被归类为不可靠或不安全。例如,即使应用是安全的,在应用中输进密码也是一种不安全的做法,诸如如果用户在电子邮件或文档中键入密码可能会发生这种情况。
如本文所用,当未知为不良的位置具有无效证书时,会发生无效证书归类,这可能指示存在潜在的中间人攻击。该证书可能是网络上下文的一部分。
如本文所用,当在利用第一组织注册的密码被输进以登录到不同组织的受信任站点时,会发生密码重用。例如,使用MICROSOFT凭证登录Facebook.com可能是密码重用。在这种情况下,用户可能针对两个不同的账户选择了相同的密码,这是一种不安全的做法。一些组织具有禁止员工将组织密码用于其他账户的策略。密码重用的检测可能会导致通知被通信给用户和/或组织。暂停密码是响应检测到密码重用的另一种可能的缓解。如本文所用,密码重用不同于密码历史强制执行,它可能会阻止用户在不同时间在单个***上两次使用相同的密码。例如,每月要求新密码的***可能会阻止用户重用之前在***上所使用的密码。本文所使用的密码重用检测在两个不同***(例如工作账户和社交媒体账户)上单个密码的使用。
如本文所用,当在不受信任的站点上输进密码时(如跟踪已知网络钓鱼站点和/或构成安全风险的站点的源所指示的),可以分配不受信任的归类。
如本文所用,当密码在已知恶意站点上被输进时(如跟踪已知网络钓鱼站点和/或构成安全风险的站点的源所指示的),可以分配已知恶意归类。
如本文所用,当密码条目不符合任何可用归类时,可能会分配未知分类。当应用两个或更多归类时,也可以使用未知归类。例如,如果有两个网络连接,其中一个网络连接的评估结果为不受信,而另一个网络连接则导致密码重用。当该站点看起来是新网络钓鱼站点,尚未被任何已知网络钓鱼站点列表(或相反地,安全/可靠站点)跟踪时,也可以分配未知归类。
当威胁被检测到时,可以采取各种缓解动作。用户和/或***管理方可以指定在威胁被检测到时所采取的缓解动作。可以为不同的威胁归类指定不同的缓解动作。一种类型的缓解是威胁报告。有用的传感器数据和遥测数据可以被发送到与操作***供应方相关联的云保护服务,以及与管理计算设备的组织(例如雇主)相关联的***管理方。被监控的设备的用户也可以访问相同的信息。网络钓鱼的确定也可以与集中的威胁保护服务共享(考虑到所有合规性和隐私准则),该服务将受益于利用网络钓鱼数据以更好地保护客户免受网络钓鱼的侵害。
缓解动作还可以包含用户认知的努力。从用户的角度来看,网络钓鱼保护可能具有通用(非特定于应用)用户接口,允许阻碍网络钓鱼尝试、更改密码、警告所检测到的风险、网络钓鱼教育以及社会工程培训。对于希望向最终用户分发有针对性的额外安全培训的企业来说,最后两个选项可能很有吸引力。也可以使用特定于应用的用户接口。可以经由公共API启用威胁检测信息的通信。
在简要描述了本文所描述的技术的各方面的概述之后,下文描述了其中可以实现本文所描述的技术的各方面的示例性操作环境,以便针对各方面提供一般上下文。
现在来看图1,提供了显示可采用本公开的一些方面的示例操作环境100的框图。应当理解,本文所描述的这种布置和其他布置仅作为示例而描述。可以使用其他布置和元件(例如,机器、接口、功能、顺序和功能的分组等)来补充或替代所显示的布置和元件,并且为了清楚起见可以完全省略一些元件。此外,本文所描述的许多元件是功能实体,可以作为离散式组件或分布式组件或与其他组件结合,并且以任何合适的组合和位置被实现。本文所描述的由一个或多个实体执行的各种功能可以通过硬件、固件和/或软件来执行。例如,一些功能可以由执行被存储在存储器中的指令的处理器来执行。
在未显示的其他组件中,示例操作环境100包含多个用户设备,诸如用户设备102a和102b至102n;多个数据源,诸如数据源104a和104b至104n;服务器106;以及网络110。图1中所显示的每个组件可以经由任何类型的计算设备来实现,诸如结合图17所描述的计算设备1700。这些组件可以经由网络110相互通信,网络110可以包含但不限于一个或多个局域网(LAN)和/或广域网(WAN)。在示例性实现中,网络110包括因特网和/或蜂窝网络,以及各种可能的公共网络和/或专用网络中的任何一种网络。
用户设备102a和102b至102n可以是操作环境100的客户端侧的客户端设备,同时服务器106可以在操作环境100的服务器侧。在一些方面,本文所描述的技术可以采取在单个用户设备上运行的安全功能的形式。安全功能可以是用户设备操作***的部分。用户设备可以受到本文所描述的威胁检测技术的保护。特别地,威胁检测可以在操作***级别拦截用户输入,检测凭证输入,并进行威胁评估。威胁可以是源自操作环境100的服务器侧的网络钓鱼尝试。
服务器106可以包括被设计为与用户设备102a和102b至102n上的客户端侧软件一起工作以实现本公开中所讨论的特征和功能的任何组合的服务器侧软件。例如,服务器106可以运行威胁检测***,接收关于经分析或所检测到的威胁的信息。针对组织的***管理方可以使用服务器106针对在与该组织相关联的用户设备上运行的威胁检测***设置监控和缓解参数。提供操作环境100的划分是为了示出合适环境的一个示例,并且针对每个实现没有要求服务器106和用户设备102a和102b至102n的任何组合保持为单独的实体。
用户设备102a和102b至102n可以包括能够由用户使用的任何类型的计算设备。例如,在一方面,用户设备102a至102n可以是与本文图10相关所描述的计算设备类型。作为示例而非限制,用户设备可以体现为个人计算机(PC)、膝上型计算机、移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、健身***、虚拟现实耳机、增强现实眼镜、个人数字助理(PDA)、MP3显示器、全球定位***(GPS)或设备、视频显示器、手持通信设备、游戏设备或***、娱乐***、车辆计算机***、嵌入式***控制器、遥控器、器件、消费电子设备、工作站、或这些所描绘的设备的任何组合,或任何其他合适的设备。
数据源104a和104b到104n可以包括数据源和/或数据***,其被配置为使数据可用于操作环境100的各种组成部分中的任何一个部分。例如,数据源可以包括电子邮件服务器、社交媒体服务器或可被用于安装通过本文所描述的技术所标识的网络钓鱼攻击的对象的其他来源。数据源104a和104b到104n可以与用户设备102a和102b至102n和服务器106离散,或者可以被结合和/或集成到这些组件中的至少一个组件中。
操作环境100可以被使用来实现图2中所描述的计算环境200的一个或多个组件,包含用于密码输进检测、上下文采集、威胁评估、缓解以及用户认知的组件。
现在来看图2,提供了适于与本文所描述的技术的方面一起使用的计算环境200。本文所使用图2-图4用于示出如何输进击键并通过本文所描述的技术分析。在描述分析击键所要采取的动作之前,显示了组件的简要描述。图2中描述的一些组件是使用经常被用于描述由MICROSOFT提供的WINDOWS操作***的组件的术语。然而,本文所描述的技术的方面不限于与WINDOWS一起使用。本文所描述的技术的特征可以被添加到其他操作***中,这些操作***包含许多相同的组件并执行类似的功能。
计算环境200包括硬件层250、操作***组件220、内核组件240和示例应用。与未显示的组件一起,操作***组件220可以被描述为操作***。一些操作***可以组合用户模式和内核模式,或移动操作。在WINDOWS中,处理器根据处理器上运行的代码类型在两种模式之间切换。应用在用户模式下运行,核心操作***组件在内核模式下运行。虽然许多驱动器在内核模式下运行,但一些驱动器可能在用户模式下运行。
当用户模式应用开始时,操作***针对应用创建过程。该过程为应用提供私有虚拟地址空间和私有句柄表。因为应用的虚拟地址空间是私有的,所以一个应用不能改变属于另一应用的数据。除了私有之外,用户模式应用的虚拟地址空间是有限的。在用户模式下运行的处理器不能访问针对操作***保留的虚拟地址。限制用户模式应用的虚拟地址空间可以防止应用查看、改变以及可能损坏的、关键的操作***数据。
所有内核组件240共享相同的***地址空间(只能从内核模式访问)。这意味着内核模式驱动器不会与其他驱动器和操作***本身隔离。
如本文所用,操作***组件220可以包括内核组件240。操作***的许多组件,诸如硬件和内核组件240之间的硬件抽象层,未在图2中显示,其包含示例性组件以及用于威胁检测的组件。内核(内核组件240是其中的部分)是位于计算机的操作***核心的计算机程序,并且具有对***的控制。内核促进硬件和软件组件之间的交互。内核经由设备驱动器控制硬件资源(例如I/O、存储器),仲裁有关这些资源的过程之间的冲突,并优化对公共资源(例如CPU、存储器和存储252)的使用。在一些***上,内核是启始时(在引导加载程序之后)加载的第一程序中的一个程序。加载后,内核可以处置其余的启始以及来自软件的存储器、***设备和输入/输出(I/O)请求,将它们转换为针对CPU的数据处理指令。
内核的代码可以被加载到存储器的单独区域中,该区域受到保护,应用软件或操作***中其他不太关键的部分无法访问。内核在这个受保护的内核空间中执行其任务,诸如运行过程、管理诸如硬盘等硬件设备、以及处理中断。相比之下,像电子表格210、浏览器212、文字处理器214或视频会议平台216这种应用可以使用存储器的单独区域,有时被描述为用户模式。这种分离有助于阻止用户数据和内核数据相互干扰并导致不稳定和缓慢,以及阻止出现故障的应用影响其他应用或使整个操作***崩溃。
内核组件240包括线程管理器和调度器242、威胁防御器244、输入管理器246和网络连接管理器248。操作***内核可以包括附加组件。线程管理器240处理过程中线程的执行。程序的实例在过程中运行。每个过程都有一个ID,一个标识它的数字。线程是过程内的可调度实体,过程内的执行流。
威胁防御器244提供访问控制和报告功能。在本文所描述的技术上下文中的一个功能是向企业提供有关企业设备(诸如员工的笔记本电脑)的安全状况的报告流水线。因此,每个凭证条目的判断可以通过威胁防御器244传递给企业,以便提醒IT管理方潜在的网络钓鱼攻击或不安全的凭证条目。此报告可以是各种缓解动作的部分,诸如禁用密码。该操作***必须保证该操作不违反***策略。例如,设备可能会也可能不会对所有请求都可访问。例如,驱动器可能允许某些请求成功或失败,这取决于发出请求的实体的权限。威胁防御器244可以使用访问控制列表(ACL)来确定何种对象具有何种安全性。威胁防御器244可以在对象(文件、事件、互斥锁、过程、线程等)打开句柄之前执行访问检查,以及可以对该对象执行何种操作(读取、写入、删除等)。
输入管理器246促进硬件输入。计算机由各种设备组成,这些设备向外部世界提供输入和输出(I/O)。典型设备是键盘、鼠标、音频控制器、视频控制器、盘驱动器、网络端口等。设备驱动器提供设备和操作***之间的软件连接。输入管理器246管理应用之间的通信以及设备驱动器提供的接口。
网络连接管理器248管理NIC 258、操作***组件和应用之间的通信。网络连接管理器248可以提供网络上下文信息。网络管理器可以与一个或多个驱动器交互以在操作***中实现联网。
操作***组件220可以位于内核之外,并且包括凭证管理器232、本地安全授权子***服务(LSASS)234、输入管理器236以及SmartScreen应用239。为了简单起见,操作***组件在图2中被省略。
凭证管理器232管理凭证。凭证管理器232可以使用凭证管理API和凭证管理用户接口(UI)功能来获得并管理凭证信息,诸如用户名和密码。这些功能请求使用账户信息(例如,MICROSOFT账户,GOOGLE账户)来代替登录时所建立的凭证,诸如pin。这种请求通常发生在登录凭证不具有应用所要求的权限时。凭证管理UI功能可以提供具有操作***用户接口外观的接口。这些功能包含将用户信息添加到用户凭证存储的可定制选项。凭证管理232可以接收针对威胁检测的待监控的凭证。在一方面,凭证管理接口允许提供监控和缓解待提供的偏好。
(LSASS)234负责在***上执行安全策略。(LSASS)234核验登录到计算机或服务器的用户,处置密码更改并创建访问令牌。LSASS可以向本文所描述的其他组件提供所存储的凭证或秘密。例如,LSASS可以提供用于条目检测的凭证。一旦检测到条目,就可以决定针对凭证条目的环境或上下文是否安全。
SmartScreen 239可以通过分析所浏览的网页寻找可疑行为的指示,并根据所报告的和机器所标识的网络钓鱼站点和恶意软件站点的动态列表检查所浏览的站点来确定站点是否潜在恶意的。SmartScreen 239可能与试图标识网络钓鱼站点和恶意软件站点的云组件通信。如果发现匹配,SmartScreen 239显示警告以让用户知道该站点可能是恶意的。
SmartScreen 239可以通过对照所报告的恶意软件站点和已知不安全程序的列表检查下载的文件,确定下载的应用或应用安装是否具有潜在恶意。SmartScreen 239可能与云组件通信,该组件尝试标识下载的应用或应用安装是否具有潜在的恶意。如果给出恶意判决,SmartScreen 239显示警告以让用户知道该站点或应用可能具有恶意。SmartScreen239可能会对照许多Windows用户下载的已知文件列表检查下载的文件。如果该文件不在列表中,SmartScreen 239显示警告,建议谨慎。
外壳是操作***中允许用户与操作***通信的部分,包括内核。操作***组件220还包括可以被认为是OS外壳的一部分的组件,例如用户接口组件222、剪贴板224、通知组件226和授权对话框228。用户接口组件222为操作***提供主用户接口,例如WINDOWS中的桌面。剪贴板224中的接口特征可以在操作***用户接口和/或应用接口中捕获对象(文件、文本、图像)并对捕获的对象执行操作(复制、剪切、移动)。例如,剪贴板224可以允许用户将文本从第一应用接口复制到不同的接口或第一应用接口中的不同位置。通知组件226管理通过操作***提供的通知。通知可以源自应用或服务,例如电子邮件应用或社交媒体服务。通知可以允许用户提供信息,并且可以是潜在的网络钓鱼源,例如通过受感染的应用。授权对话框228允许用户向各种实体和组件提供和/或确认用于验证用户的信息。
在其它组件中,硬件层包括CPU、存储器和存储252、指针254、键盘256和网络接口控制器(NIC)258,CPU、存储器和存储可以类似于图17中描述的那些。指针254可以是鼠标、跟踪球、触摸屏、触摸板、自然用户输入(例如,手势)接口或控制接口指针位置的一些其它输入设备。键盘256可以是物理键盘或触摸屏键盘。
NIC 258(也称为网卡、网络适配器、局域网适配器或物理网络接口,以及类似的术语)是将计算机连接到计算机网络的计算机硬件组件。NIC允许计算机通过计算机网络进行通信,无论是使用电缆还是无线。NIC可以是物理层和数据链路层设备,因为它提供对网络介质的物理访问,并且对于IEEE802和类似网络,通过使用唯一分配给网络接口的MAC地址提供低级寻址***。
示例应用包括电子表格应用210、网络浏览器212、文字处理器应用214和视频会议平台216。这些应用可以是由本文所描述的技术所检测到的网络钓鱼攻击的来源。
图2示出了来自键盘256的输入信号如何通过操作***通信到应用。在所示的示例中,在键盘256上输进击键,这导致信号被发送到输入组件246。输入组件246从键盘驱动器(未示出)接收信号(例如,扫描码),并且可以将其转换为标识由击键指示的字符的新信号,例如,作为Unicode文本。然后,该字符被传递到活动应用(输入被被寻址到的应用),在这种情况下,该应用是文字处理器214。文字处理器214然后基于击键采取动作(例如,在活动文档中输进击键)。图2中所示的流程可以通过与本文所描述的技术分开发生的典型通信。
图3显示了本文所描述的技术的各方面使用输入组件246将击键复制到LSASS234。如前所述,击键也被发送到文字处理器214。LSASS234可以维护存储所接收的最后x个击键的击键缓冲。
参考图5显示了示例性击键缓冲。可以看出,击键缓冲存储所接收的最后11个字符。该技术的各方面可以与不同尺寸的缓冲一起工作。在各方面,缓冲保持与被监控的最长凭证一样或更多的击键。随着每个新击键,缓冲的内容被更新以包含最近的击键并移除最旧的击键。在第一时间点,第一内容510以句点开始并以字母“o”结束。在第二时间点,第二内容512以“o”开始并以空格结束。该内容反映了用户输进击键“r”和空格,导致句点和“c”被移除。在第三时间点,第三内容514反映了退格键的条目以删除空格并***“d”。这示出了涉及退格键的击键缓冲管理的特殊情况。当按下退格键时,输进的最后的字母被删除,但退格键本身不会作为击键被输进到击键缓冲中。其他控制键,诸如shift、cap lock等,可以从缓冲中被省略。
在图4中,从击键缓冲生成击键哈希,并将其与一个或多个凭证的哈希比较。备选地或附加地,可以将部分关键字的哈希与针对击键缓冲的哈希比较。在这两种情况下,哈希是由相同数目的字符生成的。例如,如果密码涵盖八个字符,则应将来自击键缓冲的八个字符的哈希与密码的哈希比较。可以使用相同的函数生成两个哈希。来自密码的六个字符的部分哈希应与来自缓冲的六个击键的哈希比较。这些选项再次参考图5被示出,其中生成最后六个击键的第一哈希520。最后七个击键的第二哈希522也与最后八个击键的第三哈希524一起生成。这三个哈希可以与不同凭证和/或部分凭证的哈希比较。当来自击键缓冲的哈希与凭证的哈希匹配时,则凭证条目事件被标识,并且威胁评估被处罚。随后参考图10-图16示出各种威胁评估。
威胁评估功能可以与LSASS234和SmartScreen 239合作。最初,击键被通信到秘密过滤器,该秘密过滤器可以是LSASS234的一部分。秘密过滤器将击键哈希与凭证哈希比较,并确定是否已键入凭证。当识别到凭证时,威胁评估引擎执行威胁评估。
威胁评估引擎使用应用上下文和网络上下文以及其他数据来标识威胁或缺乏威胁。网络传感器可以从内核网络传感器和可能的其他操作***组件接收网络状态信息。网络状态信息可以包含URL、IP地址、过程ID、SNI、域信息(例如域名)以及外部资源之间正在进行的通信会话的其他特征。
应用上下文传感器取回针对正在输进凭证的应用的状态信息。应用上下文传感器可以执行过程映射以确定何种过程与威胁相关。例如,应用上下文传感器可以将所检测到的输入(例如,击键)映射到网络连接。输入条目可能发生在一个过程中,并经由相同的过程或完全不同的过程(例如,网络代理过程)流经网络。应用上下文传感器提供对此流的见解,以标识相关网络连接的集合。一旦相关的网络连接被标识,就可以使用这些连接构建网络上下文。应用上下文传感器所标识的见解包含但不限于过程树、应用过程模型、过程间通信、API表面、过程启动命令行参数、过程调用源(即由文件管理器、Outlook等其他应用启动)、相关联的I/O句柄以及函数调用堆栈。
在另一个映射示例中,应用上下文传感器可以将输入映射到已知的安全模式,以发现潜在的不安全情况。针对给定应用的合法凭证条目通常根据众所周知的模式发生,其中与模式的偏差可能指示不安全的行为。例如,文字处理应用中的凭证条目应该发生在凭据对话框过程或被托管在WebView过程中的登录页面中。所有其他凭证条目都可能是不安全的。例如,凭证条目进入托管文档正文的过程暗示密码缓存。针对消息传递应用存在类似的安全/不安全模式(即通过托管在WebView过程内的对话框的安全凭证条目与托管在聊天窗口过程内的对话框的安全凭证条目)。函数调用堆栈也可被用于确定安全/不安全上下文。与应用通常如何请求凭证(即函数foo调用函数foobar)相关联的所观察到的函数调用堆栈可能被归类为安全的。任何其他调用堆栈可能是不安全的。
应用上下文数据存储存储有关威胁性和非威胁性应用上下文的信息。例如,应用上下文数据存储可以存储期望密码条目的应用上下文。如果正在输进密码,并且应用上下文与期望的密码条目的上下文不匹配,则可能会导致威胁检测,这取决于考虑的其他因素。数据采集管理器收集应用和网络上下文数据,并可以将其预处理为适合分析引擎的格式。会话管理器监督威胁检测,并将所检测到的应用上下文、网络上下文和凭证传递给分析引擎。分析引擎确定是否存在威胁。在一方面,通过分析定义威胁的一系列规则来检测威胁。这些规则可能会导致对所检测到的凭证条目的分配归类。在其他可能的归类中,威胁评估可能会将凭证输入归类为有效/无效位置、安全/不安全应用、无效证书、密码重用、不受信任、已知恶意和未知。
如本文所用,当凭证与与凭证相关联的组织所使用的适当身份提供方和验证服务器匹配时,将分配有效位置归类。例如,login.microsoft.com与MICROSOFT相关联。当输进与用户的MICROSOFT账户相关联的凭证时,当网络上下文显示凭证正在被通信到login.microsoft.com,则凭证条目事件可能被归类为有效位置。如果网络上下文显示与凭证组织无关的URL或其他特征,则该位置可能被归类为无效。无效的归类可能会触发缓解动作,诸如阻碍凭证与URL的通信或凭证的暂停。
如本文所用,安全/不安全应用是检测到密码/凭证条目针对键入纯文本密码是安全或不安全的应用。所涉及的应用可能是凭证所寻址的活动应用。操作***能够确定哪个应用正在接收输入。一些应用可能被归类为针对所有密码不安全,因为它已知被用于网络钓鱼攻击或以其他方式被归类为不安全。
如本文所用,无效证书归类发生在未知为不良的位置具有无效证书时,这可能指示存在潜在的中间人攻击。例如,该位置可能是受信任的网站。证书可能是网络上下文的部分。
如本文所用,当在利用第一组织注册的密码被输进以登录到不同组织的受信任站点时,会发生密码重用。例如,使用MICROSOFT凭证登录Facebook.com可能是密码重用。在这种情况下,用户可能针对两个不同的账户选择了相同的密码,这是一种不安全的做法。一些组织具有禁止员工将组织密码用于其他账户的策略。密码重用的检测可能会导致通知被通信给用户和/或组织。暂停密码是响应检测到密码重用的另一种可能的缓解。如本文所用,密码重用不同于密码历史强制执行,它可能会阻止用户在不同时间在单个***上两次使用相同的密码。例如,每月要求新密码的***可能会阻止用户重用之前在***上所使用的密码。本文所使用的密码重用检测在两个不同***(例如工作账户和社交媒体账户)上单个密码的使用。
如本文所用,当在不受信任的站点上输进密码时(如跟踪已知网络钓鱼站点和/或构成安全风险的站点的源所指示),可能会分配不受信任的归类。SmartScreen是操作***可以使用于存储有关受信任站点和不受信任站点的信息的组件的一个示例。
如本文所用,当在已知恶意站点上输进密码时(如跟踪已知网络钓鱼站点和/或构成安全风险的站点的源所指示),可以分配已知恶意归类。
如本文所用,当密码条目不符合任何可用归类时,可能会分配未知归类。当应用两个或更多归类时,也可以使用未知归类。例如,如果有两个网络连接,其中一个网络连接的评估结果为不受信,而另一个网络连接则导致密码重用。
当威胁被检测到时,可以将威胁的存在通信给一个或多个组件或实体。这些组件或实体可能包含缓解组件、UI组件、用户、基于云的企业安全、***管理方等。
图6、图7和8示出了可以被本文所描述的技术检测到的网络钓鱼攻击。在图6中,用户点击来自合法企业的电子邮件600中的立即注册链接。最初,网络钓鱼页面700在图7中打开,要求MICROSOFT凭证。在图8所显示的第二次加载中,合法页面800打开。这种情况可能是由受信任的公司被入侵引起的。黑客可以通过由用于测试网页的不同版本的网页分析来采用A/B测试特征,以展示网络钓鱼页面。本文所描述的技术可以标识这种攻击,因为MICROSOFT账户密码不应与受信任的网页相关联。浏览器的网络上下文将显示受信任的URL,但该URL将与与受监控的凭证相关联的网络上下文不匹配。应当注意,浏览器状态也可能与受监控的凭证条目的预期状态不匹配。典型的安全应用可能会错过该攻击,因为站点证书可能看起来是有序的。此外,安全应用可能不知道哪个密码与哪个服务或应用一起使用。许多安全服务甚至无法识别密码(或其他凭证)已被输进。
现在来看图9,钓鱼网站的检测被示出。最初,一系列击键被通信到LSASS234,其中密码条目与其他组件一起被标识,诸如SmartScreen组件。可以看出,活动应用是网络浏览器212。当密码条目被检测到时,威胁评估被执行。网络浏览器有两个过程正在运行。第一过程可能是不是安全威胁的合法过程。第二过程在输入中被注入了钓鱼代码,可能被通信到两个过程。
网络上下文可以针对两个过程被确定,但显示了来自网络钓鱼代码的网络通信。这些指向网络钓鱼服务器400的通信定义了网络上下文的至少部分。威胁评估引擎可以确定网络地址已经与已知网络钓鱼实体相关联。因为网络上下文的部分涉及已知网络钓鱼实体的地址,所以密码条目可以被标识为威胁。应当注意,正在处理的网络钓鱼代码可能已经欺骗了在网络浏览器中运行的安全功能。网络浏览器可能无法确定针对计算设备的整个网络上下文。利用本文所描述的技术,因为操作***级别的网络传感器能够确定针对设备的整个网络上下文,并标识指向网络钓鱼组件400的一些网络流量。即使网络钓鱼服务器400不在已知网络钓鱼服务器列表中,如果网络上下文与所检测到的凭证的条目的预期上下文不匹配,威胁仍然可以被检测到。针对所检测到的凭证的条目的完整上下文还可以包含网络浏览器的应用上下文,其中包含正在被展示的页面或正在运行的应用。
现在来看图10,对中间人攻击的检测被示出。中间人攻击需要受害者,即受害者试图与之通信的实体,以及拦截受害者通信的“中间人”。受害不知道中间人的存在。通过浏览器中的人攻击(MITB),攻击者需要一种方法将恶意软件或恶意软件注入受害者的计算机或移动设备。通过点击网络钓鱼消息中的链接或打开附件,用户可以无意地将恶意软件加载到他们的设备上。然后,恶意软件会在用户不知情的情况下安装在浏览器上。恶意软件记录受害者与特定目标网站(诸如金融机构)之间发送的数据,并将其传送给攻击者。这种情况下的恶意软件是被加载到浏览器中的网络钓鱼代码。
最初,一系列击键被通信到LSASS234,其中密码条目与其他组件一起被标识,SmartScreen组件。可以看出,活动应用是网络浏览器212。图10中的安排和通信与图9中的安排和通信类似,不同之处在于图9中的攻击是基于网络钓鱼网站。在图10中,网站是安全的,但浏览器中的恶意软件代码复制击键并将其发送到目的地——网络钓鱼服务器400,该目的地不适合应用上下文,也可能在已标识的网络钓鱼列表中。
现在来看图11,在文档中网络钓鱼攻击的检测被示出。最初,一系列击键被通信到LSASS234,其中密码条目与其他组件(例如SmartScreen组件)一起被标识。可以看出,活动应用是文字处理器214。在这种情况下,可能不涉及网络上下文。仅仅检测用户在文档中输进密码,即使是纯文本也可能足以标识威胁。换句话说,在密码的条目适当的情况下,可能不存在针对应用的上下文。在其他情况下,诸如当应用作为服务被提供时,密码的条目可能在某些上下文中是合适的。在这些情况下,与密码条目一致的所存储得应用状态可以与输进密码时的实际状态比较,以确定是否存在威胁。在某些情况下,这可能只是用户的不良安全实践,而不是网络钓鱼攻击。但是,网络钓鱼攻击可以通过具有生成网络钓鱼接口的宏的文档和其他文件发生。该接口可能会要求提供凭证以打开文档或执行其他动作。宏可以采集凭证并经由电子邮件或其他方法通信。
现在来看图12,在视频平台中网络钓鱼攻击的检测被示出。最初,一系列击键被通信到LSASS234,其中密码条目与其他组件(例如SmartScreen组件)一起被标识。可以看出,活动应用是视频会议平台216。在这种情况下,可能不涉及网络上下文。简单地检测用户在聊天中输进密码可能足以标识威胁。换句话说,在密码的条目适当的情况下,可能不存在针对应用的上下文。在其他情况下,诸如当应用作为服务被提供时,密码的条目可能在某些上下文中是合适的。在这些情况下,与密码条目一致的所存储得应用状态可以与输进密码时的实际状态比较,以确定是否存在威胁。在某些情况下,这可能只是用户的不良安全实践,而不是网络钓鱼攻击。然而,网络钓鱼攻击可以通过视频聊天发生,诸如当实体冒充提供技术支持时。平台上的宏还可以生成请求密码的接口。接口可能会要求加入会议、录制或采取其他动作的凭证。宏可以采集凭证并经由电子邮件或其他方法通信。
现在来看图13,在操作***通知中网络钓鱼攻击的检测被示出。最初,一系列击键被通信到LSASS234,其中密码条目与其他组件一起被标识,例如SmartScreen组件。可以看出,活动功能是操作***通知功能226。一些合法的通知可能会要求用户输进凭证,例如,在以前的密码条目生成的令牌过期之后。网络上下文可以被确定。应当注意,指向网络钓鱼服务器400的通信至少定义了网络上下文的部分。威胁评估引擎可以确定网络地址已经与已知的网络钓鱼实体相关联。因为网络上下文的部分涉及已知网络钓鱼实体的地址,密码条目可以被标识为威胁。利用本文所描述的技术,因为操作***级别的网络传感器能够确定针对设备的整个网络上下文,并标识指向网络钓鱼组件400的一些网络流量。这允许网络钓鱼尝试被正确标识和缓解。即使网络钓鱼服务器400不在已知网络钓鱼服务器列表中,如果网络上下文与所检测到的凭证的条目的预期上下文不匹配,威胁仍然可以被检测到。针对所检测到的凭证的条目的完整上下文还可以包含网络浏览器的应用上下文,其中包含正在被展示的页面或正在运行的应用。
现在来看图14,密码重用的检测被示出。最初,一系列击键被通信到LSASS234,其中密码条目与其他组件一起被标识,诸如SmartScreen组件。可以看出,活动应用是网络浏览器212。当密码条目被检测到时,威胁评估被执行。网络浏览器具有正在运行的两个过程,但在这种情况下,两者都是合法的。
网络上下文可以针对两个过程被确定。威胁评估引擎可能标识来自受信任的来源的网络地址,但不是与密码相关联的受信任的来源。这可能指示密码重用,即一个人在多个账户中使用相同的密码时发生。在这种情况下,缓解步骤可能包含通知用户和***管理方。
现在来看图15,非威胁性密码使用的检测被示出。最初,一系列击键被通信到LSASS234,其中密码条目与其他组件一起被标识,诸如SmartScreen组件。可以看出,活动应用是网络浏览器212。当密码条目被检测到时,威胁评估被执行。网络浏览器具有正在运行的两个过程,但在这种情况下,两者都被连接到合法的验证站点。
网络上下文可以针对两个过程被确定。威胁评估引擎可能标识来自受信任的来源的网络地址,即预期与密码一起被使用的来源。在这种情况下,不需要采取任何缓解,但可以收集应用和网络上下文以帮助细化用于密码的使用的正确的网络和应用上下文。
示例方法
现在参考图16、图18和图19,本文所描述的方法1600、1800和1900的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由执行被存储在存储器中的指令的处理器执行。这些方法也可以体现为被存储在计算机存储介质上的计算机可用指令。该方法可以由操作***提供。此外,方法1600、1800和1900以示例的方式描述了图1-图15。然而,这些方法可以附加地或备选地由任何一个***或任何***组合执行,包含但不限于本文所描述的那些***。
图16是根据本公开的一些实施例显示的用于检测分析凭证输入的方法1600的流程图。方法1600可以在类似于参考图1-图15所描述的***上或与类似的***一起被执行。特别地,方法1600可以由一个或多个操作***组件执行。
方法1600在框1610包含接收针对计算设备的输入。输入可以是包括字符、数字和符号的文本输入。在一方面,文本输入从硬键盘或软键盘被接收。本文所描述的技术通过在操作***级别分析所接收的用户输入来标识和缓解网络钓鱼尝试。在操作***级别接收输入时,允许检测可能无法被应用级别的输入分析所检测到的威胁。文本输入可以通过真实或虚拟键盘或通过其他方式(例如,手势接口、语音到文本)输入。文本输入可以从用于发起文本输入的字符的输入设备的硬件驱动器被接收。文本输入被寻址到在计算***上运行的应用。文本输入可以从操作***被通信到应用。文本输入被定向到应用,而不是直接被通信到操作***。操作***将文本输入通信到应用。
方法1600在框1620包含确定文本输入对应于凭证。如前所述,该步骤可以由操作***组件执行。最初,凭证(诸如用户名或密码)在威胁检测***中被注册。本文所描述的技术的各个方面不限于针对与用户名或密码一起使用。凭证可以是任何类型的秘密或机密信息,诸如社会安全号码、***信息、驾驶执照号码、护照ID,可以由本文所描述的***监控。在一方面,针对操作***的用户名和密码被自动注册。用户接口可以针对用户或其他个人(例如***管理方)被提供,以注册针对监控的附加凭证。
经注册的凭证在凭证数据存储中与用户相关联,本文中可以将其描述为凭证管理器。在一方面,凭证的哈希被存储,而不是凭证被存储。在一方面,凭证的哈希使用第一函数被生成,并被存储以用于与来自用户输入的文本所生成的哈希比较。在凭证条目被检测到时,本文所描述的技术将执行威胁评估,而凭证或凭证哈希不会离开本地操作***。
本文所描述的技术在操作***级别拦截用户输入,生成输入的哈希,并将其与被监控的凭证的哈希比较。在一方面,所接收的最后n个字符的哈希被生成,其中n是凭证的字符长度。例如,输进的最后8个字符的哈希可以被生成,并将其与8个字符密码的哈希比较。在另一方面,少于完整凭证的哈希被生成,并被用于在条目完成之前凭证的潜在条目的检测。例如,4个字符、5个字符、6个字符以及7个字符的哈希可以被生成,以预测8个字符密码的条目。在这种情况下,输入串在与被存储在凭证管理器中的部分凭证的哈希值匹配的字符长度处被哈希处理。
当针对所输进的字符串的哈希与针对被监控的凭证的哈希匹配时,检测到凭证条目。当输进的字符串的哈希与针对部分凭证的哈希匹配时,检测到潜在的凭证条目。
方法1600在框1630包含从操作***网络传感器确定针对应用的当前网络上下文。如前所述,该步骤可以由操作***组件执行。网络传感器可以从内核网络传感器和可能的其他操作***组件接收网络状态信息。网络状态信息可以包含URL、IP地址、过程ID、SNI、域信息(例如域名)以及外部资源之间正在进行的通信会话的其他特征。
方法1600在框1640包含检测当前网络上下文与针对应用的预期网络上下文之间的不匹配。如前所述,该步骤可以由操作***组件执行,可以将当前网络上下文和预期网络上下文的一个或多个属性比较,以检测不匹配。
方法1600在框1650包含响应于当前网络上下文与针对应用的预期网络上下文之间的不匹配,在操作***处标识威胁。在这种情况下,不匹配可以意味着凭证条目没有在正常上下文中完成。异常上下文指示对凭证的安全性或机密性的威胁。如前所述,该步骤可以由操作***组件执行。在一方面,通过分析定义威胁的一系列规则来检测威胁。这些规则可能会导致对所检测到的凭证条目的分配归类。在其他可能的归类中,威胁评估可能会将凭证输入归类为有效/无效位置、安全/不安全应用、无效证书、密码重用、不受信任、已知恶意和未知。
方法1600在框1660包含响应于标识,发起安全缓解。如前所述,该步骤可以由操作***组件执行。当威胁被检测到时,可以采取各种缓解动作。威胁归类可以触发缓解动作,诸如阻碍凭证与URL的通信或凭证的暂停。用户和/或***管理方可以指定在威胁被检测到时所采取的缓解动作。可以为不同的威胁归类指定不同的缓解动作。一种类型的缓解是威胁报告。有用的传感器数据和遥测数据可以被发送到与操作***供应方相关联的云保护服务,以及与管理计算设备的组织(例如雇主)相关联的***管理方。被监控的设备的用户也可以访问相同的信息。网络钓鱼的确定也可以与集中的威胁保护服务共享(考虑到所有合规性和隐私准则),该服务将受益于利用网络钓鱼数据以更好地保护客户免受网络钓鱼的侵害。
缓解动作还可以包含用户认知的努力。从用户的角度来看,网络钓鱼保护可能具有通用(非特定于应用)用户接口,允许阻碍网络钓鱼尝试、更改密码、警告所检测到的风险、网络钓鱼教育以及社会工程培训。对于希望向最终用户分发有针对性的额外安全培训的企业来说,最后两个选项可能很有吸引力。也可以使用特定于应用的用户接口。可以经由公共API启用威胁检测信息的通信。
密码重用的监测可能会导致通知被通信给用户和/或组织。暂停密码是响应检测密码重用或其他威胁的另一可能的缓解。
图18是根据本公开的一些实施例示出的用于检测分析凭证条目的方法1800的流程图。方法1800可以在类似于参考图1-图15所描述的***上或与类似的***一起被执行。特别地,方法1800可以由一个或多个操作***组件执行。
方法1800在框1810包含在计算设备处接收输入。该输入可以是包括字符、数字和符号的文本输入。在一方面,从硬键盘或软键盘接收文本输入。该输入被寻址到应用。如前所述,该步骤可以由操作***组件执行。本文所描述的技术通过在操作***级别分析所接收的用户输入来标识和缓解网络钓鱼尝试。在操作***级别接收输入时,允许检测可能无法被应用级别的输入分析所检测到的威胁。文本输入可以通过真实或虚拟键盘或通过其他方式(例如,手势接口、语音到文本)输入。文本输入可以从用于发起文本输入的字符的输入设备的硬件驱动器被接收。文本输入被寻址到在计算***上运行的应用。文本输入可以从操作***被通信到应用。文本输入被定向到应用,而不是直接被通信到操作***。操作***将文本输入通信到应用。
方法1800在框1820包含确定文本输入对应于凭证。如前所述,该步骤可以由操作***组件执行。最初,凭证(诸如用户名或密码)在威胁检测***中被注册。本文所描述的技术的各个方面不限于针对与用户名或密码一起使用。凭证可以是任何类型的秘密或机密信息,诸如社会安全号码、***信息、驾驶执照号码、护照ID,可以由本文所描述的***监控。在一方面,针对操作***的用户名和密码被自动注册。用户接口可以针对用户或其他个人(例如***管理方)被提供,以注册针对监控的附加凭证。
经注册的凭证与凭证数据存储中的用户相关联。在一些方面,使用第一函数生成凭证的哈希,并将其存储来用于与从用户输入生成的哈希比较。本文所描述的技术在操作***级别拦截用户输入,生成输入的哈希,并将其与被监控的凭证的哈希比较。在一方面,所接收的最后n个字符的哈希被生成,其中n是凭证的字符长度。例如,输进的最后8个字符的哈希可以被生成,并将其与8个字符密码的哈希比较。在另一方面,少于完整凭证的哈希被生成,并被用于在条目完成之前凭证的潜在条目的检测。例如,4个字符、5个字符、6个字符以及7个字符的哈希可以被生成,以预测8个字符密码的条目。在这种情况下,输入串在与被存储在凭证管理器中的部分凭证的哈希值匹配的字符长度处被哈希处理。
当针对所输进的字符串的哈希与针对被监控的凭证的哈希匹配时,检测到凭证条目。当输进的字符串的哈希与针对部分凭证的哈希匹配时,检测到潜在的凭证条目。
方法1800在框1830包含确定针对应用的当前应用上下文,如前所述,该步骤可以由操作***组件执行。应用上下文的特征包含但不限于过程树、应用过程模型、过程间通信、API表面、过程启动命令行参数、过程调用源(即由文件管理器、Outlook等其他应用启动)、相关联的I/O句柄以及函数调用堆栈。
方法1800在框1840包含检测当前应用上下文与针对应用的预期应用上下文之间的不匹配。如前所述,该步骤可以由操作***组件执行。该不匹配可以通过比较预期应用上下文的一个或多个属性与当前应用上下文来检测。
方法1800在框1850包含响应于不匹配,标识威胁。在这种情况下,不匹配可以意味着凭证条目没有在正常上下文中完成。异常上下文指示对凭证的安全性或机密性的威胁。如前所述,该步骤可以由操作***组件执行。在另一映射示例中,应用上下文传感器可以将输入映射到已知的安全模式,以发现潜在的不安全情况。针对给定应用的合法凭证条目通常根据众所周知的模式发生,其中与模式的偏差可能指示不安全的行为。例如,文字处理应用中的凭证条目应该发生在凭据对话框过程或被托管在WebView过程中的登录页面中。所有其他凭证条目都是潜在不安全的。例如,凭证条目进入托管文档正文的过程暗示密码缓存。针对消息传递应用存在类似的安全/不安全模式(即通过托管在WebView过程内的对话框的安全凭证条目与托管在聊天窗口过程内的对话框的安全凭证条目)。函数调用堆栈也可被用于确定安全/不安全上下文。与应用通常如何请求凭证(即函数foo调用函数foobar)相关联的所观察到的函数调用堆栈可能被归类为安全的。任何其他调用堆栈可能是不安全的。
应用上下文数据存储可以存储有关威胁和非威胁应用上下文的信息。例如,应用上下文数据存储可以存储期望输进密码的应用上下文。如果正在输进密码,并且应用上下文与期望输进密码的上下文不匹配,则可能会导致威胁检测,这取决于考虑的其他因素。数据采集管理器收集应用和网络上下文数据,并可以将其预处理为适合分析引擎的格式。在一方面,通过分析定义威胁的一系列规则来检测威胁。这些规则可能导致对所检测到的凭证条目分配归类。在其他可能的归类中,威胁评估可以将凭证输入归类为有效/无效位置、安全/不安全的应用、无效的证书、密码重用、不受信任、已知恶意和未知。
方法1800在框1860包含响应于标识,发起安全缓解。如前所述,该步骤可以由操作***组件执行。当威胁被检测到时,可以采取各种缓解动作。威胁归类可以触发缓解动作,诸如阻碍凭证与URL的通信或凭证的暂停。用户和/或***管理方可以指定在威胁被检测到时所采取的缓解动作。可以为不同的威胁归类指定不同的缓解动作。一种类型的缓解是威胁报告。有用的传感器数据和遥测数据可以被发送到与操作***供应方相关联的云保护服务,以及与管理计算设备的组织(例如雇主)相关联的***管理方。被监控的设备的用户也可以访问相同的信息。网络钓鱼的确定也可以与集中的威胁保护服务共享(考虑到所有合规性和隐私准则),该服务将受益于利用网络钓鱼数据以更好地保护客户免受网络钓鱼的侵害。
缓解动作还可以包含用户认知的努力。从用户的角度来看,网络钓鱼保护可能具有通用(非特定于应用)用户接口,允许阻碍网络钓鱼尝试、更改密码、警告所检测到的风险、网络钓鱼教育以及社会工程培训。对于希望向最终用户分发有针对性的额外安全培训的企业来说,最后两个选项可能很有吸引力。也可以使用特定于应用的用户接口。可以经由公共API启用威胁检测信息的通信。
密码重用的监测可能会导致通知被通信给用户和/或组织。暂停密码是响应检测密码重用或其他威胁的另一可能的缓解。
图19是根据本公开的一些实施例示出的用于检测分析凭证条目的方法1900的流程图。方法1900可以在类似于参考图1-图15所描述的***上或与类似的***一起被执行。特别地,方法1900可以由一个或多个操作***组件执行。
在框1910,方法1900包含在计算设备处接收输入。该输入可以是包括字符、数字和符号的文本输入。在一方面,从硬键盘或软键盘接收文本输入。文本输入被寻址到应用。如前所述,该步骤可以由操作***组件执行。本文所描述的技术通过在操作***级别分析所接收的用户输入来标识和缓解网络钓鱼尝试。在操作***级别接收输入时,允许检测可能无法被应用级别的输入分析所检测到的威胁。文本输入可以通过真实或虚拟键盘或通过其他方式(例如,手势接口、语音到文本)输入。文本输入可以从用于发起文本输入的字符的输入设备的硬件驱动器被接收。文本输入被寻址到在计算***上运行的应用。文本输入可以从操作***被通信到应用。文本输入被定向到应用,而不是直接被通信到操作***。操作***将文本输入通信到应用。
方法1900在框1920包含确定文本输入对应于凭证。如前所述,该步骤可以由操作***组件执行。本文所描述的技术的各个方面不限于针对与用户名或密码一起使用。凭证可以是任何类型的秘密或机密信息,诸如社会安全号码、***信息、驾驶执照号码、护照ID,可以由本文所描述的***监控。在一方面,针对操作***的用户名和密码被自动注册。用户接口可以针对用户或其他个人(例如***管理方)被提供,以注册针对监控的附加凭证
经注册的凭证与凭证数据存储中的用户相关联。在一些方面,使用第一函数生成凭证的哈希,并将其存储来用于与从用户输入生成的哈希比较。本文所描述的技术在操作***级别拦截用户输入,生成输入的哈希,并将其与被监控的凭证的哈希比较。在一方面,所接收的最后n个字符的哈希被生成,其中n是凭证的字符长度。例如,输进的最后8个字符的哈希可以被生成,并将其与8个字符密码的哈希比较。在另一方面,少于完整凭证的哈希被生成,并被用于在条目完成之前凭证的潜在条目的检测。例如,4个字符、5个字符、6个字符以及7个字符的哈希可以被生成,以预测8个字符密码的条目。在这种情况下,输入串在与被存储在凭证管理器中的部分凭证的哈希值匹配的字符长度处被哈希处理。
当针对所输进的字符串的哈希与针对被监控的凭证的哈希匹配时,检测到凭证条目。当输进的字符串的哈希与针对部分凭证的哈希匹配时,检测到潜在的凭证条目。
方法1900在框1930包含确定针对应用的当前应用上下文,如前所述,该步骤可以由操作***组件执行。应用上下文的特征包含但不限于过程树、应用过程模型、过程间通信、API表面、过程启动命令行参数、过程调用源(即由文件管理器、Outlook等其他应用启动)、相关联的I/O句柄以及函数调用堆栈。
方法1900在框1940包含从操作***网络传感器确定针对应用的当前网络上下文。如前所述,该步骤可以由操作***组件执行。网络传感器可以从内核网络传感器和可能的其他操作***组件接收网络状态信息。网络状态信息可以包含URL、IP地址、过程ID、SNI、域信息(例如域名)以及外部资源之间正在进行的通信会话的其他特征。。
方法1900在框1950包含响应于当前网络上下文与针对应用的预期网络上下文之间的不匹配,检测威胁。如前所述,该步骤可以由操作***组件执行。该不匹配可以通过比较预期应用上下文的一个或多个属性与当前应用上下文来检测。
方法1900在框1960包含响应于不匹配,在操作***处标识威胁。在这种情况下,不匹配可以意味着凭证条目没有在正常上下文中完成。异常上下文指示对凭证的安全性或机密性的威胁。如前所述,该步骤可以由操作***组件执行。在一方面,通过分析定义威胁的一系列规则来检测威胁。这些规则可能会导致对所检测到的凭证条目的分配归类。在其他可能的归类中,威胁评估可能会将凭证输入归类为有效/无效位置、安全/不安全应用、无效证书、密码重用、不受信任、已知恶意和未知。
方法1900在框1970包含响应于由操作***标识、发起的安全缓解。如前所述,该步骤可以由操作***组件执行。当威胁被检测到时,可以采取各种缓解动作。威胁归类可以触发缓解动作,诸如阻碍凭证与URL的通信或凭证的暂停。用户和/或***管理方可以指定在威胁被检测到时所采取的缓解动作。可以为不同的威胁归类指定不同的缓解动作。一种类型的缓解是威胁报告。有用的传感器数据和遥测数据可以被发送到与操作***供应方相关联的云保护服务,以及与管理计算设备的组织(例如雇主)相关联的***管理方。被监控的设备的用户也可以访问相同的信息。网络钓鱼的确定也可以与集中的威胁保护服务共享(考虑到所有合规性和隐私准则),该服务将受益于利用网络钓鱼数据以更好地保护客户免受网络钓鱼的侵害。
缓解动作还可以包含用户认知的努力。从用户的角度来看,网络钓鱼保护可能具有通用(非特定于应用)用户接口,允许阻碍网络钓鱼尝试、更改密码、警告所检测到的风险、网络钓鱼教育以及社会工程培训。对于希望向最终用户分发有针对性的额外安全培训的企业来说,最后两个选项可能很有吸引力。也可以使用特定于应用的用户接口。可以经由公共API启用威胁检测信息的通信。
密码重用的监测可能会导致通知被通信给用户和/或组织。暂停密码是响应检测密码重用或其他威胁的另一可能的缓解。
示例性操作环境
总体参考附图,特别是最初参考图17,用于实现本文所描述的技术的方面的示例性操作环境被示出,并一般定名为计算设备1700。计算设备1700只是合适的计算环境的一个示例,并不旨在对本文所描述的技术的使用范围提出任何限制。计算设备1700也不应被解释为具有与所示出组件的任何一个组件或组合相关的任何依赖性或要求。
本文所描述的技术可以在计算机代码或机器可使用指令的一般上下文中被描述,包含计算机可执行指令,例如程序组件,由计算机或其他机器执行,诸如个人数据助手或其他手持设备。通常,程序组件,包含例程、程序、对象、组件、数据结构等,是指代执行特定任务或实现特定抽象数据类型的代码。本文所描述的技术可以在多种***配置中被实践的,包含手持设备、消费电子产品、通用计算机、专用计算设备等。本文所描述的技术的各个方面也可以在分布式计算环境中被实践,其中任务由通过通信网络被链接的远程处理设备执行。
继续参考图17,计算设备1700包含总线1710,总线1710直接或间接地被耦合到以下设备:存储器1712、一个或多个处理器1714、一个或多个展示组件1716、输入/输出(I/O)端口1718、I/O组件1720,以及说明性电源供应1722。总线1710表示一个或多个总线(诸如地址总线、数据总线或其组合)。尽管为了清楚起见,图17的各种框利用线显示,但实际上,描绘各种组件并不那么清楚,并且比喻地说,这些线将更准确地是灰色和模糊的。例如,可以将诸如显示设备等展示组件视为I/O组件。此外,处理器具有存储器。本申请的发明人认识到这是本领域的本质,并重申图17的图仅仅示出了可以结合本文所描述的技术的一个或多个方面使用的示例性计算设备。在诸如“工作站”、“服务器”、“膝上型电脑”、“手持设备”等类别之间没有区别,因为所有这些类别都在图17的范围内,并指代“计算机”或“计算设备”。
计算设备1700通常包含多种计算机可读介质。计算机可读介质可以是可由计算设备1700访问的任何可用介质,并且包含易失性和非易失性、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包含易失性和非易失性、可移动和不可移动介质,这些介质以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现。
计算机存储介质包含RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储器、盒式磁带、磁带、磁盘存储器或其他磁存储设备。计算机存储介质不包括传播的数据信号。
通信介质通常体现计算机可读指令、数据结构、程序模块或调制数据信号(诸如载波或其他传输机制)中的其他数据,并包含任何信息分发介质。术语“调制数据信号”意味着以编码信号中的信息的方式设置或更改其一个或多个特性的信号。作为示例而非限制,通信介质包含有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、RF、红外线和其他无线介质)。上述任何介质的组合也应被包含在计算机可读介质的范围内。
存储器1712包含易失性和/或非易失性存储器形式的计算机存储介质。存储器1712可以是可移动的、不可移动的或它们的组合。示例性存储器包含固态存储器、硬盘驱动器、光盘驱动器等。计算设备1700包含从诸如总线1710、存储器1712或I/O组件1720之类的各种实体读取数据的一个或多个处理器1714。展示组件1716向用户或其他设备展示数据指示。示例性展示组件1716包含显示设备、扬声器、打印组件、振动组件等。I/O端口1718允许计算设备1700逻辑地被耦合到其他设备,包含I/O组件1720,其中一些组件可以内置。
示例性I/O组件包含麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、显示设备、无线设备、控制器(例如触控笔、键盘和鼠标)、自然用户接口(NUI)等。在各方面,提供了笔数字化仪(未显示)和伴随的输入仪器(也未显示,但可以包括,仅作为示例,笔或触控笔),以便数字地捕获手绘用户输入。笔数字化仪和处理器1714之间的连接可以是直接的或经由使用串行端口、并行端口和/或本领域已知的其他接口和/或***总线的耦合。此外,数字化仪输入组件可以是与诸如显示设备的输出组件分离的组件,或者在一些方面,数字化仪的可用输入区域可以与显示设备的显示区域共存、与显示设备集成、或者可以作为覆盖或附加到显示设备的单独设备存在。任何和所有这种变体,以及它们的任何组合,都被认为在本文所描述的技术方面的范围内。
NUI处理用户生成的空气手势、语音或其他生理输入。适当的NUI输入可以被解释为用于与计算设备1700相关联地展示的墨水击键。这些请求可以被传送到适当的网络元件以作进一步处理。NUI实现语音识别、触摸和触笔识别、面部识别、生物特征识别、屏幕上和屏幕附近的手势识别、空气手势、头部和眼睛跟踪以及与计算设备1700上的显示器相关联的触摸识别的任何组合。计算设备1700可以配备深度相机,例如立体相机***、红外相机***、RGB相机***以及这些相机的组合,用于手势检测和识别。附加地,计算设备1700可以配备能够检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可以被提供给计算设备1700的显示器以呈现身临其境的增强现实或虚拟现实。
计算设备可以包含无线电1724。无线电1724传送和接收无线电通信。计算设备可以是适于通过各种无线网络接收通信和介质的无线终端。计算设备1700可以经由无线策略通信,诸如码分多址(“CDMA”)、全球移动通信***(“GSM”)或时分多址(“TDMA”)以及其他策略,以与其他设备通信。无线电通信可以是短距离连接、长距离连接或短距离和长距离无线电信连接的组合。当指代“短”和“长”类型的连接时,并不意味着指两个设备之间的空间关系。相反,通常将短距离和长距离称为不同的类别或类型的连接(即主连接和辅连接)。短距离连接可以包含提供无线通信网络访问的设备(例如移动热点)的连接,诸如使用802.11协议的WLAN连接。与另一计算设备的蓝牙连接是短距离连接的第二示例。远程连接可以包含使用CDMA、GPRS、GSM、TDMA以及802.16策略中的一种或多种的连接。
实施例
实施例1.一个或多个计算机存储介质,包括计算机可执行指令,计算机可执行指令在由计算设备执行时使计算设备的操作***组件执行一种检测和分析凭证输入的方法。该方法包括在在计算设备处接收输入,输入被寻址到应用。该方法还包括确定输入对应于凭证。该方法还包括从由操作***网络传感器提供的数据确定针对应用的当前网络上下文。该方法还包括检测当前网络上下文与针对应用的预期网络上下文之间的不匹配。该方法还包括响应于不匹配,标识威胁。该方法还包括响应于标识,发起安全缓解。
实施例2.根据实施例1所述的介质,其中网络上下文的特征从由以下项组成的组中被选择:URL、IP地址、过程ID、服务器名称指示(SNI)、以及域信息。
实施例3.根据上述任一实施例所述的介质,其中凭证与凭证组织相关联,并且预期网络上下文是与凭证组织相关联的URL。
实施例4.根据上述任一实施例所述的介质,其中输入是针对密码的第一组字符,并且安全缓解是防止密码中的剩余字符的输进。
实施例5.根据上述任一实施例所述的介质,其中输入是针对密码的第一组字符,并且安全缓解是由操作***生成的警告消息。
实施例6.根据上述任一实施例所述的介质,其中方法还包括确定针对应用的当前应用上下文。其中威胁的标识还响应于当前应用上下文和针对应用的预期应用上下文之间的附加不匹配。其中应用上下文的特征从由以下项组成的组中被选择:过程树、应用过程模型、过程间通信、API表面、过程启动命令行参数、过程调用源、相关联的I/O句柄、以及函数调用堆栈。
实施例7.根据实施例1的介质,其中方法还包括利用操作***注册非操作***凭证。
实施例8.一种由操作***组件检测和分析输入的凭证的方法。该方法包括在计算设备处接收输入,输入被寻址到应用。该方法还包括确定输入对应于凭证。该方法还包括确定针对应用的当前应用上下文。该方法还包括检测当前应用上下文与针对应用的预期应用上下文之间的不匹配。该方法还包括响应于不匹配,标识威胁。该方法还包括响应于标识,发起安全缓解。
实施例9.根据上述任一实施例所述的介质,其中应用上下文的特征从由以下项组成的组中被选择:过程树、应用过程模型、过程间通信、API表面、过程启动命令行参数、过程调用源、相关联的I/O句柄以及函数调用堆栈。
实施例10.根据上述任一实施例所述的介质,其中预期应用上下文是具有第一特性的函数调用堆栈,并且当前应用上下文不包括第一特性。
实施例11.根据上述任一实施例所述的介质,其中预期应用上下文是输入被输进到第一过程中,并且当前应用上下文是输入被输进到不同于第一过程的第二过程中。
实施例12.根据实施例11所述的方法,其中第一过程是凭证对话框输进过程。
实施例13.根据上述任一实施例所述的方法,其中凭证是密码,并且威胁是密码重用。
实施例14.根据上述任一实施例所述的介质,还包括从由操作***网络传感器提供的数据确定针对应用的当前网络上下文,其中威胁的标识还响应于当前网络上下文和针对应用的预期网络上下文之间的附加不匹配,其中网络上下文的特征从由以下项组成的组中被选择:URL、IP地址、过程ID、服务器名称指示(SNI)、以及域信息。
实施例15.一种***,包括:一个或多个硬件处理器;以及
一个或多个计算机可读介质,具有用于体现在其上的操作***组件的可执行指令,在由一个或多个处理器执行时,使一个或多个硬件处理器执行包括在***处接收输入的动作,输入被寻址到应用。动作还包括确定输入对应于凭证。动作还包括确定应用的当前应用上下文。动作还包括从由操作***网络传感器提供的数据确定针对应用的当前网络上下文。动作还包括检测当前网络上下文与针对当前应用上下文的预期网络上下文之间的不匹配。动作还包括响应于不匹配,标识威胁。动作还包括响应于标识,发起安全缓解。
实施例16.根据上述任一实施例的***,其中应用上下文的特征从由以下项组成的组中被选择:过程树、应用过程模型、过程间通信、API表面、过程启动命令行参数、过程调用源、相关联的I/O句柄、以及函数调用堆栈。
实施例17.根据上述任一实施例的***,其中网络上下文的特征从由以下项组成的组中被选择:URL、IP地址、过程ID、服务器名称指示(SNI)、以及域信息。
实施例18.根据上述任一实施例的***,其中针对凭证的预期应用上下文是将密码注入到第一应用中,以及当前应用上下文是将凭证注入到第二应用中。
实施例19.根据上述任一实施例的***,其中凭证是密码,并且威胁是针对密码的不安全应用,其中不安全应用未被授权接收密码。
实施例20.根据上述任一实施例的***,其中方法还包括向操作***注册非操作***凭证。
本文所描述的技术已经针对特定方面进行了描述,这些方面在所有方面都是说明性的而不是限制性的。虽然本文所描述的技术容易受到各种修改和备选结构的影响,但其某些图示方面在附图中并已在上面详细描述。然而,应该理解的是,本文无意将所描述的技术限制为所公开的特定形式,相反,本文的意图是涵盖所有在本文所描述的技术的精神和范围内的修改、备选结构和等价物。
Claims (14)
1.一个或多个计算机存储介质,包括计算机可执行指令,所述计算机可执行指令在由计算设备执行时使所述计算设备的操作***组件执行一种检测和分析凭证输入的方法,所述方法包括:
在所述计算设备处接收输入,所述输入被寻址到应用;
确定所述输入对应于凭证;
从由操作***网络传感器提供的数据确定针对所述应用的当前网络上下文;
检测所述当前网络上下文与针对所述应用的预期网络上下文之间的不匹配;
响应于所述不匹配,标识威胁;以及
响应于所述标识,发起安全缓解。
2.根据权利要求1所述的介质,其中网络上下文的特征从由以下项组成的组中被选择:URL、IP地址、过程ID、服务器名称指示(SNI)、以及域信息。
3.根据权利要求1所述的介质,其中所述凭证与凭证组织相关联,并且所述预期网络上下文是与所述凭证组织相关联的URL。
4.根据权利要求1所述的介质,其中所述输入是针对密码的第一组字符,并且所述安全缓解是防止所述密码中的剩余字符的输进。
5.根据权利要求1所述的介质,其中所述输入是针对密码的第一组字符,并且所述安全缓解是由所述操作***生成的警告消息。
6.根据权利要求1所述的介质,其中所述方法还包括:
确定针对所述应用的当前应用上下文;
其中所述威胁的所述标识还响应于所述当前应用上下文和针对所述应用的预期应用上下文之间的附加不匹配;并且
其中应用上下文的特征从由以下项组成的组中被选择:过程树、应用过程模型、过程间通信、API表面、过程启动命令行参数、过程调用源、相关联的I/O句柄、以及函数调用堆栈。
7.根据权利要求1所述的介质,其中所述方法还包括利用所述操作***注册非操作***凭证。
8.一种由操作***组件检测和分析输入的凭证的方法,所述方法包括:
在计算设备处接收输入,所述输入被寻址到应用;
确定所述输入对应于凭证;
确定针对所述应用的当前应用上下文;
检测所述当前应用上下文与针对所述应用的预期应用上下文之间的不匹配;
响应于所述不匹配,标识威胁;以及
响应于所述标识,发起安全缓解。
9.根据权利要求8所述的方法,其中应用上下文的特征从由以下项组成的组中被选择:过程树、应用过程模型、过程间通信、API表面、过程启动命令行参数、过程调用源、相关联的I/O句柄以及函数调用堆栈。
10.根据权利要求8所述的方法,其中所述预期应用上下文是具有第一特性的函数调用堆栈,并且所述当前应用上下文不包括所述第一特性。
11.根据权利要求8所述的方法,其中所述预期应用上下文是所述输入被输进到第一过程中,并且所述当前应用上下文是所述输入被输进到不同于所述第一过程的第二过程中。
12.根据权利要求11所述的方法,其中所述第一过程是凭证对话框输进过程。
13.根据权利要求8所述的方法,其中所述凭证是密码,并且所述威胁是密码重用。
14.根据权利要求8所述的方法,还包括:
从由操作***网络传感器提供的数据确定针对所述应用的当前网络上下文;
其中所述威胁的所述标识还响应于所述当前网络上下文和针对所述应用的预期网络上下文之间的附加不匹配;并且
其中网络上下文的特征从由以下项组成的组中被选择:URL、IP地址、过程ID、服务器名称指示(SNI)、以及域信息。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/245,598 | 2021-09-17 | ||
US17/685,697 | 2022-03-03 | ||
US17/685,697 US20230283633A1 (en) | 2021-09-17 | 2022-03-03 | Credential input detection and threat analysis |
PCT/US2022/041143 WO2023043584A1 (en) | 2021-09-17 | 2022-08-23 | Credential input detection and threat analysis |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117917043A true CN117917043A (zh) | 2024-04-19 |
Family
ID=90697611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280059733.5A Pending CN117917043A (zh) | 2021-09-17 | 2022-08-23 | 凭证输入检测和威胁分析 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117917043A (zh) |
-
2022
- 2022-08-23 CN CN202280059733.5A patent/CN117917043A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7402183B2 (ja) | 小さいフットプリントのエンドポイント・データ損失防止(dlp) | |
US10375116B2 (en) | System and method to provide server control for access to mobile client data | |
US12041067B2 (en) | Behavior detection and verification | |
EP3029593B1 (en) | System and method of limiting the operation of trusted applications in the presence of suspicious programs | |
RU2618946C1 (ru) | Способ блокировки доступа к данным на мобильных устройствах с использованием API для пользователей с ограниченными возможностями | |
US11134087B2 (en) | System identifying ingress of protected data to mitigate security breaches | |
US11824878B2 (en) | Malware detection at endpoint devices | |
US11038896B2 (en) | Adaptive multi-factor authentication system with multi-user permission strategy to access sensitive information | |
US20040225877A1 (en) | Method and system for protecting computer system from malicious software operation | |
US10102362B2 (en) | Method and system of silent biometric security privacy protection for smart devices | |
US11381972B2 (en) | Optimizing authentication and management of wireless devices in zero trust computing environments | |
US11973796B2 (en) | Dangling domain detection and access mitigation | |
US20200257811A1 (en) | System and method for performing a task based on access rights determined from a danger level of the task | |
Sikder et al. | A survey on android security: development and deployment hindrance and best practices | |
Vecchiato et al. | The perils of Android security configuration | |
US10320829B1 (en) | Comprehensive modeling and mitigation of security risk vulnerabilities in an enterprise network | |
US11595372B1 (en) | Data source driven expected network policy control | |
JP7320462B2 (ja) | アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムおよび方法 | |
US20230315890A1 (en) | Call location based access control of query to database | |
US10313384B1 (en) | Mitigation of security risk vulnerabilities in an enterprise network | |
US20230283633A1 (en) | Credential input detection and threat analysis | |
CN117917043A (zh) | 凭证输入检测和威胁分析 | |
US12013965B2 (en) | Controlling a screenshot function to obfuscate sensitive information in a screenshot | |
CN117882336A (zh) | 基于恶意的用户意图来优化应用安全 |
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 |