3 ms·
> To be able to encrypt the files, it has to store the private key (and obviously the public key) somewhere on the computer Why do you say that? The very purp
by peeters 12y ago
> To be able to encrypt the files, it has to store the private key (and obviously the public key) somewhere on the computer
Why do you say that? The very purpose of public-key crypto is so that you can send only the public key, have the other end encrypt with that, while you hold onto the private key which is the only thing that can decrypt it.
No guarantee this uses public key for the crypto though. From what I know, a symmetric key is more suitable to encrypting huge amounts of data. Could be wrong about that though.
- alexggordon 12y agoMy mistake. I said encrypt when I should have said decrypt. You are correct though, symmetric key encryption would be better for this, and utilizing the answer giving by kolinko below, I wouldn't be surprised if they did use a different key for each file.
- HackinOut 12y agoYou only need to decrypt once the payment has been received, so the private key doesn't need to be sent to the infected machine before that. Encrypt/Decrypt, it seems to be a moot point. The "decrypt one file for free" feature seems to be specific to CryptoWall which, some have reported, do not use symmetric encryption like CryptoLocker. CryptoLocker stores symmetric keys for each file on the infected machine, encrypt those with a public key and when the payment is received, send the private key from the C&C Server. I would say it's very unlikely CryptoWall would store remotely a private key per file. That could mean a lot of information to be transferred over the wire. Probably because of using only asymmetric (slow) encryption, CryptoWall apparently only encrypt small files completely, and only a piece of the larger ones. One way the "decrypt one file for free" feature might work is by actually uploading the file (or the the encrypted piece of file) to the C&C Server, decrypting it remotely and sending it back. But the feature is definitely worth investigating. https://blog.fortinet.com/post/cryptowall-another-ransomware-menace https://blog.fortinet.com/post/cryptowall-another-ransomware... http://stopmalvertising.com/malware-reports/cryptowall-behind-the-scenes.html http://stopmalvertising.com/malware-reports/cryptowall-behin...
- chimeracoder 12y ago> From what I know, a symmetric key is more suitable to encrypting huge amounts of data. Symmetric key encryption is more efficient, but the typical approach when using public key encryption with large files is to use symmetric key encryption, then encrypt the symmetric key with the public key, and then transmit that over the wire. I imagine that the process used in this software is the following: 1. Generate symmetric key 2. Encrypt symmetric key using (known) public key (the private key remains on the malware owner's servers) 3. Delete the unencrypted symmetric key. If these three steps are done before the user is told that their files have been held hostage, then by the time that they know they are infected, it's too late to do any analysis of the program, sniff memory, etc. (at best they'll be able to recover the public key and the encrypted symmetric key, which is useless without the corresponding private key). As soon as the ransom is paid, the malware owners will decrypt the symmetric key (using their private key), and send that back to the victim[0]. This could, of course, also use a different symmetric key for each file as well, in addition to the above. [0] In theory, the malware owners don't even need to store anything per-victim, since the encrypted symmetric key can remain "safely" with the users the entire time. All they need to store is the single master private key.