Impressing Girls with Vista Memory Protection Bypasses

mark August 7th, 2008

Hi there,

Alex Sotirov and I are presenting at BlackHat USA today on bypassing the Windows Vista memory protections in the context of the web browser in a speech titled "How to Impress Girls with Browser Memory Protection Bypasses". Specifically, we will be discussing how rich browser functionality can be utilized to help lessen the impact of memory protections (and in some cases, completely negate them). Some of the techniques we will be discussing are known ones, whereas others are new approaches that we haven’t seen discussed in public forums before.

We have written an extensive paper documenting how the various memory protections function, and how to break them. The paper that accompanies the speech is available here (we also have slides and code available). Some of the more interesting topic areas we will be covering include:
   
    - "Stack Spraying", an alternative method to heap spraying with some additional benefits
    - Exploiting poor permissions, such as Java’s RWX memory allocator, and
    - Utilizing .NET binaries to map data at an attacker-controlled memory location with arbitrary page protections applied to that data.

Finally, we did some field testing and found that this kind of research does occasionally impress girls, but ongoing research in this area is needed. Therefore, Alex and I will continue this research, starting right here in Vegas. :)

17 Responses to “Impressing Girls with Vista Memory Protection Bypasses”

  1. liedraon 07 Aug 2008 at 11:53 pm

    Mark I’m really impressed, and I’m a girl! Let me know how the rest of this part of the research goes!

  2. Muhammadon 08 Aug 2008 at 7:58 pm

    Captivating work fellas, just curious to know whether the .Net/Java exploits be used on Linux to gain access to root.

  3. michaelon 09 Aug 2008 at 5:52 am

    wicked cool. Thank you for your research.

    Microsoft: wise up.

  4. mbon 10 Aug 2008 at 10:26 am

    So, any comments on the sensationalistic articles on the subject?

    I mean notably a trainwreck of an article like:
    http://www.neowin.net/news/main/08/08/08/vista39s-security-rendered-completely-useless-by-new-exploit

    Followed of course by a veritable echo-chamber of the usual suspects, as well as a number of others:
    http://osnews.com/story/20167/Vista_s_Security_Rendered_Completely_Useless_By_New_Exploit
    http://www.gizmodo.com.au/2008/08/windows_vista_pwned_by_web_exploit_that_cant_be_stopped-2.html
    http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1324395,00.html
    http://it.slashdot.org/article.pl?sid=08/08/08/1155208

    Not that any of the above are ever terribly trustworthy, but it seems to me that as far as public understanding of security issues goes the press before the talk has done far more to confuse than to inform. As it stands the popular advice ranges from switching to XP for security, running Firefox instead, disabling DEP (!), and other things that in this context achieve very little other than trouble people. I imagine you guys didn’t have all that much say in the basic reporting, but if you did give out the initial info you might want to consider more carefully choosing what to announce next time.

  5. Remyon 10 Aug 2008 at 1:32 pm

    Let me take care of the girls, so you guys can go on with your research without beeing distracted ;-)

    Now without kidding.
    When your findings have been verified by the “Big Guys”, and I´m not refering to MS only, it wil sure rock the OS-world.
    And maybe even the whole internet.
    Paranoia everywhere.

    Or am I over-exagarating

  6. PFNmasteron 10 Aug 2008 at 2:56 pm

    Nicely done! The art of memory mgmt never dies!

    Too bad MS took VMS made WNT and dropped 2 of the most precious layers of security, we could have avoided 20years of exposure.

  7. markon 10 Aug 2008 at 6:57 pm

    @mb: We didn’t have anything to do with any of those stories.

  8. jmon 10 Aug 2008 at 8:04 pm

    @mark Although, I think you do have a moral responsibility to state that they are, in fact, internet hilarious.

  9. joeyon 11 Aug 2008 at 9:59 pm

    damn you mark dowd! you killed the interwebs again!

  10. Dimchanskyon 12 Aug 2008 at 7:29 am

    Where can I download source code?

  11. squadjoton 13 Aug 2008 at 10:58 pm

    good to see that SOMEBODY is doing their jobs.. (not microsoft)

  12. Brook Monroeon 16 Aug 2008 at 1:29 am

    I’m partly along in the paper, and I’ve got to call shenanigans on some of this. In particular, the gs4() function you provide as an example is highly contrived, and uses an internal buffer without any good need of having one. In fact, if one of my team presented me with that sort of brain-dead coding during a code review, I’d send him or her packing, along with a pair of flaming ears. How would your attack have fared against a properly-written gs4(), I’m wondering?

  13. markon 16 Aug 2008 at 2:56 am

    @Brook: Hey, thanks for your commentary. Alex actually wrote the part about GS, but I’ll have a go at fielding this one I suppose :). I would agree that the example is somewhat contrived (although I have to say, I’ve seen code like this many times before..). He could perhaps of modified it slightly to make it more realistic, but it doesn’t really matter - the point of the example was to demonstrate that integer arguments are not copied below local variables by GS, and hence can be overwritten. This is a pretty important limitation of the GS protections, and one that I have exploited a few times before. Whether the specific example is believable or not is neither here nor there - if you have a situation where you have a stack overflow and integer-based arguments, there might be the chance for exploitation.

  14. Frank Hareon 20 Aug 2008 at 1:25 pm

    Has anyone form MS been in contact with you? Do you plan to publish specifics about this? If so, when and in what forum?

    Thanks, keep up the good work.

  15. markon 20 Aug 2008 at 11:39 pm

    @Frank: We were in contact with MS before the speech and gave them advanced copies of our material. The specifics of the attacks we describe are published in the paper/slides linked from this blog.

  16. leenooks zealoton 03 Sep 2008 at 4:55 pm

    Oh, crap. I’ve just got root on my Linux box…

  17. valianton 22 Sep 2008 at 12:35 pm

    Remember

    There’s two meanings. I fall into both. The code hacker, who lives to program and does it the hard way, and the system hacker, who loves finding exploitable features in systems to gain access, does so, notifies the sysadmin and patches the hole.

Permanent Link | Trackback URI | Comments RSS

Leave a Reply