US12072978B2 - Fast antimalware scan - Google Patents
Fast antimalware scan Download PDFInfo
- Publication number
- US12072978B2 US12072978B2 US17/652,285 US202217652285A US12072978B2 US 12072978 B2 US12072978 B2 US 12072978B2 US 202217652285 A US202217652285 A US 202217652285A US 12072978 B2 US12072978 B2 US 12072978B2
- Authority
- US
- United States
- Prior art keywords
- file
- unknown
- malware
- known malware
- blocks
- 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.)
- Active, expires
Links
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 26
- 238000005457 optimization Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Definitions
- the invention pertains to computer systems and the identification of files that are not known malware within the computer systems using fast antimalware scan systems and methods.
- One of the traditional approaches to detect malicious programs and files is to compare the “signatures” of the files under investigation.
- antivirus applications detect a new sample, they analyze it and create a “signature” that is released as an update to clients. That “signature” is added as a data element to the malware file collection.
- the process of answering the question of whether a given file is found in a malware list includes calculating a “signature” of that file and further comparison of that “signature” to “signatures” of each of the files in the list of known malware files.
- antimalware scan should be as fast as possible, and should consume a minimum amount of CPU and I/O resources.
- the present invention is directed to providing a system and a method for faster detection of some of the “good” files by performing partial matching of one or more continuous byte sequences (blocks) of an unknown file to corresponding block(s) of known malware files while also minimizing the false positive (FP) rate.
- This problem can be solved by using one or more-continuous byte sequences (blocks) of the unknown file selected according to a certain algorithm/selection criterion to match to the corresponding continuous byte sequences (blocks) of the known malware file.
- the block selection algorithm may be based on pre-defined number of blocks, lengths, and offsets or on dynamically calculated number of blocks, lengths, and offsets, on or any combination thereof.
- the block selection algorithm may be based on prior knowledge, e.g., analysis of common blocks within a given malware family or knowledge of the internal format of a file type.
- the block selection algorithm may be based on the results of the optimization process using a certain sample.
- the block selection algorithm may be used as a subject of an optimization process.
- the block selection algorithm may be selected using an artificial intelligence (AI) algorithm including but not limited to neural networks, heuristics, or support vector machines.
- AI artificial intelligence
- Selected blocks of the unknown file and corresponding blocks of the known malware file may be compared to each other one-by-one or in concatenated form, possibly with certain separator between blocks, by forming the “synthetic” versions of both files that are later compared to each other using one of the known file comparison algorithms, e.g., by calculating and comparing “signatures”.
- blocks of an unknown file match corresponding blocks of the known malware file, one or more additional matching steps may be performed to make the match/no match decision.
- the exemplary invention provides a system and a method for detection of files not matching a known malware file in a computing environment.
- the exemplary system includes a processor (CPU) of a computer coupled to a memory storing instructions to permit the processor to function as an analyzer.
- processor CPU
- memory storing instructions to permit the processor to function as an analyzer.
- the analyzer is configured to receive as input an unknown file and a known malware file, compare the unknown file to the known malware file by comparing N (where N is greater of equal to 1) blocks B 1 , . . . , B N of lengths L 1 , . . . , L N located at offsets O 1 , . . . , O N such that the number of blocks, lengths and offsets are calculated according to a pre defined algorithm, and output a value indicating that the unknown file is different from the known malware file if exists at least one j that a B j block of the unknown file is different from a B j block of the known malware file.
- the present system and method can provide an efficient matching of an unknown file within a computer system to a list of known malware files for a fast malware scan of the unknown files with various variants.
- optimization of the comparison process will be achieved under the following conditions: (1) there exists a cost function C(x) that determines the total cost of an operation, (2) selected block comparison algorithm B identifies P W percentage of files as “good”, and (3) selected block comparison algorithm B identifies (1 ⁇ P W ) percentage of files as “requiring further check” and requiring a full-scale comparison, e.g., using a “signature” algorithm S.
- Complexity of comparing an unknown file to the selected known malware file is C(S).
- Complexity of comparing of an unknown file to the selected known malware file using the block-level algorithm is 1*C(B)—comparison of all files using the block algorithm plus (1 ⁇ P w )*C(S)—checking all files that were not identified as “good” with the “signature”.
- FIG. 1 shows an exemplary procedure for detection of files not matching a known malware file in a computing environment according to an exemplary embodiment
- FIG. 2 shows the components and interactions of an exemplary system embodying the invention
- FIG. 3 shows exemplary method steps for implementing the invention to match an unknown file to a collection of known malware files.
- An exemplary aspect of the present invention is directed to optimize malware signatures for minimum amount of CPU and I/O resources consumption without compromising other quality metrics. It can be implemented by a two-stage scan process.
- the procedure 100 starts in step 101 with a file scan of reading a fixed amount of data from a particular file. It can be, for example, 64 KB from the beginning of the file, 32 KB from the middle of the file, and 32 KB from the end of the file.
- the procedure 101 identifies that at least one of the blocks of the unknown file is different from the corresponding block of the known malware file, the procedure issues the “Clean” verdict 105 , meaning that the unknown file does not match to the known malware file presented for comparison.
- step 102 a special “read more data” signature to antimalware database is performed to determine when more data is required to decide if the file is clean or malware.
- Read more data is an indicator that more data and other comparison operation(s) need to be performed on the file to answer the match/no match question.
- the goal of the algorithm is to make the “Read more data” to be infrequent for clean files, so these signatures do not add significant impact for scan time and average amount of resources required for scanning.
- step 103 additional scans are performed to detect malware, and “clean” and “malware” file verdicts based on the additional scans are identified in step 104 .
- FIG. 2 shows an exemplary system 200 for implementing a fast antimalware scan algorithm that is applied to computer files for matching them against the list of known malware files.
- the system 200 for detection of files not matching a known malware file in a computing environment includes a processor coupled to a memory storing instructions to permit the processor to function as an analyzer 203 .
- the analyzer 203 is configured to receive, as input, an unknown file 201 and a known malware file 202 .
- Analyzer 203 compares the unknown file 201 to the known malware file 202 by applying an algorithm that uses N (where N is greater or equal to 1) blocks B 1 , . . . , B N of lengths L 1 , . . . , L N located at offsets O 1 , . . . , O N such that each the number of blocks, length and offset can be calculated according to a pre-defined algorithm (e.g., X bytes from the beginning of the file, Y bytes from the middle of the file, and Z bytes before the end of the file, etc.).
- N is greater or equal to 1
- an additional matching step may be used to make the match/no match decision.
- Algorithms may be repeated for each F malware file in the known malware list presented for matching.
- F unknown may be considered not matching any of the files from the malware list presented for matching.
- additional matching using one or more different criteria may be used prior to performing the block-level comparison of F unknown and each of the F malware files to determine that F unknown and F malware are different.
- another additional matching (e.g., calculating a “signature” of F unknown and comparing it to the “signature” of F malware ) using one or more different criteria may be used after performing the block-level comparison of F unknown and F malware files if all blocks of F unknown were found to be identical to corresponding blocks of F malware to make the match/no match decision.
- the block-level comparison algorithm may be repeated with different sets of blocks (different number of blocks and/or different size of all or some individual blocks and/or offset of all or some individual blocks).
- the total size of all blocks equals the size of at least one of the following “hash” functions: MD5, SHA1, or any of the SHA-2 family.
- 3 blocks from each file are used. First block 64 KB at the beginning of each file, second block of 32 KB in the middle of the file, and the third block—last 32 KB of the file.
- N blocks from each of the F malware files from a known malware collection are pre-calculated and stored in the list of malware files presented for matching.
- N blocks from each of the F malware files from a known malware collection are extracted from the actual known malware files presented for matching.
- additional information for each of the F malware files (e.g., “signatures”) is pre-calculated and stored in the list of malware files presented for matching.
- FIG. 3 shows an exemplary method 300 for detection of files not matching a known malware file in a computing environment.
- Method 300 includes receiving an unknown file 301 and a known malware file collection 302 in a processor of a computer coupled to a memory device.
- the unknown file 301 and the known malware file 302 collection are compared in step 303 , by an analyzer of the processor, by comparing N (where N is greater or equal to 1) blocks B 1 , . . . , B N of lengths L 1 , . . . , L N located at offsets O 1 , . . . , O N such that the number of blocks, lengths and offsets are calculated according to a pre-defined algorithm.
- the method may apply other post-comparison criteria such as comparing at least one signature of the unknown file with at least one signature of the known malware file in step 305 .
- step 306 it is determined whether the known malware file collection 302 matches the unknown file 301 .
- step 307 it identifies that the unknown file is a known malware file.
- step 311 it is checked if the file is the last file in collection.
- step 310 if all the blocks are not matching in step 310 , it is checked if the file is the last file in collection in step 311 .
- step 309 fetching another file for collection.
- step 311 it is confirmed that the file is the last file in the collection
- step 308 it is determined that the unknown file. 301 is not a known malware file as the files of known malware file collection 302 .
- a value is outputted to indicate that the unknown file 301 is different from the known malware file collection 302 if there exists at least one j, such that a B j block of the unknown file is different from a B j block of the known malware file.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/652,285 US12072978B2 (en) | 2022-02-24 | 2022-02-24 | Fast antimalware scan |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/652,285 US12072978B2 (en) | 2022-02-24 | 2022-02-24 | Fast antimalware scan |
Publications (2)
Publication Number | Publication Date |
---|---|
US20230267202A1 US20230267202A1 (en) | 2023-08-24 |
US12072978B2 true US12072978B2 (en) | 2024-08-27 |
Family
ID=87574289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/652,285 Active 2042-11-23 US12072978B2 (en) | 2022-02-24 | 2022-02-24 | Fast antimalware scan |
Country Status (1)
Country | Link |
---|---|
US (1) | US12072978B2 (en) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263669A1 (en) * | 2007-04-23 | 2008-10-23 | Secure Computing Corporation | Systems, apparatus, and methods for detecting malware |
US20080263665A1 (en) | 2007-04-20 | 2008-10-23 | Juniper Networks, Inc. | Network attack detection using partial deterministic finite automaton pattern matching |
US20120159631A1 (en) | 2009-07-10 | 2012-06-21 | Jarno Niemela | Anti-Virus Scanning |
US8375450B1 (en) | 2009-10-05 | 2013-02-12 | Trend Micro, Inc. | Zero day malware scanner |
CN104504333A (en) * | 2014-11-25 | 2015-04-08 | 武汉安天信息技术有限责任公司 | Malicious code detection method and device of ELF (executable and linkable format) file |
US9239922B1 (en) | 2013-03-11 | 2016-01-19 | Trend Micro Inc. | Document exploit detection using baseline comparison |
US20160094565A1 (en) | 2014-09-29 | 2016-03-31 | Juniper Networks, Inc. | Targeted attack discovery |
CN106415582A (en) * | 2014-06-27 | 2017-02-15 | 迈克菲股份有限公司 | Mitigation of malware |
WO2017213400A1 (en) | 2016-06-06 | 2017-12-14 | Samsung Electronics Co., Ltd. | Malware detection by exploiting malware re-composition variations |
US10073983B1 (en) | 2015-12-11 | 2018-09-11 | Symantec Corporation | Systems and methods for identifying suspicious singleton files using correlational predictors |
US10713361B2 (en) | 2017-06-12 | 2020-07-14 | Acronis International Gmbh | Anti-malware protection using volume filters |
US20210200866A1 (en) | 2019-07-16 | 2021-07-01 | Acronis International Gmbh | System and method of inspecting archive slices for malware using empty sparse files |
CN114417335A (en) * | 2022-01-19 | 2022-04-29 | 杭州安恒信息技术股份有限公司 | A malicious file detection method, device, electronic device and storage medium |
-
2022
- 2022-02-24 US US17/652,285 patent/US12072978B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263665A1 (en) | 2007-04-20 | 2008-10-23 | Juniper Networks, Inc. | Network attack detection using partial deterministic finite automaton pattern matching |
US20080263669A1 (en) * | 2007-04-23 | 2008-10-23 | Secure Computing Corporation | Systems, apparatus, and methods for detecting malware |
US20120159631A1 (en) | 2009-07-10 | 2012-06-21 | Jarno Niemela | Anti-Virus Scanning |
US8375450B1 (en) | 2009-10-05 | 2013-02-12 | Trend Micro, Inc. | Zero day malware scanner |
US9239922B1 (en) | 2013-03-11 | 2016-01-19 | Trend Micro Inc. | Document exploit detection using baseline comparison |
CN106415582A (en) * | 2014-06-27 | 2017-02-15 | 迈克菲股份有限公司 | Mitigation of malware |
US20160094565A1 (en) | 2014-09-29 | 2016-03-31 | Juniper Networks, Inc. | Targeted attack discovery |
CN104504333A (en) * | 2014-11-25 | 2015-04-08 | 武汉安天信息技术有限责任公司 | Malicious code detection method and device of ELF (executable and linkable format) file |
US10073983B1 (en) | 2015-12-11 | 2018-09-11 | Symantec Corporation | Systems and methods for identifying suspicious singleton files using correlational predictors |
WO2017213400A1 (en) | 2016-06-06 | 2017-12-14 | Samsung Electronics Co., Ltd. | Malware detection by exploiting malware re-composition variations |
US10713361B2 (en) | 2017-06-12 | 2020-07-14 | Acronis International Gmbh | Anti-malware protection using volume filters |
US20210200866A1 (en) | 2019-07-16 | 2021-07-01 | Acronis International Gmbh | System and method of inspecting archive slices for malware using empty sparse files |
CN114417335A (en) * | 2022-01-19 | 2022-04-29 | 杭州安恒信息技术股份有限公司 | A malicious file detection method, device, electronic device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20230267202A1 (en) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3899770B1 (en) | System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats | |
CN109145600B (en) | System and method for detecting malicious files using static analysis elements | |
US8819835B2 (en) | Silent-mode signature testing in anti-malware processing | |
RU2551820C2 (en) | Method and apparatus for detecting viruses in file system | |
US9104872B2 (en) | Memory whitelisting | |
US20070152854A1 (en) | Forgery detection using entropy modeling | |
US20090133125A1 (en) | Method and apparatus for malware detection | |
WO2020000743A1 (en) | Webshell detection method and related device | |
Zhang et al. | SaaS: A situational awareness and analysis system for massive android malware detection | |
US11288368B1 (en) | Signature generation | |
US11068595B1 (en) | Generation of file digests for cybersecurity applications | |
Naik et al. | Fuzzy-Import Hashing: A malware analysis approach | |
US20120185939A1 (en) | Malware detection | |
CN108256329B (en) | Fine-grained RAT program detection method and system based on dynamic behavior and corresponding APT attack detection method | |
US10747879B2 (en) | System, method, and computer program product for identifying a file used to automatically launch content as unwanted | |
US7367056B1 (en) | Countering malicious code infections to computer files that have been infected more than once | |
US12072978B2 (en) | Fast antimalware scan | |
CA3125101A1 (en) | System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats | |
US8918873B1 (en) | Systems and methods for exonerating untrusted software components | |
CN112347479B (en) | False alarm correction method, device, equipment and storage medium for malicious software detection | |
CN113486359A (en) | Software vulnerability detection method and device, electronic device and storage medium | |
CN117951704B (en) | Hash calculation method and device of executable file, electronic equipment and medium | |
Adegbehingbe et al. | Assessing the Impact of Matched Fragments' Relative Locations on Application Artifact Inference | |
Moia et al. | A study on approximate matching for similarity search: techniques, limitations and improvements for digital forensic investigations | |
WO2022102110A1 (en) | Falsification detection device, falsification detection method, and falsification detection program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: MIDCAP FINANCIAL TRUST, MARYLAND Free format text: REAFFIRMATION AGREEMENT;ASSIGNORS:ACRONIS AG;ACRONIS INTERNATIONAL GMBH;ACRONIS SCS, INC.;AND OTHERS;REEL/FRAME:061330/0818 Effective date: 20220427 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
AS | Assignment |
Owner name: ACRONIS INTERNATIONAL GMBH, SWITZERLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KULAGA, ANDREY;BELOUSSOV, SERGUEI;PROTASOV, STANISLAV;REEL/FRAME:067902/0116 Effective date: 20240123 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: AWAITING TC RESP, ISSUE FEE PAYMENT VERIFIED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |