|
|
Log in / Subscribe / Register

Security

GUADEC: Imagining Tor built-in to GNOME

By Nathan Willis
August 8, 2012

Jacob Appelbaum of the Tor project delivered the opening keynote at GUADEC 2012 in A Coruña, Spain, tackling better anonymity on the desktop. Appelbaum outlined the design of Tor, discussed statistics about the Tor network, and spoke about its future. One of his more interesting suggestions was that GNOME and other user environments could build in Tor support as a standard networking option. That would make Tor easier to use, and would provide the user with several peripheral benefits.

Tor, anonymity, and you

Tor is widely known these days, but Appelbaum gave a brief overview of the system's protocol and network design, highlighting some frequently-overlooked facets of the project. First, he said, Tor is larger than most people realize. It employs more than a dozen developers and receives additional help from around 100 volunteer coders. The developer-power is critical to Tor's success, he said, as almost any bug in the code turns into a security bug. At a given moment, it averages around 3,000 active relays, 400,000 users, and handles 1.2 GiB/s of traffic. Tor is a non-profit organization, and may be unique in that it receives funding from both the Electronic Frontier Foundation (EFF) and the U.S. Department of Defense.

[Appelbaum]

Tor's mission is often misunderstood, too. Although it provides a means of securing communication channels, its primary function is as an anonymity tool. Anonymity comes in a variety of types, he said, but the core idea is "trying to be free from surveillance and censorship". Tor gives you one thing off the bat, he said: an anonymous IP address. Everything else is your choice from there. The WiFi at the venue blocked SSH connections, Appelbaum said, so he needed to tunnel over Tor to connect to his servers. That represents one type of anonymity: freedom from network administrators inspecting your traffic.

A different type of anonymity might be signing in to GMail over Tor in order to hide your geographic location. In that case, you still authenticate to Google, so the company knows who you are, but you do not have to reveal where you are simultaneously. The US government asserts that individuals have no reasonable expectation of privacy when voluntarily interacting with a business, including increasingly common web tracking techniques. Appelbaum showed an EFF diagram illustrating privacy risks from numerous angles, including "black hat" hackers, system administrators, lawyers, law enforcement, and even government agencies.

For each of those potential privacy foes, there are times when an activity that would be innocuous otherwise becomes risky because someone is monitoring your communication. The question for a project like GNOME, he said, is "how free is your desktop if you're not able to freely interact with others?" Although some assume that online anonymity is only the concern of "bad people", he said, that is "a bit of a white privilege issue". Censorship is quite widespread and in practice it affects "good" people as much as anyone else, a fact he illustrated with a collection of error page screenshots from government and private networks that block access to Tor project sites.

The Tor project's solution is to build a network that offers "privacy by design" rather than by policy. Policies are hard to enforce and are subject to human error and bad actors. Tor makes network connections private in a number of ways. Once every hour, the project's trusted directory relays re-map the entire network. Clients retrieve the latest version of the map (thus limiting the potential time window of a widespread attack). Once every ten minutes, clients select a new route through the Tor network for their traffic channels (thus helping to protect them against analysis from within the network). Each route through the Tor network is encrypted separately between each pair of nodes along the route (so that the first node knows the originating address but not the destination, the exit node knows the destination but not the origin, and the intermediary nodes know neither).

A censor could attempt to block all access to Tor by retrieving the network directory and blocking the entry points by IP address, so the project also runs hidden "bridge relays" that are unlisted. Users can fetch a short list of bridge relays via email or through a CAPTCHA-protected web form. The email method requires using an address from gmail.com or yahoo.com, which the project says helps make it more difficult for attackers to discover a significant number of bridges.

Tor statistics

Tor's pervasive anonymity makes it difficult to profile or monitor the network as a whole, Appelbaum said, but the project uses data mining to take snapshots and keep an eye on performance. Tor's total bandwidth and latency have improved significantly since 2010, he said. Back then, the median time to complete a request was approximately 25 seconds. In 2012, it is down to 2.5 seconds. Total maximum bandwidth has increased in the same time period from 500 to 2500 MiB/s.

The primary reason for the increase has been a significant uptick in the number of volunteers serving as Tor nodes — a change that has corresponded with the "Arab spring" upheavals in the Middle East. Based on analysis of the Tor network, the events in the Middle East have been followed quickly by a spike in new participants, and the network does not taper back down to its pre-spike size.

Which is not to say that there are never incidents of downticks in the Tor network. The project can detect sudden acts of censorship by examining metrics of the Tor network as well as traffic to its own domain. For example, in February 2012, Kazakhstan deployed protocol inspection and began blocking access to Tor. It was without doubt an expensive operation, Appelbaum said, even though the total number of users in the country was around 1200.

Nevertheless, the project is actively working on ways to circumvent such censorship actions. There is already an "obfuscated bridge" option, in which the bridge relay and the Tor client fake what appears to be a standard Firefox-to-Apache handshake. There are other options still in development, including steganographic handshakes. But outright censorship is probably not the wave of the future, Appelbaum said. The government in Syria has learned that it is more effective to watch who accesses sites that it finds objectionable than it is to block access to them across the board, and the U.S. government prefers to use U.S. law to suppress people over any purely technological measures.

The onion gnome?

The Tor network is healthy, Appelbaum said, but the tools to access it still need some work. Tor's own Vidalia application may have a dreadful UI, he said, but it is much better than it was five years ago. He highlighted several excellent projects, such as the Pidgin IM client (which has built-in support for Tor) and the TorBirdy extension for Mozilla Thunderbird, but argued that it would be better for the user if the functionality to use Tor was built into the operating system itself. After all, that option would require solving the anonymity problem once, rather than 50 times.

The option for GNOME would be to add support for Tor as a transport in Network Manager, much like VPNs are offered today. It might also be useful if an application could request a "private mode," which would activate the Tor connection and otherwise sandbox the process (both to protect against malicious content coming in, and to prevent the application from intentionally or accidentally leaking information about the local system over the connection). This would take some work to implement, he said, because Network Manager today does not "fail closed" — a fact that can be illustrated by its current VPN support. Applications using the VPN connection continue to function even when the VPN goes down, because Network Manager simply routes traffic through the existing network.

Built-in Tor functionality would come in handy in other ways, too, he said, such as with GNOME's "guest sessions." As it is now, anything a guest does while running in a guest session can be traced back to the computer — and the user needs to ask if that is something that he or she wants. It would be better if Tor automatically anonymized guest sessions for the user's protection.

He mentioned several other changes that GNOME could make to offer a more complete privacy-respecting environment for its users. One was allowing the user control over the Zeitgeist activity logger, which he said amounted to spyware if the user has not agreed to it. At the very least it should be encrypted and subject to user control. Zeitgeist developer Seif Lotfy is currently working on a "privacy panel" for GNOME, which Appelbaum suggested would be a good fit.

Appelbaum surveyed friends and colleagues about what to tell GUADEC attendees, and they provided three other suggestions. First, implement off-the-record (OTR) messaging in Empathy. Second, implement a fake-MAC-address generator, to keep a machine's real MAC address safe from monitoring on guest networks. Third, implement a Tor-based file transfer method in Telepathy.

Despite the list of feature requests, Appelbaum had plenty of good things to say about GNOME as well, in part because it has formed the basis for several good outside projects that offer anonymity and privacy tools. One example is the Tails live CD distribution, which is configured to use Tor for Internet connections out-of-the-box.

It remains to be seen whether GNOME will actually implement Tor as a Network Manager transport — it is clearly too late for inclusion in the 3.6 release currently in development. But over the course of the week, several GUADEC attendees were still discussing the idea, and it was mentioned in numerous personal blog posts about the event on Planet GNOME. Appelbaum certainly succeeded in raising the question of built-in privacy with the crowd, which could impact GNOME (and other open source projects) further down the line.

[The author would like to thank the GNOME Foundation for travel assistance to A Coruña for GUADEC.]

Comments (4 posted)

Brief items

Security quotes of the week

But what happened to me exposes vital security flaws in several customer service systems, most notably Apple’s and Amazon’s. Apple tech support gave the hackers access to my iCloud account. Amazon tech support gave them the ability to see a piece of information — a partial credit card number — that Apple used to release information. In short, the very four digits that Amazon considers unimportant enough to display in the clear on the web are precisely the same ones that Apple considers secure enough to perform identity verification. The disconnect exposes flaws in data management policies endemic to the entire technology industry, and points to a looming nightmare as we enter the era of cloud computing and connected devices.
-- Mat Honan

A key impact of CGNs [Carrier Grade NAT] is that if you want to trace back “who did that” you may need to have recorded not only an IP address and an accurate timestamp, but also to be able to provide the source port of the connection. Failure to provide the source port will mean that an ISP using CGN will not be able to do any tracing, because they will be unable to distinguish between hundreds of possible perpetrators.
-- Richard Clayton

Comments (none posted)

Walsh: SELinux Apache Security Study

On his blog, Dan Walsh writes about a study done by Kirill Ermakov about SELinux as applied to a vulnerable Apache web server. The study found that even with SELinux protections, an attacker could still read /etc/passwd. Walsh: "This points out what most people do not understand about SELinux. SELinux does not necessarily block errors in applications from happening. SELinux will just contain them. If you are able to subvert the Apache application then you can become the Apache application and will have the rights allowed to the apache application. In his examples he was able to take over the Apache server and do what an apache server needs to do, including reading the /etc/passwd file." Walsh goes on to list several other things that could have been tested as they would be blocked by the SELinux rules (e.g. connecting to the mail port, reading random user files). In addition, he points out some ways that administrators could increase the SELinux containment of a web server.

Comments (none posted)

New vulnerabilities

auditlog-keeper: information disclosure

Package(s):auditlog-keeper CVE #(s):CVE-2012-0421
Created:August 7, 2012 Updated:August 8, 2012
Description: From the SUSE advisory:

/etc/auditlog-keeper.conf was world-readable and contains various passwords.

Alerts:
SUSE SUSE-SU-2012:0958-1 auditlog-keeper 2012-08-06

Comments (none posted)

bind-dyndb-ldap: named assertion failure

Package(s):bind-dyndb-ldap CVE #(s):CVE-2012-3429
Created:August 3, 2012 Updated:August 17, 2012
Description: From the Red Hat advisory:

A flaw was found in the way bind-dyndb-ldap performed the escaping of names from DNS requests for use in LDAP queries. A remote attacker able to send DNS queries to a named server that is configured to use bind-dyndb-ldap could use this flaw to cause named to exit unexpectedly with an assertion failure.

Alerts:
Scientific Linux SL-bind-20120803 bind-dyndb-ldap 2012-08-03
Oracle ELSA-2012-1139 bind-dyndb-ldap 2012-08-03
CentOS CESA-2012:1139 bind-dyndb-ldap 2012-08-03
Red Hat RHSA-2012:1139-01 bind-dyndb-ldap 2012-08-03
Fedora FEDORA-2012-11470 bind-dyndb-ldap 2012-08-17
Fedora FEDORA-2012-11464 bind-dyndb-ldap 2012-08-17

Comments (none posted)

dhcp: denial of service

Package(s):dhcp CVE #(s):CVE-2012-3570
Created:August 2, 2012 Updated:August 8, 2012
Description:

From the Red Hat bugzilla entry:

An unexpected client identifier parameter can cause the ISC DHCP daemon to segmentation fault when running in DHCPv6 mode, resulting in a denial of service to further client requests. In order to exploit this condition, an attacker must be able to send requests to the DHCP server.

Alerts:
Gentoo 201301-06 dhcp 2013-01-09
Mageia MGASA-2012-0256 dhcp 2012-09-07
Fedora FEDORA-2012-11079 dhcp 2012-08-01
openSUSE openSUSE-SU-2012:1006-1 update 2012-08-20
Fedora FEDORA-2012-11110 dhcp 2012-08-06

Comments (none posted)

ecryptfs-utils: privilege escalation

Package(s):ecryptfs-utils CVE #(s):CVE-2012-3409
Created:August 3, 2012 Updated:August 8, 2012
Description: From the Red Hat bugzilla:

It was reported that the private ecryptfs mount helper (/sbin/mount.ecryptfs_private), which is setuid-root, could allow an unprivileged local user to mount user-controlled ecryptfs shares on the local system. Because the ecryptfs helper does not mount filesystems with the "nosuid" and "nodev" flags, it would be possible for a user to mount a filesystem containing setuid-root binaries and/or device files that could lead to the escalation of their privileges. This could be done via a USB device, if the user had physical access to the system.

Alerts:
Fedora FEDORA-2012-11049 ecryptfs-utils 2012-08-03
Fedora FEDORA-2012-11069 ecryptfs-utils 2012-08-03

Comments (none posted)

fckeditor: cross-site scripting

Package(s):fckeditor CVE #(s):CVE-2012-4000
Created:August 6, 2012 Updated:November 24, 2015
Description: From the Debian advisory:

Emilio Pinna discovered a cross site scripting vulnerability in the spellchecker.php page of FCKeditor, a popular html/text editor for the web.

Alerts:
Fedora FEDORA-2015-a275fd68f2 zarafa 2015-11-23
Debian DSA-2522-1 fckeditor 2012-08-06

Comments (none posted)

globus-gridftp-server: privilege escalation

Package(s):globus-gridftp-server CVE #(s):CVE-2012-3292
Created:August 7, 2012 Updated:August 8, 2012
Description: From the Debian advisory:

It was discovered that the GridFTP component from the Globus Toolkit, a toolkit used for building Grid systems and applications performed insufficient validation of a name lookup, which could lead to privilege escalation.

Alerts:
Debian DSA-2523-1 globus-gridftp-server 2012-08-06

Comments (none posted)

glpi: multiple vulnerabilities

Package(s):glpi CVE #(s):
Created:August 6, 2012 Updated:August 8, 2012
Description: GLPI 0.83.4 fixes several issues. See the glpi changelog for details.
Alerts:
Fedora FEDORA-2012-10661 glpi-pdf 2012-08-05
Fedora FEDORA-2012-10661 glpi-mass-ocs-import 2012-08-05
Fedora FEDORA-2012-10661 glpi-data-injection 2012-08-05
Fedora FEDORA-2012-10661 glpi 2012-08-05

Comments (none posted)

graphicsmagick: unspecified vulnerability

Package(s):graphicsmagick CVE #(s):
Created:August 3, 2012 Updated:August 8, 2012
Description: From the Mageia advisory:

This update fixes a security issue in the SetImageAttribute function in magick/attribute.c related to translating comment and label attributes when loading images. It was fixed upstream in GraphicsMagick 1.3.16.

Alerts:
Mageia MGASA-2012-0192 graphicsmagick 2012-08-02

Comments (none posted)

icinga: unintended database access

Package(s):icinga CVE #(s):CVE-2012-3441
Created:August 8, 2012 Updated:August 8, 2012
Description: From the openSUSE advisory:

icinga-create_mysqldb.sh granted icinga access to all dbs - so please check the permissions of your mysql icinga user

Alerts:
openSUSE openSUSE-SU-2012:0968-1 icinga 2012-08-08

Comments (none posted)

kernel: information disclosure

Package(s):kernel CVE #(s):CVE-2012-3430
Created:August 6, 2012 Updated:October 3, 2012
Description: From the Red Hat bugzilla:

Two similar issues:

1) Reported by Jay Fenlason and Doug Ledford: recvfrom() on an RDS socket can disclose sizeof(struct sockaddr_storage)-sizeof(struct sockaddr_in) bytes of kernel stack to userspace when receiving a datagram.

2) Reported by Jay Fenlason: recv{from,msg}() on an RDS socket can disclose sizeof(struct sockaddr_storage) bytes of kernel stack to userspace when other code paths are taken.

Alerts:
Oracle ELSA-2013-1645 kernel 2013-11-26
Oracle ELSA-2013-2546 enterprise kernel 2013-09-17
Oracle ELSA-2013-2546 enterprise kernel 2013-09-17
openSUSE openSUSE-SU-2013:0927-1 kernel 2013-06-10
Oracle ELSA-2013-2507 kernel 2013-02-28
Oracle ELSA-2012-2038 kernel 2012-10-20
Oracle ELSA-2012-2038 kernel 2012-10-19
Oracle ELSA-2012-1323 kernel 2012-10-04
Oracle ELSA-2012-1323 kernel 2012-10-03
Scientific Linux SL-kern-20121003 kernel 2012-10-03
CentOS CESA-2012:1323 kernel 2012-10-03
Red Hat RHSA-2012:1323-01 kernel 2012-10-02
Oracle ELSA-2012-2035 enterprise kernel 2012-09-28
Oracle ELSA-2012-2035 enterprise kernel 2012-09-28
Oracle ELSA-2012-2034 kernel 2012-09-27
Oracle ELSA-2012-2034 kernel 2012-09-28
Oracle ELSA-2012-1304 kernel 2012-09-26
Scientific Linux SL-kern-20120926 kernel 2012-09-26
CentOS CESA-2012:1304 kernel 2012-09-26
Red Hat RHSA-2012:1304-01 kernel 2012-09-25
Ubuntu USN-1579-1 linux 2012-09-21
Ubuntu USN-1580-1 linux-ti-omap4 2012-09-21
Ubuntu USN-1578-1 linux-ti-omap4 2012-09-21
Ubuntu USN-1577-1 linux-ti-omap4 2012-09-21
Ubuntu USN-1575-1 linux-lts-backport-oneiric 2012-09-19
Ubuntu USN-1574-1 linux-lts-backport-natty 2012-09-19
Ubuntu USN-1573-1 linux-ec2 2012-09-18
Ubuntu USN-1572-1 linux 2012-09-18
Ubuntu USN-1568-1 linux 2012-09-14
Ubuntu USN-1567-1 linux 2012-09-14
Red Hat RHSA-2012:1491-01 kernel-rt 2012-12-04
Mageia MGASA-2012-0237 kernel 2012-08-23
Fedora FEDORA-2012-11348 kernel 2012-08-05

Comments (none posted)

libreoffice: code execution

Package(s):libreoffice CVE #(s):CVE-2012-2665
Created:August 2, 2012 Updated:August 14, 2012
Description:

From the Red Hat advisory:

Multiple heap-based buffer overflow flaws were found in the way LibreOffice processed encryption information in the manifest files of OpenDocument Format files. An attacker could provide a specially-crafted OpenDocument Format file that, when opened in a LibreOffice application, would cause the application to crash or, potentially, execute arbitrary code with the privileges of the user running the application.

Alerts:
Gentoo 201408-19 openoffice-bin 2014-08-31
Gentoo 201209-05 libreoffice 2012-09-24
Mageia MGASA-2012-0253 libreoffice 2012-09-04
Mandriva MDVSA-2012:124 openoffice.org 2012-08-04
Debian DSA-2520-1 openoffice.org 2012-08-02
Scientific Linux SL-open-20120802 openoffice.org 2012-08-02
Scientific Linux SL-libr-20120802 libreoffice 2012-08-02
Oracle ELSA-2012-1135 libreoffice 2012-08-02
CentOS CESA-2012:1136 openoffice.org 2012-08-02
CentOS CESA-2012:1135 libreoffice 2012-08-02
Red Hat RHSA-2012:1136-01 openoffice.org 2012-08-01
Red Hat RHSA-2012:1135-01 libreoffice 2012-08-01
Ubuntu USN-1536-1 libreoffice 2012-08-13
Fedora FEDORA-2012-11402 libreoffice 2012-08-10
Mandriva MDVSA-2012:123 libreoffice 2012-08-04
Ubuntu USN-1537-1 openoffice.org 2012-08-13

Comments (none posted)

moodle: many vulnerabilites

Package(s):moodle CVE #(s):CVE-2012-3387 CVE-2012-3388 CVE-2012-3389 CVE-2012-3390 CVE-2012-3391 CVE-2012-3392 CVE-2012-3393 CVE-2012-3394 CVE-2012-3395 CVE-2012-3396 CVE-2012-3397 CVE-2012-3398
Created:August 2, 2012 Updated:August 8, 2012
Description:

From the Red Hat bugzilla entry:

CVE-2012-3387 Moodle: MSA-12-0039: File upload validation issue

CVE-2012-3388 Moodle: MSA-12-0040: Capabilities issue through caching

CVE-2012-3389 Moodle: MSA-12-0041: XSS issue in LTI module

CVE-2012-3390 Moodle: MSA-12-0042: File access issue in blocks

CVE-2012-3391 Moodle: MSA-12-0043: Early information access issue in forum

CVE-2012-3392 Moodle: MSA-12-0044: Capability check issue in forum subscriptions

CVE-2012-3393 Moodle: MSA-12-0045: Injection potential in admin for repositories

CVE-2012-3394 Moodle: MSA-12-0046: Insecure protocol redirection in LDAP authentication

CVE-2012-3395 Moodle: MSA-12-0047: SQL injection potential in Feedback module

CVE-2012-3396 Moodle: MSA-12-0048: Possible XSS in cohort administration

CVE-2012-3397 Moodle: MSA-12-0049: Group restricted activity displayed to all users

CVE-2012-3398 Moodle: MSA-12-0050: Potential DOS attack through database activity

Alerts:
Fedora FEDORA-2012-11039 moodle 2012-08-01
Fedora FEDORA-2012-11028 moodle 2012-08-01

Comments (none posted)

python-django: multiple vulnerabilities

Package(s):python-django CVE #(s):CVE-2012-3442 CVE-2012-3443 CVE-2012-3444
Created:August 8, 2012 Updated:December 20, 2012
Description: From the CVE entries:

The (1) django.http.HttpResponseRedirect and (2) django.http.HttpResponsePermanentRedirect classes in Django before 1.3.2 and 1.4.x before 1.4.1 do not validate the scheme of a redirect target, which might allow remote attackers to conduct cross-site scripting (XSS) attacks via a data: URL. (CVE-2012-3442)

The django.forms.ImageField class in the form system in Django before 1.3.2 and 1.4.x before 1.4.1 completely decompresses image data during image validation, which allows remote attackers to cause a denial of service (memory consumption) by uploading an image file. (CVE-2012-3443)

The get_image_dimensions function in the image-handling functionality in Django before 1.3.2 and 1.4.x before 1.4.1 uses a constant chunk size in all attempts to determine dimensions, which allows remote attackers to cause a denial of service (process or thread consumption) via a large TIFF image. (CVE-2012-3444)

Alerts:
Fedora FEDORA-2012-20224 Django 2012-12-20
Ubuntu USN-1560-1 python-django 2012-09-10
Mandriva MDVSA-2012:143 python-django 2012-08-23
openSUSE openSUSE-SU-2012:0970-1 python-django 2012-08-08
Fedora FEDORA-2012-11415 Django 2012-08-10
Mageia MGASA-2012-0219 python-django 2012-08-18
Debian DSA-2529-1 python-django 2012-08-14
Fedora FEDORA-2012-11416 Django 2012-08-10

Comments (none posted)

sudo: symlink attack

Package(s):sudo CVE #(s):CVE-2012-3440
Created:August 8, 2012 Updated:August 9, 2012
Description: From the Red Hat advisory:

An insecure temporary file use flaw was found in the sudo package's post-uninstall script. A local attacker could possibly use this flaw to overwrite an arbitrary file via a symbolic link attack, or modify the contents of the "/etc/nsswitch.conf" file during the upgrade or removal of the sudo package.

Alerts:
CentOS CESA-2012:1149 sudo 2012-08-07
Scientific Linux SL-sudo-20120808 sudo 2012-08-08
Red Hat RHSA-2012:1149-01 sudo 2012-08-07
Oracle ELSA-2012-1149 sudo 2012-08-07

Comments (none posted)

xen: denial of service

Package(s):xen CVE #(s):CVE-2012-3432
Created:August 6, 2012 Updated:September 14, 2012
Description: From the Red Hat bugzilla:

Internal data of the emulator for MMIO operations may, under certain rare conditions, at the end of one emulation cycle be left in a state affecting a subsequent emulation such that this second emulation would fail, causing an exception to be reported to the guest kernel where none is expected.

Guest mode unprivileged (user) code, which has been granted the privilege to access MMIO regions, may leverage that access to crash the whole guest.

Only HVM guests exposing MMIO ranges to unprivileged (user) mode are vulnerable to this issue. PV guests are not.

Alerts:
Gentoo 201309-24 xen 2013-09-27
openSUSE openSUSE-SU-2012:1172-1 Xen 2012-09-14
openSUSE openSUSE-SU-2012:1174-1 Xen 2012-09-14
SUSE SUSE-SU-2012:1044-1 Xen 2012-08-27
SUSE SUSE-SU-2012:1043-1 Xen and libvirt 2012-08-27
Fedora FEDORA-2012-11190 xen 2012-08-05
Debian DSA-2531-1 xen 2012-08-18
Fedora FEDORA-2012-11182 xen 2012-08-05

Comments (none posted)

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


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