FlashComGuru Home InfluxisCDNImediaseeUvault
                                                                                       Forum Index | Active Topics | Register
                                                                                                          List Overview | List Archives
                                                                                                                           About this site | Advertise
 

home

Adobe AIR (10)
Applications (39)
Books & Training (11)
Collaboration (18)
Components (10)
Events (79)
Flash Player (33)
Flex (38)
FMS (109)
General (123)
Hosting (5)
Jobs (16)
Off topic (36)
OSMF (3)
Press Releases (23)
Site Check (11)
Tools (53)
Videos & Players (72)

Follow me on Twitter

 
Here's a story that is making the round on various tech news sites at the moment. On May 8th 2009, Adobe issued a takedown notice to SourceForge Inc, asking them to remove a project called rtmpdump from their website as - according to Adobe - it can be used to circumvent copyright protection measures. Even though the takedown notice doesn't mention it, rtmpdump can be used to record streamed content that is delivered via RTMP and (and this is the important part) RTMPE as well. The full wording of the notice can be found here. RTMPE is of course the encrypted flavour of RTMP, Adobe's real time messaging protocol (for which they apparently hold a patent).

As many of you will know, RTMP itself has been widely reverse engineered and documented, which made alternative RTMP servers such as Wowza and Red5 possible. Adobe have also recently announced that the RTMP specs will be made publicly available very soon, and so far I have heard of no action having ever been taken against anyone that implemented just RTMP. Quite clearly, the fuss is about RTMPE, not RTMP. It is the fact that rtmpdump can circumvent certain access controls that made Adobe react. By posing as a Flash Player, rtmpdump can connect to Flash Media Server and successfully pull and record an encrypted stream. In combination with the get_iplayer project rtmpdump made it possible to record all kinds of RTMP based content from sites such as channel4.com and the BBC iPlayer. The version of rtmpdump used within get_iplayer has now been removed and been replaced with a forked version called flvstreamer.

Flvstreamer only supports RTMP based delivery, it no longer works with RTMPE. SourceForge has also removed the project.

Of course all this comes way too late, and the RTME specs are now widely publicised and available to anyone to view - and implement it into new tools. No doubt it will not take long for alternatives to rtmpdump to emerge. What's more, it seems that Adobe has in fact drawn a whole lot of attention to this topic than it would have received had the takedown notice not been issued.

I cannot help but admire the efforts of the open source community. I think it is important that such weaknesses are made public so that improvements can be made, and standards raised. It now appears that RTMPE, while being able to offer an SSL-equivalent encryption strength during transmission, can be circumvented due to limitations in the handshake and SWF Verification features. It is clear that SWF-Verification is not totally secure since rtmpdump can pose as the authorised SWF - which it obviously isn't.

In this document which seems to originate from the author of rtmpdump and his close friends, Adobe receives quite a battering. Here's an excerpt:

"RTMPE is definitely not a 'Copyright Protection' mechanism.
An analysis of RTMPE [...] shows that RTMPE does nothing more than what SSL already does (provide end-to-end secrecy, except without the protection against man-in-the-middle attacks [...] and simply mathematically links a publicly-downloadable and publicly-obtainable SWF file to the connection.
Bottom line: All the information required to obtain the content is publicly available. There is no 'security'.
If the information isn't publicly available (such as the SWF file to be executed in the web browser) then the content cannot be obtained, either."

Interesting stuff. While I am no encryption expert I think I have a grasp on the weaknesses of this system.

I'm hoping to get an email interview with the author of rtmpdump set up very shortly. If you have any specific questions that you'd like me to put to him then please leave a comment below.

Comments
[Add Comment]
Seems interesting. There is this FMS security guide that Adobe published a while ago which describes some methods like SWF verification, referer, pageURL, ip check, token system etc. including RTMPE. Stefan, do you think all these are going to thrash ?

Besides, I think it is impossible to fully protect a media file. There are screen capturers and audio recorders, and lots of other tools.

Waiting forward for the interview.
# Posted By Mehmet Alpsoy | 5/26/09 1:47 PM
I don't think these features are obsolete and once combined they offer some protection for your media - but as it has been proven they are maybe easier to circumvent than expected. I'm quite sure that unless the rtmpdump tool can also spoof IPs, client.agent and referer properties there are still ways to lock the content down a bit more. But hearing that RTMPE and SWF Verification can be worked around in this way is surely of some concern to some people.
# Posted By Stefan Richter | 5/26/09 1:51 PM
This just makes me even more steadfast in my position of not supporting any RTMP/T/E/S (and future RTMFP) enabled software other than FMS and the Flashplayer. We've been discussing the legal what-ifs for years now, and this action on Adobe's part makes the message pretty clear... Adobe will exercise their right of ownership when they feel it's in their best interest. Clearly in this case, Adobe decided it was in their best interest to have rtmpdump removed. My guess (and it's just that) is that Adobe's action is a result of complaints from big money customers, and has nothing to do with the underlying issue itself.

So, what does that mean for RTMP and open source? Same as it did yesterday. Published or not, Adobe has patent rights to RTMP/T/E/S, so if you implement it in your software, you do so with the understanding you may get a similar letter from Adobe legal.
# Posted By Jay Charles | 5/26/09 1:54 PM
It was only a matter of time, but in any case rtmptdump can only dump simple RTMP(E) connections. Implementing some "intelligence" in the SWF <-> FMS communication prevents stream grabbing utility working.
# Posted By Fabio Sonnati | 5/26/09 6:39 PM
@jay That's a good point. I can't see it happening as it would be a PR disaster but legally I would not bet on anyone defending the likes of non-Adobe owned RTMP projects. Apparently they hold a patent, and if they felt like it then they may defend it. Of course that's a different issue, I think here we're talking more about potential copyright issues surrounding the content that's being accessed. As I said though, I think Adobe knows better than to become too heavy handed and the opening of the RTMP specs is a good sign of where things are heading I think. The Flash Platform will only benefit from more choices, which is also why I welcome rtmpdump: it moves the platform ahead and improves its features.

@Fabio, I think a custom callback method or similar misses the point. The rtmpdump author rightly states that RTMPE plus SWF Verification was sold as a secure solution - and if I read the posted documents correctly it seems like a fairly weak mechanism. The onus should not be on the developer to fix holes in the system. Why else didn't Adobe prescribe the need for custom callbacks? The only time I saw that mentioned was in relation to an 'exploit' where an RTMPE connection was attempted (and succeeded) over RTMP for the same piece of content.

I don't think there's such a thing as a 'simple' RTMPE connection. If I put myself in the shoes of an end user deploying RTMPE plus SWF Verification I would assume that that's good enough. And I have a feeling that Adobe themselves thought it was - until now.
# Posted By Stefan Richter | 5/26/09 8:30 PM
well, who can expect good security from adobe? Have we forgotten about the pdf security fiasco?
# Posted By alessandro | 5/26/09 8:55 PM
Ok, here we see that RTMPE is not that secure that Adobe claimed to be. What about Remote Shared Objects ? Are there any hacks for retrieving the RSOs? (Stefan may be it is not concerned with the topic, and if the question rambles the topic just delete this comment).
# Posted By Mehmet Alpsoy | 5/26/09 10:40 PM
@stephan: a small point: rtmp does not "circumvent" SWFverification - it IMPLEMENTS swfverification.

this is a critical distinction. the former implies automatically that rtmpdump is illegal and subversive; the second tells it as it is - that rtmpdump is simply an interoperable tool.

there's a trite phrase that says, "guns don't kill people: people kill people". you _know_ that there's no point in locking up a piece of metal machinery and some gunpowder.

that it was so easy to implement SWFverification and RTMPE should tell you something: that the design of RTMPE and SWFverification is flawed - more specifically, the assumption that purely by trying to be the sole and exclusive implementation, somehow this would make SWFverification "secure".

nothing could be further from the truth. security and mass-distribution of multimedia content are simply mutually exclusively incompatible, and content creators and the designers of content distribution mechanisms are simply going to have to accept this: fact.
# Posted By Luke Kenneth Casson Leighton | 5/27/09 12:30 PM
"If I put myself in the shoes of an end user deploying RTMPE plus SWF Verification I would assume that that's good enough. And I have a feeling that Adobe themselves thought it was - until now."

precisely. by not consulting anyone, by relying on arrogance instead of cryptographic expertise and public peer-review, adobe's flawed design has been shown to be nothing more than what it is: a mish-mash of crypto primitives, the combination of which clashes irresponsibly with what adobe is stating that the mixture is intended to achieve.

it was only a matter of time that these flaws were discovered, but by drawing my attention to RTMPE by threatening one of my peers with a DMCA takedown notice, Adobe GUARANTEED that those flaws would be discovered earlier rather than later.

so, it's finally been noticed that Adobe have lied to their customers - provably and irrefutably lied to them. i don't expect Adobe to thank me for that, but i _do_ expect them to not try it again, by trying to implement yet _another_ failed DRM mechanism. to try that _again_, when they _know_ that it is impossible to achieve, would expose themselves to massive liability and lawsuits, for deception, fraud and mis-selling.
# Posted By Luke Kenneth Casson Leighton | 5/27/09 12:47 PM
Luke:
Adobe did not come up with something entirely new - they simply obfuscated TLS and used an anonymous key exchange. That is well understood from a cryptographic point of view, including the security properties (see appendix F.1.1.1 of RFC 4346).

Besides, what would TLS have given them in this case? It asserts the identity of the server through x509 - which is not relevant if you want to protect the data sent by the server.

For me, there are some unanswered questions:
- how were those "constants" discovered?
- how were the obfuscated locations of the DH keys discovered?
- how is this spec "clean-room"?

Anyway... snake-oil rarely works. That was clear months ago, when Mammoth was published.

Stefan: spoofing agent and referer is trivial - they are arguments to the connect RPC sent by the client.
# Posted By Philipp Hancke | 5/28/09 8:36 AM
Thanks Philipp, great input.

I'm aware that agent and referrer can be spoofed, I was just trying to make the point that there are other measures that can potentially help raise the barrier a little bit.
# Posted By Stefan Richter | 5/28/09 9:02 AM
Stefan,

Good coverage. RTMPe was always just a transport protection mechanism and never provided any file-level encryption to the actual FLV payload.

Adobe is feverishly working on a new version of Flash DRM that will bring file-level encryption to FLV content for playback in the Flash player.

This will be a major inflection point for people using Flash content as RTMPe will be just a memory at that point.

Christopher
clevy@buydrm.com
http://www.buydrm.com
# Posted By Christopher Levy | 5/29/09 5:26 PM
Luke,

Wow I just read some of your comments and was kind of shocked.

I take it you are not a fan of DRM or in the Digital Media business?
# Posted By Christopher Levy | 5/29/09 5:29 PM
There's no doubt that the dumper made its work. Adobe must be ashamed of this breach. And I agree with Stefan. Thanks to opensource community. W/o their efforts this would not understood.
# Posted By Guney | 6/14/09 9:29 PM
It's trendy to knock drm and efforts to protect media against theft in the open source zealot world, but the fact is the deep down reason to create such tools is to steal and thieve content, to bypass laws and commerce and the natural justice of content creators getting paid for their efforts.

You can dress it up in all manner of hippy bullshit, it boils down to a discredited communism type of mindset that thinks everything should be free.

I don't doubt that 99.999% of uses that rtmpdump will end up in are illegal or morally dubious ones.

By putting such tools into open source circulation, all they are doing is pandering to crooks and pirates.
# Posted By Mark Grant | 6/21/09 11:01 PM
Last week I have attended to Adobe's Dynamic Media Solutions and Flash Platform Presentation at Adobe' s Office. Frederic Laporte and Steve Allison were there. When I asked Steve about the RTMP hack, he told me that RTMP v2 was hacked but there was a new version (RTMP v3) which was not hacked and secure yet.

Stefan, what is the version of RTMP you are talking about in this post ? May be this information may be useful.

By the way, I didn't know RTMP had versions.
# Posted By Mehmet Alpsoy | 6/22/09 8:29 AM
hi Mehmet,
you should ask Steve :) I am not aware of any new versions.
# Posted By Stefan Richter | 6/22/09 8:44 AM
Stefan, did you ever get an interview with the author of rtmpdump?

I too am very interested in: -

- how were those "constants" discovered?
- how were the obfuscated locations of the DH keys discovered?
# Posted By Steve Amor | 6/24/09 1:31 PM
we n00bz need help doing this. any luck for us?


-adamryan
# Posted By adam | 11/4/09 10:27 PM