public inbox for linux-newbie@vger.kernel.org
 help / color / mirror / Atom feed
From: Ray Olszewski <ray@comarre.com>
To: "John T. Williams" <jtwilliams@vt.edu>
Cc: linux-newbie@vger.kernel.org
Subject: Re: filtering .mp3 packets
Date: Wed, 27 Apr 2005 17:39:04 -0700	[thread overview]
Message-ID: <427030A8.8020604@comarre.com> (raw)
In-Reply-To: <001a01c54b7c$6da1b7f0$660aa8c0@descartes2>

John T. Williams wrote:
> I don't know mp3 format, but surely they all have a header that is
> identifiable?  I mean where they store information about the mp3 such as
> speed and title and such.  Surely you could id an mp3 from that information.
> and terminate the stream.
[...]

"Surely" is one of those tricky words. As with most things involving 
traffic analysis, the devil is in the details.

Yes, an MP3 file has some known structure, in the form of (a) an 
*optional* (NOT required, and in practice not always present) "ID3" 
block that provides the sort of information you mention, and (b) a 
structured header to each actual block of musical data. (For more on 
both of these, take a look at 
http://www.oreilly.com/catalog/mp3/chapter/ch02.html .)

Even so, ID'ing an MP3 from this implementation is tricky, at two levels.

First, the standard kernel routing code cannot do it. You still need 
special code to analyze packet content, probably userspace code. As far 
as I know (and, to judge from the other responses in this thread, no one 
else here knows different), there is no off-the-shelf implementation 
available of this sort of filter.

Second, making the "signature" obscure is fairly trivial. Any encrypted 
transfer (e.g., scp, https) makes it impossible for intermediate points 
to analyze packet contents (since any method of doing so would 
constitute a successful man-in-the-middle attack on the encryption, 
hence be a security hole requiring repair. Even doing ZIP of tgz 
compression of the file would make life hard for the router.

Beyond that, the original poster mentioned MP3 as an example of the kind 
of file he wanted to detect and block. If there are several formats he 
wants to block (e.g., OGG, WMA as well as MP3), he'd have to do this on 
a type-by-type basis.

A better strategy might be to monitor the content of the outgoing 
packets to look for (say) http requests that ask for files with .mp3 
extensions to be downloaded. Then pseudo-404 the responses to them. This 
still has its problems, like the encryption problem I mention above, but 
it might be of some help and easier than dissecting the incoming binaries.

BTW, I did look around a bit for solutions, and all I came up with were 
ones that were variants on blacklisting the IP addresses of known 
sources of music files or were straightforward uses of proxy servers. If 
anyone has more general a content-level solution, it would seem to be 
proprietary, not Open Source.



-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

  reply	other threads:[~2005-04-28  0:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-25 11:27 filtering .mp3 packets William Stanard
2005-04-25 16:56 ` Ray Olszewski
2005-04-26 11:36 ` John T. Williams
2005-04-27 14:15   ` J.
2005-04-27 15:22     ` simon
2005-04-27 19:51       ` J.
2005-04-27 22:57         ` John T. Williams
2005-04-28  0:39           ` Ray Olszewski [this message]
2005-04-29  3:05             ` joy merwin monteiro
2005-04-29 11:43               ` Stephen Ray
2005-04-29 15:24                 ` joy merwin monteiro
2005-04-29 15:51                   ` Ray Olszewski
2005-04-29 23:39                     ` joy merwin monteiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=427030A8.8020604@comarre.com \
    --to=ray@comarre.com \
    --cc=jtwilliams@vt.edu \
    --cc=linux-newbie@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox