[go: up one dir, main page]

|
|
Log in / Subscribe / Register

Security

LinuxCon: Secure virtualization with sVirt

By Jake Edge
September 23, 2009

"I'm the rain in the cloud" is how Red Hat's Dan Walsh described himself at the beginning of his LinuxCon talk. There is much talk of "cloud computing" these days, but there has not been too much attention paid to the security aspects. Running multiple guest operating systems on the same hardware is "one of the scariest things you can do" from a security point of view, he said. sVirt was developed to combat the problem by applying SELinux mandatory access controls to restrict what guests can do—even if they break out of their containment and can access the Linux host OS.

Before virtualization, servers were separated by network connections, so a misbehaving server would have to launch a network-based attack to break into another server. There are lots of tools available to administrators that will alert or thwart network attacks, but when the servers are running on the same hardware, there is another line of attack: the hypervisor itself. Guests that can perform unauthorized actions on the host OS or hypervisor may be able to access information that is only supposed to be available to a different guest.

These are not theoretical attacks, Walsh said, as there have been successful attacks against Xen and others. Hypervisor vulnerabilities are the "number one goal" of the attacker community right now. The attack against Xen was able to subvert the SELinux policies that were in place on Red Hat Enterprise Linux (RHEL) specifically to stop that kind of attack. Those policies failed because the SELinux labeling of Xen processes and data were left up to administrators—something that sVirt is meant to fix.

Walsh pointed out that all guest OSes typically run as the same user in the Linux host. So, any exploit means that guests can access any other guest on that host. In the cloud computing scenario, users have no idea who else is sharing their machine, so it could easily be a competitor or someone with a malicious intent. But, enforcing separation between processes is a job that SELinux is good at.

In an SELinux-enabled system, processes and data both get labeled based on how they are allowed to be used. Since virtual machines are processes and their filesystem images are files on the host, proper application of SELinux labels—along with rules to govern the label interactions—will effectively disallow guests from unauthorized access to other guests. The host kernel enforces those rules so, as long as the kernel itself is uncompromised, rogue guests are confined.

As they learned from the Xen compromise, leaving the labeling up to administrators does not work, Walsh said, so they added dynamic labeling into libvirt. sVirt uses a largely unused field—for multi-category security (MCS)—in the SELinux label and generates a random unused value for that field. It labels the image file, then launches the virtual machine using that same label.

Using the MCS field allows the same SELinux rules to be used for all of the guests, but still restrict guests such that each guest can only access its process and data. When the guest exits, the guest image is then relabeled back to its original value. Different labels are used for shared images, depending on whether they are shared as read-only or read-write, which will allow administrators some flexibility while still restricting access to unrelated guest images.

Starting with Fedora 11, virt-manager will, by default, handle the automatic relabeling of virtual machines and data, Walsh said. One would guess that RHEL 6 will have that capability as well.

While it is certainly not a panacea for security in a virtualized environment, sVirt does provide some useful separation between guests. There is still cause to be concerned about potential kernel vulnerabilities that would allow end runs around SELinux, but sVirt reduces the exposure surface. As part of a multi-layered defense, sVirt effectively narrows the cracks that attackers can slip through.

Comments (15 posted)

Brief items

Walsh: Cool things with SELinux... Introducing sandbox -X

Red Hat SELinux hacker Dan Walsh has a weblog posting about a new feature added to his SELinux sandbox. sandbox -X essentially combines the sandbox with the idea behind the "xguest" user to create a sandbox for arbitrary desktop applications. It came out of a request to be able to sandbox "acroread": "Acroread and most other desktop applications use multiple communication channels, interacting not just with stdin and stdout, but accessing configuration files, directly or using interprocess calls as with GConf, the X server and other applications, and usually have full run of the user's home directory. A bug in a desktop application can be exploited to attack other processes on the system through any of these channels. Attempting to lock down access to these things usually just causes applications to break, or at least degrades the user experience. In a nutshell, there was no good, general-purpose way to lock down Acroread, or that matter, any other desktop application."

Comments (39 posted)

Why open-source DNS is 'internet's dirty little secret' (ZDNet)

ZDNet is running an interview with Nominum manager Jon Shalowitz; it's an amusingly retro experience for those of us who have forgotten what 1990's-style security FUD looked like. "If I have a secret way of blocking a hacker from attacking my software, if it's freeware or open source, the hacker can look at the code. By virtue of something being open source, it has to be open to everybody to look into. I can't keep secrets in there. But if I have a commercial-grade software product, then all of that is closed off, and so things are not visible to the hacker." Needless to say, he is attempting to sell such a product.

Comments (35 posted)

New vulnerabilities

apache: multiple vulnerabilities

Package(s):apache CVE #(s):CVE-2009-3094 CVE-2009-3095
Created:September 22, 2009 Updated:March 1, 2010
Description: From the Mandriva advisory: Multiple vulnerabilities were discovered and corrected in apache:

The ap_proxy_ftp_handler function in modules/proxy/proxy_ftp.c in the mod_proxy_ftp module in the Apache HTTP Server 2.0.63 and 2.2.13 allows remote FTP servers to cause a denial of service (NULL pointer dereference and child process crash) via a malformed reply to an EPSV command (CVE-2009-3094).

The mod_proxy_ftp module in the Apache HTTP Server allows remote attackers to bypass intended access restrictions and send arbitrary commands to an FTP server via vectors related to the embedding of these commands in the Authorization HTTP header, as demonstrated by a certain module in VulnDisco Pack Professional 8.11. NOTE: as of 20090903, this disclosure has no actionable information. However, because the VulnDisco Pack author is a reliable researcher, the issue is being assigned a CVE identifier for tracking purposes (CVE-2009-3095).

Alerts:
Slackware SSA:2010-024-01 httpd 2010-01-25
Fedora FEDORA-2009-12747 httpd 2009-12-04
Fedora FEDORA-2009-12606 httpd 2009-12-04
Fedora FEDORA-2009-12604 httpd 2009-12-04
Mandriva MDVSA-2009:323 apache 2009-12-07
Red Hat RHSA-2009:1461-01 Red Hat Application Stack 2009-09-23
Mandriva MDVSA-2009:240 apache 2009-09-22
rPath rPSA-2009-0155-1 httpd 2009-11-24
rPath rPSA-2009-0154-1 httpd 2009-11-24
Debian DSA-1934-1 apache2 2009-11-16
CentOS CESA-2009:1579 httpd 2009-11-14
Red Hat RHSA-2009:1580-02 httpd 2009-11-11
Ubuntu USN-860-1 apache2 2009-11-19
CentOS CESA-2009:1580 httpd 2009-11-12
CentOS CESA-2009:1579 httpd 2009-11-12
Red Hat RHSA-2009:1579-02 httpd 2009-11-11
SuSE SUSE-SA:2009:050 apache2,libapr1 2009-10-26

Comments (none posted)

bugzilla: SQL injection

Package(s):bugzilla CVE #(s):CVE-2009-3125 CVE-2009-3165 CVE-2009-3166
Created:September 21, 2009 Updated:June 4, 2010
Description: From the Bugzilla advisory:

* Two SQL injection attacks have been discovered in Bugzilla. One only affects the 3.4 series, while the other affects the 3.0, 3.2, and 3.4 series. These are extremely serious vulnerabilities that must be patched immediately.

* When a user would change his password, his new password would be exposed in the URL field of the browser if he logged in right after changing his password.

Alerts:
Gentoo 201006-19:02 bugzilla 2010-06-04
Fedora FEDORA-2009-9550 bugzilla 2009-09-15
Fedora FEDORA-2009-9554 bugzilla 2009-09-15
Debian DSA-1913-1 bugzilla 2009-10-17

Comments (none posted)

changetrack: shell command execution

Package(s):changetrack CVE #(s):CVE-2009-3233
Created:September 22, 2009 Updated:September 23, 2009
Description: From the Debian advisory: Marek Grzybowski discovered that changetrack, a program to monitor changes to (configuration) files, is prone to shell command injection via metacharacters in filenames. The behaviour of the program has been adjusted to reject all filenames with metacharacters.
Alerts:
Debian DSA-1891-1 changetrack 2009-09-22

Comments (none posted)

dovecot: buffer overflows

Package(s):dovecot CVE #(s):CVE-2009-3235
Created:September 23, 2009 Updated:October 5, 2010
Description: From the Mandriva alert: Multiple stack-based buffer overflows in the Sieve plugin in Dovecot 1.0 before 1.0.4 and 1.1 before 1.1.7, as derived from Cyrus libsieve, allow context-dependent attackers to cause a denial of service (crash) and possibly execute arbitrary code via a crafted SIEVE script, as demonstrated by forwarding an e-mail message to a large number of recipients, a different vulnerability than CVE-2009-2632 (CVE-2009-3235).
Alerts:
Gentoo 201110-04 dovecot 2011-10-10
Mandriva MDVSA-2010:196 dovecot 2010-10-04
Ubuntu USN-838-1 dovecot 2009-09-28
Fedora FEDORA-2009-9901 cyrus-imapd 2009-09-24
Fedora FEDORA-2009-9869 cyrus-imapd 2009-09-24
Debian DSA-1893-1 cyrus-imapd-2.2 2009-09-23
Debian DSA-1892-1 dovecot 2009-09-23
Red Hat RHSA-2009:1459-04 cyrus-imapd 2009-09-23
Mandriva MDVSA-2009:242-1 dovecot 2009-09-22
Mandriva MDVSA-2009:242 dovecot 2009-09-22
SuSE SUSE-SR:2009:018 cyrus-imapd, neon/libneon, freeradius, strongswan, openldap2, apache2-mod_jk, expat, xpdf, mozilla-nspr 2009-11-10
SuSE SUSE-SR:2009:016 silc-toolkit, open-iscsi, strongswan,freeswan,openswan, mutt, openldap2, cyrus-imapd, java-1_6_0-openjdk, postgresql, IBMJava2-JRE/java-1_4_2-ibm, wireshark, freeradius, dovecot 2009-10-13
CentOS CESA-2009:1459 cyrus-imapd 2009-10-30

Comments (none posted)

drupal: multiple vulnerabilities

Package(s):drupal CVE #(s):
Created:September 21, 2009 Updated:September 23, 2009
Description: From the Drupal advisory:

Multiple vulnerabilities and weaknesses were discovered in Drupal.

OpenID association cross site request forgeries: The OpenID module in Drupal 6 allows users to create an account or log into a Drupal site using one or more OpenID identities.

OpenID impersonation: The OpenID module is not a compliant implementation of the OpenID Authentication 2.0 specification. An implementation error allows a user to access the account of another user when they share the same OpenID 2.0 provider.

File upload: File uploads with certain extensions are not correctly processed by the File API. This may lead to the creation of files that are executable by Apache. The .htaccess that is saved into the files directory by Drupal should normally prevent execution. The files are only executable when the server is configured to ignore the directives in the .htaccess file.

Session fixation: Drupal doesn't regenerate the session ID when an anonymous user follows the one time login link used to confirm email addresses and reset forgotten passwords. This enables a malicious user to fix and reuse the session id of a victim under certain circumstances.

Alerts:
Fedora FEDORA-2009-9751 drupal 2009-09-18
Fedora FEDORA-2009-9721 drupal 2009-09-18

Comments (none posted)

pidgin: multiple vulnerabilities

Package(s):pidgin CVE #(s):CVE-2009-2703 CVE-2009-3026 CVE-2009-3083 CVE-2009-3085
Created:September 21, 2009 Updated:January 18, 2010
Description: From the Red Hat advisory:

A NULL pointer dereference flaw was found in the way the Pidgin XMPP protocol plug-in processes IQ error responses when trying to fetch a custom smiley. A remote client could send a specially-crafted IQ error response that would crash Pidgin. (CVE-2009-3085)

A NULL pointer dereference flaw was found in the way the Pidgin IRC protocol plug-in handles IRC topics. A malicious IRC server could send a specially-crafted IRC TOPIC message, which once received by Pidgin, would lead to a denial of service (Pidgin crash). (CVE-2009-2703)

It was discovered that, when connecting to certain, very old Jabber servers via XMPP, Pidgin may ignore the "Require SSL/TLS" setting. In these situations, a non-encrypted connection is established rather than the connection failing, causing the user to believe they are using an encrypted connection when they are not, leading to sensitive information disclosure (session sniffing). (CVE-2009-3026)

A NULL pointer dereference flaw was found in the way the Pidgin MSN protocol plug-in handles improper MSNSLP invitations. A remote attacker could send a specially-crafted MSNSLP invitation request, which once accepted by a valid Pidgin user, would lead to a denial of service (Pidgin crash). (CVE-2009-3083)

Alerts:
Ubuntu USN-886-1 pidgin 2010-01-18
SuSE SUSE-SR:2009:020 apache2-mod_jk, cacti, cups, expat, finch/pidgin, htmldoc, kdelibs3/kdelibs4, libpoppler/poppler, lighttpd, opera, perl-HTML-Parser, pyxml, seamonkey, wireshark/ethereal, xntp, zope/zope3 2010-01-12
Mandriva MDVSA-2009:321 pidgin 2009-12-06
CentOS CESA-2009:1453 pidgin 2009-09-22
Red Hat RHSA-2009:1453-01 pidgin 2009-09-21
CentOS CESA-2009:1535 pidgin 2009-10-29
Gentoo 200910-02 pidgin 2009-10-22
Red Hat RHSA-2009:1535-01 pidgin 2009-10-29
CentOS CESA-2009:1453 pidgin 2009-10-30

Comments (none posted)

postgresql: multiple vulnerabilities

Package(s):postgresql-8.1, postgresql-8.3 CVE #(s):CVE-2009-3229 CVE-2009-3230 CVE-2009-3231
Created:September 21, 2009 Updated:March 8, 2010
Description: From the Ubuntu advisory:

It was discovered that PostgreSQL could be made to unload and reload an already loaded module by using the LOAD command. A remote authenticated attacker could exploit this to cause a denial of service. This issue did not affect Ubuntu 6.06 LTS. (CVE-2009-3229)

Due to an incomplete fix for CVE-2007-6600, RESET ROLE and RESET SESSION AUTHORIZATION operations were allowed inside security-definer functions. A remote authenticated attacker could exploit this to escalate privileges within PostgreSQL. (CVE-2009-3230)

It was discovered that PostgreSQL did not properly perform LDAP authentication under certain circumstances. When configured to use LDAP with anonymous binds, a remote attacker could bypass authentication by supplying an empty password. This issue did not affect Ubuntu 6.06 LTS. (CVE-2009-3231)

Alerts:
Gentoo 201110-22 postgresql-base 2011-10-25
rPath rPSA-2010-0012-1 postgresql 2010-03-07
Mandriva MDVSA-2009:251-1 postgresql8.2 2009-12-08
Red Hat RHSA-2009:1461-01 Red Hat Application Stack 2009-09-23
Ubuntu USN-834-1 postgresql-8.1, postgresql-8.3 2009-09-21
CentOS CESA-2009:1485 postgresql 2009-10-07
Red Hat RHSA-2009:1484-01 postgresql 2009-10-07
Red Hat RHSA-2009:1485-01 postgresql 2009-10-07
CentOS CESA-2009:1484 postgresql 2009-10-09
CentOS CESA-2009:1484 postgresql 2009-10-30
SuSE SUSE-SR:2009:017 php5, newt, rubygem-actionpack, rubygem-activesupport, java-1_4_2-ibm, postgresql, samba, phpMyAdmin, viewvc 2009-10-26
SuSE SUSE-SR:2009:016 silc-toolkit, open-iscsi, strongswan,freeswan,openswan, mutt, openldap2, cyrus-imapd, java-1_6_0-openjdk, postgresql, IBMJava2-JRE/java-1_4_2-ibm, wireshark, freeradius, dovecot 2009-10-13
Debian DSA-1900-1 postgresql-7.4 2009-10-02

Comments (none posted)

squid: denial of service

Package(s):squid CVE #(s):CVE-2009-2855
Created:September 22, 2009 Updated:March 31, 2010
Description: From the Mandriva advisory: The strListGetItem function in src/HttpHeaderTools.c in Squid 2.7 allows remote attackers to cause a denial of service via a crafted auth header with certain comma delimiters that trigger an infinite loop of calls to the strcspn function.
Alerts:
Gentoo 201110-24 squid 2011-10-26
Red Hat RHSA-2010:0221-04 squid 2010-03-30
SuSE SUSE-SR:2010:007 cifs-mount/samba, compiz-fusion-plugins-main, cron, cups, ethereal/wireshark, krb5, mysql, pulseaudio, squid/squid3, viewvc 2010-03-30
Ubuntu USN-901-1 squid 2010-02-16
Debian DSA-1991-1 squid/squid3 2010-02-04
Mandriva MDVSA-2009:241-1 squid 2010-01-11
Mandriva MDVSA-2009:241 squid 2009-09-22

Comments (none posted)

webkit: denial of service

Package(s):webkit CVE #(s):CVE-2009-1711
Created:September 23, 2009 Updated:January 25, 2011
Description: From the Ubuntu alert: Several flaws were discovered in the WebKit browser and JavaScript engines. If a user were tricked into viewing a malicious website, a remote attacker could cause a denial of service or possibly execute arbitrary code with the privileges of the user invoking the program.
Alerts:
openSUSE openSUSE-SU-2011:0024-1 webkit 2011-01-12
SUSE SUSE-SR:2011:002 ed, evince, hplip, libopensc2/opensc, libsmi, libwebkit, perl, python, sssd, sudo, wireshark 2011-01-25
Debian DSA-1988-1 qt4-x11 2010-02-02
Debian DSA-1950 webkit 2009-12-12
Ubuntu USN-836-1 webkit 2009-09-23
Ubuntu USN-857-1 qt4-x11 2009-11-10

Comments (none posted)

webkit: arbitrary code execution

Package(s):webkit CVE #(s):CVE-2009-1712
Created:September 23, 2009 Updated:January 25, 2011
Description: From the Ubuntu alert: It was discovered that WebKit did not prevent the loading of local Java applets. If a user were tricked into viewing a malicious website, an attacker could exploit this to execute arbitrary code with the privileges of the user invoking the program. (CVE-2009-1712)
Alerts:
openSUSE openSUSE-SU-2011:0024-1 webkit 2011-01-12
SUSE SUSE-SR:2011:002 ed, evince, hplip, libopensc2/opensc, libsmi, libwebkit, perl, python, sssd, sudo, wireshark 2011-01-25
Debian DSA-1988-1 qt4-x11 2010-02-02
Debian DSA-1950 webkit 2009-12-12
Ubuntu USN-836-1 webkit 2009-09-23
Ubuntu USN-857-1 qt4-x11 2009-11-10

Comments (none posted)

xfig: symlink attack vulnerability

Package(s):xfig CVE #(s):CVE-2009-1962
Created:September 23, 2009 Updated:December 28, 2009
Description: From the Mandriva alert: fig in Debian GNU/Linux, possibly 3.2.5, allows local users to read and write arbitrary files via a symlink attack on the xfig-eps[PID], xfig-pic[PID].pix, xfig-pic[PID].err, xfig-pcx[PID].pix, xfig-xfigrc[PID], xfig[PID], fig-print[PID], xfig-export[PID].err, xfig-batch[PID], xfig-exp[PID], or xfig-spell.[PID] temporary files, where [PID] is a process ID (CVE-2009-1962).
Alerts:
Mandriva MDVSA-2009:244-1 xfig 2009-12-28
Mandriva MDVSA-2009:244 xfig 2009-09-23

Comments (none posted)

Page editor: Jake Edge
Next page: Kernel development>>


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