Detecting unwanted software using a machine learning operation
AssigneeCylance Inc.
InventorsJulian Collado Umana, Aaron Mark Tresch Fienberg
Life of this patent
Estimating the term…
Abstract
Systems, methods, and software can be used to determine whether a software code is unwanted. In some aspects, a method includes: obtaining, by an electronic device, a set of software features of a software code; obtaining, by the electronic device, a set of user features of a user of the electronic device; and determining, by the electronic device, a classification score of the software code based on the set of software features and the set of the user features, wherein the classification score indicates whether the software code is potentially unwanted for the user.
Claims17
A method, comprising:
- obtaining, by an electronic device, a set of software features of a software code;
- obtaining, by the electronic device, a set of user features of a user of the electronic device;
- and
- determining, by the electronic device, a classification score of the software code based on the set of software features and the set of the user features, wherein the classification score indicates whether the software code is potentially unwanted for the user, wherein the determining the classification score comprises:
- obtaining a software output vector by using a first machine learning model to process a software feature vector representing the set of software features of the software code;
- obtaining a user output vector by using a second machine learning model to process a user feature vector representing the set of user features of the user, wherein the software feature vector and the user feature vector have different lengths, and the user output vector and the software output vector have a same length;
- and
- determining the classification score of the software code based on the software output vector and the user output vector;
- and
- outputting an indication indicating whether the software code is potentially unwanted for the user.
A non-transitory computer-readable medium containing instructions which, when executed, cause an electronic device to perform operations comprising:
- obtaining a set of software features of a software code;
- obtaining a set of user features of a user of the electronic device;
- and
- determining a classification score of the software code based on the set of software features and the set of the user features, wherein the classification score indicates whether the software code is potentially unwanted for the user, wherein the determining the classification score comprises:
- obtaining a software output vector by using a first machine learning model to process a software feature vector representing the set of software features of the software code;
- obtaining a user output vector by using a second machine learning model to process a user feature vector representing the set of user features of the user, wherein the software feature vector and the user feature vector have different lengths, and the user output vector and the software output vector have a same length;
- and
- determining the classification score of the software code based on the software output vector and the user output vector;
- and
- outputting an indication indicating whether the software code is potentially unwanted for the user.
A computer-implemented system, comprising:
- one or more computers;
- and
- one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:
- obtaining a set of software features of a software code;
- obtaining a set of user features of a user of an electronic device;
- and
- determining a classification score of the software code based on the set of software features and the set of the user features, wherein the classification score indicates whether the software code is potentially unwanted for the user, wherein the determining the classification score comprises:
- obtaining a software output vector by using a first machine learning model to process a software feature vector representing the set of software features of the software code;
- obtaining a user output vector by using a second machine learning model to process a user feature vector representing the set of user features of the user, wherein the software feature vector and the user feature vector have different lengths, and the user output vector and the software output vector have a same length;
- and
- determining the classification score of the software code based on the software output vector and the user output vector;
- and
- outputting an indication indicating whether the software code is potentially unwanted for the user.
Dependencies are inferred from the claim text.