CN112910857B - 用于验证安全的方法 - Google Patents

用于验证安全的方法 Download PDF

Info

Publication number
CN112910857B
CN112910857B CN202110064622.0A CN202110064622A CN112910857B CN 112910857 B CN112910857 B CN 112910857B CN 202110064622 A CN202110064622 A CN 202110064622A CN 112910857 B CN112910857 B CN 112910857B
Authority
CN
China
Prior art keywords
application
security
test
client device
verification 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.)
Active
Application number
CN202110064622.0A
Other languages
English (en)
Other versions
CN112910857A (zh
Inventor
I·萨夫鲁蒂
O·伊鲁兹
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.)
Perimeterx Inc
Original Assignee
Perimeterx 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 Perimeterx Inc filed Critical Perimeterx Inc
Priority to CN202110064622.0A priority Critical patent/CN112910857B/zh
Publication of CN112910857A publication Critical patent/CN112910857A/zh
Application granted granted Critical
Publication of CN112910857B publication Critical patent/CN112910857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种客户端设备经由用户代理应用访问内容并且在远程应用服务器处执行操作。应用服务器将用户代理应用引导到安全验证系统以取回和执行安全测试。安全验证系统从用户代理应用接收描述用户代理应用的特征的信息,并且安全验证系统选择要由在用户代理应用中执行的安全模块执行的安全测试集合,以验证用户代理应用正在访问与所描述的用户代理应用一致的应用服务器。安全验证系统比较测试结果集合与其他用户代理应用,并且向用户代理应用提供令牌以访问应用服务器。安全模块还可以监测用户代理应用的动作,以准许安全验证系统修改或撤销令牌。

Description

用于验证安全的方法
本申请是申请日为2015年9月15日、申请号为201580059863.9、发明名称为“分析客户端应用行为以检测异常并且阻止访问”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求于2014年9月15日提交的美国临时申请第62/050,449号的权益,其全部内容通过引用并入本文。
背景技术
本发明一般涉及验证在客户端设备上执行的应用的安全,并且更具体地涉及当通过网络访问在应用服务器处的远程服务时验证应用。
应用服务器向客户端设备和在客户端设备上执行的应用提供各种内容和服务。这些应用在本文中被称为用户代理或用户代理应用。如本文中所使用的,用户代理是代表用户动作的软件代理,诸如浏览器或本地应用。作为超文本传输协议(HTTP)的一部分,用户代理通常将发送用户代理HTTP请求以从另一系统请求内容。该请求通常提供描述用户代理的特征的附加数据,诸如提供请求的用户代理的身份、用户代理正在执行的平台(例如,客户端设备的操作系统或特定类型)和用户代理应用的能力(例如,用户代理能够解译什么语言、或什么输入设备或输出设备可用于应用)。这有助于服务器标识用户代理,并且可以让服务器优化对该用户代理的响应。描述用户代理的该数据可以包括在请求中,并且可以是HTTP请求报头的一部分。
应用服务器可以提供HTML或其他网页以供由在客户端设备上执行的用户代理(即,网络浏览器)的解译。这些网页可以提供从安全性和真实性的一些验证中受益的多种类型的服务,诸如银行业务、购物、广告等。从应用服务器的角度看,应用安全的风险包括跨站点脚本执行、病毒、恶意软件和自动机器人。一般而言,攻击可能阻止用户正确观看由应用服务器提供的内容,或者向应用服务器请求或提供未授权的信息。在广告上下文中,自动系统(例如,机器人)对内容或广告的请求可以触发实际用户从未观看过的广告的呈现,错误地触发广告商对投放的支付。
该应用描述了应用服务器或Web服务对各种攻击和安全威胁(诸如,来自潜在恶意的用户代理)的保护,以及保护其客户的用户代理免受如跨站点脚本执行(XSS)或中间人攻击(MitM)之类的各种攻击。
发明内容
客户端设备上的用户代理应用访问应用服务器处的服务。当用户代理应用访问服务并且向客户端设备的用户提供服务时,用户代理应用向安全验证系统请求安全测试集合。在一个实施例中,应用服务器向用户代理应用提供指令以访问来自安全验证系统的安全测试。该指令可以是指示用户代理(例如,经由引导程序代码)访问安全验证系统的脚本。用户代理访问安全验证系统,并且提供用户代理的标识和用户代理的特征。用户代理还可以提供应用服务器的标识或由应用服务器提供的应用事务标识符。安全验证系统从安全测试请求中标识用户代理的特征,并且标识用户代理执行的安全测试集合。
该安全测试集合通过用户代理应用执行,并且测试结果被发送到安全验证系统。安全测试可以通过由用户代理应用执行的脚本或其他安全模块被执行。安全测试评估用户代理应用的各个方面,并且可以确认用户代理是当它请求安全测试时所声称的用户代理,确认用户代理应用正在以预期方式显示并且解译来自应用服务器的服务,确认用户代理应用实际上正在由用户操作等。为了评估用户代理应用,这些安全测试可以评估用户与用户代理应用的交互,标识用户代理应用对从应用服务器访问的服务的显示,标识用户代理应用与应用服务器的交互,以及标识用户代理应用的执行环境的能力和特征。因此,这些测试可以在用户代理应用访问应用服务器期间评估用户代理应用。
使用测试结果,安全验证系统比较测试结果与针对用户代理的预期测试结果。对比较进行评分,生成针对用户代理的安全令牌并且将安全令牌提供给用户代理应用。令牌本身的存在可以提供对用户代理的验证,而在其他实施例中,令牌可以指定对用户代理或所得到的安全得分执行的特定测试。安全令牌由用户代理应用提供给应用服务器以用于验证,并且应用服务器可以基于令牌来准许或拒绝对应用服务器的进一步访问或者在应用服务器处执行动作。在一个实施例中,安全验证系统不是向客户端设备提供安全令牌或者除了向客户端设备提供安全令牌之外,而是将安全测试数据或得分或其聚合从多个客户端设备提供给应用服务器,以验证访问应用服务器的用户代理应用。在该实施例中,应用服务器可以为了其他目的而使用该信息来评估用户访问,而不是使用安全测试结果或安全得分来确定是否授予对应用服务器的访问。例如,提供广告的应用服务器可以使用指示非用户(例如,机器人)的访问的测试结果或得分来确定广告商何时不支付广告的投放或点击,或者决定为可疑用户显示不同的内容(通常是更便宜的广告),或将用户引导到另一其他站点或内容。
当用户代理应用不提供与预期结果完全一致的安全测试结果时,安全验证系统可以向客户端设备提供附加的安全测试以供执行,并且可以向用户提供显示可能的安全隐患的通知,这取决于提供未预期结果的具体测试。
在客户端设备处,执行安全测试的安全模块可以向客户端设备提供附加的功能。首先,安全模块可以监测用户代理的动作,并且阻止已知与弱点相关联的动作,诸如访问与恶意活动相关联的网络上的另一系统。其次,安全模块可以将令牌插入到与应用服务器的通信中,以将令牌提供给应用服务器并且验证应用服务器的安全测试。最后,安全模块可以监测由用户代理应用执行的动作并且向安全验证系统报告动作。安全验证系统可以重新评分用户代理,并且基于该动作修改或撤销安全令牌。
结果,用户设备的安全可以通过分析在用户代理应用访问应用服务器时的操作的安全验证系统而被验证。因为安全验证系统要求进行安全测试,所以当用户代理标识和特征随时间而改变时,安全验证系统可以向用户代理提供最新的测试并且更新这些测试。通过提供要由用户代理执行的安全模块,安全模块可以阻止附加的篡改,并且确保由安全验证系统提供的令牌被提供给应用服务器。
当没有向应用服务器提供令牌时,应用服务器可以拒绝对其资源的访问,其强制使用由用户代理执行的安全模块。
附图说明
图1图示了根据一个实施例的经由网络访问的应用服务器生态系统。
图2图示了一个实施例中的客户端设备和安全验证系统的部件。
图3示出了根据一个实施例的客户端安全模块202的部件。
图4示出了根据一个实施例的包括安全加载器的网页。
图5示出了根据一个实施例的在应用服务器、客户端设备和安全验证系统之间的交互图。
图6示出了应用服务器直接从安全验证系统接收安全得分或测试验证信息的环境。
仅出于说明的目的,附图描绘了本发明的各种实施例。本领域技术人员将从以下讨论中容易地认识到,在不背离本文所描述的本发明的原理的情况下,可以采用本文所说明的结构和方法的备选实施例。
具体实施方式
图1图示了根据一个实施例的经由网络访问的应用服务器生态系统。
在这种环境中,客户端设备100执行从一个或多个应用服务器116请求应用服务的用户代理应用。当客户端设备访问来自应用服务器116的资源时,在客户端设备100上执行的用户代理应用从安全验证系统120接收安全模块,并且执行由安全验证系统120指定的一系列测试。通常,这些测试可以描述当使用如由在客户端设备上执行的用户代理应用解译的资源时客户端设备的操作环境。例如,由应用服务器116提供的资源可以包括具有超文本和各种脚本的网页,以供客户端设备100执行。作为示例,由安全验证系统120指定的测试在为用户渲染网页和脚本时标识应用的特征。如下文进一步描述的,安全验证系统120验证这些测试的结果,并且确定应用资源呈现给用户的真实性,以及验证用户的应用是否按预期操作。
指示客户端环境(左上方)的客户端设备100的应用浏览器是安装有访问应用服务器116的用户代理应用的计算设备。这可以是web浏览器或在客户端设备100上执行的其他类型的本地应用。
在该示例中,当客户端设备访问应用服务器时,它在由URL标识的页面处标识针对特定内容的URL。在web浏览器应用中,这触发由浏览器应用通过诸如因特网之类的网络向应用服务器116发送的HTTP请求。该HTTP请求可以被加密,这种HTTPS连接(超文本传输协议安全)通过安全套接字层(SSL)或传输层安全(TLS)对HTTP进行分层。
在该示例应用服务器生态系统110中,一个或多个应用服务器116向客户端设备100提供所请求的资源。在该示例中,服务器侧资源被图示为应用服务器生态系统110的一部分。在该示例中,经由应用传递控制器114在内容传送网络112处访问应用服务器116。通常,应用服务器116处于(物理或虚拟的)数据中心中,不仅具有web服务器,而且还具有数据库服务器以及应用服务器116访问以提供服务的附加服务。
在该示例中,web服务器的前端是应用传递控制器114,其是通常驻留在数据中心中的设备,该设备前端处理web服务器。应用传递控制器114提供负载平衡服务、安全、高速缓存和其他服务,以管理应用资源的一致传递。
可以有一个或多个应用传递控制器114以提供高可用性和可扩展性的原因。应用传递控制器114服务器还可以是虚拟服务器,例如,当应用被托管在云提供商(比如,基础设施即服务(IaaS)提供商)时。
在该示例中,应用服务器生态系统110还包括内容控制网络112。当客户端设备100请求对应用服务器116的访问时,客户端设备100接收最优CDN服务器的地址(通常,接近用户),并且要么通过返回原始服务器(ADC和Web服务器)要么在内容被高速缓存在CDN服务器处的情况下直接从高速缓存提供服务,该服务器向用户提供网页服务或应用服务。
应用服务器116可以驻留在多个数据中心和虚拟数据中心中,使用几个应用数据控制器或不使用应用数据控制器,使用诸如IaaS、PaaS(平台即服务)或SaaS(软件即服务)之类的云服务,并且还可以利用多个内容传递网络,或根本不使用CDN服务。
图2图示了环境中的客户端设备100和安全验证系统120的部件。在这种环境中,示出了单个应用服务器116,但是可以通过应用服务器生态系统110中所示的实体中的任一实体执行安全实施模块220,该应用服务器生态系统110包括在多个这样的实体上被执行该安全实施模块的实施例。
应用服务器116提供向用户提供内容和服务请求的应用服务模块210。在该示例中,应用服务器116还包括安全实施模块220。安全实施模块220在应用服务器116(或在与应用服务器生态系统110相关联的另一系统处)处实施安全策略。例如,该安全策略可以仅对来自特定集IP地址的请求允许访问特定页面,或者与请求一起提供的请求某个进一步验证(诸如访问令牌),或者使用令牌来限制访问、日志访问或者基于令牌值显示不同的选项。
因此,作为策略实施执行的一部分,安全实施模块220验证诸如由安全验证系统120发布的安全令牌之类的安全令牌。不同实现方式之间的令牌验证可能不同,诸如,一个内容传递网络提供商可以以与另一内容传递网络不同的方式来实现令牌机制和令牌验证,并且各自可以以与特定应用传递控制器实现策略的方式不同的方式进行。一般而言,如下文进一步描述的,可以验证每个令牌以验证其安全(加密强度)、真实性(由安全验证系统120发布的),并且被核准用于应用服务器116的特定内容。
令牌验证验证令牌与请求一起被提供,验证令牌对于所请求的特定URL是有效的,请求在令牌中指示的时间帧内(如果指示),所请求的URL(包括参数,如果有的话)匹配提供令牌的URL模式。附加的条件可能包括地理限制、用户限制等。通常对令牌进行密码签名,使得安全验证系统的安全实施模块220可以验证令牌是有效的并且由安全验证系统120正确地签名,而未经授权的实体难以在其自身上生成有效的令牌。
因此,安全实施模块220从安全验证系统接收由客户端设备提供的令牌,并且确定是否准许对应用服务器116的访问或执行动作。如下文所指出的,当用户代理应用200不提供该令牌时,可以拒绝用户代理应用访问所请求的服务,或者可以提供安全加载器以引导用户代理应用200取回客户端安全模块202,以执行从安全验证系统120取回令牌的适当测试。在一些配置中,应用服务器116分析令牌中包括的安全得分或测试结果,以确定是否授予所请求的访问。例如,得分可能需要高于准许访问的某个阈值,或者可能拒绝不能通过特定测试的用户代理应用的访问。
客户端设备100提供由客户端设备100执行并且由用户操作以访问应用服务器116处的所请求的服务的用户代理应用200。用户代理应用200的操作通过安全验证系统120被分析以确定用户代理应用200是否按预期操作。客户端安全模块202在用户代理应用内执行,并且根据安全验证系统120所指定的测试来分析用户代理应用的操作。在某些情况下,应用服务器116提供用作引导加载器的安全加载器以取回和发起客户端上的客户端安全模块202。比如,当客户端是浏览器时,安全加载器可以是具有与安全验证系统120联系并且请求客户端安全模块202以及在用户代理应用处加载它的基本逻辑的javascript“标签”(短JavaScript代码)。因此,当用户代理应用200是web浏览器,并且可以基于JavaScript代码或来自应用服务器116的其他指令来加载客户端安全模块202。在其他实施例中,用户代理应用200可以是本地应用,诸如移动设备的应用。在这种情况下,安全加载器可以被添加到应用并且被包括作为软件开发者工具包的一部分,而不是从应用服务器116中被取回。在另一实施例中,客户端安全模块202可以是本地应用的一部分,并且能够按照安全验证系统120所指示那样来执行安全测试,而不是从安全验证系统120中取回安全模块202。
当用户代理应用200访问安全验证系统120时,用户代理应用200提供关于用户代理应用200的信息。例如,用户代理应用200可以提供客户端设备的特定模型和类型、客户端设备的操作系统和操作系统版本、用户代理应用的身份和版本、以及用户代理应用的特定能力,诸如执行某些脚本技术的能力。可以例如在HTTP请求报头中提供该信息。用户代理从安全验证系统120中接收要执行的测试集合。安全验证系统120可以提供被配置成执行所要求的测试的客户端安全模块202,或者客户端安全模块202可能已经存在于客户端设备100处并且执行由安全验证系统120请求的测试。由安全验证系统120提供的安全测试可以基于用户代理应用和请求中描述的用户代理应用的特征而不同。因此,测试可以提供信息以确定在客户端设备处执行的测试与预期用户代理应用行为是否一致。
客户端安全模块202挂接到用户代理应用200执行中,并且可以访问各种功能以及评估用户代理应用200的状态。例如,在浏览器应用中,客户端安全模块202可以访问诸如JavaScript引擎之类的浏览器功能、与页面相关联的核心对象(诸如HTML元素、document.cookie等)。然后,客户端安全模块202基于由安全验证系统120提供的测试开始对应用的状态进行剖析。例如,它可以开始标识来自用户代理应用200的出站链接、用户输入行为、页面上的HTML、Javascript(JS)和级联样式表(CSS)元素的数目、页面的不同的文档对象模型(DOM)元素、表单和其他方面。
这些测试可以包括:确定用户代理的各种javascript能力或其他脚本能力,例如,以验证该JavaScript代码在用户代理应用中执行。附加的测试可能特定于所报告的用户代理,例如,尝试访问本地存储或特定对象以及特定于所报告的用户代理的元素。
测试还可以包括:评估关于用户代理及其活动的信息,诸如标识并检查由用户代理维护的特定cookie。
测试还可以跟踪用户活动,诸如鼠标移动、悬停在页面中的特定元素上的鼠标光标、点击活动、不同用户活动的时间特征等。
测试还可以评估用户代理应用的活动的历史,诸如访问特定对象的定时可以指示对象是否已经在高速缓存中(指示它过去已经被用户代理请求)或者用户代理应用是否通过网络取回对象。另一测试是评估浏览器对象,如历史对象。
因此,客户端安全模块202运行如由安全验证系统确定的测试集合以收集数据并且剖析客户端。这些测试将基于客户端(浏览器类型、操作系统(OS)、两者的版本)、基于客户端从应用服务器116请求的特定活动(例如,观看主页、搜索目录或执行某个事务)、以及基于该客户端的已知历史(如果用户代理在过去被验证)而不同。
在一个实施例中,所收集的数据被匿名化,以使其可以被传送并且存储,而不会违反终端用户的隐私。例如,不会收集个人信息,诸如单独键入的键,同时可以使用用户的活动和模式以及环境的指纹(浏览器、OS等)。
由客户端安全模块202收集的各种测试结果被提供给安全验证系统120以剖析特定客户端和当前活动或交互。因此,被收集的特定数据的组合可以指示用户代理应用200是否实际上表现为在其请求验证中所陈述的用户代理应用,或者动作是否不类似于访问该应用服务器116的其他类似的用户代理应用。
安全验证系统120包括用于提供安全测试并且分析客户端设备的所得到的测试的各种模块和数据存储装置。安全验证系统120可以通过多个位置中的、用于各种模块等的多个服务器来实现。服务本身可以包括内容传递网络、应用传递控制器和其他服务或服务器。
安全模块存储装置240维护用于各种用户代理应用200的客户端安全模块202的存储库以及要由客户端安全模块202执行的各种测试的存储库。安全模块存储器240存储多个客户端安全模块202,使得每个用户代理应用可以基于用户代理应用的特征来获得最优客户端安全模块202。诸如,安全模块存储装置240可以包括用于特定用户代理应用的特定版本的特定客户端安全模块202、以及用于该用户代理应用的另一版本的另一客户端安全模块202以及用于不同的用户代理应用的第三客户端安全模块202。
当安全验证系统120从客户端设备100接收到可能来自javascript标签中的安全加载器的安全验证时,由安全请求模块230接收该请求。安全请求模块230作为前端操作以与安全验证系统120的部件协调请求。当接收到安全验证请求时,它被传送到安全选择模块232,该安全选择模块232选择客户端安全模块202和在请求中指定的用户代理应用特征的适当安全测试。该信息可以包括哪个应用服务器116或URL发起安全请求、用户代理应用类型和版本(例如,基于用户代理HTTP请求报头、或来自由安全加载器报告的附加信息)。
当客户端安全模块202向安全验证系统120报告数据时,关于测试结果的所报告的数据被处理、被充实、然后由测试结果更新模块234存储在测试结果存储装置242中。为了充实这些测试结果,客户端安全模块202可以向测试结果添加附加信息,诸如用户代理的IP地址、与该IP地址相关联的地理位置、与IP地址相关联的特定服务、以及可以从访问安全验证系统120中得到的其他信息。使用所存储的数据,可以确定用于各个用户代理应用的简档,以用于访问特定应用服务器116或应用服务器116处的各个资源。这些简档可以使用机器学习技术来生成以确定正常行为。这生成用户代理应用和用户测试结果的基准。测试结果更新模块234控制存储、更新和分析数据以确定用户代理的基准行为和属性以及用户行为的预期模式的过程。
在存储针对给定访问从客户端安全模块202收集的数据之后,通过测试验证模块236分析该数据,该测试验证模块236比较数据与在简档存储装置中迄今收集和分析的数据。如果所接收到的测试结果与预期模式不匹配,则模块将检测到异常。比如,如果客户端正在将自身标识为
Figure GDA0004079294690000111
浏览器,而window.chrome对象(即,已知存在于该类型的特定用户代理应用中的对象)不存在,或者如果客户端安全模块202针对应用服务器116处的特定资源(例如,URL)报告用户代理应用已经使用页面中的17个分区渲染该页面,而通常对于该用户代理应用,报告只用12个分区渲染页面,则可以标识异常。除了基于由客户端安全模块202执行的测试来标识特定异常之外,简档的应用还可以生成测试结果的安全得分。当检测到异常时,测试验证模块236可以指示客户端安全模块202阻止特定事务,或者向用户显示错误消息。
当所报告的测试结果是有效的并且指示用户代理应用200和用户是合法时,生成用户代理应用200的令牌,并且将令牌提供给客户端安全模块202。在其他实施例中,即使在测试结果不指示用户代理应用200的完全有效性的情况下,也可以生成用户代理应用的令牌。在这种情形下,令牌可以嵌入指示测试结果的信息,诸如哪些测试未被通过,或指示用户代理应用200的验证程度的安全得分。
如果测试验证模块236没有达到决定性结果,则它可以继续分析用户代理应用202,直到达到结论为止。测试验证模块236可以发送针对客户端安全模块202的附加的测试以执行并且向安全验证系统120报告。例如,收集和报告附加数据或执行特定任务。例如,如果测试结果指示用户代理应用202中的用户活动似乎不与先前剖析的用户行为相对应,则测试验证模块236可以提供全自动区分计算机和人类的图灵测试(CAPTCHA)。如果测试结果指示用户代理应用未按预期执行脚本功能或者用户代理应用没有预期对象,则附加测试可能包括要由用户代理应用202执行的脚本处理数学问题或者请求执行异常脚本处理功能以确认用户代理应用202可以执行与该用户代理应用相关联的功能,或者以对合法用户可能不明显的但是对于自动攻击者而言是麻烦的且不经济的方式延迟用户代理的脚本。
在另一示例中,测试验证模块236可以等待并收集关于由客户端执行的后续页面或请求的附加数据。在这种情况下,测试验证模块236可以临时准许用户代理应用继续进行,并且生成用户代理应用的令牌。该令牌可能指示用户代理应用未能进行一个或多个测试,或反映较低的安全得分。
在一些情况下,异常实际上可能是由应用服务器116提供的页面或服务被改变的指示,而不是对用户代理应用200有风险或者中间人已经注入了恶意脚本或信息的指示。例如,引入页面的新版本的应用服务器116很可能改变页面中的分区的数目、脚本的数目和页面的布局。
当几个报告显示类似的异常时,测试验证模块236向应用分析模块238报告改变。应用分析模块238可以直接访问应用服务器并且请求页面(或应用)并且对其进行剖析以确定来自应用服务器116的信息是否已经改变。
结果,应用分析模块238可以向通知应用改变的应用的管理员提供警报或通知。这帮助应用服务器116的管理员验证这是否是计划的改变,或者改变是否是攻击的结果。使用由应用分析模块238标识的异常,可以通过测试结果更新模块234生成新的基准。
图3示出了根据一个实施例的客户端安全模块202的部件。用于不同用户代理应用的各种客户端安全模块202可以具有与这些部件相比更多或更少的部件。作为初始安全任务的一部分,用户代理安全模块可以提供对用户代理应用的或来自已知恶意服务器的弱点的附加监控和防范。例如,用户代理安全模块300可以监测从用户代理应用发送数据的所有请求,诸如HTTP POST请求,并且阻止尝试向未知或未授权的服务器发送数据的请求(诸如,不在特定站点的白名单中或如由安全验证系统120检测和剖析的已知服务器的列表的服务器)。
数据收集模块310监测并且观察页面、用户代理应用、以及用户的活动,并且收集该数据,以将数据报告回安全验证系统120。作为数据的示例,该模块可以收集:页面的特征,诸如分区的数目、脚本的数目和页面的其他元素;客户端的特征,诸如指示浏览器类型和版本的特定对象、高速缓存中的对象的存在、推荐人检查(用户来自哪里)、以及特定用户代理的存在,诸如渲染测试和使用画布对象的对象;和用户的活动,诸如鼠标移动、点击、特定动作之间的定时、以及站点内的页面的顺序。由数据收集模块310收集的具体信息可以通过由安全验证系统120指示的测试来指定。
该数据由数据收集模块310聚合,被总结以用于有效传输,并且避免传送秘密或私人信息,诸如由用户键入的特定数据。
一旦所收集的数据被报告给安全验证系统120,安全验证系统120就可以发出令牌并且将其提供给客户端安全模块202。客户端安全模块将令牌存储在安全令牌存储装置330中,该令牌具有标识与使用令牌相关的上下文的参数,诸如令牌有效的时间段以及令牌对其有效的应用服务器116或页面的列表。
一旦令牌可用于特定页面或应用/动作,用户代理修改模块就使用令牌将其附加到由用户代理应用200对应用服务器116所做的特定请求。例如,在在线商店中,当保护将商品添加到购物车的动作时,该特定动作可能需要令牌。用户代理本身可能不包括令牌。一旦在客户端安全模块202中存在适当的令牌,应用修改模块就会修改用户代理应用的请求,例如,通过修改将商品添加到购物车的文档对象模型(DOM)中的代码,通过对其附加令牌。可以通过将令牌添加到URL,通过创建包含令牌的cookie,或以令牌进行验证的任何其他格式或方法来附加令牌。
用户代理修改模块320还可以在相反的情况下修改应用,即,当安全验证系统确定活动应当被阻止时(恶意用户或标识出用户被攻击)。在这种情况下,执行事务的特定脚本或代码可以被包装或替换为将向用户发出警告并且将阻止实际事务发生的代码。
客户端安全模块202还具有会话数据存储库340,其中它可以存储同一会话中的页面之间以及会话之间的数据,以帮助更好地管理和保护客户端和应用。这可以包括其从安全验证系统120接收到的会话数据、特定库和模块,以及特定的测试指令。
图4示出了根据一个实施例的包括安全加载器的网页。在该实施例中,安全加载器指令作为HTML报头(例如,<head>标签)内的JavaScript标签被添加,使得安全加载器提示用户代理在页面的开头加载客户端安全模块202。
图5示出了根据一个实施例的在应用服务器、客户端设备和安全验证系统之间的交互图。初始地,客户端设备使用用户代理应用从应用服务器请求500应用内容。应用服务器向客户端设备提供502引导用户代理应用取回安全测试的安全加载器,并且如果适用的话,提供客户端安全模块202。用户应用可以检查客户端安全模块202是否存在高速缓存版本,如果是,则在如安全装载器所指示的用于客户端安全测试的请求504中提供高速缓存的客户端安全模块202的指示。如上文所指示的,对安全验证系统的请求504指示用户代理应用的特征,诸如用户代理应用的版本、操作系统、应用服务器处所请求的内容等。
使用该请求,安全验证系统标识506客户端设备执行的适当安全测试集合,并且向客户端设备提供508安全测试。安全验证系统还可以向客户端设备提供执行指定的安全测试的客户端安全模块。接下来,客户端设备执行用户代理应用510中的安全模块,该安全模块收集指定的安全测试数据512,诸如用户代理应用中的关于应用内容、用户代理应用和用户动作的数据。
接下来,将测试结果报告514给安全验证系统,该安全验证系统存储数据,并且如上文所描述的,参考访问应用内容的其他用户代理的简档来分析数据,该安全验证系统可以生成516描述测试结果的安全得分。比较可以基于预期客户端特征(例如,用户代理表现为其所声称的用户代理)、当用户代理访问时应用内容的期望简档(例如,页面上的元素的数目以及要由用户代理应用执行的应用内容所请求的其他动作)以及用户活动(例如,鼠标移动、点击活动和事件定时)。
如果存在来自安全测试的、与预期测试结果不一致的异常或其他结果,则安全验证系统可以通过指示客户端安全模块执行附加测试来进一步询问用户代理应用,并且将那些附加测试的结果报告给安全验证系统。这些附加测试可以用于生成更新后的安全得分。如果没有异常,在一些实施例中不进行附加的测试。
接下来,安全验证系统生成并且向客户端安全模块提供522安全令牌。如上文所指出的,安全令牌可以指定所执行的测试的安全得分和安全测试的测试结果。安全令牌可能指示得分为正或负,并且可能包括特定测试是通过还是失败。当客户端设备访问应用服务器时,客户端安全模块202插入安全令牌524以准许应用服务器验证安全验证系统已经测试了客户端设备。在客户端设备继续访问应用服务器时,客户端安全模块继续监测526用户代理应用处的活动,诸如对网页的访问、应用服务器处所请求的应用内容的改变等。这些活动被报告给安全验证系统528,其可以确定530进一步的安全得分并且更新安全令牌532。更新后的令牌由客户端安全模块提供534给应用服务器。
图6示出了应用服务器610从安全验证系统620接收安全得分或测试验证信息的环境。这些系统通常与先前所描述的客户端设备100、应用服务器116和安全验证系统120类似地操作。在该实施例中,安全验证系统620可以不向客户端设备600发出用于提供对应用服务器610的访问的令牌,并且应用服务器610不能实施令牌的要求。作为令牌实施的备选方案(并且在一些应用中,除了令牌之外),在该示例中,安全验证系统620向应用服务器610提供测试分析。该测试分析可以包括安全得分和安全测试分析,诸如未被客户端设备600通过的单独测试。分析还可以作为跨越许多客户端设备600的聚集被提供,以向应用服务器610提供关于访问应用服务器610的客户端设备的行为的更一般的数据。
作为该系统的一个应用,应用服务器610可以提供第三方负责支付的广告或其他内容。然而,第三方不想为没有向实际用户呈现的广告支付费用。通过分析来自客户端设备的测试结果并且在安全验证系统620处聚集它们,安全验证系统620可以向应用服务器610提供信息,该信息描述哪些对广告的访问实际上表示对用户的投放,例如,通过标识机器人或其他非用户交互,但是避免了要求应用服务器610分析令牌信息的任何开销。
使用如本文中所描述的客户端安全模块和安全验证系统提供了几个益处和对各种恶意动作的防护,并且向应用服务器呈现有效令牌提供了用户代理应用是其所声称的用户代理应用并且系统实际上由用户而不是自动机器人操作的验证。首先,如果恶意动作阻止客户端安全模块的执行,则用户代理应用无法接收用于访问应用服务器的令牌,并且可以阻止使用应用服务器。第二,如果系统由欺骗另一用户代理的活动的机器人操作(例如,通过在HTTP请求中的其用户代理报头中陈述它是另一用户代理),这样的机器人通常无法重现用户代理应用期望的用户交互或用户代理操作。也就是说,机器人可能无法提供用户代理应用的预期元素或对象,并且可能无法处理来自安全验证系统的附加脚本请求。例如,机器人可能声称是Chrome浏览器用户代理,但没有window.chrome对象。作为另一示例,鼠标移动、触摸事件和其他用户交互对于机器人而言是不同的,并且机器人可能无法响应附加测试。
在另一示例中,攻击者可能试图插入对由应用服务器提供的应用内容的攻击,并且将附加信息插入到由应用服务器提供的内容中,或以其他方式改变其脚本处理或内容,例如,通过跨站点脚本处理。在该示例中,用户代理应用在处理应用内容中的行为将与处理该应用内容的其他用户代理应用的行为简档不同,并且该差异可以通过安全测试被标识。在操作中,客户端安全模块开始报告关于应用服务器所提供的页面的信息,诸如浏览器特征的位置、对表单数据的访问、页面上的脚本的位置和原点等。当这些脚本和位置被提供给安全验证系统时,安全验证系统可以标识相对于该应用内容的其他用户代理应用访问而存在该页面中的附加脚本或附加分区,并且拒绝发出令牌(或发出指示该特定交互的得分的令牌)或者阻止用户代理应用提交来自可疑脚本的数据。
因为客户端安全模块驻留在用户代理应用上,所以客户端安全模块还可以标识在应用中执行未预期或未授权的活动的尝试,例如,以发起POST请求,并且阻止它以阻止跨站点请求伪装。在跨站点请求伪装中,应用服务器可能已经存在受信连接。恶意代码尝试执行另外可能对用户透明地发生的post请求。因为通过客户端安全模块监测来自用户代理应用的post请求并且将其报告给安全验证系统,所以可以标识并且阻止未预期的POST请求处的这些尝试。这可能会触发安全验证系统更新或撤销令牌,或通过客户端安全模块向用户发出警告。这可能会阻止例如脚本收集信用卡和密码信息并且向第三方系统发起POST请求。因此,客户端安全模块与由安全验证系统验证以访问应用服务器的令牌的要求的组合阻止对第三方站点的未预期访问和对应用服务器的未验证访问。
作为附加的益处,因为应用服务器提供安全加载器而不是安全验证系统本身,所以应用服务器不需要不断地更新其安全协议集合,其可以通过安全验证系统集中管理许多应用服务器。
进一步地,在大多数情况下,客户端安全模块呈现警告信息,其指示为什么通过提供特定可疑活动来阻止活动。如果实际用户被阻止或者如果有效的API调用被阻止,则这是有帮助的。虽然机器人可以阻止客户端安全模块在一些情况下阻止机器人的活动,例如,通过阻止客户端安全模块,机器人仍然被应用服务器的安全策略阻止,这是因为它们将不会获得所需的令牌。
总结
出于说明的目的,已经呈现了对本发明的实施例的前述描述;并不旨在穷举或将本发明限制于所公开的精确形式。相关领域的技术人员可以理解,鉴于上述公开内容,许多修改和变型是可能的。
该描述的某些部分根据关于信息的操作的算法和符号表示来描述本发明的实施例。这些算法描述和表示是数据处理领域的技术人员通常使用的,以便有效地将其作品的实质传达给本领域技术人员。在功能上、计算上或逻辑上描述的这些操作被理解为由计算机程序或等效电路、微代码等实现。此外,已经证明,在不失一般性的前提下,将这些操作的布置作为模块进行参考有时是方便的。所描述的操作及其相关联的模块可以以软件、固件、硬件或其任何组合来体现。
本文中所描述的任何步骤、操作或过程可以单独地或与其他设备组合地利用一个或多个硬件或软件模块来执行或实现。在一个实施例中,使用计算机程序产品来实现软件模块,该计算机程序产品包括包含计算机程序代码的计算机可读介质,该计算机程序代码可以由计算机处理器执行以执行所描述的任何或所有步骤、操作或步骤。
本发明的实施例还可以涉及用于执行本文中的操作的装置。该装置可以针对所要求的目的而特别构造,和/或其可以包括由被存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这样的计算机程序可以被存储在非暂态有形计算机可读存储介质中或适于被存储电子指令的任何类型的介质中,其可以耦合至计算机系统总线。此外,在说明书中提到的任何计算系统可以包括单个处理器,或者可以是采用多个处理器设计以提高计算能力的架构。
本发明的实施例还可以涉及通过本文中所描述的计算过程产生的产品。这样的产品可以包括由计算过程产生的信息,其中信息被存储在非暂态有形计算机可读存储介质上,并且可以包括本文中所描述的计算机程序产品或其他数据组合的任何实施例。
最后,在说明书中使用的语言主要是出于可读性和指导性目的而被选择的,而不被选择用以叙述或限制本发明的主题。因此,旨在本发明的范围不受该具体实施方式的限制,而受基于在此应用所发布的任何权利要求的限制。因此,本发明的实施例的公开旨在说明而非限制在所附权利要求中阐述的本发明的范围。

Claims (23)

1.一种用于验证安全的方法,包括:
在安全验证系统处,从执行应用的客户端设备接收测试结果集合,所述应用访问来自应用服务器的服务,所述测试结果集合反映由所述客户端设备的所述应用对安全测试集合的执行;
基于所述测试结果集合,确定用于所述客户端设备的安全得分;
由所述安全验证系统生成包括所述安全得分的安全令牌;以及
由所述安全验证系统向所述客户端设备发送所述安全令牌。
2.根据权利要求1所述的方法,还包括:
在接收所述测试结果集合之前,由所述安全验证系统向所述客户端设备发送安全测试集合,以用于由所述客户端设备上的所述应用执行,所述安全测试集合包括可执行代码,所述可执行代码在由所述应用执行时执行所述安全测试集合。
3.根据权利要求1所述的方法,还包括:
在所述安全验证系统处,从所述客户端设备接收验证所述客户端设备的安全性的请求,所述请求指定在所述客户端设备上执行的所述应用的特性;以及
在所述安全验证系统处,基于所述应用的所述一个或多个特性来标识所述安全测试集合。
4.根据权利要求3所述的方法,其中所述应用的所述一个或多个特性包括所述应用的类型和所述应用的版本,并且其中基于所述应用的所述一个或多个特性来标识所述安全测试集合包括:从多个安全测试集合中标识所述安全测试集合,所述多个安全测试集合中的每个安全测试集合与应用和版本的不同组合相关联。
5.根据权利要求1所述的方法,其中由所述客户端设备的所述应用执行的所述安全测试集合包括以下至少一项:标识用户与所述应用的交互的测试、标识所述应用对从所述应用服务器访问的所述服务的显示的测试、标识应用与所述应用服务器的交互的测试、以及标识所述应用的执行环境的测试。
6.根据权利要求1所述的方法,还包括:
响应于所述安全得分低于阈值:
向所述客户端设备提供附加安全测试集合,以用于由所述应用执行;以及
从所述客户端设备接收附加测试结果集合,所述附加测试结果集合反映所述附加安全测试集合的所述执行;并且
其中生成所述安全令牌进一步基于所述附加测试结果集合。
7.根据权利要求1所述的方法,其中确定安全得分包括:将所述测试结果集合与预期测试结果集合相比较,以基于所述测试结果集合与预期测试结果集合之间的差异确定安全得分。
8.根据权利要求7所述的方法,其中将所述测试结果集合与预期测试结果集合相比较包括:将所述测试结果集合与一个或多个预期客户端特性、应用内容在被访问时的预期简档、以及预期用户活动相比较。
9.根据权利要求1所述的方法,其中所述安全测试集合由所述应用的安全模块执行,并且其中所述方法还包括:
响应于向所述客户端设备发送所述安全令牌,接收由所述安全模块标识的应用动作;
在所述安全验证系统处,基于所述应用动作来更新所述安全令牌;以及
由所述安全验证系统向所述应用提供更新后的所述安全令牌。
10.一种用于验证安全的方法,包括:
在安全验证系统处,从客户端设备接收来自所述客户端设备的测试结果集合,所述测试结果集合反映由所述客户端设备的应用对测试集合的执行,所述应用访问来自应用服务器的服务;
通过将所述测试结果集合与预期测试结果相比较,以确定所述测试结果集合与所述预期测试结果之间的差异,来确定比较结果,所述预期测试结果与特性相关联,所述特性与在所述客户端设备上执行的所述应用的特性相匹配;以及
向所述应用服务器提供所述比较结果。
11.根据权利要求10所述的方法,还包括:
在所述安全验证系统处,从所述客户端设备接收验证所述客户端的安全性的请求,所述请求指定在所述客户端设备上执行的所述应用的特性;
在所述安全验证系统处,基于所述应用的所述特性来标识所述测试集合;以及
在所述安全验证系统处,向所述应用发送所述测试集合,以用于由所述客户端设备处的所述应用执行。
12.根据权利要求11所述的方法,其中所述应用的所述特性标识所述应用的类型和所述应用的版本,并且基于所述应用的所述特性来标识测试集合包括:从与不同的应用和版本相关联的多个测试集合中标识所述测试集合。
13.根据权利要求10所述的方法,其中由所述客户端设备处的所述应用执行的所述测试包括以下至少一项:标识用户与所述应用的交互的测试、标识所述应用对从所述应用服务器访问的所述服务的显示的测试、标识应用与所述应用服务器的交互的测试、以及标识所述应用的执行环境的测试。
14.根据权利要求10所述的方法,还包括:
当用于所述比较的安全得分低于阈值时,向所述客户端设备提供附加测试集合以用于由所述应用执行,以及
从所述客户端设备接收附加测试结果集合,
其中向所述应用服务器提供所述比较结果包括所述附加测试结果集合与预期测试结果的进一步比较。
15.根据权利要求10所述的方法,还包括:在所述安全验证系统处,基于所述测试结果的所述比较来确定安全得分;并且其中提供所述比较结果包括:向所述应用服务器提供所述安全得分。
16.根据权利要求10所述的方法,其中所述测试由所述应用中的安全模块执行,所述方法还包括:
接收由所述安全模块标识的应用动作;
基于所述应用动作来更新所述比较结果;以及
向所述应用服务器提供更新后的所述比较结果。
17.一种用于验证安全的方法,包括:
由客户端设备上执行的应用请求对应用服务器处的服务的访问;
从所述应用服务器接收针对所述应用的验证的请求;
由所述应用执行测试集合以确定测试结果集合;
向安全验证系统提供所述测试结果集合;
从所述安全验证系统接收安全令牌,所述安全令牌包括基于所述测试结果集合确定的用于所述客户端设备的安全得分;以及
向所述应用服务器提供所述安全令牌,以验证所述客户端设备。
18.根据权利要求17所述的方法,其中所述测试集合验证所述应用是否执行与所述客户端设备上执行的所述应用的特性相一致的所述测试集合。
19.根据权利要求18所述的方法,还包括:
响应于针对验证的所述请求,从所述客户端设备向所述安全验证系统提供验证所述应用的安全性的请求,验证所述应用的安全性的所述请求指定在所述客户端设备上执行的所述应用的所述特性;以及
从所述安全验证系统接收所述测试集合,以用于由所述应用执行。
20.根据权利要求17所述的方法,其中由所述客户端设备处的所述应用执行的所述测试包括以下至少一项:标识用户与所述应用的交互的测试、标识所述应用对从所述应用服务器访问的所述服务的显示的测试、标识应用与所述应用服务器的交互的测试、以及标识所述应用的执行环境的测试。
21.根据权利要求17所述的方法,还包括:
在提供所述测试结果集合之后,从所述安全验证系统接收附加测试集合;
由所述应用执行另外的测试结果的所述集合,以生成附加测试结果集合;以及
向所述安全验证系统提供所述附加测试结果集合。
22.根据权利要求17所述的方法,其中所述安全令牌包括:针对所述令牌的所述测试集合的标识以及所述测试结果与所述预期测试结果集合的所述比较。
23.根据权利要求17所述的方法,其中所述测试由所述应用中的安全模块执行,所述方法还包括:
由所述安全模块标识由所述应用执行的动作;
向所述安全验证系统提供所述动作;以及
从所述安全验证系统接收更新后的安全令牌。
CN202110064622.0A 2014-09-15 2015-09-15 用于验证安全的方法 Active CN112910857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110064622.0A CN112910857B (zh) 2014-09-15 2015-09-15 用于验证安全的方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462050449P 2014-09-15 2014-09-15
US62/050,449 2014-09-15
PCT/US2015/050245 WO2016044308A1 (en) 2014-09-15 2015-09-15 Analyzing client application behavior to detect anomalies and prevent access
CN202110064622.0A CN112910857B (zh) 2014-09-15 2015-09-15 用于验证安全的方法
CN201580059863.9A CN107077410B (zh) 2014-09-15 2015-09-15 分析客户端应用行为以检测异常并且阻止访问

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580059863.9A Division CN107077410B (zh) 2014-09-15 2015-09-15 分析客户端应用行为以检测异常并且阻止访问

Publications (2)

Publication Number Publication Date
CN112910857A CN112910857A (zh) 2021-06-04
CN112910857B true CN112910857B (zh) 2023-07-11

Family

ID=55455957

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110064622.0A Active CN112910857B (zh) 2014-09-15 2015-09-15 用于验证安全的方法
CN201580059863.9A Active CN107077410B (zh) 2014-09-15 2015-09-15 分析客户端应用行为以检测异常并且阻止访问

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580059863.9A Active CN107077410B (zh) 2014-09-15 2015-09-15 分析客户端应用行为以检测异常并且阻止访问

Country Status (4)

Country Link
US (4) US10178114B2 (zh)
EP (1) EP3195127B1 (zh)
CN (2) CN112910857B (zh)
WO (1) WO2016044308A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9942267B1 (en) * 2015-07-06 2018-04-10 Amazon Technologies, Inc. Endpoint segregation to prevent scripting attacks
US11379776B2 (en) * 2015-07-27 2022-07-05 Innovian Corporation System and method for validating data
US20190089595A1 (en) * 2017-09-18 2019-03-21 Cyber 2.0 (2015) LTD Automatic security configuration
US10270792B1 (en) * 2016-01-21 2019-04-23 F5 Networks, Inc. Methods for detecting malicious smart bots to improve network security and devices thereof
US10855696B2 (en) * 2016-03-02 2020-12-01 Shape Security, Inc. Variable runtime transpilation
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
EP3479543B1 (en) * 2016-06-30 2022-04-06 Shape Security, Inc. Client-side security key generation
EP3488590B1 (en) * 2016-10-14 2022-01-12 PerimeterX, Inc. Securing ordered resource access
US10715548B2 (en) * 2016-10-17 2020-07-14 Akamai Technologies, Inc. Detecting device masquerading in application programming interface (API) transactions
US10275596B1 (en) * 2016-12-15 2019-04-30 Symantec Corporation Activating malicious actions within electronic documents
US10454929B2 (en) * 2016-12-16 2019-10-22 Blackberry Limited Authenticating for an enterprise service
EP3349137A1 (en) * 2017-01-11 2018-07-18 Sap Se Client-side attack detection in web applications
US11038869B1 (en) 2017-05-12 2021-06-15 F5 Networks, Inc. Methods for managing a federated identity environment based on application availability and devices thereof
US20190007412A1 (en) * 2017-07-03 2019-01-03 Ca, Inc. Customized device identification
US10416992B2 (en) * 2017-09-27 2019-09-17 Whatsapp Inc. Techniques for web application updates
US10931691B1 (en) 2017-10-09 2021-02-23 F5 Networks, Inc. Methods for detecting and mitigating brute force credential stuffing attacks and devices thereof
US10783138B2 (en) * 2017-10-23 2020-09-22 Google Llc Verifying structured data
US10437984B2 (en) * 2017-10-26 2019-10-08 Bank Of America Corporation Authentication protocol elevation triggering system
US10686684B2 (en) 2017-11-02 2020-06-16 Bank Of America Corporation Individual application flow isotope tagging within a network infrastructure
US20210328969A1 (en) * 2018-06-28 2021-10-21 Visa International Service Association Systems and methods to secure api platforms
US20200242251A1 (en) * 2019-01-24 2020-07-30 Citrix Systems, Inc. Providing application security, validation and profiling to an application
US11385990B2 (en) * 2019-03-13 2022-07-12 Google Llc Debugging applications for delivery via an application delivery server
RU2716735C1 (ru) * 2019-03-29 2020-03-16 Акционерное общество "Лаборатория Касперского" Система и способ отложенной авторизации пользователя на вычислительном устройстве
US11057453B2 (en) * 2019-04-08 2021-07-06 Netiq Corporation Locking of client session using event listener
CN110175466B (zh) * 2019-04-16 2024-03-08 平安科技(深圳)有限公司 开放平台的安全管理方法、装置、计算机设备及存储介质
US11190514B2 (en) * 2019-06-17 2021-11-30 Microsoft Technology Licensing, Llc Client-server security enhancement using information accessed from access tokens
US11783004B2 (en) * 2019-08-26 2023-10-10 PerimeterX, Inc. Identifying a script that originates synchronous and asynchronous actions
US11630900B2 (en) * 2019-09-30 2023-04-18 Mcafee, Llc Detection of malicious scripted activity in fileless attacks
US11349981B1 (en) 2019-10-30 2022-05-31 F5, Inc. Methods for optimizing multimedia communication and devices thereof
CN114172677A (zh) * 2020-09-11 2022-03-11 北京金山云网络技术有限公司 针对秒拨ip的识别方法及装置、系统
CN112468446B (zh) * 2020-11-02 2023-04-07 上海绊糖信息科技有限公司 一种保护用户隐私的移动运行环境安全检测系统
US11025671B1 (en) 2021-02-23 2021-06-01 Five Media Marketing Limited Monitoring of javascript object properties for detection of web browser security threats
US11949678B2 (en) 2021-03-30 2024-04-02 Kayak Software Corporation Automated bot blocking
US11870813B2 (en) * 2021-04-30 2024-01-09 Docusign, Inc. Security operation selection using machine-learned model in document management system
FR3128544B1 (fr) * 2021-10-21 2024-04-12 Isie Systeme d’analyse de la securite informatique d’un systeme d’information
US11985165B2 (en) * 2021-12-15 2024-05-14 International Business Machines Corporation Detecting web resources spoofing through stylistic fingerprints
US20240171406A1 (en) * 2022-11-22 2024-05-23 Microsoft Technology Licensing, Llc Sharing security settings between entities using verifiable credentials

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102378170A (zh) * 2010-08-27 2012-03-14 中国移动通信有限公司 一种鉴权及业务调用方法、装置和系统

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023682A (en) * 1997-10-21 2000-02-08 At&T Corporation Method and apparatus for credit card purchase authorization utilizing a comparison of a purchase token with test information
US6253325B1 (en) * 1998-04-15 2001-06-26 Hewlett-Packard Company Apparatus and method for securing documents posted from a web resource
US6260065B1 (en) 1999-01-13 2001-07-10 International Business Machines Corporation Test engine and method for verifying conformance for server applications
AU2001284882A1 (en) * 2000-08-14 2002-02-25 Peter H. Gien System and method for facilitating signing by buyers in electronic commerce
US7293065B2 (en) * 2002-11-20 2007-11-06 Return Path Method of electronic message delivery with penalties for unsolicited messages
US7970832B2 (en) * 2002-11-20 2011-06-28 Return Path, Inc. Electronic message delivery with estimation approaches and complaint, bond, and statistics panels
US8104043B2 (en) * 2003-11-24 2012-01-24 Microsoft Corporation System and method for dynamic cooperative distributed execution of computer tasks without a centralized controller
CN100370757C (zh) * 2004-07-09 2008-02-20 国际商业机器公司 识别网络内分布式拒绝服务攻击和防御攻击的方法和系统
US7360237B2 (en) * 2004-07-30 2008-04-15 Lehman Brothers Inc. System and method for secure network connectivity
US7559087B2 (en) * 2004-12-10 2009-07-07 Microsoft Corporation Token generation method and apparatus
US7979845B2 (en) * 2005-04-05 2011-07-12 Cisco Technology, Inc. Test effort optimization for UI intensive workflows
US20110179477A1 (en) * 2005-12-09 2011-07-21 Harris Corporation System including property-based weighted trust score application tokens for access control and related methods
GB0603781D0 (en) 2006-02-24 2006-04-05 Nokia Corp Application verification
US8769279B2 (en) * 2006-10-17 2014-07-01 Verifone, Inc. System and method for variable length encryption
US8185953B2 (en) 2007-03-08 2012-05-22 Extrahop Networks, Inc. Detecting anomalous network application behavior
CN101351027A (zh) * 2007-07-19 2009-01-21 中国移动通信集团公司 业务鉴权处理方法及系统
CN101128007A (zh) * 2007-09-21 2008-02-20 中兴通讯股份有限公司 移动通讯终端测试方法
CN101521608A (zh) * 2009-01-22 2009-09-02 厦门东南融通系统工程有限公司 一种测试用例的版本管理方法
US8898748B2 (en) * 2009-05-21 2014-11-25 Mobile Iron, Inc. Remote verification for configuration updates
US9262306B2 (en) * 2010-01-27 2016-02-16 Hewlett Packard Enterprise Development Lp Software application testing
TWI407129B (zh) * 2010-05-24 2013-09-01 Princeton Technology Corp 可調式電壓比較電路及可調式電壓檢測裝置
CN102025716B (zh) * 2010-06-29 2013-04-03 飞天诚信科技股份有限公司 一种对动态口令令牌的种子进行更新的方法
US8959570B2 (en) * 2010-07-02 2015-02-17 International Business Machines Corporation Verifying a security token
US8875269B2 (en) * 2011-02-23 2014-10-28 International Business Machines Corporation User initiated and controlled identity federation establishment and revocation mechanism
US8752208B2 (en) * 2011-05-13 2014-06-10 Imperva Inc. Detecting web browser based attacks using browser digest compute tests launched from a remote source
US9147062B2 (en) * 2011-06-29 2015-09-29 International Business Machines Corporation Renewal of user identification information
US9418216B2 (en) * 2011-07-21 2016-08-16 Microsoft Technology Licensing, Llc Cloud service authentication
US9208064B2 (en) * 2011-08-09 2015-12-08 Red Hat, Inc. Declarative testing using dependency injection
US20130227662A1 (en) * 2011-08-31 2013-08-29 Metaswitch Networks Ltd. Method of Generating a Token to be Used in a Uniform Resource Identifier
US8756651B2 (en) * 2011-09-27 2014-06-17 Amazon Technologies, Inc. Policy compliance-based secure data access
US8839348B2 (en) * 2011-10-05 2014-09-16 International Business Machines Corporation Effective testing of authorization logic of web components which utilize claims-based authorization
US20140053234A1 (en) * 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US20140201841A1 (en) 2012-03-30 2014-07-17 Nikhil M. Deshpande Client Security Scoring
WO2013169268A1 (en) * 2012-05-11 2013-11-14 Intel Corporation Device lock for transit
US20140047527A1 (en) * 2012-08-07 2014-02-13 Timothy Ngo System and Method for Detecting and Preventing Automated Interaction Based on Detected Actions Performed by User to Solve a Proffered Puzzle
CN103634280B (zh) * 2012-08-23 2018-11-09 百度在线网络技术(北京)有限公司 一种网站安全扫描方法及装置
JP6057666B2 (ja) * 2012-10-25 2017-01-11 キヤノン株式会社 画像形成装置、情報処理方法及びプログラム
US20140137190A1 (en) 2012-11-09 2014-05-15 Rapid7, Inc. Methods and systems for passively detecting security levels in client devices
US8931101B2 (en) 2012-11-14 2015-01-06 International Business Machines Corporation Application-level anomaly detection
US9389985B2 (en) * 2013-02-04 2016-07-12 Abbott Medical Optics Inc. Codepath integrity checking
WO2014198745A1 (en) * 2013-06-12 2014-12-18 Telecom Italia S.P.A. Mobile device authentication in heterogeneous communication networks scenario
US9798981B2 (en) * 2013-07-31 2017-10-24 Entit Software Llc Determining malware based on signal tokens
US10135805B2 (en) * 2013-10-31 2018-11-20 Cellco Partnership Connected authentication device using mobile single sign on credentials
US20150178341A1 (en) * 2013-12-20 2015-06-25 Google Inc. Application evaluation
CN103780396B (zh) * 2014-01-27 2017-08-25 华为软件技术有限公司 令牌获取方法及装置
US20160055487A1 (en) * 2014-02-07 2016-02-25 Bank Of America Corporation Determining user authentication based on user patterns within application
US9965606B2 (en) * 2014-02-07 2018-05-08 Bank Of America Corporation Determining user authentication based on user/device interaction
AU2015222819A1 (en) * 2014-02-28 2016-09-29 Temporal Defense Systems, LLC. Security evaluation systems and methods
US10097583B1 (en) * 2014-03-28 2018-10-09 Amazon Technologies, Inc. Non-blocking automated agent detection
US9361446B1 (en) * 2014-03-28 2016-06-07 Amazon Technologies, Inc. Token based automated agent detection
US10587641B2 (en) * 2014-05-20 2020-03-10 Micro Focus Llc Point-wise protection of application using runtime agent and dynamic security analysis
US20160078247A1 (en) * 2014-09-16 2016-03-17 Temporal Defense Systems, Inc. Security evaluation systems and methods for secure document control
US20170150907A1 (en) * 2015-02-04 2017-06-01 Cerebral Assessment Systems, LLC Method and system for quantitative assessment of visual motor response
CA2883029C (en) * 2015-02-26 2024-04-30 Kevin Johnston Method and system for securely updating a website
US9479338B2 (en) * 2015-03-17 2016-10-25 Digicert, Inc. Method and system for certificate discovery and ranking certificate authorities
US9485255B1 (en) * 2015-03-26 2016-11-01 EMC IP Holding Company, LLC Authentication using remote device locking
FR3036913A1 (fr) * 2015-05-28 2016-12-02 Orange Procede de controle d'acces a un service
US9674200B2 (en) * 2015-07-14 2017-06-06 Mastercard International Incorporated Identity federation and token translation module for use with a web application

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102378170A (zh) * 2010-08-27 2012-03-14 中国移动通信有限公司 一种鉴权及业务调用方法、装置和系统

Also Published As

Publication number Publication date
EP3195127A1 (en) 2017-07-26
US20200296123A1 (en) 2020-09-17
US11606374B2 (en) 2023-03-14
CN107077410B (zh) 2021-02-05
US11924234B2 (en) 2024-03-05
US20160080345A1 (en) 2016-03-17
US10708287B2 (en) 2020-07-07
WO2016044308A1 (en) 2016-03-24
US20190173900A1 (en) 2019-06-06
US20230188555A1 (en) 2023-06-15
EP3195127B1 (en) 2023-04-05
EP3195127A4 (en) 2018-04-25
CN107077410A (zh) 2017-08-18
CN112910857A (zh) 2021-06-04
US10178114B2 (en) 2019-01-08

Similar Documents

Publication Publication Date Title
US11924234B2 (en) Analyzing client application behavior to detect anomalies and prevent access
US10193909B2 (en) Using instrumentation code to detect bots or malware
US10447730B2 (en) Detection of SQL injection attacks
US10164993B2 (en) Distributed split browser content inspection and analysis
US8677481B1 (en) Verification of web page integrity
US9348980B2 (en) Methods, systems and application programmable interface for verifying the security level of universal resource identifiers embedded within a mobile application
US8285778B2 (en) Protecting web application data
CN107209831B (zh) 用于识别网络攻击的系统和方法
US20190379697A1 (en) Deceiving Attackers Accessing Active Directory Data
US20140283078A1 (en) Scanning and filtering of hosted content
US20190222587A1 (en) System and method for detection of attacks in a computer network using deception elements
NL2027344B1 (en) System and method for detecting unauthorized activity at an electronic device
US10474810B2 (en) Controlling access to web resources
US8266704B1 (en) Method and apparatus for securing sensitive data from misappropriation by malicious software
CN107294994B (zh) 一种基于云平台的csrf防护方法和系统
JP2016525750A (ja) 合法的オブジェクトの誤用の識別
Bernardo Targeted attack detection by means of free and open source solutions
US11874924B2 (en) Malicious JS detection based on automated user interaction emulation
Mirheidari Confused by Path: Analysis of Path Confusion Based Attacks

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