grsecurity
grsecurity is an innovative set of patches for the Linux
kernel with
an emphasis on strengthening the security of a computer system.
grsecurity allows the system administrator to, among other
things,
define a least privilege policy for the system, in which every process
and user have only the lowest privileges needed to function. It is
typically used when hosts need to permit remote connections from
untrusted sources, such as ssh and web servers.
It prevents most forms of address space modification, confines
programs via its Role-Based Access Control system, hardens syscalls,
provides full-featured auditing, and implements many of the OpenBSD
randomness features. Development of grsecurity is sponsored by a number
of organisations including Prometheus Global.
Features include:
- Written for performance, security and ease-of use
- Utilizes a multi-layered detection, prevention, and
containment model
- Buffer overflow
exploitation prevention
- An intelligent and robust Role-Based Access Control (RBAC)
system that can generate least privilege policies for your entire
system with no configuration. The RBAC system lets an
administrator to restrict access to files, capabilities,
resources, or sockets to all users, including root. This is similar to
a Mandatory Access Control (MAC) model
- /tmp race vulnerability prevention
- Extensive auditing
- Option to specify single group to audit
- Exec logging with arguments
- Denied resource logging
- Chdir logging
- Mount and unmount logging
- IPC creation/removal logging
- Signal logging
- Failed fork logging
- Time change logging
- RWX map logging
- Trusted path execution
- Prevention of arbitrary code execution, regardless of the
technique used (stack smashing, heap corruption, etc)
- Prevention of arbitrary code execution in the kernel
- Randomization of the stack, library, and heap bases
- Kernel stack base randomization
- Protection against exploitable null-pointer dereference
bugs in the kernel
- Reduction of the risk of sensitive information being leaked
by arbitrary-read kernel bugs
- A restriction that allows a user to only view his/her
processes
- Security alerts and audits that contain the IP address of
the person causing the alert
- /proc restrictions that don't leak information about
process owners
- Symlink/hardlink restrictions to prevent /tmp races
- FIFO restrictions
- Dmesg restriction
- Enhanced implementation of Trusted Path Execution
- GID-based socket restrictions
- Nearly all options are sysctl-tunable, with a locking
mechanism
- All alerts and audits support a feature that logs the IP
address of the attacker with the log
- Stream connections across unix domain sockets carry the
attacker's IP address with them (on 2.4 only)
- Detection of local connections: copies attacker's IP
address to the other task
- Automatic deterrence of exploit brute-forcing
- Low, Medium, High, and Custom security levels
- Tunable flood-time and burst for logging
- Change root (chroot) hardening
- No attaching shared memory outside of chroot
- No kill outside of chroot
- No ptrace outside of chroot (architecture independent)
- No capget outside of chroot
- No setpgid outside of chroot
- No getpgid outside of chroot
- No getsid outside of chroot
- No sending of signals by fcntl outside of chroot
- No viewing of any process outside of chroot, even if
/proc is mounted
- No mounting or remounting
- No pivot_root
- No double chroot
- No fchdir out of chroot
- Enforced chdir("/") upon chroot
- No (f)chmod +s
- No mknod
- No sysctl writes
- No raising of scheduler priority
- No connecting to abstract unix domain sockets outside of
chroot
- Removal of harmful privileges via cap
Return
to MAC/RBAC Tools Home Page
Last Updated Tuesday, April 24 2012 @ 02:41 PM EDT |