It seems like every day a new software exploit comes out. Software vendors are good at getting out software patches, but it can take some time to do it. And until then, you're vulnerable to attack. But you can make your software more resilient to attacks with the Enhanced Mitigation Experience Toolkit (EMET) v3 from Microsoft.
View of main screen inside of EMET v3
EMET v3 is designed to make it very difficult to impossible for an attacker to exploit vulnerabilities in any given piece of software. It does this by using pseudo mitigation technologies to disrupt current exploit techniques. A couple of these have been built into Windows (SEHOP, DEP) and are designed to be easily updated as new techniques are discovered.
The new EMET Notifier on the Taskbar
EMET v3 has some major improvements over older versions, mainly targeted at the corporate / enterprise environments. Making configuration easy, enterprise deployment via Group Policy and SCCM and reporting capability via the new EMET Notifier feature are just a few changes in EMET v3. Here's a quote from Microsoft's website:
Software vulnerabilities and exploits have become an everyday part of life. Virtually every product has to deal with them and consequently, users are faced with a stream of security updates. For users who get attacked before the latest updates have been applied or who get attacked before an update is even available, the results can be devastating: malware, loss of PII, etc.
Security mitigation technologies are designed to make it more difficult for an attacker to exploit vulnerabilities in a given piece of software. EMET allows users to manage these technologies on their system and provides several unique benefits:
1. No source code needed: Until now, several of the available mitigations (such as Data Execution Prevention) have required for an application to be manually opted in and recompiled. EMET changes this by allowing a user to opt in applications without recompilation. This is especially handy for deploying mitigations on software that was written before the mitigations were available and when source code is not available.
2. Highly configurable: EMET provides a higher degree of granularity by allowing mitigations to be individually applied on a per process basis. There is no need to enable an entire product or suite of applications. This is helpful in situations where a process is not compatible with a particular mitigation technology. When that happens, a user can simply turn that mitigation off for that process.
3. Helps harden legacy applications: It’s not uncommon to have a hard dependency on old legacy software that cannot easily be rewritten and needs to be phased out slowly. Unfortunately, this can easily pose a security risk as legacy software is notorious for having security vulnerabilities. While the real solution to this is migrating away from the legacy software, EMET can help manage the risk while this is occurring by making it harder to hackers to exploit vulnerabilities in the legacy software.
4. Ease of use: The policy for system wide mitigations can be seen and configured with EMET's graphical user interface. There is no need to locate up and decipher registry keys or run platform dependent utilities. With EMET you can adjust setting with a single consistent interface regardless of the underlying platform.
5. Ease of deploy: EMET comes with built-in support for enterprise deployment and configuration technologies. This enables administrators to use Group Policy or System Center Configuration Manager to deploy, configure and monitor EMET installations across the enterprise environment.
6. Ongoing improvement: EMET is a living tool designed to be updated as new mitigation technologies become available. This provides a chance for users to try out and benefit from cutting edge mitigations. The release cycle for EMET is also not tied to any product. EMET updates can be made dynamically as soon as new mitigations are ready
The toolkit includes several pseudo mitigation technologies aimed at disrupting current exploit techniques. These pseudo mitigations are not robust enough to stop future exploit techniques, but can help prevent users from being compromised by many of the exploits currently in use. The mitigations are also designed so that they can be easily updated as attackers start using new exploit techniques.
What security exploits are currently covered
- Structure Exception Handler Overwrite Protection (SEHOP) (built-in since Windows Vista SP1)
- Dynamic Data Execution Prevention (DEP) (built-in since Windows XP SP2)
- Heapspray Allocations
- Null page allocation
- Mandatory Address Space Layout Randomization (ASLR)
- Export Address Table Access Filtering (EAF)
- Bottom-up randomization
What programs to harden
You only want to harden / mitigate certain programs that are targeted on a regular basis. Web browsers like Firefox and Internet Explorer, E-mail Clients like Outlook and Windows Live Mail and Instant Messaging Clients are some of the few. I recommend that you harden any program that can open files on or from the internet.
For more information on EMET v3, just follow the links below:
Introducing EMET v3
Download EMET v3