next up previous contents
Next: INET Socket Capability-Based Protection Up: LinSec Capability Model Previous: Capability-Based System Boot Monitor   Contents


Capability-Based Process Protection

Capability-Based Process Protection is best explained through an example. Assume two processes: process A and process B. For process A to send a signal to some other process B, Linux requires either A to be a superuser owned process or A and B to be owned by the same user. As some signals can be potentially fatal for the receiving process this simple policy was not acceptable to LinSec primarily as root user should not be allowed to terminate system services that are running with uid of 0 (root) in Linux. Rather than change the whole process ownership philosophy of Linux, which would certainly break the compatibility between platforms and which would violate POSIX 1003.1 set of standards, the LinSec solution is to introduce a set of capabilities to be used in controlling how signals are sent and received. The solution does not replace the current mechanisms, it builds up on them. The introduced capabilities and their meanings are:

Furthermore, in some cases it might prove valuable to hide certain process related information, or even a whole processes, from the eyes of users. Examples of desired invisible processes are various system monitoring programs or intrusion detection systems. For this purpose two more capabilities are introduced by LinSec:



Footnotes

... CAP\_PROC\_HIDDEN4.6
/proc represents standard mount point for Linux proc file system. Proc is a virtual file system that has a role of kernel -- userspace interface. Its main role is to provide system status information to userspace programs.

next up previous contents
Next: INET Socket Capability-Based Protection Up: LinSec Capability Model Previous: Capability-Based System Boot Monitor   Contents