Abstract:
A method for monitoring the managed devices comprises that the manage center preserves the integrality list in advance, which includes the system integrality values of the managed devices and the corresponding relations of the managed devices and the system integrality values of themselves, and the managed device gathers the current system integrality value of itself and saves it when it starts; the managed device sends the information including the current system integrality value to the manage center after receiving the monitor command from the manage center; the manage center determines whether the received current system integrality value of the managed device coincides with the integrality value of the managed device saved by itself according to the received information and said integrality list, and implements the alert process when they do not coincide with each other. The manage center can know whether the managed device is believable currently so that the manage center can determine whether the unknown attack to the managed device exists or not according to the present invention.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of Invention 
         [0002]    The present invention relates to the field of monitoring technology and trusted computer, and in particular to a method for monitoring a managed device. 
         [0003]    2. Description of Prior Art 
         [0004]    Currently, a management center for managing a device is usually a server which is responsible for acquiring the information on the managed device, such as the log event of the managed device, running load for CPU, current network performance and attacks that have happened. The management center launches an alert when found the managed device is under attack. Unfortunately, the information monitored by the management center is confined to only the information of some specific modules or components in the managed device as well as known attacks, while the current status of the managed device and any unknown attack cannot be monitored. 
         [0005]    Therefore, it is obvious that the prior art monitoring is restricted to only the monitoring of any known attack, while there is no way to monitor any unknown attack and the current status of the managed device. Moreover, the management center cannot detect whether there exists any system vulnerability of the managed device. 
       SUMMARY OF THE INVENTION 
       [0006]    It is an object of the present invention to provide a method for monitoring a managed device so that a management center can monitor whether there currently exists any unknown attack on the managed device. 
         [0007]    To achieve the above object, the technical solution of the present invention is implemented as follows. 
         [0008]    A method for monitoring a managed device, wherein a management center pre-saves an integrity list containing system integrity values of the managed device and the correspondence between the managed device and its system integrity values, and the managed device, upon started, acquires and saves its current system integrity value, the method comprises the steps of: 
         [0009]    a) sending, by the managed device, information containing the current system integrity value to the management center after the reception of a monitoring command from the management center; 
         [0010]    b) determining, by the management center, whether the current system integrity value of the managed device in the received information coincides with the saved system integrity value of the managed device in the management center based on the received information and said integrity list, and performing alert processing if they do not coincide with each other. 
         [0011]    Preferably, said alert processing comprises issuing alert information, or issuing alert information and restoring damaged parameters. 
         [0012]    Preferably, said integrity list further comprises application software equipped to each managed device and integrity value of the application software. 
         [0013]    The method further comprises the steps of: calculating, by the managed device, the integrity value of application software and sending information containing the current integrity value of the application software to the management center before starting the application software; and determining, by the management center whether the received system integrity value of the application software currently used by the managed device coincides with the saved system integrity value of the application software corresponding to the managed device in the management center based on the received information and said integrity list, and issuing alert information, or issuing alert information and restoring the damaged application software if there is no coincidence. 
         [0014]    Preferably, said management center pre-saves a list of operating system (OS) versions and/or a list of application software versions, said list of OS versions contains integrity values for different versions of different OSs and the correspondence between integrity values for different versions of one same OS; said list of application software versions contains integrity values for different versions of different application software and the correspondence between integrity values for different versions of one same application software; said list of OS versions further contains patches corresponding to OS versions having security vulnerability, and said list of application software versions further contains patches corresponding to application software versions having security vulnerability. 
         [0015]    The step a) further comprises sending to the management center information containing the current integrity value for OS and/or for application software version. The step b) further comprises determining the OS and/or application software version currently used by the managed device based on the current integrity value for OS and/or for application software version from the managed device as well as said list of OS versions and/or of application software versions, determining whether there is any security vulnerability in the OS and/or application software version based on a preset configuration, and, if it is determined that there is any security vulnerability in the OS and/or application software version, issuing alert information and sending to the managed device the patch corresponding to the OS and/or application software version. 
         [0016]    Preferably, said information containing the current system integrity value in the step a) is the plain text of the current system integrity value. 
         [0017]    Preferably, said information containing the current system integrity value in the step a) is the encrypted text obtained by encrypting the current system integrity value with a preset symmetrical key. 
         [0018]    Before said determining by the management center based on the received information and said integrity list, the step b) further comprises decrypting the received information with a preset symmetrical key. 
         [0019]    Preferably, said information containing the current system integrity value in the step a) is the plain text of the current system integrity value and the information obtained by signing the current system integrity value with a pre-generated private key. 
         [0020]    Before said determining by the management center based on the received information and said integrity list, the step b) further comprises verifying the signature on the current system integrity value with a pre-saved public key corresponding to said private key in the step a). 
         [0021]    Preferably, said information containing the current system integrity value in the step a) is the combined information of the plain text of the current system integrity value, the information obtained by signing the current system integrity value with a pre-generated private key, and a pre-generated public key certificate corresponding to said private key and signed by a trusted third party. 
         [0022]    Before said determining by the management center based on the received information and said integrity list, the step b) further comprises verifying the signature on the current system integrity value with the received public key. 
         [0023]    Preferably, said information containing the current system integrity value in the step a) is the combined information of the plain text of the current system integrity value, the information obtained by signing the current system integrity value with a pre-generated private key, a pre-generated public key corresponding to said private key and an anonymous certificate. 
         [0024]    Before said determining by the management center based on the received information and said integrity list, the step b) further comprises authenticating the identity of the sender with the received anonymous certificate and verifying the signature on the current system integrity value with the received public key after a successful authentication. 
         [0025]    Preferably, said managed device is a computer, and the step of said managed device acquiring and saving its current system integrity value upon started comprises the steps of: 
         [0026]    i) calculating integrity values for system ROM, BIOS or EFI firmware code and hardware configuration parameters and storing them in a secure storage component after powering on the computer; 
         [0027]    ii) calculating integrity values for parameter information which has been configured, master boot sector and system boot partition and storing them in a secure storage component after starting BIOS or EFI; 
         [0028]    iii) calculating integrity value for OS-loaded code and storing it in a secure storage component before loading the boot OS by BIOS or EFI; 
         [0029]    iv) calculating integrity values for OS core, system startup file, system configuration file and driving software and storing them in a secure storage component after loading code by OS; 
         [0030]    v) calculating the current system integrity value based on all the integrity values mentioned in the steps i) to iv). 
         [0031]    Preferably, said parameter information which has been configured includes CPU microcode software, enable or disable status configuration for various system functions, various authentication passwords, disk configuration parameters, configuration parameters for peripheral devices and configure parameters for security function. 
         [0032]    Preferably, said secure storage component is secure chip TPM, hard disk with security protection function, USB-key or smart-card. 
         [0033]    The pivotal concept of the present invention is explained as follows. The management center pre-saves the integrity list containing system integrity values of the managed device and the correspondence between the managed device and its system integrity values, and the managed device, upon started, acquires and saves its current system integrity value; the managed device sends information containing the current system integrity value to the management center after the reception of a monitoring command from the management center; the management center determines whether the received current system integrity value of the managed device coincides with the saved system integrity value of the managed device in the management center based on the received information and said integrity list, and performs alert processing if they do not coincide with each other. With the present invention, the management center can learn whether the managed device is currently in a trusted status. If the managed device is currently in an untrusty status, it is indicated that a potential attack exists, and thus the management center is enable to determine whether any unknown attack on the managed device exists. Further, the present invention monitors the application software currently used by the managed device and thereby determines whether the application software is under attack or damaged. In addition, the present invention monitors the OS version of the managed device and determines whether there is any vulnerability in the current OS of the managed device and whether a patch is needed. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0034]      FIG. 1  shows a schematic flowchart for implementing an embodiment of the present invention. 
           [0035]      FIG. 2  shows a schematic flowchart for a device to be accessed calculating its own system integrity value. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0036]    The idea of the present invention is that a management center pre-saves an integrity list containing system integrity values of a managed device and the correspondence between the managed device and its own system integrity values, and the managed device, upon started, acquires and saves its own current system integrity value; the managed device sends information containing the current system integrity value to the management center after the reception of a monitoring command from the management center; the management center determines whether the received current system integrity value of the managed device coincides with the saved system integrity value of the managed device in the management center based on the received information and said integrity list, and performs alert processing if they do not coincide with each other. 
         [0037]      FIG. 1  shows a schematic flowchart for implementing an embodiment of the present invention. A management center pre-saves an integrity list containing system integrity values of a managed device and the correspondence between the managed device and its own system integrity values. 
         [0038]    In step  101 , the managed device acquires and saves its own current system integrity value when it is started. 
         [0039]    In step  102 , the managed device sends information containing the current system integrity value to the management center after receiving a monitoring command from the management center. 
         [0040]    In step  103 , the management center determines whether the received system integrity value of the managed device coincides with the saved system integrity value of the managed device in the management center based on the received information and said integrity list. If the two values coincide with each other, the managed device operates normally and in a trusted status, and thus the management center conducts no processing. If there lacks coincidence between the two values, the management center considers the managed device to be in an untrusty status and carries out alert processing. 
         [0041]    The above-mentioned untrusty status includes, but not limited to, firmware and various system parameters being damaged. The above alert processing includes sending alert information, or send alert information and restoring the damaged parameters. 
         [0042]    In this way, the monitoring on the managed device can be implemented. 
         [0043]    Referring to  FIG. 2 , which shows a schematic flowchart for a managed device to acquire its own system integrity value. In this embodiment, the managed device is a computer. 
         [0044]    In step  201 , every time the computer is powered on, it utilizes CPU to calculate integrity values for system ROM, basic input-output system (BIOS) or the firmware code of extensible firmware interface (EFI) and hardware configuration parameters, and stores these integrity values in a secure storage component. 
         [0045]    In step  202 , after BIOS or EFI has been started, the computer calculates integrity values for parameter information which has been configured, master boot sector and system boot partition and stores them in the secure storage component. The parameter information which has been configured includes CPU microcode software, enable or disable status configuration for various system functions, various authentication passwords, disk configuration parameters, configuration parameters for peripheral devices, configuration parameters for security function, etc. 
         [0046]    In step  203 , the computer calculates integrity value for OS-loaded code and stores it in the secure storage component before the boot OS is loaded by BIOS or EFI. 
         [0047]    In step  204 , the computer calculates integrity values for OS core, system startup file, system configuration file and driving software and stores them in the secure storage component after the code has been loaded by OS. 
         [0048]    In step  205 , the computer calculates the current system integrity value based on all the integrity values mentioned in the step  201  to  204 . 
         [0049]    The secure storage component mentioned above is secure chip (TPM, Trusted platform Module), hard disk with security protection function, USB-key or smart-card. 
         [0050]    In this embodiment, the integrity list can further include application software equipped to each managed device and integrity value of the application software. After the managed device has a normal startup and before the application software is started, the following steps can be included. First, the managed device calculates the integrity value of the application software and sends information containing the current integrity value of the application software to the management center. The management center then determines, based on the received information and the integrity list, whether the received system integrity value of the application software currently used by the managed device coincides with the saved system integrity value of the application software corresponding to the managed device in the management center. If the two values coincide with each other, the managed device operates normally, and thus the management center conducts no processing. If there lacks coincidence between the two values, the management center considers the application software has been damaged and issues alert information, or issues alert information as well as restores the damaged application software. 
         [0051]    Besides, a list of operating system (OS) versions and/or a list of application software versions can be provided in the management center in advance. The list of OS versions contains integrity values for different versions of different OSs and the correspondence between integrity values for different versions of one same OS, and the list of application software versions contains integrity values for different versions of different application software and the correspondence between integrity values for different versions of one same application software. Meanwhile, the list of OS versions and the list of application software versions further contain patches corresponding to OS versions and application software versions having security vulnerability, respectively. Upon the reception of a monitoring command from the management center, the managed device sends to the management center information containing the current integrity value for OS and/or for application software version in addition to the above current system integrity value. The management center, after determining the managed device is in a normal status, determines the OS and/or application software version currently used by the managed device based on the current integrity value for OS and/or for application software version from the managed device as well as the list of OS versions and/or of application software versions, and determines whether there is any security vulnerability in the OS and/or application software version based on a preset configuration. If it is determined that there is any security vulnerability in the OS and/or application software version, the management center sends to the managed device the patch corresponding to the OS and/or application software version, otherwise it takes no action. 
         [0052]    Next, a specific description will be given by example of OS since the management procedure for OS versions is the same as that for application software versions. 
         [0053]    For example, information on the integrity values for 3 Windows2000 OS versions is saved in advance in the list of OS versions in the management center, as shown in Table 1. 
         [0000]    
       
         
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
             
             
               
                   
                   
               
               
                   
                 Version information 
               
             
          
           
               
                   
                   
                 Patch to 
                   
                   
               
               
                 OS 
                 Version 1 
                 Version 1 
                 Version 2 
                 Version 3 
               
               
                   
               
               
                 WINDOWS 
                 Integrity value 
                 Patch to 
                 Integrity value 
                 Integrity 
               
               
                 2000 
                 for original 
                 original 
                 for original 
                 value 
               
               
                   
                 version 
                 version 
                 version 
                 for latest 
               
               
                   
                   
                   
                 installed with 
                 version 
               
               
                   
                   
                   
                 patch 
               
               
                 . . . 
                 . . . 
                 . . . 
                 . . . 
                 . . . 
               
               
                   
               
             
          
         
       
     
         [0054]    Having received the integrity value for the OS version from the managed device, the management center sends alert information and the patch corresponding to the original version to the managed device if it confirms that the received integrity value is identical with its saved integrity value for the original WINDOWS2000 version, i.e. Version 1. On the other hand, if it confirms that the received integrity value is consistent with the integrity value for the patched original WINDOWS2000 version, that is, Version 2, or with the integrity value for the latest WINDOWS2000 version, Version 3, the management center concludes that the OS is normal and takes no action. 
         [0055]    In the above monitoring procedure, the managed device sends to the management center the information, such as the integrity values for the current OS, the application software and the OS version, directly in the form of plain text. Of course, the managed device can also protect the information to be sent with a key or signature before sending it to the management center. Hereafter, the protected information sending mechanism using a key or signature will be explained in detail by example of sending the integrity value for the current OS. 
         [0056]    The Protection Mechanism using a Key 
         [0057]    A symmetrical key is pre-stored in the management center and the managed device, respectively. The managed device encrypts the current system integrity value with the symmetrical key and then sends the resulting information to the management center, which in turn decrypts the received information and carries out integrity determination when the decryption is successfully completed. 
         [0058]    The Protection Mechanism using a Signature 
         [0059]    The managed device generates a public key and a private key in advance, and then uses the latter to sign the current system integrity value. The management center uses the public key to verify the signature and carries out integrity determination when the verification is successful. 
         [0060]    The information sent from the managed device to the management center needs to contain only the plain text of the current system integrity value and the signature thereon if the public and private keys generated in advance by the managed device has been signed by a trusted third party, and the management center has saved the public key corresponding to the private key. On the other hand, the information sent from the managed device to the management center needs to contain the plain text of the current system integrity value and the signature thereon as well as the public key corresponding to the private key used for signature if the public and private keys generated in advance by the managed device has been signed by a trusted third party, while the management center has not yet saved the public key corresponding to the private key. Further, if the public and private keys generated in advance by the managed device are not signed by a trusted third party, the information sent from the managed device to the management center needs to contain the plain text of the current system integrity value and the signature thereon, the public key corresponding to the private key used for signature as well as an anonymous identity certificate. In this case, the management center will first authenticate the legality of the sender by the anonymous identity certificate, and verify the signature with the received public key only when the sender is legal. 
         [0061]    The above-described calculation of the system integrity value is performed by an integrity information acquisition module within the managed device, and the encryption or signing is fulfilled by a signature encryption module within the managed device, which also receives the monitoring command from the management center. The information is sent to the management center by a management agent module. The management center is a server, whose verifying action is fulfilled by a built-in acquisition module for trusted information of the managed device, and whose alert processing is executed by a built-in event processing alert module. 
         [0062]    The foregoing description gives only the preferred embodiments of the present invention and is not intended to limit the present invention in any way. Thus, any modification, substitution, improvement or like made within the spirit and principle of the present invention should be encompassed by the scope of the present invention.