CN104766001A - 检测和破坏captcha自动化脚本以及防止图像刮削 - Google Patents
检测和破坏captcha自动化脚本以及防止图像刮削 Download PDFInfo
- Publication number
- CN104766001A CN104766001A CN201510002261.1A CN201510002261A CN104766001A CN 104766001 A CN104766001 A CN 104766001A CN 201510002261 A CN201510002261 A CN 201510002261A CN 104766001 A CN104766001 A CN 104766001A
- Authority
- CN
- China
- Prior art keywords
- captcha
- challenge
- response
- safety equipment
- solving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2103—Challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2133—Verifying human interaction, e.g., Captcha
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明的各实施例涉及检测和破坏CAPTCHA自动化脚本以及防止图像刮削。一种安全设备可以接收来自客户端设备并且旨在去往服务器设备的请求。安全设备可以将该请求标识为与恶意活动关联。恶意活动可以包括指向服务器设备的一个或者多个不希望的任务。安全设备可以基于将该请求标识为与恶意活动关联而生成挑战-响应测试。挑战-响应测试可以使用一个或者多个构造技术而被生成。安全设备可以向客户端设备提供挑战-响应测试。安全设备可以从客户端设备接收对挑战-响应测试的提出的求解。安全设备可以将提出的求解标识为使用光学字符识别(OCR)程序而被生成。安全设备可以基于将求解标识为使用OCR程序而被生成来保护服务器设备免于客户端设备之害。
Description
技术领域
本发明的各实施例总体上涉及安全技术,并且更特别地涉及检测和破坏CAPTCHA自动化脚本以及防止图像刮削。
背景技术
用于分辨计算机和人的全自动化公开图灵测试(“CAPTCHA”)是可以用来确定设备(例如,计算机设备)是否正在由用户(例如,人)或者由计算设备(例如,正在由计算设备执行的自动化过程)操作的挑战-响应测试的类型。CAPTCHA可能需要用户正确地转写在CAPTCHA图像中包括的一组失真的字符(例如,字母)(例如计算设备可以不能标识失真的字符)。
发明内容
根据一些可能的实现方式,一种安全设备可以接收来自客户端设备并且旨在去往服务器设备的请求;将该请求标识为与恶意活动关联,其中恶意活动可以包括指向服务器设备的一个或者多个不希望的任务;基于将该请求标识为与恶意活动关联而生成挑战-响应测试,其中挑战-响应测试可以使用一个或者多个构造技术而被生成;向客户端设备提供挑战-响应测试;从客户端设备接收对挑战-响应测试的提出的求解;将由客户端设备提供的提出的求解标识为使用光学字符识别(OCR)程序而被生成;以及基于将求解标识为使用OCR程序而被生成来保护服务器设备免于客户端设备之害。
根据一些可能的实现方式,一种计算机可读介质可以存储一个或者多个指令,该一个或者多个指令在由一个或者多个处理器执行时使一个或者多个处理器:从客户端设备接收对于由服务器设备存储的信息的请求;确定该请求指示恶意活动,其中恶意活动可以与指向服务器设备的不希望的任务的执行关联;基于确定该请求指示恶意活动来构造用于分辨计算机和人的全自动化公开图灵测试(CAPTCHA),其中CAPTCHA可以使用至少一个构造技术而被构造;向客户端设备发送CAPTCHA;从客户端设备接收对CAPTCHA的求解;确定该求解由光学字符识别(OCR)工具生成;以及基于该确定该求解由OCR工具生成来保护服务器设备免于客户端设备之害。
根据一些可能的实现方式,一种方法可以包括:由安全设备接收用于提供与服务器设备关联的信息的请求;由安全设备将请求标识为与指向服务器设备的不希望的任务关联;由安全设备使用一组构造技术而生成挑战-响应测试,其中该一组构造技术中的每个构造技术可以被配置为防止光学字符识别(OCR)脚本生成对挑战-响应测试的正确求解;由安全设备向客户端设备提供挑战-响应测试;由安全设备接收对挑战-响应测试的提交的求解;由安全设备标识提交的求解使用OCR脚本而被确定;以及由安全设备基于标识提交的求解使用OCR脚本而被确定来保护服务器设备。
附图说明
图1是这里描述的示例实现方式的概览的图;
图2是其中可以实施这里描述的系统和/或方法的示例环境的示图;
图3是图2的一个或者多个设备的示例部件的示图;
图4是用于基于检测到与从客户端设备接收的一个或者多个请求关联的恶意活动而生成挑战-响应测试的示例过程的流程图;
图5A和图5B是与图4中所示的示例过程有关的示例实现方式的示图;
图6是用于基于将对挑战-响应测试的求解标识为由光学字符识别工具生成来保护服务器设备的示例过程的流程图;以及
图7A和图7B是与图6中所示的示例过程有关的示例实现方式的示图。
具体实施方式
示例实现方式的以下具体描述参照附图。在不同附图中的相同标号可以标识相同或者相似要素。
与对应用(例如,web应用)进行主控的服务器设备关联的安全设备可能希望防止脚本使与应用关联的工作流程自动化(例如,社交联网网站可能希望防止脚本自动地创建假冒用户账户)。一种可以允许安全设备防止工作流程被自动化的方法是通过向参与恶意活动(例如,指示脚本正在由客户端设备执行的活动)的客户端设备呈现挑战-响应测试(例如,CAPTCHA)。然而,客户端设备可以能够使用光学字符识别(“OCR”)工具来求解挑战-响应测试(例如,而没有来自人类用户的输入)。
这里描述的实现方式可以允许与对应用进行主控的服务器设备关联的安全设备使用旨在于防止OCR工具正确地求解挑战-响应测试的一个或者多个构造技术而生成挑战-响应测试。这里描述的实现方式也可以允许安全设备检测到OCR工具用来提供对挑战-响应测试的不正确求解(例如,并且安全设备可以相应地保护服务器设备)。
图1是这里描述的示例实现方式100的概览的图。出于示例实现方式100的目的,假设客户端设备正在执行恶意脚本,该恶意脚本使客户端设备发送指向服务器设备的恶意请求。另外,假设安全设备被配置为防止服务器设备从客户端设备接收恶意请求(例如,安全设备将在任何请求被发送到服务器设备之前接收该请求)。
如图1中所示,客户端设备可以向安全设备发送指向服务器设备的恶意请求。如所示,安全设备可以接收该请求并且可以确定该请求指示与客户端设备关联的恶意活动(例如,该请求可以指示客户端设备正在执行恶意脚本)。如进一步所示,安全设备可以基于确定该请求指示恶意活动而生成挑战-响应测试,并且安全设备可以向客户端设备提供挑战-响应测试。
如图1中进一步所示,客户端设备可以接收挑战-响应测试、可以使用OCR工具以生成对挑战-响应测试的求解并且可以向安全设备提供OCR生成的求解。如进一步所示,安全设备可以接收OCR生成的响应、可以确定求解不正确并且可以确定求解使用OCR工具而被生成。如所示,安全设备可以开始阻止从客户端设备接收的(例如,指向服务器设备的)任何请求。以这一方式,安全设备可以基于标识与客户端设备关联的恶意活动而生成挑战-响应测试并且可以确定(例如,由客户端设备提供的)对挑战-响应测试的求解使用OCR工具而被生成。安全设备可以基于确定求解由OCR工具生成来保护服务器设备免于客户端设备之害。
图2是其中可以实施这里描述的系统和/或方法的示例环境200的示图。如图2中所示,环境200可以包括客户端设备210、网络220、服务器设备230和安全设备240。
客户端设备210包括能够经由网络(例如,网络220)与其它设备(例如,服务器设备230)和/或能够接收由另一设备(例如,服务器设备230)提供的信息的一个或者多个设备。例如,客户端设备210可以包括计算设备,比如膝上型计算机、平板计算机、手持计算机、台式计算机、移动电话(例如,智能电话、无线电电话等)、个人数字助理或者相似设备。在一些实现方式中,客户端设备210可以能够生成和(例如,向服务器设备230)发送请求(例如,与由服务器设备230主控的应用关联的请求)。附加地或者备选地,客户端设备可以能够执行被配置为执行指向服务器设备230的一个或者多个任务的脚本。附加地或者备选地,客户端设备210可以能够执行被配置为生成(例如,在没有来自用户的输入的情况下)和提供对挑战-响应测试的求解的OCR工具。
网络220可以包括一个或者多个有线和/或无线网络。例如,网络220可以包括无线局域网(WLAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公用交换电话网络(PSTN))、蜂窝网络、公用陆地移动网络(PLMN)、自组织网络、内联网、因特网、基于光纤的网络或者这些或者其它类型的网络的组合。在一些实现方式中,网络220可以允许在设备(比如客户端设备210、服务器设备230和/或安全设备240)之间的通信。
服务器设备230可以包括能够接收、提供、生成、存储和/或处理经由网络(例如,网络220)和/或另一设备(例如,安全设备240)接收和/或提供的信息的一个或者多个设备。例如,服务器设备230可以包括计算设备,比如服务器(例如,应用服务器、内容服务器、主机服务器、web服务器等)。
安全设备240可以包括能够接收、提供、生成、存储和/或处理经由网络(例如,网络220)和/或另一设备(例如,服务器设备230、客户端设备210等)接收和/或提供的信息的一个或者多个设备。例如,安全设备240可以包括计算设备,比如服务器。在一些实现方式中,安全设备240可以从客户端设备210接收信息和/或向客户端设备210提供信息(例如,经由网络220)和/或从服务器设备230接收信息和/或向服务器设备230提供信息。附加地或者备选地,安全设备240可以包括能够处理和/或传送在客户端设备210与服务器设备230之间的通信(例如,请求、响应等)的一个或者多个设备。例如,安全设备240可以包括网络设备,比如反向代理、服务器(例如,代理服务器)、流量传送设备、防火墙、路由器、负载平衡器等。
在一些实现方式中,安全设备240可以能够标识与(例如,从客户端设备210接收并且指向服务器设备230的)请求关联的恶意活动。附加地或者备选地,安全设备240可以能够生成挑战-响应测试(例如,CAPTCHA)和评估对挑战-响应测试的(例如,从客户端设备210接收的)求解。附加地或者备选地,安全设备240可以能够保护服务器设备230免于与客户端设备210关联的恶意活动。
可以与单个服务器设备230或者一组服务器设备230(例如,数据中心)结合使用安全设备240。可以通过安全设备240路由通信以到达一个或者多个服务器设备230。例如,安全设备240可以被定位于网络内以作为通向包括一个或者多个服务设备230的专有网络的网关。
出于说明性目的而提供了图2中所示的设备和网络的数目。在实践中,可以有除了图2中所示的设备和/或网络之外的附加设备和/或网络、更少设备和/或网络、不同设备和/或网络或者不同地布置的设备和/或网络。另外,可以在单个设备内实施图2中所示的设备中的两个或者更多个设备,或者可以图2中所示的单个设备可以被实施为多个分布的设备。附加地,环境200的设备中的一个或者多个设备可以执行被描述为由环境200的设备中的另外一个或者多个设备执行的一个或者多个功能。环境200的设备可以经由有线连接、无线连接或者有线连接和无线连接的组合互连。
图3是设备300的示例部件的示图。设备300可以对应于客户端设备210、服务器设备230和/或安全设备240。附加地或者备选地,客户端设备210、服务器设备230和/或安全设备240中的每个设备可以包括一个或者多个设备30和/或设备300的一个或者多个部件。如图3中所示,设备300可以包括总线310、处理器320、存储器330、输入部件350、输出部件350和通信接口360。
总线310可以包括允许在设备300的部件之间的通信的路径。处理器320可以包括解译和/或执行指令的处理器、微处理器和/或任何处理部件(例如,现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)等)。在一些实现方式中,处理器320可以包括一个或者多个处理器核。存储器330可以包括存储用于由处理器320使用的信息和/或指令的随机存取存储器(“RAM”)、只读存储器(“ROM”)和/或任何类型的动态或者静态存储设备(例如,闪存、磁存储器、光存储器等)。
输入部件340可以包括允许用户向设备300输入信息的任何部件(例如,键盘、小键盘、鼠标、按钮、开关等)。输出部件350可以包括从设备300输出信息的任何部件(例如,显示器、扬声器、一个或者多个发光二极管(“LED”)等)。
通信接口360可以包括使设备300能够比如经由有线连接、无线连接或者有线连接和无线连接的组合与其它设备和/或系统通信的任何收发器式部件,比如收发器和/或分离接收器和发射器。例如,通信接口360可以包括用于经由网络与另一设备和/或系统通信的部件。附加地或者备选地,通信接口360可以包括逻辑部件,该逻辑部件具有有助于向和/或另一设备传输数据的输入和输出端口、输入和输出系统和/或其它输入和输出部件,比如以太网接口、光接口、同轴接口、红外接口、射频(“RF”)接口、通用串行总线(“USB”)接口等。
设备300可以执行这里描述的各种操作。设备300可以响应于处理器320执行在计算机可读介质(比如存储器330)中包括的软件指令来执行这些操作。计算机可读介质可以被定义为非瞬态存储器设备。存储器设备可以包括在单个物理存储设备内的存储器空间或者跨多个物理存储设备分散的存储器空间。
可以从另一计算机可读介质或者经由通信接口360从另一设备向存储器330中读取软件指令。在被执行时,在存储器330中存储的软件指令可以使处理器320执行这里描述的一个或者多个过程。附加地或者备选地,可以取代软件指令或者与软件指令组合使用硬接线电路以执行这里描述的一个或者多个过程。因此,这里描述的实现方式不限于硬件电路和软件的任何具体组合。
出于说明性目的而提供了图3中所示的部件的数目。在实践中,设备300可以包括除了图3中所示的部件之外的附加部件、更少部件、不同部件或者不同地布置的部件。
图4是用于基于检测到与从客户端设备接收的一个或者多个请求关联的恶意活动而生成挑战-响应测试的示例过程400的流程图。在一些实现方式中,图4的一个或者多个过程块可以由安全设备240执行。在一些实现方式中,图4的一个或者多个过程块可以由从安全设备240分离或者包括安全设备240的另一设备或者一组设备(比如服务器设备230)执行。
如图4中所示,过程400可以包括从客户端设备接收与服务器设备关联的请求(块410)。例如,安全设备240可以从客户端设备210接收与服务器设备230关联的请求。在一些实现方式中,安全设备240可以在客户端设备210经由网络220发送该请求时从客户端设备210接收该请求。在一些实现方式中,安全设备240可以在服务器设备230接收该请求之前接收该请求(例如,安全设备240可以在网络220内被定位于客户端设备210与服务器设备230之间)。
请求可以包括从客户端设备210向服务器设备230发送(例如,经由安全设备240和/或网络220)的消息,该消息标识客户端设备210希望从服务器设备230接收的资源(例如,超文本标记语言(“HTML”)文件、图像文件、视频文件、音频文件等)。在一些实现方式中,该请求可以与特定应用协议(比如超文本传送协议(“HTTP”)、超文本传送协议安全、文件传送协议等)关联。例如,客户端设备210可以发送对于与由服务器设备230主控的网站的网址(例如,统一资源定位符(“URL”))关联的HTML文件的HTTP请求。
在一些实现方式中,该请求可以包括标识客户端设备210的信息(例如,标识客户端设备210的字符串、与客户端设备210关联的网络地址、与客户端设备210关联的端口号等)。附加地或者备选地,该请求可以包括标识服务器设备230的信息(例如,标识服务器设备230的字符串、与服务器设备230关联的网络地址、与服务器设备230关联的端口号、与由服务器设备230主控的网站关联的URL等)。附加地或者备选地,该请求可以包括标识由客户端设备210请求的资源的信息,比如统一资源标识符(“URI”)。
在一些实现方式中,安全设备240可以基于在请求中包括的信息接收该请求。例如,安全设备240可以基于在请求中包括的与服务器设备230关联的网络地址接收该请求(例如,在安全设备240被定位为接收去往服务器设备230的请求时)。作为附加示例,安全设备240可以基于在请求中包括的与网站关联的信息(例如,URL)接收该请求(例如,在安全设备240被配置为接收与网站关联的请求时)。
如图4中进一步所示,过程400可以包括将该请求标识为与恶意活动关联(块420)。例如,安全设备240可以将从客户端设备210接收的请求标识为与恶意活动关联。在一些实现方式中,安全设备240可以在安全设备240从客户端设备210接收请求时(例如,在安全设备240接收该请求之后)将该请求标识为与恶意活动关联。
在一些实现方式中,安全设备240可以基于在请求中包括的信息将该请求标识为与恶意活动关联。例如,安全设备240可以基于标识客户端设备210的信息(例如,网络地址)将该请求标识为与恶意活动关联(例如,在已知客户端设备210以往已经参加了恶意活动时)。附加地或者备选地,安全设备240可以基于与从客户端设备210接收的一个或者多个其它请求有关的活动将该请求为与恶意活动关联。例如,安全设备240可以从客户端设备210接收可以指示不希望的脚本式(scripted)活动(例如,蜘蛛化(spidering)、刮削(scraping)等)的请求的数量(例如,与网站上的若干网页关联的请求的数量)。作为附加示例,安全设备240可以基于接收满足阈值请求数量的请求数量将该请求标识为与恶意活动关联(例如,在接收的请求的数量超过阈值请求数量时,安全设备240可以将该请求标识为与恶意活动关联等)。作为另一示例,安全设备240可以基于在特定阈值时间量内接收某个数量的请求来将该请求标识为与恶意活动关联(例如,在阈值时间量内接收该数量的请求时,安全设备240可以将该请求标识为与恶意活动关联等)。
在一些实现方式中,安全设备240可以基于接收具有已知攻击签名的请求来将该请求标识为与恶意活动关联(例如,安全设备240可以存储标识已知攻击签名的信息并且可以基于请求的内容识别攻击签名)。在一些实现方式中,安全设备240可以基于与一个或者多个先前请求关联的信息(例如,由安全设备240和/或服务器设备230存储的服务器日志,该服务器日志指示该请求可以与恶意活动关联)将该请求标识为与恶意活动关联。
在一些实现方式中,安全设备240可以基于由安全设备240确定的、该请求与恶意活动关联的概率将该请求标识为与恶意活动关联。例如,安全设备240可以(例如,基于与请求关联的信息、基于与客户端设备210关联的信息、基于与从客户端设备210接收的另一请求关联的信息等)确定与请求关联的分数,并且该分数可以反映该请求与恶意活动关联的概率。在这一示例中,如果分数满足阈值,则安全设备240可以将该请求标识为与恶意活动关联。反之,如果分数不满足阈值,则安全设备240可以不将该请求标识为与恶意活动关联。
在一些实现方式中,安全设备240可以存储基于将该请求标识为与恶意活动关联的信息,比如标识客户端设备210的信息(例如,网络地址等)、与请求关联的用来将该请求标识为与恶意活动关联的信息(例如,接收该请求的日期、接收该请求的时间等)等。在一些实现方式中,安全设备240可以在安全设备240将该请求标识为与恶意活动关联时不向服务器设备230转发该请求(例如,安全设备240将停止向服务器设备230发送该请求)。
如图4中进一步所示,过程400可以包括基于将该请求标识为与恶意活动关联而生成挑战-响应测试(块430)。例如,安全设备240可以基于将从客户端设备210接收的请求标识为与恶意活动关联而生成挑战-响应测试(例如,CAPTCHA)。在一些实现方式中,安全设备240可以在安全设备240将该请求标识为与恶意活动关联时生成挑战-响应测试。附加地或者备选地,安全设备240可以在安全设备240从另一设备(例如,服务器设备230)接收指示安全设备240可以生成挑战-响应测试的信息时生成挑战-响应测试。
挑战-响应测试可以包括如下认证类型,其中一方(例如,安全设备240)呈现问题(例如,“挑战”)并且需要另一方(例如,客户端设备210)提供待认证的有效求解(例如,“响应”)。不可求解的挑战-响应测试可以包括不具有正确求解的挑战-响应测试和/或其中客户端设备210可以不能提供正确求解(例如,在正确求解包括不可以使用标准键盘来键入的字符时,等等)的挑战-响应测试。
在一些实现方式中,安全设备240可以生成形式为CAPTCHA的挑战-响应测试。在一些实现方式中,安全设备240可以使用被配置为防止OCR工具确定对CAPTCHA的正确求解的一个或者多个构造技术而生成CAPTCHA。附加地或者备选地,安全设备240可以生成CAPTCHA,从而使得向(例如,客户端设备210的)用户显示的与CAPTCHA关联的图像指示与可以由OCR工具确定的求解不同的求解(例如,正确求解)。
构造技术可以包括其中CAPTCHA由安全设备240生成的方式。例如,安全设备240可以通过叠加多个图像以创建复合CAPTCHA来构造CAPTCHA。在这一示例中,多个图像中的每个图像可以仅包含CAPTCHA的一部分,并且每个图像的下层部分可以具有错误CAPTCHA信息的一部分(例如,错误CAPTCHA可以对查看复合CAPTCHA的用户不可见,但是错误CAPTCHA信息可以被尝试求解CAPTCHA的OCR工具检测到)。
作为附加示例,安全设备240可以通过使用两个或者更多个图像创建动画来构造CAPTCHA(例如,每个图像可以仅包括CAPTCHA的部分,每个图像可以仅包括像素的与CAPTCHA关联的一部分,等等)。在这一示例中,可以在特定时间仅显示CAPTCHA的一部分(例如,从而使得拍摄CAPTCHA的屏幕截图的OCR工具将仅检测到CAPTCHA的正被显示的部分),但是与CAPTCHA关联的动画速度可以充分地快以允许CAPTCHA(例如,向用户)表现为恒定图像。
作为附加示例,安全设备240可以通过生成具有某个数量的字符(例如,10个字母、数、符号等)的CAPTCHA并且仅向用户显示该数量的字符的子集(例如,6个字母、数、符号等)来构造CAPTCHA。在这一示例中,在CAPTCHA中包括的字符的子集(例如,该子集标识正确求解)可以对用户可见,而OCR工具可以检测到全数量的字符(例如,并且提供包含全数量的字符的不正确求解)。
作为附加示例,安全设备240可以通过叠加第一CAPTCHA与可以使用样式表语言(例如,层叠样式表(“CSS”))而被隐藏的第二CAPTCHA(例如,假冒CAPTCHA)来构造CAPTCHA。在这一示例中,样式表语言可以在OCR工具尝试求解CAPTCHA时(例如,在OCR工具尝试拍摄CAPTCHA的屏幕截图时、在OCR工具尝试保存CAPTCHA时,等等)使第二CAPTCHA被显示。在这一示例中,第二CAPTCHA将包含不正确求解(例如,OCR工具将使不正确求解被提交)。
作为附加示例,安全设备240可以使用可以由客户端设备210正确地组装(例如,使用HTML和CSS)的多个图像来构造CAPTCHA。在这一示例中,将需要OCR脚本在确定对CAPTCHA的求解(例如,包括在多个图像中的单个图像中包括的字符的求解可以指示OCR工具用来确定该求解)之前按恰当顺序组装多个图像。
作为附加示例,安全设备240可以使用多个图像格式(例如,使用可伸缩矢量图形、使用脚本式画布等)来构造CAPTCHA。在这一示例中,可以使用第一图像格式而生成CAPTCHA的第一部分,可以使用第二图像格式而生成CAPTCHA的第二部分,等等。尝试确定对CAPTCHA的求解的OCR工具可以不能解析和组装多个图像格式(例如,OCR工具可以不能确定对CAPTCHA的求解)。
作为附加示例,安全设备240可以通过在第二CAPTCHA以内嵌入第一CAPTCHA来构造CAPTCHA。在这一示例中,第一CAPTCHA可以在第二CAPTCHA内表现为水印。第一CAPTCHA可以包括比第二CAPTCHA更多的定义的边缘(例如,与在第一CAPTCHA中包括的字符关联的边缘),但是可以被显示给用户,从而使得用户可以确定第一CAPTCHA不是对CAPTCHA的求解(例如,第一CAPTCHA可以向用户表现为噪声)。第二CAPTCHA可以具有比第一CAPTCHA更少的定义的边缘,但是可以被显示给用户,从而使得该用户可以确定第二CAPTCHA是对CAPTCHA的求解(例如,尝试求解CAPTCHA的OCR工具可以基于更少的定义的边缘确定第二CAPTCHA不是对CAPTCHA的求解并且可以提交与第一CAPTCHA关联的字符)。
作为附加示例,安全设备240可以使用编程语言(例如,Javascript)以向在不完整CAPTCHA图像中包括的空白区域中叠加字符来构造CAPTCHA。在这一示例中,叠加的字符可以代表在对CAPTCHA的求解中包括的字符,但是叠加的字符可以仅在运行时间被添加到图像(例如,使用与CAPTCHA关联的HTML文件以标识CAPTCHA图像的URL来确定对CAPTCHA的求解的OCR工具将标识不完整CAPTCHA)。仅由在不完整CAPTCHA中包括的字符构成的求解可以指示OCR工具用来确定该求解。
作为附加示例,安全设备240可以通过显示包括第一帧(例如,假冒CAPTCHA)和第二帧(例如,实际CAPTCHA)的动画的CAPTCHA来构造CAPTCHA。在这一示例中,第一帧可以被充分地失真和显示短时间段(例如,被第二帧跟随),从而使得用户可以不能基于第一帧求解CAPTCHA,并且用户可以提交与第二帧(例如,实际CAPTCHA)关联的求解。然而,尝试确定对CAPTCHA的求解的OCR工具可以基于第一帧(例如,假冒CAPTCHA)确定求解。
作为附加示例,安全设备240可以通过创建一系列相同CAPTCHA来构造CAPTCHA,其中整个CAPTCHA的仅一部分在该一系列的每个CAPTCHA中可见(例如C,APTCHA的剩余部分可以被黑化)。在这一示例中,在该一系列CAPTCHA中的每个CAPTCHA将留下不同部分可见,从而使得整个CAPTCHA可以由该一系列相同CAPTCHA提供。用户可以查看CAPTCHA的每个部分(例如,通过在CAPTCHA的每个部分之上悬停鼠标以揭示每个部分),但是OCR工具可以不能获得整个CAPTCHA(例如,通过使用该一系列CAPTCHA中的每个CAPTCHA来拍摄屏幕截图)。
作为附加示例,安全设备240可以通过包括两个不同颜色的字符并且向与颜色之一匹配的CAPTCHA上叠加透明层来构造CAPTCHA。在这一示例中,仅未被该叠加使用的颜色的字符将对用户可见(例如,包括被匹配的叠加颜色隐藏的字符的提交指示OCR工具用来生成该条件)。
作为附加示例,安全设备240可以通过生成两级CAPTCHA来构造CAPTCHA。在这一示例中,CAPTCHA的第一级可以被设计为增加CAPTCHA求解软件(例如,OCR工具)的复杂性。例如,CAPTCHA的第一级可以包括交互游戏(例如,可能需要用户点击和从第一位置向第二位置拖动球)。CAPTCHA的第二级可以仅在客户端设备210已经完成了CAPTCHA的第一级时出现。作为结果,OCR工具可以不能确定对CAPTCHA的求解(例如,其中OCR工具未被设计为完成CAPTCHA的第一级并且不能到达CAPTCHA的第二级)。
作为附加示例,安全设备240可以通过呈现多个CAPTCHA并且要求客户端设备210求解与具体背景图像关联的CAPTCHA来构造CAPTCHA。在这一示例中,可以显示各自与不同背景关联的两个或者更多个CAPTCHA,并且可以要求客户端设备210求解与具体背景关联的CAPTCHA。与关联于不正确背景图像的CAPTCHA中的一个或者多个CAPTCHA关联的提交可以指示OCR工具用来生成求解。
作为附加示例,安全设备240可以通过包括与实际单词(例如,“imitation”)类似的以与用户关联的母语书写的更改的单词(例如,“imitaiton”)来构造CAPTCHA。更改的单词可以被显示给用户短暂时间段(例如,1秒),并且可以要求用户键入单词。在这一示例中,用户可以录入实际单词(例如,由于更改的单词仅被显示1秒,所以用户可以将更改的单词解译为实际单词),而OCR工具可以提交更改的单词作为对CAPTCHA的求解。
作为附加示例,安全设备240可以构造将由用户录入的字符转换成另一字符(例如使用静态映射技术)的CAPTCHA。在这一示例中,用户可以键入可以在CAPTCHA中可见的一组第一字符(例如,“ABCD”),但是静态映射技术可以使第一组字符改变成第二组字符(例如,“WXYA”)。在这一情况下,对CAPTCHA的正确求解可以是第二组字符。然而,尝试确定对CAPTCHA的求解的OCR工具可以提交第一组字符(例如,因为OCR工具将不应用映射技术)并且可以提供对CAPTCHA的不正确求解。包括第一组字符的求解可以指示OCR工具用来生成该求解。
作为附加示例,安全设备240可以通过修改录入CAPTCHA求解的要求来构造CAPTCHA。例如,CAPTCHA可以指令(例如,通过显示文字)用户提交与具体属性关联的字符(例如,通过指令用户仅提交特定颜色的字符、通过指令用户提交每个其它字符、通过指令用户大写所有元音等)。以这一方式,OCR工具可以不能正确地确定对CAPTCHA的求解(例如,因为OCR工具可以不能解译指令)。
在一些实现方式中,安全设备240可以用另一方式生成CAPTCHA(例如,列举的构造技术并未穷举所有可能的构造技术)。在一些实现方式中,安全设备240可以存储与一个或者多个构造技术关联的信息(例如,安全设备240可以存储可能的构造技术的数据结构)。在一些实现方式中,安全设备240可以使用一个或者多个构造技术而生成CAPTCHA。附加地或者备选地,安全设备240可以随机地选择将用来生成CAPTCHA的一个或者多个构造技术。
在一些实现方式中,安全设备240可以基于与客户端设备210关联的信息选择一个或者多个构造技术。例如,安全设备240可以存储指示客户端设备210先前已经参加了恶意活动的信息,并且安全设备240可以相应地选择一个或者多个构造技术(以例如增加CAPTCHA的复杂性、向生成CAPTCHA的方式添加随机性等)。
在一些实现方式中,可以实施以上描述的构造技术以保护图像(例如,在与服务器设备230关联的网站上显示的图像)免于被(例如,客户端设备210)刮削和/或保存。例如,以上构造技术中的一个或者多个构造技术可以允许服务器设备230向用户显示图像(例如,在用户可以从网站购买图像时),而防止用户在没有来自服务器设备230的允许的情况下保存图像(例如,通过刮削图像、通过拍摄图像的截屏等)。
如图4中进一步所示,过程400可以包括向客户端设备提供挑战-响应(块440)。例如,安全设备240可以向客户端设备210提供挑战-响应测试。在一些实现方式中,安全设备240可以在安全设备240生成挑战-响应测试时向客户端设备210提供挑战-响应测试。附加地或者备选地,安全设备240可以在安全设备240从另一设备(例如,服务器设备230)接收指示安全设备240可以提供挑战-响应测试的信息时向客户端设备210提供挑战-响应测试。在一些实现方式中,安全设备240可以经由网络220向客户端设备210提供挑战-响应测试。
虽然图4示出过程400的示例块,但是在一些实现方式中,过程400包括除了图4中描绘的块之外的附加块、不同块、更少块或者不同地布置的块。附加地或者备选地,可以并行执行过程400的块中的一个或者多个块。
图5A和图5B是与图4中所示的示例过程400有关的示例实现方式500的示图。出于示例实现方式500的目的,假设客户端设备CD1正在运行被配置为向与ShopTime网站关联的服务器设备(例如,ShopTime服务器)发送用于恶意目的(例如,蜘蛛化)的请求的恶意脚本。另外,假设安全设备、ShopTime安全设备被定位为保护ShopTime服务器免于由CD1提供的恶意请求之害。
如图5A中所示,CD1可以运行使CD1发送旨在去往ShopTime服务器的恶意请求的恶意脚本。如所示,CD1可以在三秒时间段中发送对于与ShopTime网站关联的四个不同网页(http://www.shoptime.com/pg1、http://www.shoptime.com/pg2、http://www.shoptime.com/pg3和http://www.shoptime.com/pg4)的四个请求(例如,请求1、请求2、请求3和请求4)。如所示,ShopTime安全设备可以向ShopTime服务器转发四个请求(例如,假设ShopTime安全设备尚未标识与CD1关联的恶意活动)。
如进一步所示,假设ShopTime安全设备被配置为基于在十秒时间段期间接收五个或者更多个请求来标识恶意活动。如所示,CD1可以在十秒时间段期间(例如,在请求1之后四秒)发送第五请求(例如,请求5:http://www.shoptime.com/pg5),并且ShopTime安全设备可以确定CD1正在参加恶意活动。如进一步所示,ShopTime安全设备可以确定CAPTCHA将在请求5被发送到ShopTime服务器(以例如确定CD1是否正在由人操作)之前被生成(例如,并且由客户端设备210求解)。
如图5B中所示,ShopTime安全设备可以选择两个构造技术(例如,基于由ShopTime安全设备存储的信息),并且可以生成将向CD1提供的CAPTCHA。如所示,由ShopTime安全设备生成的CAPTCHA可以包括字符串(例如,“aX9k8DY”)、可以包括与被配置为(例如,在字符串中包括的间隙中)显示另一字符(例如,“Q”)的脚本关联的信息并且可以包括标识对CAPTCHA的正确求解(例如,“X9Qk8D”)的加密的信息。如所示,ShopTime安全设备可以向CD1提供CAPTCHA。
如以上指示的那样,提供图5A和图5B仅作为示例。其它示例是可能的并且可以与关于图5A和图5B描述的示例不同。
图6是用于基于将对挑战-响应测试的求解标识为由光学字符识别工具生成来保护服务器设备的示例过程600的流程图。在一些实现方式中,图6的一个或者多个过程块可以由安全设备240执行。在一些实现方式中,图6的一个或者多个过程块可以可以由从安全设备240分离或者包括安全设备240的另一设备或者一组设备(比如服务器设备230)执行。
如图6中所示,过程600可以包括从客户端设备接收对挑战-响应测试的求解(块610)。例如,安全设备240可以接收由客户端设备210提供的对挑战-响应测试(例如,由安全设备240生成的挑战-响应测试)的求解。在一些实现方式中,安全设备240可以在客户端设备210发送该求解时接收该求解。在一些实现方式中,安全设备240可以经由网络220接收响应。
如图6中进一步所示,过程600可以包括确定对挑战-响应测试的求解是否正确(块620)。例如,安全设备240可以确定由客户端设备210提供的对由安全设备240生成的挑战-响应测试的求解是否正确。在一些实现方式中,安全设备240可以在安全设备240从客户端设备210接收该求解时确定该求解是否正确。附加地或者备选地,安全设备240可以在安全设备240从另一设备(例如,服务器设备230)接收指示安全设备240可以确定该求解是否正确的信息时确定该求解是否正确。
在一些实现方式中,安全设备240可以基于由安全设备240存储的信息确定该求解是否正确。例如,安全设备240可以(例如,在与安全设备240关联的存储器位置中)存储标识对挑战-响应测试的求解的信息,并且安全设备240可以确定由客户端设备210提供的求解是否与由安全设备240存储的标识正确求解的信息匹配。
附加地或者备选地,安全设备240可以基于从客户端设备210接收的信息确定该求解是否正确。例如,安全设备240可以从客户端设备210接收该求解,并且该求解可以包括标识对挑战-响应测试的正确求解的信息(例如,加密的信息)(例如,在由安全设备240生成的挑战-响应测试中包括和在由客户端设备210提供的求解中返回加密的信息时)。在这一示例中,安全设备240可以基于从客户端设备210接收的标识正确求解的信息(例如,加密的信息)确定由客户端设备210提供的求解是否正确。
如图6中进一步所示,如果对挑战-响应测试的求解正确(块620-是),则过程600可以包括允许向服务器设备发送来自客户端设备的请求(块630)。例如,安全设备240可以确定对挑战-响应测试的求解正确,并且安全设备240可以允许向服务器设备230发送来自客户端设备210的请求。
在一些实现方式中,安全设备240可以确定该求解正确,并且可以向客户端设备210发送指示该求解正确的通知。附加地或者备选地,安全设备240可以向客户端设备210发送指示客户端设备210可以向服务器设备230发送请求的信息。附加地或者备选地,安全设备240可以发送指示客户端设备210可以向服务器设备230重发先前请求(例如,使CAPTCHA被生成的请求)的信息、可以从客户端设备210接收先前请求并且可以向服务器设备230转发先前请求。
在一些实现方式中,安全设备240可以从客户端设备210接收附加请求、可以将附加请求标识为与恶意活动关联并且可以要求客户端设备210提供对由安全设备240生成的另一挑战-响应测试的求解。以这一方式,安全设备240可以如以上描述的那样继续监视从客户端设备210接收的请求并且可以继续生成挑战-响应测试(例如,CAPTCHA)。
如图6中进一步所示,如果对挑战-响应测试的求解不正确(块620-否),则过程600可以包括将不正确求解为由光学字符识别工具生成(块640)。例如,安全设备240可以将从客户端设备210接收的求解标识为由OCR工具生成。在一些实现方式中,安全设备240可以在安全设备240从客户端设备210接收该求解时将该求解标识为由OCR工具生成。附加地或者备选地,安全设备240可以在安全设备240确定该求解不正确时将该求解标识为由OCR工具生成。附加地或者备选地,安全设备240可以在安全设备240确定(例如,由客户端设备210提交的)第一求解和第二求解不正确之后将该求解标识为由OCR工具生成。例如,安全设备240可以在安全设备240确定第一求解不正确之后允许客户端设备210提交第二求解(例如,用于求解挑战-响应测试的第二尝试)、可以确定第二求解不正确并且可以将第一和/或第二求解标识为由OCR工具生成。
在一些实现方式中,安全设备240可以基于在求解中包括的信息将该求解标识为由OCR工具生成。例如,安全设备240可以确定该求解不正确并且可以确定在求解中包括的字符(例如,可能尚未向用户显示、但是在求解中包括的字符)指示OCR工具用来生成该求解。附加地或者备选地,安全设备240可以基于用来生成挑战-响应测试的构造技术将该求解标识为由OCR工具生成。例如,安全设备240可以使用一个或者多个构造技术而生成CAPTCHA、可以接收对CAPTCHA的不正确求解并且可以基于可以被预计在由OCR工具生成的任何不正确求解中包括的在不正确求解中包括的信息标识不正确求解由OCR工具生成(例如,如以上关于各种构造技术讨论的那样)。
在一些实现方式中,安全设备240可以存储与将不正确求解标识为由OCR工具生成关联的信息。例如,安全设备240可以将不正确求解标识为由OCR工具生成,并且安全设备240可以存储与不正确求解关联的信息(例如,事故报告)(例如,标识客户端设备210的信息、与请求关联的信息、标识用来生成与不正确信息关联的CAPTCHA的构造技术的信息、与恶意活动关联的信息等)。
如图6中进一步所示,过程600可以包括保护服务器设备免于客户端设备之害(块650)。例如,安全设备240可以保护服务器设备230免于客户端设备210之害。在一些实现方式中,安全设备240可以在安全设备240将不正确求解标识为由OCR工具生成时保护服务器设备230。附加地或者备选地,安全设备240可以在安全设备240从另一设备(例如,服务器设备230)接收指示安全设备240可以保护服务器设备230的信息时保护服务器设备230免于客户端设备210之害。
在一些实现方式中,安全设备240可以通过生成和提供另一挑战-响应测试来保护服务器设备230。例如,安全设备240可以将与第一CAPTCHA关联的不正确求解标识为由OCR工具生成、可以从客户端设备210接收另一请求、可以使用一个或者多个构造技术而生成第二CAPTCHA并且可以向客户端设备210提供第二CAPTCHA。作为另一示例,安全设备240可以将与第一CAPTCHA关联的不正确求解标识为由OCR工具生成、可以生成第二CAPTCHA(例如,使用相同或者不同构造技术)并且可以向客户端设备210提供第二CAPTCHA。在这一示例中,安全设备240可以验证对第一CAPTCHA的不正确求解由OCR工具生成(例如,在与第二CAPTCHA关联的不正确求解被安全设备240接收并且被标识为由OCR工具生成时)。
在一些实现方式中,安全设备240可以在从客户端设备210接收第一不正确求解之后通过要求客户端设备210求解多个附加挑战-响应测试来保护服务器设备230免于客户端设备210之害。例如,安全设备可以将与第一CAPTCHA关联的第一不正确求解标识为由OCR工具生成、可以使用一个或者多个不同构造技术(例如,与用而生成第一CAPTCHA的构造技术不同的构造技术)而生成第二CAPTCHA并且可以向客户端设备210提供第二CAPTCHA。安全设备240可以在安全设备240接收与第二CAPTCHA关联的第二求解时生成并且提供第三CAPTCHA(例如,在客户端设备210提供第一不正确求解之后,客户端设备210可以在被允许向服务器设备230发送该请求之前被要求求解第二CAPTCHA和第三CAPTCHA)。
在一些实现方式中,安全设备240可以通过防止客户端设备210与服务器设备230通信来保护服务器设备230免于客户端设备210之害。例如,安全设备240可以将该求解标识为由OCR工具生成,并且安全设备240可以阻止由客户端设备210提供并且旨在去往服务器设备230的请求被发送到服务器设备230(例如,在不生成附加CAPTCHA的情况下)。
附加地或者备选地,安全设备240可以通过限制可以从客户端设备210向服务器设备230发送的请求的数量来保护服务器设备230免于客户端设备210之害。例如,安全设备240可以将该求解标识为由OCR工具生成,并且安全设备240可以确定客户端设备210可以在特定时间段期间向服务器设备230提交有限数量的请求(例如,每分钟一个请求等)。
附加地或者备选地,安全设备240可以基于由安全设备240存储的与服务器设备230关联的信息保护服务器设备230。例如,安全设备240可以存储标识与服务器设备230关联的一个或者多个安全措施的信息(例如,与服务器设备230关联的用户可以提供指示安全设备240可以保护服务器设备230的方式的信息)。
虽然图6示出了过程600的示例块,但是在一些实现方式中,过程600包括除了图6中描绘的块之外的附加块、不同块、更少块或者不同地布置的块。附加地或者备选地,可以并行执行过程600的块中的一个或者多个块。
图7A和图7B是与图6中所示的示例过程600有关的示例实现方式700的示图。出于示例实现方式700的目的,假设ShopTime安全设备已经生成了并且向参加恶意活动的设备CD1提供了CAPTCHA。另外,假设CD1被配置为尝试使用OCR工具来自动地确定对CAPTCHA的求解(例如,在没有用户交互的情况下)。
如图7A中所示,与CAPTCHA关联的实际CAPTCHA信息可以包括与在图像中包括的字符串(例如,“aX9k8DY”)关联的信息、与(例如,使用脚本来)被配置为在图像中包括的字符串中包括的间隙中出现的字符(例如,“Q”)关联的信息和标识对CAPTCHA的求解(“X9Qk8D”)的加密的信息。如进一步所示,CD1可以显示CAPTCHA图像。如所示,被显示的CAPTCHA图像可以指示对CAPTCHA的正确求解是“X9Qk8D”(例如,可以在显示CAPTCHA时隐藏“a”和“Y”,可以在“9”与“k”之间显示“Q”)。
如图7A中进一步所示,CD1可以在用于确定对CAPTCHA的求解的尝试中执行OCR工具。如所示,OCR工具可以确定对CAPTCHA的求解是“aX9k8DY”(例如,OCR工具可以读取在图像中包括的整个字符串并且可以不能确定“Q”是该求解的部分)。如进一步所示,CD1可以向ShopTime安全设备提交不正确求解。
如图7B中所示,ShopTime安全设备可以(例如,基于在CAPTCHA中包括的加密的信息)确定由CD1提供的求解不正确。如进一步所示,ShopTime安全设备可以存储标识CAPTCHA的信息,并且可以确定由CD1提供的不正确求解使用OCR工具而被生成(例如,由于提交了包括未经由CD1显示的字符的整个字符串“aX9k8DY”并且由于该求解不包括经由CD1显示的“Q”)。如进一步所示,ShopTime安全设备可以向CD1通知该求解不正确,并且ShopTime安全设备可以通过阻止来自CD1的请求(例如,通过阻止请求5、通过阻止将来请求等)来保护ShopTime服务器设备。
如以上指示的那样,仅提供图7A和图7B作为示例。其它示例是可能的并且可以与关于图7A和图7B描述的示例不同。
这里描述的实现方式可以允许与对应用进行主控的服务器设备关联的安全设备使用旨在于防止OCR工具正确地求解挑战-响应测试的一个或者多个构造技术而生成挑战-响应测试。这里描述的实现方式也可以允许安全设备检测到OCR工具用来提供对挑战-响应测试的不正确求解(例如,并且安全设备可以相应地保护服务器设备)。
前文公开内容提供示例和描述,但是并未旨在于穷举或者使实现方式限于公开的精确形式。例如,尽管这里描述的实现方式涉及在生成挑战-响应测试之前将请求标识为与恶意活动关联,但是也可以用以上描述的方式生成挑战-响应测试而不将该请求标识为与恶意活动关联(例如,可以在客户端设备正在参加敏感事务(比如签注web邮件账户时等等)生成挑战-响应测试)。修改和变化按照以上公开内容是可能的或者可以从实现方式的实践中被获悉。
如这里所用,术语部件旨在于被广义地解释为硬件、固件或者硬件和软件的组合。
这里与阈值结合描述一些实现方式。如这里用来描述值与阈值的关系的术语“大于”(或者相似术语)可以与术语“大于或者等于”(或者相似术语)可互换地使用。相似地,如这里用来描述值与阈值的关系的术语“小于”(或者相似术语)可以与术语“小于或者等于”(或者相似术语)可互换地使用。如这里所用,“满足”阈值(或者相似术语)可以与“大于阈值”、“大于或者等于阈值”、“小于阈值”、“小于或者等于阈值”或者其它相似术语可互换地使用。
将清楚,可以在图中所示实现方式中在许多不同形式的软件、固件和硬件中实施如这里描述的系统和/或方法。用来实施这些系统和/或方法的实际硬件代码或者专门化的控制硬件并不限制实现方式。因此,描述系统和/或方法的操作和行为而未参照具体软件代码——理解软件和控制硬件可以被设计为基于这里的描述实施系统和/或方法。
即使在权利要求中记载和/或在说明书中公开了特定特征组合,这些组合也并未旨在于限制可能的实现方式的公开内容。事实上,可以用并未具体地在权利要求中记载和/或在说明书中公开的方式组合这些特征中的许多特征。虽然所附列举的每个从属权利要求可以直接地从属于仅一个权利要求,但是可能的实现方式的公开内容与在该套权利要求中的每个其它权利要求组合地包括每个从属权利要求。
除非被明确地这样描述,否则不应将这里使用的单元、动作或者指令解释为关键或者必需。也如这里所用,冠词“一个/一种”并未旨在于包括一个或者多个项目并且可以与“一个或者多个”可互换地使用。在仅旨在于一个项目时,使用术语“一个”或者相似措词。另外,短语“基于”除非另有明示否则旨在于意味着“至少部分基于”。
Claims (20)
1.一种安全设备,包括:
用于接收来自客户端设备并且旨在去往服务器设备的请求的装置;
用于将所述请求标识为与恶意活动关联的装置,
所述恶意活动包括指向所述服务器设备的一个或者多个不希望的任务;
用于基于将所述请求标识为与所述恶意活动关联而生成挑战-响应测试的装置,
所述挑战-响应测试使用一个或者多个构造技术而被生成;
用于向所述客户端设备提供所述挑战-响应测试的装置;
用于从所述客户端设备接收对所述挑战-响应测试的提出的求解的装置;
用于将由所述客户端设备提供的所述提出的求解标识为使用光学字符识别(OCR)程序而被生成的装置;以及
用于基于将所述求解标识为使用OCR程序而被生成来保护所述服务器设备免于所述客户端设备之害的装置。
2.根据权利要求1所述的安全设备,还包括:
用于从多个构造技术随机地选择构造技术的装置;以及
其中用于生成所述挑战-响应测试的所述装置包括:
用于使用随机地选择的所述构造技术而生成所述挑战-响应测试的装置。
3.根据权利要求1所述的安全设备,其中用于生成所述挑战-响应测试的所述装置包括:
用于生成所述挑战-响应测试从而使得对所述挑战-响应测试的正确求解被显示给与所述客户端设备关联的用户的装置;以及
用于生成所述挑战-响应测试从而使得对所述挑战-响应测试的不正确求解由尝试求解所述挑战-响应测试的所述OCR程序确定的装置。
4.根据权利要求1所述的安全设备,还包括:
用于从多个构造技术选择一组构造技术的装置;以及
其中用于生成所述挑战-响应测试的所述装置包括:
用于使用选择的所述一组构造技术而生成所述挑战-响应测试的装置。
5.根据权利要求1所述的安全设备,其中用于生成所述挑战-响应测试的所述装置包括:
用于使用使所述OCR程序不能确定对所述挑战-响应测试的正确求解的所述一个或者多个构造技术而生成所述挑战-响应测试的装置。
6.根据权利要求1所述的安全设备,还包括:
用于确定对所述挑战-响应测试的正确求解的装置;
用于确定所述提出的求解与所述正确求解不匹配的装置;以及
其中用于将所述提出的求解标识为使用所述OCR程序而被生成的所述装置包括:
用于基于确定所述提出的求解与所述正确求解不匹配来将所述提出的求解标识为使用所述OCR程序而被生成的装置。
7.根据权利要求1所述的安全设备,其中用于将所述提出的求解标识为使用所述OCR程序而被生成的所述装置包括:
用于确定不正确求解的装置,所述不正确求解指示所述OCR程序用来生成所述不正确求解;以及
用于比较所述不正确求解与从所述客户端设备接收的所述提出的求解的装置。
8.一种系统,包括:
用于从客户端设备接收对于由服务器设备存储的信息的请求的装置;
用于确定所述请求指示恶意活动的装置,
所述恶意活动与指向所述服务器设备的不希望的任务的执行关联;
用于基于确定所述请求指示所述恶意活动来构造用于分辨计算机和人的全自动化公开图灵测试(CAPTCHA)的装置,
所述CAPTCHA使用至少一个构造技术而被构造;
用于向所述客户端设备发送所述CAPTCHA的装置;
用于从所述客户端设备接收对所述CAPTCHA的求解的装置;
用于确定所述求解由光学字符识别(OCR)工具生成的装置;以及
用于基于确定所述求解由所述OCR工具生成来保护所述服务器设备免于所述客户端设备之害的装置。
9.根据权利要求8所述的系统,还包括:
用于从多个构造技术随机地选择构造技术的装置;以及
其中用于构造所述CAPTCHA的所述装置包括:
用于使用随机地选择的所述构造技术来构造所述CAPTCHA的装置。
10.根据权利要求8所述的系统,其中用于构造所述CAPTCHA的所述装置包括:
用于构造所述CAPTCHA从而使得对所述CAPTCHA的正确求解被显示给与所述客户端设备关联的用户的装置;以及
用于构造所述CAPTCHA从而使得对所述CAPTCHA的不正确求解由尝试求解所述CAPTCHA的所述OCR工具确定的装置。
11.根据权利要求8所述的系统,还包括:
用于从多个构造技术选择一组构造技术的装置;以及
其中用于构造所述CAPTCHA的所述装置包括:
用于使用选择的所述一组构造技术来构造所述CAPTCHA的装置。
12.根据权利要求8所述的系统,其中用于构造所述CAPTCHA的所述装置包括:
用于使用使所述OCR工具不能确定对所述CAPTCHA的正确求解的至少一个构造技术来构造所述CAPTCHA的装置。
13.根据权利要求8所述的系统,还包括:
用于确定对所述CAPTCHA的正确求解的装置;
用于确定从所述客户端设备接收的所述求解与所述正确求解不匹配的装置;以及
其中用于确定所述求解由所述OCR工具生成的所述装置包括:
用于基于确定所述求解与所述正确求解不匹配来确定所述求解由所述OCR工具生成的装置。
14.根据权利要求8所述的系统,其中用于确定所述求解由所述OCR工具生成的所述装置包括:
用于确定不正确求解的装置,所述不正确求解指示所述OCR工具用来生成所述不正确求解;以及
用于比较所述不正确求解与从所述客户端设备接收的所述求解的装置。
15.一种方法,包括:
由安全设备接收用于提供与服务器设备关联的信息的请求;
由所述安全设备将所述请求标识为与指向所述服务器设备的不希望的任务;
由所述安全设备使用一组构造技术而生成挑战-响应测试,
所述一组构造技术中的每个构造技术被配置为防止光学字符识别(OCR)脚本生成对所述挑战-响应测试的正确求解;
由所述安全设备向客户端设备提供所述挑战-响应测试;
由所述安全设备接收对所述挑战-响应测试的提交的求解;
由所述安全设备标识所述提交的求解使用OCR脚本而被确定;以及
由所述安全设备基于标识所述提交的求解使用所述OCR脚本而被确定来保护所述服务器设备。
16.根据权利要求15所述的方法,还包括:
从多个构造技术随机地选择所述一组构造技术;以及
其中生成所述挑战-响应测试还包括:
使用随机选择的所述一组构造技术来生成挑战-响应测试。
17.根据权利要求15所述的方法,其中生成所述挑战-响应测试还包括:
生成所述挑战-响应测试从而使得对所述挑战-响应测试的正确求解被显示给与所述客户端设备关联的用户;以及
生成所述挑战-响应测试从而使得对所述挑战-响应测试的不正确求解由尝试求解所述挑战-响应测试的所述OCR脚本确定。
18.根据权利要求15所述的方法,其中生成所述挑战-响应测试还包括:
使用使所述OCR脚本不能确定对所述挑战-响应测试的正确求解的所述一组构造技术来生成所述挑战-响应测试。
19.根据权利要求15所述的方法,还包括:
确定对所述挑战-响应测试的正确求解;
确定所述提交的求解与所述正确求解不匹配;以及
其中标识所述提交的求解使用所述OCR脚本而被确定还包括:
基于确定所述提交的求解与所述正确求解不匹配来标识所述提交的求解使用所述OCR脚本而被确定。
20.根据权利要求15所述的方法,其中标识所述提交的求解使用所述OCR脚本而被确定还包括:
确定不正确求解,所述不正确求解指示所述OCR脚本用来确定所述不正确求解;以及
比较所述不正确求解与从所述客户端设备接收的所述提交的求解。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/147,187 | 2014-01-03 | ||
US14/147,187 US9223997B2 (en) | 2014-01-03 | 2014-01-03 | Detecting and breaking CAPTCHA automation scripts and preventing image scraping |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104766001A true CN104766001A (zh) | 2015-07-08 |
Family
ID=52338924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510002261.1A Pending CN104766001A (zh) | 2014-01-03 | 2015-01-04 | 检测和破坏captcha自动化脚本以及防止图像刮削 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9223997B2 (zh) |
EP (1) | EP2892198B1 (zh) |
CN (1) | CN104766001A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632041A (zh) * | 2017-03-21 | 2018-10-09 | 汤姆逊许可公司 | 用于转发连接的设备和方法 |
CN113033747A (zh) * | 2021-05-26 | 2021-06-25 | 中国工程物理研究院计算机应用研究所 | 一种用于人机识别的图形识别码生成方法 |
US11204987B2 (en) | 2019-11-07 | 2021-12-21 | Nxp B.V. | Method for generating a test for distinguishing humans from computers |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2924049C (en) | 2008-04-01 | 2019-10-29 | 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 |
US9223997B2 (en) | 2014-01-03 | 2015-12-29 | Juniper Networks, Inc. | Detecting and breaking CAPTCHA automation scripts and preventing image scraping |
US9361446B1 (en) * | 2014-03-28 | 2016-06-07 | Amazon Technologies, Inc. | Token based automated agent detection |
US10097583B1 (en) | 2014-03-28 | 2018-10-09 | Amazon Technologies, Inc. | Non-blocking automated agent detection |
US9424414B1 (en) * | 2014-03-28 | 2016-08-23 | Amazon Technologies, Inc. | Inactive non-blocking automated agent detection |
US9338162B2 (en) | 2014-06-13 | 2016-05-10 | International Business Machines Corporation | CAPTCHA challenge incorporating obfuscated characters |
US20160173527A1 (en) * | 2014-12-10 | 2016-06-16 | NxLabs Limited | Method and system for protecting against mobile distributed denial of service attacks |
EP3414695B1 (en) * | 2016-02-12 | 2021-08-11 | Shape Security, Inc. | Reverse proxy computer: deploying countermeasures in response to detecting an autonomous browser executing on a client computer |
US10127373B1 (en) | 2017-05-05 | 2018-11-13 | 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 |
SG11201909789YA (en) * | 2017-05-05 | 2019-11-28 | Mastercard Tech 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 |
US20220300598A1 (en) * | 2018-01-19 | 2022-09-22 | SunStone Information Defense, Inc. | Methods and apparatus for interfering with automated bots using a graphical pointer and page display elements |
KR102010360B1 (ko) * | 2018-10-08 | 2019-08-14 | 넷마블 주식회사 | 색각 이상 판단 장치 및 방법 |
US10496809B1 (en) * | 2019-07-09 | 2019-12-03 | Capital One Services, Llc | Generating a challenge-response for authentication using relations among objects |
US10614207B1 (en) | 2019-07-09 | 2020-04-07 | Capital One Services, Llc | Generating captcha images using variations of the same object |
US20210342441A1 (en) * | 2020-05-01 | 2021-11-04 | Forcepoint, LLC | Progressive Trigger Data and Detection Model |
US12010517B1 (en) * | 2021-05-10 | 2024-06-11 | Zimperium, Inc. | Dynamic detection for mobile device security |
US20230179606A1 (en) * | 2021-12-03 | 2023-06-08 | International Business Machines Corporation | Tracking a potential attacker on an external computer system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615250A (zh) * | 2008-06-16 | 2009-12-30 | 英特尔公司 | 生成包括可识别图像的挑战应答图像 |
WO2010143152A2 (en) * | 2009-06-10 | 2010-12-16 | Site Black Box Ltd | Identifying bots |
CN102257466A (zh) * | 2008-12-19 | 2011-11-23 | 微软公司 | 基于图像的人类交互证明 |
US8490162B1 (en) * | 2011-09-29 | 2013-07-16 | Amazon Technologies, Inc. | System and method for recognizing malicious credential guessing attacks |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601538B2 (en) | 2006-08-22 | 2013-12-03 | Fuji Xerox Co., Ltd. | Motion and interaction based CAPTCHA |
US8631467B2 (en) * | 2006-09-01 | 2014-01-14 | Ebay Inc. | Contextual visual challenge image for user verification |
US20090113294A1 (en) * | 2007-10-30 | 2009-04-30 | Yahoo! Inc. | Progressive captcha |
US9842204B2 (en) * | 2008-04-01 | 2017-12-12 | Nudata Security Inc. | Systems and methods for assessing security risk |
WO2010008722A1 (en) | 2008-06-23 | 2010-01-21 | John Nicholas Gross | Captcha system optimized for distinguishing between humans and machines |
WO2010055159A2 (en) | 2008-11-14 | 2010-05-20 | Lumex As | Completely automatic public turing test to tell computers and humans apart (captcha) based on a multiple of different captcha methods |
US20100192201A1 (en) * | 2009-01-29 | 2010-07-29 | Breach Security, Inc. | Method and Apparatus for Excessive Access Rate Detection |
EP2330529A3 (en) | 2009-08-19 | 2011-06-22 | Deutsche Telekom AG | CAPTCHAs based on visual illusions |
WO2012107879A2 (en) | 2011-02-10 | 2012-08-16 | Site Black Box Ltd. | DISTINGUISH VALID USERS FROM BOTS, OCRs AND THIRD PARTY SOLVERS WHEN PRESENTING CAPTCHA |
US9049244B2 (en) * | 2011-04-19 | 2015-06-02 | Cloudflare, Inc. | Registering for internet-based proxy services |
US8522327B2 (en) | 2011-08-10 | 2013-08-27 | Yahoo! Inc. | Multi-step captcha with serial time-consuming decryption of puzzles |
DE202013100910U1 (de) | 2013-03-01 | 2013-04-09 | Alicius Schröder | CAPTCHA zur Unterscheidung von Computern und Menschen bei der Interaktion von Computern |
US9407661B2 (en) * | 2013-09-30 | 2016-08-02 | Juniper Networks, Inc. | Blocking via an unsolvable CAPTCHA |
US9223997B2 (en) | 2014-01-03 | 2015-12-29 | Juniper Networks, Inc. | Detecting and breaking CAPTCHA automation scripts and preventing image scraping |
-
2014
- 2014-01-03 US US14/147,187 patent/US9223997B2/en active Active
- 2014-12-31 EP EP14200702.0A patent/EP2892198B1/en active Active
-
2015
- 2015-01-04 CN CN201510002261.1A patent/CN104766001A/zh active Pending
- 2015-12-17 US US14/972,552 patent/US9813441B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615250A (zh) * | 2008-06-16 | 2009-12-30 | 英特尔公司 | 生成包括可识别图像的挑战应答图像 |
CN102257466A (zh) * | 2008-12-19 | 2011-11-23 | 微软公司 | 基于图像的人类交互证明 |
WO2010143152A2 (en) * | 2009-06-10 | 2010-12-16 | Site Black Box Ltd | Identifying bots |
US8490162B1 (en) * | 2011-09-29 | 2013-07-16 | Amazon Technologies, Inc. | System and method for recognizing malicious credential guessing attacks |
Non-Patent Citations (1)
Title |
---|
M MEHRA等: "《Mitigating Denial of Service attack using CAPTCHA Mechanism》", 《INTERNATIONAL CONFERENCE AND WORKSHOP ON EMERGING TRENDS IN TECHNOLOGY (ICWET 2011)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632041A (zh) * | 2017-03-21 | 2018-10-09 | 汤姆逊许可公司 | 用于转发连接的设备和方法 |
US11204987B2 (en) | 2019-11-07 | 2021-12-21 | Nxp B.V. | Method for generating a test for distinguishing humans from computers |
CN113033747A (zh) * | 2021-05-26 | 2021-06-25 | 中国工程物理研究院计算机应用研究所 | 一种用于人机识别的图形识别码生成方法 |
CN113033747B (zh) * | 2021-05-26 | 2021-07-27 | 中国工程物理研究院计算机应用研究所 | 一种用于人机识别的图形识别码生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US9223997B2 (en) | 2015-12-29 |
EP2892198B1 (en) | 2018-06-13 |
US20150193631A1 (en) | 2015-07-09 |
US9813441B2 (en) | 2017-11-07 |
EP2892198A1 (en) | 2015-07-08 |
US20160105458A1 (en) | 2016-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104766001A (zh) | 检测和破坏captcha自动化脚本以及防止图像刮削 | |
CN104767613B (zh) | 签名验证方法、装置及系统 | |
JP5723981B2 (ja) | コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するための方法、装置及びコンピュータ・プログラム | |
US20140157382A1 (en) | Observable authentication methods and apparatus | |
Roy et al. | Generating phishing attacks using chatgpt | |
CN103763104B (zh) | 一种动态验证的方法及系统 | |
CN104657639A (zh) | 一种操作系统身份鉴别机制的测试方法和系统 | |
CN107888553A (zh) | 一种验证方法、服务器和系统 | |
Dinh et al. | Recent advances of Captcha security analysis: a short literature review | |
Gutub et al. | Practicality analysis of utilizing text-based CAPTCHA vs. graphic-based CAPTCHA authentication | |
CN111353140B (zh) | 验证码的生成、显示方法、装置和系统 | |
Chiasson | Usable authentication and click-based graphical passwords | |
Dinh et al. | Human-artificial intelligence approaches for secure analysis in CAPTCHA codes | |
Mohamed et al. | On the security and usability of dynamic cognitive game CAPTCHAs | |
Sharevski et al. | Gone quishing: A field study of phishing with malicious qr codes | |
Lee et al. | VRKeyLogger: Virtual keystroke inference attack via eavesdropping controller usage pattern in WebVR | |
JP2020086534A (ja) | ランダムドットパターンcaptchaを用いたアクセス認証方法 | |
US9992193B2 (en) | High-safety user multi-authentication system and method | |
Payal et al. | JigCAPTCHA: An Advanced Image-Based CAPTCHA Integrated with Jigsaw Piece Puzzle using AJAX | |
EP3619890B1 (en) | Systems and methods for distinguishing among human users and software robots | |
Algwil | Click-based Captcha paradigm as a web service | |
JP7077173B2 (ja) | サーバおよび端末 | |
Andriamilanto | Leveraging browser fingerprinting for web authentication | |
CN115987926A (zh) | 基于群组图形码的进群方法和图形码发送方法 | |
Mostafa et al. | New CAPTCHA Approach for Securing Online Social Network and Webpages Using Extended Finite Automata (XFA CAPTCHA) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150708 |
|
RJ01 | Rejection of invention patent application after publication |