Slashdot Mirror


Clean-Room RTMPE Spec Created From rtmpdump

lkcl writes "A clean-room RTMPE specification has been created using the source code of rtmpdump-v1.6 for guidance. Adobe recently issued a DMCA take-down notice against SourceForge, resulting in copies of rtmpdump hitting quite a few bittorrent sites worldwide."

38 of 115 comments (clear)

  1. Re:The OP doesn't know what "clean room" means by Anonymous Coward · · Score: 5, Informative
    Of course it can. "Clean room" implies a barrier between two implementations where no code is shared.

    Someone doesn't know what "clean room" means

    Quite.

  2. Re:Someone doesn't know what "clean room" means by Spy+der+Mann · · Score: 4, Informative

    Well, one thing is clean-room IMPLEMENTATION. A very different thing is clean room SPECIFICATION (whatever that's supposed to mean).

    The article clearly states that this one's a spec.

  3. Re:Someone doesn't know what "clean room" means by Trahald · · Score: 2, Informative

    Quote:"Typically, a clean room design is done by having someone examine the system to be reimplemented and having this person write a specification."
    Indeed "Someone" doesn't know what "clean room" means. That "Someone" is you.

    p.s. I commented because I don't have mod points for the other comment (http://tech.slashdot.org/comments.pl?sid=1243387&cid=28070177) which seems to have been downmodded.
    Mods: How difficult would it have been to look up wikipedia (http://en.wikipedia.org/wiki/Clean_room_design) before downmodding the guy ?

  4. Why? by fuzzyfuzzyfungus · · Score: 5, Insightful

    IANAL, etc. but my distinct impression was that cleanrooming wouldn't(outside of curious edge cases) save you from the DMCA. For copyright claims, the more layers of cleanroom, the better; but the DMCA only cares if the code constitutes a circumvention device or not. It could be based on a cracked copy of some proprietary adobe tool, OSS based on network sniffing of the proprietary tool, written according to a spec based on the OSS implementation, or, for that matter, produced by the Oracle of Delphi based on instructions from Olympus.

    1. Re:Why? by h4rr4r · · Score: 2, Insightful

      That is easy to deal with, just hand off the spec to a developer outside the USA. The DMCA does not matter anywhere else.

    2. Re:Why? by MichaelSmith · · Score: 2, Informative

      That is easy to deal with, just hand off the spec to a developer outside the USA. The DMCA does not matter anywhere else.

      Unless they have their own DCMA. Trade agreements tend to make these things spread to other countries.

    3. Re:Why? by fuzzyfuzzyfungus · · Score: 3, Insightful

      True enough. In that case, though, why bother with the cleanrooming? rtmpdump can simply be hosted offshore, as I'm sure it already is.

    4. Re:Why? by LocalH · · Score: 2, Informative

      http://www.chillingeffects.org/anticircumvention/notice.cgi?NoticeID=25159

      It's a takedown. Technically, based on the letter itself, I think they abused this one.

      --
      FC Closer
    5. Re:Why? by mdmkolbe · · Score: 2, Interesting

      Thanks for the link, but is it a proper takedown?

      I think the problem hinges on the use in the law (17 USC 512) of the phrase "material that is claimed to be infringing or to be the subject of infringing activity" (emphasis mine).

      The rtmpdump does not infringe on any of Adobe's rtmp copyrights and Adobe don't claim it does (see section (a) of the letter). Thus Adobe must be claiming that rtmpdump is the subject of infringing activity. However this raises two issues.

      First, does Adobe own the copyright on any of the works mentioned in part (a) of the letter (e.g. Catch Up, The Daily Show, The West Wing, etc.)? If Adobe doesn't own the copyright for any of those works, then Adobe has no standing to file a DMCA take-down for infringement of those works.

      Second, supposing Adobe has standing and given that rtmpdump doesn't infringe Adobe's copyrights, could rtmpdump be classified as "the subject of infringing activity"? If it cannot, then the take-down is improperly formed and should be ignored by SourceForge.

      Unfortunately I can't find anything that clarifies the meaning of the wording "subject of infringing activity". It could mean anything from "tool that could be used to infringe" to "material that is being copied in an infringing manner even if it isn't infringing". The former reading would make this a valid take-down while the latter reading would make this an invalidly formed take-down. The former reading however has problems because it not only makes every web-browser the "subject of infringing activity" but is also makes it impossible to determine whether any infringing activity occurred. This is because the wording is not "subject of potential infringing activity". Adobe provides and likely has no evidence that rtmpdump was ever actually used to infringe on the claimed works.

      Can anyone shed light on precedent for interpreting the phrase "subject of infringing activity"?

  5. WTF is RTMPE? by Anonymous Coward · · Score: 5, Insightful

    If you're going to post an article about some obscure bullshit nobody's ever heard of, you could at least give people some hint at WTF you're talking about. "RTMPE" doesn't even show up on Wikipedia. God forbid you elaborate your terse, two sentence summary.

    1. Re:WTF is RTMPE? by Anonymous Coward · · Score: 3, Insightful

      You're missing the point. Providing an introduction to what you're about to discuss is covered in probably 5th grade English. It's pretty basic shit.

      If the "editor" or submitter wanted me to take their information seriously they should have given some idea of what they were talking about. As it stands, all I got out of the summary was "OMG! Here are some links to illegal content on torrent sites." If it's as important as they seem to think, maybe they should expend the extra 30 seconds of effort and explain why I should give a shit. As it stands, illegal stuff on a torrent site isn't very earth shattering news.

    2. Re:WTF is RTMPE? by Darkness404 · · Score: 4, Informative

      Clean room reverse engineering is where you reverse engineer things using no code from the project you are attempting to emulate. This is used to make sure your project is 100% legal.

      --
      Taxation is legalized theft, no more, no less.
    3. Re:WTF is RTMPE? by hazem · · Score: 5, Insightful

      It's a common problem with the summaries on slashdot that less-common acronyms are not explained. The world of nerds is pretty vast and it's impossible for all of us to keep up with every possible acronym, system, software, etc.

      It would have been trivial to add ", a proprietary protocol developed by Adobe Systems for streaming audio, video and data over the Internet," right after the first instance of RTMPE and it would have made the summary much more useful and informative.

  6. FOSDEM talk about the reverse engineering work by Anonymous Coward · · Score: 3, Informative

    Rob Savoye (long time GNU developer) talks at FOSDEM 2009 about how he did the cleanroom reverse engineering of RTMP, on which rtmpdump is based.

    Also he mentions about how wireshark includes an RTMP decoder based on his work.

    http://www.fosdem.org/2009/interview/rob+savoye

    Can't seem to find the link to the video of the actual talk, but it must be somewhere around there.

    http://www.fosdem.org/2009/schedule/events/reverse_engineering

    1. Re:FOSDEM talk about the reverse engineering work by Qubit · · Score: 3, Informative

      Can't seem to find the link to the video of the actual talk, but it must be somewhere around there.

      The FOSDEM site doesn't seem to have links to the 2009 videos on their main page, but at least they don't have index files in the appropriate directories on their web server, allowing us to dig it up.

      Reverse Engineering of Proprietary Network Protocols, Tools, and Techniques:
      Ogg Theora (239M)
      Xvid.avi (183M)

      --

      coding is life /* the rest is */
  7. RTMPE? WTF! by Anonymous Coward · · Score: 2, Informative

    OK WTF is that all about and should I care?

    Subbys, please don't assume everyone reading your article is as clued up as you and do try and add a little explanation to your text - especially if you use abbreviations.

    Yeah, I could Google it, but that would be like needing an encyclopedia by your side just to read a newspaper.

    1. Re:RTMPE? WTF! by Qubit · · Score: 5, Informative

      OK WTF is that all about...

      RTMP is the Real Time Messaging Protocol that Adobe has developed for streaming stuff over the Internet.

      Red5 is a Free Software (LGPL) implementation of the RTMP.

      Cygnal is the Gnash project's RTMP server (also Free Software).

      Also see more docs on RTMP on the Gnash wiki, and RTMPE on this other wiki.

      ... and should I care?

      Would you like to have control over the software that you run and use? Are you concerned about your software and/or hardware implementing things like the Broadcast Flag? Do you believe in Free Software because it gives you control over your computer?

      If you answered "yes" to any of those questions, then you probably should care, as what's going on right now is making it difficult or impossible for you to run Free Software (or even to pick software) to interact with the RTMP protocol -- a protocol that a given website might require you to use to interact with their media content.

      --

      coding is life /* the rest is */
  8. Define acronyms in the article! by bertok · · Score: 4, Informative

    Clearly, Slashdot editors are strategically shaved monkeys trained to click "accept" or "reject" in exchange for bananas.

    Define obscure acronyms in the articles!

    RTMP is the Real Time Messaging Protocol used by Adobe Flash

  9. seeding by Sir_Lewk · · Score: 2

    59KB is kind of absurdly small to justify a torrent, but what the hell, I'll seed it.

    --
    "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
  10. Re:The OP doesn't know what "clean room" means by Jurily · · Score: 5, Informative

    The developer of the clean implementation does not see one byte of the original code, onnly the reversed specs. This is how the original IBM BIOS was cleaned, allowing the PC explosion.

  11. Vote for it by masshuu · · Score: 2, Interesting

    We need people to nominate it on sourceforge

    heres a handy dandy link(everyone who reads this should vote for it):
    http://sourceforge.net/community/cca09/nominate/?project_name=rtmpdump&project_url=http://sourceforge.net/projects/rtmpdump/"

    --
    O.o
  12. Academic RTMP discussion? by Qubit · · Score: 3, Insightful

    Just as Prof. David Touretzky has his Gallery of DeCSS Descramblers, perhaps some other CS Prof would like to put up a website talking about the protocol?

    I haven't looked at the code yet, but I'd assume that the bulk of it is considered acceptable by Adobe. So what small piece of it is the target of Adobe's DMCA takedown? Is it something that we can put on a T-shirt? :-)

    --

    coding is life /* the rest is */
  13. Re:The OP doesn't know what "clean room" means by KlomDark · · Score: 5, Funny

    That's not what my mom told me a "clean room" meant.

  14. Re:Someone doesn't know what "clean room" means by Adrian+Lopez · · Score: 3, Informative

    Someone doesn't know what "clean room" means

    Evidently, you don't. It's really quite simple: Party A looks at the rtmpdump source code and writes a document describing the protocol at the level necessary to create a compatible implementation. Party B looks at the document describing the protocol and creates an implementation of the protocol that contains no source code from rtmpdump. Party B now has a clean-room implementation of RTMPE.

    --
    "In prison you just have to shut your eyes and take it. Here you have to shut your eyes and give it."
  15. Importation of the reimplementation by tepples · · Score: 3, Informative

    That is easy to deal with, just hand off the spec to a developer outside the USA. The DMCA does not matter anywhere else.

    Unless other major developed countries have legislation substantially equivalent to 17 USC 1201, as MichaelSmith pointed out. France has DADVSI, for instance. The United States government has been pushing such legislation as part of "free trade" agreements with several countries. And even if the spec is reimplemented in a country with no DMCA-alike, it also matters once the implementation is imported into the United States.

  16. more detailed info on the RTMPdump DMCA takedown by Anonymous Coward · · Score: 3, Informative

    Here is some more detailed info on the RTMPdump DMCA takedown.

    http://linuxcentre.net/rtmpdump-can-be-used-to-download-copyrighted-works-like-a-web-browser/

  17. Re:What!? by JadeNB · · Score: 4, Funny

    What in the hell is this!? Ten links to d

    Wow, apoplexy induced by the poor summary killed the anonymous coward!

    (OK, so it's not quite as punchy as “Video killed the radio star” .)

  18. Re:Someone doesn't know what "clean room" means by jonaskoelker · · Score: 2, Insightful

    So in other words,

    1. party A translates source code to English
    2. party B translates English into source code
    3. the IP is lost in translation

    Right?

  19. Re:The OP doesn't know what "clean room" means by CaptSolo · · Score: 4, Informative

    Here's the DMCA takedown notice issued to the rtmpdump project:

    http://www.chillingeffects.org/anticircumvention/notice.cgi?NoticeID=25159

    Note that they are just claiming the ability to download copyrighted content as the reason for takedown (will we see a DMCA notice for IE and Firefox soon?). They might as easily use the same "reason" to issue notices to projects implementing this clean room specification.

  20. Re:The OP doesn't know what "clean room" means by stonecypher · · Score: 3, Informative

    You're not correct. Clean room is legally carefully defined. It means reverse engineering a protocol or specification with no access to any outside information of any form. The germane importance of clean room is to prove that no tainted or protected information was used, as it clearly is in this case. Clean room requires an enormous amount of documentation which has not been produced here. This is not a clean room reimplementation by any stretch of the imagination.

    You can get a clearer idea of the issues by reading about how Compaq defended itself against IBM when cloning the IBM PC BIOS, because it had carefully kept all documentation necessary to prove that its reimplementation was clean room, which is why IBM couldn't stop them from opening the PC clone market.

    It's a far stronger statement than "no access to original code", which is effectively meaningless: you get caught ripping code off, you just write it again while looking at the ripoff? You do realize that'd entirely destroy every protection the GPL affords, don't you?

    Clueless. Please don't pretend to yourself that you know what clean room means. Grandparent poster was correct. You are not.

    --
    StoneCypher is Full of BS
  21. Re:Let's move forward! by Psyborgue · · Score: 2, Funny

    Vorbis is ironically very very successful in xbox games and windows games in general. It seems even M$ has a hard time arguing the quality is superior.

  22. Copyrights, not patents by mspohr · · Score: 2, Informative
    Copyrights, not patents

    Clean room is a way to make sure that you don't have any copyrighted code in your project. This will prevent a programmer from 'inadvertently' including a copyrighted code sequence in his new implementation.

    However, it does nothing to protect against patents on methods in the code. If the patented methods are reproduced in the new code, they will still have patent issues.

    --
    I don't read your sig. Why are you reading mine?
  23. RTMPE nothing more effective than SSL by lkcl · · Score: 2, Informative

    i've updated the RTMPE.txt document, after doing some analysis this morning. there are two aspects to it: one is an end-to-end secrecy algorithm that is similar to SSL; the other aspect links the size and a hash of the original SWF file (through which the content is supposed to be streamed) into the handshake process.

    there are no passwords used. there is no security. there is no authentication.

    conclusion: RTMPE is definitely not a copyright protection mechanism. all the information needed to obtain the content is publicly available.

    1. Re:RTMPE nothing more effective than SSL by Grendel+Drago · · Score: 2, Interesting

      conclusion: RTMPE is definitely not a copyright protection mechanism. all the information needed to obtain the content is publicly available.

      Sadly, I don't think the former doesn't follow from the latter--you don't need to be a good or even plausible system to be considered a copyright protection mechanism.

      By the way--thank you for doing this work. It's usually pretty thankless, and it has the potential to piss off armies of lawyers. Thank you.

      --
      Laws do not persuade just because they threaten. --Seneca
  24. A more human-readable summary. by Grendel+Drago · · Score: 3, Informative

    I, also, was confused. This is the issue, as I understand it after reading some of the links.

    Copyright holders want to be able to paste something resembling their previous business model onto the internet. The urge is understandable, but it's not really a plausible goal--consider the hoops that had to be jumped to get books on the Kindle--so we see attempts to enforce the business model with laws rather than code.

    More concretely, if you're just sending a regular old HTTP request to get some flash video, it's vulnerable to a trivial replay attack--just resend your request from your downloader. Adding cookies makes the replay attack only slightly less trivial. So, Adobe engineered their own (presumably obfuscated; I haven't looked) protocol, RTMP. It was reverse-engineered. Adobe then released an encrypted variant of RTMP, RTMPE.

    RTMPE was, of course, reverse-engineered, but because it used cryptography, it's apparently covered under the DMCA, and so Adobe can sue people who explain how to get around it.

    The fundamental problem is that data is being sent to an untrusted player on an uncontrolled host. Without something like Trusted Computing, it's impossible to completely prevent users from doing what they want with data that you send to them--which is why this is a DRM issue.

    In short, it's the same DRM story. Companies try to use bound-to-fail technologies to prevent users from doing what they want with data on their own machines--usually, this means copying it--and when this inevitably fails, they start suing people. We're at the "suing people" stage.

    --
    Laws do not persuade just because they threaten. --Seneca
  25. Re:The OP doesn't know what "clean room" means by Adrian+Lopez · · Score: 2, Informative

    Clean room is legally carefully defined.

    [citation needed]

    It's not as if copyright law explicitly makes exceptions for "clean room" procedures. It's something the judge decides on a case by case basis and is informed by precedent, and therefore is more like fair use -- which is hardly the most precise of definitions.

    It means reverse engineering a protocol or specification with no access to any outside information of any form.

    No. From Sony v Connectix, on appeal:

    The question then becomes whether the methods by which Connectix reverse-engineered the Sony BIOS were necessary to gain access to the unprotected functional elements within the program. We conclude that they were. Connectix employed several methods of reverse engineering (observation and observation with partial disassembly) each of which required Connectix to make intermediate copies of copyrighted material. Neither of these methods renders fair use protection inapplicable. Sega expressly sanctioned [p*604] disassembly. See id. at 1527-28. We see no reason to distinguish observation of copyrighted software in an emulated computer environment. Both methods require the reverse engineer to copy protected as well as unprotected elements of the computer program. Because this intermediate copying is the gravamen of the intermediate infringement claim, see 17 U.S.C. 106(1); Sega, 977 F.2d at 1518-19, and both methods of reverse engineering require it, we find no reason inherent in these methods to prefer one to another as a matter of copyright law. Connectix presented evidence that it observed the Sony BIOS in an emulated environment to observe the functional aspects of the Sony BIOS. When this method of reverse engineering was unsuccessful, Connectix engineers disassembled discrete portions of the Sony BIOS to view directly the ideas contained therein. We conclude that intermediate copying in this manner was "necessary" within the meaning of Sega.

    --
    "In prison you just have to shut your eyes and take it. Here you have to shut your eyes and give it."
  26. Re:The OP doesn't know what "clean room" means by Adrian+Lopez · · Score: 2, Informative

    Interesting. According to Wikipedia, rtmpdump included encryption keys taken from Adobe Flash, which unfortunately means Adobe most likely has a legitimate DMCA case against it and any other implementation that were to include a copy of the encryption keys. Clean rooming would be irrelevant if the actual encryption keys were included in any other project.

    --
    "In prison you just have to shut your eyes and take it. Here you have to shut your eyes and give it."
  27. Re:The OP doesn't know what "clean room" means by CaptSolo · · Score: 2, Interesting

    Clean rooming would be irrelevant if the actual encryption keys were included in any other project.

    What if the software did not include the keys itself but provided an option to pull them from a known location on the internet (or maybe from torrents using a magnet link)?