Miller on Mac OS X, Chrome, Firefox, Economics

Fresh from winning the PWN2OWN contest yesterday, Charlie Miller has been interviewed by ZDNet. He talks about how Mac OS X is a very simple operating system to exploit due to the lack of any form of anti-exploit features. He also explains that the underlying operating system is much more important in creating a successful exploit than the bowser, why Chrome is so hard to hack, and many other things.

One of the most common questions is why Miller and his colleagues do not report their bugs to Apple or make them public. He is very honest about this, and explains it’s a simple matter of economics. There’s a market for exploits. “Vulnerabilities have a market value so it makes no sense to work hard to find a bug, write an exploit and then give it away,” Miller explains, “Apple pays people to do the same job so we know there’s value to this work.” He says he could’ve gotten a lot more money for the exploit than the 5000 USD prize he won yesterday, but he chose to enter the contest because he likes showcasing what he can do, and of course the headlines for his company.

He went on to explain that the Internet Explorer/Windows exploit found by cracker Nils is worth a hell of a lot more than his own Safari/Mac exploit “by about a factor of ten”. “You can get paid a lot more than $5,000 for one of those [IE/Win] bugs,” says Miller, “I’ve talked to a lot of smart, knowledgeable people and no one knows exactly how he [Nils] did it. He could easily get $50,000 for that vulnerability. I’d say $50,000 is a low-end price point.” He added he was very impressed by what Nils did, especially the Firefox/Windows exploit, which he gave a 10 out of 10. “It’s really hard to exploit Firefox on Windows.”

Miller repeated his claim that Mac OS X is easy to exploit. He makes a clear distinction between the browser and the underlying operating system, stating that for example while Firefox on Windows is very hard to crack, Firefox on Mac OS X is easy, because Mac OS X lacks all the anti-exploit features Windows has built-in. “The things that Windows do to make it harder [for an exploit to work], Macs don’t do,” Miller says, “Hacking into Macs is so much easier. You don’t have to jump through hoops and deal with all the anti-exploit mitigations you’d find in Windows.”

As an example, he takes his winning exploit. “With my Safari exploit, I put the code into a process and I know exactly where it’s going to be. There’s no randomization. I know when I jump there, the code is there and I can execute it there. On Windows, the code might show up but I don’t know where it is. Even if I get to the code, it’s not executable. Those are two hurdles that Macs don’t have.” He added that all browsers have holes, but that writing exploits for those holes is harder on Windows than it is on Mac OS X.

When it comes to Chrome, Miller is positive about the sandboxing technology in the browser, explaining that you need two bugs in order to create a Chrome exploit; a bug in the browser, and a bug that gets you past the sandboxing. “There are bugs in Chrome but they’re very hard to exploit. I have a Chrome vulnerability right now but I don’t know how to exploit it,” he states, “It’s really hard. They’ve got that sandbox model that’s hard to get out of. With Chrome, it’s a combination of things – you can’t execute on the heap, the OS protections in Windows, and the Sandbox.”

I just don’t know what to think of Miller and other people like him. I see no moral obligation for them to help out other companies make money off their work on finding exploits, and he’s quite right in asking why he should do the work that Apple or Microsoft employees get paid to do for free. However, at the same time, there’s also the responsibility of the general public. When it comes to open source projects, the question is a bit simpler for me.

As Miller says: “It’s all economics.”

138 Comments

  1. 2009-03-20 2:04 pm
    • 2009-03-20 2:13 pm
      • 2009-03-20 3:13 pm
        • 2009-03-21 10:46 am
      • 2009-03-21 3:43 am
    • 2009-03-20 2:26 pm
      • 2009-03-20 3:35 pm
      • 2009-03-20 4:12 pm
        • 2009-03-20 5:10 pm
        • 2009-03-20 8:45 pm
          • 2009-03-20 9:55 pm
          • 2009-03-20 10:48 pm
          • 2009-03-20 10:50 pm
          • 2009-03-20 11:39 pm
      • 2009-03-20 5:22 pm
        • 2009-03-21 1:45 am
      • 2009-03-20 6:54 pm
        • 2009-03-21 12:25 am
          • 2009-03-22 12:18 am
          • 2009-03-22 1:53 am
          • 2009-03-23 12:11 am
          • 2009-03-23 1:23 am
          • 2009-03-23 2:59 am
        • 2009-03-21 4:04 pm
          • 2009-03-22 12:20 am
          • 2009-03-22 6:11 am
          • 2009-03-22 6:16 am
          • 2009-03-23 7:07 pm
          • 2009-03-24 12:15 am
    • 2009-03-20 5:26 pm
      • 2009-03-20 6:53 pm
        • 2009-03-20 6:57 pm
          • 2009-03-20 11:03 pm
          • 2009-03-20 11:24 pm
          • 2009-03-21 1:36 am
        • 2009-03-20 7:15 pm
          • 2009-03-23 2:49 am
    • 2009-03-21 12:16 am
      • 2009-03-23 2:39 pm
  2. 2009-03-20 2:10 pm
    • 2009-03-20 5:52 pm
    • 2009-03-20 6:59 pm
    • 2009-03-21 3:17 pm
      • 2009-03-21 3:55 pm
  3. 2009-03-20 2:17 pm
    • 2009-03-20 2:33 pm
      • 2009-03-20 3:34 pm
        • 2009-03-20 5:33 pm
          • 2009-03-20 5:50 pm
          • 2009-03-20 6:03 pm
          • 2009-03-20 6:18 pm
          • 2009-03-20 7:14 pm
      • 2009-03-20 3:34 pm
        • 2009-03-20 4:02 pm
          • 2009-03-20 4:29 pm
          • 2009-03-20 5:00 pm
        • 2009-03-21 12:33 am
      • 2009-03-20 5:17 pm
        • 2009-03-20 5:27 pm
          • 2009-03-20 7:18 pm
      • 2009-03-20 7:07 pm
    • 2009-03-20 2:45 pm
      • 2009-03-20 2:54 pm
        • 2009-03-20 3:10 pm
          • 2009-03-20 4:33 pm
          • 2009-03-20 6:13 pm
          • 2009-03-20 6:15 pm
          • 2009-03-20 7:27 pm
          • 2009-03-22 1:27 am
          • 2009-03-22 4:20 am
          • 2009-03-21 6:23 am
      • 2009-03-20 3:13 pm
        • 2009-03-20 3:35 pm
          • 2009-03-21 1:34 am
        • 2009-03-20 4:18 pm
        • 2009-03-21 2:54 am
      • 2009-03-20 3:39 pm
        • 2009-03-20 4:04 pm
        • 2009-03-20 5:23 pm
          • 2009-03-20 5:50 pm
          • 2009-03-20 8:14 pm
          • 2009-03-21 4:28 pm
          • 2009-03-21 5:10 pm
          • 2009-03-21 5:16 pm
          • 2009-03-24 1:31 am
          • 2009-03-25 1:45 pm
      • 2009-03-20 4:45 pm
        • 2009-03-20 5:08 pm
          • 2009-03-21 11:16 am
      • 2009-03-20 7:09 pm
      • 2009-03-21 2:52 am
    • 2009-03-20 2:52 pm
      • 2009-03-20 3:24 pm
    • 2009-03-20 5:14 pm
      • 2009-03-20 5:57 pm
        • 2009-03-20 6:14 pm
        • 2009-03-20 6:16 pm
          • 2009-03-20 6:34 pm
      • 2009-03-20 7:15 pm
      • 2009-03-20 9:29 pm
        • 2009-03-20 10:06 pm
        • 2009-03-20 10:08 pm
    • 2009-03-20 7:42 pm
  4. 2009-03-20 2:27 pm
    • 2009-03-21 2:47 pm
  5. 2009-03-20 2:44 pm
  6. 2009-03-20 2:49 pm
    • 2009-03-21 2:01 am
      • 2009-03-21 6:45 am
        • 2009-03-21 8:51 am
          • 2009-03-22 6:59 am
          • 2009-03-23 6:52 am
          • 2009-03-23 11:02 am
  7. 2009-03-20 3:01 pm
  8. 2009-03-20 4:11 pm
  9. 2009-03-20 5:32 pm
  10. 2009-03-20 5:42 pm
  11. 2009-03-20 5:47 pm
    • 2009-03-20 6:00 pm
      • 2009-03-20 6:37 pm
  12. 2009-03-20 6:09 pm
  13. 2009-03-20 6:24 pm
    • 2009-03-20 6:40 pm
      • 2009-03-20 7:15 pm
        • 2009-03-20 9:11 pm
          • 2009-03-20 9:49 pm
          • 2009-03-22 1:23 pm
          • 2009-03-22 3:37 pm
        • 2009-03-21 1:44 am
  14. 2009-03-21 12:26 am
    • 2009-03-21 3:47 pm
  15. 2009-03-21 5:57 pm
    • 2009-03-21 6:03 pm
    • 2009-03-22 3:02 am
  16. 2009-03-22 3:11 am
  17. 2009-03-22 6:12 pm
  18. 2009-03-23 12:36 am
  19. 2009-03-25 1:37 pm