Abstract:
A management method for a computer system for simply and more reliably preventing an unauthorized use of an application has been disclosed. The management method of a computer system, which comprises hardware, an O/S, a DLL storing a plurality of DLL files, and a plurality of application programs that use the DLL files, prevents an unauthorized use of an application, the use of which is prohibited for some users. A set of prohibited DLL files required for identifying a prohibited application is determined, the set of the prohibited DLL files is stored in correlation with use conditions, use conditions are detected when the activation of an application program is requested, set of the DLL files to be used by the application program is detected, whether the detected set of the DLL files includes the set of the prohibited DLL files in correlation with the detected use conditions, and the application program is terminated when the set of the prohibited DLL files is judged to be included.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The present invention relates to a management method and a system of the management and use of an application in a computer system. More particularly, the present invention relates to a method and a management system for preventing unauthorized use in a computer system in which the applications which each user can use are limited.  
         [0002]     A computer system such as a personal computer may have two or more users. In this case, in general, each user needs to enter his/her own password first and after the password is authorized, the computer system becomes available for him/her to use.  
         [0003]     Many applications are installed in a computer system and a user needs to specify and load (for example, by double-clicking) an application to use.  
         [0004]     When a computer system has two or more users, applications available for each to use are determined in advance, and a management system is provided so as to prevent an application, which a user is not allowed to use, from being activated by the user. Methods, employed by such a management system, for preventing a special application, the use of which is prohibited for a user, from being activated include two methods as follows.  
         [0005]     In one of the two methods, the execution file names of applications, which are prevented from being activated for each user, are registered in advance in a management table or the like and when each user tries to activate an application, the execution file name of the application is acquired and if the application is registered in the management table as an application that cannot be activated by the user, the application is terminated immediately.  
         [0006]     In the other method, the window title names of applications, which are prevented from being activated for each user, are registered in advance in a management table or the like and when each user tries to activate an application, the window title name of the application is acquired and if the window title name is registered as that of an application that cannot be activated by the user, the application is terminated immediately.  
         [0007]     Japanese Unexamined Patent Publication (Kokai) No. 7-230380 has described the configuration, in which a management program is called when DLL files prepared in advance in a dynamic link library (DLL), as part programs, are called by an application program so that all the requests for activation of an application can be monitored without fail.  
       SUMMARY OF INVENTION  
       [0008]     In the operating systems (O/S) now widely used, the execution file name of an application can be arbitrarily changed by a user. Therefore, for example, it is possible for a user to execute an application by changing the execution file name of the application and activating the application using the changed execution file name. As described above, it is not possible to sufficiently prevent an unauthorized use by the above-mentioned method, in which the execution file names of the prohibited applications are registered and managed.  
         [0009]     Moreover, unlike a file name, it is not possible for a user to freely change a window title name, but there may be a case where a window title name can be changed when, for example, the name of a file that is open via an application can be displayed as a window title name, depending on applications. As described above, the window title name is not fixed. Therefore, the method in which prohibited window title names are registered and managed cannot be regarded as a method that can sufficiently prevent activation according to various applications.  
         [0010]     As described above, it is not possible to prevent an intentional unauthorized use by means of the conventional method in which the execution file names or the window title names of applications, the use of which is prohibited, are registered and managed, because the execution file name or the window title name can be changed. Even when the management method described in Patent document 1 is used, it is not possible to prevent an unauthorized use if the execution file name or the window title name is changed.  
         [0011]     An object of the present invention is to realize an easy and more reliable method for preventing an unauthorized use of an application.  
         [0012]     In order to attain the above-mentioned object, in a management method of a computer system according to the present invention, an application is identified based on a set of DLL files to be used as a part program.  
         [0013]     In other words, the management method of a computer system according to the present invention prevents an unauthorized use of an application program, the use of which is prohibited under predetermined use conditions, the computer system comprising: hardware including a processor; an operating system (O/S) for executing a program; a dynamic link library (DLL) storing a plurality of dynamic link library (DLL) files to be used as part programs; and a plurality of application programs that use at least one of the DLL files as part programs, and is characterized in that: a set of the DLL files for identifying the application program is determined from among the DLL files to be used by the prohibited application program; the determined set of the DLL files is stored in correlation with the predetermined use conditions; use conditions are detected when the activation of the application program is requested; a set of the DLL files used by the application program, the activation of which is requested, is detected; whether the detected use conditions are the stored predetermined use conditions is judged and at the same time, whether the detected set of the DLL files includes the predetermined set of the DLL files stored in correlation with the predetermined use conditions is judged; and when the detected use conditions are judged to be the stored predetermined use conditions and the detected set of the DLL files is judged to include the predetermined set of the DLL files, the application program, the activation of which is requested, is terminated.  
         [0014]     As each application uses a DLL file, which is a part program, it is possible to identify an application based on a set of the DLL files to be used. According to the present invention, as a prohibited application is identified based on a set of DLL files, it is possible to identify a prohibited application and prevent the activation thereof even if the execution file name or the window title name of the application is changed.  
         [0015]     The use conditions mainly include the name of a user but it is also possible to associate the use conditions with other conditions.  
         [0016]     In the O/Ss now used widely, the name of a DLL file can also be changed. However, if the name of a DLL file is changed, it is no longer possible to call a required DLL file from an application and the application cannot be executed, therefore, there is no problem from the standpoint of prevention of the activation of a prohibited application.  
         [0017]     Usually, an application uses many DLL files and some DLL files are used commonly in plural applications. Therefore, it is preferable that an application is identified based on a set including at least two or more DLL files. However, there exists that an application can be identified by only one DLL file.  
         [0018]     The management method according to the present invention may be a method in which the request of activation of an application is monitored at all times or a method in which the request of activation of an application is monitored automatically in response to a call of DLL files in the same manner as that described in Japanese Unexamined Patent Publication (Kokai) No. 7-230380.  
         [0019]     It is also preferable that detection of a set of DLL files to be used be conducted by detecting DLL files to be called by an application program.  
         [0020]     Moreover, the management method according to the present invention can be used together with a conventional method in which the execution file names of prohibited applications are registered in advance. In this case, when activation of an application is requested, the execution file name thereof is acquired and whether the application is a prohibited one is judged. When the application is judged to be a prohibited one, the application is terminated without any further operation and only when the application is judged to be an unprohibited one, a set of DLL files is detected and whether the set is a prohibited one is judged.  
         [0021]     According to the present invention, it is possible to easily and more reliably prevent a prohibited application from being activated in a computer system and the reliability of the computer system can be further improved. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]     The features and advantages of the invention will be more clearly understood from the following description taken in conjunction with the accompanying drawings, in which:  
         [0023]      FIG. 1  is a diagram showing a hierarchial structure of a computer system according to an embodiment of the present invention.  
         [0024]      FIG. 2  is a diagram for explaining an action of an application to call DLL files.  
         [0025]      FIG. 3  is a diagram showing a configuration of a program use management system in a computer system according to the embodiment.  
         [0026]      FIG. 4  is a functional block diagram of a management program according to the embodiment.  
         [0027]      FIG. 5  is a diagram showing an example of a registry list.  
         [0028]      FIG. 6  is a flow chart showing a process in the embodiment.  
         [0029]      FIG. 7  is a flow chart showing an additional process in a modified example. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0030]      FIG. 1  is a diagram showing a hierarchial structure of a computer system according to an embodiment of the present invention. The computer system in the embodiment is a system such as a personal computer or a workstation, used by a plurality of users having different authorities. As shown in  FIG. 1 , the computer system comprises: a hardware layer  1  including memories such as CPU, ROM, and RAM, a hard disc drive (HDD), a monitor, a printer, and various peripheral devices such as a communication function terminal; an operating system (O/S)  2 ; a dynamic link library (DLL)  3  storing various DLL files to be used as part programs; and an application layer  4 . What is managed in the present invention is the activation of an application that uses DLL files. Some applications do not use DLL files, but such applications are in general very simple programs and are not a target to be protected, therefore, no problem is brought about even if the present invention cannot be applied thereto.  
         [0031]      FIG. 2  is a diagram for explaining an action of an application to call DLL files. The DLL files are programs that are commonly used by various applications and which perform a basic process, and which are programmed into a form in which various basic processes can be easily combined with other processes for use. When an application program is created, it is not necessary to create all the programs from scratch, but proper DLL files are called for use, and are prepared in advance, for basic processes. Due to this, the creation of an application program is made easy and, at the same time, the capacity required for storing all the programs in the computer system can be reduced because common programs are not stored repeatedly, and moreover, the reliability of the computer system is improved because DLL files of excellent quality are used.  
         [0032]     An application program file  11  has a header section storing a list of DLL files to use and performs a process to call DLL files  12 - 1 , . . . ,  12 - n  at the time of activation. If the process is not performed properly, the application program is not loaded nor executed.  
         [0033]      FIG. 3  is a diagram showing the configuration of a program use management system in a computer system in the present embodiment. As shown schematically, in addition to various applications  11 -A, . . . ,  11 -P, . . . ,  11 -R, . . . , a management program  21  is provided. As shown in  FIG. 1 , an O/S and DLL files are also provided, but are not shown here because the hierarchy thereof is different. As described above, each application uses DLL files. The management program  21  performs management in various ways, and when a user tries to activate an application, an unauthorized activation preventing section in the management program  21  judges whether the user is authorized and allows the activation when the user is judged to be an authorized user, but performs a process to terminate the application if the user is judged to be an unauthorized user.  
         [0034]     As shown in  FIG. 3 , an application A is one that users X and Y are prohibited from using, and DLL 1 , DLL 2 , DLL 3 , . . . , DLL 1 , etc., are used among the DLL files. An application P is one that a user Z is prohibited from using, and DLL 1 , DLL 2 , DLL 4 , . . . , DLLj, DLLm, etc., are used among the DLL files. Moreover, an application R is one that no user is prohibited from using, that is, any user can use the application R, and DLL 1 , DLL 2 , . . . , DLLj, etc., are used among the DLL files.  
         [0035]      FIG. 3  is a diagram that only shows that users prohibited from using an application program differ from application to application, and so do the called DLLs, therefore, information about users prohibited from using the application program is not necessarily held in the application program.  
         [0036]      FIG. 4  is a block diagram showing the function of the unauthorized activation preventing section provided in the management program  21  in the present embodiment. As shown in  FIG. 4 , when an O/S is directed to activate an application through the operation of a mouse or keyboard, the O/S activates the target application  11  and, at the same time, notifies the management program  21  of the name of a user who directs the activation. The management program  21  acquires a list of the DLL files to be used by the application  11  by monitoring the DLL files called by the activated application  11  and terminates the application in the case of an unauthorized use. In addition, the management program  21  compares the acquired list of the DLL files and the user name with the sets of the DLL files stored in the registry  22 , the use of which is prohibited for each user.  
         [0037]      FIG. 5  is a diagram that shows an example of a list of the sets of the DLL files stored in the registry  22 , the use of which is prohibited for each user. As shown schematically, for each user, the names of the applications, the use of which is prohibited, and a set of a DLL file or a set of two or more DLL files required to identify a prohibited application are stored. It may be acceptable that only the sets of DLL files are stored in the list while the prohibited application names are not stored.  
         [0038]     As shown in  FIG. 5 , the user X is prohibited from using the applications A and B, etc., the user Y is prohibited from using the applications A and D, etc., the user Z is prohibited from using only the application P, and a user S is not prohibited from using any application, that is, the user S is allowed to use every application. Other users are prohibited from using the applications A, B, D, P, etc. An application is judged to be the application A when a set of DLL 1 , DLL 2 , . . . , DLL 1  is included, judged to be the application B when a set of DLL 1 , DLL 5 , DLL 7 , . . . , DLLt is included, judged to be the application D when a set of DLL 10  and DLLi is included, and judged to be the application P when a set of DLL 1 , DLL 2 , . . . , DLLm is included.  
         [0039]     To identify an application, it is not necessary to describe all the DLL files each application uses. For example, when an application uses a DLL file, which none of the other applications uses, it may be acceptable to store only the DLL file in a list. Moreover, when two application, which a certain user is prohibited from using, use five common DLL files and further use one more different DLL file, respectively, and if the set of the five common DLL files can be distinguished from a set of DLL files which another user is prohibited from using, only the set of the five common DLL files needs to be listed.  
         [0040]      FIG. 6  is a flow chart showing the processing procedure of the unauthorized activation preventing section in the management program  21  in the embodiment. As shown in  FIG. 6 , in step  100 , the unauthorized activation preventing section detects an operation event to activate an application reacting to a mouse or a keyboard through the O/S. In step  101 , the unauthorized activation preventing section acquires the name of a user who tries to perform the operation event to activate the application through the O/S. In step  102 , the unauthorized activation preventing section acquires the list of the names of the DLL files to be used by monitoring the called DLL files to be used by the application, the activation of which is directed.  
         [0041]     In step  103 , it is judged whether all of the set of the DLL files registered in correlation with the user name stored in the registry  22  is included in the acquired list of the names of the DLL files. When all of the set is included in the list, the flow advances to step  104  to terminate the application, because a prohibited application has been activated. When all of the set is not included in the list, that is, a DLL file that is not included in the acquired list of the names of the DLL files exists in the set of the DLL files registered in correlation with the acquired user name stored in the registry  22 , the application is not prohibited from being used, therefore, the flow advances to step  105  to continue the activation of the application. In other words, the management program  21  does nothing and no termination command is issued to the application, therefore, the activation of the application is continued and the application is activated eventually.  
         [0042]     In the above-mentioned embodiment, whether an application is prohibited from being used is judged based on only the DLL files to be used, but a modified example may be acceptable that employs, in addition to the present method, the conventional method, in which whether an application is prohibited from being used is judged based on the execution file name of the application. In this case, the conventional method, in which whether an application is prohibited from being used can be judged more quickly than the present method, is performed first, and when the application is judged to be an unprohibited application, whether the application is prohibited from being used is further judged based on the DLL files to be used as described in the above-mentioned embodiment.  
         [0043]      FIG. 7  is a flow chart showing processes to be added to the modification example. After steps  100  and  101  in  FIG. 6  are performed, in step  111  in  FIG. 7 , the execution file name of the application is acquired. Then, it is judged whether the user name stored in the registry  22  shown in  FIG. 5  and the name of the prohibited application registered in correlation with the user name coincide with the acquired names of the user and the application. When the names of the user and the prohibited application stored in the registry coincide with the acquired names of the user and the application, the flow advances to step  112  to terminate the application, because an application that is prohibited from being used has been activated. If not, the flow advances to step  102  in  FIG. 6 .  
         [0044]     The embodiment of the present invention is described as above, but it is needless to say that there can be various modification examples. For example, although the management program detects that the directive to activate an application is issued through the O/S in the embodiment described above, it is also possible to design so that the management program is activated automatically when each application calls DLL files, as described in the above-mentioned Patent document 1.  
         [0045]     According to the present invention, as the reliability of a computer system that prevents an unauthorized use can be improved, a computer system used in a field in which strict control is required can be configured at a low cost by applying the present invention thereto.