KR101639675B1 - Polymorphic virus analysis system and method therof - Google Patents
Polymorphic virus analysis system and method therof Download PDFInfo
- Publication number
- KR101639675B1 KR101639675B1 KR1020150076576A KR20150076576A KR101639675B1 KR 101639675 B1 KR101639675 B1 KR 101639675B1 KR 1020150076576 A KR1020150076576 A KR 1020150076576A KR 20150076576 A KR20150076576 A KR 20150076576A KR 101639675 B1 KR101639675 B1 KR 101639675B1
- Authority
- KR
- South Korea
- Prior art keywords
- virus
- file
- operand
- decryption
- stop condition
- Prior art date
Links
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/561—Virus type analysis
-
- 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/563—Static detection by source code analysis
-
- 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/568—Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
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)
- Storage Device Security (AREA)
Abstract
The present invention relates to a device for diagnosing whether a file is infected with a polymorphic virus, comprising: a parsing and classifying unit 110 for parsing a binary code of a diagnosis target file by an instruction and classifying the file by item; A first stop condition database 160 for storing a first stop condition, which is a condition for obtaining decryption information for decrypting an encrypted part by searching for information about the first stop condition, A decryption unit 140 for decrypting the encrypted section of the virus section using the decryption information to obtain a decryption file, and a decryption unit 140 for decrypting the decrypted file in advance to the polymorphic virus diagnosis apparatus Compared to the registered virus pattern, if the decoded file matches the virus pattern, the file to be diagnosed is subjected to polymorphic virus And a control unit 150 diagnosing the malfunctioning.
Description
The present invention relates to a polymorphic virus diagnosing apparatus and method, and more particularly, to a polymorphic virus diagnosing apparatus and method for diagnosing whether a computer program or a file is infected with a polymorphic virus by emulation, .
A polymorphic virus, also called a fourth generation virus, is a kind of encryption virus, but unlike a simple form of encryption virus, it has a complicated form that can generate a myriad of variations. In addition, Since many of them encode their own code in triple, the diagnosis process of such a polymorphic virus must be traced back to various forms in order to diagnose the infection, and the diagnosis process is very complicated and time consuming.
In the
In the technique of
However, the polymorphic virus is composed of a valid code in addition to a valid code necessary for decryption, and a garbage code not related to decryption is formed by combining with an effective code. There is a problem that it is difficult to trace a characteristic pattern or command code of such a polymorphic virus according to
In addition,
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a polymorphic virus diagnosing apparatus and method capable of diagnosing the infection of a polymorphic virus in a relatively short period of time, treating a file infected with the polymorphic virus, And a method thereof.
The polymorphic virus diagnosing apparatus according to the present invention for diagnosing whether or not a file is infected with a polymorphic virus is provided. The polymorphic virus diagnosing apparatus comprises: A first stop condition database storing a first stop condition, which is a condition for obtaining decryption information for decrypting an encrypted part of a virus section by searching for information on a virus section made by the polymorphic virus; A comparison section for comparing the item with the first stop condition to obtain decoding information from the first stop condition that matches the item; and a decoding section for decoding the encrypted section of the virus section using the decoding information, And a control unit for controlling each unit The controller is diagnosed as compared to the pre-registered the virus pattern file to the decryption polymorphic virus diagnostic apparatus, when a file of the decryption with the virus pattern match is the diagnostic target files infected by a polymorphic virus.
Preferably, the information processing apparatus further includes a second stop condition database storing a second stop condition, which is a condition for obtaining restoration data for restoring the original data transferred to the virus section to the original position, And the comparison unit compares the command item of the decoded file with the second stop condition to parse the decoded file with the second stop condition that coincides with the command item of the decoded file, And the control unit heats the diagnosis target file by the recovery data.
According to another aspect of the present invention, there is provided a polymorphic virus diagnosis method for diagnosing whether a file is infected with a polymorphic virus, the method comprising the steps of: And comparing the item with a first stop condition that is a condition for obtaining decryption information for decrypting an encrypted portion of the virus section by searching for information on the virus section made by the polymorphic virus, The method comprising the steps of: obtaining decryption information from the first stop condition; decrypting the encrypted portion of the virus section using the decryption information to obtain a decryption file; and transmitting the decryption file to the polymorphic virus diagnosis device Pattern, the decryption file and the bar And diagnosing that the diagnosis target file is infected with the polymorphic virus if the iris patterns match.
Preferably, the information processing apparatus further includes a second stop condition database storing a second stop condition, which is a condition for obtaining restoration data for restoring the original data transferred to the virus section to the original position, Comparing the command item of the decrypted file with a second stop condition that is a condition for obtaining restoration data for restoring the original data transferred to the virus section to the original position; , Obtaining restoration data from the second stop condition that matches the command item of the decryption file, and treating the diagnosis object file with the restoration data.
According to the present invention, it is possible to diagnose a polymorphic virus infection by a simple method in a relatively short period of time, and to provide a polymorphic virus diagnosing device and a diagnostic method that can repair a file infected with a polymorphic virus and restore it to a normal file.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram exemplarily showing the structure of a file,
2 is a block diagram showing a schematic configuration of a polymorphic virus diagnosing apparatus according to a preferred embodiment of the present invention;
3 is a flowchart showing a flow of a polymorphic virus diagnosis method according to a preferred embodiment of the present invention;
4 is a flow chart showing a flow of a polymorphic virus treatment method according to a preferred embodiment of the present invention;
5 is a diagram showing an example of a first stop condition,
6 is a diagram showing an example of a file before decryption and a file after decryption,
FIG. 7 is a diagram showing an example of a decryption file obtained by decrypting an encrypted section of a file infected with a specific polymorphic virus, according to a regular expression.
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, a polymorphic virus diagnosis device and a diagnosis method according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
First, the structure of a file infected with a polymorphic virus is described. Fig. 1 is a diagram exemplifying the structure of a file. Fig. 1 (a) shows a structure of a normal file not infected with a polymorphic virus, and Fig. 2 (b) shows a structure of a file infected with a polymorphic virus.
As shown in FIG. 1 (a), a normal file not infected with a polymorphic virus is composed of a PE header (Portable Executable Header), a code section, and other sections. In a file infected with a polymorphic virus, The virus creates a separate virus section in the normal file and moves the original code that should be located in the code section to a certain position in the newly created virus section in the normal file and embeds the malicious code in that portion, The infected file will infect system memory or other files when it is executed.
Therefore, in the present invention, the file to be diagnosed as a polymorphic virus infection is all files loaded from the outside of the computer into the computer through various paths such as a download process of a file or an e-mail, Is obtained by obtaining the decryption information for decrypting the encrypted file of the virus section newly created by the polymorphic virus, decrypting the encrypted section of the file infected with the polymorphic virus by using the decryption information, And restoring the original data transferred to the virus section to the original position by using the recovery data and deleting the virus section.
Next, a polymorphic virus diagnosis apparatus according to a preferred embodiment of the present invention will be described. 2 is a block diagram showing a schematic configuration of a polymorphic virus diagnosing apparatus according to a preferred embodiment of the present invention.
The polymorphic
When a file to be diagnosed is input to the polymorphic
The parsing and classifying
Here, parsing the binary input with an instruction means to convert a binary input of one step unit having a structure such as " 81 C3 FD 25 17 00 " to " ADD EBX 0x1275fd " Is to classify the converted command by OP Code Type, Operand Type, Operand Size, Operand Value of each Operand.
For example, "ADD EBX 0x1275fd" is classified into OP Code,
The parsing and classifying
The
The comparing
Here, the fact that each item of the command in the unit of one step of the polymorphic virus infection judgment object file coincides with any one of the first stopping conditions stored in the first
For example, when the first stop condition is " DWORD PTR DS: [EBX + EDI], EAX ", the decryption key is the right operand " EAX ", decryption start The address is the value of the base register "EBX", and the decryption size is the value of the index register "EDI". For example, when the first stop condition is "WORD PTR DS: [EDX + 432000], 4AE9", the decryption key is the right operand "0x4AE9", the decryption start address is the left operand value "0x432000" Quot; EDX ".
The comparing
Here, the recovery data includes size information of the data to be recovered, position information of the data to be recovered, and position information of the recovery target. For example, if the second stop condition is "REP MOVS BYTE PTR ES: [EDI] : [ESI] ", the size of the data to be recovered is" ECX ", the position of the data to be recovered is" ESI ", and the position of the recovery object is" EDI " It means to overwrite data located in EDI.
The
The first
An example of the first stop condition stored in the first
The second
Fig. 7 is a diagram showing a virus pattern, which is an example of a decryption file obtained by decoding an encryption section of a file infected with a specific polymorphic virus, according to a regular expression. As with the first stop condition and the second stop condition described above, Type polymorphism virus, and the provider of the polymorphic virus diagnosis apparatus analyzes the newly emerging polymorphic virus every time a new polymorphic virus appears, and obtains a virus pattern and updates the polymorphic
The portion indicated by " ?? " in Fig. 7 indicates a portion where some of the decrypted files may differ from one decrypted file as described above using Fig. 6, and this portion is excluded . In FIG. 7, the portion indicated by "??" in the above-described virus pattern, that is, the portion different from each decryption file is assumed to be 4 bytes, but it may be 4 bytes or more or less than 4 bytes, Therefore, there may be a perfect match without any discrepancy. In addition,
The
Although not shown in FIG. 2, a virus pattern as shown in FIG. 7 is also stored in a certain area of the
The
Next, a method of diagnosing a polymorphic virus infection of a file by the polymorphic
First, a polymorphic virus diagnosis method according to a preferred embodiment of the present invention will be described with reference to FIG. 3 is a flowchart showing a flow of a polymorphic virus diagnosis method according to a preferred embodiment of the present invention.
In step S11, the
Subsequently, the processing proceeds to step S13, where the parsing and classifying
Subsequently, in step S14, the
The determination as to whether or not the command and the first stop condition in step S15 coincide with each other can be made by comparing the OP code type of the command, the Operand Type, Operand Size, Operand Value is a judgment of whether or not the OP Code Type of the first stop condition among the plurality of first stop conditions stored in the first
If it is determined in step S15 that the instruction for one step does not match any one of the plurality of first stop conditions stored in the first stop condition DB 160 (step S15 = NO), the process proceeds to step S19 (Step S19 = YES), it is determined that the file is not infected with the polymorphic virus, and the emulation is terminated. If it is determined in step S19 that the emulation for all of the emulation sections is not finished (step S19 = NO), the process returns to step S13, and steps S13 and thereafter are repeated until all the emulation sections are completed.
As a result of the determination in step S15, if it is determined that the instruction of one step corresponds to any of the plurality of first stop conditions stored in the first stop condition DB 160 (step S15 = YES), the process proceeds to step S16 And proceeds to obtain decryption information from the first stop condition that matches. The method for obtaining the decryption information and the decryption information are the same as those described above for the configuration of the polymorphic
Subsequently, the process proceeds to step S17, where the
If it is determined in step S18 that the decrypted file matches the virus pattern (step S18 = YES), it is determined that the file to be diagnosed is infected with the polymorphic virus, and the process proceeds to the treatment step. If necessary, a message indicating that "this file is infected with the polymorphic virus" may be displayed on the display device (not shown) of the computer at the same time as the transition to the treatment step.
Next, a polymorphic virus treatment method according to a preferred embodiment of the present invention will be described with reference to FIG. 4 is a flowchart showing a flow of a polymorphic virus treatment method according to a preferred embodiment of the present invention.
First, in step S31, the parsing and classifying
The method of parsing the binary code of the decoded file by command and classifying the binary code by item is the same as that described in the description of the polymorphic
Subsequently, the
If it is determined as a result of the determination in step S33 (step S33 = NO), the
If it is determined in step S36 that the emulation for the entire decryption file has not been completed (step S36 = NO), the process returns to step S31 and the emulation for the decryption file is repeated.
If it is determined in step S33 that the command matches any of the plurality of second stop conditions stored in the second stop condition DB 170 (step S33 = YES), the process proceeds to step S34, After the recovery data is obtained from the second stop condition, the process proceeds to step S35 to treat the file infected with the polymorphic virus. The method of obtaining the recovery data and the method of treating the file infected with the polymorphic virus using the restoration data are the same as those described in the description of the polymorphic
The treatment of the file is the process of restoring the original data transferred to the virus section by the polymorphic virus to the original position and deleting the virus section, as described above. If necessary, a message indicating that the treatment of the polymorphic virus has been completed, for example, may be displayed on a display device (not shown) of the computer.
As described above, the present invention provides a polymorphic virus diagnosing apparatus and method capable of diagnosing the infection of a polymorphic virus in a relatively short time in a relatively short time, treating a file infected with the polymorphic virus and recovering the polymorphic virus into a normal file .
Although the preferred embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and various modifications and variations are possible within the scope of the present invention.
Although the embodiments have been described with respect to a personal computer or a desktop computer and a general purpose computer in the above embodiments, the present invention can be applied not only to a general purpose computer but also to a device having an input / output device and a logical operation device, It can also be used for diagnosis and treatment.
100 Polymorphic Virus Diagnostic Device
110 Parsing and classification section
120 comparator
130 operation unit
140 decoding section
150 control unit
160 1st stop condition DB
170 2nd stop condition DB
Claims (7)
A parsing and classifying unit for parsing the binary code of the file to be diagnosed as an instruction and classifying the binary code into items;
A first stop condition database storing a first stop condition, which is a condition for obtaining decryption information for decrypting an encrypted part of the virus section by searching for information on the virus section made by the polymorphic virus,
A comparison unit for comparing the item with the first stop condition and obtaining decoding information from the first stop condition corresponding to the item;
A decryption unit for decrypting the encrypted portion of the virus section using the decryption information to obtain a decryption file;
And a control unit for controlling each unit,
Wherein the control unit compares the decryption file with a virus pattern registered in advance in the polymorphic virus diagnosing apparatus and diagnoses that the diagnosis target file is infected with the polymorphic virus when the decrypted file matches the virus pattern.
Further comprising a second stop condition database storing a second stop condition that is a condition for obtaining restoration data for restoring the original data transferred to the virus section to the original position,
Wherein the parsing and classifying unit parses and classifies the decryption file as an instruction word to obtain a command item of the decryption file,
Wherein the comparison unit compares the command item of the decryption file with the second stop condition to obtain restoration data from the second stop condition that matches the command item of the decryption file,
Wherein the control unit treats the diagnosis target file by the recovery data.
The item is a polymorphic virus diagnosis device which is an OP Code Type of the instruction, a Type of a first Operand, a Size of a first Operand, a Value of a first Operand, a Type of a Second Operand, a Size of a Second Operand, .
The match is made based on the OP Code Type of the command, the type of the first operand, the size of the first operand, the value of the first operand, the type of the second operand, the size of the second operand, The OP code type of the above instruction, the type of the first operand, the size of the first operand, the value of the first operand, the type of the second operand, the size of the second operand, and the value of the second operand are perfectly matched A polymorphic virus diagnostic device.
The command item of the decryption file includes the OP Code Type of the command, the Type of the first Operand, the Size of the first Operand, the Value of the first Operand, the Type of the Second Operand, the Size of the Second Operand, and the Value of the Second Operand Polymorphic virus diagnostics device.
Parsing the binary code of the diagnostic object file with an instruction word and classifying the binary code into items;
The item is compared with a first stop condition, which is a condition for obtaining decryption information for decrypting an encrypted part of the virus section by searching for information on the virus section made by the polymorphic virus, Obtaining decoding information from the stop condition,
Decrypting the encrypted section of the virus section using the decryption information to obtain a decryption file;
Comparing the decrypted file with a virus pattern registered in advance in the polymorphic virus diagnosing device and diagnosing that the diagnosed file is infected with the polymorphic virus if the decrypted file matches the virus pattern.
Further comprising a second stop condition database storing a second stop condition that is a condition for obtaining restoration data for restoring the original data transferred to the virus section to the original position,
Parsing and classifying the decoded file with an instruction word to obtain a command item of the decoded file;
Comparing the command item of the decryption file with a second stop condition that is a condition for obtaining restoration data for restoring the original data transferred to the virus section to the original position, Obtaining recovery data from the condition;
The method of claim 1, further comprising the step of treating the diagnosis target file with the recovery data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150076576A KR101639675B1 (en) | 2015-05-29 | 2015-05-29 | Polymorphic virus analysis system and method therof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150076576A KR101639675B1 (en) | 2015-05-29 | 2015-05-29 | Polymorphic virus analysis system and method therof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101639675B1 true KR101639675B1 (en) | 2016-07-14 |
Family
ID=56499351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150076576A KR101639675B1 (en) | 2015-05-29 | 2015-05-29 | Polymorphic virus analysis system and method therof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101639675B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000000410A (en) * | 1999-10-20 | 2000-01-15 | 남궁종 | System and method for security management on distributed PC |
KR100367129B1 (en) | 2000-03-21 | 2003-01-09 | 주식회사 하우리 | A polymorphic virus analysis system and a method thereof |
JP2003186687A (en) * | 2001-12-17 | 2003-07-04 | Kanazawa Inst Of Technology | Method and apparatus for virus detection |
KR20070118589A (en) * | 2005-02-11 | 2007-12-17 | 유니버셜 데이터 프로텍션 코퍼레이션 | Method and system for microprocessor data security |
-
2015
- 2015-05-29 KR KR1020150076576A patent/KR101639675B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000000410A (en) * | 1999-10-20 | 2000-01-15 | 남궁종 | System and method for security management on distributed PC |
KR100367129B1 (en) | 2000-03-21 | 2003-01-09 | 주식회사 하우리 | A polymorphic virus analysis system and a method thereof |
JP2003186687A (en) * | 2001-12-17 | 2003-07-04 | Kanazawa Inst Of Technology | Method and apparatus for virus detection |
KR20070118589A (en) * | 2005-02-11 | 2007-12-17 | 유니버셜 데이터 프로텍션 코퍼레이션 | Method and system for microprocessor data security |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Luo et al. | Semantics-based obfuscation-resilient binary code similarity comparison with applications to software and algorithm plagiarism detection | |
Calvet et al. | Aligot: Cryptographic function identification in obfuscated binary programs | |
CN103761475B (en) | Method and device for detecting malicious code in intelligent terminal | |
JP5562961B2 (en) | Malware detection system and method | |
CN100594509C (en) | Software protection method | |
WO2015101096A1 (en) | Method and device for detecting malicious code in smart terminal | |
CN110825363B (en) | Intelligent contract acquisition method and device, electronic equipment and storage medium | |
US9607160B2 (en) | Method and apparatus for providing string encryption and decryption in program files | |
WO2013191719A1 (en) | Fingerprinting executable code | |
US20200380125A1 (en) | Method for Detecting Libraries in Program Binaries | |
JP2022009556A (en) | Method for securing software codes | |
CN108829396A (en) | Method, the method for script execution, relevant apparatus and the system of script compiling | |
US8539598B2 (en) | Detection of customizations of application elements | |
JP2015106914A (en) | Malware communication analyzer and malware communication analysis method | |
KR101639675B1 (en) | Polymorphic virus analysis system and method therof | |
CN110147238B (en) | Program compiling method, device and system | |
US20200012581A1 (en) | Method for Semantic Preserving Transform Mutation Discovery and Vetting | |
KR101824699B1 (en) | Apparatus and method for analyzing android application, and computer-readable medium storing program for method thereof | |
CN113810198A (en) | SSD firmware digital signature method and device, computer equipment and storage medium | |
KR101116770B1 (en) | Apparatus for?diagnosing and curing malicious code and method thereof | |
CN115408675B (en) | Method, device, equipment and storage medium for generating eFuse Key | |
US20230230690A1 (en) | Medical device message coding management | |
JP5687593B2 (en) | Analysis device, analysis method, and analysis program | |
KR101711092B1 (en) | Apparatus and method for restoring execution file | |
JP6390217B2 (en) | Software change program, software change device, and software change method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190708 Year of fee payment: 4 |