|
|
Log in / Subscribe / Register

Security

Dazuko and the LSM API

October 25, 2006

This article was contributed by Jake Edge.

A recent commentary in The Inquirer led to quite a lively discussion in the LWN article that referred to it. The commentary itself was rather ill-considered, but it did raise some interesting questions about security modules, the kernel and the Linux Security Modules (LSM) API. Dazuko is one of a handful of security solutions that run on Linux, but are not maintained in the kernel tree and, in fact, have a relatively hostile attitude towards the suggested ways of moving their code into the tree.

Dazuko itself is a way for user-space applications to handle file access control; its main use seems to be malware checking at the file level, similar to the way that Windows anti-virus programs work. Some would argue that it is an unnecessary tool or that it is implemented poorly, but it does not seem like an unreasonable capability to add to Linux given that there appear to be users who want that functionality. This would seem to be exactly the kind of application that LSM was designed for, but the Dazuko developers have a different take.

Dazuko started out by using the LSM hooks to implement their application but claim they found LSM to be a moving target, changing the API between each kernel release. In addition, when other LSM using modules were loaded (most notably SELinux or AppArmor), as they are by default in various distributions, Dazuko no longer functioned correctly. This led the Dazuko developers in a direction that clearly will not fly with the kernel developers: system call hooking. This technique intercepts system calls (open, read, write, etc.) and runs Dazuko code before calling the actual kernel function.

This could be looked at as one of the common impedance mismatches between development groups and the kernel community; in this case it goes a bit deeper than that. Dazuko specifically mentions Rule Set Based Access Control (RSBAC) as a kernel security framework that it cleanly interfaces with. RSBAC is a set of kernel patches that implement a much more comprehensive set of hooks for access control than is provided by LSM. That project has a fairly lengthy justification for not using LSM and also points to another project, grsecurity with similar LSM issues.

There have been various discussions of removing LSM from the kernel along the way and the SELinux folks are strongly in favor of that. Up until this year's Kernel Summit (covered by LWN here), there was fairly widespread belief that it would happen. Few people, it seems, are particularly enamored with LSM. It was a compromise that was adopted when SELinux was being accepted into the kernel in order to allow other alternative security frameworks. For the most part, it has failed to do that; at least in the mainline kernel.

This situation would lead the hopeful to foresee a new API for the kernel that updates and enhances LSM so that more alternative frameworks could be incorporated into the kernel; unfortunately, there does not seem to be much movement in that direction. One impediment to that might be the perception that Linus and the kernel developers have rejected any security hooks that have a measurable performance impact. While it is perfectly understandable that punishing all kernel users for hooks that are only used by a small minority would be considered unacceptable, it does create a potentially insurmountable hurdle for those wishing for more intrusive hooks.

Dazuko has been working on a stackable filesystem that can provide the same kinds of services by mounting DazukoFS 'on top of' a regular kernel filesystem. This will allow Dazuko to work with approved kernel interfaces and leaves open the possibility that it could someday be moved into the kernel tree. Another alternative is to use the userspace filesystem (FUSE) interface to provide that functionality, though it is not clear that FUSE is able to solve the entire problem. For security frameworks that require more intrusive hooks, there is no real alternative to out-of-tree development. So RSBAC and grsecurity are likely to keep porting their patches to each new kernel as it is released. It seems unfortunate that these GPL-licensed alternative security mechanisms are unlikely to ever move into the kernel tree, but it appears they are caught between the proverbial rock and hard place.

Comments (4 posted)

New vulnerabilities

asterisk: arbitrary code execution

Package(s):asterisk CVE #(s):CVE-2006-5444
Created:October 19, 2006 Updated:December 6, 2006
Description: The Asterisk telephony PBX application has a heap overflow vulnerability in the skinny channel driver. A remote attacker can use this to arbitrarily execute code with the privileges of the Asterisk user. See this vulnerability report for more information.
Alerts:
Debian DSA-1229-1 asterisk 2006-12-06
SuSE SUSE-SA:2006:069 asterisk 2006-11-16
Gentoo 200610-15 asterisk 2006-10-30
OpenPKG OpenPKG-SA-2006.024 asterisk 2006-10-19

Comments (none posted)

drupal: cross-site scripting, privilege escalation

Package(s):drupal CVE #(s):
Created:October 20, 2006 Updated:October 25, 2006
Description: Multiple cross site scripting vulnerabilities have been discovered in Drupal 4.6.x before 4.6.10 and 4.7.x before 4.7.4. Also an HTML attribute injection vulnerability may lead to privilege escalation in Drupal before 4.6.10 and 4.7.4.
Alerts:
OpenPKG OpenPKG-SA-2006.025 drupal 2006-10-20

Comments (none posted)

mod_tcl: format string vulnerability

Package(s):mod_tcl CVE #(s):CVE-2006-4154
Created:October 24, 2006 Updated:October 25, 2006
Description: Sparfell discovered format string errors in calls to the set_var function in tcl_cmds.c and tcl_core.c. A remote attacker could exploit the vulnerability to execute arbitrary code with the rights of the user running the Apache server.
Alerts:
Gentoo 200610-12 mod_tcl 2006-10-24

Comments (none posted)

pike: SQL injection vulnerability

Package(s):pike7.6 CVE #(s):CVE-2006-4041
Created:October 19, 2006 Updated:October 25, 2006
Description: Pike's PostgreSQL module has an SQL injection vulnerability. Applications that use uncommon character encodings with the PostgreSQL DBMS can be fooled into running arbitrary SQL commands, resulting in privilege escalation, data exposure or denial of service.
Alerts:
Ubuntu USN-367-1 pike7.6 2006-10-18

Comments (none posted)

qt: pixmap image handling vulnerability

Package(s):qt CVE #(s):
Created:October 24, 2006 Updated:October 25, 2006
Description: A security flaw was recently discovered in the way Qt 3.x pixmap images. This issue can occur only when transforming specially prepared images from untrusted sources. Qt 3.3.7 corrects this flaw.
Alerts:
Fedora FEDORA-2006-1056 qt 2006-10-24

Comments (none 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