Kaspersky Lab has released important details of the inner workings of the nasty Gpcode.ag "ransom" Trojan that appeared in early June.
As well as being a new example of the growing scourge of Trojans which encrypt PC data files until a ransom is paid in exchange for a key, the malware signals an the alarming increase in the sophistication of the 660-bit RSA encryption employed.
In fact, only days before, the Gpcode.ae and .af variants had appeared with 260- and 330-bit encryption, so the step up in complexity was large and unexpected.
Discovered exclusively by Kaspersky, the Trojan family was said to have been circulating across its country of origin, Russia, from the early months of this year.
Kaspersky has now confirmed that Gpcode.ag spread initially through spam, containing an attachment. If clicked on, infection involved the calling of a Trojan installer, Trojan-Downloader.Win32.Small.crb, which in turn downloaded Gpcode from a website.
Once it had run and encrypted any one or combination of 80 file-types on the PC, Gpcode and the Trojan would delete themselves to confound detection.
Users attempting to open files would be presented with a ransom demand.
"Some files are coded by RSA method. To buy decoder mail: email@example.com with subject: REPLY," it said. The ransom was to be sent to an account at web portal Yandex, a Russian equivalent to PayPal.
The deeper significance of this variant of Gpcode is its use of public key encryption. In its website explanation, Kaspersky charts the increasing complexity of the encryption used by the malware's authors with each subsequent variant. Every time the length of the private encryption key used to scramble data is increased, more computing power is required to discover the key using brute force.
At some point, this method becomes useless, requiring too much computing resource or time -- potentially tens of years or more -- to succeed.
The key issue is how Kaspersky cracked the encryption on Gpcode, something the company has refused to discuss, presumably for fear of alerting the author to its techniques.
According to Kaspersky, cracking the 330-bit code of Gpcode took a remarkably swift 10 hours, but it admits to being intimidated by the sudden appearance of the 660-bit version.
"Even using a computer with a 2.2 GHz processor it would take 30 years to break such a key. We released detection and decryption routines on the day that Gpcode.ag was detected. How did we do this? Well, that's a trade secret. And what does the future hold? That's not an easy or a pleasant question," the website notes relate.