|
|
Log in / Subscribe / Register

Security

Netlabel: CIPSO labeling for Linux

October 18, 2006

This article was contributed by Jake Edge.

Current kernel level security mechanisms, such as SELinux, are focused strictly on securing local resources and are not concerned with communicating any security information to other machines on the network. The NetLabel project aims to change that by providing packet labeling capabilities for the kernel. The initial implementation, with support for Common IP Security Option (CIPSO) labeling has been included into the 2.6.19 kernel.

CIPSO is an IETF draft that has been adopted by a number of vendors and is one of several network labeling standards that are used by 'trusted' operating systems. In order to interoperate with these systems and to replace them, Linux needs to be able to provide the same capabilities.

At its core, CIPSO is an agreement between systems on a set of labels (or tags) describing the security level or context of the process that is sending the packets. CIPSO users define a 'domain of interpretation' (DOI) that governs the interpretation of those tags so that both ends of the conversation can determine if the other process has the authorization necessary to do that communication. The DOI and labels are placed into the options portion of every IP packet that is sent and, based on those values, security requirements can be enforced at the kernel level. If a process attempts to communicate outside of its authorized scope, the kernel can drop the packet.

NetLabel is a mechanism to put CIPSO information into outgoing packets and to examine incoming packets for their tags. It uses the Linux Security Module (LSM) hooks to implement the labeling and checking. It also interfaces with SELinux to provide label information based on the SELinux context. Incoming sockets get a context that is based on the CIPSO tag and the context of the listening socket. In this way, access to specific services can be restricted to remote processes with the proper authorization.

Management of NetLabel is handled through the netlink socket interface; user space tools to configure it are available from the project page. The complexity of configuring NetLabel and SELinux is likely to be daunting to the uninitiated, but for those installations that already use CIPSO, it should be relatively straightforward.

NetLabel's design goals include a well contained implementation that uses existing kernel hooks as well as minimal performance impact when enabled but not configured. By running the gauntlet of kernel developers and getting included into the kernel, NetLabel has likely met both of those goals. The current implementation provides minimal CIPSO support, just one tag type and none of the configuration parameters, but support for this additional functionality is planned as is support for additional labeling protocols.

CIPSO and NetLabel are not for everyone, in fact, they are likely to be much less widely adopted than SELinux. CIPSO only works on very strictly controlled networks as there is nothing in the specification that prevents unauthorized machines from claiming authorization; the system and router configuration must prevent that kind of behavior. In addition, it provides yet another configuration challenge for administrators to get through before their systems will perform correctly. But for those installations that do need it, this work and its future additions should be very well received.

Comments (none posted)

Brief items

Local root exploit in NVidia driver

A locally-exploitable buffer overflow in the binary-only NVidia video driver has been disclosed on the mailing lists; there is also an exploit in circulation. This problem may have been known since 2004; NVidia acknowledged it back in July, but it remains unfixed. It has been reported that the beta versions of the drivers do contain the fix.

Comments (38 posted)

New vulnerabilities

clamav: multiple vulnerabilities

Package(s):clamav CVE #(s):CVE-2006-4182 CVE-2006-5295
Created:October 18, 2006 Updated:October 24, 2006
Description: Clamav contains an integer overflow vulnerability in its handling of portable executable (PE) files, with a code-execution exploit being possible. There is also a denial-of-service vulnerability in the handling of compressed HTML files.
Alerts:
Gentoo 200610-10 clamav 2006-10-24
Debian DSA-1196-1 clamav 2006-10-19
SuSE SUSE-SA:2006:060 clamav 2006-10-18
Mandriva MDKSA-2006:184 clamav 2006-10-17

Comments (none posted)

kdelibs: integer overflow

Package(s):kdelibs CVE #(s):CVE-2006-4811
Created:October 18, 2006 Updated:March 5, 2007
Description: The KDE khtml library can pass untrusted parameters into Qt, allowing a hostile user to trigger an integer overflow there and execute arbitrary code.
Alerts:
Gentoo 200703-06 emul-linux-x86-qtlibs 2007-03-04
Gentoo 200611-02 qt 2006-11-06
Red Hat RHSA-2006:0725-01 qt 2006-11-01
Debian DSA-1200-1 qt-x11-free 2006-10-30
Slackware SSA:2006-298-01 qt 2006-10-26
rPath rPSA-2006-0195-2 kdelibs 2006-10-18
Mandriva MDKSA-2006:186 kdelibs 2006-10-19
rPath rPSA-2006-0195-1 kdelibs 2006-10-18
Red Hat RHSA-2006:0720-01 kdelibs 2006-10-18

Comments (none posted)

kernel: denial of service

Package(s):kernel CVE #(s):CVE-2006-4623
Created:October 18, 2006 Updated:November 14, 2007
Description: The kernel DVB layer can be caused to crash with maliciously-formatted unidirectional lightweight encapsulation (ULE) data.
Alerts:
Ubuntu USN-489-1 linux-source-2.6.15 2007-07-19
rPath rPSA-2006-0194-1 kernel 2006-10-17

Comments (none posted)

libksba: parsing failure

Package(s):libksba CVE #(s):CVE-2006-5111
Created:October 17, 2006 Updated:October 18, 2006
Description: A parsing failure was discovered in the handling of X.509 certificates that contained extra trailing data. Malformed or malicious certificates could cause services using libksba to crash, potentially creating a denial of service.
Alerts:
Mandriva MDKSA-2006:183 libksba 2006-10-17
Ubuntu USN-365-1 libksba 2006-10-16

Comments (1 posted)

php: restriction bypass

Package(s):php CVE #(s):CVE-2006-4625 CVE-2006-5178
Created:October 18, 2006 Updated:October 18, 2006
Description: The ini_restore() function in PHP versions through 4.4.4 and 5.1.6 can be used to bypass safe_mode and init_basedir restrictions.

Also: race condition in PHP's handling of the symlink() function can enable hostile code to bypass open_basedir restrictions.

Alerts:
Trustix TSLSA-2006-0057 clamav kernel php python x.org 2006-10-18
Mandriva MDKSA-2006:185 php 2006-10-17

Comments (none posted)

xinit: race condition

Package(s):xinit CVE #(s):CVE-2006-5214
Created:October 17, 2006 Updated:August 9, 2007
Description: A race condition allows local users to see error messages generated during another user's X session. This could allow potentially sensitive information to be leaked.
Alerts:
Fedora FEDORA-2007-659 xorg-x11-xinit 2007-08-08
Fedora FEDORA-2007-1409 xorg-x11-xinit 2007-08-02
Ubuntu USN-364-1 xinit 2006-10-16

Comments (1 posted)

Page editor: Jonathan Corbet
Next page: Kernel development>>


Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds