|
|
Subscribe / Log in / New account

Security

Deep packet inspection

By Jake Edge
July 23, 2008

At its core, the internet is a set of agreements; not just on protocols, but also on practices amongst carriers. Part of what has allowed the explosive growth—in both participants and services—of the internet can be attributed to these agreements. When a new technology like deep packet inspection (DPI) comes along to threaten these long-standing practices, it should be cause for concern.

Internet packets are constructed much like postal mail. There is an envelope with addressing information contained in the packet header and a message which is contained in the data payload portion of the packet. Internet carriers are supposed to make their best effort to deliver a packet based on the information in its header. DPI violates that compact by looking inside the data portion, as the packet is en route to its destination, and making decisions based on that.

There are some potentially valid uses for DPI—network performance monitoring and law enforcement surveillance, perhaps even with a warrant, are two—but the potential for abuse is large. Because network processing has gotten to the point where devices can do more than just observe and record, packets are being modified and generated on-the-fly in a technique known as deep packet processing (DPP).

Various examples of DPI and DPP—generally lumped together as DPI—have been in the news over the last year. Comcast used DPI to try and throttle Bittorrent traffic, while Phorm and NebuAd have used it to rewrite web pages to deliver advertising to unsuspecting users. The DPI problem has gotten enough attention that even various governments have started showing interest.

The designer of User Datagram Protocol (UDP)—the connectionless analog to Transmission Control Protocol (TCP)—David Reed recently testified to the US Congress about DPI. In his testimony [PDF] he outlines numerous technical issues, but the biggest may lead to breaking the fundamental model of internet communication:

This is the real risk: [a] service or technology unnecessary to the correct functioning of the Internet is introduced at a place where it cannot function correctly because it does [not] know the endpoints' intent, yet it operates invisibly and violates rules of behavior that the end-users and end-point businesses depend to work in a specific way.

We have seen this behavior from internet companies in other guises as well. Verisign and various ISPs have tried redirecting failed DNS queries to pages they control (and generally fill with ads). Once again, that breaks many applications; it functions more or less correctly for web browsing, but other applications depend on receiving proper errors when querying for nonexistent domains.

Because many ISPs hold a near-monopoly on high-speed access in a particular geographical area, they can hold their customers hostage with little concern that competition will come along to force a change. It is this abuse of their monopoly position that tends to interest regulators. In addition, most of their customers are unlikely to notice these "enhancements", making it easier to get away with—at least until those more technically savvy recognize and raise the issue.

Using encrypted communications, HTTPS for web browsing for example, is one defense against DPI. There is some cost associated with encryption, of course, but it is one that is likely to be borne if internet carriers persist in these shenanigans. Another option might be Obfuscated TCP, which is a technique to do backwards-compatible encryption at the packet level. Because it doesn't require all hosts to support it at once—it is negotiated between the endpoints when the connection is established—it could incrementally be added into the arsenal of tools to thwart DPI.

DPI uses techniques that have generally been attributed to the "cracking" community. Things like man-in-the-middle attacks and IP address spoofing are difficult-to-solve security problems for many applications. When the "legitimate" middlemen start manipulating packets using these means for their own benefit, they come very close to—or cross—the line into illegality.

This is a battle about control; our freedoms to communicate and innovate on the internet are at stake. A phone system that randomly inserted advertising into calls or a postal system that kicked back letters whose contents it didn't like as undeliverable would not be considered functioning systems. The internet requires the same treatment.

Comments (8 posted)

Security reports

Fortify: open source software is a security risk for businesses

Fortify Software, a vendor of security scanning solutions, has put out a press release saying that open source software poses security risks for businesses, partly as a result of the lack of use of security scanning solutions. There is an associated report available for those who register. "The survey, sponsored by Fortify Software and completed by leading application security consultant Larry Suto, examined 11 of the most common Java open source packages. In order to evaluate the security expertise offered to users and to measure the secure development processes in place in OSS communities, Fortify interacted with open source maintainers and examined documented open source security practices."

The whole thing may be self-serving, but there is also a real point: anybody contemplating putting software into a security-relevant setting should look at how the project handles security issues.

Comments (17 posted)

New vulnerabilities

afuse: privilege escalation

Package(s):afuse CVE #(s):CVE-2008-2232
Created:July 17, 2008 Updated:August 21, 2009
Description: From the Debian alert: Anders Kaseorg discovered that afuse, an automounting file system in user-space, did not properly escape meta characters in paths. This allowed a local attacker with read access to the filesystem to execute commands as the owner of the filesystem.
Alerts:
Fedora FEDORA-2009-8792 afuse 2009-08-20
Fedora FEDORA-2009-8816 afuse 2009-08-20
Debian DSA-1611-1 afuse 2008-07-16

Comments (none posted)

bacula: password disclosure

Package(s):bacula CVE #(s):CVE-2007-5626
Created:July 22, 2008 Updated:August 27, 2012
Description: The Bacula backup utility can disclose passwords via process listings and plain-text email. See this bug entry for details.
Alerts:
Fedora FEDORA-2012-11717 bacula 2012-08-27
Gentoo 200807-10 bacula 2008-07-21

Comments (none posted)

bitchx: boundary error and temporary file vulnerability

Package(s):bitchx CVE #(s):CVE-2007-4584 CVE-2007-5839
Created:July 22, 2008 Updated:July 22, 2008
Description: The bitchx IRC client suffers from a boundary overflow vulnerability (CVE-2007-4584) and a temporary file vulnerability (CVE-2007-5839). It also suffers from a lack of maintenance, so switching to a different client might be a good idea.
Alerts:
Gentoo 200807-12 bitchx 2008-07-21

Comments (none posted)

kernel: null pointer problems

Package(s):kernel CVE #(s):CVE-2008-2812
Created:July 21, 2008 Updated:December 17, 2008
Description: Some TTY devices do not check for NULL function pointers before calling them. On most systems, these devices are only accessible to the root user.
Alerts:
CentOS CESA-2008:0973 kernel 2008-12-17
Red Hat RHSA-2008:0973-03 kernel 2008-12-16
SuSE SUSE-SR:2008:025 apache2, ipsec-tools, kernel-bigsmp, flash-player, mysql, ktorrent 2008-11-14
SuSE SUSE-SA:2008:052 kernel 2008-10-21
SuSE SUSE-SA:2008:049 kernel 2008-10-02
SuSE SUSE-SA:2008:047 kernel 2008-10-01
Ubuntu USN-637-1 linux, linux-source-2.6.15/20/22 2008-08-25
Debian DSA-1630-1 linux-2.6 2008-08-21
CentOS CESA-2008:0612 kernel 2008-08-06
Red Hat RHSA-2008:0612-01 kernel 2008-08-04
SuSE SUSE-SA:2008:038 kernel 2008-07-29
Red Hat RHSA-2008:0665-01 kernel 2008-07-24
SuSE SUSE-SA:2008:037 kernel 2008-07-22
SuSE SUSE-SA:2008:035 kernel 2008-07-21

Comments (none posted)

kernel: privilege escalation

Package(s):kernel CVE #(s):CVE-2008-3247
Created:July 22, 2008 Updated:October 23, 2008
Description: The kernel (on x86_64 systems only) used an incorrectly-sized buffer in LDT handling, leading to a potential local privilege escalation; this vulnerability was introduced in 2.6.25.
Alerts:
Fedora FEDORA-2008-8929 kernel 2008-10-23
Fedora FEDORA-2008-8980 kernel 2008-10-23
SuSE SUSE-SA:2008:037 kernel 2008-07-22

Comments (none posted)

libxcrypt: incorrect hash algorithm used

Package(s):libxcrypt CVE #(s):CVE-2008-3188
Created:July 21, 2008 Updated:August 8, 2008
Description: libxcrypt can use DES to encrypt passwords when the administrator has selected MD5.
Alerts:
SuSE SUSE-SR:2008:016 moodle, opera, libxcrypt, acroread, gnumeric 2008-08-08
SuSE SUSE-SA:2008:036 libxcrypt 2008-07-21

Comments (none posted)

mantis: multiple vulnerabilities

Package(s):mantis CVE #(s):CVE-2008-2276
Created:July 23, 2008 Updated:September 22, 2008
Description: The mantis bug-tracking system has a number of bugs of its own, including cross-site scripting, cross-site request forgery, remote code execution, and arbitrary file inclusion. Version 1.1.2 has the fixes.
Alerts:
Gentoo 200809-10 mantis 2008-09-21
Fedora FEDORA-2008-6647 mantis 2008-07-23
Fedora FEDORA-2008-6657 mantis 2008-07-23

Comments (none posted)

ruby: integer overflows

Package(s):ruby CVE #(s):CVE-2006-2662
Created:July 22, 2008 Updated:July 28, 2008
Description: The Ruby string processing code contains multiple integer overflows which can be exploited in a denial of service attack with the potential for the execution of arbitrary code.
Alerts:
Debian DSA-1618-1 ruby1.9 2008-07-26
Debian DSA-1612-1 ruby1.8 2008-07-21

Comments (1 posted)

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


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