Abstract:
The invention relates to the field of anti-virus protection. The technical result of the invention lies in providing possibility for unblocking the computer with no data loss and computer resetting, for increasing the antivirus systems operation efficiency and consequently improving the computer systems security. A method for neutralizing malicious software blocking computer operation, the method being performed by means of a separate antivirus activation device developed for the antimalware procedure activation to be run by a PC user, the device comprising connectors for connection to a control bus, a controller and an activation unit. Computer unblocking and malware neutralizing procedure is activated after receiving an activation signal from the antivirus activation device. Whereby said unblocking and malware neutralizing procedure includes: examining OS graphics subsystem state, searching for all the created windows and desktops viewed by the user; analyzing all the processes and flows executed with the PC at the time of infection; creating bindings on the collected data basis for each said window and desktop to a particular process and/or process hierarchy; analyzing the obtained data on the processes and identifying in each of them loaded modules involved in the process running; searching for the software automatically run in the course of OS start-up; compiling a list of the objects considered as malicious; isolating each malicious object, deleting its links out of OS configuration files, and aborting the malicious process produced by the object.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims the benefit under 35 U.S.C. §119 of Russian Application No. 2013118811, filed Apr. 24, 2013, which is hereby incorporated by reference in its entirety. 
     FIELD OF THE INVENTION 
     The invention relates to the field of anti-virus protection, and more particularly, to a method for neutralizing certain types of malicious software (SW). 
     BACKGROUND OF THE INVENTION 
     Presently existing systems of protection against malicious software allow for detecting it in the two ways:
         by the characteristic data previously obtained from the malicious files content (signatures, patterns, checksums, etc.);   by the malware behaviour (heuristic and behavioural analyzers).       

     These methods are classic and effective against known types of malicious software. Yet, unfortunately, these methods are often powerless against new, recent malicious SW. The first reason for this is that their characteristic data (signatures, checksums) have not been entered yet into the virus database of an antivirus. The second reason lies in that heuristic and behavioural analyzers do not detect any danger, as the malware has been intentionally developed by hackers with its behaviour changed in order not to arouse the antivirus behavioural analyzer&#39;s suspicions. Whereby this malware being still unfamiliar to antiviruses often demonstrates itself revealing its presence to the user operating the infected computer at that moment. Ransomware may provide an example of such behaviour blocking computer operation and setting up, for example through display messages, their criminal claims to be executed by the user (usually concerning payments to be made in one way or another). Thus, it is obvious to a user that his/her computer is malware infected (as a malicious program requires certain actions to be performed by him/her), the computer is blocked, not allowing the user to work properly or even start procedures against the malicious program. Furthermore, the antivirus system does not detect and neutralize the infection, as it does not define any new threat, neither by the typical signs nor by the behaviour. 
     BRIEF SUMMARY 
     The object of the present invention is to provide an active infection neutralizing procedure run performed directly by a PC user, who has detected the infection, and performed through interaction with antivirus complex (AC) operating with the infected system by means of an external activation device connectable to the computer. Furthermore, this procedure analyzes the current state (for the active infection) of the operating system internal data and selects a particular method against “active” malicious SW. The term            active malicious software          is hereinafter specified as malware, run with an infected PC, operating therewith at given particular moment, and revealing its presence in one way or another.
     Thus, the use of the method suggested allows solving the above-mentioned problem concerning conventional antivirus systems when the antivirus systems do not detect and neutralize infection, as they do not define any new threat, neither by the typical signs nor by the behaviour. This is achieved by the fact that a user is provided with the opportunity to report the antivirus software on the infection with the blocked computer and to activate in advance search and malware neutralizing procedures, applicable for the active infection stage only. Whereby the method is characterized in that:
         Using a separate peripheral device allows activating neutralizing procedures in the cases when a malicious program has disabled or limited the use of conventional PC input facilities, such as a keyboard and a mouse (this is an example of ransomware typical behaviour);   Performing malware neutralizing and subsequent unblocking procedure achieved without resetting a computer and losing unsaved current user data as a result;   Detecting and deleting or disabling the malicious software not present in the virus database of an antivirus before, performed due to the very fact of infection being detected personally by a user after his/her activating the neutralizing procedure, and further automatically analysing the operating system current state at the time of infection;   Detecting the malicious SW not identified with behavioural analyzers by its behaviour as one of the main criteria for appraising the severity of a particular program is presented not just by the software formal behaviour but also by the fact of user&#39;s signal receipt (through the activation device being used) and the SW characteristics (temporal and situational);   Simplifying the interaction between AC and the user, wherein for activating the malware neutralizing procedure the user is just to insert the device and press the button on it, with no extra actions, requiring high qualification in the field of computer security.       

     The technical result of the invention as claimed lies in providing possibility for unblocking a computer with no data loss and resetting, increasing antivirus systems operation efficiency and consequently improving computer systems security. 
     According to the present invention it is implemented a method for neutralization of malicious software blocking computer operation, the method being performed by means of a separate antivirus activation device developed for the antimalware procedure activation to be run by PC user, the device comprising connectors for connection to a control bus, a controller providing the device operation hardware and software logical circuitry and communication via the bus, and an activation unit. The method as above includes: 
     1. Connecting the antivirus activation device to a computer. 
     2. Transmitting an activation signal from the activation unit. 
     3. Activating computer unblocking and malware neutralizing procedure by means of the activation device. 
     Whereby said unblocking and malware neutralizing procedure includes: examining OS graphics subsystem state, searching for all the created windows and desktops viewed by the user; analyzing all the processes and flows executed with the PC at the time of infection; creating bindings on the collected data basis for each said window and desktop to a particular process and/or process hierarchy; analyzing the data on the processes and identifying in each of them loaded modules involved in the process running; searching for the software automatically run in the course of OS start-up; compiling a list of the objects considered as malicious; isolating each malicious object, deleting its links out of OS configuration files, and aborting the malicious process produced by the object. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  presents a schematic example of an antivirus activation device conception embodiment. 
         FIG. 2  presents basic stages for neutralizing a piece of malware in terms of ransomware. 
         FIG. 3  presents a flow-chart for the unblocking and malware neutralizing procedure. 
     
    
    
     DETAILED DESCRIPTION 
     To solve the above and related problems, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. However, these aspects provide just few possible approaches for using the principles disclosed herein and are intended to include all the similar aspects and their equivalents. Other advantages and characteristics result from the following detailed description provided in conjunction with the drawings. 
     In the following description, for explanation purposes, numerous specific details are set forth to provide a thorough understanding of the invention. However, it is obvious that some novel embodiments can be implemented without these specific details. Otherwise, conventional procedures, structures and devices are shown by means of flow-charts in order to facilitate their description. 
     DESCRIPTION OF THE ACTIVATION DEVICE 
     The antivirus activation device ( FIG. 1 ), which serves to activate the malware neutralizing procedure, can be connected to a computer via standard communication buses used in PC, such as USB, COM, LPT, (s)ATA, FireWire, etc. Thus the device has connectors  1  for connection to a particular control bus, a controller  2  providing the device operation hardware and software logical circuitry and communication via the bus, and an activation unit  3 , which may be configured as a button, a sensor or a switch. Note that in this text only one of the schematic embodiments of such a device is described, whereby the technical implementation of the rest may substantially differ. 
     The basic stages for neutralizing a piece of malware are further given in terms of ransomware ( FIG. 2 ). 
     1. Through data inputting and creating new files ( 26 ) while operating PC ( 21 ) a user expose his/her PC to infection ( 22 ) with ransomware, demanding from him/her a certain amount to be paid or any other actions to be performed to continue operation. At that the malware disables or limits the keyboard and mouse operation, thus disabling the user to delete the malware with any previously set PC facilities, to continue operation or even to save the data having been input. 
     2. The user connects ( 23 ) the anti-virus activation device ( 10 ) to the PC. After connecting it via a standard communication bus connector, the following occurs: 
     a. The device  10  is recognized by the computer hardware (the bus controller, the low-level input-output system), and the currently loaded and running operating system  28  executed by the PC processor in the PC memory address space; 
     b. The current operating system  28 , being run with the PC hardware sends a corresponding signal for the device  10  to load a management application (the device driver). 
     c. The management application (driver) sets the device  10  for the current operating system  28 , in particular, making its hardware resources available for use. 
     3. The user presses the button (activates the switch) on the body of the device  10 . This action activates the unblocking and malware neutralizing procedure, running on the PC processor and within its address space using the following sequence of events: 
     a. The controller of the device  10  receives a signal from the switch (button), and generates a sequence of commands with the communication bus; 
     b. The commands are received by the hardware of the PC, whose bus the device  10  is connected to (the bus controller and the input-output system participating in the processing), and are sent for processing to the current operating system  28  running with the processor of the PC and using its ram memory; 
     c. After receiving the data for processing the operative system  28 , sends them to the corresponding driver of the device  10  previously loaded at stage 2.b. 
     d. The driver of the device receives the data on the switch activation from the operating system  28  and reports on this to the antivirus software running with the PC current operating system  28 . 
     e. The antivirus software receives the activation signal and launches the computer unblocking and malware neutralizing procedure  24 . Whereby such activation through an exterior device allows for activation to be performed without conventional input facilities, which are blocked by the malicious software. 
     After unblocking and malware neutralizing the user is informed on the procedure completion, whereafter the device  10  may be removed. At that further operation  25  may be continued with no data loss  29  and no harm caused by the ransomware. 
     The following describes the algorithm of the PC unblocking and malware neutralizing procedure ( FIG. 3 ). 
     The computer unblocking and malware neutralizing procedure launched by the antivirus software performs actions aimed at the renewal of the user&#39;s efficient operation with said PC, wherein the following is carried out: 
     a. A subsystem for tracking all the existing Graphical User Interface  31  windows at the time of the malware neutralizing procedure activation with the operating system examines the state of the operating system Texas Instruments Graphics Architecture  32 , finds all the created windows and desktops  33  viewed by the user, as well as the procedures for the windows input-output processing, capturing  34  the user&#39;s current input-output  35 , including their hidden files. Among these windows there are both regular software windows, and malicious software windows  36 . The data are grouped together into lists  37  to be sent for the further processing. 
     b. An integrated into the antivirus software subsystem for monitoring  38  the browser  39  of OS processes, run by the currently used PC processor and ram memory, analyses all the processes and flows executed with the PC at the time of infection while creating the processes interrelation pattern. The malicious software process  310  is one of these processes. On the collected data basis a binding is created for each window, obtained at the previous stage for a particular process and/or process hierarchy  311 . 
     c. A system for analyzing the loaded modules  312  analyzes the received data on the processes and identifies in each of them the modules loaded into its address space  313 , participating in the process running. By means of the file control system browser  314  for each module it is determined a file storing its content. Among these modules it is detected the malicious software  315  module being currently run. The data concerning the modules are saved into the module lists with bindings to the corresponding processes and files  316 . 
     d. Being a part of the antivirus complex a procedure for analyzing the objects automatically run in the course of OS start-up  317  performs searching for the software  318  automatically run in the course of OS start-up. Whereby a link is also detected associated with the malicious software  319  if present, and there are compiled the lists containing the description concerning the type of the link and its location within OS configuration files  320 . 
     e. Using the data collected at stages a, b, c, d a procedure for analyzing the collected information  321 , performs the current state analyses based on the integrated algorithm, creates lists of the objects being suspicious and malicious object candidates. The lists are sent to severity appraisal system  322 , which forms the final lists of the objects considered as malicious on the basis of the suspicious object content and a supplementary data base for the proved objects  323 . While supplementary data stored in the data base files both within the PC and the external activation device, may be used for malware neutralization. 
     f. The final lists of malicious objects are sent to a subsystem for object isolation and deleting  325 , isolating properly the object, deleting its links out of OS configuration files, and aborting the malicious process produced by the object. 
     After activating the unblocking and malware neutralizing procedure the user is informed on the procedure completion, whereafter the activation device may be removed. At that further operation may be continued with no data loss and no harm caused by the ransomware. 
     A malware neutralizing procedure peculiarity is an ability to detect still unfamiliar malware, due to the use of complex information on the system state just at the moment of the malware activation. Whereby the user performs an important function of reporting on active infection (in this case acting as an expert), i.e. he/she functions as a procedure launching trigger for the state of emergency. After receiving the user&#39;s signal on infection said analyzing system allows detecting the precedent without its being preliminary examined and entered into the virus data base. 
     As used herein the terms “component” and “module” refers to computer entity that represents either hardware or hardware and software combination, or software, or currently-running software. For example, a module can be, but is not limited to, a process running on a processor, a processor, a hard disk drive, multiple drives (of optical and/or magnetic medium), an object, an executable module, an execution flow, a program, and/or a computer. By way of illustration, the module may be both an application running on a server and properly a server. One or more modules may be placed in the process and/or execution flow and a module may be located within one computer and/or distributed between two or more computers. 
     Although the description above relates generally to computer instructions that may run with one or more computers, those skilled in the art will appreciate that a new embodiment can also be implemented in conjunction with other program modules and/or as a combination of hardware and software. 
     Generally, program modules include procedures, programs, objects, components, data structures, etc. executing particular tasks or implementing particular abstract data types. 
     Moreover, those skilled in the art will appreciate that the methods of the invention may be implemented using other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor or programmable consumer electronic devices, etc., each of them being connectable to one or more respective devices in the course of operation. 
     A computer typically includes a variety of computer-readable media. The computer-readable media can be any available media accessed by the computer and include both volatile and non-volatile media, as well as both removable media and non-removable ones. By way of example and being not limited to, computer-readable media may comprise computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer readable commands, data structures, program modules or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disks, magnetic cassettes, magnetic tape, magnetic disk or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer. 
     An exemplary computer system for implementing various aspects includes a computer, wherein the computer includes a processor, a system memory, and a system bus. The system bus provides the interface for system components including, but not limited to, the processor system memory. The processor can be any of various commercially available processors. As a processor it is also possible to use double microprocessors and other multiprocessor architectures. 
     The system bus may be any of the bus structure types, and may further be connected to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of the variety of commercially available bus architectures. The system memory includes a read-only memory (ROM) and a random access memory (RAM). The basic input/output system (BIOS) is stored in non-volatile memory, such as ROM, EPROM, EEPROM, wherein the BIOS contains the main procedures that help to transfer information between elements within the computer, for example in the course of start-up. RAM may also include a high-speed RAM such as static RAM for caching data. 
     The computer further includes an internal hard disk drive (HDD) (e.g., EIDE, SATA), wherein the internal hard disk drive may also be adapted for external use in a suitable chassis (not shown), a magnetic floppy disk drive (FDD), (e.g. for reading from or writing to a removable diskette), and an optical disk drive (for example, the reading CD-ROM, or a drive for reading from or writing to other high capacity optical media, for example, DVD). The hard disk drive, the magnetic disk drive and the optical disk drive can be connected to the system bus by a hard disk drive interface, a magnetic disk drive interface, and an optical drive interface, correspondingly. The interface for the external drive implementation includes at least one or both of Universal Serial Bus technology (USB) and IEEE 1394 interface. 
     The drives and their associated computer storage media provide non-volatile storage of data, data structures, computer commands, etc. For the computer the drives and media provide the storage of any data in a suitable digital format. Although the foregoing description of computer-readable media refers to an HDD, a removable magnetic diskette, and removable optical media, e.g., CD or DVD, those skilled in the art will appreciate that other types of computer-readable media, for example, zip-disks, magnetic tapes, flash memory cards, cartridges, and the like, also can be used in the exemplary operating environment, and further that any such media may contain computer instructions for implementing the new methods of the architecture disclosed. 
     A number of software modules including an operating system, one or more application programs, other program modules and program data can be stored with the drives and RAM. An operating system, applications, modules and/or data can also be fully or partially cached with the RAM. It is also apparent that the disclosed architecture can be implemented with various commercially available operating systems or operating system combinations as well. 
     The user may enter commands and information into the computer via one or more wired/wireless input devices, e.g., a keyboard and a pointing device such as a mouse. The input/output devices may include a microphone/speakers or another device, for example, an IR remote control, a joystick, a game pad, a stylus, a touch screen, etc. These and other input devices are often connected to the processor via an input interface connected to the system bus, yet they may be equally connected through other interfaces, such as a parallel port, IEEE 1394 serial port, game port, USB, IR interface, etc. 
     A monitor or display device of another type is also connected to the system bus via an interface, such as a video adapter. In addition to the monitor, a computer typically includes other peripheral output devices such as speakers, printers, etc. 
     The described above represents examples of the disclosed architecture. Of course, it is not possible to describe all the combinations of components or methods conceivable, yet one skilled in the art may appreciate that many further combinations and permutations are possible. Accordingly, the new architecture is intended to involve all such alterations, modifications and variations that fall within the spirit and scope of the claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or in the claims, such term is intended to be inclusive similar to the term “comprising” as “comprising” is interpreted when used as a transitional word in a claim.