The present disclosure relates to improving the integrity of a computer system including a plurality of user accounts.
Nowadays, most businesses heavily rely on computer systems for underpinning the business. Such computer systems typically are used by many users, e.g. employees, having their own user accounts on the system. Such user accounts may for instance contain files owned by the particular user.
The pool of users and associated user accounts typically is a dynamic pool. People may leave a business, which typically triggers the deletion of the user account of the user from the computer system of the business they have left. However, this can compromise the integrity of the computer system. It is not unusual that files or other digital content owned by a particular user are also being used by different users of the computer system when performing their tasks. Therefore, the deletion of such digital content can compromise the integrity of the computer system in the sense that the system is no longer capable to implement the desired business processes, e.g. services, due to the deletion of digital content that is being relied upon by existing users.
Often, it is practically infeasible for a system administrator to evaluate the relevance of a user account to the overall computer systems as such an exercise would be prohibitively time-consuming, especially if the departed user has large volumes of digital content in his account. A partial solution is being provided by US 2012/0259849 A1, which discloses a method for determining the accurate ownership of a file within a data system by identifying a first plurality of access events for a file, wherein the file is associated with a directory of related files, identifying a second plurality of access events for the related files within the directory, wherein access events in the first and second plurality of access events occur within a period, determining a pool of users accessing files within the directory within the period and selecting a user from the pool of users as an inferred owner of the file based on access metrics related to the plurality of access events. However, there still exists a need for more robust protection of the integrity of such computer systems.
The present invention seeks to provide a method for improving the integrity of a computer system including a plurality of user accounts.
The present invention further seeks to provide a computer program product for facilitating the implementation of such a method.
The present invention yet further seeks to provide a computer system for implementing such a method.
Embodiments of the invention are defined by the claims.
According to an aspect of the present invention, there is provided a method for improving the integrity of a computer system including a plurality of user accounts, the method including monitoring events on the computer system, where the monitored events are related to a user account selected from the plurality of user accounts, assigning an importance score to the monitored user account that is indicative of the importance of the monitored user account to the integrity of the computer system, the importance score being calculated from the monitored events, and providing the importance score to a system administrator upon the administrator attempting to alter the monitored user account.
By automatically building a user profile during the lifetime of the user account by monitoring events associate with the monitored user account, the relevance or importance of the user to the overall system can be assessed at any suitable point in time, most notably when attempting to alter the monitored user account, e.g. deleting at least a part of the user account. Consequently, deletion of users (and their digital content) deemed important to the computer system can be avoided, thereby improving the integrity of the computer system.
The monitoring may be based on any set of rules defined by the business that are considered to capture an indicator of the importance of the user to the computer system.
For instance, the monitoring may include monitoring access of files within the user account by other users, which provides an indication of the importance of these files to other users.
For instance, the monitoring may include monitoring the number of executable scripts, e.g. CRON jobs, within the user account as such scripts are typically only present in the accounts of users with a relatively high degree of importance to the computer system.
For instance, the monitoring may include monitoring the utilization of at least one processor of the computer system by the user of the monitored user account. High utilization rates of such processors are typically indicative of the relevance or importance of the user to the computer system.
A further refinement to the calculation of the importance score may be provided by applying respective weighting factors to different types of monitored events and combining the weighted event types into the importance score. This may further improve the accuracy of the calculated importance score.
Such weighting factors may be user-defined. For instance, the method may further comprise receiving the respective weighting factors from a system administrator prior to the calculating.
In an embodiment, providing the importance score to a system administrator further includes returning a confirmation request to the administrator. This may for instance request confirmation of the (partial) deletion of the specified user account to allow the system administrator to reconsider the request upon learning the importance score of the user associated with the monitored user account.
In a further embodiment, providing the importance score to a system administrator further includes returning a request for authorization information if the assigned importance score exceeds a defined threshold. This further protects the computer system against the unwanted deletion of accounts of important users, as the system administrator requesting the (partial) deletion of the user account is triggered to provide the additional authorization, which will alert the system administrator that the requested deletion is potentially harmful to the computer system, or may even require the system administrator to obtain the requested authorization information from another person in case the system administrator does not possess the requested authorization information, such that at least two people must authorize the (partial) deletion of the user account.
According to another aspect of the present invention, there is provided a computer program product including a computer-readable storage medium, the medium including computer program code for implementing the method according to embodiments of the present invention when executed on at least one processor of a computer system.
In an embodiment, the computer-readable storage medium is selected from a CD, DVD, flash memory card, a USB memory stick, a random access memory, a read-only memory, a computer hard disk, a storage area network, a network server and an Internet server.
According to yet another aspect of the present invention, there is provided a computer system including the computer program product according to embodiments of the present invention and at least one processor adapted to execute the computer program code.
The computer system may further include a user interface for receiving the user importance score from the at least one processor.
Embodiments of the present invention will now be described, by way of example only, with reference to the following drawings, in which:
It should be understood that the Figures are merely schematic and are not drawn to scale. It should also be understood that the same reference numerals are used throughout the Figures to indicate the same or similar parts.
In the context of the present application, where embodiments of the present invention constitute a method, it should be understood that such a method is a process for execution by a computer, i.e. is a computer-implementable method. The various steps of the method therefore reflect various parts of a computer program, e.g. various parts of one or more processes.
The various embodiments of the method of the present invention may be stored on a computer program product including a computer-readable storage medium. The computer-readable storage medium may be any medium that can be accessed by a computer for the retrieval of digital data from the medium. Non-limiting examples of a computer-readable storage medium include a CD, DVD, flash memory card, a USB memory stick, a random access memory, a read-only memory, a computer hard disk, a storage area network, a network server, an Internet server and so on.
In the context of the present application, a (computer) system may be a single device or a collection of distributed devices that are adapted to execute one or more embodiments of the methods of the present invention. For instance, a system may be a personal computer (PC), a server or a collection of PCs and/or servers connected via a network such as a local area network, the Internet and so on to cooperatively execute at least one embodiment of the methods of the present invention.
At least some embodiments of this method seek to prevent the loss of data owned by a particular user upon which other users rely by assessing the importance of the particular user to the overall computer system. This is for instance of particular importance in environments where users provide digital content such as files, services and so on that are being used by other users of the computer system, where the loss of such digital content would prevent other users from utilizing the computer system in the most efficient manner, or even prevent the other users from utilizing the computer system at all. This would seriously compromise the integrity of the computer system, which could have serious negative implications for a business relying on the integrity of such a computer system for conducting its business. This may apply to a wide range of businesses, e.g. a sales environment where sales services are being shared between users, a software development environment where software templates, libraries and so on are being shared between developers, a financial services environment in which market or database evaluation tools are being shared between multiple analysts or traders and so on. At least some embodiments of the present method seek to provide a user authorized to make alterations to accounts of other users, e.g. partial or complete deletion of such user accounts, with system-generated metrics that will help this authorized user to make an informed assessment of the (business) relevance of the user of this account to be altered, thereby limiting the risk that data relevant to other users is lost, thus improving the integrity of the computer system.
In the context of the present application, a user authorized to make alterations to accounts of other users, in particular a user authorized to at least partially delete the account of another user will be referred to as a system administrator. It should be understood that the use of this term is not in any way intended to limit the scope of the present invention to particular authorized users of a computer system, e.g. users having this particular job title. The term system administrator is intended to cover any user authorized to make alterations to accounts of other users.
Other suitable metrics will be apparent to the skilled person. The method subsequently proceeds to step 130 in which the defined events related to selected or all users of the computer system are monitored, e.g. the number and/or frequency of files owned by a particular user accessed by other users, the number of executable scripts owned by a particular user, the usage of the processor(s) of the computer system by a particular user and on. The monitoring may be performed at any suitable frequency. In an embodiment, different types of events are monitored at different frequencies. For instance, file access and processor utilization may be monitored on a continuous or high frequency basis, as these are typically events that can fluctuate as a function of time, whereas the monitoring of the number of executable scripts owned by a particular user may be performed at a much lower frequency, given that this is likely to be a more static metric. The monitoring frequencies may be defined in any suitable manner, e.g. by a system administrator or the like.
At defined points in time, an importance score is calculated for the one or more user accounts being monitored. This is decided in step 135. If there is no need to calculate such a score, the method may proceed to step 165 in which it is decided if the method is to be terminated, in which case the method proceeds to step 170 where the method terminates, or whether the monitoring needs to continue, in which case the method reverts back to step 130. If on the other hand a user score is to be calculated, for instance because a defined time period for monitoring the user-related events has completed, or because a request has been received to alter a user account, e.g., at least partially delete the account, the method proceeds to step 140 in which the user importance score for at least one particular user is calculated.
In an embodiment, this score may be calculated by combining the values obtained from the monitoring into such a score. The exact form of the process suitable for calculating such an importance score may vary from business to business, and may depend on the nature of that business. For instance, in certain business file sharing will be particularly critical whereas in other businesses the ownership of executable scripts is particularly critical. It suffices to say that any suitable process may be selected, which selection may be governed by the particular business needs.
In an embodiment, the process may combine a set of monitored events into a single user importance score, with each event being attributed a weighting factor in accordance with the perceived relevance of the event to the importance score. Such a weighting factor may for instance be defined by the business, e.g. by the system administrator. By way of non-limiting example, using the above example events:
This user importance score may be used by the computer system to inform a system administrator requesting an alteration of a particular user account, typically a partial or complete deletion of the account of the perceived importance of the user to the system. For instance, the method may check in step 145 if such a request has been made. In the absence of such a request, the method may proceed to step 165 as previously explained. On the other hand, upon receiving such a request, the method proceeds to step 150 in which the computer system provides the system administrator with the calculated user importance score such that the system administrator can reconsider the requested alteration of the particular user account, e.g. reconsider (partial) deletion of this account. In an embodiment, the system administrator is furthermore requested by the computer system to confirm his request to alter the particular user account following being provided with the importance score for this particular user. For instance, the system administrator may be provided with a message along the lines of:
Importance score of user X is Y, are you sure you wish to delete this account (y/n)?
Obviously, this message may be phrased in many different ways. Next, the method checks in step 155 if the requested confirmation is indeed received. If not, the method proceeds to step 165 as previously explained; otherwise, the method proceeds to step 160 in which the user account altered as requested, e.g. deleted from the computer system, after which the method proceeds to step 165.
If the user importance score does not exceed the defined threshold, the method may proceed to step 160 in which the requested alteration of the user account is executed or may instead proceed to step 150 in which the system administrator requesting the alteration is prompted with the user information score and the request to confirm the requested alteration, as explained in more detail in the detailed description of
The method subsequently checks in step 225 if the additional authorization has been received, in which case the method may proceed to step 160 in which the requested alteration of the user account is executed or may instead proceed to step 150 in which the system administrator requesting the alteration is prompted with the user information score and the request to confirm the requested alteration, as explained in more detail in the detailed description of
A non-limiting example of a suitable system 300 for executing such a method is shown in
The input device 320 may for instance be a keyboard, a mouse, a keypad, a touchscreen, a voice recognition device, a sensor, a network interface card (NIC), a Voice/video over Internet Protocol (VoIP) adapter, a wireless adapter, a telephone adapter, a dedicated circuit adapter, and so on.
The output device 340 may for instance be a printer, a plotter, a computer screen, a magnetic tape, a removable hard disk, a floppy disk, a NIC, a VoIP adapter, a wireless adapter, a telephone adapter, a dedicated circuit adapter, an audio and/or visual signal generator, a light emitting diode (LED), and so on.
The memory 330 may for instance be a cache, a dynamic random access memory (DRAM), a read-only memory (ROM), a hard disk, a floppy disk, a magnetic tape, an optical storage medium such as a compact disc (CD) or a digital versatile disc (DVD), and so on. The memory 330 typically stores the computer program code defining the method steps of one or more of the embodiments of present invention for execution by the one or more processors 310.
In an embodiment, the system 300 may be communicatively coupled to digital data storage 350, which may store the various user accounts to be monitored by the execution of the aforementioned program code on the one or more processors 310. In an embodiment, the digital data storage 350 is separate from the system 300, in which case the system 300 may be adapted to access the digital data storage 350 over a network, e.g. a LAN or the Internet. In an alternative embodiment, the digital data storage 350 forms a part of the system 300. In yet another embodiment, the digital data storage 350 forms a part of the memory 330.
In operation, the at least one processor 310 may download the computer-readable program code from the memory 330 and execute the program code to implement the method as described in detail with the aid of
In case of a requested alteration, e.g. partial or complete deletion, of a user account by an user authorized to make such alterations, e.g. a system administrator, the at least one processor 310 may send the calculated user importance score to an appropriate output device 340 together with a request for confirmation of the alteration request or additional authorization for this request as previously explained. This may be preceded by the at least one processor 310 determining if such additional verification is required by comparing the calculated user importance score with a defined threshold. Upon receiving the requested additional information from e.g. the input device 320, the at least one processor 310 may perform the requested alteration of the user account stored in the memory 330 and/or the digital data storage 350.
While particular embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention.
Number | Date | Country | Kind |
---|---|---|---|
1313980.3 | Aug 2013 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
6119103 | Basch | Sep 2000 | A |
20040230476 | Messer | Nov 2004 | A1 |
20070143827 | Nicodemus et al. | Jun 2007 | A1 |
20080288330 | Hildebrand et al. | Nov 2008 | A1 |
20100161752 | Collet et al. | Jun 2010 | A1 |
20110060906 | Lafon et al. | Mar 2011 | A1 |
20110307957 | Barcelo et al. | Dec 2011 | A1 |
20110321175 | Slater | Dec 2011 | A1 |
20120066763 | McHugh | Mar 2012 | A1 |
20120259849 | Deodhar et al. | Oct 2012 | A1 |
20130097701 | Moyle et al. | Apr 2013 | A1 |
20130218869 | McConnell et al. | Aug 2013 | A1 |
20130218882 | McConnell et al. | Aug 2013 | A1 |
20130232582 | Jin et al. | Sep 2013 | A1 |
Entry |
---|
Search Report for GB1313980.3 (filed Aug. 5, 2013), UK Intellectual Property Office, mailed Jan. 15, 2014, 3 pages. |
Number | Date | Country | |
---|---|---|---|
20150040219 A1 | Feb 2015 | US |