Back to results
US 11,531,764 B2Granted
Assessing operational stability of computer system by integrity checking of computer program
AssigneeFossid AB
InventorJohan Larsson
Life of this patent
Estimating the term…
Abstract
A computer-implemented method for checking the integrity of a target computer program to be executed in a computer system.
Claims22
A computer-implemented method for checking the integrity of a target computer program to be executed in a computer system the target computer program having a target source code, the method involving:
- A) obtaining a plurality of reference source code segments which are considered critical to the integrity of the target computer program;
- B) for each reference source code segment in said plurality of reference source code segments:
- i) processing the reference source code segment to derive tokens therein and their respective offsets in the segment;
- ii) for each n-gram of tokens in the reference source code segment, creating a hash and a list of the offsets of the tokens in the n-gram;
- iii) generating a reference hash set for the reference source code segment, the reference hash set comprising the hashes as keys and the respective lists of offsets as values;
- C) processing the target source code to derive tokens therein and their respective offsets in the target source code;
- D) for each n-gram of tokens in the target source code, creating a hash and a list of the offsets of the tokens in the n-gram;
- E) generating a target hash set for the target source code, the target hash set comprising the hashes from step D) as keys and the respective lists of offsets from step D) as values;
- F) for each reference source code segment in said plurality of reference source code segments:
- i) comparing the hashes in the reference hash set to the hashes in the target hash set to do at least one of the following:
- a) calculate a score reflecting a degree of match between the reference hash set and the target hash set;
- and
- b) create a hit list comprising offsets of hashes in the reference hash set that match any of the hashes in the target hash set;
- and
- G) making a decision about the integrity of the target computer program by assessing, based on the calculated score and/or the created hit list of at least one of said plurality of reference source code segments, whether or not, or to what extent, said at least one of said plurality of reference source code segments is included in the target source code.
12 more elements
An apparatus for checking the integrity of a target computer program to be executed in a computer system, the target computer program having a target source code, the apparatus comprising a computer processing device configured with instructions for:
- A) obtaining a plurality of reference source code segments which are considered critical to the integrity of the target computer program;
- B) for each reference source code segment in said plurality of reference source code segments:
- i) processing the reference source code segment to derive tokens therein and their respective offsets in the segment;
- ii) for each n-gram of tokens in the reference source code segment, creating a hash and a list of the offsets of the tokens in the n-gram;
- iii) generating a reference hash set for the reference source code segment, the reference hash set comprising the hashes as keys and the respective lists of offsets as values;
- C) processing the target source code to derive tokens therein and their respective offsets in the target source code;
- D) for each n-gram of tokens in the target source code, creating a hash and a list of the offsets of the tokens in the n-gram;
- E) generating a target hash set for the target source code, the target hash set comprising the hashes from step D) as keys and the respective lists of offsets from step D) as values;
- F) for each reference source code segment in said plurality of reference source code segments:
- i) comparing the hashes in the reference hash set to the hashes in the target hash set to do at least one of the following:
- a) calculate a score reflecting a degree of match between the reference hash set and the target hash set;
- and
- b) create a hit list comprising offsets of hashes in the reference hash set that match any of the hashes in the target hash set;
- and
- G) making a decision about the integrity of the target computer program by assessing, based on the calculated score and/or the created hit list of at least one of said plurality of reference source code segments, whether or not, or to what extent, said at least one of said plurality of reference source code segments is included in the target source code.
12 more elements
Dependencies are inferred from the claim text.