WO2007056932A1 - Procede pour supprimer un programme contenant un virus et procede pour recuperer les donnees detruites par le virus - Google Patents

Procede pour supprimer un programme contenant un virus et procede pour recuperer les donnees detruites par le virus Download PDF

Info

Publication number
WO2007056932A1
WO2007056932A1 PCT/CN2006/002919 CN2006002919W WO2007056932A1 WO 2007056932 A1 WO2007056932 A1 WO 2007056932A1 CN 2006002919 W CN2006002919 W CN 2006002919W WO 2007056932 A1 WO2007056932 A1 WO 2007056932A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
behavior
virus
destructive
virus program
Prior art date
Application number
PCT/CN2006/002919
Other languages
English (en)
French (fr)
Inventor
Jie Bai
Wei Li
Zhengyu Lu
Original Assignee
Jie Bai
Wei Li
Zhengyu Lu
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jie Bai, Wei Li, Zhengyu Lu filed Critical Jie Bai
Priority to EP06805120A priority Critical patent/EP1967954A1/en
Priority to US12/093,776 priority patent/US20080222215A1/en
Publication of WO2007056932A1 publication Critical patent/WO2007056932A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data

Definitions

  • the present invention relates to a data recovery method, apparatus, and virus program removal method that are corrupted by a virus program.
  • the cleaning methods used in the existing methods for removing harmful computer programs basically adopt the "one size fits all" processing method.
  • the following examples illustrate several specific steps of the applicable examples of the method:
  • a file that exists in a computer system is itself an executable of a virus program, that is, the file is a pure virus program
  • the file is directly deleted.
  • the anti-virus anti-virus program finds the insertion point of the virus program attached to the tail of the host program or other location, thereby separating the virus program from the host program and deleting the virus program; otherwise, the entire host program can only be deleted.
  • the existing anti-virus program can only delete it, and cannot perform in-depth analysis and host program. restore.
  • the exe files and dll files in Windows are in PE format.
  • the PE file consists of multiple sections. Each section has a hole that is aligned by the cluster size. If the virus program is small enough, it can be divided into several parts and inserted into the last gap of each section, so that it is not necessary. An extra section is added, so the file size remains the same.
  • the shelled virus program which wraps the host program without changing the file name and other attributes of the host program, runs the system.
  • the virus program When the program is hosted, the virus program first releases the host program and starts running. For the above several virus programs, when the existing anti-virus program determines that the host program has a virus program, it can only be deleted, and it is impossible to perform in-depth analysis and recovery of the host program.
  • the Win32.crypto virus program can infect ZIP, A J, RAR, ACE, CAB and many other types of compressed files.
  • the code of these virus programs contains a compressed file for a specific file type, such as a ZIP or ARJ type compressed file decompressed and compressed code segment, and the code segment generally first decompresses the compressed content in the compressed file. Then infect the appropriate file in the decompressed file, and finally recompress the infected file back, and modify the checksum of the compressed file header to make the content of the checksum unchanged, or adopt Other means to compress the compressed file that has been infected with the virus program file without being modified or infected.
  • the existing virus program cleaning method either deletes the file infected with the virus program in the compressed file, or does not find out because the checksum of the compressed file header does not change.
  • the existing computer virus program clearing method can not recover the seriously damaged host program or the severely damaged data when the virus program is cleared, so that the computer after the virus program is cleared cannot recover the virus as much as possible. The previous state of the program.
  • the technical problem to be solved by the present invention is to provide a method and apparatus for recovering data corrupted by a virus program, and a method for clearing a virus program, which can relatively reliably locate a virus program and remove the virus program. At the same time maximize the recovery of infected and corrupted data in the computer system.
  • the data recovery method damaged by the virus program provided by the present invention includes:
  • the corresponding reverse behavior operation step is performed according to the operational steps of the destructive behavior executable by the virus program.
  • the method further includes: backing up related information of the computer operating system, and performing the reverse behavior operation step by using the backup data.
  • the backup is an incremental backup.
  • the corresponding control processing program is compiled according to the destructive operation behavior
  • the virus program invokes a corresponding control handler that records the destructive operational behavior of the virus program.
  • the method further includes: the control processing program returns a success response message to the to-be-detected program.
  • the system function calling program corresponding to the operating system or the destructive operation behavior transfers the control right to the corresponding control processing program, so that the control processing program obtains the control of the destructive operation behavior. right.
  • the inverse behavioral operation steps are performed in the order of the destructive behavioral operational steps executable by the virus program.
  • the corresponding inverse behavioral operational steps established in accordance with the destructive behavioral operational steps are stored in the form of a database list.
  • the apparatus for recovering virus-destroyed data provided by the present invention includes:
  • An input unit configured to obtain a destructive behavior operation step executable by the virus program; a creation unit, configured to establish an inverse behavior operation step corresponding to the destructive behavior operation step; and an execution unit, configured to execute the inverse behavior operation step.
  • the device further includes: a data backup unit, configured to back up related information of the computer operating system, and the execution unit uses the backup information to complete the reverse behavior operation step.
  • a data backup unit configured to back up related information of the computer operating system, and the execution unit uses the backup information to complete the reverse behavior operation step.
  • the device further includes: a virtual environment unit, configured to embed the control processing program obtained according to the destructive operation behavior into an operating system, so that the control processing program obtains control of the destructive operation behavior;
  • a virtual environment unit configured to embed the control processing program obtained according to the destructive operation behavior into an operating system, so that the control processing program obtains control of the destructive operation behavior;
  • the method for clearing a virus program provided by the present invention includes:
  • the present invention establishes a reverse operation step corresponding to the destructive operation of the virus program for each different virus program, and can take corresponding reverse processing steps for the destructive operation adopted by different virus programs, if the destructive operation can Destroying the data, the reverse operation step enables recovery of the data corrupted by the virus. This allows the computer after the removal of the virus program to recover as much as possible before the virus program.
  • the executable behavioral operation steps of the virus program in the method for recovering data corrupted by the virus program of the present invention can be obtained by a computer.
  • the obtaining process may be obtained by: obtaining and decomposing a destructive operation behavior of a known virus program; compiling a corresponding control processing program according to the destructive operation behavior; embedding the control processing program in an operating system;
  • the control processing program is called, and the operation behavior of the program to be detected is recorded by the control processing program, thereby realizing detection and recording of the operation behavior of the program.
  • the implementation method is simple and easy, and does not require an analysis tool program such as DEBUG, PROVIEW, and a dedicated test computer to analyze and track the specific workflow of the virus program, thereby recording the operation behavior of the virus program.
  • the present invention also provides a data recovery device that is destroyed by a virus program, and the device can perform corresponding reverse operation steps for the destructive operation of each different virus program, and utilize the backup of the system file to implement Recovery of data corrupted by viruses.
  • the device compensates for the drawbacks of existing virus removal methods for the same "one size fits all" mode of processing for any virus, thereby allowing the computer after the removal of the virus program to recover as much as possible from the previous state of the infected program.
  • FIG. 1 is a flow chart showing an embodiment of a method for restoring data corrupted by a virus program of the present invention
  • Figure 2 is a schematic diagram of a source code sequence block that a virus has to perform a particular function or result; 3 is a schematic diagram of the behavioral operation steps corresponding to the virus program source code sequence block shown in FIG. 2;
  • FIG. 4 is a schematic structural view of an embodiment of a data recovery device destroyed by a virus program according to the present invention
  • FIG. 5 is a flow chart of an embodiment of a virus removal method of the present invention.
  • Figure 6 is a flow chart showing the operation of destructive behavior executable by a virus program
  • Figure 7 is a schematic structural diagram of a system function call table
  • Figure 8 is a schematic diagram of the actual storage area of the system function calling program
  • FIG. 9 is a schematic diagram showing a structure when a system function call table shown in FIG. 7 stores a corresponding control processing program
  • Figure 10 is a diagram showing the actual storage area of the function call program of the storage example shown in Figure 9;
  • Figure 11 is a schematic diagram showing the structure of an independent operation behavior call table storing the control processing program.
  • the core idea of the present invention is: according to the destructive behavior operation steps executable by the obtained virus program, establishing a corresponding reverse behavior operation step, and performing the reverse behavior operation step, thereby realizing the inverse operation of the virus program operation, thereby implementing the virus Stripping of the program and recovery of data corrupted by the virus.
  • FIG. 1 there is shown a flowchart of an embodiment of a method for recovering data corrupted by a virus program according to the present invention, which comprises the following steps.
  • Step si obtaining an executable destructive behavior operation step of the virus program
  • a virus program like any computer program, has a series of source code that can perform a specific operation.
  • a collection of such source code can be thought of as a source code sequence block that performs a specific function or result, such as Figure 2.
  • a typical virus program shown has a source code sequence block with N specific functions or results, namely sequence block 1, sequence block 2 sequence block N.
  • the sequence block described here may be used to perform specific data corruption operations, such as data transfer, deletion, etc.; it may also be used to perform parasitic operations of its own program, such as by modifying its own program to modify an entry pointer of the host program.
  • Mosaic into the host program this mosaic method is not repeated here as a traditional method), or the host program becomes its own subsidiary program.
  • FIG. 3 is a behavior operation step corresponding to the virus program source code sequence block shown in FIG. 2.
  • the sequence block 1 in FIG. 2 corresponds to the behavior operation step 1 in FIG. 3
  • the sequence block 2 in FIG. 2 corresponds to the behavior operation step 2 in FIG. 3
  • the sequence block in FIG. N corresponds to the behavior operation step N in FIG.
  • the behavioral steps of the virus program that is, the source code sequence block that completes a particular function or result, can be derived from the analysis.
  • the usual steps for analyzing a virus program can be divided into dynamic and static.
  • the dynamic analysis refers to the use of DEBUG and other program debugging tools to dynamically track the virus program in the case of memory poisoning, and observe the specific working process of the virus program, so as to further understand the working of the virus program on the basis of static analysis. principle.
  • dynamic analysis is not necessary.
  • the virus program uses more technical means, it is necessary to use a combination of dynamic and static analysis methods to complete the entire analysis process.
  • the F-lip virus program uses random encryption, and the dynamic analysis of the decryption program of the virus program can complete the decryption work, thereby performing the next static analysis.
  • the static analysis refers to the use of a disassembler such as DEBUG to print the virus program code into a disassembled program list for analysis, to see which modules the virus program is divided into, which system calls are used, which techniques are used, and how to infect the virus program.
  • the process of the file is flipped to the process of cleaning the virus program, repairing the data corrupted by the virus, which code can be used as the signature and how to defend against the virus program.
  • the signature of the virus program is stored in the signature database of the virus program.
  • it is necessary to derive the behavioral steps of the virus program that is, to complete a specific function or result source code sequence block for guiding the recovery of data corrupted by the virus program.
  • the behavioral steps of the virus program that is, the source code sequence block that completes a particular function or result, can be automatically obtained by a computer program, which will be described in detail later.
  • Step s2 establishing an inverse behavior operation step corresponding to the behavior operation step.
  • the reverse behavior operation step corresponding to the behavior operation step may be established according to the behavior operation step; for example, establishing the inverse operation corresponding to the behavior operation steps 1, 2 N Step 1, 2, ..., N.
  • Hypothetical map The behavioral operation step 1 in 3 is used to transfer the stored data, and the corresponding reverse behavior operation step 1 is used for the corresponding reverse behavior operation, that is, the operation of restoring data; if the behavior operation step 2 in FIG. 3 is used to delete the data, Then, the corresponding reverse behavior operation step 2 is used to complete the corresponding inverse operation to recover the deleted data (for example, to restore data in a redundant check manner).
  • the step of establishing a corresponding inverse behavior that is, generating a set of program source code instructions, the operation steps corresponding to the instruction set being opposite to the operations performed by the behavior operation step.
  • the corresponding reverse behavior operation step obtained by the behavior operation step can be implemented by a correspondence table, that is, a data list is preset, and corresponding behavior steps and corresponding reverse behavior operation steps are listed in the table;
  • the virus program performs a certain behavior operation step, and compares the corresponding reverse behavior operation steps from the preset data list, for example: adding and deleting; thereby completing all the virus programs.
  • the conversion of the behavioral steps to the reverse behavioral steps is.
  • Step S3 performing the reverse behavior operation step.
  • the execution of the inverse behavior operation step is actually a process of sequentially invoking the program source code instructions. According to each program source code instruction, the corresponding execution operation is performed, thereby completing the recovery operation of the data destroyed by the virus program. For example, a main function that performs the function of the inverse action operation step is established, and in the main function, the process of sequentially calling the program source code instructions in sequence is actually set.
  • the inverse behavioral steps can be performed in the order of the operational steps that the virus program can perform.
  • the reverse action operation step that is, the set of program source code instructions, may be stored in a database manner or stored in a large data storage table.
  • the reverse action operation step of a virus program is a storage element (subset) in the database.
  • the database may use the following data structure to store one of the storage elements, that is, the reverse behavior of a virus program:
  • Virus program name (reverse behavior operation step 1, reverse behavior operation step 2, ... retrograde as operation step N), (additional information segment, delete virus program body);
  • the 1, 2, ..., N represent the sequence of the steps of the virus removal process
  • the reverse behavior operation step includes a source code sequence block
  • the source code sequence block is used to complete the virus process
  • the above-mentioned reverse behavior operation step information may also include related operation parameters and the like.
  • the above data structure can also be in other ways, such as:
  • Virus program name (inverse behavior step 1 , reverse behavior step 2, ... retrograde for operation step N, additional information segment), (delete virus program body);
  • the storage mode and the stored data structure are just a kind of artificial setting by the programmer, and any feasible storage method and data structure can be used as long as the storage and invocation of the reverse behavior operation step can be realized.
  • the above steps si, s2 and s3 can complete the recovery of data corrupted by the virus program in considerable cases, but it is not the most complete.
  • the virus program deletes or overwrites the original data
  • the reverse behavior operation step established by this does not include the original data information.
  • the reverse behavior steps described above cannot retrieve the original data for coverage to recover the data corrupted by the virus program.
  • the method for recovering data corrupted by the virus program may further include backing up information related to the computer operating system, and performing the reverse operation step by using the backup data of the backup step, for example:
  • the data is called back to overwrite the corrupted data, thereby enabling the recovery of data corrupted by the virus program.
  • the backup data can be stored in the information backup library to facilitate the call of the backup data.
  • the computer operating system related information is generally a program file that is easily infected by a computer virus program and a sensitive file of an operating system, for example, a registry, a system configuration file, and the like. If the virus program modifies or deletes certain files of the computer, and the file has a backup in the information backup library, the backup file of the file may be overwritten from the information backup library. Preferably, in order to ensure the impact on the user's computer space, only the sensitive information of the backup operating system is selected, because the general virus program has a greater chance of infecting the information, and has the greatest impact on the user's computer.
  • the backup of the computer operating system related information may also be an incremental backup.
  • the sensitive part of the system for example, the registry, system configuration files, etc.
  • the real-time incremental backup of the changed part that is, only need to back up the modified information to the corresponding location.
  • all files can be backed up regularly according to the permission of the user's computer.
  • a virus program named ABC after analyzing the virus program by human or computer, the behavior of the virus program is: (1) Overwrite the value of HKEY_LOCAL_MACHINE ⁇ SOFTWARE ⁇ 456 in the registry, (2) Add the file location of the abc.exe file to the corresponding startup entry in the registry. (3) The virus program automatically releases a Trojan file named 123.exe.
  • Clear Method 2 Remove the startup item created by the virus program from the registry.
  • the above information structure is an artificially set storage mode of the reverse behavior operation step.
  • other structural methods can also be used for storage, for example:
  • the foregoing storage information may further include related operation parameters of the reverse behavior operation step.
  • the reverse behavior operation step is actually a series of function sequences (hereinafter referred to as "function sequence") in this specific embodiment.
  • ABC stands for the name of the virus program body.
  • F ( ) represents a function that writes a value override to a registry key.
  • *P ( ) represents a pointer function to the backup data of the registry in the "Information Backup Library”.
  • X ( ) stands for "HKEY_LOCAL_MACHINE ⁇ SOFTWARE ⁇ 456" in the path function in the registration table.
  • G ( ) represents a function that performs an operation to delete an entry in the registry.
  • *Q ( ) represents a pointer function to the registry.
  • Y ( ) represents the path function of the startup item created by the virus program in the registry.
  • variable K represents the startup item established by the virus program in the registry.
  • DEL ( ) represents a function that performs a delete file.
  • *PATH ( ) represents a pointer function to the file path.
  • the computer performs the process of performing the inverse behavior operation step, that is, the process of sequentially performing a series of function sequences.
  • the performing the reverse behavior operation step may be to establish a main function function for performing the reverse behavior operation step function, and the main function function sequentially calls a certain "function sequence" to implement the execution inverse Behavioral action steps to recover data corrupted by a virus program. example:
  • the recovery device for the data corrupted by the virus program includes an input unit 41, a creation unit 42, and an execution unit 43.
  • the input unit 41 is configured to obtain a destructive behavior operation step executable by the virus program.
  • the destructive behavior operation step executable by the virus program may be pre-analyzed and stored in a database form in a user's computer system, and the input unit 41 of the data recovery device destroyed by the virus program directly calls the database.
  • the destructive behavior operation steps executable by the virus program can be obtained.
  • the destructive behavior operation step executable by the virus program may also be pre-analyzed and stored in a public server in the form of a database, and the input unit 41 of the recovery device of the data corrupted by the virus program connects the database through a network.
  • the destructive behavior steps executable by the virus program can be obtained.
  • the database of the destructive behavior operation steps stored in the local user's computer system may be periodically or irregularly connected to the public server through the network to be upgraded to complete the local database.
  • the process of analyzing the executable destructive behavioral steps of the virus program has been detailed in the foregoing description of the recovery method, and will not be described herein.
  • the creating unit 42 is configured to establish an inverse behavior operation step corresponding to the destructive behavior operation step.
  • an inverse behavior operation step corresponding to the destructive behavior operation step according to the destructive behavior operation step for example, establishing a destructive behavior operation step 1, 2 N corresponding to the inverse operation steps 1, 2 N.
  • the corresponding reverse behavior operation step 1 is used for the corresponding inverse behavior operation to recover the data;
  • the bad behavior operation step 2 is for deleting data, and the corresponding reverse behavior operation step 2 is for completing the corresponding inverse operation to recover the deleted data (for example, recovering data by means of redundancy check).
  • the step of establishing a corresponding inverse behavior that is, generating a set of program source code instructions, the operation steps corresponding to the instruction set being opposite to the operations performed by the behavior operation step.
  • the executing unit 43 is configured to perform the reverse operation step.
  • the execution of the inverse behavior operation step is actually a sequential process of respectively exchanging the program source code instructions. According to each program source code instruction, the corresponding execution operation is performed, thereby completing the recovery operation of the data destroyed by the virus program. For example, a main function that performs the function of the inverse behavior step is established. In this main function, the program source code instructions are actually called in sequence.
  • the recovery device for the data corrupted by the virus program may further include a data backup unit 44 for backing up related information of the computer operating system, the backup information assisting the execution unit 43 to complete the reverse behavior operation step.
  • the backup data can be stored in the information backup library to facilitate the call of the backup data.
  • the input unit 41, the creation unit 42, and the execution unit 43 can perform data recovery that is considerably destroyed by a virus program, but it is not perfect.
  • the virus program deletes or overwrites the original data
  • the reverse behavior operation step established by the virus program does not include the original data information.
  • the reverse behavior operation step cannot retrieve the original data for coverage, so as to recover the data destroyed by the virus program. Therefore, the recovery device for data corrupted by the virus program according to the present invention may further include a data backup unit 44 that pre-backs up information related to the computer operating system.
  • the computer operating system related information is generally a program file that is easily infected by a computer virus program and a sensitive file of an operating system, for example, a registry, a system configuration file, and the like. If the virus program modifies or deletes certain files of the computer, and the file has a backup in the information backup library, the backup file of the file may be overwritten from the information backup library. Preferably, in order to ensure the impact on the storage space of the user's computer, only the sensitive information of the operating system is selected, because the general virus program infects the information. The opportunity is greater and has the greatest impact on the user's computer.
  • the data backup unit 44 may first perform initial backup on sensitive parts of the operating system (for example, registration data, system configuration files, etc.), and store the backed up data or information in the information backup library. After each legal program changes these sensitive parts, the real-time incremental backup is performed on the changed part, that is, only the modified information needs to be backed up in the corresponding position. Of course, all files can be backed up regularly according to the permissions of the user's computer.
  • sensitive parts of the operating system for example, registration data, system configuration files, etc.
  • the recovery device showing the data corrupted by the virus program may further include a virtual environment unit 45.
  • the virtual environment unit 45 is configured to embed the control processing program prepared according to the destructive operation behavior into an operating system, and when the destructive operation instruction in the to-be-detected program invokes the control processing program,
  • the control processing program records the destructive operation behavior of the program to be detected; and returns a success response message, inducing the program to be detected to continue to run in the virtual environment, thereby detecting and recording a series of executable destruction of the virus program sexual behaviors and procedures.
  • FIG. 5 it is a flowchart of an embodiment of a virus program clearing method of the present invention, which includes the following steps:
  • Step 51 Obtain a destructive behavior operation step executable by the virus program.
  • the destructive behavioral operational step refers to a block of code sequences capable of performing a particular function or result;
  • Step 52 Establish an inverse operation step corresponding to the behavior operation step and a virus program deletion step
  • Step 53 Perform the reverse operation step and the virus program deletion step.
  • the virus program clearing method has the same principle as the data recovery method of the virus program destroyed by the virus program in the present embodiment, and the main difference is that the virus program is deleted at the same time on the basis of restoring the data corrupted by the virus program. Therefore, the description of the method for clearing the virus program can be referred to the description of the method for restoring the data corrupted by the virus program.
  • the destructive behavior operation steps executable by the virus program may be analyzed in advance, or may be automatically obtained by a computer program. Take it.
  • the method for the computer to obtain an executable behavioral operation step of a virus program may include the following steps.
  • Step a Obtain the destructive operational behavior of known virus programs.
  • Virus programs have some behavior, are common behaviors of virus programs, and are special.
  • the acquisition of the destructive operational behavior of the known virus program can be accomplished manually or by computer.
  • the destructive operational behavior typically includes unconventional operations on the computer system or operations that are susceptible to vicious results. For example: Unconventional read and write operations, deleting a system file, causing memory conflicts, corrupting hard disk partition tables, and so on.
  • Occupy INT13H modify the total amount of memory in the DOS system data area, write writes to COM and EXE files, and switch features of virus programs and host programs.
  • virus programs In addition to the above-mentioned more obvious destructive operational behaviors, virus programs generally include more normal operational behaviors, and if they are dangerously operational, either alone or in combination, to destroy the data, the destructive operational behavior of the virus program of the present invention. In the range.
  • virus programs generally include more normal operational behaviors. If these operational actions alone or in combination may result in dangerous operations that destroy data, they also belong to the destruction of the virus program of the present invention. Within the scope of sexual manipulation.
  • the vandalism of a virus program can consist of a series of instructions or sets of instructions that perform destructive operations and the necessary parameters, each of which produces at least one independent destructive operational behavior. Therefore, the destructive operation behavior of the existing virus program is obtained, that is, the instruction or instruction set involved in the independent destructive operation behavior included in the existing virus program and the necessary parameters are extracted. For example, if the 03H or 05H function call of the 13H interrupt involves a dangerous operation that may corrupt the data, the instruction corresponding to the 03H or 05H function call of the 13H interrupt can be regarded as an instruction that generates an independent destructive operation. .
  • the instruction set corresponding to the 02H function call of the 10H interrupt and the function call of the 06H function of the 11H can be Think of it as a set of instructions that produce an independent destructive action. If a detected program has such an instruction code, it can be known that the detected program has a suspicious operation behavior that may be destructive to other programs or data. By collecting these behaviors, one can judge a set of behaviors of the program. Is the program Virus programs and how to maximize the recovery of data corrupted by the corresponding virus program.
  • Obtaining destructive operational behavior of known virus programs can also be done by computer assistance.
  • a Chinese invention patent entitled “Methods and Systems for Detecting and Clearing Known and Unknown Computer Viruses”, with the application number of 01117726.8, is provided to provide a method for detecting a virus infection to detect a virus.
  • Destructive operational behavior of known and unknown virus programs is available. Since the invention of the application number 01117726.8 has been disclosed, it will not be described here.
  • Step b setting or compiling a control processing program corresponding to the operation behavior according to the destructive operation behavior.
  • the control processing program corresponding to the behavior may be set according to the destructive operation behavior, and the control processing program is configured to respond to the destructiveness of the to-be-detected program.
  • DEL parameter 1; parameter 2; parameter 3
  • DEL indicates deletion
  • parameter 1 indicates the deleted disk number
  • parameter 2 indicates the deleted
  • parameter 3 indicates whether the variable accepting the deletion is successful
  • the control handler corresponding to the destructive operation behavior may be:
  • the instruction of line (1) indicates that the destructive instruction "DEL (parameter 1; parameter 2; parameter 3) is recorded as a string into the file FILE1; the instruction of the line (2) represents the destructive instruction DEL (parameter 1; parameter 2; parameter 3) gives feedback to the successful flag "0".
  • Step c embedding the control processing program into an operating system, so that the control processing program obtains control of the destructive operation behavior, and the control right can be obtained by causing the control processing program to obtain system control rights superior to the operating system.
  • the control processing program is required to obtain control over the destructive operational behavior of the detected program to obtain Destructive operational behavior that occurs in the detected program, for which purpose the control is embedded in the operating system to make the control
  • the program obtains the control of the corresponding destructive operation behavior; of course, the control processing program can also obtain the monitoring right of the system by other means to achieve the purpose of detecting and recording the destructive operation behavior of the program to be detected.
  • the method of embedding the control processing program into the operating system can be implemented by embedding the control processing program into the function calling table of the operating system; or the control processing program can be stored in a separate operation behavior calling table, so that It has a more advanced priority implementation than the operating system's function call table.
  • the system function call table shown in FIG. 7 includes two fields, a number field for storing the number of the system function calling program, and a function calling address field for storing the system function calling program pointer, that is, Address, which usually corresponds to the first address of the system function caller.
  • Figure 8 is a schematic diagram of the actual memory area of the system function call program.
  • a function provided by an operating system for example, a write disk operation provided by the 13H interrupt handler is required, it needs to be extracted from the system function call table shown in FIG.
  • the address of the 13H interrupt handler is read, and the corresponding program is read into the memory at the corresponding address in the memory area shown in FIG.
  • the control handler is embedded in the operating system, one of the methods is to store the corresponding control handler in the system function call table.
  • 100H H: hexadecimal
  • FIG. 9 shows a schematic diagram of the actual storage area of the function call program of the storage instance of FIG.
  • the storage address of the control processing program is sequentially stored after the address of the system function caller.
  • the method of embedding the control processing program into the operating system is not limited to the storage manner shown in FIG. 9, and the control processing program may be directly stored as an independent operation behavior call as shown in FIG.
  • the manner of the table, and the control processing program obtains the priority of the system function calling program.
  • the implementation of the step is as follows:
  • the system function calling pointer in FIG. 7 is the system function calling program of the function calling address field. The address is modified to the address of the corresponding control handler.
  • the address of the A control handler with the number 0A00 corresponds to the 05H interrupt numbered 0003, and the "function call address" word is required: the stored "05H interrupted ground”
  • the address is "modified to "A control handler address”, so that when the instruction related to the destructive operation behavior calls the program corresponding to "05H interrupt address", the "A control handler address” is actually called, thereby making " The A control handler "obtains system control over the "05H interrupt.”
  • the control handler can be embedded in the operating system.
  • the system function calling program corresponding to the destructive operation behavior may also transfer its control right to the corresponding control processing program, so that the control processing program obtains control of the destructive operation behavior.
  • all the control processing programs form another system function call table in the system, as long as the table has a higher priority than the original system function call table of the system, The control handler can be made to gain control of the destructive operational behavior. For example, when the to-be-detected program calls the control processing program to call the system function calling program, the control processing program in the table described in FIG. 11 is first called, if the called control processing program does not exist in the table described in FIG. , then call the real system function caller in the table shown in Figure 2.
  • the control processing program can record the to-be-detected The operational behavior of the program. That is, when the program to be detected is executed, once the instruction for implementing the destructive operation behavior is executed, that is, the corresponding system function calling program is called, the corresponding control processing program is first called, and the control processing program is It responds and records the destructive operational behavior of the program to be tested.
  • control processing program may also The call of the program to be detected returns the information of the successful response, thereby inducing the program to be detected to continue the next action; in fact, the control right of the operating system is taken over by the control processing program in step c, and the program to be detected is Without the effect of actual operation, the information received is the information returned by the control processing program, and the information obtained is false information relative to its requirements, so the program to be tested does not actually operate in the operating system environment.
  • a virtual operating environment is implemented by means of software in a real operating system.
  • the records and running results of this environment are completely isolated from the real operating system, but the execution process and results of the files or processes are exactly the same as those running in the real operating system.
  • step c is an optional step, and whether the control processing program is embedded in the operating system, as long as it has control superior to the operating system when the instruction involved in the program operation behavior runs, the induced response can be formed.
  • the reverse behavior operation step corresponding to the behavior operation step may be established, and the operation step is performed according to the executable behavior operation step of the virus program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

被病毒程序破坏的数据恢复方法、 装置及病毒清除方法 本申请要求于 2005 年 11 月 16 日提交中国专利局、 申请号为 200510114944.2、 发明名称为 "被病毒程序破坏的数据恢复方法、 装置及 病毒清除方法"的中国专利申请的优先权, 以及要求于 2006年 2月 15曰提 交中国专利局、 申请号为 200610007611.4、 发明名称为 "被病毒程序破坏 的数据恢复方法、 装置及病毒清除方法,,的中国专利申请的优先权, 其全部 内容通过引用结合在本申请中。
技术领域
本发明涉及一种被病毒程序破坏的数据恢复方法、 装置及病毒程序清 除方法。
背景技术
现有的有害计算机程序的清除方法所采用的清除方式基本采用 "一刀 切" 的处理方法, 以下举例说明该方法适用实例的几种具体步骤:
第一, 如果一个计算机系统存在的某一个文件本身就是一个病毒程序 的可执行体, 即该文件是一个纯粹的病毒程序, 则当确认该文件是病毒程 序时, 直接删除该文件。
第二, 如果病毒程序将自身附加到宿主程序中, 例如附加到宿主程序 的尾部(如此一来, 宿主程序就会增大), 并修改宿主程序的入口点来使病 毒程序得到激活, 则需要反病毒的杀毒程序找出病毒程序附加至宿主程序 尾部或其他位置的插入点, 从而将病毒程序和宿主程序分开, 并删除病毒 程序即可; 否则就只能将整个宿主程序删除。
第三, 如果病毒程序使用特殊的感染技巧能够使宿主大小及宿主文件 头上的入口点保持不变, 则现有的反病毒程序只能将其删除, 而无法进行 深入的分析以及宿主程序的恢复。 例如对于 PE ( PortableExecutable )文件 格式来说 , Windows中的 exe文件, dll文件, 都是 PE格式。 PE文件由多 个节构成, 每个节之间留有按簇大小对齐后的空洞, 病毒程序如果足够小 则可以将自身分成几份并分别插入到每个节最后的空隙中, 这样就不必额 外增加一个节, 因而文件大小保持不变。 近期出现的加壳型病毒程序, 即 将宿主程序包裹起来但不改变宿主程序的文件名以及其他属性, 系统运行 宿主程序时, 该病毒程序先将所述宿主程序释放再开始运行。 对于上述的 几种病毒程序, 现有的反病毒程序确定宿主程序带有病毒程序时, 只能将 其删除, 而无法进行深入的分析以及宿主程序的恢复。
如果需要清除的计算机病毒程序感染了压缩文件。 例如: Win32.crypto 病毒程序就可以感染 ZIP, A J, RAR, ACE, CAB 等诸多类型的压缩文 件。 这些病毒程序的代码中含有对特定文件类型的压缩文件, 例如 ZIP或 ARJ类型的压缩文件解压缩和压缩的代码段, 所述代码段一般先把压缩文 件中的被压缩的内容解压缩出来, 然后对解压缩出来的文件中的合适的文 件进行感染, 最后再将感染后的文件重新压缩回去, 同时修改压缩文件头 部的校验和, 使所述校验和的内容不变, 或者采用其他手段使该压缩了已 经被感染了病毒程序文件的压缩文件没有被修改或感染的痕迹。 对于这样 的病毒程序 , 现有的病毒程序的清除方法要么将压缩文件中感染了病毒程 序的文件删除, 要么由于压缩文件头部的校验和没有变化根本查不出来。
可见, 现有的计算机病毒程序的清除方法在清除病毒程序时 , 对被严 重破坏的宿主程序, 或者被破坏严重的数据不能进行恢复, 从而使清除病 毒程序后的计算机无法尽可能恢复到感染病毒程序以前的状态。
发明内容
鉴于上述问题, 本发明所要解决的技术问题是提供一种被病毒程序破 坏的数据的恢复方法、 装置以及病毒程序的清除方法, 所述方法能够比较 可靠地定位病毒程序, 并在清除病毒程序的同时最大限度地恢复计算机系 统中被感染和破坏的数据。
为解决上述技术问题,本发明提供的被病毒程序破坏的数据恢复方法, 包括:
获得病毒程序的可执行的破坏性行为操作步骤;
建立所述破坏性行为操作步骤对应的逆行为操作步骤;
根据病毒程序可执行的破坏性行为的操作步骤执行对应的逆行为操作 步骤。
所述方法还包括: 对计算机操作系统的相关信息进行备份, 并利用所 述备份数据, 执行所述逆行为操作步骤。 所述备份为增量式备份。
其中, 按照下述步骤获得病毒程序可执行破坏性的行为:
获得已知病毒程序的破坏性操作行为;
才艮据所述破坏性操作行为编制对应的控制处理程序;
使控制处理程序获得对所述破坏性操作行为的控制权;
病毒程序调用相应的控制处理程序, 由所述控制处理程序记录所述病 毒程序的破坏性操作行为。
所述方法还包括: 所述控制处理程序向所述待检测程序返回成功应答 信息。
其中, 将所述控制处理程序嵌入操作系统或者所述破坏性操作行为对 应的系统功能调用程序将其控制权移交给相应的控制处理程序, 使控制处 理程序获得对所述破坏性操作行为的控制权。
按照病毒程序可执行的破坏性行为操作步驟的顺序执行所述逆行为操 作步骤。
将根据所述破坏性行为操作步驟建立的相对应的逆行为操作步骤以数 据库列表的方式进行存储。
本发明提供的被病毒破坏的数据的恢复装置, 包括:
输入单元, 用于获取病毒程序可执行的破坏性行为操作步骤; 创建单元,用于建立所述破坏性行为操作步骤对应的逆行为操作步骤; 执行单元, 用于执行所述逆行为操作步骤。
所述装置还包括: 数据备份单元, 用于对计算机操作系统的相关信息 的备份, 所述执行单元利用所述备份信息完成所述逆行为操作步骤。
所述装置还包括: 虚拟环境单元, 用于将根据所述破坏性操作行为得 到的所述控制处理程序嵌入操作系统 , 使控制处理程序获得对所述破坏性 操作行为的控制权; 当病毒程序调用所述控制处理程序时, 由所述控制处 理程序记录所述病毒程序的操作行为。
本发明提供的病毒程序的清除方法, 包括:
获得病毒程序可执行的破坏性行为操作步骤;
建立所述破坏性行为操作步驟对应的逆行为操作步骤和病毒程序删除 步骤;
执行所述逆操作步骤和所述病毒程序删除步骤。
与现有技术相比, 本发明具有至少以下的优点:
本发明针对每个不同的病毒程序, 建立了所述病毒程序的破坏性操作 对应的逆操作步骤, 可以对不同的病毒程序采用的破坏性操作采取相应的 逆处理步骤, 如果该破坏性操作能够破坏数据, 所述逆操作步骤就能够实 现被病毒破坏的数据的恢复。 从而使清除病毒程序后的计算机尽可能的恢 复到感染病毒程序以前的状态。
本发明所述被病毒程序破坏的数据的恢复方法中的所述病毒程序的可 执行的行为操作步骤, 可以通过计算机自行获取。 所述获取过程可以通过 以下步驟获得: 获得并分解已知病毒程序的破坏性操作行为; 根据所述破 坏性操作行为编制对应的控制处理程序; 将所述控制处理程序嵌入操作系 统; 待检测程序调用所述控制处理程序, 由所述控制处理程序记录所述待 检测程序的操作行为, 从而实现检测以及记录程序的操作行为。 该实现方 式简单易行, 不需要 DEBUG、 PROVIEW等分析用工具程序和专用的试验 用计算机就可以对所述病毒程序的具体工作流程进行分析、 跟踪, 进而记 录病毒程序的操作行为。
本发明还提供了一种被病毒程序破坏的数据的恢复装置, 所述装置可 以针对每个不同的病毒程序的破坏性操作, 进行对应的逆操作步骤, 并利 用对系统文件的备份, 进而实现被病毒破坏的数据的恢复。 所述装置弥补 了现有清除病毒的方法对任何病毒都采用相同的 "一刀切" 模式的处理步 骤的缺陷, 从而使清除病毒程序后的计算机尽可能的恢复到感染病毒程序 以前的状态。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图 1 是本发明一种被病毒程序破坏的数据的恢复方法的实施例流程 图;
图 2 是一个病毒具有的完成特定功能或结果的源代码序列块的示意 图; 图 3是图 2所示的所述病毒程序源代码序列块对应的行为操作步骤的 示意图;
图 4是本发明一种被病毒程序破坏的数据恢复装置的实施例结构示意 图;
图 5是本发明一种病毒清除方法实施例流程图;
图 6是获取病毒程序可执行的破坏性行为操作流程图;
图 7是系统功能调用表的结构示意图;
图 8是系统功能调用程序实际存储区的示意图;
图 9是图 7所示的系统功能调用表存储有相应的控制处理程序时的结 构示意图;
图 10是图 9所示存储实例的功能调用程序实际存储区的示意图; 图 11 是存储所述控制处理程序的一个独立的操作行为调用表的结构 示意图。
具体实施方式
本发明的核心思想在于: 根据获取的病毒程序可执行的破坏性行为操 作步驟, 建立对应的逆行为操作步骤, 并执行该逆行为操作步骤, 从而实 现病毒程序操作的逆操作, 进而实现对病毒程序的剥离以及对被病毒破坏 的数据的恢复。
参照图 1, 是本发明所述的被病毒程序破坏的数据的恢复方法的实施 例流程图, 包括以下步骤。
步骤 si , 获得病毒程序的可执行的破坏性行为操作步骤;
一个病毒程序和任何一个计算机程序一样, 都具有一系列的能够完成 特定操作的源代码, 多个这样的源代码的集合可以看作是完成一个特定功 能或结果的源代码序列块, 例如图 2所示的一个典型的病毒程序就具有 N 个特定功能或结果的源代码序列块, 即序列块 1、 序列块 2 序列 块 N。 这里所述的序列块可能用于完成特定的数据破坏操作, 例如数据的 转移、 删除等; 也可能用于完成自身程序的寄生操作, 例如将自身程序通 过修改宿主程序的某个入口指针的方式镶嵌到该宿主程序中 (这种镶嵌手 段作为传统方法本文不再赘述), 或者将宿主程序变为自身的附属程序。 因 此, 通过分析获得所述每个序列块的操作结果和操作行为, 可以获得病毒 程序的可执行的行为操作步骤, 例如图 3就是图 2所示的病毒程序源代码 序列块对应的行为操作步骤, 其中, 图 2中的序列块 1对应图 3中的行为 操作步骤 1、 图 2中的序列块 2对应图 3中的行为操作步骤 2, ...... , 图 2 中的序列块 N对应图 3中的行为操作步糠 N。
所述的病毒程序的行为操作步驟, 即完成一个特定功能或结果的源代 码序列块, 可以由分析得出。 通常的分析病毒程序的步骤可以分为动态和 静态两种。
所述动态分析则是指利用 DEBUG等程序调试工具在内存带毒的情况 下, 对病毒程序 ^故动态跟踪, 观察病毒程序的具体工作过程, 以进一步在 静态分析的基础上理解病毒程序工作的原理。 在病毒程序编码比较筒单的 情况下, 动态分析不是必须的。 但当病毒程序采用了较多的技术手段时, 必须使用动、静相结合的分析方法才能完成整个分析过程。例如 F— lip病毒 程序采用随机加密, 利用对病毒程序的解密程序的动态分析才能完成解密 工作, 从而进行下一步的静态分析。 所述静态分析是指利用 DEBUG等反 汇编程序将病毒程序代码打印成反汇编后的程序清单进行分析, 看病毒程 序分成哪些模块, 使用了哪些系统调用, 采用了哪些技巧, 如何将病毒程 序感染文件的过程翻转为清除病毒程序、 修复被病毒破坏的数据的过程, 哪些代码可被用做特征码以及如何防御这种病毒程序等。
现有技术中经过上述分析后, 主要是得出病毒程序的特征码, 存入病 毒程序特征码库中。 在本专利中需要得出病毒程序的行为操作步驟, 即完 成一个特定功能或结果的源代码序列块, 用于指导恢复被病毒程序破坏的 数据。 所述的病毒程序的行为操作步骤, 即完成一个特定功能或结果的源 代码序列块, 可以通过计算机程序自动获取, 该实现方法在后文将进行详 述。
步骤 s2, 建立所述行为操作步骤对应的逆行为操作步驟。
由于步骤 si已经获得病毒程序的可执行的行为操作步骤, 因此可以根 据所述行为操作步驟建立所述行为操作步骤对应的逆行为操作步驟;例如, 建立行为操作步驟 1、 2 N对应的逆操作步驟 1、 2、 …、 N。 假设图 3中的行为操作步骤 1用于转移存储数据, 则对应的逆行为操作步骤 1则 用于对应的逆行为操作, 即恢复数据的操作; 如果图 3 中的行为操作步骤 2用于删除数据, 则对应的逆行为操作步骤 2用于完成对应的逆操作, 以 恢复被删除的数据(例如以冗余校验的方式恢复数据)。 所述建立对应的逆 行为操作步骤, 即生成一个程序源代码指令的集合, 所述指令集合所对应 的操作步骤与所述行为操作步骤所执行的操作相反。 由所述行为操作步骤 得出对应的逆行为操作步驟, 可以通过一个对应表来实现, 即预置一个数 据列表, 表中对应列出各种行为操作步驟以及相对应的逆行为操作步骤; 当所述病毒程序进行了某个行为操作步骤, 则从所述预置的数据列表中比 较得出相对应的逆行为操作步骤, 例如: 添加和删除; 依此即可完成所述 病毒程序的所有行为操作步骤向逆行为操作步骤的转换。
步驟 S3 , 执行所述逆行为操作步骤。
由于所述逆行为操作步骤就是逆行为操作程序源代码指令的集合, 所 以对所述逆行为操作步骤的执行实际上就是对所述程序源代码指令进行依 次分别调用的过程。 根据每个程序源代码指令进行相应的执行操作, 从而 完成被病毒程序破坏的数据的恢复操作。 例如, 建立一个执行逆行为操作 步骤功能的一个主功能函数, 在这个主功能函数里实际上设置的是将所述 程序源代码指令进行依次分別调用的过程。 通常, 可以按照病毒程序可执 行的行为操作步骤的顺序执行所述逆行为操作步骤。
所述的逆行为操作步骤, 即程序源代码指令的集合, 可以以数据库的 方式进行存储或者以大型数据存储表的方式进行存储。 例如, 将所述的逆 行为操作步驟以数据库列表的方式进行存储, 则某一个病毒程序的逆行为 操作步骤就是该数据库中的一个存储元素(子集)。 该数据库可以采用如下 的数据结构存储所述的某一个存储元素, 即某一个病毒程序的逆行为操作 步骤:
(病毒程序名称)、 (逆行为操作步骤 1 , 逆行为操作步驟 2, ......逆行 为操作步骤 N )、 (附加信息段, 删除病毒程序体);
其中, 所述的 1、 2...... N表示了清除病毒程序步驟的顺序, 所述的逆 行为操作步骤包括源代码序列块, 所述源代码序列块用以完成所述病毒程 序行为操作步驟对应的逆操作。 上述的逆行为操作步據信息中还可以包括 相关操作参数等。 上述的数据结构还可以采用其他方式, 例如:
(病毒程序名称)、 (逆行为操作步驟 1 , 逆行为操作步骤 2, ......逆行 为操作步錄 N, 附加信息段)、 (删除病毒程序体);
实际上,存储方式以及存储的数据结构只是编程人员的一种人为设定, 可以釆用任何可行的存储方式和数据结构, 只要能够实现所述逆行为操作 步骤的存储和调用即可。
上述的步驟 si、 s2和 s3可以完成相当情况下被病毒程序破坏的数据恢 复, 但是其并不是最完善的。 当病毒程序删除或者覆盖了原数据, 则由于 该病毒程序行为操作对应的源代码序列块中并没有原数据的信息, 所以以 此建立的逆行为操作步骤也不包括原数据的信息, 则所述的逆行为操作步 骤就无法取回原数据进行覆盖, 以实现被病毒程序破坏的数据的恢复。 因 此, 本发明所述的被病毒程序破坏的数据的恢复方法还可以包括对计算机 操作系统的相关信息的备份, 以及利用所述备份步骤的备份数据, 执行所 述逆操作步骤, 例如: 将备份的数据调用回来覆盖被破坏的数据, 进而实 现被病毒程序破坏的数据的恢复。 所述的备份数据可以存储在信息备份库 中, 以方便备份数据的调用。
所述的计算机操作系统相关信息, 一般为计算机病毒程序容易感染的 程序文件和操作系统的敏感文件, 例如: 注册表、 系统配置文件等易感染 数据。 如果病毒程序对计算机的某些文件进行了修改或者删除, 而所述文 件在信息备份库中存有备份时, 则就可以从所述信息备份库中将所述文件 的备份文件覆盖回来。 优选的, 为了保证对用户计算机空间的影响, 仅仅 选择备份操作系统的敏感信息, 因为一般的病毒程序感染这些信息的机会 较大, 而且对用户计算机的影响最大。 当然, 如果用户的计算机允许, 则 最好可以将用户计算机上的所有文件或者用户认为重要的文件都进行备 份, 这样不仅可以将病毒程序杀除干净, 并且可以最大限度的恢复被病毒 程序破坏的数据文件。
所述的对计算机操作系统相关信息的备份, 也可以是增量式的备份。 当首次使用本发明所述被病毒程序破坏的数据的恢复方法时, 可以对操作 系统的敏感部分(例如: 注册表、 系统配置文件等易感染数据)进行初始 化备份, 将备份的数据或信息进行分类存储在信息备份库中。 当每次合法 程序对这些敏感部分进行更改后, 对更改的部分进行实时的增量式备份, 即只需要将修改信息进行相应位置的备份即可。 当然也可以根据用户计算 机的许可, 定时的对所有文件进行备份。
参照下面的实施例, 对所述被病毒程序破坏的数据的恢复方法进行更 评细的说明。
假设一个名称为 ABC的病毒程序,人工或者计算机对该病毒程序进行 分析后, 得出该病毒程序的行为操作步骤是: ( 1 ) 覆盖了注册表里 HKEY_LOCAL_MACHINE\SOFTWARE\456项的值, (2 )将 abc.exe文件 的文件位置添加到注册表相应的启动项里, (3 ) 病毒程序自动释放一个名 为 123.exe的木马文件。
那么,根据上述病毒程序 ABC的行为操作步骤, 建立的逆行为操作步 骤如下:
( ABC ) , ( 从 " 信 息 备 份 库 " 里 与
HKEY_LOCAL_MACHINE\SOFTWARE\456项对应的值再覆盖回来,从注 册表中删除该病毒程序建立的启动项)、 (删除 123.exe文件, 删除 ABC病 毒程序体)
在上述的存储元素中, 病毒程序名称: ABC;
清 除 方 法 1 : 从 " 信 息 备 份 库 " 里 与
HKEY— LOCAL— MACHINE\SOFTWARE\456项对应的值再覆盖回来。
清除方法 2: 从注册表中删除该病毒程序建立的启动项。
附加信息段: 删除 123.exe文件, 删除 ABC病毒程序体
上述的信息结构是所述逆行为操作步骤的人为设定的一种存储方式。 当然, 也可以采用其他的结构方式进行存储, 例如:
( ABC ) 、 ( 从 " 信 息 备 份 库 " 里 与 HKEY_LOCAL_MACHINE\SOFTWARE\456项对应的值再覆盖回来,从注 册表中删除该病毒程序建立的启动项, 删除 123.ex e文件)、(删除 ABC病 毒程序体) 上述的存储信息中还可以包括所述逆行为操作步骤的相关操作参数。 当然, 在计算机实际的运行过程中, 不可能把人类的逻辑语言以上述 的形式描述给计算机, 上述例子在计算机里实现的过程实际上就是将上述 的人类的逻辑语言描述更换成为功能函数和指令。 即所述的逆行为操作步 驟实际上就是这个具体实施例中的一系列函数序列 (以下简称: "函数序 列")。 例如:
( ABC ), ( F ( *P ( X ( 456 ) ) ), G ( *Q ( Y ( K ) ) ) )、 ( DEL ( *ΡΑΤΗ ( 123.exe ) ), DEL ( *ΡΑΤΗ ( ABC ) ) )
对上述表达式解释说明如下:
ABC代表病毒程序体名称。
F ( )代表将值覆盖写入注册表项的功能函数。
*P ( )代表指向 "信息备份库"里关于注册表的备份数据的指针函数。 X ( )代表 "HKEY_LOCAL_MACHINE\SOFTWARE\456项" 在注册 表里的路径函数。
G ( )代表执行删除注册表内某项的功能函数。
*Q ( )代表指向注册表内的指针函数。
Y ( )代表病毒程序在注册表内建立的启动项的路径函数。
变量 K代表病毒程序在注册表内建立的启动项。
DEL ( )代表执行删除文件的功能函数。
*PATH ( )代表指向文件路径的指针函数。
根据上述实施例可以看出计算机所述执行逆行为操作步骤的过程, 也 就是将一系列的函数序列依次分别执行的过程。在计算机里的实现过程中: 所述执行逆行为操作步骤可以是建立一个执行逆行为操作步骤功能的一个 主功能函数, 该主功能函数将某一 "函数序列" 依次分别调用, 从而实现 执行逆行为操作步骤功能, 进而恢复被病毒程序破坏的数据。 例:
主功能函数()
{ 函数 1 ( );
函数 2 ( ); 函数 N ( );
}
参照图 4, 是本发明一种被病毒程序破坏的数据恢复装置的实施例结 构示意图。 所述的被病毒程序破坏的数据的恢复装置包括输入单元 41、 创 建单元 42以及执行单元 43。
所述输入单元 41 , 用于获取病毒程序可执行的破坏性行为操作步骤。 所述的病毒程序可执行的破坏性行为操作步骤可以预先分析得出, 以数据 库的形式存储在用户的计算机系统中, 所述被病毒程序破坏的数据恢复装 置的输入单元 41 直接调用该数据库即可获取所述病毒程序可执行的破坏 性行为操作步骤。
所述的病毒程序可执行的破坏性行为操作步骤也可以预先分析得出, 以数据库的形式存储在公共服务器中, 所述被病毒程序破坏的数据的恢复 装置的输入单元 41 通过网絡连接该数据库即可获取所述病毒程序可执行 的破坏性行为搮作步骤。
当然, 也可以定时或者不定时的将本地用户的计算机系统中存储的所 述破坏性行为操作步驟的数据库通过网络连接公共服务器, 进行升级, 以 完善该本地数据库。 本专利在前面对恢复方法的描述中已经详述了分析得 出病毒程序的可执行的破坏性行为操作步骤的过程, 在此不再赘述。
所述创建单元 42, 用于建立所述破坏性行为操作步骤对应的逆行为操 作步骤。
根据所述破坏性行为操作步骤建立所述破坏性行为操作步骤对应的逆 行为操作步骤; 例如, 建立破坏性行为操作步骤 1、 2 N对应的逆操 作步骤 1、 2 N。 假设破坏性行为操作步骤 1用于转移存储数据, 则 对应的逆行为操作步骤 1则用于对应的逆行为操作, 以恢复数据; 如果破 坏性行为操作步骤 2用于删除数据, 则对应的逆行为操作步骤 2用于完成 对应的逆操作, 以恢复被删除的数据(例如以冗余校验的方式恢复数据)。 所述建立对应的逆行为操作步骤, 即生成一个程序源代码指令的集合, 所 述指令集合相对应的操作步骤与所述行为操作步骤所执行的操作相反。
所述执行单元 43 , 用于执行所述逆操作步骤。
由于所述逆行为操作步骤就是程序源代码指令的集合, 所以对所述逆 行为操作步骤的执行实际上就是对所述程序源代码指令进行依次分别的调 用过程。 根据每个程序源代码指令进行相应的执行操作, 从而完成被病毒 程序破坏的数据的恢复操作。 例如, 建立一个执行逆行为操作步驟功能的 —个主功能函数, 在这个主功能函数里实际上是将所述程序源代码指令进 行依次分别调用的过程。
所述被病毒程序破坏的数据的恢复装置还可以包括数据备份单元 44, 用于对计算机操作系统的相关信息的备份, 所述备份信息辅助所述执行单 元 43 完成所述逆行为操作步骤。 所述的备份数据可以存储在信息备份库 中, 以方便备份数据的调用。
所述输入单元 41、 创建单元 42和执行单元 43可以完成相当情况下被 病毒程序破坏的数据恢复, 但是其并不是最完善的。 当病毒程序删除或者 覆盖了原数据, 则由于该病毒程序破坏性行为操作对应的源代码序列块中 并没有原数据的信息, 所以以此建立的逆行为操作步骤也不包括原数据的 信息, 则所述的逆行为操作步骤就无法取回原数据进行覆盖, 以实现被病 毒程序破坏的数据的恢复。 因此, 本发明所述的被病毒程序破坏的数据的 恢复装置还可以包括对计算机操作系统的相关信息进行预先备份的数据备 份单元 44。
所述的计算机操作系统相关信息, 一般为计算机病毒程序容易感染的 程序文件和操作系统的敏感文件等, 例如: 注册表、 系统配置文件等易感 染数据。 如果病毒程序对计算机的某些文件进行了修改或者删除, 而所述 文件在信息备份库中存有备份时, 则就可以从所述信息备份库中将所述文 件的备份文件覆盖回来。优选的, 为了保证对用户计算机存储空间的影响, 仅仅选择备份操作系统的敏感信息, 因为一般的病毒程序感染这些信息的 机会较大, 而且对用户计算机的影响最大。 当然, 如果用户的计算机允许, 则最好可以将用户计算机上的所有文件或者用户认为重要的文件都进行备 份, 这样不仅可以将病毒程序杀除干净, 并且可以最大限度的恢复被病毒 程序破坏的数据文件。
所述的数据备份单元 44, 可以首先对操作系统的敏感部分(例如: 注 册表、 系统配置文件等易感染数据)进行初始化备份, 将备份的数据或信 息进行分类存储在信息备份库中。 当每次合法程序对这些敏感部分进行更 改后, 对更改的部分再进行实时的增量式备份, 即只需要将修改信息进行 相应位置的备份即可。 当然也可以根据用户计算机的许可, 定时的对所有 文件进行备份。
所示被病毒程序破坏的数据的恢复装置,还可以包括虚拟环境单元 45。 所述虚拟环境单元 45, 用于将根据所述破坏性操作行为编制得到的所述控 制处理程序嵌入操作系统, 当待检测程序中所述破坏性操作指令调用所述 控制处理程序时, 由所述控制处理程序记录所述待检测程序的破坏性操作 行为; 并返回成功应答信息, 诱导所述待检测程序在虚拟环境中继续运行, 从而检测和记录所述病毒程序的一系列可执行的破坏性行为操作及步骤。
参照图 5 , 是本发明一种病毒程序清除方法的实施例流程图, 包括以 下步骤:
步骤 51 , 获得病毒程序可执行的破坏性行为操作步驟。 所述破坏性行 为操作步骤是指能够完成一个特定功能或结果的代码序列块;
步骤 52, 建立所述行为操作步骤对应的逆操作步驟和病毒程序删除步 骤;
步骤 53 , 执行所述逆操作步驟和所述病毒程序删除步骤。
所述病毒程序清除方法与本实施方式所述被病毒程序破坏的数据的恢 复方法具有相同的原理, 主要区别在于: 在恢复被病毒程序破坏的数据的 基础上, 同时将所述病毒程序删除。 所以对所述病毒程序清除方法的说明 参见本专利对所述被病毒程序破坏的数据的恢复方法的描述即可。
所述病毒程序可执行的破坏性行为操作步骤, 即完成一个特定功能或 结果的源代码序列块, 可以预先分析得出, 也可以通过计算机程序自动获 取的。 参照图 6, 所述计算机获取病毒程序的可执行的行为操作步驟的方 法可以包括以下步骤。
步骤 a, 获取已知病毒程序的破坏性操作行为。 病毒程序有一些行为, 是病毒程序的共同行为, 而且比较特殊。 所述已知病毒程序的破坏性操作 行为的获取可以通过人工完成也可以通过计算机实现。 所述的破坏性操作 行为一般包括对计算机系统的非常规操作或者易造成恶性结果的操作。 例 如: 非常规读写操作、 删除某系统文件、 导致内存冲突、 破坏硬盘分区表 等等。 下面列举一些具体的可以作为监测病毒程序的操作行为: 占用 INT13H、 修改 DOS系统数据区的内存总量、 对 COM和 EXE文件做写入 动作、 病毒程序与宿主程序的切换特征等。 除了上述较为明显的破坏性操 作行为, 病毒程序一般还会包括较为正常的操作行为, 如果单独或者组合 起来有可能产生破坏数据的危险操作, 则也属于本发明所述病毒程序的破 坏性操作行为的范围内。
除了上述较为明显的破坏性操作行为 , 病毒程序一般还会包括较为正 常的操作行为, 如果这些操作行为单独或者组合起来有可能产生破坏数据 的危险操作, 则也属于本发明所述病毒程序的破坏性操作行为的范围内。
通常, 一个病毒程序的破坏行为可以由一系列的执行破坏性操作的指 令或指令集以及必要的参数构成的, 每一个所述指令或指令集至少产生一 个独立的破坏性操作行为。 因此, 获得现有病毒程序的破坏性操作行为, 即是将已经存在的病毒程序中包含的独立的破坏性操作行为涉及的指令或 指令集以及必要的参数提取出来。例如,假设 13H中断的 03H或 05H号功 能调用涉及可能的破坏数据的危险操作,则 13H中断的 03H或 05H号功能 调用对应的指令就可以被看作是产生一个独立的破坏性操作行为的指令。 假设, 10H中断的 02H号功能调用和 11H的 06H号功能调用组合在一起涉 及可能的破坏数据的危险操作, 则 10H中断的 02H号功能调用和 11H的 06H号功能调用对应的指令集合就可以被看作是产生一个独立的破坏性操 作行为的指令集。 如果一个被检测的程序具有这样的指令代码, 就可以得 知该被检测程序存在一个可能破坏性其他程序或数据的可疑操作行为 , 将 这些行为操作收集起来, 就可以通过程序的行为集合判断一个程序是否为 病毒程序以及如何最大限度地恢复相应的病毒程序破坏的数据。
获取已知病毒程序的破坏性操作行为, 也可以通过计算机辅助完成。 例如采用申请号为 01117726.8、 名称为 "检测和清除已知及未知计算机病 毒的方法、 系统和介质" 的中国发明专利介绍的, 以提供用于诱发病毒感 染的感染对象来检测病毒的方法, 就可以获得已知和未知病毒程序的破坏 性操作行为。 由于申请号为 01117726.8的发明已经公开, 在此不在赘述。
步驟 b, 根据所述破坏性操作行为设置或编制该操作行为对应的控制 处理程序。
为此, 当将现有病毒程序的破坏性操作行为分解出来以后, 就可以根 据所述破坏性操作行为设置该行为对应的控制处理程序, 所述控制处理程 序用于响应待检测程序的破坏性操作行为涉及的指令和参数, 并反馈所述 破坏性操作行为成功的信息, 以诱导该待检测程序的下一个行为, 同时记 录所述待检测程序的该项破坏性操作行为。
假设, 一个程序中的破坏性操作行为涉及的指令和参数为: DEL (参 数 1; 参数 2; 参数 3 ), 其中, DEL表示删除, 参数 1表示被删除的盘号, 参数 2表示被删除的簇号, 参数 3表示接受删除是否成功的变量, 则该破 坏性操作行为对应的控制处理程序可以是:
(1) WRITE ( FILE1, "DEL (参数 1 ; 参数 2; 参数 3 ),,);
(2) WRITE(DEL (参数 1; 参数 2; 参数 3 ) ,0,0,0);
其中, 第 ( 1 )行的指令表示将破坏性指令 "DEL (参数 1; 参数 2; 参数 3 ),, 作为字符串记录进文件 FILE1 中; 第 (2 )行的指令表示向将破 坏性指令 DEL (参数 1; 参数 2; 参数 3 )反馈操作成功的标志 "0"。
步骤 c,将所述控制处理程序嵌入操作系统,使控制处理程序获得对所 述破坏性操作行为的控制权, 这种控制权可以通过使控制处理程序获得优 于操作系统的系统控制权而获得。
为了能够自动快速地检测并记录程序中可能出现的破坏性操作行为, 以甄别该程序是否为病毒程序, 需要所述控制处理程序获得对被检测程序 出现的破坏性操作行为的控制权, 以获得被检测程序中出现的破坏性操作 行为, 为此, 釆用将所述控制处理程序嵌入到操作系统中的办法使控制处 理程序获得相应的破坏性操作行为的控制权; 当然, 也可以通过其他方式 使控制处理程序获得系统的监控权从而达到检测并记录待检测程序的破坏 性操作行为之目的。 如果采用将所述控制处理程序嵌入到操作系统中的方 式, 即可以通过将控制处理程序嵌入到操作系统的功能调用表实现; 也可 以将控制处理程序存储到一个独立的操作行为调用表, 使其具有比操作系 统的功能调用表更高级的优先权实现。 例如: 任何操作系统中都会存在一 个系统功能调用表, 系统功能调用表根据需要可以有不同的结构。 参考图 7, 图 7所示的系统功能调用表包括两个字段, 一个是编号字段, 用于存储 系统功能调用程序的编号; 一个是功能调用地址字段, 用于存储系统功能 调用程序指针, 即地址, 该地址通常对应系统功能调用程序的首地址。 图 8是系统功能调用程序实际存储区的示意图, 当需要某个操作系统提供的 功能时, 例如需要 13H中断处理程序提供的写磁盘操作, 就需要从图 7所 示的系统功能调用表中提取出 13H中断处理程序的地址, 再到图 8所示的 存储区中的相应地址处读取相应的程序到内存中执行即可获得操作结果。 如果将所述控制处理程序嵌入到操作系统中, 方法之一就是将相应的控制 处理程序存储到系统功能调用表中。 假设现在有 100H ( H: 表示 16进制 ) 个破坏性操作行为被分解出来, 而且已经编制好 100H个对应的控制处理 程序, 则, 将这 100H个控制处理程序的存储地址存入到图 7所示表中, 存储结果参考图 9, 图 10示出了图 9所述存储实例的功能调用程序实际存 储区的示意图。 所述控制处理程序的存储地址依次存储到系统功能调用程 序地址的后面。
实际中, 将所述控制处理程序嵌入到操作系统中的方法并不限于图 9 所示的存储方式,也可以采用图 11所示的将所述控制处理程序直接存储为 一个独立的操作行为调用表的方式, 并使所述控制处理程序获得优于系统 功能调用程序的优先权, 该步骤的实现方式是: 将图 7中的系统功能调用 指针, 即功能调用地址字段的系统功能调用程序的地址修改为相应控制处 理程序的地址即可。
以图 9为例, 個_设编号为 0A00的 A控制处理程序地址与编号为 0003 的 05H中断相对应, 就需要将 "功能调用地址" 字 :存储的 "05H中断地 址"修改为 "A控制处理程序地址", 从而在所述破坏性操作行为涉及的指 令调用 "05H中断地址" 对应的程序时, 实际上调用的是 " A控制处理程 序地址", 从而使 "A控制处理程序" 获得了优于 "05H中断" 的系统控制 权。 继续推广这种思想, 就可以将所述控制处理程序嵌入操作系统。
在另外的实施例中, 还可以使所述破坏性操作行为对应的系统功能调 用程序将其控制权移交给相应的控制处理程序, 从而使控制处理程序获得 对所述破坏性操作行为的控制权。 以图 11这种存储方式为例, 所有的控制 处理程序在系统中形成了另外一张系统功能调用表, 只要使该表具有比系 统原有的系统功能调用表具有更高的优先级, 就可以使控制处理程序获得 对所述破坏性操作行为的控制权。 例如, 在待检测程序调用所述控制处理 程序调用系统功能调用程序时, 首先调用图 11 所述的表中的控制处理程 序, 如果在图 11所述的表中不存在被调用的控制处理程序, 再去调用图 2 所述的表中的真正的系统功能调用程序。
由于通过步驟 c,已经使控制处理程序获得对所述破坏性操作行为的控 制权, 因此待检测程序在步驟 d调用所述控制处理程序时, 就可以由所述 控制处理程序记录所述待检测程序的操作行为。 即, 所述待检测程序执行 时, 一旦其中存在的实现破坏性操作行为的指令被执行, 即调用相应的系 统功能调用程序, 就会首先调用相应的控制处理程序, 由所述控制处理程 序对其进行应答并记录所述待检测程序的破坏性操作行为。
通常的病毒程序需要获得一条破坏性的行为操作结果, 在得到成功操 作的结果时, 才继续后续的操作, 因此为了对待检测程序进行进一步的判 断, 还可以通过所述的控制处理程序对所述待检测程序的调用返回成功应 答的信息, 从而诱导所述待检测程序继续进行下一行为; 而实际上, 操作 系统的控制权由于在步骤 c 已由控制处理程序接管, 所述待检测程序并没 有得到实际运行的效果, 其收到的信息是控制处理程序传回的信息, 其获 得的信息相对于其需求来说是虚假信息, 因此待检测程序并没有在操作系 统的环境下实际运行, 而是在控制处理程序构成主控制权的环境中虚拟运 行, 从而可以检测和记录所述待检测程序的一系列行为操作, 并且不会对 系统造成损害。 上述的获得病毒程序可执行的破坏性行为操作的方法可以 理解为: 在现实的操作系统内通过软件实现的方法虚拟一个运行环境。 这 个环境的錄据与运行结果与真实的操作系统完全隔离, 但是文件或进程的 执行过程和结果与在真实的操作系统中运行是完全相同的。
实际中, 所述步骤 c是一个可选择的步骤, 无论所述控制处理程序是 否嵌入操作系统, 只要其在程序操作行为涉及的指令运行时具有优于操作 系统的控制权, 即可形成诱发待检测程序行为的虚拟运行环境, 从而检测 到所述待检测程序的操作行为。
通过上述方法计算机自行获取或者预先分析得出病毒程序的可执行的 行为操作, 则就可以建立所述行为操作步骤对应的逆行为操作步骤, 并根 据病毒程序的可执行的行为操作步骤执行所述对应的逆行为操作步骤, 从 而完成本发明所述恢复被病毒程序破坏的数据的操作。
以上对本发明所提供的一种被病毒程序破坏的数据恢复方法、 装置及 病毒程序清除方法进行了详细介绍, 本文中应用了具体个例对本发明的原 理及实施方式进行了阐述, 以上实施例的说明只是用于帮助理解本发明的 方法及其核心思想; 同时, 对于本领域的一般技术人员, 依据本发明的思 想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书 内容不应理解为对本发明的限制。

Claims

权 利 要 求
1、 一种被病毒程序破坏的数据恢复方法, 其特征在于包括:
获得病毒程序的可执行的破坏性行为操作步驟;
建立所述破坏性行为操作步骤对应的逆行为操作步驟;
根据病毒程序可执行的破坏性行为的操作步驟执行对应的逆行为操作 步骤。
2、如权利要求 1所述的被病毒程序破坏的数据恢复方法,其特征在于, 还包括: 对计算机操作系统的相关信息进行备份, 并利用所述备份数据, 执行所述逆行为操作步骤。
3、如权利要求 2所述的被病毒程序破坏的数据恢复方法,其特征在于: 所述备份为增量式备份。
4、如权利要求 1或 2所述的被病毒程序破坏的数据恢复方法, 其特征 在于, 按照下述步骤获得病毒程序可执行破坏性的行为:
获得已知病毒程序的破坏性操作行为;
根据所述破坏性操作行为编制对应的控制处理程序;
使控制处理程序获得对所述破坏性操作行为的控制权;
病毒程序调用相应的控制处理程序, 由所述控制处理程序记录所述病 毒程序的破坏性操作行为。
5、如权利要求 4所述的被病毒程序破坏的数据恢复方法,其特征在于, 还包括: 所述控制处理程序向所述待检测程序返回成功应答信息。
6、如权利要求 4所述的被病毒程序破坏的数据恢复方法,其特征在于: 将所述控制处理程序嵌入操作系统或者所述破坏性操作行为对应的系统功 能调用程序将其控制权移交给相应的控制处理程序, 使控制处理程序获得 对所述破坏性操作行为的控制权。
7、如权利要求 6所述的被病毒程序破坏的数据恢复方法,其特征在于: 按照病毒程序可执行的破坏性行为操作步骤的顺序执行所述逆行为操作步 骤。
8、如权利要求 1或 2所述的被病毒程序破坏的数据恢复方法, 其特征 在于: 将根据所述破坏性行为操作步骤建立的相对应的逆行为操作步驟以 数据库列表的方式进行存储。
9、 一种被病毒破坏的数据的恢复装置, 其特征在于, 包括:
输入单元, 用于获取病毒程序可执行的破坏性行为操作步珮; 创建单元,用于建立所述破坏性行为操作步骤对应的逆行为操作步骤; 执行单元, 用于执行所述逆行为操作步骤。
10、 如权利要求 9所述的被病毒程序破坏的数据恢复装置, 其特征在 于, 还包括: 数据备份单元, 用于对计算机操作系统的相关信息的备份, 所述执行单元利用所述备份信息完成所述逆行为操作步骤。
11、 如权利要求 9所述的被病毒程序破坏的数据恢复装置, 其特征在 于, 还包括: 虚拟环境单元, 用于将根据所述破坏性操作行为得到的所述 控制处理程序嵌入操作系统, 使控制处理程序获得对所述破坏性操作行为 的控制权; 当病毒程序调用所述控制处理程序时, 由所述控制处理程序记 录所述病毒程序的操作行为。
12、 一种病毒程序清除方法, 其特征在于, 包括:
获得病毒程序可执行的破坏性行为操作步骤;
建立所述破坏性行为操作步骤对应的逆行为操作步骤和病毒程序删除 步骤;
执行所述逆操作步驟和所述病毒程序删除步骤。
PCT/CN2006/002919 2005-11-16 2006-10-31 Procede pour supprimer un programme contenant un virus et procede pour recuperer les donnees detruites par le virus WO2007056932A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP06805120A EP1967954A1 (en) 2005-11-16 2006-10-31 A method for deleting virus program and a method to get back the data destroyed by the virus.
US12/093,776 US20080222215A1 (en) 2005-11-16 2006-10-31 Method for Deleting Virus Program and Method to Get Back the Data Destroyed by the Virus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN200510114944 2005-11-16
CN200510114944.2 2005-11-16
CNB2006100076114A CN100465978C (zh) 2005-11-16 2006-02-15 被病毒程序破坏的数据恢复方法、装置及病毒清除方法
CN200610007611.4 2006-02-15

Publications (1)

Publication Number Publication Date
WO2007056932A1 true WO2007056932A1 (fr) 2007-05-24

Family

ID=37954411

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2006/002919 WO2007056932A1 (fr) 2005-11-16 2006-10-31 Procede pour supprimer un programme contenant un virus et procede pour recuperer les donnees detruites par le virus

Country Status (4)

Country Link
US (1) US20080222215A1 (zh)
EP (1) EP1967954A1 (zh)
CN (1) CN100465978C (zh)
WO (1) WO2007056932A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979904B2 (en) * 2007-03-07 2011-07-12 International Business Machines Corporation Method, system and program product for maximizing virus check coverage while minimizing redundancy in virus checking
CN106203116A (zh) * 2008-06-11 2016-12-07 北京奇虎科技有限公司 一种恶意软件的检测方法及装置
CN101924762B (zh) 2010-08-18 2013-02-27 北京奇虎科技有限公司 一种基于云安全的主动防御方法
CN102855432B (zh) 2011-06-27 2015-11-25 北京奇虎科技有限公司 一种文件、文件夹解锁和删除方法及系统
CN103679020A (zh) * 2012-09-14 2014-03-26 纬创资通股份有限公司 病毒警报装置和病毒警报方法
CN105186463B (zh) * 2015-08-31 2018-03-16 许继集团有限公司 一种防止智能变电站继电保护装置误操作的方法
US10291634B2 (en) 2015-12-09 2019-05-14 Checkpoint Software Technologies Ltd. System and method for determining summary events of an attack
US10880316B2 (en) 2015-12-09 2020-12-29 Check Point Software Technologies Ltd. Method and system for determining initial execution of an attack
US10440036B2 (en) * 2015-12-09 2019-10-08 Checkpoint Software Technologies Ltd Method and system for modeling all operations and executions of an attack and malicious process entry
CN106560833A (zh) * 2016-07-22 2017-04-12 哈尔滨安天科技股份有限公司 一种基于文件头检测感染式病毒的方法及系统
CN106156623B (zh) * 2016-07-29 2018-10-30 江西师范大学 基于意图的sqlia防御方法
CN110865630B (zh) * 2019-11-14 2022-07-05 深圳供电局有限公司 智能变电站内置程序的验收方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003025722A2 (en) * 2001-09-14 2003-03-27 Computer Associates Think, Inc. Virus detection system
CN1409222A (zh) * 2001-09-14 2003-04-09 北京瑞星科技股份有限公司 计算机内存病毒监控和带毒运行方法
CN1508697A (zh) * 2002-12-16 2004-06-30 联想(北京)有限公司 在硬盘上实现保护计算机操作系统的方法及其装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822517A (en) * 1996-04-15 1998-10-13 Dotan; Eyal Method for detecting infection of software programs by memory resident software viruses
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
CN1197006C (zh) * 2001-02-20 2005-04-13 英业达股份有限公司 一种生成具有自检测和自修复功能的应用程序的方法
US7114184B2 (en) * 2001-03-30 2006-09-26 Computer Associates Think, Inc. System and method for restoring computer systems damaged by a malicious computer program
CN1147795C (zh) * 2001-04-29 2004-04-28 北京瑞星科技股份有限公司 检测和清除已知及未知计算机病毒的方法、系统
US7188368B2 (en) * 2001-05-25 2007-03-06 Lenovo (Singapore) Pte. Ltd. Method and apparatus for repairing damage to a computer system using a system rollback mechanism
GB0214943D0 (en) * 2002-06-28 2002-08-07 Bitarts Ltd Computer program protection
JP2004046435A (ja) * 2002-07-10 2004-02-12 Hitachi Ltd バックアップ方法、その方法に用いた記憶制御装置
KR20040089386A (ko) * 2003-04-14 2004-10-21 주식회사 하우리 메모리를 감염시키는 바이러스의 치료방법, 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체 및 바이러스의치료장치
US7392542B2 (en) * 2003-08-29 2008-06-24 Seagate Technology Llc Restoration of data corrupted by viruses using pre-infected copy of data
CN1707383A (zh) * 2004-06-10 2005-12-14 陈朝晖 通过进程和系统轨迹分析阻断计算机病毒方法
WO2006116395A2 (en) * 2005-04-26 2006-11-02 Rdr Technologies, Llc System for data archiving and system behavior prediction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003025722A2 (en) * 2001-09-14 2003-03-27 Computer Associates Think, Inc. Virus detection system
CN1409222A (zh) * 2001-09-14 2003-04-09 北京瑞星科技股份有限公司 计算机内存病毒监控和带毒运行方法
CN1508697A (zh) * 2002-12-16 2004-06-30 联想(北京)有限公司 在硬盘上实现保护计算机操作系统的方法及其装置

Also Published As

Publication number Publication date
CN1936911A (zh) 2007-03-28
EP1967954A1 (en) 2008-09-10
CN100465978C (zh) 2009-03-04
US20080222215A1 (en) 2008-09-11

Similar Documents

Publication Publication Date Title
WO2007056932A1 (fr) Procede pour supprimer un programme contenant un virus et procede pour recuperer les donnees detruites par le virus
WO2007056933A1 (fr) Procede pour identifier des virus inconnus et les supprimer
US7103913B2 (en) Method and apparatus for determination of the non-replicative behavior of a malicious program
EP2610774B1 (en) System and method for detecting malware targeting the boot process of a computer
CA2244892C (en) Emulation repair system
JP4162099B2 (ja) ウィルス感染に対処する機能を持つ装置及びその記憶装置
US8220053B1 (en) Shadow copy-based malware scanning
US7756834B2 (en) Malware and spyware attack recovery system and method
US8290994B2 (en) Obtaining file system view in block-level data storage systems
US8453243B2 (en) Real time lockdown
JP5705309B2 (ja) バックアップ・プロセスを処理する方法、システム、及びコンピュータ・プログラム
EP1316873A2 (en) System and method for identifying infected program instructions
US7845008B2 (en) Virus scanner for journaling file system
TW200844732A (en) Self-managed processing device
Webster et al. Fast and Service-preserving Recovery from Malware Infections Using {CRIU}
US7447850B1 (en) Associating events with the state of a data set
US7350235B2 (en) Detection of decryption to identify encrypted virus
Bacs et al. System-level support for intrusion recovery
US8868979B1 (en) Host disaster recovery system
Vasudevan MalTRAK: Tracking and eliminating unknown malware
WO2007056934A1 (fr) Procede pour detecter le comportement du fonctionnement d'un programme et procede pour detecter et effacer le programme contenant le virus
Hsu et al. Data concealments with high privacy in new technology file system
JP2023050384A (ja) ストレージシステム及びデータ復旧方法
US20090133124A1 (en) A method for detecting the operation behavior of the program and a method for detecting and clearing the virus program
CN1352426A (zh) 一种计算机病毒防御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006805120

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12093776

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2006805120

Country of ref document: EP