Matasano Interviews IE Lead PM Christopher Vaughan
Window Snyder | June 20th, 2006 | Filed Under: Interviews
Christopher Vaughan is a Lead PM on the Internet Explorer team over at Microsoft. We met while working on Windows Server 2003 at the twice daily status meeting. Closing in on the ship date this lively (read loud, volatile, hilarious) status meeting goes to three times daily and once on Saturday. He was the representative for Windows Client. I was the Security representive. We had a lot to talk about.
I asked him to answer some questions the Matasano team came up with because he is a real person in the trenches actually working on IE security (not marketing.)
Hi Christopher, can you describe your background and your role at Microsoft?
Hi Window! I’ve been at Microsoft for 11 years. I’ve been involved in every OS release since Windows 95 and every IE release since IE 2 or 3. I discovered in college that computers were what I wanted to work with and once I started down that path, I never looked back.
At Microsoft, I’m one of several Lead Program Managers on the IE team. My team and I are responsible for handling all of the incoming customer & security requests. I also do a lot of security outreach and enjoy spending time at various security conferences worldwide.
There has been a lot of speculation about the upcoming release of Internet Explorer 7. How is IE 7 going to make things better for security?
Security is our biggest single area of investment in IE7. For all the work we did in the UI and platform, none of that outweighs all the security changes we made. We’ve spent time not only developing security features (like our anti-phishing feature), but also supplementing security deep in the product by cleaning up code (like with cURL). Remember too that IE7 is built from the same code base as Windows Vista which has received a huge amount of scrutiny, so this is going to be the most solid code base of IE we’ve ever produced.
If there were three learning lessons from IE 6 that were used to model security in IE7, what would they be?
The first lesson was that the Internet isn’t an innocent place any more. When IE6 was under development 6 years ago, viruses were inconveniences and true Internet crime wasn’t a concern. We’ve designed our new features, and redesigned old features, with this change in mind. Our IDN support is an example of this – we’ve seen how other browsers have been attacked via IDN and think we have a solution that protects our users.
Second, users need more information to make the right choice. We’ve changed our UI in many ways to make it easier for more users to understand the implications of the decisions they’re making. You saw this first in IE for Windows XP Service Pack 2 when we added the information bar. In IE7 we’ve continued this trend by consolidating security feedback into the Address Bar and by driving features like our High Assurance Certificates. No one should have to be a security expert to understand what’s safe and what’s not.
Our third lesson is that security isn’t just about great features and solid code. You also have to have a solid security response plan. You have to engage with the security community. You have to listen to your users. We’ve worked hard over the development cycle of IE7 to do all these things. From the MSRC to our participation at conferences to our feedback database, we’ve making sure that everyone realizes that IE7 isn’t just a product that gets thrown to the wolves, but one that Microsoft will stand by.
We like metrics. How can we measure the scope of the work that went into IE7 or how much more secure it is than IE6?
An easy way to compare IE7’s security vs IE6 will be to see how we do against security threats a year after IE7 is shipped vs our record with IE6 during that same period of time. Hopefully, the need for security response will be lower, the severity of threats will be lower on average, and our turnaround on fixing the issues will be faster. We’ve already showed that we’re trending in the right direction as a company and with products like Windows Server 2003 SP1 and IE6 for Windows XP Service Pack 2 (compared to earlier versions of IE).
Are there any components of IE7 that are implemented in .NET managed code? If not, are there any plans to start incorporating more managed code into IE?
No, IE7 remains purely native code throughout. I think as we develop future versions of IE you’ll see a larger focus on managed code, most likely to enable great plug-ins of that type for our platform. One thing people shouldn’t expect is that IE8 be re-written in managed code. For a variety of reasons, native code is where we’ll stay for a while.
A common approach to securing complex applications (qmail, postfix, ssh) is the use of privilege seperation. Has there been any investigation or plans for a privilege-separated browser architecture?
We’re already moving in that direction. On Windows Vista, IE runs by default in Protected Mode, which is the marketing name for “IE running with lowest possible privileges.” What this means is that IE (and no app, control, toolbar, etc running in IE’s process) has is very restricted to what it can do. It’s less privileged than the user who’s logged in. If someone tries to hijack IE, they can’t write anywhere on the disk except the cache, which is treated as the Internet Zone so it’s already sandboxed. On top of that, users already will be running as regular users (not administrators!) by default, so even if a malicious site does trick the user into running an app, the user by default doesn’t have the ability to affect any part of the system except for their own user profile & files. We understand the benefit of this kind of improvement and IE7 on Windows Vista is a big step in that direction. Our goal is multiple levels of protection, which all together add up to a more secure experience.
Do you think the browsing model where active content is executed in the user’s browser broken? How is it different from active content in office documents? Can these models be fixed?
Well of course you do have to be careful. It’s our responsibility to help users be safe, but users also want a pleasant user experience. Imagine an extensibility model so severely limited that you can’t save files you download from the Internet, run any application, or save settings. It’s our job to draw a line between those two extremes, and that’s what we’ve been doing for the last few years – refining that line.
I want to point out that every browser has an extensibility model of some sort, and they all have security & usability challenges to overcome.
What happened with that Microsoft Internet Explorer JavaScript Window() Vulnerability that was improperly diagnosed as a Denial of Service (DoS) bug and turned out to be remote code execution? After that experience, does the IE team consider all remotely triggerable memory related crashes as high risk issues?
Our understanding of threats evolves all the time. It’s not unusual for code constructs that today people believe are safe to become tomorrow’s security vulnerability. Remember when heap overruns weren’t considered automatically exploitable? When was the first time you heard of Integer Overflow bugs? Everyone’s understanding of code quality (and flaws) is advancing. It’s unfortunate that we mis-diagnosed that case, but we make it a point to try and never get caught in the same way twice.
Every memory related crash is even more thoroughly investigated now. I’m always blown away by the technical prowess of folks around here – and their persistence. No one around here gives up easily on reported flaws until we’re sure confident in our analysis.
On the subject of browser crashes, have you run IE6/7 against HD Moore’s Hamachi? If so, how did they fare? If not, what tools does the IE team use to test browsers?
We run IE7 against all the tools we can find. We use the ones published publicly as well as our own home-grown tools (the PREFIX filters, part of Visual Studio, being one notable tool we’ve released to the world). How’d they do? Let’s just say that we’re not shipping IE7 as long as those tools find exploitable issues.
Is there a clean delineation of security responsibility between the IE team and the underlying components (e.g. image parsers)?
Well, it’s clear at Microsoft that security is everyone’s job. Customers don’t know, don’t care, and shouldn’t have to worry about how we’re organized internally. The IE team drives almost every vulnerability where IE is the attack vector, even if it’s not our code or product that’s at fault. But everyone steps up when we tap them on the shoulder to help out.
A lot of browser exploits are making use of SkyLined’s heap spraying techniques to populate the heap or control values in uninitialized memory. Are there any plans to further isolate the JavaScript engine such as giving it its own address space or dedicated heap?
There’s lots of interesting work in Windows Vista around address spaces etc. Check out Michael Howard’s recent blog entry on that topic. We do have folks thinking specifically about the JavaScipt engine but offhand I’m not sure what the full extent of their plans are. We’ve already made some good changes in IE7 in the way we run scipts to keep users more secure, and I’m sure this is an area we’ll continue to work on even after IE7 ships.
During the WMF SETABORTPROC vulnerability, a third party patch was distributed. Does this represent a shift in how the industry will manage the “zero day threat”?
I don’t think so. I appreciate that there are people out there working to help users stay safe, but it’s more complicated than that. Folks expect Microsoft to be the people who keep Windows safe, and we’ll continue to do so. I shudder at the thought of the ripple effect of other companies trying to patch Windows. Who supports users if the patch breaks applications? Them? Us? How would a user know whom to call? It’s complicated.
Spyware/malware continues to be a top of mind issue for end users. Where do you think spyware is going and what steps is the IE team taking to counter?
Well in one respect, I don’t really care where spyware & malware is going – I just want it eliminated. Whether it’s key loggers or rootkits or adware, our job is simple: keep unauthorized software off of the users’ machines. We’ve attacked this problem at multiple levels as I’ve described throughout this interview. Our #1 goal was eliminating or reinforcing the seams through which the bad guys try to slip their software. And it’s not just code quality, we’re fighting social engineered attacks as well (with our anti-phishing filter). We really want IE7 to be the best-in-class browser for dealing with those kinds of issues.
You can bet that as we work on the next browser after IE7 we’ll continue to invest in that space as well.
Christopher, we want to thank you for your time. Are there any additional thoughts or things you would like to let our readers know?
Thanks for the Q&A time! If there’s anything I’d say to users, it’s that everyone on the IE team is working hard to make IE7 the best browser for our users. We’re excited to ship and look forward to hearing what folks think about what we’ve done. Thanks a lot!


IEBlog
June 20th, 2006 1:37 pmIE interview on Matasano
My short interview with Window Snyder from Matasano has
been posted over on their
blog. Check…
Richard Johnson
June 20th, 2006 3:41 pmThe ‘unauthorized software’ comment strikes a nerve. Most of the proposed DRM gack won’t be authorized to run on machines on my nets. Will MS allow it to run anyway? What about MS’s own DRM gack? Who will protect our ownership rights on our machines from megacorp rootkit writers?
Digitalmelon : Chan's Blog
June 20th, 2006 5:01 pmMatasano guy interviews IE Security PM lead
Michael Howard's Web Log
June 20th, 2006 6:55 pmMatasano Interviews IE Lead PM Christopher Vaughan
Chris is a top guy, this is a good read.
http://www.matasano.com/log/332/matasano-interviews-ie-lead-pm-christopher-vaughan...
dan
June 21st, 2006 8:58 amWhat about CSS1/2/3 support? Are they still going to screw that up?
Chris Brooksbank
June 21st, 2006 10:19 amTo reiterate dans point.
Did they fix CSS and generally make IE more standards complient. Surely that was a major reason for redevelopment as well ?
Also how many websites will break the day IE7 autoupdates itself onto users machines.
Thomas Ptacek
June 21st, 2006 10:44 amFriends, Romans, Slashdot readers: while I’m as interested in web standards punditry as anyone else, it isn’t the apropos our blog, our normal audience, or this interview.
So, while I’d love to get a PM on the IE team to explain the rationale behind how collapsible margins work in the IE6 box model, I’m going to try to be a model of restraint.
It’s not easy for a high-profile team at MSFT to do an interview on a snarky security blog and we’re really happy that Chris Vaughan was able to let us pull it off. That said, if you’ve got to get your LUG cred on, find a way to whack IE on security. On this particular occasion, expect us to circle the wagons and whack you back. Good times!
Window Snyder
June 21st, 2006 11:11 amThat said, those questions might find a better home on the IE team blog at: http://blogs.msdn.com/ie/archive/2006/06/20/640011.aspx.
Doug
June 21st, 2006 12:06 pmIf the efforts to make IE secure are reasonably succcessful then it will force other browsers to innovate more as security is one of their biggest selling points currently. From a business perspective if the default IE is far more secure when Vista is deployed then there will be little motivation for companies to deploy another web browser.
Sanjay Kumar
June 21st, 2006 3:16 pmYou can see the brief of the interview in my blog.. Comments invited..
My blog : http://sansor.wordpress.com
-sansor
Avoid GATES of Hell use LINUX
ivan
June 21st, 2006 11:23 pmHm all very nice and polite, but where’s the meat?
I still do not understand the rationale for not writing IE7, let alone IE8, in managed code.
what happened to eat your own food? .NET is good for eveybody else but not good enough for the flagship application of its maker? Sorry, a “variety of reasons” does not suffice as a real answer to me
Dresden Marshall
June 22nd, 2006 2:05 amFascinating interview, but I would have enjoyed his thoughts on Mozilla and Firefox.
Assuming that commenting on Gecko or anything relative to it wouldn’t get him fired^^
dre
June 23rd, 2006 11:14 amyou guys had good coverage on most dec05-current ie flaws. i wish chris spoke more to the details about them. good job, though, i enjoyed it.
i think a lot of vulnerabilities (CSSXSS comes to mind first) are getting confused with browser features… such as cross-domain access. i think cross-domain access attacks will move to the top of clientside security risks in the next year. one of my favorite reads of the year was Zalewski’s paper on cross-site cooking [securityfocus].
sure, graphics rendering vulnerabilities and javascript/heap/nopsled/shellcode exploits are going to continue to plague browsers for some time. even vista’s uac and pmie won’t stop everything.
Leave a reply