Back to results
US 12,003,514 B2Granted
Program verification and malware detection
OwnerMordecai Barkaninventor
Life of this patent
Estimating the term…
Abstract
Software programs are updated and upgraded regularly. This is a cause for infection by malware (or a faulty program). By attaining the statistical relation between the input data to the program and the output data from the program the presence of malware may be detected with high fidelity. The base for this approach is the fact the necessary and sufficient conditions to determine the working of a program is evaluation of input against output.
Claims2
A trusted computing system comprising:
- a first processor and a first memory;
- the first memory stores a first program to be executed by the first processor;
- a second computing system comprising a second processor and a second memory;
- the second memory stores a second program to be executed by the second processor;
- the second computing system receives an input data set;
- the input data set is processed by the second program executed by the second processor, to result an output data set;
- the trusted computing system receives the input data set or the output data set;
- the trusted computing system communicates, the input data set or the output data set, to a third computing system for evaluation or
- carries an evaluation by the first program;
- the evaluation is based on statistical properties and dependency of the input data set and the output data set, where the first program or the third computing system, detects deviations or discrepancies, and determines, based on the evaluation, that the second program is faulty;
- the trusted computing system, by means of the input data set or output data set, carries any of transmitting, monitoring, containing, detecting malware infection, blocking, refreshing, backup operation by means of the input data set, or testing of the second program.
8 more elements
A method of detecting a faulty program, the method comprising:
- storing a trusted program to be executed by a processor;
- storing a legacy program to be executed by the processor;
- receiving an input data set by the legacy program processing the input data set by the legacy program executed by the processor, to result an output data set;
- receiving the input data set or the output data set by the trusted program;
- communicating, by the trusted program, the input data set or the output data set to a second computing system for evaluation or
- carrying an evaluation by the trusted program, wherein the evaluation is based on statistical properties and dependency of the input data set and the output data set;
- detecting, by the trusted program or the second computing system, deviations or discrepancies, and determining, based on the evaluation, that the legacy program is faulty;
- carrying, by the trusted program, by means of the input data set or output data set, any of transmitting, monitoring, containing, detecting malware infection, blocking, refreshing, backup operation, or testing of the legacy program.
5 more elements
Dependencies are inferred from the claim text.