IP Library Granted Patent US 10,469,497
Granted Patent B2
US 10,469,497 · App. 15/166,194 · Granted Nov 5, 2019

Identifying accounts having shared credentials

Inventors: Kapil Yedidi (San Francisco, CA); Anton Mityagin (San Francisco, CA); Sean Byrne (San Francisco, CA); Andrew Scheff (San Francisco, CA)
Assignee: Dropbox, Inc.
H04L63/0884H04L63/083H04L63/0876
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,469,497
App. No.
15/166,194
Granted
Nov 5, 2019
Kind
B2
Abstract

Disclosed are systems, methods, and non-transitory computer-readable storage media for identifying accounts having shared credentials. In some implementations, a content management system can collect user login context data when a user logs in to or accesses a user account of the content management system. For example, the content management system can collect client device data, client application data, internet protocol (IP) address data, and/or other data from the user's device when the user logs in to the user account. The content management system can analyze the login context data to determine patterns that indicate that the user account login credentials are being shared among multiple users.

Claims (82)

1. A method comprising:

obtaining, by a content management system, login context data from a user device, the login context data corresponding to a successful log in to a user account managed by the content management system;

creating, by the content management system, a fingerprint for the user device based on characteristics of the user device, the characteristics comprising at least one of device language settings, display settings, accessories connected to the user device, web browser plugins, processor specifications, volatile memory size, non-volatile memory size, and subcomponent identifiers;

storing, by the content management system, the login context data and the fingerprint as records in association with an account identifier corresponding to the user account in a historical login context data repository, the historical login context data repository including a plurality of login context data records, each login context data record corresponding to a login attempt associated with a user account;

in response to the successful log in to the user account, determining, by the content management system, that the user account is being shared among multiple users by:

generating, by the content management system, a first value using a first login metric by analyzing a plurality of login context data records for the user account and the fingerprint of the user device associated with the user account that are stored in the historical login context data repository, the login metric associated with at least one of a browser types metric, a native clients metric, a login session metric, an anonymous proxy metric, or a number of devices metric;

comparing, by the content management system, the first value to a first threshold value corresponding to the first login metric; and

determining, by the content management system, the user account is being shared among multiple users when the first value exceeds the first threshold value; and

blocking, by the content management system, access to the user account.

2. The method of claim 1 , wherein the first metric is a login frequency metric and the first threshold value is a threshold login frequency, and wherein generating the first value using a login frequency metric comprises:

analyzing, by the content management system, the plurality of login context data records for the user account to determine a number of times a user logged in to the user account over a specified threshold time period.

3. The method of claim 1 , wherein the first metric is a browser types metric and the first threshold value is a threshold number of browser types, and wherein generating the first value using a browser types metric comprises:

analyzing, by the content management system, the plurality of login context data records for the user account to determine a number of different browser types used by a user to log in to the user account over a specified threshold period of time.

4. The method of claim 1 , wherein the first metric is a native clients metric and the first threshold value is a threshold number of different client types, and wherein generating the first value using a native clients metric comprises:

analyzing, by the content management system, the plurality of login context data records for the user account to determine a number of different clients used by a user to log in to the user account over a specified threshold period of time.

5. The method of claim 1 , wherein the first metric is a login sessions metric and the first threshold value is a threshold number of sessions, and wherein generating the first value using a login sessions metric comprises:

analyzing, by the content management system, the plurality of login context data records for the user account to determine a number of different sessions used by a user to log in to the user account over a specified threshold period of time.

6. The method of claim 1 , wherein the first metric is an anonymous proxy metric and the first threshold value is a threshold number of anonymous logins, and wherein generating the first value using an anonymous proxy metric comprises:

analyzing, by the content management system, the plurality of login context data records for the user account to determine a number of times a log in to the user account originated from an IP address associated with an anonymous proxy server over a specified threshold period of time.

7. The method of claim 1 , wherein the first metric is a number of devices metric and the first threshold value is a threshold number of client devices, and wherein generating the first value using a number of devices metric comprises:

analyzing, by the content management system, the plurality of login context data records for the user account to determine a number of different client devices used to log in to the user account over a threshold period of time, where the number of different client devices is determined based on a fingerprint generated for each client device used to log in to the user account.

8. A method comprising:

obtaining, by a content management system, login context data from a user device, the login context data corresponding to an attempt to log in to a user account managed by the content management system;

creating, by the content management system, a fingerprint for the user device based on characteristics of the user device, the characteristics comprising at least one of device language settings, display settings, accessories connected to the user device, web browser plugins, processor specifications, volatile memory size, non-volatile memory size, and subcomponent identifiers;

storing, by the content management system, the login context data and the fingerprint in association with an account identifier corresponding to the user account in a historical login context data repository, the historical login context data repository including historical login context data corresponding to a plurality of login attempts associated with the user account;

in response to the successful log in to the user account:

generating, by the content management system, a first value using a first login metric based on the historical login context data for the user account and the fingerprint of the user device associated with the user account that are stored in the historical login context data repository, the login metric associated with at least one of a browser types metric, a native clients metric, a login session metric, an anonymous proxy metric, or a number of devices metric;

comparing, by the content management system, the first value to a first threshold value corresponding to the first login metric; and

in response to determining, by the content management system, based on the comparison that the first value exceeds the first threshold value indicating that the user account is being shared among multiple users, initiating, by the content management system, remedial action for the user account.

9. The method of claim 8 , further comprising:

in response to determining, by the content management system, that the first value does not exceed the first threshold value, generating, by the online content management system, a second value using a second login metric based on the historical login context data for the user account stored in the historical login context data repository;

comparing, by the content management system, the second value to a second threshold value corresponding to the second login metric;

determining, by the content management system, whether the user account is being shared among multiple users based on the comparison of the second value to the second threshold value; and

initiating, by the content management system, remedial action for the user account when the second value exceeds the second threshold value.

10. The method of claim 8 , further comprising:

in response to determining, by the content management system, that the first value does not exceed the first threshold value, generating, by the content management system, a second value using a second login metric based on the historical login context data for the user account stored in the historical login context data repository;

comparing, by the content management system, the first value to a second threshold value corresponding to the first login metric and the second value to a third threshold value corresponding to the second login metric, wherein the second threshold value is less than the first threshold value;

determining, by the content management system, whether the user account is being shared among multiple users based on the comparison of the first value to the second threshold value and the second value to third threshold value; and

initiating, by the content management system, remedial action for the user account when the first value exceeds the second threshold value and the second value exceeds the third threshold value.

11. The method of claim 10 , wherein the first login metric corresponds to a login frequency metric and the second login metric corresponds to a number of browsers metric, and further comprising:

determining, by the content management system, that the user account is being shared among multiple users when the first value corresponding to the login frequency metric is greater than the first threshold value; and

determining, by the content management system, that the user account is being shared among multiple users when the first value corresponding to the login frequency metric is greater than the second threshold value and the second value for the number of browsers metric is greater than the third threshold value.

12. The method of claim 8 , wherein the first login metric corresponds to a number of different devices represented in the historical login context data for the user account, and further comprising:

determining, by the content management system, the number of different devices based on device signatures generated for user devices used to log in to the content management system, where the device signatures are generated based on device configuration data received from the user devices.

13. A non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, causes:

obtaining, by a content management system, login context data from a user device, the login context data corresponding to an attempt to log in to a user account managed by the content management system;

creating, by the content management system, a fingerprint for the user device based on characteristics of the user device, the characteristics comprising at least one of device language settings, display settings, accessories connected to the user device, web browser plugins, processor specifications, volatile memory size, non-volatile memory size, and subcomponent identifiers;

updating, by the content management system, a historical login context data repository based on the login context data, the historical login context data repository including historical login context data corresponding to a plurality of login attempts associated with the user account;

generating, by the content management system, a plurality of login metric values using a plurality of login metrics and the fingerprint associated with the user device based on the historical login context data for the user account stored in the historical login context data repository;

comparing, by the content management system, each of the plurality of login metric values to a respective threshold value;

determining, by the content management system, that the user account is being shared among multiple users based on the comparison; and

initiating remedial action for the user account.

14. The non-transitory computer readable medium of claim 13 , wherein the plurality of login metrics include a first login metric and a second login metric, and wherein the instructions cause:

comparing, by the content management system, the first login metric value to a first threshold value corresponding to the first login metric;

comparing, by the content management system, the second login metric value to a second threshold value corresponding to the second login metric; and

determining, by the content management system, that the user account is being shared among multiple users based on the comparison of the first login metric value to the first threshold value and the comparison of the second login metric value to the second threshold value.

15. The non-transitory computer readable medium of claim 14 , wherein the instructions cause:

determining, by the content management system, that the user account is being shared among multiple users when the first login metric value exceeds the first threshold value.

16. The non-transitory computer readable medium of claim 14 , wherein the instructions cause:

determining, by the content management system, that the user account is being shared among multiple users when the first login metric value is greater than the first threshold value and the second login metric value is greater than the second threshold value.

17. The non-transitory computer readable medium of claim 14 , wherein the plurality of login metrics are selected from the group consisting of: a login frequency metric, a browser types metric, a native clients metric, a login sessions metric, and an anonymous proxy metric.

18. A content management system comprising:

one or more processors; and

a non-transitory computer-readable medium including one or more sequences of instructions that, when executed by the one or more processors, causes the system to:

obtain a historical login context data repository including historical login context data corresponding to a plurality of logins associated with a user account;

create, by the content management system, a fingerprint for the user device based on characteristics of the user device, the characteristics comprising at least one of device language settings, display settings, accessories connected to the user device, web browser plugins, processor specifications, volatile memory size, non-volatile memory size, and subcomponent identifiers;

detect whether the user account is being shared among multiple users by:

generating a login metric value using a login metric based on the historical login context data for the user account and the fingerprint of the user device associated with the user account that are stored in the historical login context data repository, the login metric associated with at least one of a browser types metric, a native clients metric, a login session metric, an anonymous proxy metric, or a number of devices metric;

comparing the login metric value to a threshold value corresponding to the login metric; and

determining the user account is being shared among multiple users when the login metric value exceeds the threshold value: and

initiate remedial action for the user account when the user account is being shared among multiple users.

19. The content management system of claim 18 , wherein the login metric comprises at least one of a login frequency metric, a browser types metric, a native clients metric, a login sessions metric, or an anonymous proxy metric.

20. The content management system of claim 19 , wherein the instructions cause the system to:

obtain login context data from a user device, the login context data corresponding to a log in to a user account managed by the content management system; and

store the login context data in association with an account identifier corresponding to the user account in the historical login context data repository.

21. The content management system of claim 19 , wherein the instructions that cause the system to initiate a remedial action for the user account when the user account is being shared among multiple users include instructions that cause the system to present a notification to the user warning the user against sharing the user account.

22. The content management system of claim 19 , wherein the instructions that cause the system to initiate a remedial action for the user account when the user account is being shared among multiple users include instructions that cause the system to:

present a notification to the user warning the user against sharing the user account;

subsequent to presenting the notification, determine the user account is being shared among multiple users; and

when the system determines the user account is being shared among multiple users subsequent to presenting the notification, blocking access to the user account.

23. The content management system of claim 18 , wherein the instructions cause the system to:

detect whether the user account is being shared among multiple users at a scheduled interval or when a user logs in to the user account.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2017
From: BYRNE, SEAN; YEDIDI, KAPIL; MITYAGIN, ANTON; SCHEFF, ANDREW
To: DROPBOX, INC.
Reel/Frame 041586/0935 →
Cited By (1)
US 12,363,564