What are exploits and why they are so scary?

Security experts often mention exploits as one of the most serious problems with data and systems safety; although it’s not always clear what the difference is between exploits and the malware in general. We’ll try to explain here.

What is an exploit?

Exploits are a subset of malware. These malicious programs contain data or executable code, which is able to take advantage of one or more vulnerabilities in the software running on a local or remote computer.

Put Simply: You have a browser and there is a vulnerability in it that allow “an arbitrary code” to run (i.e. install and launch some malicious program) on your system without your knowledge. Most often the first step for the attackers is allowing privilege escalation, so they can do anything within the attacked system.

Browsers, along with Flash, Java, and Microsoft Office, are among the most targeted software categories. Being ubiquitous, they are actively explored by security experts and hackers alike, and developers regularly have to release patches to fix vulnerabilities. It’s best if these patches are applied at once, but unfortunately that is not always the case. For instance, you should close all browser tabs or documents to perform an update.

Another problem is exploits for the yet unknown vulnerabilities, discovered and abused by blackhats: so-called zero-days or 0days. It may take a while before the vendors know they have a problem and work it over.

Infection routes

Cybercriminals often prefer exploits over other infection methods like social engineering – which can be hit or miss – the use of vulnerabilities continues to produce the desired results.

There are two ways users can be “fed” exploits. First, by visiting a site that contains malicious exploit code. Second, by opening a seemingly legitimate file with hidden malicious code. As one may easily guess, it’s most likely spam or a phishing email that will bring the exploit in.

As noted in Securelist, exploits are designed to strike specific versions of software that contain vulnerabilities. If the user has that version of the software to open the malicious object, or if a website is using that software to operate, the exploit is triggered.

Once it gains access through the vulnerability, the exploit then loads additional malware from the criminals’ server which performs malicious activity such as stealing personal data, using the computer as part of a botnet to distribute spam or carry out DDoS attacks, or whatever the culprits behind it intend to do.

Exploits pose a threat even for the aware and diligent users who keep their software updated. The reason is a time gap between the discovery of vulnerability and a release of the patch to fix it. During that time, exploits are able to function freely and threaten the security of nearly all Internet users – unless there are automatic tools to prevent exploit attacks installed.

And don’t forget about above mentioned ‘open tabs syndrome’: there’s a price to be paid for update, and not every user is ready to pay it right away when a patch is available.

Exploits run in packs

Exploits are often packed together so that an attacked system is checked against a wide range of vulnerabilities; once one or more are detected, the appropriate exploits enter. Exploit kits also widely use code obfuscation to avoid detection and encrypt URL paths to prevent researchers from unrooting them.

Among the best known are:

Angler – one of the most sophisticated kits on the underground market. This one changed the game after it had begun detecting antivirus and virtual machines (often used by security researchers as honeypots), and deploying encrypted dropper files. It is one of the fastest kits to incorporate newly released zero-days and its malware runs from memory, without having to write to the hard drives of its victims. Technical description of the pack is available here.

Nuclear Pack – hits its victims with Java and Adobe PDF exploits, as well as dropping Caphaw – a notorious banking Trojan. You can read more here.

Neutrino – a Russian-made kit containing a few Java exploits, made headlines last year due to the fact that its owner has put it on sale for a very modest price – $34,000. Most likely it was done following the arrest of a certain Paunch, creator of the next exploit kit we’re going to talk about.

Blackhole Kit – the most prevalent web threat of 2012, it targets vulnerabilities in old versions of browsers such as Firefox, Chrome, Internet Explorer, and Safari as well as many popular plugins like Adobe Flash, Adobe Acrobat, and Java. After a victim is lured or redirected to a landing page, the kit determines what is on the victim’s computers and loads all exploits to which this computer is vulnerable.

Conclusion

Exploits are not always detectable by security software. To successfully detect exploit the security software should employ behavior analysis – it’s the only good way to beat exploits. Malware programs may be plentiful and varied, but most of them have similar behavioral patterns.

Kaspersky Internet Security, as well as other Kaspersky Lab’s flagship products employ a technology which is called Automatic Exploit Prevention and uses the information about the most typical behavior of the known exploits. The characteristic behaviour of such malicious programs helps to prevent infection even in the case of a previously unknown zero-day vulnerability exploit.