|
|
Log in / Subscribe / Register

Security

Enabling DRM in the kernel?

By Jake Edge
May 20, 2009

Back in April, we looked at the Linux kernel patches for Intel's Trusted Execution Technology (TXT), a mechanism to verify the integrity of the kernel before booting it. Since that time, another version of the patchset has surfaced. The relatively few comments on the feature were largely concerned that there might be opposition to its inclusion—not because of technical considerations, but instead because of ethical concerns about what TXT could enable.

Ted Ts'o had the most to say about what TXT (also known as LaGrande) enables, not necessarily in opposition to adding the feature, but outlining the concerns of those who might. He warned: "So we should expect a certain amount of controversy and people lobbying to resist the acceptance of this patch." The basic problem is that TXT can enable Digital Rights Management (DRM) systems that are largely uncrackable.

Pointing to a "Trusted Computing" FAQ from 2003, Ts'o noted that five years ago, FAQ author Ross Anderson "was able to predict the emergence of the LaGrande Technology (see question 15 in the above FAQ)." But, Joseph Cihula, author of the TXT patch noted that some of the FAQ (and other Trusted Computing complaints) had been rebutted [PDF] in an IBM whitepaper by David Safford. But, as Ts'o pointed out, much of Safford's response was specific to the Trusted Computing Platform Alliance (TCPA) technology, which is essentially broken as a DRM lockdown solution:

However, it seems to me that TXT/LaGrande's main purpose for existence was to repair the defects in TCPA that made it essentially [unusable] for DRM purposes. With TCPA, any time you changed *anything* in the boot path --- installed a new BIOS, upgraded to a new kernel to fix a security vulnerability, updated to a new Nvidia proprietary video driver slightly less likely to crash your [system] --- it would change the trusted boot measurements, and would require an exchange to "[Circuit] City DIVX hotline" (as a generic stand-in for whoever is Hollywood's current monkey paw towards trying to implement DRM) to approve a transfer of the TCPA trusted keys, which would be essentially be a consumer support nightmare, and there would be no way for "Circuit City" to know whether the kernel you are claiming was the latest update from Fedora or Novell or Canonical was really an authorized upgrade, or whether it was a custom kernel with patches to tap into video and audio paths to steal Hollywood's precious bodily fluids.

With TXT, however, all of these problems go away. What you end up booting is completely under "[Circuit] City's DIVX's" control, and may include a miniature Windows environment running in the trusted environment; it could then take over a portion of the screen for the video output, and the hardware would have special features set up to prevent the host OS from having any access to the video output of the movie player running in the TXT environment.

Ts'o's message is worth reading in its entirety, but the basic point is that TXT enables Hollywood (or another DRM-happy entity) to take away some of the basic functionality of the hardware in order to preserve their "rights". Essentially, this takes away users' rights to protect companies' perceived or actual rights. The truly nightmarish scenario is one where one cannot do anything on a computer that isn't contained in a signed (presumably proprietary and closed source) application, running on a signed operating system. TXT could enable just that kind of functionality.

But, there are some scenarios (Ts'o mentions medical record access) under which TXT could be beneficial to the user. Other devices (voting machines and ATMs are the standard example) could benefit from TXT as well. Should kernel hackers stand in the way of adding this code to the kernel simply because it can be used for ill? The consensus, from the extremely limited subset of the kernel development community participating in the discussion, seems to be "no".

James Morris notes Linus Torvalds's famous "Flame Linus to a crisp!" message wherein he says: "I want to make it clear that DRM is perfectly ok with Linux!". Morris more-or-less agrees with that view:

I'm fairly neutral on the technology itself and feel that "market pressure" from users as well as local regulatory policy (e.g. anti-trust laws) should determine how the technology is used, rather than the views of a few kernel hackers.

That sentiment is also shared by Ts'o: "That being said, it's not clear to me that stopping the technology from going into Linux really isn't going to help matters; realistically, the Linux desktop is miniscule[1], and whether or not we add support for TXT in the mainline Linux kernel isn't going to stop Hollywood's plans." His footnote refers to the potential risk of TXT being used in Moblin to lock down those devices, but "realistically, even if we don't let it into mainline kernel, it won't stop Moblin hardware vendors from shipping it".

This is a social, not a technical problem, as Ts'o says. There are powerful interests that certainly want to have that kind of power over the actions of their customers. It will be up to those who value their hardware and software freedoms (and, very likely, the courts) to ensure that those freedoms are still available. Avoiding DRM is not something that has gotten onto the radar of most consumers, but the content providers are doing their best to raise its visibility. One wonders how many revoked features for Kindle books or how much music that expires because it is crippled with DRM it will take before consumers start to rebel.

In the meantime, though, it seems likely that Linux will end up with TXT support somewhere down the road. The objections have been few—technical or ethical—at least so far, and the code obviously exists. There is no barrier to a hardware manufacturer (or distribution) incorporating it and enforcing whatever restrictions it wishes. Given that there are benign uses as well, the code is likely to improve from its inclusion in the mainline. When (almost certainly not "if") those uses turn towards total lockdown, it will be a social battle, on multiple fronts, to preserve the hardware and software freedoms we enjoy today.

Comments (22 posted)

New vulnerabilities

cyrus-sasl: buffer overflow

Package(s):cyrus-sasl CVE #(s):CVE-2009-0688
Created:May 15, 2009 Updated:December 3, 2009
Description: From the Slackware advisory: A buffer overflow in the sasl_encode64() function could lead to a denial of service or possible execution of arbitrary code.
Alerts:
Mandriva MDVSA-2009:113-1 cyrus-sasl 2009-12-03
Gentoo 200907-09 cyrus-sasl 2009-07-12
Ubuntu USN-790-1 cyrus-sasl2 2009-06-24
CentOS CESA-2009:1116 cyrus-imapd 2009-06-19
Red Hat RHSA-2009:1116-01 cyrus-imapd 2009-06-18
SuSE SUSE-SR:2009:011 java, realplayer, acroread, apache2-mod_security2, cyrus-sasl, wireshark, ganglia-monitor-core, ghostscript-devel, libwmf, libxine1, net-snmp, ntp, openssl 2009-06-09
Debian DSA-1807-1 cyrus-sasl2 2009-06-01
rPath rPSA-2009-0091-1 sasl 2009-05-27
Mandriva MDVSA-2009:113 cyrus-sasl 2009-05-18
Slackware SSA:2009-134-01 cyrus 2009-05-15

Comments (none posted)

drupal: cross-site scripting

Package(s):drupal CVE #(s):CVE-2008-3661
Created:May 18, 2009 Updated:May 20, 2009
Description:

From the Drupal advisory:

Certain byte sequences that are valid in the UTF-8 specification are potentially dangerous when interpreted as UTF-7. Internet Explorer 6 and 7 may decode these characters as UTF-7 if they appear before the tag that specifies the page content as UTF-8, despite the fact that Drupal also sends a real HTTP header specifying the content as UTF-8. This enables attackers to execute cross site scripting attacks with UTF-7. SA-CORE-2009-005 - Drupal core - Cross site scripting contained an incomplete fix for the issue. HTML exports of books are still vulnerable, which means that anyone with edit permissions for pages in outlines is able to insert arbitrary HTML and script code in these exports.

Alerts:
Fedora FEDORA-2009-5002 drupal 2009-05-15
Fedora FEDORA-2009-4997 drupal 2009-05-15

Comments (none posted)

giflib: several vulnerabilities

Package(s):giflib CVE #(s):CVE-2005-2974 CVE-2005-3350
Created:May 19, 2009 Updated:June 18, 2009
Description: From the Fedora advisory: CVE-2005-2974: NULL pointer dereference crash. CVE-2005-3350: Memory corruption via a crafted GIF
Alerts:
Fedora FEDORA-2009-4848 giflib 2009-05-12
Red Hat RHSA-2009:0444-01 giflib 2009-04-22
Fedora FEDORA-2009-5118 giflib 2009-05-19

Comments (2 posted)

gnutls: incorrect certificate validation

Package(s):gnutls CVE #(s):CVE-2009-1417
Created:May 18, 2009 Updated:December 4, 2009
Description:

From the Mandriva advisory:

gnutls-cli in GnuTLS before 2.6.6 does not verify the activation and expiration times of X.509 certificates, which allows remote attackers to successfully present a certificate that is (1) not yet valid or (2) no longer valid, related to lack of time checks in the _gnutls_x509_verify_certificate function in lib/x509/verify.c in libgnutls_x509, as used by (a) Exim, (b) OpenLDAP, and (c) libsoup (CVE-2009-1417).

Alerts:
Mandriva MDVSA-2009:308 gnutls 2009-12-03
Gentoo 200905-04 gnutls 2009-05-24
Mandriva MDVSA-2009:116 gnutls 2009-05-18

Comments (none posted)

ipsec-tools: denial of service

Package(s):ipsec-tools CVE #(s):CVE-2009-1574
Created:May 14, 2009 Updated:December 3, 2009
Description: From the Mandriva alert: racoon/isakmp_frag.c in ipsec-tools before 0.7.2 allows remote attackers to cause a denial of service (crash) via crafted fragmented packets without a payload, which triggers a NULL pointer dereference.
Alerts:
Mandriva MDVSA-2009:112-1 ipsec-tools 2009-12-03
SuSE SUSE-SR:2009:012 optipng, cups, quagga, pango, strongswan, perl-DBD-Pg, irssi, openssl/libopenssl-devel, net-snmp, ImageMagick/GraphicsMagick, perl, ipsec-tools/novell-ipsec-tools, poppler/libpoppler3/libpoppler4, yast2-ldap-server, tomcat6, gstreamer-plugins/gstreamer010-plugins-bad, apache2-mod_php5 2009-07-03
Ubuntu USN-785-1 ipsec-tools 2009-06-09
Gentoo 200905-03 ipsec-tools 2009-05-24
Debian DSA-1804-1 ipsec-tools 2009-05-20
CentOS CESA-2009:1036 ipsec-tools 2009-05-19
Red Hat RHSA-2009:1036-01 ipsec-tools 2009-05-18
Mandriva MDVSA-2009:112 ipsec-tools 2009-05-13

Comments (none posted)

ipsec-tools: denial of service

Package(s):ipsec-tools CVE #(s):CVE-2009-1632
Created:May 18, 2009 Updated:July 3, 2009
Description:

From the Mandriva advisory:

Multiple memory leaks in Ipsec-tools before 0.7.2 allow remote attackers to cause a denial of service (memory consumption) via vectors involving (1) signature verification during user authentication with X.509 certificates, related to the eay_check_x509sign function in src/racoon/crypto_openssl.c; and (2) the NAT-Traversal (aka NAT-T) keepalive implementation, related to src/racoon/nattraversal.c (CVE-2009-1632).

Alerts:
SuSE SUSE-SR:2009:012 optipng, cups, quagga, pango, strongswan, perl-DBD-Pg, irssi, openssl/libopenssl-devel, net-snmp, ImageMagick/GraphicsMagick, perl, ipsec-tools/novell-ipsec-tools, poppler/libpoppler3/libpoppler4, yast2-ldap-server, tomcat6, gstreamer-plugins/gstreamer010-plugins-bad, apache2-mod_php5 2009-07-03
Ubuntu USN-785-1 ipsec-tools 2009-06-09
Gentoo 200905-03 ipsec-tools 2009-05-24
Debian DSA-1804-1 ipsec-tools 2009-05-20
CentOS CESA-2009:1036 ipsec-tools 2009-05-19
Fedora FEDORA-2009-4394 ipsec-tools 2009-05-08
Fedora FEDORA-2009-4298 ipsec-tools 2009-05-06
Fedora FEDORA-2009-4291 ipsec-tools 2009-05-06
Red Hat RHSA-2009:1036-01 ipsec-tools 2009-05-18
Mandriva MDVSA-2009:114 ipsec-tools 2009-05-18

Comments (none posted)

kernel: privilege escalation

Package(s):kernel CVE #(s):CVE-2009-1527
Created:May 18, 2009 Updated:May 20, 2009
Description:

From the CVE entry:

Race condition in the ptrace_attach function in kernel/ptrace.c in the Linux kernel before 2.6.30-rc4 allows local users to gain privileges via a PTRACE_ATTACH ptrace call during an exec system call that is launching a setuid application, related to locking an incorrect cred_exec_mutex object.

Alerts:
rPath rPSA-2009-0084-1 kernel 2009-05-15

Comments (none posted)

kernel: SELinux check bypass

Package(s):kernel CVE #(s):CVE-2009-1184
Created:May 20, 2009 Updated:July 2, 2009
Description: There is a bug in the SELinux code which can cause a number of networking-related checks to be bypassed when running with compat_net=1.
Alerts:
Ubuntu USN-793-1 linux, linux-source-2.6.15 2009-07-02
Mandriva MDVSA-2009:135 kernel 2009-06-17
Debian DSA-1809-1 linux-2.6 2009-06-01
Mandriva MDVSA-2009:119 kernel 2009-05-19
Mandriva MDVSA-2009:118 kernel 2009-05-19
Debian DSA-1800-1 linux-2.6 2009-05-15

Comments (none posted)

nsd: buffer overflow

Package(s):nsd CVE #(s):
Created:May 20, 2009 Updated:May 20, 2009
Description: Versions of the nsd name server daemon prior to 3.2.2 contain a single-byte buffer overflow which can be exploited to crash the daemon. Code-execution exploits are considered to be unlikely. See this advisory for more information.
Alerts:
Debian DSA-1803-1 nsd 2009-05-20
Fedora FEDORA-2009-5191 nsd 2009-05-19
Fedora FEDORA-2009-5190 nsd 2009-05-19

Comments (none posted)

ntp: buffer overflow

Package(s):ntp CVE #(s):CVE-2009-1252
Created:May 19, 2009 Updated:December 4, 2009
Description: From the Mandriva advisory: A buffer overflow flaw was discovered in the ntpd daemon's NTPv4 authentication code. If ntpd was configured to use public key cryptography for NTP packet authentication, a remote attacker could use this flaw to send a specially-crafted request packet that could crash ntpd.
Alerts:
Mandriva MDVSA-2009:309 ntp 2009-12-03
Fedora FEDORA-2009-5674 ntp 2009-05-30
SuSE SUSE-SR:2009:011 java, realplayer, acroread, apache2-mod_security2, cyrus-sasl, wireshark, ganglia-monitor-core, ghostscript-devel, libwmf, libxine1, net-snmp, ntp, openssl 2009-06-09
Slackware SSA:2009-154-01 ntp 2009-06-04
Fedora FEDORA-2009-5273 ntp 2009-05-20
Fedora FEDORA-2009-5275 ntp 2009-05-20
rPath rPSA-2009-0092-1 ntp 2009-05-27
Gentoo 200905-08 ntp 2009-05-26
CentOS CESA-2009:1040 No RH alert RHSA-2009:1040-01 2009-05-21
Ubuntu USN-777-1 ntp 2009-05-19
Debian DSA-1801-1 ntp 2009-05-19
CentOS CESA-2009:1039 ntp 2009-05-19
Mandriva MDVSA-2009:117 ntp 2009-05-19

Comments (none posted)

phpmyadmin: multiple vulnerabilities

Package(s):phpMyAdmin CVE #(s):CVE-2009-1150 CVE-2009-1151
Created:May 18, 2009 Updated:June 30, 2009
Description:

From the Mandriva advisory:

Multiple cross-site scripting (XSS) vulnerabilities in the export page (display_export.lib.php) in phpMyAdmin 2.11.x before 2.11.9.5 and 3.x before 3.1.3.1 allow remote attackers to inject arbitrary web script or HTML via the pma_db_filename_template cookie (CVE-2009-1150).

Static code injection vulnerability in setup.php in phpMyAdmin 2.11.x before 2.11.9.5 and 3.x before 3.1.3.1 allows remote attackers to inject arbitrary PHP code into a configuration file via the save action (CVE-2009-1151).

Alerts:
Gentoo 200906-03 phpmyadmin 2009-06-29
Debian DSA-1824-1 phpmyadmin 2009-06-25
Mandriva MDVSA-2009:115 phpMyAdmin 2009-05-18

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