grsecurity

grsecurity
Developer(s) Brad Spengler (Spender)
Stable release 2.2.2 for Linux Kernel 2.6.32.50
 (10 Dec 2011) [±]
Preview release 2.2.2 for Linux Kernel 3.1.5  (10 Dec 2011) [±]
Operating system Linux
Type Security
License GNU General Public License
Website http://grsecurity.net/

grsecurity is a set of patches for the Linux kernel with an emphasis on enhancing security. Its typical application is in computer systems that accept remote connections from untrusted locations, such as web servers and systems offering shell access to its users.

Released under the GNU General Public License, the FSF considers grsecurity free software.

Contents

PaX

A major component bundled with grsecurity is PaX. Amongst other things, the patch flags data memory—such as that on the stack—as non-executable, and program memory as non-writable. The aim is to prevent memory from being overwritten, which prevents many types of security vulnerabilities, such as buffer overflows. PaX also provides address space layout randomization (ASLR), which randomizes important memory addresses to hinder attacks that rely on such addresses being easily known. PaX is not itself developed by the grsecurity developers, and is also available independently from grsecurity.[1]

Role-based access control

Another notable component of grsecurity is that it provides a full role-based access control (RBAC) system. RBAC is intended to restrict access to the system further than what is normally provided by Unix access control lists, with the aim of creating a fully least-privilege system, where users and processes have the absolute minimum privileges to work correctly and nothing more. This way, if the system is compromised, the ability by the attacker to damage or gain sensitive information on the system can be drastically reduced. RBAC works through a collection of roles. Each role can have individual restrictions on what they can or cannot do, and these roles and restrictions form an access policy, which can be amended as needed.

A list of RBAC features:

Chroot restrictions

GRSecurity restricts chroot in a variety of ways to prevent a variety of vulnerabilities and privilege escalation attacks, as well as to add additional checks and balances.

Chroot Modifications:

Miscellaneous features

grsecurity also adds enhanced auditing to the Linux kernel. It can be configured to audit a specific group of users, mounting/unmounting of devices, changes to the system time and date, and chdir logging, amongst other things. Some of these other audits allow the admin to also log denied resource attempts, failed fork attempts, IPC creation and removal, and Exec logging with arguments.

Trusted path execution is another optional feature that can be used to prevent users from executing binaries that are not owned by the root user, or are world-writable. This is useful to prevent users from executing their own malicious binaries or accidentally executing world-writable system binaries that could have been modified by a malicious user.

grsecurity also hardens the way chroot "jails" work. A chroot jail can be used to isolate a particular process from the rest of the system, which can be used to minimise the potential for damage should the service be compromised. There are ways to "break out" of a chroot jail, which grsecurity attempts to prevent.

There are also other features that increase security and prevent users from gaining unnecessary knowledge about the system, such as restricting the dmesg and netstat commands to the root user.[2]

List of additional features and security improvements:

See also

Computer security portal
Cryptography portal
Free Software portal
Linux portal

References

  1. ^ "Homepage of PaX". Pax.grsecurity.net. http://pax.grsecurity.net/. Retrieved 2010-08-12. 
  2. ^ "grsecurity". grsecurity. http://www.grsecurity.net/features.php. Retrieved 2010-08-12. 

External links