Security

Microsoft security competition: A model for the future?

Patrick Lambert shares his perspective on Microsoft's BlueHat security competition and its $200,000 prize.

Last year, Microsoft quietly announced a security competition called BlueHat, back in August of 2011. It didn't garner much media attention since it was fairly obscure and aimed at security professionals -- the types that work in academia, research firms, and so on. Now, they announced the three finalists last week, and the results are interesting to look at, because not only is the contest itself a new event in the software industry, but the results may be a hint of what is to come in future versions of Windows, and other Microsoft software. While a lot is still in the early stages and speculative, there is a common thread, and that can give us some clues as to what the ultimate benefit of this contest will be for Microsoft, IT pros, and eventually common users.

First of all, the competition itself is fairly attractive for those with the know-how to participate. The first prize is worth $200,000, which is far more than any company gives for offensive security. Typically, software makers offer bounties to hackers or other security researchers when they find a bug or an exploit that could lead bad guys to take advantage of their software. The bounty system is well established by now, where a hacker can make easy money by giving the exploit to the company, which would dissuade them from releasing it in the wild, or exploiting it themselves. All the large companies like Google, Apple and Adobe offer such a system. But with the BlueHat competition, Microsoft called it the first "defensive security" system. From its blog post, the company says that while most industry players stick to offensive security, Microsoft thinks that, in the long run, a defensive approach will work better.

So, after the table was set, the contest launched to the public. In all, Microsoft received 20 entries, which is a fairly small number, but we have to remember that the bar was quite high to enter. Here, we're talking about submitting brand new proposals to make Windows and other Microsoft products fundamentally harder to attack from a security standpoint. In their words, they were looking for runtime mitigation technologies designed to prevent the exploitation of memory safety vulnerabilities. One interesting note that the post mentions is that some of the best entries happened to be those submitted at the very last minute, even seconds before the deadline. But let's take a look at who the finalists are. All three of them submitted new proposals that will earn them the various prize monies, and their proposals are listed on the finalist's page.

  • Jared DeMott, security researcher: "This novel defensive lowers the effect of address space disclosures and mitigates known return-oriented programming (ROP) exploits."
  • Ivan Fratric, security researcher: "ROPGuard is a system that can detect and prevent the currently used forms of ROP attacks at runtime."
  • Vasilis Pappas, Ph.D. student: "This proposed technique is called kBouncer, an efficient and fully transparent ROP mitigation technique."

So while the details quickly get highly technical, it's not hard to see a pattern here. It seems like the top people in the security community agree that the way to solve one of the most problematic issues in software security is to have ways to deal with return-oriented programming (ROP) attacks.

Attacks come in many forms, from buffer overflows to brute force attacks, but Microsoft, like every other major software maker out there, has added a lot of low-level systems to prevent a lot of those malwares and viruses from working in the first place. Something like DEP, or data execution prevention, is a huge deal that was added to the Windows core a few years ago. By itself, it can prevent code from being executed in user memory, in places where only data should reside, and not binary programs. Ironically, this is when ROP started to become so popular, because it's a way to bypass DEP, among other things.

Basically, ROP attacks allow execution of code in the presence of non executable memory segments, and without the need to sign code either. It's a way to get malware to be executed on computers without the user knowing it. So the best way to deal with these types of attacks right now, everyone agrees, is to deal with ROP.

So right now, what does this mean for you and me? For one thing, it's clear that Microsoft hasn't figured out how to deal with all the malware out there, and that's why they created the contest and offered such a generous prize. If one of those contest entries works, and manages to remove ROP attacks completely, we could see the landscape of Windows malware change drastically in the near future, with many of the attack vectors used becoming completely useless. Then, it could also lead other software companies to start dealing with defensive security as well as offensive bounties. This could be a great opportunity for security pros to get recognition and focus on pre-emptive strategies to combat future threats.

About

Patrick Lambert has been working in the tech industry for over 15 years, both as an online freelancer and in companies around Montreal, Canada. A fan of Star Wars, gaming, technology, and art, he writes for several sites including the art news commun...

3 comments
Deadly Ernest
Deadly Ernest

Microsoft chose to change how Windows was structured and destroyed a lot of that security in the process. They also made a decision to incorporate certain applications and features into the core kernel to enhance the performance of Windows with their other apps, and these actions introduced security issues of their own. Now, instead of going back to the original model and rewriting the code as an up to date version of that model, they're looking for more apps to put on the perimeter to protect the Windows system instead of rebuilding the main building with top security. Not a good way to go about it. The majority of the security problems that hurt Windows 95 through to Windows 7 just weren't, and aren't, able to hurt Windows 3.1 due to the differences in the design mode of the Windows systems at the time. It was the key changes in design introduced with Win 95 that are the real problem here. Design like Unix and Linux does, like the old DOS / Win 3.1 did, and most security issues are gone.

spydr_cl
spydr_cl

But I don't think it's the first since Google already has one and offers USD 1 million to whoever hacks Chrome.

nwallette
nwallette

This isn't about "how to hack Windows", it's a call for ideas on how to make Windows more hack-proof. In my opinion, one could start by taking a cue from Linux, where individual services and applications do less, and do those few things better, then communicate to other services and applications. The air gap in between makes it harder to exploit, since there's less code running at the attack vector to contain exploits. And, it's easier to run exposed services at lower privilege levels, letting other code handle the (untrusted!) data given by the edge software.