IP Library Granted Patent US 12665921
Granted Patent B2
US 12665921 · App. 18/521,834 · Granted Jun 23, 2026

Risk scoring of cloud permission assignments using supervised machine learning

Inventors: Robert Molony (Oakland, CA); Michael Brautbar (Wayland, MA); Manu Nandan (Frisco, TX); Ciaran O'Brien (Astoria, NY)
Assignee: CrowdStrike, Inc.
H04L63/1433H04L63/102
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 12665921
App. No.
18/521,834
Granted
Jun 23, 2026
Kind
B2
Abstract

Techniques for calculating risk scores of entity assignments are discussed herein. The system generates a probability matrix using a collaborative filtering technique such as singular value decomposition. The probability matrix is populated with probability values for each entity representing a probability that, based on the various relationships or associations of that entity with other entities, the entity has been granted an assignment. Risk values are used to provide a weighting value to assignments, separating relatively higher risk assignments from relatively lower risk assignments. The system thereafter calculates a risk score for one or more of the entities using the information in the assignment matrix, the probability matrix, and the risk values. The system can flag or identity one or more entities whose risk scores do not meet various criteria.

Claims (61)

1 . A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform operations comprising:

receiving, via a cloud computing server associated with a computing device, a risk evaluation request;

receiving, via a network communication with the computing device, entity data comprising:

identities of a plurality of entities associated with the computing device; and

assignments granted to the plurality of entities;

generating a first set of values based on the entity data, the first set of values being indicative of the assignments granted to the plurality of entities;

generating a second set of values by implementing a collaborative filtering technique on the first set of values, wherein the second set of values indicate probabilities that the plurality of entities are granted a particular assignment;

generating a risk score for each entity of the plurality of entities using the first set of values and the second set of values;

flagging the each entity when the risk score meets a criterion;

generating a recommendation when the risk score meets the criterion, wherein the recommendation comprises an identification of a substitute assignment to reduce the risk score, wherein the substitute assignment provides a functionality of an assignment associated with the risk score; and

providing, through the cloud computing server and in response to the risk evaluation request, the recommendation to the computing device.

2 . The system of claim 1 , wherein the computer-executable instructions, when executed, cause the one or more processors to perform operations comprising:

receiving risk values comprising weighting values for the assignments, whereas the weighting values are used to differentiate relatively higher level assignments from relatively lower level assignments,

wherein the risk score for the entity is generated further using the risk values.

3 . The system of claim 1 , wherein the criterion comprises a risk score that is at or greater than a predetermined value, a risk score that is less than a predetermined value, or a risk score that exceeds a differential value.

4 . The system of claim 1 , wherein generating the first set of values comprises:

updating a previously generated first set of values using the entity data.

5 . The system of claim 1 , wherein generating the second set of values comprises:

retrieving a previously generated second set of values.

6 . The system of claim 1 , wherein the computer-executable instructions, when executed, cause the one or more processors to perform operations comprising:

generating a second risk score for a new entity upon adding the new entity to the plurality of entities.

7 . The system of claim 2 , wherein the risk values are received from a user input or from a rules-based model.

8 . One or more non-transitory computer-readable media storing instructions executable by one or more processors, wherein the instructions, when executed, cause the one or more processors to perform operations comprising:

receiving, via a cloud computing server associated with a computing device, a risk evaluation request;

receiving, via a network communication with the computing device, entity data comprising:

identities of a plurality of entities associated with the computing device; and

assignments granted to the plurality of entities;

generating a first set of values comprising the entity data, the first set of values being indicative of the assignments granted to the plurality of entities;

generating a second set of values by implementing a collaborative filtering technique on the first set of values, wherein the second set of values indicate probabilities that the plurality of entities are granted a particular assignment;

generating a risk score for each entity of the plurality of entities using the first set of values and the second set of values;

flagging the each entity when the risk score meets a criterion;

generating a recommendation when the risk score meets the criterion, wherein the recommendation comprises an identification of a substitute assignment to reduce the risk score, wherein the substitute assignment provides a functionality of an assignment associated with the risk score; and

providing, through the cloud computing server and in response to the risk evaluation request, the risk score to the computing device.

9 . The one or more non-transitory computer-readable media of claim 8 , wherein the instructions, when executed, cause the one or more processors to perform operations comprising:

receiving risk values comprising weighting values for the assignments, whereas the weighting values are used to differentiate relatively higher level assignments from relatively lower level assignments,

wherein the risk score for the entity is generated further using the risk values.

10 . The one or more non-transitory computer-readable media of claim 8 , wherein the criterion comprises a risk score that is at or greater than a predetermined value, a risk score that is less than a predetermined value, or a risk score that exceeds a differential value.

11 . The one or more non-transitory computer-readable media of claim 8 , wherein generating the first set of values comprises:

updating a previously generated the second set of values using the entity data.

12 . The one or more non-transitory computer-readable media of claim 8 , wherein generating the second set of values comprises:

retrieving a previously generated second set of values.

13 . The one or more non-transitory computer-readable media of claim 8 , wherein the instructions, when executed, cause the one or more processors to perform operations comprising:

generating a second risk score for a new entity upon adding the new entity to the plurality of entities.

14 . The one or more non-transitory computer-readable media of claim 8 , wherein the instructions, when executed, cause the one or more processors to perform operations comprising:

flagging the each entity when the risk score of the each entity for an illusory assignment is not an expected value.

15 . A computer-implemented method comprising:

receiving, via a cloud computing server associated with a computing device, a risk evaluation request:

receiving, via a network communication with the computing device, entity data comprising:

identities of a plurality of entities associated with the computing device; and

assignments granted to the plurality of entities; and

generating a first set of values comprising the entity data, the first set of values being indicative of the assignments granted to the plurality of entities;

generating a second set of values by implementing a collaborative filtering technique on the first set of values, wherein the second set of values indicate probabilities that the plurality of entities are granted a particular assignment;

generating a risk score for each entity of the plurality of entities using the first set of values and the second set of values;

flagging the each entity when the risk score meets a criterion;

generating a recommendation when the risk score meets the criterion, wherein the recommendation comprises an identification of a substitute assignment to reduce the risk score, wherein the substitute assignment provides a functionality of an assignment associated with the risk score; and

providing, through the cloud computing server and in response to the risk evaluation request, the risk score to the computing device.

16 . The computer-implemented method of claim 15 , further comprising:

receiving risk values comprising weighting values for the assignments, whereas the weighting values are used to differentiate relatively higher level assignments from relatively lower level assignments,

wherein the risk score for the entity is generated further using the risk values.