Home arrow Interviews arrow On practical implementations in cryptovirology and so on
Saturday, 17 May 2008
 
 
On practical implementations in cryptovirology and so on PDF Print E-mail
User Rating: / 4
PoorBest 
Written by Giulia Biagini   
Saturday, 02 June 2007
 
The following is an interview to Elia Florio, a Symantec Security Response Engineer, about the interactions between two apparently disjoint areas: cryptography and virology.
 
In particular, this work originates from the idea that, in a practical context, it is appreciable to have feedbacks from the wild, instead of being limited to a theoretical model. And it's just because of the chaos present in the security outlook that I thought it was useful to show the confluence points of these two subjects, giving particular attention to their implementations.
 
I would like to thank Elia Florio for his precious collaboration, and Andrea Lelli for his help.
 
 
Keywords: cryptography, cryptovirology, polymorphic virus, crypto-counters, ransomwares
 
 
 
 

With the evolution of the defense techniques available to modern computers (antivirus, firewalls and so on), it come spontaneous to think that there has been a parallel development also in the intrusion and anti-detection ones present in malwares. In which way a field like cryptography contributed in both this changes? Can you outline an historical reference?
 

Cryptography is the art of protecting data and keeping secrets. It is a powerful data defence technique in digital ages; however it could be used in good ways but also in bad ways. Every person uses crypto applications everyday to protect passwords, credit cards, bank transactions. In the same way computer viruses and hackers employ modern crypto algorithms to hide code, to steal confidential data and to communicate securely without being observed.
We usually think of cryptography only with modern Windows viruses, but old MS-DOS viruses first used cryptography long time ago. Cascade, Flip, Tequila and many old MS-DOS viruses were using encryption methods to obfuscate their code back in 1980s years. Initially viruses started to use simple static encryption algorithm just to hide text and strings. Next, virus writers moved to variable-key encryption algorithms to obfuscate the whole virus body and to generate different variants by changing the encryption key after each infection. Finally in 1990s we observed the raise of polymorphic virus, a combination of variable-key encryption with code permutation and manipulation techniques. Modern viruses still use similar encryption techniques, but ported to Windows world.
 
 
 
Lately, over the well known polymorphic virus, we hear more often about crypto-viruses. They are a sort of malwares which employ the asymmetric key cryptography for fraudulent purposes; one of the more famous peculiarity is that of encrypting private data with the public key contained inside them and demand for a ransom in return of the matching secret key.
There are a lot of metropolitan legends about the spreading of this kind of prototypes; do you know any reliable information about them? Do they relate to private or far-reaching (banks etc.) organizations?
 
 
Unfortunately those types of malware are not just a legend. They are in the wild and we usually they are called “ransomware”. Those malicious programs are special Trojans that once executed attempt to encrypt many important files on the local hard drive and ask for money. It’s a kind of digital ransom where users’ files are held in hostage by the creator of the Trojan. Here a brief description of the most common ransomware malware observed in the wild recently:

Trojan.Gpcoder – one of the first ransomware observed. It encrypts several types of files and next ask user to send an email to a specific address to obtain the decryption tool;
Trojan.Cryzip – encrypts files by creating a password protected zip file. The password is hardcoded in the Trojan code.
Trojan.Skowr – encrypts files and also attempts to change Administrator password of the machine.
Trojan.Randsom.A – this Trojan does not encrypt file; instead it display a message saying that it will delete one file every 30 minutes and will stop only when the user digits a specific unlock code. To obtain the unlock code, users were asked to pay $10,99 to a specific account.
 
 
 
And what about the other theoretical schemes which employ cryptography? One of the more famous is that used in crypto-counters, particular counters accessible to the virus for writing but illegible by the other users/processes aside from its programmer. In the practical outlook, are they employed?
 
 
I’m not aware of any practical crypto-counters implementation in recent viruses. Some viruses may use simple counters to track and eventually stop the propagation after a specific number of infections, but nothing really sophisticated as crypto-counters. In the past we’ve seen a variant of Sober worm using a crypto-algorithm to generate pseudo-random URLs where the next version of the worm would be downloaded from. The algorithm was able to generate URLs based on the date and this trick was challenging AV researchers to track the exact site where the next variant of Sober would be released. In this example only the author was able to pre-calculate the URL for any date and he has been known exactly where and when the next variant should be released.

 
 
One of the problems that features practical implementations in the cryptology fields is the tradeoff efficiency-velocity. In the viruses that use cryptography this relation seems to me absolutely decisive, in which way it can be solved? What are the most frequent algorithms?
 
 
Simple mathematical operators (e.g. XOR, ADD/SUB, ROL/ROR), substitution and permutation ciphers are probably the most used functions for encryption by common malware. However we’ve seen recently also samples using common algorithms like ROT13, RC4, TEA, DES and also RSA.
For example Trojan.Linkoptimizer gained some popularity because every single text string included in the body was encrypted with RC4 and using a different 8-bit key.
 
 

What are the future developments expected in the interactions between cryptology and virology fields? 
 
 
It’s difficult to make exact predictions, since the computer world is always in rapid evolution. I think we will see Backdoor threats incrementing the usage of asymmetric cryptography which effectively helps hackers to avoid to be caught and keeps the communication channel safe and secret. Probably there would be also developments in banking Trojans families which constantly look for new methods to break or compromise the security layers introduced by the banks to protect online transactions. In addition to this the distribution of 64-bit platforms and the increase of computational power in next years will allow virus to use more complex encryption algorithms.
 


Comments Index (Total Messages: 1)
yes Written by Guest on 2007-08-28 14:02:50

Powered by a Zone-H(ified) version of AkoComment 3.0!


DISCLAIMER: Forum postings are the opinion of the posting author alone, and should not be taken as the opinion of Fermath.info staff. The   author is entirely and solely responsible for all content that he/she uploads, posts, or otherwise transmits via the website. Fermath.info staff is not responsible for such content. However, Fermath.info staff shall have the right, but not the obligation, to delete, move, or edit any content that violates this agreement or is otherwise objectionable as determined by Fermath.info staff in its sole discretion and without notice.
 
 
Top! Top!