IP Library Granted Patent US 11,386,193
Granted Patent B2
US 11,386,193 · App. 16/828,520 · Granted Jul 12, 2022

Framework to design completely automated reverse Turing tests

Inventors: Falaah Arif Khan (Hyderabad, IN); Hari Surender Sharma (Bangalore, IN)
Assignee: Dell Products L.P.
G06F21/36G06F21/45G06F2221/2133
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,386,193
App. No.
16/828,520
Granted
Jul 12, 2022
Kind
B2
Abstract

Various systems and methods are provided for defining a CAPTCHA generator that is configured to generate CAPTCHA challenges by using at least a first parameter and a first plurality of values associated with the first parameter; defining an adversary program, where the adversary program is configured to automatically attempt to solve the CAPTCHA challenges; performing a first feedback loop that includes generating a first plurality of CAPTCHA challenges, receiving feedback from a group of human users and feedback from the adversary program; and using the feedback received from the human user and the feedback received from the adversary program to modify a weight associated with a first value among the plurality of values in order to generate future CAPTCHA challenges that create less inconvenience for human users but which are more difficult for adversary programs.

Claims (96)

1. A method comprising:

defining a CAPTCHA generator, wherein

a CAPTCHA is a Completely Automated Public Turing tests to tell Computers and Humans Apart, and

the CAPTCHA generator is configured to generate CAPTCHA challenges by using at least a first parameter and a first plurality of values associated with the first parameter;

defining an adversary program, wherein

the adversary program is configured to automatically attempt to solve the CAPTCHA challenges;

performing a first feedback loop comprising:

generating a first plurality of CAPTCHA challenges,

receiving feedback from a group of human users with respect to a first subset of the first plurality of CAPTCHA challenges, and

receiving feedback from the adversary program with respect to a second subset of the first plurality of CAPTCHA challenges; and

modifying a weight associated with a first value among the plurality of values, to determine a modified weight associated with the first value, wherein

the modified weight changes how often the associated value will be used in generating a subsequent plurality of CAPTCHA challenges,

the modifying is based, at least in part, on the feedback from the group of human users and the feedback from the adversary program, and

the modifying is configured to accomplish at least one of:

increasing a first success rate associated with human users solving the CAPTCHA challenges, and

decreasing a second success rate associated with the adversary program solving the CAPTCHA challenges.

2. The method of claim 1 , wherein

each CAPTCHA challenge of the plurality of CAPTCHA challenges is generated, at least in part, by randomly selecting a value from among the first plurality of values.

3. The method of claim 1 , further comprising:

subsequent to the modifying, performing a second feedback loop, wherein

the second feedback loop comprises generating a second plurality of CAPTCHA challenges, and

the second plurality of CAPTCHA challenges are generated, at least in part, by using the modified weight to determine how often the associated value is used in generating the second plurality of CAPTCHA challenges.

4. The method of claim 1 , wherein

the modifying comprises applying a Bayesian inference to the feedback from the group of human users and the feedback from the adversary program in order to determine the weight.

5. The method of claim 1 , wherein:

the modifying creates a modified distribution of the first plurality of values associated with the first parameter.

6. The method of claim 1 , wherein

the second success rate is measured by determining a first rate at which the adversary program correctly identified individual characters within the CAPTCHA challenges, and a second rate at which the adversary program correctly solved the CAPTCHA challenges.

7. The method of claim 1 , wherein

the modifying results in less inconvenience for human users than was the case prior to the modifying, wherein

inconvenience is measured by determining how often human users refreshed CAPTCHA challenges and how often human users incorrectly responded to CAPTCHA challenges.

8. The method of claim 1 , wherein:

the first parameter, the first plurality of values associated with the first parameter, and the weight associated with the first value are stored in a table, and

the parameterized CAPTCHA generator uses information in the table to generate CAPTCHA challenges.

9. A computing device comprising:

one or more processors; and

one or more non-transitory computer-readable storage media to store instructions executable by the one or more processors to perform operations comprising:

defining a CAPTCHA generator, wherein

a CAPTCHA is a Completely Automated Public Turing tests to tell Computers and Humans Apart, and

the CAPTCHA generator is configured to generate CAPTCHA challenges by using at least a first parameter and a first plurality of values associated with the first parameter;

defining an adversary program, wherein

the adversary program is configured to automatically attempt to solve the CAPTCHA challenges;

performing a first feedback loop comprising:

generating a first plurality of CAPTCHA challenges,

receiving feedback from a group of human users with respect to a first subset of the first plurality of CAPTCHA challenges, and

receiving feedback from the adversary program with respect to a second subset of the first plurality of CAPTCHA challenges; and

modifying a weight associated with a first value among the plurality of values, to determine a modified weight associated with the first value, wherein

the modified weight changes how often the associated value will be used in generating a subsequent plurality of CAPTCHA challenges,

the modifying is based, at least in part, on the feedback from the group of human users and the feedback from the adversary program, and

the modifying is configured to accomplish at least one of:

increasing a first success rate associated with human users solving the CAPTCHA challenges, and

decreasing a second success rate associated with the adversary program solving the CAPTCHA challenges.

10. The computing device of claim 9 , wherein

each CAPTCHA challenge of the plurality of CAPTCHA challenges is generated, at least in part, by randomly selecting a value from among the first plurality of values.

11. The computing device of claim 9 , wherein the operations further comprise:

subsequent to the modifying, performing a second feedback loop, wherein

the second feedback loop comprises generating a second plurality of CAPTCHA challenges, and

the second plurality of CAPTCHA challenges are generated, at least in part, by using the modified weight to determine how often the associated value is used in generating the second plurality of CAPTCHA challenges.

12. The computing device of claim 9 , wherein

the modifying comprises applying a Bayesian inference to the feedback from the group of human users and the feedback from the adversary program in order to determine the weight.

13. The computing device of claim 9 , wherein

the modifying creates a modified distribution of the first plurality of values associated with the first parameter.

14. The computing device of claim 9 , wherein

the second success rate is measured by determining a first rate at which the adversary program correctly identified individual characters within the CAPTCHA challenges, and a second rate at which the adversary program correctly solved the CAPTCHA challenges; and

the modifying results in less inconvenience for human users than was the case prior to the modifying, wherein

inconvenience is measured by determining how often human users refreshed CAPTCHA challenges and how often human users incorrectly responded to CAPTCHA challenges.

15. One or more non-transitory computer-readable storage media to store instructions executable by one or more processors to perform operations comprising:

defining a CAPTCHA generator, wherein

a CAPTCHA is a Completely Automated Public Turing tests to tell Computers and Humans Apart, and

the CAPTCHA generator is configured to generate CAPTCHA challenges by using at least a first parameter and a first plurality of values associated with the first parameter;

defining an adversary program, wherein

the adversary program is configured to automatically attempt to solve the CAPTCHA challenges;

performing a first feedback loop comprising:

generating a first plurality of CAPTCHA challenges,

receiving feedback from a group of human users with respect to a first subset of the first plurality of CAPTCHA challenges, and

receiving feedback from the adversary program with respect to a second subset of the first plurality of CAPTCHA challenges; and

modifying a weight associated with a first value among the plurality of values, to

determine a modified weight associated with the first value, wherein

the modified weight changes how often the associated value will be used in generating a subsequent plurality of CAPTCHA challenges,

the modifying is based, at least in part, on the feedback from the group of human users and the feedback from the adversary program, and

the modifying is configured to accomplish at least one of:

increasing a first success rate associated with human users solving the CAPTCHA challenges, and

decreasing a second success rate associated with the adversary program solving the CAPTCHA challenges.

16. The one or more non-transitory computer-readable storage media of claim 15 , wherein

each CAPTCHA challenge of the plurality of CAPTCHA challenges is generated, at least in part, by randomly selecting a value from among the first plurality of values.

17. The one or more non-transitory computer-readable storage media of claim 15 , wherein

the first parameter, the first plurality of values associated with the first parameter, and the weight associated with the first value are stored in a table, and

the parameterized CAPTCHA generator uses information in the table to generate CAPTCHA challenges.

18. The one or more non-transitory computer-readable storage media of claim 15 , wherein the operations further comprise:

subsequent to the modifying, performing a second feedback loop, wherein

the second feedback loop comprises generating a second plurality of CAPTCHA challenges, and

the second plurality of CAPTCHA challenges are generated, at least in part, by using the modified weight to determine how often the associated value is used in generating the second plurality of CAPTCHA challenges.

19. The one or more non-transitory computer-readable storage media of claim 18 , wherein

the modifying comprises applying a Bayesian inference to the feedback from the group of human users and the feedback from the adversary program in order to determine the weight.

20. The one or more non-transitory computer-readable storage media of claim 19 , wherein

the modifying creates a modified distribution of the first plurality of values associated with the first parameter.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2020
From: ARIF KHAN, FALAAH; SHARMA, HARI SURENDER
To: DELL PRODUCTS L. P.
Reel/Frame 052221/0645 →