EP4533294A1 - Technique of pattern matching for executable binary files - Google Patents
Technique of pattern matching for executable binary filesInfo
- Publication number
- EP4533294A1 EP4533294A1 EP23731375.4A EP23731375A EP4533294A1 EP 4533294 A1 EP4533294 A1 EP 4533294A1 EP 23731375 A EP23731375 A EP 23731375A EP 4533294 A1 EP4533294 A1 EP 4533294A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- technique
- data
- files
- ecu
- executable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Definitions
- the present invention find application in the technical field of electric digital data processing and, in particular, it has as object a technique of pattern matching for executable binary files.
- a pattern matching technique is a technique allowing to check a given sequence of tokens for the presence of the constituents of some pattern.
- pattern matching is the action of checking the presence of a certain pattern inside a composite object.
- the expression may refer to pattern recognition within a character string or within abstract data structures such as lists or trees, a syntactic construct of functional programming languages used to condition recursion.
- Uses of pattern matching include outputting the locations of a pattern within a token sequence, to output some component of the matched pattern, and to substitute the matching pattern with some other token sequence (i.e., search and replace).
- a fuzzy multi-pattern matching is a problem with high computational complexity wherein, in many cases, the pattern is detected and categorized not only by values of a sequence but also by its surroundings, thus adding further context to the specific data sequence.
- the main drawback of the known techniques is that they are memory and computationally expensive when applied on the medium size pattern over a large alphabet. Moreover, the generalization of the matching sequence, like accepting changes to its shape or slight differences of values, makes this approach a complex problem when the patterns data set is large.
- Hash-based solutions are valuable for exact matching, but due to the avalanche effect are useless for approximate matching.
- the object of the present invention is to provide a technique of pattern matching for executable binary files characterized by high efficiency e relative cost-effectiveness.
- the main value of the technique is the ability to appliance in a fast pattern-matching process, with medium and large-size context surroundings, along with a potential significant mismatch of the data pattern area.
- FIG. 2 is a diagram showing a second series of steps of the technique
- FIG. 3 is a diagram showing a third series of steps of the technique.
- FIG. 4 is a flow chart showing a possible application of the technique in automotive sector on ECU executable binary files for classification of ECU binary file features
- FIG. 5 is a flow chart showing a possible application of the technique in automotive sector on ECU executable binary files for classification with pruning for wide context analysis of data sequences.
- the present invention refers to a new technique for reducing the matching patterns data set and in particular to a new method of fuzzy, context-aware subsequence matching, based on a new locality-sensitive hash for organized and partially monotonic data patterns.
- the technique is a fuzzy pattern matching technique designed for searching for patterns inside the large binary data block having executable binary file as input data.
- the technique comprise a first series of steps designed to prepare one or more sequences data digests, a second series of steps for computing locality-sensitive hash and a final series of steps of reduction of the plausible matchings.
- Fig- 1 shows the first series of steps suitable to prepare the sequences data digest.
- the technique provides that, after insertion of input and training data, the data is analysed for containing semi-organized, partially monotonic sequences.
- a preprocessing step is also provided for filtering monotonic sequences, during which step potential sequences are discarded or accepted based on several statistical criteria. Each accepted sequence is then encoded with metadata and stored as part of the data sequences digest so obtained.
- Said digest contains information describing the spatial organization of sequences, their monotonicity properties and other features valuable for approximate matching.
- Fig- 2 shows a possible operative diagram for computing the locality-sensitive hash, wherein locality-sensitive hashes are computed for each pattern in the data set and the analyzed positions in the input data.
- the proprietary locality-sensitive hash is calculated based on a method of data compression.
- the proprietary locality-sensitive hash is calculated based on the wavelets analysis.
- 64-bit is a native machine word size of modern CPUs, allowing efficient computation of Hamming distance as most of the architectures have dedicated CPU instructions for such purpose.
- typical PH hashes are longer.
- a possible application of the technique according to the invention is into the automotive sector on ECU executable binary files for classification of ECU binary file features.
- the technique will allow to solve problems related to the analysis of ECU binary executable files typical of automotive sector, in particular:
- the possible appliances are: code analysis, digital forensics, and antivirus software.
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A technique of pattern matching for executable binary files comprises the following steps: a) preparing one or more sequences data digests; b) computing locality-sensitive hash; c) providing a process of reduction of the plausible matchings; wherein said step of reduction of the plausible matchings is carried out by using filters based on a threshold of Hamming distance between hashes.
Description
TECHNIQUE OF PATTERN MATCHING FOR EXECUTABLE BINARY FILES
Description
Technical Field
The present invention find application in the technical field of electric digital data processing and, in particular, it has as object a technique of pattern matching for executable binary files.
State of the art
As known, regular expressions are commonly used to search for patterns in bodies of text for rapid comparison, for example for using within search engines and data operations,
In this filed, a pattern matching technique is a technique allowing to check a given sequence of tokens for the presence of the constituents of some pattern.
Properly, in the field of data analysis, pattern matching is the action of checking the presence of a certain pattern inside a composite object.
Specifically, the expression may refer to pattern recognition within a character string or within abstract data structures such as lists or trees, a syntactic construct of functional programming languages used to condition recursion.
Uses of pattern matching include outputting the locations of a pattern within a token sequence, to output some component of the matched pattern, and to substitute the matching pattern with some other token sequence (i.e., search and replace).
The common solutions designed to detect and classify data sequences provide the use of an exact binary patterns data set.
Some extensions of this method allow fuzzy matching with specified similarity threshold using e.g. Hamming distance.
A fuzzy multi-pattern matching is a problem with high computational complexity wherein, in many cases, the pattern is detected and categorized not only by values of a sequence but also by its surroundings, thus adding further context to the specific data sequence.
The main drawback of the known techniques is that they are memory and computationally expensive when applied on the medium size pattern over a large alphabet.
Moreover, the generalization of the matching sequence, like accepting changes to its shape or slight differences of values, makes this approach a complex problem when the patterns data set is large.
Hash-based solutions are valuable for exact matching, but due to the avalanche effect are useless for approximate matching.
Furtherly, with additional matching criteria like context, an exact pattern matching is not valuable for many similar patterns distinctive only by their surroundings.
Therefore, without significant reduction of potential candidates of matching patterns, these methods are not valuable for cases when the number of data patterns is large.
Li Weng - Perceptual Multimedia Hashing discloses a perceptual hashing (PH) of multimedia files, such as image, sound, video.
However, methods used on multimedia are not valuable on executable binary files. For example, there is no option to scale, blur, reduce color information, convert to greyscale or use similar techniques to reduce the input file size or use as a method of data pre-processing on executable binary files.
As matter of fact, compression of multimedia files typically has much better ratios than on executable binary files, which makes the problem of applying LSH much more complex.
Moreover, the PH methods are not resistant to pre- and post-padding of input files with noise or constant values.
Scope of the invention
The object of the present invention is to provide a technique of pattern matching for executable binary files characterized by high efficiency e relative cost-effectiveness.
A proper object that the present invention intends to solve is to increase the speed and/or quality of sequence matching by reducing the number of potential pattern candidates.
A further object is to provide a technique of pattern matching for executable binary files providing a fast method of reducing the number of potential patterns which are matching the analyzed sequence, allowing processing more data at the same time.
These objects, as well others those will become more apparent hereinafter, are fulfilled by a technique of pattern matching for executable binary files according to claim 1.
The solution to the above drawbacks is an augmentation of the pattern-matching
process with efficient context matching, which is achievable with the proposed technique using novel LSH hash prepared especially for semi-monotonic data sequences intrinsic to executable binary files.
The main value of the technique is the ability to appliance in a fast pattern-matching process, with medium and large-size context surroundings, along with a potential significant mismatch of the data pattern area.
A classical approach based on specific, predefined, provided by expert data markers, or using exact pattern matching, is slow and requires a much larger data set.
Other techniques, e.g. fuzzy pattern search, is memory and computationally expensive. Advantageous embodiments of the invention are obtained in accordance with the dependent claims.
Brief disclosure of the drawings
Further features and advantages of the invention will become more apparent in the light of the detailed description of preferred but not exclusive embodiments of the technique according to the invention, shown by way of non-limiting example with the aid of the attached drawing tables wherein:
FIG. 1 is a diagram showing a first series of steps of the technique;
FIG. 2 is a diagram showing a second series of steps of the technique;
FIG. 3 is a diagram showing a third series of steps of the technique.
FIG. 4 is a flow chart showing a possible application of the technique in automotive sector on ECU executable binary files for classification of ECU binary file features;
FIG. 5 is a flow chart showing a possible application of the technique in automotive sector on ECU executable binary files for classification with pruning for wide context analysis of data sequences.
Best mode of carrying out the invention
The present invention refers to a new technique for reducing the matching patterns data set and in particular to a new method of fuzzy, context-aware subsequence matching, based on a new locality-sensitive hash for organized and partially monotonic data patterns.
In particular, the technique is a fuzzy pattern matching technique designed for searching for patterns inside the large binary data block having executable binary file as input data.
Basically, the technique comprise a first series of steps designed to prepare one or more sequences data digests, a second series of steps for computing locality-sensitive hash and a final series of steps of reduction of the plausible matchings.
Fig- 1 shows the first series of steps suitable to prepare the sequences data digest. According to a preferred but not exclusive embodiment for the present invention, the technique provides that, after insertion of input and training data, the data is analysed for containing semi-organized, partially monotonic sequences.
A preprocessing step is also provided for filtering monotonic sequences, during which step potential sequences are discarded or accepted based on several statistical criteria. Each accepted sequence is then encoded with metadata and stored as part of the data sequences digest so obtained.
Said digest contains information describing the spatial organization of sequences, their monotonicity properties and other features valuable for approximate matching.
Fig- 2 shows a possible operative diagram for computing the locality-sensitive hash, wherein locality-sensitive hashes are computed for each pattern in the data set and the analyzed positions in the input data.
The proprietary locality-sensitive hash is calculated based on a method of data compression.
In a preferred but non-exclusive way, the proprietary locality-sensitive hash is calculated based on the wavelets analysis.
The most significant parameters of data compression are then encoded with single bits. Such an approach reduces data digest to a 64-bit hash which is convenient for fast Hamming distance calculation.
In this way, similar sequences with the same surroundings have hashes that differ only on a small number of bits.
Moreover, 64-bit is a native machine word size of modern CPUs, allowing efficient computation of Hamming distance as most of the architectures have dedicated CPU instructions for such purpose. By contrast, typical PH hashes are longer.
Reduction of plausible matchings is achieved using filters based on a threshold of Hamming distance between hashes, in such a way that the matching candidate are accepted if distance is below a set threshold.
Furtherly, the meta-data digest may be used for hash collision resolving of the same
LSH hash values, as edit-distance metrics are applicable on the meta-data digest to measure surroundings similarity ratio.
Differently form PH methods, the present technique, due to intrinsic features of the meta-data digest construction technique, is resistant to pre- and post-padding of input files with noise or constant values.
A possible application of the technique according to the invention is into the automotive sector on ECU executable binary files for classification of ECU binary file features.
The technique will allow to solve problems related to the analysis of ECU binary executable files typical of automotive sector, in particular:
• Detection of ECU brand, ECU family, vehicle brand;
• Detection of software version
• Detection of engine power variant
• Detection of irregularities in the ECU control process
• Detection of DTC areas
• Detection and classification of control map areas.
As an improvement part of the following AI/ML tasks, the technique allows:
• Finding patterns in both code and data segments with medium to large context size;
• Reducing the number of potential match candidates (pruning) for data classification;
• Finding areas of interest based on surroundings with a loose threshold for the content match (fuzzy pattern matching using intrinsic syntax relations);
• Providing an efficient method for data clustering and reducing the training dataset size.
As a way to solve specific problems related to binary executable files, including but not limited to the automotive sector, the technique also allows:
• Detection of used linker, compiler;
• Detection of linked libraries;
• Detection of code type and data modification;
The possible appliances are: code analysis, digital forensics, and antivirus software.
Claims
1. A technique of pattern matching for executable files comprising the following steps: a) preparing one or more sequences data digests; b) computing locality-sensitive hash LSH; c) providing a process of reduction of the plausible matchings; wherein said executable files are executable binary files; wherein the LSH size is 64-bit; wherein said step of reduction of the plausible matchings is carried out by using filters based on a threshold of Hamming distance between hashes and wherein each accepted sequence is encoded with metadata and stored as part of the data sequences digest.
2. Technique as claimed in claim 1, wherein said step a) of preparing the digest comprises a step of data input and a subsequent step of training said data.
3. Technique as claimed in claim 2, comprising a pre-processing step of said input data.
4. Technique as claimed in claim 3, wherein said pre-processing step provides the analysis of said data for containing semi-organized, partially monotonic sequences.
5. Technique as claimed in claim 3 or 4, wherein in said pre-processing step potential sequences are discarded or accepted based on statistical criteria.
6. Technique as claimed in any preceding claim, wherein in said step of computing locality-sensitive hash, locality-sensitive hash is calculated based on a method of data compression.
7. Technique as claimed in claim 6, wherein said method of data compression is wavelets analysis.
8. Technique as claimed in claim 6 or 7, wherein the most significant parameters of data compression are encoded with single bits.
9. Technique as claimed in claim 8, wherein said step of reduction of the plausible matchings provides that the matching candidate are accepted if distance is below a set threshold.
10. Technique as claimed in any preceding claim, characterized by being resistant to pre- and post-padding of input files with noise or constant values.
11. Technique as claimed in any preceding claim, characterized by being a fuzzy pattern matching technique designed for searching for patterns inside the large binary data block having executable binary file as input data.
12. Technique as claimed in any preceding claim, characterized by the fact that said executable binary files are ECU executable binary files, a classification step of said ECU binary file features being provided for detecting ECU brand, ECU family, vehicle brand, software version, engine power variant, irregularities in the ECU control process, DTC areas, control map areas.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT102022000010748A IT202200010748A1 (en) | 2022-05-24 | 2022-05-24 | PATTERN MATCHING TECHNIQUE FOR EXECUTABLE BINARY FILES |
| PCT/IB2023/055346 WO2023228110A1 (en) | 2022-05-24 | 2023-05-24 | Technique of pattern matching for executable binary files |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4533294A1 true EP4533294A1 (en) | 2025-04-09 |
Family
ID=82694048
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23731375.4A Pending EP4533294A1 (en) | 2022-05-24 | 2023-05-24 | Technique of pattern matching for executable binary files |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4533294A1 (en) |
| IT (1) | IT202200010748A1 (en) |
| WO (1) | WO2023228110A1 (en) |
-
2022
- 2022-05-24 IT IT102022000010748A patent/IT202200010748A1/en unknown
-
2023
- 2023-05-24 EP EP23731375.4A patent/EP4533294A1/en active Pending
- 2023-05-24 WO PCT/IB2023/055346 patent/WO2023228110A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023228110A1 (en) | 2023-11-30 |
| IT202200010748A1 (en) | 2023-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8391614B2 (en) | Determining near duplicate “noisy” data objects | |
| Ye et al. | Time series shapelets: a new primitive for data mining | |
| EP1578020A1 (en) | Data compressing method, program and apparatus | |
| CN1882984A (en) | Matching data objects by matching derived fingerprints | |
| US20240420243A1 (en) | Methods for determining image content when generating a property loss claim through predictive analytics | |
| CN114398069A (en) | Method and system for identifying accurate version of public component library based on cross fingerprint analysis | |
| CN110659374A (en) | Method for searching images by images based on neural network extraction of vehicle characteristic values and attributes | |
| Fernandez et al. | Active image indexing | |
| US20220027662A1 (en) | Optical character recognition using specialized confidence functions | |
| Das et al. | Image splicing detection based on deep convolutional neural network and transfer learning | |
| Park et al. | Generative malware outbreak detection | |
| Badry et al. | Quranic script optical text recognition using deep learning in IoT systems | |
| US11960531B2 (en) | Content analysis | |
| EP4533294A1 (en) | Technique of pattern matching for executable binary files | |
| CN117725252B (en) | A satellite cloud image multi-label hashing retrieval method based on interpretable deep network | |
| CN115203053B (en) | Code clone detection method based on frequent sequence mining | |
| CN111813975A (en) | An image retrieval method, device and electronic device | |
| Singh et al. | Advanced framework for multilevel detection of digital video forgeries | |
| CN117972702A (en) | Malware detection method and system based on API call heterogeneous parameter enhancement | |
| CN116229484A (en) | Character recognition method, list scanning method and device | |
| CN1920855A (en) | Character identification apparatus and method for literal line regression | |
| Chiu et al. | Efficient histogram-based indexing for video copy detection | |
| CN119760705B (en) | Threat information-based APT attack technology identification and matching method and system | |
| CN119377093B (en) | Code vulnerability detection method, system and medium based on data analysis | |
| US20190034280A1 (en) | Performant Process for Salvaging Renderable Content from Digital Data Sources |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20241213 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |