Researchers penetrate last bastion of Windows security
With a little help from Adobe
Regcast training : Hyper-V 3.0, VM high availability and disaster recovery
Security researchers have defeated vulnerability protections baked into the latest versions of Internet Explorer, demonstrating that it's possible to poke holes in a safety net that's widely relied on to keep end users safe from drive-by exploits.
By exploiting weaknesses in Adobe Systems' Flash Player, researchers have devised two separate attacks that bypass mitigations Microsoft put into IE 7 and 8. Known as ASLR, or address space layout randomization, and DEP, or data execution prevention, the technologies are designed to lessen the severity of bugs by making it hard for them to cause the execution of malicious code.
Both techniques wield the so-called just-in-time compiler in Flash so that a computer's memory is blanketed with large chunks of identical shellcode. The "JIT-spray" allows attackers to overcome ASLR, which normally thwarts execution by picking a different memory location to load system components each time an operating system is started.
"With this JIT-spray, it works fairly reliably, so at least nine out of 10 times you'll guess the right position," said Dionysus Blazakis, a researcher who is demonstrating one of the attacks on Wednesday at the Black Hat security conference in Washington, DC. "The compilers do this optimizing, so it wasn't just a given that this was possible."
The attacks are more than a mere academic exercise because ASLR and DEP have been some of the only defenses preventing lethal exploits of buffer overflows and other bugs in software running on Windows PCs. Last month's unusually advanced attacks on Adobe's Reader application didn't work on IE 8, thanks to the protections.
By using the JIT-spraying technique, however, Blazakis was able to bypass the measures and cause IE 8 to open the Windows calculator, proof that he could exploit the Adobe bug to execute code of his choice.
Similarly, a potent flaw used to pierce the defenses of Google and other large companies was present in all recent versions of IE, but only exploitable on version 6, which was released in 2001.
But using a similar JIT-spraying attack, researchers at Miami-based security firm Immunity have figured out how to reliably exploit the bug in IE 8 running on Windows 7. The attack was released Wednesday to the early updates section for Immunity's Canvas tool sold to penetration testers.
Nicolas Pouvesle, the Immunity senior security researcher who developed the exploit, said overcoming the protections wasn't easy. First, he had to figure out how to locate his malicious shellcode in Windows 7 memory. Then he had to figure out how to overcome DEP, which prevents data loaded into memory from being executed.
"ASLR and DEP in IE 8 on Windows 7 provides a really good protection against these kinds of exploits," he said. "It took us quite some time to put everything together."
After using Flash to spray "lots of big Flash files" into memory, Pouvesle overcame DEP by converting action script into machine code and lacing it with camouflaged shellcode.
This isn't the first time attackers have figured out how to bypass memory protections built into Microsoft software. After a technique known as heap spraying came into vogue, Microsoft added protections to thwart it in IE 8, Pouvesle said. This time around, it's not at all clear Microsoft will be able to prevent the newfangled attacks so easily.
"A change in the memory allocator could prevent" JIT-spraying," he said. "That is, I think, way too complex to do. I don't think we're going to see that happen anytime soon." ®
COMMENTS
This is what I love about IT
"JIT-Spray" sounds like something you might see in a raunchy grumble flick. You certainly wouldn't want to get any on you.
But in our world, it's a perfectly reasonable topic to discuss at length in public. Of course, this is why non-techies think we're all keeping a private channel open to the mother ship, and it worries them.
Real Story
Flash should not be installed on any system.
Quite a few armchair managers in the crowd tonight
"If Microsoft stopped relying on backwards compatibility quite so much, then they could spend their gazillions of dollars in the bank to re-write their OS from scratch"
It's so very easy to say, so very nearly impossible for MS to acheive even by the mid 90s.
One patch tuesday not so long ago, I was reading through the "known issues with this security update" section for a particular patch, and came across the line "programs using modules written in turbo pascal..."
What?!?!
But this is the reality of the matter. Yes, MS could very easily rewrite their memory management routines from scratch, but it would break hundreds of badly written programs that businesses rely on, and the corporations won't replace said crap, because "it still works" and would cost millions to do so.
Apple is the perfect example of what MS wish they COULD do. They were a niche market to start with, so little preasure from blue chip companies to maintain the status quo. Then when they ditched their OS 9 and developed from the foundations of unix, they also switched processor.
A completely new OS, running on a totally different CPU instruction set? You can't get much of a cleaner sweep than that.
You can bet Billy G was green with envy at the time!
MS are mired in legacy by their very popularity, and it's support for this legacy that is both a blessing and a curse. Yes, they should have designed it properly in the first place, but hindsight is 20:20.

IT infrastructure monitoring strategies
Agentless Backup is Not a Myth
Top 10 SIEM implementer’s checklist
Steps to Take Before Choosing a Business Continuity Partner
Requirements Checklist for Choosing a Cloud Backup and Recovery Service Provider