CN108885666B - 用于检测和防止伪冒的系统和方法 - Google Patents

用于检测和防止伪冒的系统和方法 Download PDF

Info

Publication number
CN108885666B
CN108885666B CN201680064794.5A CN201680064794A CN108885666B CN 108885666 B CN108885666 B CN 108885666B CN 201680064794 A CN201680064794 A CN 201680064794A CN 108885666 B CN108885666 B CN 108885666B
Authority
CN
China
Prior art keywords
application
client device
communication
computer
assertion
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
CN201680064794.5A
Other languages
English (en)
Other versions
CN108885666A (zh
Inventor
C·E·拜利
R·鲁卡斯胡克
G·W·理查森
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.)
Mastercard Technologies Canada Unlimited Co
Original Assignee
Mastercard Technologies Canada Unlimited Co
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 Mastercard Technologies Canada Unlimited Co filed Critical Mastercard Technologies Canada Unlimited Co
Publication of CN108885666A publication Critical patent/CN108885666A/zh
Application granted granted Critical
Publication of CN108885666B publication Critical patent/CN108885666B/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/08Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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
    • 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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Social Psychology (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Push-Button Switches (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

用于检测应用程序伪冒的技术。这些技术包括:从在与至少一个计算机不同的客户端设备上执行的应用程序接收通信;从该通信识别应用程序的断言标识;以及至少部分通过以下来验证应用程序的断言标识:与客户端设备交互来获得关于应用程序的额外信息;以及确定关于应用程序的额外信息是否与应用程序的断言标识一致。

Description

用于检测和防止伪冒的系统和方法
相关申请的交叉引用
该申请根据35 U.S.C§119要求2015年9月5日提交的美国临时专利申请号62/214,969的权益,其内容通过引用全部合并于此。
该申请和以下申请在同一天提交:美国申请序列号__________,题为“SYSTEMSAND METHODS FOR MATCHING AND SCORING SAMENESS”,承接代理人文案号L0702.70006US00,以及美国申请序列号__________,题为“SYSTEMS AND METHODS FORDETECTING AND SCORING ANOMALIES”,承接代理人文案号L0702.70005US00。这些申请中的每个通过引用全部合并于此。
背景技术
拥有在线业务的大型组织通常每分钟接收几万个请求来发起数字交互。支持多个大型组织的安全系统可以同时应对几百万个数字交互,并且安全系统每周分析的数字交互总量可能很容易超过十亿。
随着组织日益需要实时结果,安全系统必须分析大量数据并且准确确定数字交互是否合法,这些全部在几分之一秒内。这带来巨大的技术挑战,尤其考虑到安全系统所应对的很大的整体数字交互量。
发明内容
一些实施例提供由至少一个计算机执行的方法,该方法包括:从在与该至少一个计算机不同的客户端设备上执行的应用程序接收通信;从该通信识别应用程序的断言标识;至少部分通过以下来验证应用程序的断言标识:与客户端设备交互来获得关于应用程序的额外信息;以及确定关于应用程序的额外信息是否与应用程序的断言标识一致。
一些实施例提供这样的系统,其包括:至少一个计算机;至少一个非暂时性计算机可读存储介质,其存储处理器可执行指令,这些指令在由至少一个计算机执行时使得至少一个计算机执行:从在与该至少一个计算机不同的客户端设备上执行的应用程序接收通信;从所接收的通信识别应用程序的断言标识;以及至少部分通过以下来验证应用程序的断言标识:与客户端设备交互来获得关于应用程序的额外信息;以及确定关于应用程序的额外信息是否与应用程序的断言标识一致。
一些实施例提供至少一个非暂时性计算机可读存储介质,其存储处理器可执行指令,这些指令在由至少一个计算机执行时使得该至少一个计算机执行:从在与该至少一个计算机不同的客户端设备上执行的应用程序接收通信;从所接收的通信识别应用程序的断言标识;以及至少部分通过以下来验证应用程序的断言标识:与客户端设备交互来获得关于应用程序的额外信息;以及确定关于应用程序的额外信息是否与应用程序的断言标识一致。
一些实施例提供由至少一个计算机执行的方法,该方法包括:从与该至少一个计算机不同的客户端设备接收通信;从该通信识别客户端设备的断言类型;以及至少部分通过以下来验证客户端设备的断言类型:与客户端设备交互来获得关于客户端设备的额外信息;以及确定关于客户端设备的额外信息是否与客户端设备的断言类型一致。
一些实施例提供这样的系统,其包括:至少一个计算机;至少一个非暂时性计算机可读介质,其存储处理器可执行指令,这些指令在由至少一个计算机执行时使得至少一个计算机执行:从与该至少一个计算机不同的客户端设备接收通信;从该通信识别客户端设备的断言类型;以及至少部分通过以下来验证客户端设备的断言类型:与客户端设备交互来获得关于客户端设备的额外信息;以及确定关于客户端设备的额外信息是否与客户端设备的断言类型一致。
一些实施例提供至少一个非暂时性计算机可读介质,其存储处理器可执行指令,这些指令在由至少一个计算机执行时使得该至少一个计算机执行:从与该至少一个计算机不同的客户端设备接收通信;从该通信识别客户端设备的断言类型;以及至少部分通过以下来验证客户端设备的断言类型:与客户端设备交互来获得关于客户端设备的额外信息;以及确定关于客户端设备的额外信息是否与客户端设备的断言类型一致。
一些实施例提供由至少一个计算机执行以用于断言在至少一个计算机与客户端设备的数字交互期间该至少一个计算机接收的通信的合法性的方法,该方法包括:接收通信;从该通信识别第一安全令牌;通过以下来处理该第一安全令牌:从第一安全令牌获得指示数字交互的状态的信息;以及使用指示数字交互状态的信息来确定通信是否来自客户端设备;以及当确定通信来自客户端设备时,响应于所述通信而促成至少一个动作被执行;更新指示数字交互状态的信息来获得指示数字交互状态的更新的信息;以及向客户端设备提供第二安全令牌以供在数字交互期间在后续通信中使用,该第二安全令牌包括指示数字交互状态的更新的信息。
一些实施例提供用于断言在至少一个计算机与客户端设备的通信数字交互期间该至少一个计算机接收的通信的合法性的系统,该系统包括:至少一个计算机;以及至少一个非暂时性计算机可读存储介质,其存储处理器可执行指令,这些指令在由至少一个计算机执行时使得至少一个计算机执行:接收通信;从该通信识别第一安全令牌;通过以下来处理该第一安全令牌:从第一安全令牌获得指示数字交互的状态的信息;以及使用指示数字交互状态的信息来确定通信是否来自客户端设备;以及当确定通信来自客户端设备时,响应于通信而促成至少一个动作被执行;更新指示数字交互状态的信息来获得指示数字交互状态的更新的信息;以及向客户端设备提供第二安全令牌以供在数字交互期间在后续通信中使用,该第二安全令牌包括指示数字交互状态的更新的信息。
一些实施例提供至少一个非暂时性计算机可读存储介质,其存储处理器可执行指令,这些指令在由至少一个计算机执行时使得该至少一个计算机执行用于断言在至少一个计算机与客户端设备之间的通信数字交互期间该至少一个计算机接收的通信的合法性的方法,该方法包括:接收通信;从该通信识别第一安全令牌;通过以下来处理该第一安全令牌:从第一安全令牌获得指示数字交互的状态的信息;以及使用指示数字交互状态的信息来确定通信是否来自客户端设备;以及当确定通信来自客户端设备时,响应于通信而促成至少一个动作被执行;更新指示数字交互状态的信息来获得指示数字交互状态的更新的信息;以及向客户端设备提供第二安全令牌以供在数字交互期间在后续通信中使用,该第二安全令牌包括指示数字交互状态的更新的信息。
前述是本发明的非限制性摘要,其由附上的权利要求定义。
附图说明
现在将参考下列图描述各种方面和实施例。应意识到图不一定按比例绘制。
图1A示出根据本文描述的技术的一些实施例的说明性系统10,经由该说明性系统可以发生数字交互;
图1B示出根据本文描述的技术的一些实施例用于处理从数字交互收集的数据的说明性安全系统14;
图1C示出根据本文描述的技术的一些实施例在数字交互内的说明性流程40;
图2A是根据本文描述的技术的一些实施例由安全系统执行以用于检测应用程序伪冒的说明性处理的流程图;
图2B是根据本文描述的技术的一些实施例作为用于检测应用程序伪冒的技术的一部分、由客户端设备执行的说明性处理的流程图;
图3示出根据本文描述的技术的一些实施例用于确定关于应用程序的能力的信息是否与应用程序的断言标识一致的说明性决策逻辑;
图4A是根据本文描述的技术的一些实施例由安全系统执行以用于检测设备类型伪冒的说明性处理的流程图;
图4B是根据本文描述的技术的一些实施例作为用于检测设备类型伪冒的技术的一部分、由客户端设备执行的说明性处理的流程图;
图5是根据本文描述的技术的一些实施例用于检测设备类型伪冒的分布式技术的简图;
图6A示出根据本文描述的技术的一些实施例用作用于检测设备类型伪冒的技术的一部分的串行累积计算挑战的说明性输入参数;
图6B示出根据本文描述的技术的一些实施例用作用于检测设备类型伪冒的技术的一部分的串行累积计算挑战的说明性输出结果;
图6C示出根据本文描述的技术的一些实施例作为串行累积计算挑战(用作用于检测设备类型伪冒的技术的一部分)的一部分执行的说明性计算;
图7A示出根据本文描述的技术的一些实施例用作用于检测设备类型伪冒的技术的一部分的并行检查点计算挑战的说明性输入参数;
图7B示出根据本文描述的技术的一些实施例用作用于检测设备类型伪冒的技术的一部分的并行检查点计算挑战的说明性输出结果;
图7C示出根据本文描述的技术的一些实施例作为并行检查点计算挑战(用作用于检测设备类型伪冒的技术的一部分)的一部分执行的说明性计算;
图8A示出根据本文描述的技术的一些实施例用作用于检测设备类型伪冒的技术的一部分的神经网络计算挑战的说明性输入参数;
图8B示出根据本文描述的技术的一些实施例用作用于检测设备类型伪冒的技术的一部分的神经网络计算挑战的说明性输出结果;
图9是根据本文描述的技术的一些实施例用于检测会话令牌的恶意利用的说明性处理的流程图;
图10示意示出说明性计算机1000,在其上可以实现本文描述的技术的任何方面。
具体实施方式
发明者认识且意识到战胜对在线系统的复杂攻击的各种技术挑战。这样的系统日益经历更复杂的攻击和非常有技术性的利用。这带来巨大的技术挑战,尤其是考虑到在线系统所应对的大量的整体数字交互。
发明者认识且意识到在在线系统和与该在线系统交互的用户之间随时间建立信任时的各种技术挑战。与亲自看到客户并且记住客户看起来像什么以及客户如何表现的店员不同,在线系统可能有有限的方式来“看见”或“记住”用户。例如,在用户第一次从设备成功登录后,在线系统可以存储从设备接收的数据包所提取的设备标识符,并且可以使该设备标识符与用户的账户关联。当检测到有登陆账户的新尝试时,在线系统可以检查从新近接收的数据包提取的设备标识符是否和与账户关联的任何存储标识符匹配。然而,该方法可并不总是有效的,因为设备标识符可以被伪冒。
发明者意识到恶意实体可能试图采用一个或多个方式伪冒合法用户,包括通过伪冒设备标识符,以为了获得对资源的未经授权访问、发起攻击和/或执行其他有害动作。例如,恶意实体(例如,黑客、骗子、恶作剧者)可以向服务器发送通信以为了获得对通过服务器而可访问的资源(例如web页面或服务)的访问,并且可以在通信中包括虚假信息使得服务器将通信解释为源于合法用户。作为一个示例,恶意实体请求访问资源时可以歪曲应用程序的标识(例如,通过在通信中断言应用程序是web浏览器,这时实际上请求程序是用于在服务器上发起分布式攻击的僵尸网络的自动机器人工具部分)。作为另一个示例,恶意实体可以歪曲执行请求访问资源的应用程序的设备的类型(例如,通过在通信中断言设备是移动设备,这时实际上该请求源自的设备是强大的当代台式计算机)。作为再另一个示例,恶意实体可以捕捉针对合法用户的会话令牌并且使用拦截的令牌来做出似乎来自合法用户的请求。因此,本文描述的技术的一些实施例提供用于检测这样的欺诈行为的技术,这些欺诈行为包括但不限于应用程序标识伪冒、设备类型伪冒和会话令牌伪冒。
I.检测应用程序伪冒
发明者认识且意识到恶意实体可以在发送到服务器或其他计算设备的一个或多个通信中歪曲发送通信的应用程序的标识而参与应用程序伪冒。
这样的应用程序伪冒的一个说明性示例在访问web页面的情况中出现。当用户通过web浏览器访问web页面时,web浏览器可以向托管web页面的服务器发送通信,该通信包括对web页面的超文本传输协议(HTTP)请求。该请求可以包含例如做出请求的web浏览器的类型(例如,Internet Explorer、Google Chrome、Safari、Opera等)、浏览器的版本、浏览器的能力等信息,并且该信息可以被服务器用于选择与做出请求的web浏览器兼容的内容。下面是可以由Google Chrome浏览器发送的HTTP请求的说明性示例:
GET/HTTP/1.1
Host:google.com
Accept:application/json,text/javascript,*/*;q=0.01
Accept-Encoding:gzip,dcflatc.sdch
Accept-Language:en-US,en;q=0.8
User-Agent:Mozilla/5.0(Macintosh;Intel Mac OS X 10_9_2)AppleWebKit/537.36
(KHTML,like Gecko)Chrome/36.0.1985.125 Safari/537.36
在该示例中,HTTP请求除其他事情外还告知服务器操作系统是Mac OS X 10.9.2并且Chrome浏览器版本是36.0.1985.125。服务器可以使用该信息来提供为所指示环境优化的内容。另外,服务器可以推断该请求由人经由在计算机上运行的web浏览器发起。
在一些实例中,恶意实体可能试图使用脚本或备选应用程序而不是web浏览器来访问web页面。如果恶意实体并没有做什么来隐藏它正在做的,由脚本或备选应用程序提供的HTTP请求因为它将未指示web浏览器正在做出请求而将与web浏览器提供的HTTP请求不同。相反,用户-代理字段可以指示做出请求的应用程序是机器人工具(例如,用户-代理:Bot/1.1)。因为服务器可能拒绝来自脚本或备选应用程序的请求(例如,通过拒绝不是来自web浏览器的请求),恶意实体可以在HTTP请求的用户-代理字段中放置虚假信息来使它对服务器表现为好像请求是源于web浏览器,这时实际上它并不是。比web浏览器示例更普遍的是,恶意实体可能在到其他设备的通信中虚假第标识应用程序。
发明者认识且意识到可能难以检测通信中的伪造信息(例如,HTTP请求、HTTPS请求、UDP请求、任何其他适合协议中的请求,等),因为许多互联网协议(例如,HTTP、HTTPS、UDP等)假设通信的发送者将传递准确信息并且未提供用于验证通信中的信息的机制。因此,恶意请求者可以向服务器提供任何信息,其包括歪曲做出请求的实际应用程序(例如,用户代理)的值。
因此,一些实施例提供用于验证通信中的应用程序的断言标识(assertedidentity)的技术。这些技术可以用于验证做出HTTP请求以及其他情形中的应用程序的断言标识。在一些实施例中,该技术可以牵涉从请求者获得额外信息来验证请求中提供的信息的准确性,如在下文更详细描述的。
在一些实施例中,至少一个计算机可以从在与计算机不同的客户端设备上执行的应用程序接收通信并且从该通信识别应用程序的断言标识。响应于识别应用程序的断言标识,至少一个计算机可以至少部分通过以下来验证应用程序的断言标识:(1)与客户端设备交互来获得关于应用程序的额外信息;以及(2)确定关于应用程序的额外信息是否与应用程序的断言标识一致。在一些实施例中,该通信可以是HTTP请求并且应用程序的断言标识可以是在HTTP请求的用户代理字段中识别的应用程序的标识。
在一些实施例中,至少一个计算机可以包括根据本文描述的技术的一些实施例配置成检测伪冒的安全系统。另外或备选地,该至少一个计算机可以包括通信起初被引导到的服务器或其他设备(例如,托管通信请求访问的web页面的web服务器)。在至少一个计算机包括既包括安全系统又包括通信起初被引导到的服务器(或其他设备)的实施例中,服务器(或其他设备)可以将从客户端设备接收的通信的至少一部分转发到安全系统使得安全系统可以通过与发起请求的客户端设备交互来验证在通信中断言的应用程序标识。
在一些实施例中,至少一个计算机可以例如通过使用响应于接收通信(并且因此在这之后)获得的信息来执行验证从而实时验证应用程序的断言标识,儿不是使用在接收通信之前获得的信息。
在一些实施例中,与客户端设备交互包括:(1)向客户端设备提供软件程序,其在由客户端设备执行时收集关于应用程序的额外信息;(2)从客户端设备接收额外信息;以及(3)使用额外信息来验证应用程序的断言标识。该软件可以是JavaScript程序或可以采用任何适合的编程语言来编写。
在一些实施例中,软件程序在由客户端设备执行时可以配置成收集关于应用程序的至少一个能力的信息并且将该信息发送给安全系统,安全系统可以将收集的关于应用程序的至少一个能力的信息与关于具有断言标识的应用程序的相同能力或多个能力的信息比较。例如,该软件程序在由客户端设备执行时可以配置成确定该应用程序是否能够识别具有断言标识的应用程序能够识别的对象。作为一个特定示例,如果HTTP请求将请求程序识别为特定浏览器(例如,Opera、Internet Explorer等),所述软件程序可以配置成确定该请求程序是否识别特定浏览器已知能够识别的对象(分别是window.opera、window.ActiveXObject等)。
II.检测设备类型伪冒
发明者认识且意识到恶意实体可以通过在发送给服务器或其他计算设备的一个或多个通信中歪曲发送通信的设备的类型而参与设备类型伪冒。例如,恶意实体可以在发送给服务器的HTTP请求中虚假陈述发送请求的设备的类型。
因此,本文描述的一些实施例提供一类技术,可以用于验证发送通信的设备是否确实具有在通信中所指示的类型。在一些实施例中,所述技术可以牵涉获得关于发送通信的设备的一个或多个执行特性的额外信息并且将该额外信息与多个执行简档相比较来验证设备是否具有声称的类型。
发明者认识且意识到某一类型的设备可以具有已知硬件配置,并且该硬件能够以与另一个设备类型关联的硬件相比不同的速度执行操作。例如,当代台式机中的硬件可以比移动电话中的硬件的功率大得多,并且因此可能够比移动电话快得多地执行操作。从而,如果设备发送的通信(例如HTTP请求)将设备识别为移动电话,但设备在完成一个或多个计算挑战方面的性能与典型台式计算机的匹配,则可以以高置信度确定设备类型被伪冒。
在一些实施例中,提供用于在不同类型的硬件之前进行精细区分(例如,超出简单区分移动电话和台式计算机的范围)的技术。例如,第一代iPhone可以具有412MHz ARM 11处理器,并且iPhone 5s可以具有双核1.3GHz Cyclone(基于ARM v8的)处理器。这两个类型的处理器都能够应对计算挑战,但可以采用不同方式来这样做。例如,考虑到特定运算类型(例如,加法、减法、除法、乘法、模块化算法运算等),不同类型的处理器可以以不同速度执行该类型的运算。从而,每个运算类型可以提供用于区分不同类型处理器的单独维度。
因此,一些实施例提供响应于从设备接收(直接或间接)指示声称设备类型的通信向设备发送一个或多个计算挑战、确定该设备执行该(这些)计算挑战所化的时间量并且确定设备所花的时间量是否与声称类型的设备执行相同计算挑战花费多长时间一致。
在一些实施例中,至少一个计算机可以从在与计算机不同的客户端设备上执行的应用程序接收通信并且从该通信识别客户端设备的断言类型。响应于识别客户端设备的断言类型,所述至少一个计算机可以至少部分通过以下来验证客户端设备的断言类型:(1)与客户端设备交互来获得关于客户端设备的额外信息;以及(2)确定关于客户端设备的额外信息与客户端设备的断言类型是否一致。在一些实施例中,所述通信可以是HTTP请求并且客户端的断言类型可以是在HTTP请求中陈述的客户端设备的类型。
在一些实施例中,所述至少一个计算机可以包括根据本文描述的技术的一些实施例配置成检测伪冒的安全系统。另外或备选地,该至少一个计算机可以包括所述通信起初被引导到的服务器或其他设备(例如,托管通信请求访问的web页面的web服务器)。在该至少一个计算机既包括安全系统又包括通信起初被引导到的服务器(或其他设备)的实施例中,服务器(或其他设备)可以将从客户端设备接收的通信的至少一部分(例如,整个通信)转发到安全系统使得安全系统可以通过与发起请求的客户端设备交互来验证通信中断言的设备类型。
在一些实施例中,所述至少一个计算机可以例如通过使用响应于接收通信(以及因此在这之后)获得的信息,而不是使用在接收通信之前获得的信息,来执行验证而实时验证客户端设备的断言设备类型。
在一些实施例中,与客户端设备交互来获得额外信息包括与客户端设备交互来测量客户端设备执行任务所花的时间量。额外信息可以用于确定客户端设备执行任务所花的时间量与具有断言类型的客户端设备执行相同任务花费多长时间是否一致。
在一些实施例中,确定客户端设备执行任务所花的时间量与具有断言类型的客户端设备执行任务花费多长时间是否一致包括:访问指示对于具有断言类型的客户端设备群体、与所述任务关联的预期执行时间范围的信息,并且将测得的时间量与预期之下时间范围比较。例如,当通信指示客户端设备被断言为某一类型的移动设备时,确定客户端设备的断言类型与关于客户端设备的额外信息是否一致可以牵涉确定客户端设备执行任务所花的时间量与该某一类型的移动设备执行该任务花费多长时间是否一致。
在一些实施例中,与客户端设备交互来测量客户端设备执行任务所花的时间量包括:向客户端设备提供软件程序以供客户端设备执行,并且测量客户端设备执行该软件程序所花的时间量。在一些实施例中,可以向客户端设备提供一个或多个输入用于输入到所述软件程序并且可以测量客户端设备使用软件以基于输入生成一个或多个输出所花的时间量。在一些实施例中,可以就准确性来验证输入,例如以验证客户端设备实际上执行软件程序并且没有伪造结果。
在一些实施例中,提供给客户端设备的软件程序可以对一个或多个计算挑战编码。计算挑战的非限制性示例包括串行累积计算挑战、并行检查点计算挑战、神经网络计算挑战和图形处理单元(GPU)计算挑战。在下文更详细描述这些挑战。
在一些实施例中,为了获得与具有某一类型的设备群体的与任务关联的预期执行时间范围,可以在该某一类型的一个或多个设备上运行一个或多个测试来确定该设备(多个设备)执行所述任务花费多长时间。该任务可以包括按某一顺序执行的一个或多个所选的操作的组合。然而,应意识到本文描述的技术的方面不限于使用包括按所选顺序执行的一个或多个所选操作的测试,因为在一些实施例中一个或多个所选操作可以在测试的不同运行中按不同顺序执行(例如,对于每次运行按随机选择的顺序)。
在一些实施例中,在某一设备类型的一个或多个设备上运行的一个或多个测试的结果可以被记录并且与该设备类型关联。可以对记录的结果执行统计分析来识别可以用作该设备类型的签名的一个或多个特性。作为非限制性示例,所述特性可以包括以样本平均值为中心并且囊括所有样本的一定百分比(例如,90%、95%、98%等)的间隔。
发明者认识且意识到尽管可能在各种硬件上运行测试且对各种硬件开发预期执行简档的数据库,但获取足够大的测试硬件集合和/或运行足够大量的测试来确保样本尺寸大到足以用于有意义的统计分析,这可能成本很高。因此,在一些实施例中,可以基于自报告设备类型信息对用户设备执行测试。从而,在一些实例中,与设备类型关联的测试结果可以包括来自不同类型的设备的结果(例如,当设备类型被有意或无意误报时)。
发明者认识且意识到尽管包括这样的“坏”样本但可以获得可靠统计信息。例如,如果从声称具有某一类型(例如,iPhone 5s)的大量设备接收测试结果,并且很大一部分的设备实际上具有该类型,则获得的统计信息(例如,对于特定计算挑战的平均执行时间)可未明显偏离在去除“坏”样本情况下将获得的“真实”统计信息。采用该方式,可以识别异常结果并且可以确定展现异常结果的设备被伪冒。例如,如果结果接近样本均值(例如,在与样本均值的标准偏差的阈值数量内),可以在高置信度推断报告设备未被伪冒(例如,使用假设检验或任何其他适合的技术)。相反,如果结果远离样本均值,则报告设备未被伪冒的置信度可能是低的。
在一些实施例中,可替代地或另外地,计算挑战的结果可以用作报告设备的指纹的组成。一个或多个操作的任何适合组合可以用作计算挑战的一部分,因为本文描述的技术的方面不这样受限制。例如,可以使用用于基准测试硬件的一个或多个数学运算。这样的基准测试运算的示例包括但不限于整数数学测试(例如,加法、减法、除法、乘法和/或对大的随机整数取幂)、浮点数学测试(例如,加法、减法、除法、乘法和/或对浮点数取幂)和素数测试(例如,使用乘法和模块化算术运算来识别素数)。
发明者认识且意识到当代处理器可以如此之快使得测量单一运算的执行时间可能不切实际,或在要求两个不同处理器各自执行仅一个运算时比较这两者的执行时间可能不切实际。因此,在一些实施例中,作为相同计算挑战的一部分,可以在多个运算上累积结果。例如,可以要求受到挑战的设备执行:(1)多次相同运算;(2)不同但具有相同类型的多个运算;和/或(3)不同类型的多个运算。这可以产生更有用的数据,因为处理器之间的差异可以通过累积而放大。
发明者还认识且意识到恶意实体可以对设备编程来欺骗计算挑战。例如,如果要求设备多次执行相同运算,则恶意实体可以对设备编程以仅执行运算一次并且之后输出相同答案而实际上没有执行运算。因此,在一些实施例中,提供技术来确保设备如指示的那样完成计算挑战而没有欺骗。
在一些实施例中,计算挑战可以包括全部不同的多个运算,使得处理器必须执行每个运算来完成挑战。然而,发明者认识且意识到验证这样的计算挑战可能很繁琐,因为管理挑战的服务器必须检查许多不同答案(或大量随机选择的答案)之中的每个答案。
可替代地或另外地,可以要求处理器对问题求解,其中至少一个第一运算取来自至少一个第二运算的输出作为输入。下文是这样的运算链的非限制性示例:
1. 1.6832*(5.22/(9.098123-0.2222222))
2.(问题1的答案)+6.8*(985.2+98611.0034)/6.4423
3. 87.23+(122562.13333/0.23001)/(问题2的答案)
4.等
采用该方式,可以仅产生一个最终输出并且由管理挑战的服务器来检查它。因为运算之间的依赖性,处理器可不能跳过该链中的任何运算。然而,应意识到本公开的方面不限于使用使计算挑战中的所有运算链接在一起的单个链,因为在一些实施例中计算挑战可以包括迥然不同的运算或/或迥然不同的链。
III.检测会话令牌伪冒
在客户端设备与在线系统之间的数字交互期间,在线系统可以对客户端设备提供会话令牌,其授权客户端设备通过在线系统访问一个或多个资源。可要求客户端设备随着从客户端设备发送到在线系统的每个通信向在线系统提供该会话令牌。作为一个示例,当用户登录安全web服务器时,在用户的客户端设备上执行的web浏览器可以被授予会话令牌,其授权web浏览器访问web服务器(例如,金融机构的网站)托管的网站的安全部分。可要求web浏览器随着后续发送给web服务器的每个请求(例如,对于web页面的请求、执行动作的请求,等)一起提供该会话令牌来向服务器标识该请求是来自客户端设备的合法请求。
发明者认识且意识到恶意实体可以在客户端设备与在线系统之间的数字交互期间通过捕捉从在线系统(例如,网站)发送到客户端设备的会话令牌(例如,被合法用户用于访问网站上的信息)来参与会话令牌伪冒。恶意实体然后可以使用捕捉的令牌来使从恶意实体发送到在线系统的通信表现得好像它们来自合法用户的客户端设备。恶意实体可以部署计算机病毒或可能够监视web业务且识别运送中的令牌的其他恶意软件程序。因此,本文描述的技术的一些实施例提供检测且防止这样的会话令牌伪冒的技术。
在一些实施例中,所述技术牵涉使用这样的会话令牌,其包括指示客户端设备与在线系统之间的数字交互的状态的信息。当在线系统接收会话令牌时,在与客户端设备的数字交互期间,在线系统可以处理令牌来确定会话令牌是否有效。响应于确定会话令牌有效,在线系统可以:(1)更新指示数字交互状态的信息;(2)获得另一个会话令牌,其包括更新过的信息(通过用该信息生成新的令牌或更新所接收令牌的内容);以及(3)向客户端设备发送其他会话令牌以供在与在线系统的后续通信中使用。这样,会话令牌的内容在客户端设备与在线系统之间的数字交互期间更改,并且例如可以每当在线系统对来自客户端设备的请求作出响应时更改。采用该方式更改会话令牌的内容使得恶意实体难以伪冒会话令牌,因为即使恶意实体在客户端设备与在线系统之间的数字交互期间的一个点拦截会话令牌,恶意实体在数字交互期间的另一个点无法重新使用该令牌,因为被拦截的会话令牌的内容到恶意实体试图使用它的时候将过时。
在一些实施例中,在线系统(例如,web服务器)可以在与客户端设备的数字交互期间接收通信。在线系统可以通过以下确定通信是否来自客户端设备:(1)识别来自通信的第一安全令牌;(2)以及通过从第一安全令牌获得指示数字交互的状态的信息来处理第一安全令牌,并且使用指示数字交互的状态的信息来确定通信是否来自客户端设备。
在一些实施例中,当在线系统确定通信来自客户端设备时,在线系统可以:(1)响应于通信来促成至少一个动作被执行(该动作可以包括例如向客户端设备提供web页面或其他信息、实行web页面上用户执行的动作,等);(2)更新指示数字交互状态的信息来获得指示数字交互状态的更新的信息;(3)获得第二安全令牌,其包括指示数字交互的更新的信息(例如,通过用这样的信息生成新的令牌或更新第一安全令牌以包括这样的信息);以及(4)向客户端设备提供第二安全令牌以供在数字交互期间在后续通信中使用。
在一些实施例中,指示数字交互状态的信息包括表示在线系统更改指示数字交互状态的信息的次数的值。例如,指示数字交互状态的信息可以包括对会话令牌中的内容已被修改的次数计数的序列号。在一些实施例中,当(例如,每当)在线系统对来自客户端设备的通信(例如,请求)作出响应时,在线系统可以使序列号增加一(或任何其他适合的数字)。
因此,在一些实施例中,指示数字交互状态的信息可以包括指示在线系统更改指示数字交互状态的信息的次数的第一值,并且更新指示数字交互状态的信息可以包括更改该第一值(例如,使之递增或增加)来获得第二值。
在一些实施例中,在向客户端设备提供第二安全令牌后,在线系统可以接收第二通信。在线系统可以通过以下来确定第二通信是否来自客户端设备:(1)识别来自第二通信的第三安全令牌;(2)以及处理该第三安全令牌来获得表示至少一个计算机更改指示数字交互状态的信息的次数的第三值;以及(3)当该第三值与第二值匹配时,确定第二通信来自客户端设备。
在一些实施例中,指示数字交互状态的信息可以包括指示最后一次修改会话令牌的时间戳和/或授予会话令牌所通过的web页面的类型。在一些实施例中,当在线系统对来自客户端设备的通信作出响应时,在线系统可以修改上述内容中的至少一些。当在线系统修改这样的内容由此更改数字交互的状态时,在线系统可以更改指示数字交互状态被在线系统更改的次数的值(例如,通过使之递增或增加)。应意识到会话令牌可以包括除指示数字交互状态的信息以外的内容。会话令牌中可以包括的数据的非限制性示例包括全局唯一标识符(例如,128位全局唯一标识符)和在创建令牌时的时间戳。
在一些实施例中,处理第一安全令牌来确定通信是否来自客户端设备包括将指示数字交互状态的信息与关于至少一个计算机所维持的数字交互状态的信息比较。例如,在线系统可以从第一安全令牌获得指示在线系统在数字交互期间发送给客户端设备的不同令牌的数量的序列号并且将该序列号与在线系统所维持的序列号的本地版本比较。
在一些实施例中,第一安全令牌可以包括加密令牌,处理第一安全令牌可以包括对加密令牌解密来获得解密令牌,并且提供第二安全令牌可以包括对包括指示数字交互状态的更新的信息的令牌加密。例如,在一些实施例中,当服务器接收之前发出的会话令牌连同请求时,服务器可以对会话令牌解密来确定会话令牌是否有效。如果令牌无效,服务器可以拒绝请求。否则,服务器可以例如通过更新一个或多个时间戳、更新页面类型来指示提交请求所经由的页面的类型、使序列号递增、更新指示URL或从最后访问的URL得到(例如,通过散列)的信息来更新令牌。更新过的令牌然后可以被重新加密并且返回给做出请求的客户端设备。
在一些实施例中,可以对会话令牌加密来防止未经授权的实体读取和/或篡改令牌。例如,可以使用对称加密方案,使得仅拥有私密密钥用于对称加密方案的实体可以对令牌解密和读取它。可以使用任何适合的对称加密方案,其包括但不限于256位AES加密。发明者认识且意识到256位AES加密可以提供合适的安全等级,如据一些人估计当前可用的最强大计算机花费超过十亿年来发起一场成功的“蛮力”攻击。然而,应意识到本文描述的技术的方面不限于使用对称加密,如在一些实施例中可以另外或备选地使用其他密码算法。作为一个示例,可以使用对称密钥加密方案。作为另一个示例,除加密外或代替加密,可以使用数字签名方案。因为仿造签名对攻击者来说在计算上可能不可行,攻击者可不能修改现有令牌或伪造新的令牌,即使攻击者可能够读取令牌也如此。因此,安全会话令牌可以是通过使用加密(具有任何适合的类型,其包括对称加密和不对称加密)和/或任何其他密码方案(例如,数字签名、散列等)而得到保护的令牌。
在一些实施例中,服务器可以生成会话令牌并且使用私密密钥用于对称加密方案来对会话令牌加密。只要没有其他实体获得对私密密钥的访问,加密令牌可以仅由生成令牌的服务器解密。服务器然后可以将令牌提供给客户端设备(例如,在客户端设备(例如web浏览器)上执行的应用程序),并且可以预期该客户端设备将具有客户端设备做出的所有后续请求的令牌提交给服务器。
在一些实施例中,会话令牌可以在阈值时间量(例如,从最后一次活动15分钟、30分钟等)后到期。如果客户端设备使用到期的会话令牌来做出请求,则可以拒绝客户端设备访问资源。在一些实施例中,可以允许客户端设备刷新到期令牌。例如,客户端设备的用户可以再次登录在线系统以再次获得对通过在线系统(例如,网站的安全部分)而可访问的一个或多个资源。如果用户成功登录,则在线系统可以对客户端设备授予新的会话令牌。
在一些实施例中,在线系统可以配置成检查请求的时序来确定是否被非法使用。例如,典型用户可以相继做出请求(例如,登录、检查账户余额、付账、更新个人信息等)。从而,如果在线系统同时接收具有相同会话令牌的两个请求,则这些请求中的至少一个可能是非法的。
然而,发明者认识且意识到一些用户在安全会话中使用标签浏览,其可以导致同时做出合法请求。例如,银行网站的用户可以具有两个打开的标签,并且可以使用一个标签用于查看交易历史并且另一个标签用于进行支付。从在线系统的角度来看,可能难以区分由标签浏览的合法使用产生的请求与来自利用会话令牌的恶意软件产生的请求。例如,由标签浏览产生的多个请求可以一连串和/或无序到达在线系统,使得基于时序判断请求的有效性可能无效。
因此,在一些实施例中,提供用于对包含令牌的请求分类的技术,其考虑超出请求时序范围的至少一条信息。发明者认识且意识到这样的技术可以高效将合法标签浏览与利用会话令牌的恶意软件区分开。
在一些实施例中,可以对网站提供软件代码(例如,采用JavaScript或采用任何其他适合的编程语言编写)以通过分析请求的一个或多个特性来确定该请求是否合法。例如,软件代码在被执行时可以检查与请求关联的事件序列并且寻找可能启示恶意软件存在的某些异常。
下文是根据本文描述的技术的一些实施例由实践标签浏览的合法用户产生的说明性事件序列:
1.用户使用在客户端设备上执行的web浏览器来访问金融机构网站。该网站托管在服务器上。
2.用户用用户名和密码登录金融机构网站。
a.服务器生成具有序列号0和页面类型登录的令牌。
3.用户查看账户余额页面。
a.服务器生成具有序列号1和页面类型账户余额的令牌。
i.用户在web浏览器中打开新的标签并且导航到个人信息页面。
1)服务器生成具有序列号2和页面类型个人信息的令牌。
ii.用户更新个人信息并且关闭标签。
1)服务器接收具有序列号2和页面类型个人信息的令牌。
4.用户在原始标签中从账户余额页面进行转账。
a.服务器接收具有序列号1和页面类型账户余额的令牌。
5.用户注销。
如在上文的示例中图示的,合法标签浏览可以使得无序接收令牌(例如,具有序列号1的会话令牌在具有序列号2的会话令牌之后被接收)。从而,缺乏一个或多个其他指示符,例如从不同用户代理接收请求,无序令牌独自可能不足以启示存在恶意软件。
下文是由利用会话令牌的病毒或其他恶意软件产生的说明性事件序列:
1.用户访问金融机构网站。
2.用户用用户名和密码登录网站。
a.服务器生成具有序列号0和页面类型登录的令牌。
3.用户查看账户余额页面。
a.服务器生成具有序列号1和页面类型账户余额的令牌。
4.用户查看个人信息页面。
a.服务器生成具有序列号2和页面类型个人信息的令牌。
5.同时,恶意软件进行AJAX(异步JavaScript和XML)调用以使用原始令牌(序列0和页面类型登录)发起资金转账。
6.用户注销。
在一些实施例中,可以对安全系统编程(例如,使用JavaScript或任何其他适合的编程语言)以从上面紧挨的序列等事件序列识别一个或多个可疑特性。可疑特性的示例包括但不限于:
·随不匹配令牌(序列0和页面类型登录)出现的资金转账请求。
ο页面类型不正确。资金转账请求可以仅经由一个或多个所选页面进行,但登录页面不在一个或多个所选页面之中。
ο合法用户将能够经由账户余额页面做出资金转账请求,但账户余额页面在生成令牌序列号0的时候未被加载。
·资金转账请求与查看个人信息交易同时发生。
ο合法用户将不能同时发送两个交易。
·资金转账请求未源于用户浏览器的前端,而相反作为AJAX调用来传送,该AJAX调用可以启示资金转账请求通过编程来执行,而不是被手动执行。
通过寻找一个或多个可疑特性和/或特性的可疑组合,可以实时识别非法请求(例如,在请求被授权之前)使得可以拒绝这样的请求。尽管在本文描述可疑特性的示例,应意识到本文描述的技术的方面不限于这些示例,如可以对安全系统和/或在线系统编程以除本文论述的那些外或代替本文论述的那些来检测其他特性。
IV.进一步的描述
应意识到上文引入且在下文更详细论述的技术可以采用许多方式中的任一个实现,因为这些技术不限于实现的任何特定方式。实现的细节的示例在本文仅仅是为了说明目的提供。此外,本文公开的技术可以单独或采用任何适合的组合使用,因为本文描述的技术的方面不限于使用任何特定技术或技术的组合。
图1A示出根据一些实施例的说明性系统10,经由该系统10可以发生数字交互。在该示例中,系统10包括用户设备11A、11B和11C、在线系统12和13以及安全系统14。用户15可以使用用户设备11A、11B和11C来参与一个或多个数字交互。例如,用户设备11A可以是智能电话并且可以被用户15用于检查电子邮件和下载音乐,用户设备11B可以是平板计算机并且可以被用户15用于购物和银行业务,并且用户设备11C可以是膝上型计算机且可以被用户15用于观看TV和打游戏。
应意识到除上文提到的那些外或代替那些,用户15可以参与其他类型的数字交互,因为本文描述的技术的方面不限于任何特定类型的数字交互的分析。同样,数字交互不限于经由互联网连接而实施的交互。例如,数字交互可以牵涉通过专用电话线的ATM交易。
此外,应意识到用户设备11A-C的特定组合仅为了说明目的提供,因为用户15可以使用任何适合的设备或设备的组合来参与数字交互,并且用户可以使用不同设备参与相同类型的数字交互(例如,检查电子邮件)。
在一些实施例中,数字交互可以牵涉用户15与在线系统(例如在线系统12或在线系统13)之间的交互。例如,在线系统12可以包括托管用户15使用的银行app的后端的应用服务器,并且在线系统13可以包括托管用户15使用web浏览器访问的零售商的网站的web服务器。应意识到除在线系统12和13外或代替在线系统12和13,用户15可以与其他在线系统(未示出)交互。例如,用户15可以访问药房网站来按处方抓药并且交付处方、访问旅行社网站来预订行程、访问政府机关网站来换发执照等。
在一些实施例中,用户15的行为可以由安全系统14测量和分析。例如,在线系统12和13可以向安全系统14报告从用户15观察到的行为。另外或备选地,用户设备11A-C可以向安全系统14报告从用户15观察到的行为。作为一个示例,从在线系统13托管的网站下载的web页面可以包括软件(例如,JavaScript片段),其对在用户设备11A-C中的一个上运行的浏览器编程来观察和报告用户15的行为。这样的软件可以由安全系统14提供并且由在线系统13插入web页面。作为另一个示例,可以对在用户设备11A-C中的一个上编程的应用程序编程来观察和报告用户15的行为。可以经由安全系统提供的软件(例如,JavaScript)来对应用程序编程。应用程序观察的行为可以包括用户15与应用程序之间的交互,和/或用户15与另一个应用程序之间的交互。作为另一个示例,可以对在用户设备11A-C中的一个上运行的操作系统编程来观察和报告用户15的行为。
应意识到观察和报告用户行为的软件可以采用任何适合的语言来编写,并且可以采用任何适合的方式交付给用户设备。例如,软件可以由防火墙(例如,应用防火墙)、网络运营商(例如,Comcast、Sprint等)、网络加速器(例如,Akamai)或沿用户设备与在线系统之间或用户设备与安全系统之间的通信路径的任何设备交付。
在一些实施例中,安全系统14可以配置成弄清在用户设备11A-C中的任一个上执行的一个或多个应用程序的能力。例如,安全系统14可以配置成向用户设备11A提供软件程序(其可以采用任何适合的语言编写),该软件程序在被用户设备11A执行时收集关于在用户设备11A上执行的应用程序的信息并且将收集的信息发送给安全系统14。进而,安全系统14可以使用接收的信息来确定应用程序是否具有一个或多个之前通信(例如,来自用户设备11A)断言它是的那种类型。作为特定示例,响应于来自在用户设备11A上执行以访问web页面(例如,在线系统12托管的web页面)的web浏览器应用程序的请求,安全系统14(例如,在由在线系统12通知请求时)可以向用户设备11A发送JavaScript代码。来自web浏览器应用程序的请求可以将应用程序识别为断言标识(例如,Internet Explorer 11.0)。响应于从安全系统14接收JavaScript代码,用户设备11A可以执行接收的JavaScript代码,其在执行时收集可以被安全系统14用于确定在用户设备11A上执行的web浏览器应用程序是否具有断言标识(例如,它实际上是否是Internet Explorer 11.0)的信息。
在一些实施例中,安全系统14可以配置成确定用户设备(例如,用户设备11A)是否具有断言类型。为此,安全系统14可以与用户设备交互来获得关于用户设备的额外信息并且确定关于用户设备的额外信息是否与用户设备的断言类型一致。例如,安全系统14可以配置成向用户设备提供软件程序以供用户设备执行。在用户设备执行接收的软件程序之后,用户设备所花的时间可以用于确定用户设备是否具有断言类型,例如通过将用户设备执行接收的软件程序所花的时间量与指示具有断言类型的设备执行相同软件程序花费多长时间的信息比较。安全系统14发送的软件程序可以包括计算挑战,如在下文更详细描述的。
尽管在图1A中只示出一个用户(即,用户15),应意识到可以对安全系统14编程来测量和分析跨互联网的许多用户的行为。此外,应意识到除在线系统12和13外或代替它们,安全系统14可以与其他在线系统(未示出)交互。发明者认识且意识到通过分析牵涉许多不同用户和许多不同在线系统的数字交互,安全系统14可以具有对用户如何表现的更广泛且准确的理解。然而,本公开的方面不限于从不同在线系统收集的测量的分析,如本文描述的技术中的一个或多个可以用于分析从单个在线系统收集的测量。同样,本公开的方面不限于从不同用户收集的测量的分析,如本文描述的技术中的一个或多个可以用于分析从单个用户收集的测量。
图1B示出根据一些实施例的图1A中示出的安全系统14的说明性实现。在该示例中,安全系统14包括一个或多个前端系统和/或一个或多个后端系统。例如,安全系统14可以包括前端系统22,其配置成与用户设备(例如,图1A中示出的说明性用户设备11C)和/或在线系统(例如,图1A中示出的说明性在线系统13)交互。另外或备选地,安全系统14可以包括后端系统32,其配置成与后端用户接口34交互。在一些实施例中,后端用户接口34可以包括图形用户界面(例如,仪表板),用于显示关于个体用户和/或用户群体的当前观察和/或历史趋势。这样的界面可以采用任何的方式交付(例如,作为web应用或云应用),并且可以被任何适合的方(例如,组织的安保人员)使用。
在图1B中示出的示例中,安全系统14包括日志存储24。该日志存储24可以存储日志文件,其包括前端系统22从用户设备(例如,用户设备11C)、在线系统(例如,在线系统13)和/或任何其他适合的源接收的数据。日志文件可以包括任何适合的信息。例如,在一些实施例中,日志文件可以包括在一定时间长度(例如,几秒、几分钟、几小时等)内从数字交互记录的按键和/或鼠标点击。另外或备选地,日志文件可以包括感兴趣的其他信息,例如账户标识符、网络地址、用户设备标识符、用户设备特性、访问的URL、所查看产品的库存单位(SKU)等。
在一些实施例中,日志存储24可以存储在一定适合时段内累积的日志文件,其可以总计达数百亿、数千亿或数万亿个日志文件。每个日志文件可以具有任何适合的大小。例如,在一些实施例中,可以每分钟从数字交互捕捉约60千字节的数据,使得记录几分钟用户行为的日志文件可以包括几百千字节的数据,而记录一小时用户行为的日志文件可以包括几兆字节的数据。从而,日志存储24可以整体存储拍字节的数据。
发明者认识且意识到每当接收对日志中数据的请求时从日志存储24检索日志文件并且分析它们可能不切实际。例如,安全系统14可以预期在100毫秒、80毫秒、60毫秒、40毫秒、20毫秒或更少内对日志数据的请求作出响应。安全系统14可不能在这样的短时间窗口内识别和分析来自日志存储24的所有相关日志文件。因此,在一些实施例中,可以提供日志处理系统26来过滤来自日志存储24的数据、变换该数据和/或将其路由到一个或多个数据库28。
日志处理系统26可以采用任何适合的方式实现。例如,在一些实施例中,日志处理系统26可以包括一个或多个服务,其配置成从日志存储24检索日志文件、从日志文件提取有用信息、变换一条或多条提取信息(例如,将纬度和经度坐标添加到提取的地址)和/或将经提取和/或变换的信息存储在一个或多个合适的数据库中(例如,一个或多个数据库28之中)。
在一些实施例中,一个或多个服务可以包括配置成将数据从日志文件路由到一个或多个队列的一个或多个服务,和/或配置成处理该一个或多个队列中的数据的一个或多个服务。例如,每个队列可以具有用于处理该队列中的数据的专用服务。服务的任何适合数量的实例可以根据队列中待处理的数据量来运行。
一个或多个数据库28可以被安全系统14的任何适合的组件访问。作为一个示例,后端系统32可以查询一个或多个数据库28来生成关于个体用户和/或用户群体的当前观察和/或历史趋势的显示。作为另一个示例,数据服务系统30可以查询一个或多个数据库28来向前端系统22提供输入。
发明者认识且意识到一些数据库查询可能耗时。例如,如果前端系统22每当接收同一性匹配的请求时查询一个或多个数据库28,则前端系统22可不能在100毫秒、80毫秒、60毫秒、40毫秒、20毫秒或更少内对请求作出响应。因此,在一些实施例中,数据服务系统30可以维持与一个或多个数据库28分开的一个或多个数据源。数据服务系统30维持的数据源的示例在图8B和10中示出并且在下文论述。
在一些实施例中,数据服务系统30维持的数据源可以具有有界大小,而不管分析多少数据来填充数据源。例如,如果来自某一账户有突发活动,则增加数量的数据可以存储在与该账户关联的一个或多个数据库28中。数据服务系统30可以处理一个或多个数据库28中存储的降到有限大小的数据,使得前端系统22可能够在恒定时间对请求作出响应。
本文描述用于处理传入数据的各种技术。例如,在一些实施例中,所有可能网络地址可以分成一定数量的桶。统计信息可以在这样的桶而不是个体网络地址上维持。采用该方式,可以分析有限数量的统计信息,即使所观察的实际数量的网络地址可能随时间波动也如此。除分桶外或代替分桶,也可以使用一个或多个其他技术,例如维持某一大小的数组。
在一些实施例中,数据服务系统30可以包括多个数据服务(例如,使用面向服务的架构实现)。例如,一个或多个数据服务可以定期(例如,每小时、每几小时、每天等)访问一个或多个数据库28,并且可以分析所访问的数据且填充被前端系统22使用的一个或多个第一数据源。另外或备选地,一个或多个数据服务可以从日志处理系统26接收数据,并且可以使用接收的数据来更新被前端系统22使用的一个或多个第二数据源。这样的第二数据源可以用自使用从一个或多个数据库28访问的数据最后一次填充一个或多个第一数据源以来到达的近期数据补充一个或多个第一数据源。在各种实施例中,一个或多个第一数据源可以与一个或多个第二数据源相同或不同,或可以存在某一重叠。
尽管实现的细节在图1B中示出且在上文论述,应意识到本文描述的技术的方面不限于使用任何特定组件或组件组合,或不限于组件的任何特定设置。此外,前端系统22、日志处理系统26、数据服务系统30和后端系统32中的每个可以采用任何适合的方式实现,例如使用在相同位点或不同位点操作的一个或多个并行处理器。
图1C示出根据一些实施例在数字交互内的说明性流程40。在该示例中,流程40可以代表用户在商户的网站上实施的一系列活动。例如,用户可以登录网站、更改账单地址、查看第一产品的产品细节页面、查看第二产品的产品细节页面、将第二产品加入购物车并且然后结账。
在一些实施例中,安全系统可以接收在整个流程40中从数字交互捕捉的数据。例如,安全系统可以从数字交互中牵涉的用户设备和/或在线系统(例如,如在图1B中示出且在上文论述)接收日志文件。
安全系统可以采用任何适合的方式使用从数字交互捕捉的数据。例如,如在图1B中示出的,安全系统可以处理捕捉的数据并且填充一个或多个数据库(例如,图1B中示出的一个或多个说明性数据库28)。另外或备选地,安全系统可以填充适于高效访问的一个或多个数据源。例如,安全系统可以在适合的数据结构中维持当前交互数据42。作为一个示例,安全系统可以保持跟踪在流程40的不同点观察到的不同网络地址(例如,经由第一网络地址登录且更改账单地址、经由第二网络地址查看第一和第二产品以及经由第三网络地址将第二产品加入购物车且结账)。作为另一个示例,安全系统可以保持跟踪在数字交互中使用的不同信用卡号(例如,在结账期间相继输入不同信用卡)。数据结构可以采用任何适合的方式且由安全系统的任何适合的组件(例如,说明性前端系统22和/或说明性数据服务系统30)维持。
在一些实施例中,除当前交互数据42外或代替该交换数据42,安全系统可以在任何适合的数据结构中维持历史数据44。该历史数据44可以包括一个或多个简档。例如,对于从数字交互观察到的每个锚定值,安全系统可以使用从数字交互捕捉的数据来更新与该锚定值关联的简档。
在一些实施例中,除当前交互数据42和/或历史数据44外或代替它们,安全系统可以维持填充数据46。例如,安全系统可以实时更新统计信息,例如用户代理对网站业务分解、地理位点、产品SKU等。作为一个示例,安全系统可以使用哈希取模法来将所有已知浏览器类型分成一定数量的桶(例如,10个桶、100个桶等)。对于每个桶,安全系统可以计算落在该桶内的整体网站业务的百分比。作为另一个示例,安全系统可以使用哈希取模法来将所有已知产品SKU分成一定数量的桶(例如,10个桶、100个桶)并且计算相应的业务百分比。另外或备选地,安全系统可以对桶组合(例如,浏览器类型的桶的组合、产品SKU的桶,等)计算相应业务百分比。
在一些实施例中,安全系统可以呈现当前交互数据42、历史数据44和/或群体数据46的任一个或多个方面(例如,经由图1B中示出的说明性后端用户接口34)。例如,安全系统可以使用面积堆叠图来呈现网站业务的分解(例如,具有实际业务测量或整体业务百分比)。
图2A是根据本文描述的技术的一些实施例用于检测应用程序伪冒的说明性处理200的流程图。处理200可以由任何适合的系统和/或计算设备执行,并且例如可以由参考图1A描述的安全系统14执行。
处理200在动作202开始,其中执行处理200的系统(例如,安全系统14)从在客户端设备(例如,参考图1A描述的用户设备11A、11B和11C中的一个)上执行的应用程序接收断言应用的标识的通信。系统可以直接从客户端设备或例如经由首先接收通信的另一个系统(例如,参考图1A描述的在线系统12或13)间接接收通信。在一些实施例中,通信可以断言应用的标识是web浏览器应用程序,并且在一些实施例中,可以包括关于web浏览器应用程序(例如,web浏览器的版本)的信息。在一些实施例中,通信可以包括HTTP请求并且该HTTP请求可以包括断言应用程序的标识(例如,在HTTP请求的用户代理字段中)的信息。在动作202,执行处理200的系统可以处理接收的通信来识别来自通信的应用程序的断言标识(例如,通过访问通信中的HTTP请求的用户代理字段中的信息)。
接着,处理200行进到动作204和206,其中执行处理200的系统与客户端设备交互来验证应用程序的断言标识。首先,在动作204,系统向客户端设备提供软件程序以用于收集关于应用程序的信息。在一些实施例中,软件程序可以是JavaScript程序。然而,应意识到软件程序可以采用任何其他适合的编程语言而不是Javascript来编写,因为本文描述的技术的方面在该方面不受限制。另外,软件程序可以采用任何适合的格式提供,因为本文描述的技术的方面在该方面不受限制。
在一些实施例中,软件程序可以配置成通过编程确定和/或测试应用程序的一个或多个能力。例如,当被客户端设备执行时,软件程序可以配置成确定应用程序是否配置成识别具有断言标识的应用程序能够识别的对象。作为一个示例,如果HTTP请求将请求程序识别为特定类型的web浏览器(例如,Opera、Internet Explorer等),软件程序可以配置成确定请求程序是否识别具有断言标识的web浏览器能够识别的对象(分别是window.opera、window.ActiveXObject等)。作为另一个示例,软件程序可以配置成确定请求程序是否识别具有断言标识的web浏览器能够识别的文档对象模型(DOM)对象。作为再一个示例,软件程序可以配置成确定请求程序是否可以访问具有断言标识的web浏览器能够访问的变量或客户端设备资源(例如,环境变量、操作系统资源、客户端设备上的硬件)。
接着,在动作206,执行处理200的系统从客户端设备接收在动作204由提供给客户端设备的软件程序所收集的信息。系统可以直接或从客户端设备或间接接收所收集的信息。所接收的信息可以对通过执行客户端设备上的软件程序所测试的应用程序的能力中的一个或多个中的每一个指示应用程序是否具有能力。所接收的信息可以采用任何适合的格式,因为本文描述的技术的方面在该方面不受限制。
接着,在动作208,执行处理200的系统确定在动作206接收的信息是否与应用程序的断言标识一致。这可以采用任何适合的方式进行。例如,收集的关于应用程序的一个或多个能力的信息(其指示应用程序是否具有这些能力)可以与关于具有相同标识的应用程序的相同能力的信息比较。作为一个示例,如果断言标识的web浏览器(例如,Google Chrome版本47.0.2526.83)能够识别特定类型的对象,并且在动作206接收的信息指示应用程序未识别该特定类型的对象,则可以做出应用程序被伪冒的确定-在动作202接收的通信歪曲应用程序的标识(例如,通过在它不是Google Chrome版本47.0.2526.83时却声明它是)。另一方面,如果在动作206接收的信息指示应用程序确实识别该特定类型的对象,则可以做出所接收的信息与应用的断言标识一致的确定。进而,该确定可以用于独自或在能力的进一步比较的基础上验证应用程序具有断言标识。
响应于确定应用程序的标识被伪冒,安全系统可以采取任何适合类型的动作,其包括但不限于拒绝客户端设备访问客户端设备正请求的资源(例如,访问web页面、访问服务)、将关于客户端设备的信息添加到要阻止的客户端设备列表、通知一个或多个用户与被伪冒设备类型的通信被接收。另一方面,响应于确定应用程序标识未被伪冒,安全系统可以授权客户端设备访问客户端设备可能正在请求的资源或关于来自客户端设备的所接收通信执行进一步检查(例如,根据本文描述的技术,通过检查通信是否歪曲客户端设备的设备类型)。
图2B是根据本文描述的技术的一些实施例作为用于检测应用程序伪冒的技术的部分执行的说明性处理250的流程图。处理250可以由任何适合的计算设备执行。例如,处理250可以由参考图1A描述的用户设备11A、11B和11C中的任一个执行。处理250和处理200可以被互补执行。例如,安全系统可以通过执行处理200的动作而与客户端设备交互,并且客户端设备可以通过执行处理250的动作而与安全系统交互。该交互可以实时发生,以使得由安全系统执行的动作响应于客户端设备执行的动作而执行并且反之亦然。
处理250在动作252开始,其中在执行处理250的客户端设备上执行的应用程序生成断言应用程序的标识的通信并且将其发送给服务器。通信可以包括HTTP请求并且可以断言应用程序的标识是特定类型的web浏览器应用程序。在合法用户的情况下,应用程序实际上可以是web浏览器。另一方面,在恶意实体的情况下,应用程序可以不是web浏览器,而例如可以是脚本或其他类型的应用,例如用作服务器上的攻击的部分的机器人工具。
接着,在动作254,客户端设备从至少一个计算机直接或间接接收软件程序以用于收集关于在客户端设备上执行的应用程序的一个或多个能力的信息。在一些实施例中,至少一个计算机可以是安全系统(例如,安全系统14)的一部分。
接着,在动作256,客户端设备执行在动作254接收的软件程序。随着软件程序被执行,该软件程序收集关于客户端设备的一个或多个能力的信息。然后在动作258将收集的信息传回至少一个计算机。
在一些实施例中,决策逻辑可以用于(例如,作为处理200的部分)确定关于在客户端设备上执行的应用程序的能力的信息(其由发送给客户端设备的软件程序收集)是否与应用程序的断言标识一致。决策逻辑可以规定一个或多个规则,其是关于可以应用于软件程序所获得的信息以确定应用程序是否具有断言标识的应用程序的能力。这样的决策逻辑-决策逻辑300-的示例在图3中示出。
如在图3的说明性示例中示出的,客户端设备在步骤302做出HTTP请求。响应于直接或间接接收HTTP请求,安全系统向客户端设备发送JavaScript查询,该JavaScript查询包括JavaScript指令,该指令在由客户端设备执行时收集关于在客户端设备上执行的应用程序是否可以访问对象A-D中的一个或多个的信息,如在框306、308、310和312中图示。根据这些测试的结果,决策逻辑识别来自web浏览器类型集(例如,web浏览器1-5)的web浏览器类型,如在图3中指示的。
应意识到图3中示出和上文描述的示例仅仅为了说明目的提供。本文描述的技术的方面不限于测试对象的可访问性,如另外或备选地可以使用其他类型的能力测试。此外,本文描述的技术的方面不限于识别单一可能性(例如,特定浏览器类型),如在一些实施例中,可以识别可能性集(例如,可能的浏览器类型集)。
还应意识到本文描述的技术的方面不限于使用决策逻辑来识别可能的浏览器类型。在一些实施例中,例如,决策逻辑可以用于识别一个或多个能力,其中每个能力可以是一个或多个特性的组合。这样的特性的示例包括但不限于屏幕分辨率、本地时区、加速器状态、浏览器插件可用性和语言。
图4A是根据本文描述的技术的一些实施例的、用于检测设备类型伪冒的说明性处理400的流程图。处理400可以由任何适合的系统和/或计算设备执行,并且例如可以由参考图1A描述的安全系统14执行。
处理400在动作402开始,其中执行处理400(例如,安全系统14)的系统从客户端设备接收指示客户端设备的断言类型的通信。客户端设备可以是任何适合类型的设备并且例如可以是参考图1A描述的用户设备11A、11B和11C中的一个。系统可以直接从客户端设备或例如经由首先接收通信的另一个系统(例如,参考图1A描述的在线系统12或13)间接接收通信。
在一些实施例中,通信可以断言客户端设备是移动设备或另一个类型的设备(例如,台式机)。另外或备选地,通信可以包括关于设备的硬件配置的信息(例如,指示处理器类型的信息、指示处理器数量的信息、关于设备中的存储器类型的信息、关于设备中的任何GPU的信息、关于设备中的通信硬件的信息、关于设备中的一个或多个芯片集的信息、等等)。另外或备选地,通信可以包括关于设备的制造商和/或设备的一个或多个硬件组件的信息。另外或备选地,通信可以包括关于设备的版本和/或代(例如,第一代IPad、IPhone 5s等)的信息。另外或备选地,通信可以识别在设备上执行的一个或多个操作系统和/或应用程序(并且,在一些实施例中,它们的版本)。然而,应意识到除上文描述的示例外或代替这些示例,通信可以包括指示设备类型的任何其他信息。在动作402,执行处理400的系统可以处理接收的通信以从通信识别断言设备类型。
接着,处理400行进到动作404和406,其中执行处理400的系统与客户端设备交互来验证客户端设备的断言设备类型。首先,在动作404,系统向客户端设备提供软件程序以用于收集关于客户端设备的信息。在一些实施例中,软件程序可以是JavaScript程序,但可以采用任何其他适合的编程语言编写。软件程序可以采用任何适合的格式提供。
在一些实施例中,软件程序可以对例如串行累积计算挑战、并行检查点计算挑战、神经网络计算挑战和图形处理单元计算挑战等计算挑战编码。在本文描述这些类型的计算挑战的示例。
在一些实施例中,在动作404,安全系统可以将一个或多个输入值传送到客户端设备以在执行计算挑战时将这些输入值作为输入提供给计算挑战;和/或将一个或多个参数传送到客户端设备以用于配置计算挑战。在本文描述这样的输入值和参数的示例。
在一些实施例中,软件程序可以配置成测量客户端设备执行计算挑战所花的时间量。在一些实施例中,软件可以配置成将指示客户端设备执行计算挑战花费多长时间的信息传送到安全系统。另外或备选地,在一些实施例中,软件可以配置成将指示通过执行计算挑战获得的结果的信息传送到安全系统。
接着,在动作406,执行处理400的系统从客户端设备接收在动作404由提供给客户端设备的软件程序所收集的信息。系统可以直接从客户端设备或间接接收收集的信息。在一些实施例中,所接收的信息可以指示客户端设备执行在动作404发送给客户的端设备的软件程序中体现的计算挑战所花的时间量。另外或备选地,接收的信息可以指示执行计算挑战的一个或多个结果。在一些实施例中,这些结果可以用于验证客户端设备实际上执行过计算挑战。所接收的信息可以采用任何适合的格式。
接着,在动作408,执行处理400的系统确定在动作406接收的信息是否与客户端设备的断言设备类型一致。这可以采用任何适合的方式进行。例如,从客户端设备接收的指示客户端设备执行计算挑战所花的时间量的信息可以用于确定客户端设备执行计算挑战所花的时间量与具有断言类型的客户端设备执行相同任务花费了多长时间是否一致。为此,安全系统可以访问指示与用于具有断言类型的设备群体的计算挑战相关联的预期执行时间的信息,并且将测定的时间量与访问的信息比较来确定设备类型是否被伪冒。
在一些实施例中,指示与计算挑战关联的预期执行时间的信息可以包括预期执行时间范围,并且系统可以确定客户端设备执行计算挑战所花的时间量是否落在该范围内。当确定客户端设备执行计算挑战所花的时间量未落在该范围内时,安全系统可以确定设备类型被伪冒。另一方面,当确定客户端设备执行计算挑战所花的时间量落在范围内时,安全系统可以确定设备类型未被伪冒。
在一些实施例中,指示与计算挑战关联的预期执行时间的信息可以包括执行时间的统计信息,并且系统可以确定客户端设备执行计算挑战所花的时间量是否偏离该统计信息。这可以采用任何适合的方式进行,例如通过使用统计假设测试、确定所花的时间量是否至少是离执行时间的样本均值的标准偏差的阈值数量,及类似物。当确定客户端设备执行计算挑战所花的时间量偏离统计信息时,安全系统可以确定设备类型被伪冒。另一方面,当确定客户端设备执行计算挑战所花的时间量未偏离统计信息时,安全系统可以确定设备类型未被伪冒。
应意识到,尽管在一些实施例中,客户端设备执行计算挑战所花的时间量可以由在设备上执行的软件程序提供,但在其他实施例中,安全系统可以自己确定执行计算挑战所花的时间量。例如,安全系统可以测量在体现计算挑战的软件程序被发送给客户端设备(例如,在动作404)的时间和安全系统从客户端设备接收指示它的计算挑战执行已完成(例如,在动作406)的时间之间逝去的时间量。
响应于确定设备类型被伪冒,安全系统可以采取任何适合类型的动作,其包括但不限于拒绝客户端设备访问客户端设备正请求的资源(例如,访问web页面、访问服务)、将关于客户端设备的信息添加到要阻止的客户端设备列表、通知一个或多个用户与被伪冒设备类型的通信被接收。另一方面,响应于确定设备类型未被伪冒,安全系统可以授权客户端系统访问客户端系统可能正请求的资源或执行关于来自客户端设备的接收通信的进一步检查(例如,根据本文描述的技术,通过检查通信是否歪曲用于发送应用的应用程序的标识)。
图4B是根据本文描述的技术的一些实施例的、作为用于检测设备类型伪冒的技术的一部分执行的说明性处理450的流程图。处理450可以由任何适合的计算设备执行。例如,处理450可以由参考图1A描述的用户设备11A、11B和11C中的任一个执行。处理450和处理400可以被互补执行。例如,安全系统可以通过执行处理400的动作来与客户端设备交互,并且客户端设备可以通过执行处理450的动作来与安全系统交互。该交互可以实时发生,以使得安全系统执行的动作响应于客户端设备执行的动作来执行并且反之亦然。这在下文进一步参考图5图示。
处理450在动作452开始,其中执行处理450的客户端设备生成断言客户端设备的设备类型的通信并且将其发送到服务器。接着,在动作454,客户端设备直接或间接从至少一个计算机接收软件程序以用于收集关于客户端设备的信息。软件可以包括计算挑战和用于计算挑战的一个或多个输入和/或参数。在一些实施例中,至少一个计算机可以是安全系统(例如,安全系统14)的一部分。
接着,在动作456,客户端设备执行在动作454接收的软件程序。客户端设备可以通过执行软件程序来执行计算挑战。另外,客户端设备可以测量设备执行计算挑战所花的时间量。
接着,在动作458,客户端设备将软件程序收集的信息发送到至少一个计算机。收集的信息可以包括执行计算挑战的结果。另外或备选地,收集的信息可以包括客户端设备执行计算挑战所花的时间量的指示。应意识到,客户端设备可以在动作458将任何其他适合的信息(例如通用唯一标识符)传送到至少一个计算机,因为本文描述的技术的方面在该方面不受限制。
图5是根据本文描述的技术的一些实施例的、用于检测设备伪冒的说明性分布式技术500的图。分布式技术500可以由客户端设备(例如,参考图1A描述的用户设备11A、11B和11C中的任一个)和安全系统(例如,参考图1A描述的安全系统14)执行。
在一些实施例中,该技术在动作502开始,其中安全系统可以接收对于将提供给客户端设备的计算挑战的请求,该客户端设备在通信(例如,HTTP请求)中被断言为具有特定类型。在一些实施例中,对于计算挑战的请求可以直接从客户端设备接收。在其他实施例中,请求可以从管理客户端设备正请求访问的资源的系统接收。例如,客户端设备可以请求访问在线系统12(参考图1A描述)上托管的web页面,并且在线系统12可以请求安全系统验证请求的真实性,例如通过向客户端设备提供计算挑战。
在一些实施例中,响应于接收计算挑战请求,安全系统可以在动作504生成计算挑战。另外,安全系统可以生成对于计算挑战的一个或多个可选输入,其通过示例但没有限制地包括一个或多个动态生成的更多输入值、时间戳和随机种子。在一些实施例中,安全系统还可以生成一次性通用唯一标识符(UUID),其可以用于防止劫持或中继挑战令牌。安全系统然后可以向客户端设备发送生成的计算挑战、UUID和可选输入(如有的话)。在一些实施例中,安全系统也可以将向客户端设备发送计算挑战代码和可选输入(和/或其他参数)的时间记入日志。
在一些实施例中,响应于从安全系统接收计算挑战和任何关联信息(例如,一个或多个可选输入和UUID),客户端设备可以在动作506执行计算挑战。客户端设备可以记录开始和完成计算挑战的执行的时间。这些时间可以用于测量客户端设备执行计算挑战所花的时间量。在完成计算挑战后,客户端设备可以向安全系统发送输出。该输出可以包括执行计算挑战的结果和/或客户端设备执行计算挑战所花的时间量的指示(例如,通过发送开始和完成计算挑战的记录时间和/或它们的差异)。在一些实施例中,客户端设备也可以向安全系统发送一次性会话UUID。
在一些实施例中,在动作508,响应于从客户端设备接收输出,安全系统可以记录接收输出的时间并且然后验证客户端设备实际上执行过计算挑战。在一些实施例中,安全系统可以对照对安全系统可用的权威答案来检查客户端设备提供的对计算挑战的解。另外或备选地,安全系统可以验证所接收的一次性UUID与连同计算挑战一起发送给客户端设备的UUID匹配。另外或备选地,安全系统可以验证客户端设备执行计算挑战所花的时间量(如由客户端设备报告的时间量)与安全系统获得的时间的估计是否一致。例如,在一些实施例中,安全系统可以将客户端报告的时间与通过以下方式所获得的时间的估计相比较:采用安全系统记录的向设备发送计算挑战的时间与安全系统记录的从客户端设备接收输出的时间之间的差异。
在一些实施例中,响应于验证客户端设备提供的输出是合法的,安全系统可以确定客户端设备执行计算所花的时间量与具有断言类型的设备执行相同计算挑战所花的时间量是否一致。这可以采用本文描述的方式中的任一个进行。
在下文描述计算挑战的另外的示例。然而,应意识到本文描述的技术的方面不限于使用这些计算挑战中的任一个。在各种实施例中,可以使用这些和/或其他计算挑战中的任一个或多个,或可以根本不使用计算挑战。
计算挑战可以接受零、一或多个挑战参数作为输入。任何适合类型的数据可以用作挑战参数,其包括但不限于整数、整数数组、浮点、浮点数组、字符串、数据结构、图像数据等。在一些实施例中,一个或多个适合的编码技术可以应用于指定类型的输入数据。编码技术的示例包括但不限于整数数组编码、N进制字符串编码、PNG图像编码等。
在一些实施例中,整数数组编码技术可以用于对单个整数、整数数组或UTF-8字符串数组编码。具有这些类型中的任一个的输入数据可以表示为数组。输入数据和对应编码输出的说明性示例在下文的表中示出。在说明性字符串编码示例中,在对UTF-8字符串编码时可以使用十进制字符引用(DCR)标记。
Figure BDA0001650734870000351
Figure BDA0001650734870000361
表1:编码输入数据的说明性示例
在一些实施例中,可以使用N进制字符串编码以例如对复杂数据结构编码。在一些实施例中,可以使用16进制字符串编码和/或64进制字符串编码。备选地或另外,可以使用例如动态N进制,其中N是在16与64之间的随机值。在一些实施例中,在执行N进制编码之前,可以对原始JSON字符串执行一个或多个附加处理步骤(例如,利用在请求设备和服务器挑战发生器之间共享的随机密钥的异或处理)。这样的附加处理可能增加复杂性并且由此增强模糊。
在一些实施例中,图像编码技术可以用于将数据打包成像素(例如,对于PNG图像有序的RGB三元组)。在一些实施例中,alpha值可以设置成1.0以创建全透明图像,其可以防止编码RGB值被显示为公共图像查看和编辑应用中的可见像素。
如本文描述的,在一些实施例中,安全系统可以与发送通信(例如,HTTP请求)的客户端设备交互来验证设备是否确实具有通信中所指示的类型。在一些实施例中,与客户端交互可以包括向体现一个或多个计算挑战的客户端发送软件程序。在一些实施例中,安全系统可以从以下一个或多个挑战类型中选择计算挑战中的一个或多个发送给客户端设备:包括但不限于串行累积计算挑战、并行检查点计算挑战、多层感知(MLP)计算挑战和图形处理单元(GPU)计算挑战。在下文描述这些类型的计算挑战的说明性示例。
在一些实施例中,响应于来自设备的请求,所选的挑战类型的变化形式可以返回给设备以供执行。例如,变化形式可以随机或采用某一其他适合的方式(例如,根据固定排序)从该挑战类型的多个变化形式选择。备选地或另外,变化形式可以根据需要动态生成。
在一些实施例中,对于变化形式的返回类型可以被模糊。例如,指定挑战类型的一个实例可以预期由整数表示的数值结果,而相同挑战类型的另一个实例可以预期以字符串类型编码的N进制(对于某一适合的N)中的数值结果。另外或备选地,返回请求设备的JavaScript代码可以被模糊,以使得攻击者更难以使计算挑战逆向工程化。用于模糊的各种技术在下文更详细描述。
在一些实施例中,安全系统可以向设备发送对串行累积计算挑战编码的软件程序,以便于验证该设备是否具有通信中断言的类型。执行该类型的计算挑战可以包括执行复合累积计算。例如,最终结果可以在许多迭代内计算,并且可以动态控制迭代数量(例如,使用指示执行的迭代数量的输入参数“Num迭代”)。
在一些实施例中,在设备执行计算挑战后,可以确定设备执行计算挑战所花的时间量,并且将其传送到挑战验证服务器以用于分析。例如,挑战验证服务器可以将记录的执行时间与预期执行时间范围相比较。预期执行时间范围可以例如从用于不同设备、平台和/或硬件组合群体的执行范围的一个或多个数据库获得。挑战验证服务器可以是安全系统的部分。另外或备选地,计算挑战中的计算结果可以传送到挑战验证服务器以供分析。例如,挑战验证服务器可以将结果与使用挑战参数从数据库检索的预期结果相比较。该比较可以用于防止设备通过提供不正确结果而避免执行计算挑战。
在一些实施例中,串行累积计算挑战可以由一次性不可传输通用唯一标识符(UUID)来键控。这也可以帮助防止劫持或重放挑战令牌。
串行累积计算挑战的说明性示例在图6A、6B和6C中示出,其包括说明性输入参数、输出结果和作为挑战的部分而执行的计算。例如,图6A示出串行累积计算挑战的说明性输入参数,包括:(1)“源数据”,其是指示对于累积、复合计算的初始值的整数;(2)“Num迭代”,其是指示待执行的累积复合计算的迭代数量的整数;以及(3)“函数名称”,其是在设备执行上下文中执行的函数的名称(例如,在web浏览器应用程序的上下文中执行的JavaScript函数的名称)。
图6B示出串行累积计算挑战的说明性输出结果,包括:(1)“起始时间MS”,其是指示根据设备在设备处发起计算挑战的执行的时间的整数;(2)“结果数据”,其是指示累积计算的结果的整数;以及(3)“结束时间MS”,其是指示根据设备在设备处完成计算挑战的执行的时间的整数。应意识到,上文的输入和输出参数是说明性的,并且串行累积计算挑战可以具有除上文描述的参数以外或代替这些参数的其他输入和/或输出参数(和/或不同类型的参数)。
图6C示出作为串行累积计算挑战的部分执行的说明性计算的程序指令。图6C还示出用于对串行累积计算挑战生成输出结果的说明性输入参数和程序指令的值。如本文描述的,串行累积计算挑战(和任何其他类型的计算挑战)可以在采用任何适合编程语言(其包括但不限于JavaScript)编写的软件程序中体现。
在一些实施例中,安全系统可以向设备发送对并行检查点计算挑战编码的软件程序,以便验证该设备是否具有在通信中断言的类型。执行该类型的计算挑战可以包括在多个线程上执行多个计算。在一些实例中,线程化可以使用W3C web worker功能性执行。
在一些实施例中,来自并行线程中的一个或多个的一个或多个结果可以被传送到挑战验证服务器以供分析。例如,挑战验证服务器可以将结果与使用挑战参数从数据库检索的一个或多个预期结果相比较。采用该方式,挑战验证服务器可以确认设备完成当前挑战并且未重放从之前的挑战记录的结果。
另外或备选地,分别对应于并行线程中的一个或多个的一个或多个执行时间可以被记录并且提供给挑战验证服务器以供分析。作为一个示例,挑战验证服务器可以将一个或多个记录的执行时间与一个或多个范围的预期执行时间相比较。预期执行时间的范围可以从用于设备、平台和/或硬件组合的不同群体的执行范围的数据库检索。作为另一个示例,挑战验证服务器可以使用设备提供的平台和设备信息(例如,在HTTP请求中的用户-代理字段中)和一个或多个执行时间来确定设是使用硬件vs.软件线程还是批量vs.相继执行。
并行检查点计算挑战的说明性示例在图7A、7B和7C中示出,其包括说明性输入参数、输出结果和作为挑战的部分执行的计算。例如,图7A示出并行检查点计算挑战的说明性输入参数,包括:(1)“源数据”,其是指示并行计算的初始值的整数;(2)“Num迭代”,其是指示在每个线程中执行计算的迭代数量的整数;以及(3)“Num线程”,其是指示待执行的并行执行的数量的整数。
图7B示出并行检查点挑战的说明性输出结果,其包括:(1)“起始时间MS”,其是指示根据设备在设备处发起并行执行中的每个的时间的整数数组;(2)“结果数据”,其是指示并行执行的结果的整数数组;以及(3)“结束时间MS”,其是指示根据设备在设备处完成并行执行的时间的整数数组。应意识到,上文的输入和输出参数是说明性的,并且并行检查点计算挑战可以具有除上文描述的参数以外或代替这些参数的其他输入和/或输出参数(和/或不同类型的参数)。
图7C示出作为并行检查点挑战的部分执行的程序指令。图7C还示出用于对并行检查点计算挑战生成输出结果的说明性输入参数的值和程序指令。如本文描述的,并行检查点计算挑战(和任何其他类型的计算挑战)可以在采用任何适合编程语言(其包括但不限于JavaScript)编写的软件程序中体现。
在一些实施例中,安全系统可以向设备发送对神经网络计算挑战编码的软件程序,以便验证该设备是否具有在通信中断言的类型。神经网络计算挑战也可以称作多层感知(MLP)计算挑战。执行该类型的计算挑战可以包括使用MLP神经网络来处理一个或多个输入值以产生一个或多个输出值。MLP神经网络可以是具有一个或多个层(包括输入层、至少一个隐藏层和输出层)的有向图,其中每个层具有一个或多个节点。这样的节点有时称为“神经元”。
在一些实施例中,MLP神经网络中的第n个层(n>0)中的神经元可以从之前层中的一个或多个神经元接收输入。例如,第n个层中的神经元可以从之前层中的神经元中的至少一些(例如,全部)接收输入。在一些实施例中,每个输入可以与不同权重关联,并且第n个层中的神经元处的总输入可以计算为来自之前层中的全部神经元的输入的加权和。应意识到权重中的一个或多个可以是零。用于计算神经元处的总输入的循环说明在下文的表2中示出。
Figure BDA0001650734870000401
表2:用于确定MLP神经网络的节点处的总输入的循环说明
在一些实施例中,可以提供激活函数,其将神经元处的输入(例如,来自之前层中的所有神经元的输入的加权和)映射到该神经元处的输出。该输出可以用作下一个层中的一个或多个神经元处的输入。采用该方式,输入层处的一个或多个输入值可以通过MLP神经网络馈送以在输出层处产生一个或多个输出值。在一些实施例中,在MLP神经网络中的所有神经元处可以使用相同激活函数。备选地,一些神经元可以具有不同激活函数。
在一些实施例中,计算函数可以编码为MLP神经网络。在一些实施例中,计算函数可以具有嵌入其中的隐藏数据。发明者认识且意识到,计算函数和/或隐藏数据可以被设计成提供MLP神经网络的执行的可验证证据和/或关于何时出现该执行的一个或多个界限。另外或备选地,在执行之前、期间和/或之后聚集的数据可以用于识别执行MLP神经网络计算挑战的设备的一个或多个特性。这样的数据的示例包括但不限于时序和/或状态信息。在一些实施例中,一片或多片聚集的数据可以用于播种一个或多个未来轮次的计算挑战。
在一些实施例中,异OR(XOR)函数可以编码为MLP神经网络。例如,修改的XOR真值表可以通过用随机值来替换标准XOR真值表列中的每个“0”值来构造,对于每个“1”值也同样。例如,标准XOR真值表在下文的表3中示出。
Figure BDA0001650734870000411
表3:XOR真值表的说明性示例
在该示例中,可以随机选择六个值来替换真值表中的“0”和“1”值,由此对值的每个列使0和1随机化。例如,随机选择的值可以是0.6、0.7、1.2、1.4、1.3和2.9,从而产生在表4中示出的说明性修改XOR真值表。
Figure BDA0001650734870000412
表4:修改XOR真值表的说明性示例
在一些实施例中,MLP神经网络可以训练成对修改的XOR真值表(例如表4中示出的说明性表)编码。例如,值可以被随机选择(例如,1.2)并且用作MLP神经网络的参数。从而,MLP神经网络可以对修改的XOR真值表中的两个行(例如,第一和第三行)编码。也可以随机选择四个其他值,就是说,0.6、0.7、1.3和2.9。然后可以通过训练来确定合适的权重,以使得响应于输入0.6,MLP神经网络可以输出1.3,并且响应于输入0.7,MLP神经网络可以输出2.9,其分别对应于表4中示出的说明性修改的XOR真值表的第一和第三行。在一些实施例中,这样的训练可以对每四元组值(例如,<0.6、0.7、1.3、2.9>)产生不同的权重组合。因此,可以存在与存在不同四元组一样多的不同权重组合。
在一些实施例中,MLP计算挑战可以包括要求操作者(例如,合法用户或攻击者)对特定输入执行MLP神经网络。可以给予操作者对应于MLP神经网络的数据集,其中该数据集可以包括已训练成对计算函数和/或一些隐藏数据编码的权重。例如,响应于从设备接收请求,可以如上文论述的那样随机选择一个或多个值来获得修改的XOR函数以编码为MLP神经网络。随机选择的值可以包括待输入MLP神经网络的输入值(例如,在上文的示例中的0.6或0.7)。代表MLP神经网络的数据集连同输入值一起可以返回给设备。该设备可以预期对输入值执行MLP神经网络计算并且提交输出值以待验证。
备选地,输入值可以从设备接收并且可以采用某一适合方式变换(例如,利用随机选择的值的异或处理),并且经变换的值可以用于训练MLP权重并且可以返回给设备以通过MLP神经网络来馈送。
发明者认识且意识到,如果输入值被随机化,操作者可能难以猜测输入值是对应于“0”还是“1”。例如,参考上文描述的示例,操作者可以看到输入值是0.6,但可能不知道0.6是对应于“0”还是“1”。详细地,如果输出值被随机化,操作者可能难以猜测输出值是对应于“0”还是“1”。例如,参考上文描述的示例,操作者可以看到在执行MLP神经网络之后输出值是1.3,但可能不知道1.3是对应于“0”还是“1”。
发明者进一步认识且意识到,操作者可能难以确定哪个计算函数和/或隐藏数据已编码为MLP神经网络,即使操作者能够将不同输入馈送到MLP网络且观察对应输出。例如,在一些实施例中,对不同输入执行MLP神经网络可以导致在输入与相应输出之间没有明确对应性的不同输出。操作者可能甚至不知道哪个输入在编码计算函数域中。例如,参考上文描述的示例,编码XOR函数的域只有两个值,即0.6和0.7。即使在计算挑战中给予操作者输入0.6,操作者可能也难以猜测域中的另一个值,因为域中的值是被独立选择的。例如,操作者可以随机选择值并且将该值传递通过MLP神经网络,但操作者选择域中的值(例如,0.7)的可能性可能是小的。
尽管修改的XOR真值表在上文只对一个位描述,应意识到本文描述的技术可以扩展到对于多个位(例如,2个位、4个位、8个位、16个位、32个位、64个位、128个位、256个位等)的修改的XOR。例如,可以用独立选择的随机值和单独训练的MLP神经网络对每个位独立执行XOR运算。参考上文的示例,因为可以对每个位生成六个随机值,128x 6=768个随机值可以对128位XOR生成。从XOR的一个位到另一个位可能没有相关性,使得攻击者可能不能够通过联合分析多个位来获得任何优势。然而,应意识到本文描述的技术的方面不限于将XOR函数编码为MLP神经网络,如在一些实施例中,除XOR函数以外或代替XOR函数的一个或多个其他类型的函数可以编码为MLP神经网络。
在一些实施例中,将128位XOR函数编码为MLP神经网络可以包括下列动作:
1.可以选择2x 128=256个随机值,其中在到128位XOR函数的输入中对于每个位有两个值(例如,在上文的示例中是0.6和0.7)。
ο全部256个值可以用于MLP神经网络训练。
ο仅128个值将返回给操作者以用作输入(例如,在128个位中的一个处是0.6)。
2.可以选择2x 128=256个随机值,其中在到128位XOR函数的参数中对于每个位有两个值(例如,在上文的示例中是1.2和1.4)。
ο全部256个值可以用于MLP神经网络训练。
ο这些值中仅128个可以嵌入MLP神经网络内(例如,XOR函数可以用1.2柯里化成128个位中的一个处的参数)。
3.可以选择2x 128=256个随机值,其中在128位XOR函数的输出中对于每个位有两个值(例如,在上文的示例中是1.3和2.9)。
ο全部256个值可以用于MLP神经网络训练。
ο这些值中仅128个值作为输出可以对操作者可见(例如,在128个位中的一个处的1.3)。
4.可以生成MLP数据集,其包括下列值:
ο对于128位XOR函数的每个位的两个值的一个隐藏层,从而总共是256个值。
ο128位输入值中的每个位之间的两个权重和对于该位的隐藏层中的两个值,从而总共是256个权重。
ο128位隐藏值中的每个位之间的两个权重和对于该位的隐藏层中的两个值,从而总共是256个权重。
ο对于128位XOR函数的每个位的隐藏层中的两个值之间的两个权重和128位输出值中的对应位,从而总共256个权重。
因此,可以对128位XOR函数生成总共(7x 256=1,792)个值,其中128个值作为输入值可见并且128个值作为输出值可见。在MLP神经网络中可以嵌入有1,280个值,并且在训练之后可以丢弃256个值。被丢弃的值对操作者可以不可见(曾经可见)。
在一些实施例中,MLP神经网络和用作对MLP神经网络的输入的输入值可以单独提供给设备。例如,可以响应于从设备接收通信(例如,HTTP或其他类型的请求)动态生成软件代码,并且可以将其返回给设备。输入值可以编码为动态生成的软件代码(例如,作为数组)。备选地,输入值可以通过动态生成的代码值而可访问,而不是在其中编码。
在一些实施例中,可以从足够大的空间随机或伪随机抽取输入值,以使得它可能不可能两次抽取相同值。这可以响应于每个请求提供唯一计算挑战。在一些实施例中,输入值可以是与来自设备的请求关联的会话标识符。在一些实施例中,输入值可以与用户、设备、网络连接等关联。例如,输入值可以是电子邮件地址、电话号码、设备特性、位点等。其他类型的输入值也可能合适,因为本公开的方面不限于使用任何特定类型的输入值。
在一些实施例中,动态生成的软件代码可以配置成使得设备下载基于输入值生成的MLP神经网络数据集。MLP神经网络数据集可以在设备试图下载MLP神经网络数据集时生成。在这样的实施例中,发送给设备的输入值可以与会话标识符或一些其他适合的参考关联地存储。动态生成的软件代码可以配置成使得设备在试图从服务器下载MLP神经网络数据集时提交会话标识符或其他参考,并且服务器可以使用会话标识符或其他参考来检索输入值并且使用输入值来生成MLP神经网络数据集。
在一些实施例中,时间戳可以根据以下或采用任何其他适合的方式嵌入MLP神经网络数据集内:
结果=([输入值]XOR[时间戳])XOR[隐藏值];或
结果=[输入值]XOR([时间戳]XOR[隐藏值])。
可以通过对照来自隐藏值的预期结果检查从设备接收的结果来验证正确执行。一旦被验证,可以提取时间戳。
在一些实施例中,时间戳可以对应于用于请求MLP数据集的软件代码被设备执行的时间。备选地或另外,软件代码下载与MLP数据集下载之间的时间可以被编码。
在备选实施例中,可以在响应于从设备接收通信而生成软件代码时生成MLP神经网络数据集,并且可以将该数据集与会话标识符或一些其他适合的参考关联地存储。动态生成的软件代码可以配置成使得设备在试图从服务器下载MLP神经网络数据集时提交会话标识符或其他参考,并且服务器可以使用该会话标识符或其他参考来检索MLP神经网络数据集。
在一些实施例中,返回给设备的软件代码可以包括JavaScript代码。然而,应意识到本文描述的技术的方面不限于使用任何特定编程语言。在一些实施例中,设备可以通过执行返回的JavaScript代码和/或通过生成配置成执行计算的代码对象来执行MLP神经网络计算。
在一些实施例中,不同的MLP神经网络数据集(例如,不同的数据结构、不同的软件代码等)可以对不时下载变得可用,使得之前下载的MLP神经网络数据集可以在某一时段(例如,一分钟、两分钟、三分钟、四分钟、五分钟…30分钟…)逝去后变过时。从而,设备必须执行返回的软件代码来对每个计算挑战下载刷新的MLP神经网络数据集,这使得恶意实体更难以使编码的计算函数和/或隐藏数据逆向工程化。
在一些实施例中,MLP神经网络数据集可以编码为图像文件,例如PNG文件。发明者认识且意识到,将MLP神经网络数据集编码为图像文件可以提供计算挑战的改进的模糊。此外,如下文论述的,发明者认识且意识到使用GPU来执行计算挑战的各种优势。在一些设备中,仅GPU可以能够将图像加载到设备的易失性存储器内。从而,将MLP神经网络数据集编码为图像文件可以确保GPU而不是CPU用于执行计算挑战。然而,应意识到,本文描述的技术的方面不限于将MLP神经网络数据集编码为图像文件,因为也可以使用其他类型的数据结构和/或格式。
在一些实施例中,提供用于加速MLP神经网络数据集的生成的技术。例如,可以在离线阶段期间生成数据模块,而不是响应于从设备接收请求来生成特定MLP神经网络数据集。响应于在在线阶段期间从设备接收请求,可以(例如,随机)选择预先生成的数据模块(例如,32个模块、64个模块、128个模块等)中的一个或多个。所选的数据模块可以组装成MLP神经网络数据集以返回给设备。例如,每个数据模块可以对应于对一位值的修改的XOR(例如,如在上文描述的示例中的)。然而这却并不需要,因为在一些实施例中,数据模块可以分别对应于具有不同输入大小(例如,2个位、4个位、8个位、16个位、32个位、64个位等)的修改的XOR。
此外,应意识到本文描述的技术的方面不限于提前生成的数据模块的数量。在一些实施例中,可以在离线阶段期间生成大量数据模块(例如,10,000个)并且可能未执行在线生成。在一些实施例中,一些数据模块可以在离线阶段期间生成,而其他可以在在线阶段期间生成。
在一些实施例中,高效方案可以用于对数据模块编码(例如,编码为4-8个字节的数据)。然而,应意识到本文描述的技术的方面不限于对数据模块编码的任何特定方式,或根本不限于任何编码。例如,在一些实施例中,懒惰方案可以用于将数据模块编码为32-64个字节。
在一些实施例中,可以随机选择分别对应于64个XOR节点的64个数据模块。可以随机选择32位值作为输入值,并且将其连同32位时间戳一起嵌入JavaScript代码内。MLP数据集可以通过组装可以用于执行MLP神经网络的64个XOR节点的部分而生成。例如,MLP权重可以存储为RGB颜色、JSON等。MLP输出可以用对数据的64个位中的每个的一些比较来解码,该数据可以编码为浮点数字。
发明者认识且意识到,采用该方式获得的MLP神经网络可以被高效执行。例如,对64位XOR函数编码的MLP神经网络的执行可以仅采取约384个乘、384个加和96个比较。
在一些实施例中,从据称执行神经网络计算挑战的设备接收的结果可以被验证。在一些实施例中,这样的验证可以包括使接收的结果与挑战答案数据库中存储的结果相匹配。另外或备选地,验证可以包括基于当前平台和/或设备类型信息(例如,如在HTTP请求中的用户代理字段中提供的)来检查执行时间。
神经网络计算挑战的说明性示例在图8A和8B中示出,其包括说明性输入参数和输出结果。图8A示出并行检查点计算挑战的说明性输入参数,包括:(1)“源数据”,其是对MLP神经网络数据集和时间戳编码的图像;(2)“初始值”,其是指示在数据集中规定的MLP神经网络的初始值的整数。
图8B示出神经网络计算挑战的说明性输出结果,其包括:(1)“起始时间MS”,其是指示根据执行挑战的设备在设备处发起挑战的执行的时间的整数数组;(2)“结果数据”,其是指示神经网络计算挑战的结果的整数数组,并且例如可以通过对MLP初始值和和MLP结果以及初始嵌入的时间戳计算XOR而获得;以及(3)“结束时间MS”,其是指示根据执行挑战的设备在设备处完成计算挑战的时间的整数数组。应意识到,上文的输入和输出参数是说明性的,并且神经网络计算挑战可以具有除上文描述的参数以外或代替这些参数的其他输入和/或输出参数(和/或不同类型的参数)。
在一些实施例中,安全系统可以向设备发送对图形处理单元(GPU)计算挑战编码的软件程序,以便验证该设备是否具有在通信中断言的类型。发明者认识且意识到,设备的GPU(例如,在视频卡上)与设备的CPU相比可以具有更加一致的性能。例如,发明者认识且意识到,一些操作系统在CPU上可以具有高负载变动。根据在当前操作系统会话中运行的过程,相同设备可以返回来自由CPU执行的计算挑战的变化结果。通过对比,GPU利用可能更加稳定。例如,GPU利用一般可以独立于在当前操作系统环境中运行的应用或程序的数量,这可以对指定设备导致更加一致的计算挑战计算时间。发明者认识且意识到,这样的一致性在提供可靠的设备指纹方法中可能有益。例如,不同的设备可以包括不同的视频卡,其可以导致不同执行时间。这样的执行时间可以用作设备指纹的组成。
在一些实施例中,GPU计算挑战可以使用与在MLP计算挑战中使用的逻辑相似的逻辑。例如,WebGL像素着色器可以用于读取MLP图像输入数据并且使用视频卡上的GPU计算MLP结果。
图9是根据本文描述的技术的一些实施例的、用于检测会话令牌的恶意利用的说明性处理900的流程图。处理900可以由任何适合的系统执行。例如,处理900可以由包括一个或多个服务器或其他计算设备的在线系统(例如,参考图1A描述的在线系统12)执行。作为另一个示例,处理900可以由安全系统(例如,参考图1A描述的安全系统14)执行。
处理900在动作902开始,在该动作期间接收通信,其包括指示客户端设备(例如,参考图1A描述的用户设备11A、11B和11C中的任一个)与在线系统(例如,在线系统12)之间的数字交互状态的第一安全令牌。执行处理900的系统可以在动作902识别来自通信的第一安全令牌。
在一些实例中,可以从参与与在线系统数字交互的客户端设备接收通信。然而,在一些实例中,通信可以从恶意实体的设备或从客户端设备上的恶意软件接收。因此,在一些实例中,通信可以是来自客户端设备的合法通信,而在一些实例中,通信可以源于恶意实体。
响应于在动作902接收通信,处理900行进到动作904,其中处理第一安全令牌以便确定在动作902接收的通信是否是来自客户端设备的合法通信。这可以采用本文描述的方式中的任一个进行。例如,在一些实施例中,可以处理第一安全令牌来访问其中指示数字交互状态的信息。所访问的指示数字交互状态的信息然后可以与指示数字交互状态的局部信息比较,该局部信息由执行处理900的系统维持。当根据在第一安全令牌中访问的信息的数字交互状态与根据执行处理900的系统所维持的局部信息的数字交互状态匹配时,系统可以确定通信是来自客户端设备的合法通信。
在一些实施例中,指示数字交互状态的信息可以包括指示在数字交互期间指示数字交互状态的信息更改的次数的值。例如,指示数字交互状态的信息可以包括这样的序列号:其值指示更改指示数字交互状态的信息的次数。在一些实施例中,当(例如,每当)系统对请求或来自客户端设备的其他类型的通信作出响应时,执行处理900的系统可以使该序列号增加一(或任何其他适合的数字)。
另外或备选地,指示数字交互状态的信息可以包括指示最后一次修改会话令牌的时间戳、授权会话令牌所通过的web页面的类型和/或任何其他适合的信息。这些类型的信息中的任一个可以在动作904使用,以确定通信是否是来自客户端设备的合法通信。
在一些实施例中,一个或多个额外检查可以用于确定在动作902接收的通信是否是来自客户端设备的合法通信。例如,系统可以检查第一安全令牌是否到期。如果是这样的话,则可以发现通信无效。作为另一个示例,第一安全令牌可以采用可以仅被系统解密(例如,通过使用仅对系统可用的私密密钥)的方式加密。如果系统不能对令牌加密,则可以发现通信无效。
接着,在决策框906,当系统确定通信不是来自客户端设备的合法通信时,通信中的任何请求可以被拒绝并且处理900完成。另一方面,当系统确定通信是来自客户端设备的合法通信时,处理900经由“是”分支行进到动作908,其中系统响应于执行通信而促成至少一个动作。例如,在一些实施例中,通信可以包括对信息的请求,并且在动作908,系统可以提供或使得另一个计算机向客户端设备提供请求中所请求的至少一些信息。作为另一个示例,在一些实施例中,通信可以包括实行用户规定动作的请求(例如,当用户点击银行网站上的按钮来从一个账户向另一个转账时、当用户指示用户输入的信息要被网站保存时等)。
接着,过程行进到动作910,其中指示数字交互状态的信息被更新来获得指示数字交互状态的更新过的信息。这可以采用任何适合的方式进行。例如,当指示数字交互状态的信息包括序列号时,可以更改该序列号的值(例如,通过使序列号的值递增或不然增加)。作为另一个示例,当指示数字交互状态的信息包括一个或多个时间戳时,可以更新这些时间戳。作为另一个示例,当指示数字交互状态的信息包括页面类型时,可以更新该页面类型来指示提交当前请求所经由的页面的类型。
在一些实施例中,指示数字交互状态的更新过的信息(或其散列)可以被执行处理900的系统存储,以用于确定系统接收的后续通信是否是来自客户端设备的合法通信。
接着,处理900行进到动作912,其中可以获得包含指示数字交互状态的更新过的信息的第二安全令牌并且将其提供给客户端设备。该第二安全令牌可以采用任何适合的方式获得。例如,在一些实施例中,第二安全令牌可以通过以下来获得:(1)对第一安全令牌解密;(2)在第一安全令牌内更新指示数字交互状态的信息来反映在动作910获得的信息;以及(3)对修改令牌加密来获得第二安全令牌。作为另一个示例,在一些实施例中,第二安全令牌可以通过生成新令牌(而不是修改所接收令牌)并且将该新令牌插入指示数字交互状态的更新过的信息来获得。
在图10中示出的实施例中,计算机1000包括:处理单元1001,其具有一个或多个处理器;以及非暂时性计算机可读存储介质1002,其可以包括例如易失性和/或非易失性存储器。存储器1002可以存储一个或多个指令来对处理单元1001编程以执行本文描述的功能中的任一个。除系统存储器1002外,计算机1000还可以包括其他类型的非暂时性计算机可读介质,例如存储1005(例如,一个或多个盘驱动器)。存储1005还可以存储被应用程序(例如,软件库)使用的一个或多个应用程序和/或资源,其可以加载到存储器1002内。
计算机1000可以具有一个或多个输入设备和/或输出设备,例如图10中图示的设备1006和1007。这些设备除其他事情外还可以用于呈现用户界面。可以用于提供用户界面的输出设备的示例包括用于输出的视觉呈现的打印机或显示屏和用于输出的听觉呈现的扬声器或其他发声装置。可以用于用户界面的输入设备的示例包括键盘和指向设备,例如鼠标、触控板和数字化平板。作为另一个示例,输入设备1007可以包括用于捕捉音频信号的麦克风,并且输出设备1006可以包括用于视觉呈现所识别文本的显示屏和/或用于听觉呈现所识别文本的扬声器。
如在图10中示出的,计算机1000还可以包括一个或多个网络接口(例如,网络接口1010)以能够经由各种网络(例如,网络1020)通信。网络的示例包括局域网或广域网,例如企业网或互联网。这样的网络可以基于任何适合的技术,并且可以根据任何适合的协议操作,并且可以包括无线网络、有线网络或光纤网络。
从而在描述至少一个实施例的若干方面的情况下,要意识到本领域内技术人员将容易想到各种改动、修改和改进。这样的改动、修改和改进规定为在本公开的精神和范围内。因此,前面的描述和图仅通过示例。
上文描述的本公开的实施例可以采用许多方式中的任一个实现。例如,实施例可以使用硬件、软件或其组合实现。当采用软件实现时,软件代码可以在任何适合的处理器或处理器集合上执行,而无论是在单个计算机中提供还是分布在多个计算机之中。
本文概述的各种方法或过程也可以编码为在采用多种操作系统或平台中的任一个的一个或多个处理器上能执行的软件。另外,这样的软件可以使用许多适合的编程语言和/或脚本工具中的任一个编码,并且也可以编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。
在该方面,本文公开的概念可以体现为用一个或多个程序编码的非暂时性计算机可读介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩盘、光盘、磁带、闪速存储器、现场可编程门阵列或其他半导体器件中的电路配置或其他非暂时性、有形计算机存储介质),该一个或多个程序当在一个或多个计算机或其他处理器上执行时执行实现上文论述的本公开的各种实施例的方法。计算机可读介质或多个介质可以是能传输的,使得其上存储的程序或多个程序可以加载到一个或多个不同计算机或其他处理器上来实现如上文论述的本公开的各种方面。
术语“程序”或“软件”在本文用于指任何类型的计算机代码或计算机可执行指令集,可以采用它们来对计算机或其他处理器编程来实现如上文论述的本公开的各种方面。另外,应意识到根据该实施例的一个方面,在被执行时执行本公开的方法的一个或多个计算机程序不必驻存在单个计算机或处理器上,而可以采用模块化方式分布在许多不同计算机或处理器之中来实现本公开的各种方面。
计算机可执行指令可以采用由一个或多个计算机或其他设备执行的许多形式,例如程序模块。一般,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。在各种实施例中程序模块的功能性可以根据期望组合或分布。
此外,数据结构可以采用任何适合的形式存储在计算机可读介质中。为了说明的简单化,数据结构可以示出为具有通过数据结构中的位点而相关的字段。这样的关系同样可以通过对在计算机可读介质中具有位点的字段分配存储(其传达字段之间的关系)来实现。然而,任何适合的介质可以用于在数据结构的字段中的信息之间建立关系,其包括通过使用指针、标签或在数据结构之间建立关系的其他机制。
本公开的各种特征和方面可以单独、采用两个或更多个的任何组合或采用在前面描述的实施例中未专门论述的多个设置来使用,并因而在它的申请中不限于前面的描述中阐述或图中图示的组件的细节和设置。例如,在一个实施例中描述的方面可以采用任何方式与其他实施例中描述的方面组合。
此外,本文公开的概念可以体现为方法,已提供其示例。作为方法的部分执行的动作可以采用任何适合的方式排序。因此,可以构造这样的实施例,其中动作按与图示的不同的顺序执行,其可以包括同时执行一些动作,即使在说明性实施例中示出为相继动作。
在权利要求中使用例如“第一”、“第二”、“第三”等序数词来修饰权利要求元素本身并不意味着一个权利要求元素优于另一个的任何优先级、优先性或顺序或执行方法的动作按照的时间顺序,而仅用作将具有某一名称的一个权利要求元素与具有相同名称(但是针对序数词的使用)的另一个元素区分开来区分权利要求元素的标签。
此外,本文使用的用语和术语是为了描述目的并且不应视为限制性的。在本文中的“包括”、“由……组成”、“具有”、“包含”、“牵涉”及其变化的使用意指囊括之后列出的项目和其等同物以及额外项目。

Claims (14)

1.一种由至少一个计算机执行的用于检测和防止伪冒的方法,所述方法包括:
从在与所述至少一个计算机不同的客户端设备上执行的应用程序接收通信;
从所述通信识别所述应用程序的断言标识;
至少部分地通过以下来确定应用程序是否具有断言标识:
与所述客户端设备交互来获得关于所述应用程序的至少一个能力的额外信息,所述交互包括:
经由至少一个网络向客户端设备传送软件程序,所述软件程序在由所述客户端设备执行时至少部分地通过编程测试所述应用程序来收集关于所述应用程序的所述至少一个能力的额外信息,以确定所述应用程序是否能够识别对象;
从所述客户端设备接收关于所述应用程序的所述至少一个能力的所述额外信息;以及
确定关于所述应用程序的所述至少一个能力的该额外信息是否指示所述应用程序能够识别所述对象,所述确定包括:
将关于所述应用程序的所述至少一个能力的所述额外信息与关于具有所述断言标识的一个或多个应用程序的信息相比较;
至少部分地基于所述应用程序是否能够识别所述对象来确定所述应用程序是否具有所述断言标识;
响应于确定所述应用程序具有所述断言标识,授权所述客户端设备访问资源;以及
响应于确定所述应用程序不具有所述断言标识,拒绝所述客户端设备访问所述资源。
2.如权利要求1所述的方法,其中所述软件程序在由所述客户端设备执行时配置成确定所述应用程序是否能够识别具有所述断言标识的应用程序能够识别的对象。
3.如权利要求1或2所述的方法,其中所述软件程序是JAVASCRIPT程序。
4.如权利要求1或2所述的方法,其中所述交互响应于接收到所述通信来执行。
5.如权利要求1或2所述的方法,其中所述应用程序的断言标识是web浏览器应用程序的标识。
6.一种用于检测和防止伪冒的系统,其包括:
至少一个计算机;
至少一个非暂时性计算机可读存储介质,其存储处理器可执行指令,所述处理器可执行指令在由所述至少一个计算机执行时使得所述至少一个计算机执行:
从在与所述至少一个计算机不同的客户端设备上执行的应用程序接收通信;
从所接收的通信识别所述应用程序的断言标识;以及
至少部分通过以下来确定应用程序是否具有断言标识:
与所述客户端设备交互来获得关于所述应用程序的至少一个能力的额外信息,所述交互包括:
经由至少一个网络向客户端设备传送软件程序,所述软件程序在由所述客户端设备执行时至少部分地通过编程测试所述应用程序来收集关于所述应用程序的所述至少一个能力的额外信息,以确定所述应用程序是否能够识别对象;
从所述客户端设备接收关于所述应用程序的所述至少一个能力的所述额外信息;以及
确定关于所述应用程序的所述至少一个能力的该额外信息是否指示所述应用程序能够识别所述对象,所述确定包括:
将关于所述应用程序的所述至少一个能力的所述额外信息与关于具有所述断言标识的一个或多个应用程序的信息相比较;
至少部分地基于所述应用程序是否能够识别所述对象来确定所述应用程序是否具有所述断言标识;
响应于确定所述应用程序具有所述断言标识,授权所述客户端设备访问资源;以及
响应于确定所述应用程序不具有所述断言标识,拒绝所述客户端设备访问所述资源。
7.如权利要求6所述的系统,其中所述软件程序在由所述客户端设备执行时配置成确定所述应用程序是否能够识别具有所述断言标识的应用程序能够识别的对象。
8.如权利要求6或7所述的系统,其中所述软件程序是JAVASCRIPT程序。
9.如权利要求6或7所述的系统,其中所述交互响应于接收到所述通信来执行。
10.如权利要求6或7所述的系统,其中所述应用程序的断言标识是web浏览器应用程序的标识。
11.至少一个非暂时性计算机可读存储介质,其存储处理器可执行指令,所述处理器可执行指令在由至少一个计算机执行时使得所述至少一个计算机执行:
从在与所述至少一个计算机不同的客户端设备上执行的应用程序接收通信;
从所接收的通信识别所述应用程序的断言标识;以及
至少部分通过以下来确定应用程序是否具有断言标识:
与所述客户端设备交互来获得关于所述应用程序的至少一个能力的额外信息,所述交互包括:
经由至少一个网络向客户端设备传送软件程序,所述软件程序在由所述客户端设备执行时至少部分地通过编程测试所述应用程序来收集关于所述应用程序的所述至少一个能力的额外信息,以确定所述应用程序是否能够识别对象;
从所述客户端设备接收关于所述应用程序的所述至少一个能力的所述额外信息;以及
确定关于所述应用程序的所述至少一个能力的额外信息是否指示所述应用程序能够识别所述对象,所述确定包括:
将关于所述应用程序的所述至少一个能力的所述额外信息与关于具有所述断言标识的一个或多个应用程序的信息相比较;
至少部分地基于所述应用程序是否能够识别所述对象来确定所述应用程序是否具有所述断言标识;
响应于确定所述应用程序具有所述断言标识,授权所述客户端设备访问资源;以及
响应于确定所述应用程序不具有所述断言标识,拒绝所述客户端设备访问所述资源。
12.如权利要求11所述的至少一个非暂时性计算机可读存储介质,其中所述软件程序在由所述客户端设备执行时配置成确定所述应用程序是否能够识别具有所述断言标识的应用程序能够识别的对象。
13.如权利要求11或12所述的至少一个非暂时性计算机可读存储介质,其中所述交互响应于接收所述通信来执行。
14.如权利要求11或12所述的至少一个非暂时性计算机可读存储介质,其中所述应用程序的断言标识是web浏览器应用程序的标识。
CN201680064794.5A 2015-09-05 2016-09-04 用于检测和防止伪冒的系统和方法 Active CN108885666B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562214969P 2015-09-05 2015-09-05
US62/214,969 2015-09-05
PCT/IB2016/001413 WO2017037542A1 (en) 2015-09-05 2016-09-04 Systems and methods for detecting and preventing spoofing

Publications (2)

Publication Number Publication Date
CN108885666A CN108885666A (zh) 2018-11-23
CN108885666B true CN108885666B (zh) 2022-06-10

Family

ID=58187372

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201680064594.XA Active CN108885659B (zh) 2015-09-05 2016-09-04 用于分析第一数字交互或移动设备应用程序交互的计算机实现的方法和系统
CN201680064794.5A Active CN108885666B (zh) 2015-09-05 2016-09-04 用于检测和防止伪冒的系统和方法
CN201680064536.7A Active CN108780479B (zh) 2015-09-05 2016-09-04 用于对异常进行检测和评分的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201680064594.XA Active CN108885659B (zh) 2015-09-05 2016-09-04 用于分析第一数字交互或移动设备应用程序交互的计算机实现的方法和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680064536.7A Active CN108780479B (zh) 2015-09-05 2016-09-04 用于对异常进行检测和评分的系统和方法

Country Status (8)

Country Link
US (14) US9648034B2 (zh)
EP (3) EP3345099B1 (zh)
CN (3) CN108885659B (zh)
AU (7) AU2016315900B2 (zh)
CA (3) CA2997597C (zh)
IL (3) IL257849B2 (zh)
SG (1) SG10201909133YA (zh)
WO (3) WO2017037542A1 (zh)

Families Citing this family (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3382934A1 (en) 2008-04-01 2018-10-03 Nudata Security Inc. Systems and methods for implementing and tracking identification tests
US9842204B2 (en) 2008-04-01 2017-12-12 Nudata Security Inc. Systems and methods for assessing security risk
US8938053B2 (en) * 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
WO2014134630A1 (en) 2013-03-01 2014-09-04 RedOwl Analytics, Inc. Modeling social behavior
US20140250033A1 (en) 2013-03-01 2014-09-04 RedOwl Analytics, Inc. Social behavior hypothesis testing
US11165770B1 (en) * 2013-12-06 2021-11-02 A10 Networks, Inc. Biometric verification of a human internet user
WO2016073457A2 (en) * 2014-11-03 2016-05-12 Level 3 Communications, Llc Identifying a potential ddos attack using statistical analysis
WO2016093836A1 (en) * 2014-12-11 2016-06-16 Hewlett Packard Enterprise Development Lp Interactive detection of system anomalies
US9600651B1 (en) * 2015-01-05 2017-03-21 Kimbia, Inc. System and method for determining use of non-human users in a distributed computer network environment
US10866994B2 (en) 2015-06-23 2020-12-15 Splunk Inc. Systems and methods for instant crawling, curation of data sources, and enabling ad-hoc search
US11042591B2 (en) 2015-06-23 2021-06-22 Splunk Inc. Analytical search engine
CZ306210B6 (cs) * 2015-07-07 2016-09-29 Aducid S.R.O. Způsob přiřazení alespoň dvou autentizačních zařízení k účtu jednoho uživatele pomocí autentizačního serveru
SG10201909133YA (en) 2015-09-05 2019-11-28 Mastercard Tech Canada Ulc Systems and methods for matching and scoring sameness
US10671337B2 (en) 2015-09-25 2020-06-02 Oracle International Corporation Automatic sizing of agent's screen for html co-browsing applications
US11657399B1 (en) * 2015-10-06 2023-05-23 Wells Fargo Bank, N.A. Value-added services provided in a seamless life format
US10346421B1 (en) * 2015-10-16 2019-07-09 Trifacta Inc. Data profiling of large datasets
US9985980B1 (en) * 2015-12-15 2018-05-29 EMC IP Holding Company LLC Entropy-based beaconing detection
US9967275B1 (en) * 2015-12-17 2018-05-08 EMC IP Holding Company LLC Efficient detection of network anomalies
US11068798B2 (en) 2016-02-09 2021-07-20 Upside Services, Inc Systems and methods for short identifier behavioral analytics
US10972333B2 (en) * 2016-03-16 2021-04-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for real-time network event processing
US10148683B1 (en) * 2016-03-29 2018-12-04 Microsoft Technology Licensing, Llc ATO threat detection system
US10187421B2 (en) 2016-06-06 2019-01-22 Paypal, Inc. Cyberattack prevention system
US10924479B2 (en) * 2016-07-20 2021-02-16 Aetna Inc. System and methods to establish user profile using multiple channels
US10165005B2 (en) * 2016-09-07 2018-12-25 Oracle International Corporation System and method providing data-driven user authentication misuse detection
US10769608B2 (en) * 2016-09-15 2020-09-08 International Business Machines Corporation Intelligent checkout management system
US20180089288A1 (en) 2016-09-26 2018-03-29 Splunk Inc. Metrics-aware user interface
US10225731B2 (en) * 2016-10-31 2019-03-05 Mastercard International Incorporated Anonymously linking cardholder information with communication service subscriber information
US11074325B1 (en) * 2016-11-09 2021-07-27 Wells Fargo Bank, N.A. Systems and methods for dynamic bio-behavioral authentication
TWI622894B (zh) * 2016-12-13 2018-05-01 宏碁股份有限公司 電子裝置及偵測惡意檔案的方法
CN108243115B (zh) * 2016-12-26 2021-06-29 新华三技术有限公司 报文处理方法及装置
US10645086B1 (en) * 2016-12-30 2020-05-05 Charles Schwab & Co., Inc. System and method for handling user requests for web services
US9942255B1 (en) * 2016-12-30 2018-04-10 Google Llc Method and system for detecting abusive behavior in hosted services
US10419268B2 (en) * 2017-01-27 2019-09-17 Bmc Software, Inc. Automated scoring of unstructured events in information technology environments
US10574679B2 (en) * 2017-02-01 2020-02-25 Cisco Technology, Inc. Identifying a security threat to a web-based resource
US10305773B2 (en) * 2017-02-15 2019-05-28 Dell Products, L.P. Device identity augmentation
CA3054319A1 (en) * 2017-02-27 2018-08-30 Ivanti, Inc. Systems and methods for context-based mitigation of computer security risks
US10503896B2 (en) * 2017-03-17 2019-12-10 Chronicle Llc Detecting data breaches
US11093927B2 (en) * 2017-03-29 2021-08-17 International Business Machines Corporation Sensory data collection in an augmented reality system
US10402413B2 (en) * 2017-03-31 2019-09-03 Intel Corporation Hardware accelerator for selecting data elements
US10360391B2 (en) * 2017-04-03 2019-07-23 International Business Machines Corporation Verifiable keyed all-or-nothing transform
US11372956B2 (en) 2017-04-17 2022-06-28 Splunk Inc. Multiple input neural networks for detecting fraud
US11315010B2 (en) 2017-04-17 2022-04-26 Splunk Inc. Neural networks for detecting fraud based on user behavior biometrics
US11102225B2 (en) 2017-04-17 2021-08-24 Splunk Inc. Detecting fraud by correlating user behavior biometrics with other data sources
US9990487B1 (en) 2017-05-05 2018-06-05 Mastercard Technologies Canada ULC Systems and methods for distinguishing among human users and software robots
US10007776B1 (en) 2017-05-05 2018-06-26 Mastercard Technologies Canada ULC Systems and methods for distinguishing among human users and software robots
US10127373B1 (en) 2017-05-05 2018-11-13 Mastercard Technologies Canada ULC Systems and methods for distinguishing among human users and software robots
US10038788B1 (en) * 2017-05-09 2018-07-31 Oracle International Corporation Self-learning adaptive routing system
US11888859B2 (en) 2017-05-15 2024-01-30 Forcepoint Llc Associating a security risk persona with a phase of a cyber kill chain
US10999296B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Generating adaptive trust profiles using information derived from similarly situated organizations
US11394731B2 (en) * 2017-05-16 2022-07-19 Citrix Systems, Inc. Computer system providing anomaly detection within a virtual computing sessions and related methods
CN108966340B (zh) * 2017-05-17 2020-10-13 腾讯科技(深圳)有限公司 一种设备定位方法及装置
EP3625748B1 (en) * 2017-05-19 2023-06-07 LiveRamp, Inc. Distributed node cluster for establishing a digital touchpoint across multiple devices on a digital communications network
US10567421B2 (en) * 2017-05-24 2020-02-18 Oath Inc. Systems and methods for analyzing network data to identify human and non-human users in network communications
US11095678B2 (en) * 2017-07-12 2021-08-17 The Boeing Company Mobile security countermeasures
US11128643B2 (en) * 2017-07-17 2021-09-21 Hewlett-Packard Development Company, L.P. Activity detection based on time difference metrics
US10318729B2 (en) 2017-07-26 2019-06-11 Forcepoint, LLC Privacy protection during insider threat monitoring
US10601849B2 (en) * 2017-08-24 2020-03-24 Level 3 Communications, Llc Low-complexity detection of potential network anomalies using intermediate-stage processing
US10984427B1 (en) * 2017-09-13 2021-04-20 Palantir Technologies Inc. Approaches for analyzing entity relationships
US10601864B1 (en) * 2017-10-05 2020-03-24 Symantec Corporation Using disposable profiles for privacy in internet sessions
US11539686B2 (en) 2017-10-12 2022-12-27 Mx Technologies, Inc. Data aggregation management based on credentials
US10803178B2 (en) 2017-10-31 2020-10-13 Forcepoint Llc Genericized data model to perform a security analytics operation
US11184369B2 (en) * 2017-11-13 2021-11-23 Vectra Networks, Inc. Malicious relay and jump-system detection using behavioral indicators of actors
US11682016B2 (en) * 2017-11-30 2023-06-20 Mastercard International Incorporated System to perform identity verification
US10965683B1 (en) 2017-12-07 2021-03-30 Wells Fargo Bank, N.A. Login and authentication methods and systems
US11349869B1 (en) * 2017-12-22 2022-05-31 Spins Ventures Llc Network device detection and verification protocol
FR3076922A1 (fr) * 2018-01-12 2019-07-19 Ingenico Group Procede de determination d’une association entre une carte bancaire et un terminal de communication, dispositif, systeme et programme correspondant
US11941491B2 (en) 2018-01-31 2024-03-26 Sophos Limited Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content
US10719613B1 (en) * 2018-02-23 2020-07-21 Facebook, Inc. Systems and methods for protecting neural network weights
US10699190B1 (en) * 2018-03-04 2020-06-30 Facebook, Inc. Systems and methods for efficiently updating neural networks
US11354617B1 (en) 2018-03-12 2022-06-07 Amazon Technologies, Inc. Managing shipments based on data from a sensor-based automatic replenishment device
US11137479B1 (en) 2018-03-20 2021-10-05 Amazon Technologies, Inc. Product specific correction for a sensor-based device
US10373118B1 (en) 2018-03-21 2019-08-06 Amazon Technologies, Inc. Predictive consolidation system based on sensor data
US20190306170A1 (en) * 2018-03-30 2019-10-03 Yanlin Wang Systems and methods for adaptive data collection using analytics agents
US11144921B2 (en) * 2018-04-05 2021-10-12 The Toronto-Dominion Bank Generation and provisioning of digital tokens based on dynamically obtained contextual data
US11314787B2 (en) 2018-04-18 2022-04-26 Forcepoint, LLC Temporal resolution of an entity
US10924484B2 (en) * 2018-04-26 2021-02-16 Radware, Ltd. Method for determining a cost to allow a blockchain-based admission to a protected entity
US11102190B2 (en) 2018-04-26 2021-08-24 Radware Ltd. Method and system for blockchain based cyber protection of network entities
US11361011B1 (en) * 2018-04-26 2022-06-14 Amazon Technologies, Inc. Sensor-related improvements to automatic replenishment devices
CN110535809B (zh) * 2018-05-25 2021-08-31 腾讯科技(深圳)有限公司 一种标识码的拉取方法、存储介质及终端设备和服务器
GB2574209B (en) * 2018-05-30 2020-12-16 F Secure Corp Controlling Threats on a Computer System by Searching for Matching Events on other Endpoints
US20200007565A1 (en) * 2018-07-02 2020-01-02 Ebay Inc. Passive automated content entry detection system
US10860712B2 (en) * 2018-07-11 2020-12-08 Vmware, Inc. Entropy based security detection system
US11436512B2 (en) 2018-07-12 2022-09-06 Forcepoint, LLC Generating extracted features from an event
US11755584B2 (en) 2018-07-12 2023-09-12 Forcepoint Llc Constructing distributions of interrelated event features
US11810012B2 (en) 2018-07-12 2023-11-07 Forcepoint Llc Identifying event distributions using interrelated events
US10949428B2 (en) 2018-07-12 2021-03-16 Forcepoint, LLC Constructing event distributions via a streaming scoring operation
US11025638B2 (en) 2018-07-19 2021-06-01 Forcepoint, LLC System and method providing security friction for atypical resource access requests
US11005971B2 (en) * 2018-08-02 2021-05-11 Paul Swengler System and method for user device authentication or identity validation without passwords or matching tokens
US11157837B2 (en) 2018-08-02 2021-10-26 Sas Institute Inc. Advanced detection of rare events and corresponding interactive graphical user interface
US11017100B2 (en) * 2018-08-03 2021-05-25 Verizon Patent And Licensing Inc. Identity fraud risk engine platform
US10715471B2 (en) * 2018-08-22 2020-07-14 Synchronoss Technologies, Inc. System and method for proof-of-work based on hash mining for reducing spam attacks
US11811799B2 (en) 2018-08-31 2023-11-07 Forcepoint Llc Identifying security risks using distributions of characteristic features extracted from a plurality of events
SG11202103228WA (en) * 2018-10-03 2021-04-29 Visa Int Service Ass A real-time feedback service for resource access rule configuration
US10997290B2 (en) * 2018-10-03 2021-05-04 Paypal, Inc. Enhancing computer security via detection of inconsistent internet browser versions
US11010257B2 (en) * 2018-10-12 2021-05-18 EMC IP Holding Company LLC Memory efficient perfect hashing for large records
US11947668B2 (en) 2018-10-12 2024-04-02 Sophos Limited Methods and apparatus for preserving information between layers within a neural network
US11025659B2 (en) 2018-10-23 2021-06-01 Forcepoint, LLC Security system using pseudonyms to anonymously identify entities and corresponding security risk related behaviors
US11558409B2 (en) * 2018-10-31 2023-01-17 SpyCloud, Inc. Detecting use of passwords that appear in a repository of breached credentials
US11171980B2 (en) 2018-11-02 2021-11-09 Forcepoint Llc Contagion risk detection, analysis and protection
US10904616B2 (en) * 2018-11-06 2021-01-26 International Business Machines Corporation Filtering of content in near real time
US11620180B2 (en) 2018-11-29 2023-04-04 Vmware, Inc. Holo-entropy adaptive boosting based anomaly detection
US11258655B2 (en) 2018-12-06 2022-02-22 Vmware, Inc. Holo-entropy based alarm scoring approach
CN109685670A (zh) * 2018-12-13 2019-04-26 平安医疗健康管理股份有限公司 社保违规检测方法、装置、设备及计算机可读存储介质
US11743290B2 (en) * 2018-12-21 2023-08-29 Fireeye Security Holdings Us Llc System and method for detecting cyberattacks impersonating legitimate sources
US10885180B2 (en) 2018-12-21 2021-01-05 Paypal, Inc. Detection of emulated computer systems using variable difficulty challenges
RU2724783C1 (ru) * 2018-12-28 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ отбора кандидатов для сравнения отпечатков устройств
CN109738220B (zh) * 2019-01-07 2021-01-08 哈尔滨工业大学(深圳) 一种基于多荷载工况结构响应关联的传感器优化布置方法
WO2020176976A1 (en) * 2019-03-01 2020-09-10 Mastercard Technologies Canada ULC Online application origination (oao) service for fraud prevention systems
CN113454600B (zh) * 2019-03-04 2024-04-09 华为云计算技术有限公司 使用跟踪数据在分布式系统中进行自动根因分析
RU2747474C2 (ru) * 2019-03-29 2021-05-05 Акционерное общество "Лаборатория Касперского" Способ асинхронного выбора совместимых продуктов
US11037428B2 (en) * 2019-03-27 2021-06-15 International Business Machines Corporation Detecting and analyzing actions against a baseline
US11171978B2 (en) * 2019-03-27 2021-11-09 Microsoft Technology Licensing, Llc. Dynamic monitoring, detection of emerging computer events
US11886888B2 (en) * 2019-03-28 2024-01-30 Lenovo (Singapore) Pte. Ltd. Reduced application view during loading
US20220027438A1 (en) * 2019-04-04 2022-01-27 Hewlett-Packard Development Company, L.P. Determining whether received data is required by an analytic
US11475125B2 (en) * 2019-05-01 2022-10-18 EMC IP Holding Company LLC Distribution-based aggregation of scores across multiple events
CN110222525B (zh) * 2019-05-14 2021-08-06 新华三大数据技术有限公司 数据库操作审计方法、装置、电子设备及存储介质
US11245724B2 (en) * 2019-06-07 2022-02-08 Paypal, Inc. Spoofed webpage detection
US11550891B2 (en) * 2019-06-19 2023-01-10 Preventice Solutions, Inc. Login token management
US11178163B2 (en) * 2019-07-02 2021-11-16 Easy Solutions Enterprises Corp. Location spoofing detection using round-trip times
US10498760B1 (en) * 2019-07-16 2019-12-03 ALSCO Software LLC Monitoring system for detecting and preventing a malicious program code from being uploaded from a client computer to a webpage computer server
CN113892104A (zh) 2019-07-24 2022-01-04 惠普发展公司, 有限责任合伙企业 外围装置的访问管控
US11700247B2 (en) * 2019-07-30 2023-07-11 Slack Technologies, Llc Securing a group-based communication system via identity verification
US11086991B2 (en) * 2019-08-07 2021-08-10 Advanced New Technologies Co., Ltd. Method and system for active risk control based on intelligent interaction
WO2021026639A1 (en) * 2019-08-09 2021-02-18 Mastercard Technologies Canada ULC Determining a fraud risk score associated with a transaction
CN110505232A (zh) * 2019-08-27 2019-11-26 百度在线网络技术(北京)有限公司 网络攻击的检测方法及装置、电子设备、存储介质
US11269987B2 (en) 2019-09-09 2022-03-08 International Business Machines Corporation Security credentials management for client applications
CN110599135B (zh) * 2019-09-16 2024-05-28 腾讯科技(深圳)有限公司 评价用户的第三方支付账号的方法、装置及电子设备
US11297084B2 (en) * 2019-09-30 2022-04-05 Mcafee, Llc Methods and apparatus to perform malware detection using a generative adversarial network
US11928683B2 (en) 2019-10-01 2024-03-12 Mastercard Technologies Canada ULC Feature encoding in online application origination (OAO) service for a fraud prevention system
US11475515B1 (en) * 2019-10-11 2022-10-18 Wells Fargo Bank, N.A. Adverse action methodology for credit risk models
US11451396B2 (en) * 2019-11-05 2022-09-20 Microsoft Technology Licensing, Llc False positive reduction in electronic token forgery detection
US20210136059A1 (en) * 2019-11-05 2021-05-06 Salesforce.Com, Inc. Monitoring resource utilization of an online system based on browser attributes collected for a session
CN110851839B (zh) * 2019-11-12 2022-03-11 杭州安恒信息技术股份有限公司 基于风险的资产评分方法和系统
US11368464B2 (en) 2019-11-28 2022-06-21 Salesforce.Com, Inc. Monitoring resource utilization of an online system based on statistics describing browser attributes
US20210168171A1 (en) * 2019-12-03 2021-06-03 Microsoft Technology Licensing, Llc System for Calculating Trust of Client Session(s)
US11075905B2 (en) * 2019-12-09 2021-07-27 Google Llc Requesting and transmitting data for related accounts
US11423406B2 (en) * 2019-12-16 2022-08-23 Paypal, Inc. Multi-tiered approach to detect and mitigate online electronic attacks
US11956252B2 (en) * 2019-12-16 2024-04-09 Armis Security Ltd. Techniques for resolving contradictory device profiling data
US11381570B2 (en) * 2019-12-20 2022-07-05 Beijing Didi Infinity Technology And Development Co., Ltd. Identity and access management dynamic control and remediation
US11444961B2 (en) * 2019-12-20 2022-09-13 Intel Corporation Active attack detection in autonomous vehicle networks
CN110995763B (zh) * 2019-12-26 2022-08-05 深信服科技股份有限公司 一种数据处理方法、装置、电子设备和计算机存储介质
US11570197B2 (en) 2020-01-22 2023-01-31 Forcepoint Llc Human-centric risk modeling framework
US11630901B2 (en) 2020-02-03 2023-04-18 Forcepoint Llc External trigger induced behavioral analyses
US11863567B2 (en) * 2020-02-04 2024-01-02 Fastly, Inc. Management of bot detection in a content delivery network
US11394582B2 (en) 2020-02-04 2022-07-19 360 It, Uab Multi-part TCP connection over VPN
US11050587B1 (en) 2020-02-04 2021-06-29 360 It, Uab Multi-part TCP connection over VPN
US11736505B2 (en) 2020-02-07 2023-08-22 Mastercard Technologies Canada ULC Automated web traffic anomaly detection
US11080109B1 (en) 2020-02-27 2021-08-03 Forcepoint Llc Dynamically reweighting distributions of event observations
US11429697B2 (en) 2020-03-02 2022-08-30 Forcepoint, LLC Eventually consistent entity resolution
US11836265B2 (en) 2020-03-02 2023-12-05 Forcepoint Llc Type-dependent event deduplication
US11080032B1 (en) 2020-03-31 2021-08-03 Forcepoint Llc Containerized infrastructure for deployment of microservices
CN111581641B (zh) * 2020-04-03 2022-07-29 北京大学 一种基于Hook的轻量级WebAPI保护方法和装置
US11568136B2 (en) 2020-04-15 2023-01-31 Forcepoint Llc Automatically constructing lexicons from unlabeled datasets
CN111506819B (zh) * 2020-04-24 2023-05-16 成都安易迅科技有限公司 一种硬件设备推荐方法、装置,服务器及存储介质
US11748460B2 (en) * 2020-04-27 2023-09-05 Imperva, Inc. Procedural code generation for challenge code
TWI734456B (zh) * 2020-04-29 2021-07-21 正修學校財團法人正修科技大學 製程能力評估方法
US11516206B2 (en) 2020-05-01 2022-11-29 Forcepoint Llc Cybersecurity system having digital certificate reputation system
US20210342441A1 (en) * 2020-05-01 2021-11-04 Forcepoint, LLC Progressive Trigger Data and Detection Model
US11451562B2 (en) 2020-05-01 2022-09-20 Mastercard Technologies Canada ULC Recommending signals to monitor in a fraud prevention application
US11544390B2 (en) 2020-05-05 2023-01-03 Forcepoint Llc Method, system, and apparatus for probabilistic identification of encrypted files
US11895158B2 (en) 2020-05-19 2024-02-06 Forcepoint Llc Cybersecurity system having security policy visualization
US11290480B2 (en) 2020-05-26 2022-03-29 Bank Of America Corporation Network vulnerability assessment tool
CN111385313B (zh) * 2020-05-28 2020-09-11 支付宝(杭州)信息技术有限公司 一种对象请求合法性验证的方法和系统
US11456917B2 (en) * 2020-06-01 2022-09-27 Cisco Technology, Inc. Analyzing deployed networks with respect to network solutions
US11574071B2 (en) 2020-07-28 2023-02-07 Bank Of America Corporation Reliability of information security controls for attack readiness
US11704387B2 (en) 2020-08-28 2023-07-18 Forcepoint Llc Method and system for fuzzy matching and alias matching for streaming data sets
US11019031B1 (en) 2020-09-22 2021-05-25 Netskope, Inc. Client software connection inspection and access control
US11789982B2 (en) * 2020-09-23 2023-10-17 Electronic Arts Inc. Order independent data categorization, indication, and remediation across realtime datasets of live service environments
CN112016939B (zh) * 2020-10-19 2021-02-26 耀方信息技术(上海)有限公司 一种自动维护用户系统
US11190589B1 (en) 2020-10-27 2021-11-30 Forcepoint, LLC System and method for efficient fingerprinting in cloud multitenant data loss prevention
US11157614B1 (en) * 2021-01-27 2021-10-26 Malwarebytes Inc. Prevention of false positive detection of malware
US20220269662A1 (en) * 2021-02-22 2022-08-25 Mastercard Technologies Canada ULC Event interval approximation
US20220353284A1 (en) * 2021-04-23 2022-11-03 Sophos Limited Methods and apparatus for using machine learning to classify malicious infrastructure
US20220366039A1 (en) * 2021-05-13 2022-11-17 Microsoft Technology Licensing, Llc Abnormally permissive role definition detection systems
US20220398307A1 (en) * 2021-06-10 2022-12-15 Armis Security Ltd. Techniques for securing network environments by identifying device types based on naming conventions
US20230007017A1 (en) * 2021-06-30 2023-01-05 Fortinet, Inc. Enforcing javascript for mitb detection
US11847598B2 (en) * 2021-08-13 2023-12-19 Edgeverve Systems Limited Method and system for analyzing process flows for a process performed by users
US20230058569A1 (en) * 2021-08-23 2023-02-23 Fortinet, Inc. Systems and methods for quantifying file access risk exposure by an endpoint in a network environment
US11997206B2 (en) 2021-09-22 2024-05-28 Radware, Ltd. Techniques for protecting web-access
US11461492B1 (en) * 2021-10-15 2022-10-04 Infosum Limited Database system with data security employing knowledge partitioning
TWI789271B (zh) * 2022-03-16 2023-01-01 中原大學 封包資訊分析方法及網路流量監測裝置
US11995658B2 (en) * 2022-05-25 2024-05-28 Dell Products L.P. Machine learning-based detection of potentially malicious behavior on an e-commerce platform
US11693958B1 (en) * 2022-09-08 2023-07-04 Radiant Security, Inc. Processing and storing event data in a knowledge graph format for anomaly detection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2315465A1 (en) * 2009-10-20 2011-04-27 ETH Zurich Method for secure communication between devices
CN103067337A (zh) * 2011-10-19 2013-04-24 中兴通讯股份有限公司 一种身份联合的方法、IdP、SP及系统

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774525A (en) 1995-01-23 1998-06-30 International Business Machines Corporation Method and apparatus utilizing dynamic questioning to provide secure access control
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5761652A (en) * 1996-03-20 1998-06-02 International Business Machines Corporation Constructing balanced multidimensional range-based bitmap indices
US5940751A (en) 1996-06-27 1999-08-17 Cellular Technical Services Company, Inc. System and method for detection of fraud in a wireless telephone system
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
US7403922B1 (en) 1997-07-28 2008-07-22 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
US5870752A (en) * 1997-08-21 1999-02-09 Lucent Technologies Inc. Incremental maintenance of an approximate histogram in a database system
US20050114705A1 (en) 1997-12-11 2005-05-26 Eran Reshef Method and system for discriminating a human action from a computerized action
US6829711B1 (en) 1999-01-26 2004-12-07 International Business Machines Corporation Personal website for electronic commerce on a smart java card with multiple security check points
US20010020228A1 (en) * 1999-07-09 2001-09-06 International Business Machines Corporation Umethod, system and program for managing relationships among entities to exchange encryption keys for use in providing access and authorization to resources
US7159237B2 (en) * 2000-03-16 2007-01-02 Counterpane Internet Security, Inc. Method and system for dynamic network intrusion monitoring, detection and response
AU2001245292A1 (en) 2000-04-14 2001-10-30 Sun Microsystems, Inc. Network access security
EP1340178A4 (en) 2000-11-02 2005-06-08 Cybersource Corp METHOD AND APPARATUS FOR EVALUATING THE RISK OF FRAUD IN AN ELECTRONIC COMMERCIAL TRANSACTION
FI20002814A0 (fi) 2000-12-21 2000-12-21 Nokia Mobile Phones Ltd Asiayhteyspohjainen tiedonsiirronvarmistamismenetelmä ja järjestely, tiedonsiirtoverkko sekä tiedonsiirtoverkon päätelaite
US20040006532A1 (en) 2001-03-20 2004-01-08 David Lawrence Network access risk management
US7142651B2 (en) 2001-11-29 2006-11-28 Ectel Ltd. Fraud detection in a distributed telecommunications networks
WO2003083660A1 (en) 2002-03-29 2003-10-09 Global Dataguard, Inc. Adaptive behavioral intrusion detection systems and methods
US20040030764A1 (en) * 2002-08-08 2004-02-12 International Business Machines Corporation Identity assertion token principal mapping for common secure interoperability
US8201252B2 (en) * 2002-09-03 2012-06-12 Alcatel Lucent Methods and devices for providing distributed, adaptive IP filtering against distributed denial of service attacks
US20040215574A1 (en) 2003-04-25 2004-10-28 First Data Corporation Systems and methods for verifying identities in transactions
US20040254793A1 (en) 2003-06-12 2004-12-16 Cormac Herley System and method for providing an audio challenge to distinguish a human from a computer
US20050039057A1 (en) * 2003-07-24 2005-02-17 Amit Bagga Method and apparatus for authenticating a user using query directed passwords
EP1664687A4 (en) 2003-09-12 2009-01-14 Rsa Security Inc SYSTEM AND METHOD FOR AUTHENTICATION TO RISK BASIS
CN1864395A (zh) * 2003-10-02 2006-11-15 维拉尔格公司 在内容共享的对等网络中限制使用未经授权的数字内容
US8578462B2 (en) 2003-12-12 2013-11-05 Avaya Inc. Method and system for secure session management in a web farm
US20050144067A1 (en) 2003-12-19 2005-06-30 Palo Alto Research Center Incorporated Identifying and reporting unexpected behavior in targeted advertising environment
US8782405B2 (en) 2004-03-18 2014-07-15 International Business Machines Corporation Providing transaction-level security
US8572254B2 (en) * 2004-04-08 2013-10-29 Worldextend, Llc Systems and methods for establishing and validating secure network sessions
WO2005119648A2 (en) 2004-06-01 2005-12-15 Dna Digital Media Group Character branding employing voice and speech recognition technology
JP4874251B2 (ja) 2004-08-18 2012-02-15 マスターカード インターナシヨナル インコーポレーテツド 動的認証コードを用いて取引を認証する方法及び装置
US20080010678A1 (en) 2004-09-17 2008-01-10 Jeff Burdette Authentication Proxy
US9535679B2 (en) * 2004-12-28 2017-01-03 International Business Machines Corporation Dynamically optimizing applications within a deployment server
US20060230039A1 (en) 2005-01-25 2006-10-12 Markmonitor, Inc. Online identity tracking
WO2006094271A2 (en) 2005-03-02 2006-09-08 Markmonitor, Inc. Distribution of trust data
US20060206941A1 (en) 2005-03-08 2006-09-14 Praesidium Technologies, Ltd. Communications system with distributed risk management
US7630924B1 (en) 2005-04-20 2009-12-08 Authorize.Net Llc Transaction velocity counting for fraud detection
CN101375546B (zh) 2005-04-29 2012-09-26 甲骨文国际公司 用于欺骗监控、检测和分层用户鉴权的系统和方法
US8578500B2 (en) * 2005-05-31 2013-11-05 Kurt James Long System and method of fraud and misuse detection
US7945952B1 (en) 2005-06-30 2011-05-17 Google Inc. Methods and apparatuses for presenting challenges to tell humans and computers apart
GB2429094B (en) 2005-08-09 2010-08-25 Royal Bank Of Scotland Group P Online transaction systems and methods
US8082349B1 (en) 2005-10-21 2011-12-20 Entrust, Inc. Fraud protection using business process-based customer intent analysis
US8392963B2 (en) 2005-11-28 2013-03-05 Imperva, Inc. Techniques for tracking actual users in web application security systems
US20070124201A1 (en) 2005-11-30 2007-05-31 Hu Hubert C Digital content access system and methods
US8549651B2 (en) 2007-02-02 2013-10-01 Facebook, Inc. Determining a trust level in a social network environment
WO2007070711A2 (en) 2005-12-15 2007-06-21 Malloy Patrick J Interactive network monitoring and analysis
US20070162761A1 (en) * 2005-12-23 2007-07-12 Davis Bruce L Methods and Systems to Help Detect Identity Fraud
US20070226053A1 (en) 2006-03-21 2007-09-27 Kevin Carl System for uploading video advertisements, solicit user feedback, and create ratings/rankings
US7818264B2 (en) 2006-06-19 2010-10-19 Visa U.S.A. Inc. Track data encryption
US8650080B2 (en) 2006-04-10 2014-02-11 International Business Machines Corporation User-browser interaction-based fraud detection system
WO2007133799A2 (en) 2006-05-15 2007-11-22 Fair Isaac Corporation Comprehensive online fraud detection system and method
US20080082662A1 (en) 2006-05-19 2008-04-03 Richard Dandliker Method and apparatus for controlling access to network resources based on reputation
US7680891B1 (en) 2006-06-19 2010-03-16 Google Inc. CAPTCHA-based spam control for content creation systems
US8601538B2 (en) 2006-08-22 2013-12-03 Fuji Xerox Co., Ltd. Motion and interaction based CAPTCHA
US20080049969A1 (en) 2006-08-25 2008-02-28 Jason David Koziol Methods And Systems For Generating A Symbol Identification Challenge For An Automated Agent
US8145560B2 (en) 2006-11-14 2012-03-27 Fmr Llc Detecting fraudulent activity on a network
US20080133321A1 (en) 2006-12-01 2008-06-05 Yahoo! Inc. System and method for measuring awareness of online advertising using captchas
US20080133347A1 (en) 2006-12-01 2008-06-05 Yahoo! Inc. System and method for providing semantic captchas for online advertising
US20080133348A1 (en) 2006-12-01 2008-06-05 Yahoo! Inc. System and method for delivering online advertisements using captchas
US7523016B1 (en) 2006-12-29 2009-04-21 Google Inc. Detecting anomalies
US8788419B2 (en) * 2006-12-30 2014-07-22 First Data Corporation Method and system for mitigating risk of fraud in internet banking
WO2008098029A1 (en) 2007-02-06 2008-08-14 Vidoop, Llc. System and method for authenticating a user to a computer system
US8601575B2 (en) 2007-03-30 2013-12-03 Ca, Inc. Statistical method and system for network anomaly detection
US7620596B2 (en) 2007-06-01 2009-11-17 The Western Union Company Systems and methods for evaluating financial transaction risk
US8200959B2 (en) * 2007-06-28 2012-06-12 Cisco Technology, Inc. Verifying cryptographic identity during media session initialization
US20090012855A1 (en) 2007-07-06 2009-01-08 Yahoo! Inc. System and method of using captchas as ads
US7958228B2 (en) 2007-07-11 2011-06-07 Yahoo! Inc. Behavioral predictions based on network activity locations
US8510795B1 (en) 2007-09-04 2013-08-13 Google Inc. Video-based CAPTCHA
US8880435B1 (en) 2007-10-26 2014-11-04 Bank Of America Corporation Detection and tracking of unauthorized computer access attempts
US20090113294A1 (en) 2007-10-30 2009-04-30 Yahoo! Inc. Progressive captcha
US8352598B2 (en) 2007-11-27 2013-01-08 Inha-Industry Partnership Institute Method of providing completely automated public turing test to tell computer and human apart based on image
DE102008003531A1 (de) 2008-01-08 2009-07-09 Giesecke & Devrient Gmbh Softwareidentifikation
US20090249477A1 (en) 2008-03-28 2009-10-01 Yahoo! Inc. Method and system for determining whether a computer user is human
EP3382934A1 (en) 2008-04-01 2018-10-03 Nudata Security Inc. Systems and methods for implementing and tracking identification tests
US9842204B2 (en) 2008-04-01 2017-12-12 Nudata Security Inc. Systems and methods for assessing security risk
US20090328163A1 (en) 2008-06-28 2009-12-31 Yahoo! Inc. System and method using streaming captcha for online verification
US20100077482A1 (en) 2008-09-23 2010-03-25 Robert Edward Adams Method and system for scanning electronic data for predetermined data patterns
CN101482847B (zh) * 2009-01-19 2011-06-29 北京邮电大学 一种基于安全漏洞缺陷模式的检测方法
KR101048991B1 (ko) 2009-02-27 2011-07-12 (주)다우기술 봇넷 행동 패턴 분석 시스템 및 방법
US9489674B2 (en) 2009-05-04 2016-11-08 Visa International Service Association Frequency-based transaction prediction and processing
US8312157B2 (en) 2009-07-16 2012-11-13 Palo Alto Research Center Incorporated Implicit authentication
US20110016052A1 (en) 2009-07-16 2011-01-20 Scragg Ernest M Event Tracking and Velocity Fraud Rules for Financial Transactions
US8713705B2 (en) * 2009-08-03 2014-04-29 Eisst Ltd. Application authentication system and method
EP2474130B1 (en) 2009-09-01 2017-01-25 NEC Corporation Method for monitoring a network and network including a monitoring functionality
US10360039B2 (en) * 2009-09-28 2019-07-23 Nvidia Corporation Predicted instruction execution in parallel processors with reduced per-thread state information including choosing a minimum or maximum of two operands based on a predicate value
US20120137367A1 (en) * 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
US8370278B2 (en) * 2010-03-08 2013-02-05 Microsoft Corporation Ontological categorization of question concepts from document summaries
US8707427B2 (en) 2010-04-06 2014-04-22 Triumfant, Inc. Automated malware detection and remediation
US8375427B2 (en) * 2010-04-21 2013-02-12 International Business Machines Corporation Holistic risk-based identity establishment for eligibility determinations in context of an application
US8868651B2 (en) * 2010-08-16 2014-10-21 Avon Products, Inc. Web community pre-population method and system
US8898759B2 (en) * 2010-08-24 2014-11-25 Verizon Patent And Licensing Inc. Application registration, authorization, and verification
US9361597B2 (en) 2010-10-19 2016-06-07 The 41St Parameter, Inc. Variable risk engine
US9329699B2 (en) * 2010-10-22 2016-05-03 Southern Methodist University Method for subject classification using a pattern recognition input device
US20120123821A1 (en) * 2010-11-16 2012-05-17 Raytheon Company System and Method for Risk Assessment of an Asserted Identity
US9665703B2 (en) * 2010-11-29 2017-05-30 Biocatch Ltd. Device, system, and method of detecting user identity based on inter-page and intra-page navigation patterns
GB2491101B (en) * 2011-04-15 2013-07-10 Bluecava Inc Detection of spoofing of remote client system information
RU2477929C2 (ru) 2011-04-19 2013-03-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ предотвращения инцидентов безопасности на основании рейтингов опасности пользователей
US10380585B2 (en) * 2011-06-02 2019-08-13 Visa International Service Association Local usage of electronic tokens in a transaction processing system
US8447674B2 (en) 2011-07-21 2013-05-21 Bank Of America Corporation Multi-stage filtering for fraud detection with customer history filters
US8756651B2 (en) * 2011-09-27 2014-06-17 Amazon Technologies, Inc. Policy compliance-based secure data access
US9058486B2 (en) * 2011-10-18 2015-06-16 Mcafee, Inc. User behavioral risk assessment
US9141914B2 (en) * 2011-10-31 2015-09-22 Hewlett-Packard Development Company, L.P. System and method for ranking anomalies
EP2826202B1 (en) 2012-02-07 2016-10-26 Visa International Service Association Mobile human challenge-response test
US9256715B2 (en) 2012-03-09 2016-02-09 Dell Products L.P. Authentication using physical interaction characteristics
JP6287828B2 (ja) * 2012-03-30 2018-03-07 不二製油株式会社 チーズ様食品
US8898766B2 (en) 2012-04-10 2014-11-25 Spotify Ab Systems and methods for controlling a local application through a web page
US20130339186A1 (en) 2012-06-15 2013-12-19 Eventbrite, Inc. Identifying Fraudulent Users Based on Relational Information
US10409984B1 (en) * 2012-06-15 2019-09-10 Square, Inc. Hierarchical data security measures for a mobile device
US20130339736A1 (en) 2012-06-19 2013-12-19 Alex Nayshtut Periodic platform based web session re-validation
CA2818439A1 (en) * 2012-07-05 2014-01-05 Cyber-Ark Software Ltd. System and method for out-of-band application authentication
US9485118B1 (en) 2012-09-28 2016-11-01 Juniper Networks, Inc. Penalty-box policers for network device control plane protection
CN102970383B (zh) * 2012-11-13 2018-07-06 中兴通讯股份有限公司 一种分配ip地址的方法及装置、信息处理的方法及装置
US9560014B2 (en) * 2013-01-23 2017-01-31 Mcafee, Inc. System and method for an endpoint hardware assisted network firewall in a security environment
US20140229414A1 (en) 2013-02-08 2014-08-14 Ebay Inc. Systems and methods for detecting anomalies
US8925056B2 (en) * 2013-03-18 2014-12-30 Rawllin International Inc. Universal management of user profiles
US20150382084A1 (en) 2014-06-25 2015-12-31 Allied Telesis Holdings Kabushiki Kaisha Path determination of a sensor based detection system
US9558056B2 (en) 2013-07-28 2017-01-31 OpsClarity Inc. Organizing network performance metrics into historical anomaly dependency data
US20150052616A1 (en) 2013-08-14 2015-02-19 L-3 Communications Corporation Protected mode for securing computing devices
US9432375B2 (en) 2013-10-10 2016-08-30 International Business Machines Corporation Trust/value/risk-based access control policy
US20150135316A1 (en) 2013-11-13 2015-05-14 NetCitadel Inc. System and method of protecting client computers
US9608981B2 (en) * 2013-12-11 2017-03-28 Red Hat, Inc. Strong user authentication for accessing protected network
US9679125B2 (en) 2014-04-29 2017-06-13 PEGRight, Inc. Characterizing user behavior via intelligent identity analytics
US10412050B2 (en) 2014-05-23 2019-09-10 Citrix Systems, Inc. Protect applications from session stealing/hijacking attacks by tracking and blocking anomalies in end point characteristics throughout a user session
US10171491B2 (en) 2014-12-09 2019-01-01 Fortinet, Inc. Near real-time detection of denial-of-service attacks
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US9794229B2 (en) 2015-04-03 2017-10-17 Infoblox Inc. Behavior analysis based DNS tunneling detection and classification framework for network security
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
SG10201909133YA (en) 2015-09-05 2019-11-28 Mastercard Tech Canada Ulc Systems and methods for matching and scoring sameness
US10007776B1 (en) 2017-05-05 2018-06-26 Mastercard Technologies Canada ULC Systems and methods for distinguishing among human users and software robots
US9990487B1 (en) 2017-05-05 2018-06-05 Mastercard Technologies Canada ULC Systems and methods for distinguishing among human users and software robots
US10127373B1 (en) 2017-05-05 2018-11-13 Mastercard Technologies Canada ULC Systems and methods for distinguishing among human users and software robots

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2315465A1 (en) * 2009-10-20 2011-04-27 ETH Zurich Method for secure communication between devices
CN103067337A (zh) * 2011-10-19 2013-04-24 中兴通讯股份有限公司 一种身份联合的方法、IdP、SP及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Preventing Identity Theft with Electronic Identity Cards;Andreas Klenk;《EUROSEC"09:proceedings of the second european workshop on system security》;20090331;第44-51页 *
一种基于单点登录的用户认证方案;冯刚等;《大众科技》;20090610(第06期) *
基于IP欺骗攻击的状态分析法研究;陈晓苏等;《华中科技大学学报(自然科学版)》;20030530(第05期) *

Also Published As

Publication number Publication date
US20170070533A1 (en) 2017-03-09
US20170339184A1 (en) 2017-11-23
CA2997583A1 (en) 2017-03-09
US9749358B2 (en) 2017-08-29
CA2997597C (en) 2021-01-26
US20170070522A1 (en) 2017-03-09
CN108885659B (zh) 2022-02-11
AU2016314061A1 (en) 2018-03-29
AU2016314061B2 (en) 2020-02-27
WO2017037544A3 (en) 2017-04-20
EP3345099B1 (en) 2021-12-01
US9648034B2 (en) 2017-05-09
EP3345099A4 (en) 2019-08-28
CA2997585C (en) 2021-02-23
EP3345349B1 (en) 2024-05-15
US20170070526A1 (en) 2017-03-09
IL257844A (en) 2018-04-30
EP3345349A2 (en) 2018-07-11
US20170070524A1 (en) 2017-03-09
AU2016315900B2 (en) 2019-11-21
AU2019232865A1 (en) 2019-10-10
US20170070517A1 (en) 2017-03-09
CA2997585A1 (en) 2017-03-09
US9749357B2 (en) 2017-08-29
CN108885666A (zh) 2018-11-23
AU2019271891B2 (en) 2021-02-18
US20170070534A1 (en) 2017-03-09
AU2019232865B2 (en) 2021-03-18
US9800601B2 (en) 2017-10-24
US9749356B2 (en) 2017-08-29
CA2997583C (en) 2021-04-20
IL257844B (en) 2021-04-29
US10805328B2 (en) 2020-10-13
US20170070521A1 (en) 2017-03-09
US20170070527A1 (en) 2017-03-09
US10129279B2 (en) 2018-11-13
AU2019271892B2 (en) 2021-02-18
EP3345349A4 (en) 2019-08-14
US10749884B2 (en) 2020-08-18
US10212180B2 (en) 2019-02-19
AU2016315900A1 (en) 2018-03-29
IL257852A (en) 2018-04-30
CA2997597A1 (en) 2017-04-13
AU2019271891A1 (en) 2019-12-19
AU2019271890A1 (en) 2019-12-19
US20190149567A1 (en) 2019-05-16
US9979747B2 (en) 2018-05-22
US20170070525A1 (en) 2017-03-09
IL257849B2 (en) 2023-12-01
AU2019271892A1 (en) 2019-12-19
IL257849A (en) 2018-04-30
EP3345117A1 (en) 2018-07-11
IL257852B (en) 2021-04-29
WO2017037542A1 (en) 2017-03-09
US10965695B2 (en) 2021-03-30
US20180367555A9 (en) 2018-12-20
US20170070523A1 (en) 2017-03-09
CN108885659A (zh) 2018-11-23
AU2019271890B2 (en) 2021-02-18
IL257849B1 (en) 2023-08-01
WO2017060778A3 (en) 2017-07-20
EP3345117A4 (en) 2019-10-09
EP3345099A2 (en) 2018-07-11
US9680868B2 (en) 2017-06-13
US20170134414A1 (en) 2017-05-11
WO2017060778A2 (en) 2017-04-13
SG10201909133YA (en) 2019-11-28
US20180191762A1 (en) 2018-07-05
CN108780479A (zh) 2018-11-09
CN108780479B (zh) 2022-02-11
US9813446B2 (en) 2017-11-07
AU2016334816A1 (en) 2018-03-29
WO2017037544A2 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
CN108885666B (zh) 用于检测和防止伪冒的系统和方法
US10223524B1 (en) Compromised authentication information clearing house
US7908645B2 (en) System and method for fraud monitoring, detection, and tiered user authentication
US9578004B2 (en) Authentication of API-based endpoints
US9444824B1 (en) Methods, systems, and articles of manufacture for implementing adaptive levels of assurance in a financial management system
US9060012B2 (en) Methods and apparatus for detecting fraud with time based computer tags
US9838384B1 (en) Password-based fraud detection
CN112333198A (zh) 安全跨域登录方法、系统及服务器
US9824207B1 (en) Authentication information update based on fraud detection
US10171495B1 (en) Detection of modified requests
US11477245B2 (en) Advanced detection of identity-based attacks to assure identity fidelity in information technology environments
US20190147451A1 (en) Collaborate Fraud Prevention
US20210211463A1 (en) Web site compromise detection
Zhang et al. Don't leak your keys: Understanding, measuring, and exploiting the appsecret leaks in mini-programs
US10567171B2 (en) Client-side security key generation
RU2795371C1 (ru) Способ и система обезличенной оценки клиентов организаций для проведения операций между организациями
JP2019074893A (ja) 不正ログイン検出方法

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