IP Library Granted Patent US 10,129,279
Granted Patent B2
US 10,129,279 · App. 15/256,607 · Granted Nov 13, 2018

Systems and methods for detecting and preventing spoofing

Inventors: Christopher Everett Bailey (Langley, CA); Randy Lukashuk (Errington, CA); Gary Wayne Richardson (Port Moody, CA)
Assignee: Mastercard Technologies Canada ULC
H04L63/1425G06F7/08G06F17/3033G06F17/3053G06F17/30598G06F17/30867G06F21/44G06F21/552G06F21/602H04L41/20H04L43/12H04L43/16H04L63/0861H04L63/1408H04L63/1416H04L63/1466H04L63/20H04L67/02H04L67/22H04L67/30H04L67/303G06F2221/033G06F2221/2101G06F2221/2137G06F2221/2145H04L2463/144
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 10,129,279
App. No.
15/256,607
Granted
Nov 13, 2018
Kind
B2
Abstract

Techniques for detecting application program spoofing. The techniques include: receiving a communication from an application program executing on a client device different from the at least one computer; identifying from the communication an asserted identity of the application program; and verifying the asserted identity of the application program at least in part by: interacting with the client device to obtain additional information about the application program, and determining whether the additional information about the application program is consistent with the asserted identity of the application program.

Claims (59)

1. A method, performed by at least one computer, the method comprising:

receiving a communication from an application program executing on a client device different from the at least one computer;

identifying from the communication an asserted identity of the application program;

determining whether the application program has the asserted identity at least in part by:

interacting with the client device to obtain additional information about at least one capability of the application program, the interacting comprising:

transmitting, via at least one network to the client device, a software program that, when executed by the client device, collects the additional information about the at least one capability of the application program at least in part by programmatically testing the application program to determine whether the application program is able to recognize an object; and

receiving, from the client device, the additional information about the at least one capability of the application program; and

determining whether the additional information about the at least one capability of the application program indicates that the application program is able to recognize the object, the determining comprising:

comparing the additional information about the at least one capability of the application program to information about one or more application programs having the asserted identity;

determining whether the application program has the asserted identity based at least in part on whether the application program is able to recognize the object;

granting the client device access to a resource responsive to determining that the application program has the asserted identity; and

denying the client device access to the resource responsive to determining that the application program does not have the asserted identity.

2. The method of claim 1 ,

wherein determining whether the additional information indicates that the application program is able to recognize the object comprises:

obtaining information about the at least one capability of the one or more application programs having the asserted identity; and

comparing the collected information about the at least one capability of the application program with the information about at least one corresponding capability of application programs having the asserted identity.

3. The method of claim 1 , wherein the software program, when executed by the client device, is configured to programmatically test the at least one capability of the application program at least in part by determining whether the application program is able to recognize an object that the one or more application programs having the asserted identity are able to recognize.

4. The method of claim 1 , wherein the software program comprises a JAVASCRIPT program.

5. The method of claim 1 , wherein transmitting the software program to the client device is performed based on the asserted identity of the application program identified in the communication.

6. The method of claim 1 , wherein the asserted identity of the application program comprises an identity of a web browser application program.

7. The method of claim 1 , wherein granting the client device access to the resource comprises granting the client device access to a webpage.

8. The method of claim 1 , wherein granting the client device access to the resource comprises granting the client device access to a service.

9. A system, comprising:

at least one computer;

at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer, causes the at least one computer to perform:

receiving a communication from an application program executing on a client device different from the at least one computer;

identifying from the received communication an asserted identity of the application program;

determining whether the application program has the asserted identity at least in part by:

interacting with the client device to obtain additional information about s at least one capability of the application program, the interacting comprising:

transmitting, via at least one network to the client device, a software program that, when executed by the client device, collects the additional information about the at least one capability of the application program at least in part by programmatically testing the application program to determine whether the application program is able to recognize an object; and

receiving, from the client device, the additional information about the at least one capability of the application program; and

determining whether the additional information about the at least one capability of the application program indicates that the application program is able to recognize the object, the determining comprising:

comparing the additional information about the at least one capability of the application program to information about one or more application programs having the asserted identity;

determining whether the application program has the asserted identity based at least in part on whether the application program is able to recognize the object;

granting the client device access to a resource responsive to determining that the application program has the asserted identity; and

denying the client device access to the resource responsive to determining that the application program does not have the asserted identity.

10. The system of claim 9 ,

wherein determining whether the additional information about the at least one capability of the application program indicates that the application program is able to recognize the object comprises comparing the collected information about the at least one capability of the application program with information about the at least one capability of one or more application programs having the asserted identity.

11. The system of claim 9 , wherein the software program, when executed by the client device, is configured to programmatically test the at least one capability of the application program at least in part by determining whether the application program is able to recognize an object that the one or more application programs having the asserted identity are able to recognize.

12. The system of claim 9 , wherein the software program comprises a JAVASCRIPT program.

13. The system of claim 9 , wherein transmitting the software program to the client device is performed based on the asserted identity of the application program identified in the communication.

14. The system of claim 9 , wherein the asserted identity of the application program comprises an identity of a web browser application program.

15. At least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by at least one computer, causes the at least one computer to perform:

receiving a communication from an application program executing on a client device different from the at least one computer;

identifying from the received communication an asserted identity of the application program; and

determining whether the application program has the asserted identity at least in part by:

interacting with the client device to obtain additional information about at least one capability of the application program, the interacting comprising:

transmitting, via at least one network to the client device, a software program that, when executed by the client device, collects the additional information about the at least one capability of the application program at least in part by programmatically testing the application program to determine whether the application program is able to recognize an object; and

receiving, from the client device, the additional information about the at least one capability of the application program; and

determining whether the additional information indicates that the application program is able to recognize the object, the determining comprising:

comparing the additional information about the at least one capability of the application program to information about one or more application programs having the asserted identity;

determining whether the application program has the asserted identity based at least in part on whether the application program is able to recognize the object;

granting the client device access to a resource responsive to determining that the application program has the asserted identity; and

denying the client device access to the resource responsive to determining that the application program does not have the asserted identity.

16. The at least one non-transitory computer-readable storage medium of claim 15 ,

wherein determining whether the additional information about the at least one capability of the application program indicates that the application program is able to recognize the object comprises comparing the collected information about the at least one capability of the application program with information about the at least one capability of application programs having the asserted identity.

17. The at least one non-transitory computer-readable storage medium of claim 15 , wherein the software program, when executed by the client device, is configured to programmatically test the at least one capability of the application program at least in part by determining whether the application program is able to recognize an object that the one or more application programs having the asserted identity are able to recognize.

18. The at least one non-transitory computer-readable storage medium of claim 15 , wherein transmitting the software program to the client device is performed based on the asserted identity of the application program identified in the communication.

19. The at least one non-transitory computer-readable storage medium of claim 15 , wherein the asserted identity of the application program comprises an identity of a web browser application program.

Assignments (2)
CERTIFICATE OF AMALGAMATION Recorded Apr 23, 2018
From: NUDATA SECURITY INC.
To: MASTERCARD TECHNOLOGIES CANADA ULC
Reel/Frame 045997/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2016
From: BAILEY, CHRISTOPHER EVERETT; LUKASHUK, RANDY; RICHARDSON, GARY WAYNE
To: NUDATA SECURITY INC.
Reel/Frame 040594/0526 →
Continuity (2)
Provisional Application 62214969 · Sep 5, 2015
Related Publication 20170070517A1 · Mar 9, 2017