Benefit is claimed under 35 U.S.C. 119(a)-(d) to Foreign application Ser No. 2268/CHE/2008 entitled “LOGGING SYSTEM EVENTS” by Hewlett-Packard Development Company, L.P., filed on 17 Sep. 2008, which is herein incorporated in its entirety by reference for all purposes.
There is an increasing trend for the outsourcing of information technology systems. As a result of this, the administration of information technology systems may additionally be outsourced. The administrator of an information technology system often has the ability to access and modify elements of an information technology system. In such systems, the maintenance of logs and audit trails of actions of an administrator allowed malicious activity by such an administrator to be detected. For example, host-based intrusion detection systems include a mechanism to report activity on a node to a centralized server through a network.
US Patent Application No. 2002/0046350 discloses a system and method for establishing a log file which may be used to create an audit trail.
A centralized server maintains a log file of actions performed by a requester and the security server which are related to protected objects.
Such systems however require that the network be connected. A malicious administrator could disable the network, and perform a malicious act, and remove any trace from system logs before connecting back to the network.
In the following, embodiments of the invention will be described, by way of example only, and with reference to the drawings in which:
Processor 110 executes intrusion detection thread 112 and intrusion detection agent 114. Intrusion detection agent 114 monitors the activities of an administrator or user on data processing system 100. Intrusion detection agent 114 sends data indicative of system events which are detected by intrusion detection agent 114 to intrusion detection thread 112. Intrusion detection thread 112 stores data indicative of system events in log 122 which is stored in memory 120. When activated, intrusion detection thread 112 allocates a portion of memory 120 for log 122. Intrusion detection agent 114 may mark log 122 as read only. This prevents other processes and applications from changing the data stored in log 122.
Intrusion detection agent 114 reads data from log 122 and sends the data indicative of the log event via network 140 to server 150. Intrusion detection thread 112 and intrusion detection agent 114 may be operating system components. Intrusion detection thread 112 may be a kernel thread, this thread may be implemented as an extension to an existing intrusion detection logging thread, or as an explicitly created kernel thread when the operating system is taken into a single user mode.
A kernel thread as understood herein is a fraction of a program running in the kernel process. A kernel thread exists within the context of a process and provides an operating system the means to address and execute smaller segments of the process. It also enables programs to take advantage of capabilities provided by the hardware for concurrent and parallel processing.
A single user mode allows the system to be booted for a single super user, forbidding other users to log into the system during a period of time. In general, this is a temporary mode where the system is taken into this mode for maintenance purposes.
Intrusion detection thread 112 synchronizes log 122 with a log file 134 stored in non-volatile storage 130. Non-volatile storage 130 may be for example a hard disc drive. Log file 134 is stored in a firmware partition 132 of non-volatile storage 130. Firmware partition 132 may be inaccessible to a user or administrator of data processing system 100. Firmware partition 132 may be implemented for example as an extensible firmware interface partition or other early boot firmware partition of non-volatile storage 130. Log file 134 may be stored in an encrypted format. This would provide a further security against a malicious user or administrator from modifying log file 134.
Intrusion detection thread 112 may synchronize log 122 to log file 134 periodically, after the reception of a certain number of events, or according to other criteria. When data processing system 100 is shut down, intrusion detection thread 112 synchronizes log 122 to log file 134 as part of the shutdown process. This ensures that all user activity is recorded in log file 134, and that a malicious user or administrator cannot avoid his or her activities from being detected and recorded by restarting or shutting down the system. Upon boot up of data processing system 100, intrusion detection thread may read log file 134 and record or write all events into log 122 stored in memory 120. The events are the contents of the log file 134.
As intrusion detection agent 114 log events to server 150 via network 140, they may be deleted from log 122 stored in memory 120 and log file 134 stored in non-volatile storage 130.
The kernel thread, running in the kernel process, may not be terminated by an administrator and detects all changes in the data processing system 100. The kernel thread logs the changes to a portion of the memory 120, securing audit records of changes from a malicious super user or administrator. The data processing system 100 may keep the log events communicated to a central server and logs the system activity events to a special region in the memory 120. It also synchronizes the logs in memory 120 to a log file 134 on the disk. The log file 134 is created in a disk area accessible by the firmware that can be read by the kernel thread. This avoids an administrator from corrupting the log file.
The data processing system 100 increases the accountability of the root administrator's activity in the single user mode. It also provides integrity of the audit records even when the system is not available in network mode, for example during system failures or reboots. When the data processing system 100 returns to an operational mode that enables the network connection between the data processing system 100 and the central console, the contents of the log file and in the log information in memory 120 is communicated back to the centralized console. All the activities of the data processing system 100 in a data center are logged and tracked, protecting it from security breaches.
As the kernel thread runs in the kernel process and the log 122 is stored in a read mode, the log file 134 is inaccessible to a user or administrator. In that way, a malicious administrator cannot alter or corrupt the log files and remove traces of malicious activity. Furthermore, as the log file 134 is stored in non-volatile storage 130, rebooting or restarting the system does not remove the data stored in the log file 134.
The method may further comprise the step of sending the data to a server via a network. This step may be carried out by an intrusion detection agent. The intrusion detection agent may also monitor the system and send the data indicative of a log event to the intrusion detection thread in step 204.
Method 200 may be triggered by detecting that a data processing system has been taken into a single user mode. Alternatively, method 200 may be triggered at boot up of a data processing system. Thus, the method may be executed when the data processing system 100 is taken into a single user mode, for example by disconnecting it from a network.
When the data is stored in the log file in step 208, the data may be encrypted. This provides a further protection of the data stored in the log file 134 from a malicious user or administrator.
The method may further comprise the step of marking the memory area as read only. In this way, other processes and applications are prevented from overwriting the memory. 120 The non-volatile storage 130 may be a partition accessible by early boot firmware.
The methods described above may be implemented as a hardware embodiment, a software embodiment, or a combination of the two. The methods may be implemented as a computer program product comprising computer readable instructions which when executed on a computer would cause the computer to execute the methods described above.
100 data processing system
110 processor
112 intrusion detection thread
114 intrusion detection agent
120 memory
122 log
130 non-volatile storage
132 firmware partition
134 log file
140 network
150 server
200 method
202 allocate memory area for log
204 receive data indicative of log event
206 store data in log
208 store data in log file
300 method
302 allocate memory area for log
304 read contents of log file
306 store contents of log file in log
400 method
402 check network available
404 receive log event from intrusion detection thread
406 send to server
Number | Date | Country | Kind |
---|---|---|---|
2268/CHE/2008 | Sep 2008 | IN | national |