IP Library Granted Patent US 12,267,327
Granted Patent B2
US 12,267,327 · App. 17/892,207 · Granted Apr 1, 2025

Methods and systems for IP-based network intrusion detection and prevention

Inventors: Bradley Scott Will (Marriottsville, MD); Michael John Serafino (Omaha, NE)
Assignee: CHARLES SCHWAB & CO., INC.
H04L63/101H04L63/0876H04L63/108
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 12,267,327
App. No.
17/892,207
Granted
Apr 1, 2025
Kind
B2
Abstract

An authentication system includes an authentication module maintaining a store of credentials for a set of users. In response to an identity specified by credentials provided from a requestor address not being found in the store of credentials, the authentication module transmits an authentication failure response. In response to the provided credentials matching selected credentials, the authentication module transmits an authentication success response. The authentication system includes an analyzer module configured to determine a number of identity-not-found failures corresponding to a first address, identify a triggering event in response to the number exceeding a predetermined threshold, and, in response to the triggering event, add the first address to a block list. The authentication system includes a query module configured to, in response to a query for a specified address, determine whether the specified address is present in the block list and, if so, instruct transmission of the authentication failure response.

Claims (60)

1. A system comprising:

at least one processor; and

at least one memory, wherein the memory stores a store of credentials for a set of users, an event cache, and a block list;

the at least one memory configured to, with the at least one processor, cause the system to perform, in response to receiving an authentication request from a requestor address,

determining whether credentials of the authentication request are present in the store of credentials,

transmitting an authentication failure response to the requestor address if the credentials are not present in the store of credentials,

determining whether the requestor address is present in the block list if the credentials are present in the store of credentials,

transmitting an authentication success response to the requestor address if the requestor address is not present in the block list, and

selectively transmitting the authentication success response to the requestor address if the requestor address is present in the block list.

2. The system of claim 1 , wherein the credentials include a username and a hash of a password.

3. The system of claim 2 , wherein the determining whether the credentials of the authentication request are present in the store of credentials comprises:

determining whether the username of the credentials is present in the store of credentials;

recording an identity-not-found failure in the event cache in response to the username not being found in the store of credentials;

determining whether the password of the credentials is present in the store of credentials if the username is present in the store of credentials; and

recording a password failure event in the event cache in response to the password not being found in the store of credentials.

4. The system of claim 3 , wherein the system is further caused to perform:

analyzing the event cache to determine a number of password failure events corresponding to an examined address; and

in response to the number of password failure events exceeding a threshold, adding the examined address to the block list.

5. The system of claim 1 , wherein the system is further caused to perform:

analyzing the event cache to determine a number of identity-not-found failures corresponding to an examined address; and

in response to the number of identity-not-found failures exceeding a threshold, adding the examined address to the block list.

6. The system of claim 5 , wherein the number of identity-not-found failures related to the examined address is restricted to a period of time prior to analyzing the event cache.

7. The system of claim 6 , wherein the threshold and the period of time are configurable by an administrator.

8. The system of claim 7 , wherein the threshold is reduced if the examined address has previously been added to the block list.

9. The system of claim 5 , wherein the system is further caused to perform:

specifying an expiration time when adding the examined address to the block list; and

removing the examined address from the block list in response to the expiration time being reached.

10. The system of claim 1 , wherein the system is further caused to perform:

recording a success event in the event cache in response to the credentials being present in the store of credentials;

analyzing the success events of the event cache to determine a number of unique credentials presented by an address; and

in response to the number of unique credentials presented by an address exceeding a threshold, adding the address to the block list.

11. The system of claim 1 , wherein the selectively transmitting the authentication success response to the requestor address if the requestor address is present in the block list is based on a random number and a reference value.

12. The system of claim 11 , wherein the system is further caused to perform:

transmitting the authentication failure response if the random number is less than or equal to the reference value; and

transmitting the authentication success response if the random number is greater than the reference value.

13. The system of claim 1 , wherein the selectively transmitting the authentication success response to the requestor address if the requestor address is present in the block list is based on the credentials being present in a canary cache.

14. An authentication method comprising:

maintaining, at memory hardware, a store of credentials for a set of users, an event cache, and a block list;

receiving, with processor hardware, an authentication request from a requestor address;

determining whether credentials of the authentication request are present in the store of credentials;

transmitting an authentication failure response to the requestor address if the credentials are not present in the store of credentials;

determining whether the requestor address is present in the block list if the credentials are present in the store of credentials;

transmitting an authentication success response to the requestor address if the requestor address is not present in the block list; and

selectively transmitting the authentication success response to the requestor address if the requestor address is present in the block list.

15. The authentication method of claim 14 , wherein the determining whether the credentials of the authentication request are present in the store of credentials comprises:

determining whether a username of the credentials is present in the store of credentials;

recording an identity-not-found failure in the event cache in response to the username not being found in the store of credentials;

determining whether a password of the credentials is present in the store of credentials if the username is present in the store of credentials; and

recording a password failure event in the event cache in response to the password not being found in the store of credentials.

16. The authentication method of claim 14 , further comprising:

analyzing the event cache to determine a number of password failure events corresponding to an examined address; and

in response to the number of password failure events exceeding a threshold, adding the examined address to the block list.

17. The authentication method of claim 14 , further comprising:

analyzing the event cache to determine a number of identity-not-found failures corresponding to an examined address; and

in response to the number of identity-not-found failures exceeding a threshold, adding the examined address to the block list.

18. The authentication method of claim 14 , wherein the selectively transmitting the authentication success response to the requestor address if the requestor address is present in the block list is based on a random number and a reference value.

19. The authentication method of claim 18 , further comprising:

transmitting the authentication failure response if the random number is less than or equal to the reference value; and

transmitting the authentication success response if the random number is greater than the reference value.

20. The authentication method of claim 14 , wherein the selectively transmitting the authentication success response to the requestor address if the requestor address is present in the block list is based on the credentials being present in a canary cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2023
From: TD AMERITRADE IP COMPANY, INC.
To: CHARLES SCHWAB & CO., INC.
Reel/Frame 064807/0936 →
Continuity (2)
Continuation 16589028 · Sep 30, 2019
Related Publication 20220407858A1 · Dec 22, 2022
References Cited (13)
US 7342906B1 · Calhoun · 2008 [cited by examiner]
US 10015153B1 · Dotan · 2018 [cited by examiner]
US 10225406B1 · Avital · 2019 [cited by examiner]
US 20060094403A1 · Norefors · 2006 [cited by examiner]
US 20080295169A1 · Crume · 2008 [cited by examiner]
US 20120036560A1 · Wang · 2012 [cited by examiner]
US 20150181021A1 · Fry et al. · 2015 [cited by applicant]
US 20150288715A1 · Hotchkiss · 2015 [cited by applicant]
US 20180278584A1 · Kuperman · 2018 [cited by examiner]
US 20190166128A1 · Kurian et al. · 2019 [cited by applicant]
US 20190253451A1 · Maxwell et al. · 2019 [cited by applicant]
US 20200213334A1 · Kutner · 2020 [cited by applicant]
WO WO2016058631A1 · 2016 [cited by applicant]