Patent ID: 11947682
Assignee: NETSKOPE, INC.
Field: Digital communication (Electrical engineering)
Classification: CPC G  H | IPC G  H

Claim 8:
9. A non-transitory computer readable storage medium impressed with computer program instructions to detect exfiltration designed to defeat data loss protection (DLP) by encryption before evaluation, the instructions, when executed on a processor, implement a method comprising:
intercepting traffic over a network between a cloud-based application and a user endpoint by a network security system interposed on the network between the cloud-based application and the user endpoint;
detecting, based on the traffic, movement of a plurality of files by a user of the user endpoint over the network to the cloud-based application;
detecting file encryption for each file of the plurality of files using a trained machine learning (ML) classifier, wherein the detecting comprises:
for each file of the plurality of files:
determining a file type of the respective file,
calculating two or more metrics for the respective file, the two or metrics selected from:
a chi-square metric based on a chi-square randomness test that measures a degree to which a distribution of sampled bytes varies from an expected distribution of bytes from the respective file;
an arithmetic mean metric based on an arithmetic mean test that compares an arithmetic mean of the sampled bytes to an expected mean of the bytes from the respective file;
a serial correlation coefficient metric based on a serial correlation coefficient test that calculates a serial correlation coefficient between pairs of successive sampled bytes from the respective file;
a Monte Carlo-Pi metric based on a Monte Carlo-Pi test that maps concatenated bytes as coordinates of a square and calculates a degree to which a proportion of the mapped concatenated bytes that fall within a circle circumscribed by the square varies from an expected proportion that corresponds to mapping from the respective file; and
an entropy metric based on a Shannon entropy test of randomness of the respective file,

providing the two or more metrics and the file type as input to the trained ML classifier trained to classify the respective file as encrypted or unencrypted based on the two or more metrics and the file type, and
receiving a classification of the respective file from the trained ML classifier based on the input;

counting a number of the plurality of files classified as encrypted and moved by the user during a predetermined period of time;
determining a predetermined maximum number of encrypted files the user is allowed to move during the predetermined period of time;
comparing the predetermined maximum number for the user to the number counted;
detecting that the user has moved more encrypted files than the predetermined maximum number; and
generating an alert that the user has moved more than the predetermined maximum number of encrypted files allowed to be moved.