Tell me what you think of Adobe Flash and I’ll tell you if you work in cybersecurity. To most people, Flash is something that your browser asks you to update before it will play a viral video. Tech-savvy folks are apt to fly into a rage at the merest thought of the insecurities in the platform, the easy opportunities to wreak havoc.
In fact, Adobe Flash topped our list of 2015’s most-exploitable programs. You’ll find a few other popular names close to the top, namely Java, Adobe Reader, and Microsoft Office and Silverlight. But Flash packs the triple punch of being extremely popular, heavily affected by vulnerabilities, and not as regularly updated by users as it should be.
With that in mind, we are very pleased to announce that Kaspersky Lab has been granted a patent for technology that is of particular help combatting the kind of exploits that affect users of Flash in particular.
— Eugene Kaspersky (@e_kaspersky) July 8, 2016
How are Flash exploits different?
We’re glad you asked. To answer simply, we need to invoke a small bit of history. Basically, there are only two ways to infect your PC. The first method needs your direct involvement: downloading and running an executable, opening a document with malicious macros, clicking on a malicious URL, that sort of thing.
The second method does not require you to do anything at all. In this scenario, cybercriminals find and exploit a vulnerability in your operating system or one of programs you have installed and used. If a browser has a vulnerability, for example, just opening a single malicious web page might be enough. (Readers of Kaspersky Daily will not be surprised that malicious websites are truly abundant).
The easiest way to infect a PC is over the Internet, so website exploits are extremely popular among cybercriminals. They don’t necessarily exploit vulnerabilities in browsers; they often gain entry to Java or Adobe Flash Player components, which are responsible for multimedia playback on a website.
— Kaspersky Lab (@kaspersky) May 23, 2016
Think of Flash videos not as files that open in a program but as actual programs. They are downloaded together with the other contents of a website, but then they execute separately, with help of the Adobe Flash component installed in your system. However, the process is a bit more complex. To run these programs safely, Adobe Flash executes them in its own virtual environment — in other words, these programs are run on a simulated computer inside your computer.
So a virtual machine makes Flash secure?
Great question! Flash executes files in a protected virtual environment because running code from all over the wilds of the Internet is risky. Running all code within a virtual machine means that if any code downloaded from the Internet attempts to do anything on your computer, it cannot access your files and documents — or critical operating system components. But that is true only in theory. In reality, exploits can bypass Flash’s security measures (e.g., virtualization) — by using vulnerabilities in Adobe Flash.
— Kaspersky Lab (@kaspersky) July 12, 2016
There is another issue: The very nature of the file and of the Flash virtual machine makes them a very convenient environment in which to hide threat actors’ intentions from the system. It’s even possible for hackers to create a unique file for each victim.
That represents a particular problem for traditional antivirus detection, which relies on enormous lists of files to detect malware. All these millions of exploits work the same way, but to a security solution, they seem to be different. Moreover, Adobe Flash programs can be written in any of three programming languages, and that point introduces additional complexity to the system responsible for detecting malicious content among legitimate Flash content.
If you can’t rely on filenames, and the virtual environment isn’t secure, what can you do?
That is a question that has stumped the security community for quite some time. We needed a way to identify the malicious nature of code before executing it. In theory, we could run the program in our own virtual machine before relaying the code to Adobe Flash, but that approach is too complex and resource-intensive for practical, everyday use. Even if it took only a fraction of a second, people are used to instant gratification online.
If it looks like an exploit…
That’s where Kaspersky Lab’s new technology comes in. Created by Anton Ivanov and Alexander Liskin and based on the emulation of suspicious code, our method takes less time to analyze a multitude of similar objects with small differences. The developers of the method used the virtual stack machine approach, not to run code but to gather intelligence about it.
As it turned out, malicious Flash objects needn’t be run to expose their true nature. Even the modifications that malware developers introduce to almost each sample of a code cannot hide the program’s malicious intentions, if we apply our method.
Ultimately, so long as we know one method of exploiting Flash, we can automatically block all malware that uses the same method. Once we integrated this technology into Kaspersky Internet Security and Kaspersky Total Security, our detection rate for these specific threats doubled.
One last piece of history, for perspective: Antivirus companies all struggle mightily to increase their detection rates by fractions of a percent; doubling the rate is nothing short of stunning.