Kim Dotcom's Mega Fileshare Service Riddled With Security Holes
twoheadedboy writes "Kim Dotcom launched his new project Mega on Sunday, claiming it was to be 'the privacy company.' But it might not be so private after all, as security professionals have ripped it to shreds. There are numerous problems with how encryption is handled, an XSS flaw and users can't change their passwords, they say. But there are suspicions Mega is handing out encryption keys to users and touting strong security to cover its own back. After all, if Kim Dotcom and Co don't know what goes on the site, they might not be liable for copyright prosecutions, as they were for Megaupload, Mega's preprocessor." On this front, reader mask.of.sanity points out a tool in development called MegaCracker that could reveal passwords as users sign up for the site.
Clearly he is helping the FBI set up a honeypot in exchange for his freedom.
The SSL encryption being used on Mega appears to be 1024-bit encryption, which can be broken with far greater ease than 2048-bit encryption viewed as best-practice amongst experts.
Isn't this kind of nitpicking? Isn't the solution to this like changing a value in your configuration or properties files on both sides and watching performance drop a bit? I guess when you have that many users sign up at the drop of a hat, you're expected to have unblemished perfection available for all. But I don't really see this "riddled with security holes." Instead I'd say "needs improvement before you trust it with anything important." As a software developer, I'm prone to give people a break but I guess if your site isn't prepared to be hosted at DEFCON you're fodder.
... did he try to change his first name to "The Bomb" but was blocked by the TSA? :-)
I mean, some of these points are valid like I have no idea why you would choose to do this in JavaScript but I guess if you want it to run entirely contained within the browser you don't have much choice unless you start to get into platform specific things like nacl.
Sort of offtopic but why are we following this so closely? I mean, I understand he's challenging world governments by doing this again but do we have to watch every little step and misstep of Kim Dotcom? He's starting to rub me the wrong way as a sort of attention whore. The longer his fifteen minutes of fame last the bigger embarrassment he's going to have in the 24 hour news cycle's circle of hate. Ugh, and his name is something straight out of Idiocracy
My work here is dung.
"Security folk have also flagged problems with the fact that Mega uses a web browser to send encryption information, opening avenues for attackers to intercept keys by breaking SSL or by commandeering Mega's servers, some of which are said to be located in the United States."
Err, hang on.. I could swear I read a while ago that the whole point of all this was to have servers that are OUTSIDE of US ?
What's going on here?
While it seems likely that Mega's encryption is not exactly the creme de la creme of crypto implementations, I have also read some pretty dubious assessments of its cryptography, for example the review at Ars Technica which spreads more FUD than facts. Or take the claim in one of the above articles claims that the FBI is probably already typing their search warrants, which ignores the fact that this time not a single server is located within the US.
Perhaps some writers on tech news sites fear about their ad revenues?
I expect this means "predecessor". The editors are actually paid in money to click "submit" without reading or understanding the articles?
Who cares if you can intercept the private encryption key (not often you get to say that) - seriously, noone with a brain is going to be uploading sensitive data to Mega and expecting them to take care of it. There are no multinationals sitting in the wings waiting to outsource storage of their customer's credit card numbers to Mega. This is just supposed to be Megaupload minus the ability for the recording industry to demand all copies of the same file get deleted and minus the ability for the FBI to be able to ask Mega a question and get an answer about what's stored.
This is waht it looks like. The same thing has never been said about rapidshare, uploaded, bitshare, dropbox or sugarsync, and Mega hasn't realy been out yet, has already about a million registered users, and it already is the target of a disinformation campaign that no other service has been subjected to date.
It does smell fishy and it looks like Kim DotCom does scare some people.
http://www.i2p2.de/bittorrent.html
"When information is power, privacy is freedom" - Jah-Wren Ryel
You can encypher your data before uploading on *any* site. At that point they are all equally secure. Kim's claim was that Mega was more secure by design.
However, the claim is completely broken. Mega is using a public/private key pair - generated by the web site - and so their servers actually *do* know both your keys, and *can* decrypt your data. So, basically, it is no more secure than dropbox.
There is a global shortage of passwords as we have reached peak passwords. It is time to find alternative ways to secure our security.
According to http://arstechnica.com/business/2013/01/megabad-a-quick-look-at-the-state-of-megas-encryption/ it uses javascript. Which would be client side.
It says on their developer page:
This master key is stored on MEGA's servers, encrypted with a hash derived from the user's login password. ... In addition to the symmetric key, each user account has a 2048 bit RSA key pair to securely receive data. Its private component is stored encrypted with the user's symmetric master key.
According to that, the keys are stored on the server, but it's encrypted with a hash of your password... I understand that all they would have to do is store the generated key somewhere and have full access to all your files if they wanted. I'm not debating that.
The part I'm trying to figure out is:
The cryptographic integrity of MEGA's user data is important to us. We can therefore not allow you to distribute or make available your client application without going through us. We will perform a code audit of your product and promote/distribute it on our site.
So they want full access to the source of your client "to ensure the integrity of MEGA's user data" but for some reason I keep reading that as though they know the properly coded application could damage their site.
Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
But that's the point. If they can in theory, then the site is not secure.
If they can in theory, then they can be forced to do so by a court order. Capture your password the next time you log in, decrypt your keys, then decrypt your files. If the courts can compel Mega to deliver unencrypted files as evidence, then the site is useless.
Size aside - it's not like there aren't (client-side) encrypted services out there already: Spider Oak or Wuala, for example.
The security does not have to be good. The purpose of Mega is to disable the RIAA and MPAA's abilities to see what is shared.
It doesn't matter how bad the encryption is. If the MPAA or RIAA break the encryption on Mega's files they are violating the DMCA plain and simple.
Mega is using the RIAA and MPAA's weapons against them.
Did the person who wrote the second half of that sentence, ever read the first part? Because the first part of your sentence says exactly what the lesson was, and Dotcom trying again is evidence that he did learn it.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
It's frequently wrong to assume malice when getting sloppy in a rush to deliver explains everything.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Wait, I take that back. The private key is indeed stored on the server. So the only thing it, sort of, prevents is mass analysis of data (assuming they dont pull data analysis on the client side)
Nevermind where the keys are generated. Obviously all of the pertinent keys are stored server-side. How else can you move to a new computer and still access all of your data with just your Mega login and password? Basically your password is the key. And the password security is abysmal. During signup, the confirmation link that they send you contains a hash of your login password, among other things. There is a password cracker program freely available that will recover your password from this hash value in a matter of a short while. Obviously they have all of this information stored (they're the ones who sent you the confirmation email, they're the ones who validate your password day-to-day when you login). So their claim that they can't access your data or be compelled to turn over your data is just nonsense. The encryption is basically a toy because it's designed incorrectly. It's not just FUD.
Because the other side isnt constantly moving to goal posts? IMHO any work that doesnt fall back into the public domain as the law was written when the work was created is FRAUD. Save your righteousness for people who deserve it.
Good-bye
Not true. Have you actually checked the code, or do you just repeat the nonsense mentioned on many sites?
I haven't done a thorough analysis of the code / traffic so far, but from what I've seen so far the key is generated on the client-side using this Javascript, namely SJCL (Stanford Javascript Crypto Library). For example this is the keygen: https://eu.static.mega.co.nz/keygen_0.js, this is the RSA implementation https://eu.static.mega.co.nz/rsa_0.js and so on. Once the key is generated on client, the private key is encrypted with the user's password (which is also kept on client-side only), and this (public and encrypted private key) is sent to Mega server. On the next login the server sends the encrypted key (after some initial handshake, described in the developer docs) and the key is decrypted on the client-side again.
Please, explain to me how the server knows both my keys, how can they decrypt the data?
Obviously, there could be a malware, or they could send the password to the server, but let's suppose that's not the case.