IP Library Granted Patent US 10,164,997
Granted Patent B2
US 10,164,997 · App. 15/422,253 · Granted Dec 25, 2018

Security verification by message interception and modification

Inventors: Nima Sharifi Mehr (Vancouver, CA); Christopher Dunn (Seattle, WA); Alexis Floyd (Seattle, WA); David James Kane-Parry (Seattle, WA); Volker Helmut Mosthaf (Seattle, WA); Christopher Gordon Williams (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L63/1433G06Q10/083G06Q20/405H04L9/3268H04L63/0428H04L63/101H04L63/1441H04L63/1483H04L67/10H04L63/08H04L2209/26H04L2209/56
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,164,997
App. No.
15/422,253
Granted
Dec 25, 2018
Kind
B2
Abstract

A first computer is selected for testing. Information sent from a second computer system to the first computer is intercepted. The information is modified to be noncompliant with a communication protocol, thereby producing noncompliant information. A determination is made whether the first computer device has failed to provide a particular response to receipt of the noncompliant information, and an operation is performed based at least in part on the determination.

Claims (67)

1. A computer-implemented method, comprising:

selecting, from a plurality of computer systems in a distributed computing environment, a first computer system for testing; and

asynchronous to other communications of the first computer system:

intercepting information sent from a second computer system to the first computer system;

testing the first computer system by:

modifying, to be noncompliant with a communication protocol, the information to produce noncompliant information; and

making a determination that the first computer system has failed to provide a particular response to the noncompliant information; and

performing an operation based at least in part on the determination.

2. The computer-implemented method of claim 1 , wherein modifying the information includes modifying cryptographic information in the information to produce the noncompliant information.

3. The computer-implemented method of claim 1 , wherein modifying the information includes changing a digital certificate to be an invalid certificate.

4. The computer-implemented method of claim 1 , wherein the operation includes one or more of:

indicating that the first computer system should be audited,

preventing password information from the second computer system from being sent to the first computer system,

requiring additional security confirmations before providing the password information to the first computer system, or

adding the first computer system to a blacklist.

5. The computer-implemented method of claim 1 , wherein:

the second computer system is a server of an electronic commerce entity;

the first computer system is associated with a customer of the electronic commerce entity; and

the operation performed is one or more of:

limiting an amount that the customer is allowed to purchase over a time period,

reducing a number of payment methods available to the customer, or

limiting a number of shipping destinations allowed for the customer.

6. The computer-implemented method of claim 1 , wherein:

the first computer system is a server of an electronic commerce entity;

the second computer system is associated with a customer of the electronic commerce entity; and

the operation performed is one or more of:

limiting an ability of a browser application of the customer to access a web page hosted by the first computer system, or

disabling a control in a web interface hosted by the first computer system.

7. The computer-implemented method of claim 1 , wherein the communication protocol is one of a Transport Layer Security protocol or a Secure Sockets Layer protocol.

8. A system, comprising:

at least one computing device configured to implement one or more services, the one or more services configured to:

select a first computer for testing;

intercept, asynchronously to other communications of the first computer system, information sent from a second computer system to the first computer;

test the first computer by causing the one or more services to:

modify, to be noncompliant with a communication protocol, the information to produce noncompliant information; and

make a determination whether the first computer has failed to provide a particular response to receipt of the noncompliant information; and

perform an operation based at least in part on the determination.

9. The system of claim 8 , wherein the communication protocol is one of a Transport Layer Security protocol or a Secure Sockets Layer protocol.

10. The system of claim 8 , wherein:

the determination indicates that a response provided by the first computer matches the particular response; and

the operation includes adding the first computer to a temporary whitelist.

11. The system of claim 8 , wherein the information:

includes cryptographic information; and

is included in a handshake process to establish a secure communications channel.

12. The system of claim 11 , wherein the one or more services that cause the system to modify the information cause the system to modify the cryptographic information to be invalid.

13. The system of claim 11 , wherein the communication protocol specifies the particular response for determinations of invalid cryptographic information.

14. The system of claim 13 , wherein the one or more services that cause the system to make the determination further cause the system to determine that the first computer failed to implement the particular response.

15. A non-transitory computer-readable storage medium that stores executable instructions which, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

select, for testing, a first computing device of a distributed computing system;

obtain information sent from a second computing device to the first computing device;

test, asynchronously to other communications of the first computer system, the first computing device by causing the computer system to:

modify, to be noncompliant with a communication protocol, the information to produce noncompliant information; and

make a determination whether the first computing device has failed to provide a particular response to receipt of the noncompliant information; and

perform an operation based at least in part on the determination.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the executable instructions that cause the computer system to make the determination include instructions that cause the computer system to:

determine, based at least in part on a communication specification, a proper response to receipt of the noncompliant information; and

determine whether the first computing device responds in accordance with the proper response.

17. The non-transitory computer-readable storage medium of claim 15 , wherein:

the executable instructions comprise a portion of a network firewall application; and

the network firewall application, as a result of being executed by the one or more processors, causes the computer system select the first computing device based at least in part on an attempt by the second computing device to communicate to the first computing device through a firewall.

18. The non-transitory computer-readable storage medium of claim 15 , wherein:

the executable instructions that cause the computer system to test the first computing device further include instructions that cause the computer system to:

provide the noncompliant information to the first computing device; and

obtain a response from the first computing device; and

the executable instructions that cause the computer system to make the determination include instructions that cause the computer system to determine whether the response matches the particular response.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the executable instructions cause the computer system to select the first computing device include instructions that cause the computer system to randomly select the first computing device from a plurality of computing devices of the distributed computing system.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the computer system is the second computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: SHARIFI MEHR, NIMA; DUNN, CHRISTOPHER; FLOYD, ALEXIS; KANE-PARRY, DAVID JAMES; MOSTHAF, VOLKER HELMUT; WILLIAMS, CHRISTOPHER GORDON
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 041150/0206 →
Continuity (2)
Continuation 14490445 · Sep 18, 2014
Related Publication 20170149817A1 · May 25, 2017