So came across an interesting report today from various security folks (including Gunter Ollmann from ISS): http://www.techzoom.net/papers/browser_insecurity_iceberg_2008.pdf
I can appreciate what they are trying to do - and I believe they were probably trying to be as un-biased and scientific as they possibly could given the nebulous goal of the study but it was, unfortunately, full of fail (at least with respect to the IE results). What they seem to have done is combed the Google logs looking at the user-agent strings over a 1.5 year period to gather major + minor version information for the browsers they studied. The only problem? IE doesn't send minor version information, so there's no way to determine IE patch levels from the user-agent string. Oops.
So to compensate for that they:
For these simple facts - I really don't think it was wise to add IE to the mix . . . they should have (in my opinion) stuck to examining the Google logs - and stuck to examining the user-agent strings for browsers that report minor version information. Apples to Oranges comparisons aren't very good.
EDIT: Meh - someone asked me why IE doesn't have the minor version info in the user-agent string and I had to admit I wasn't sure. Just never really thought about it I guess. And so it's with a bit of embarassment that I have to admit I didn't even think about the information disclosure risk that this would represent and how it could allow attackers to know exactly which exploit to throw at your browser. Dave thought of that though. :) Good job Dave. :) I will admit - the browser and web app sec is not my forte . . . is there an easy way to ID the exact version of the browser purely from Javascript without using an AX? That's left as an exercise to the reader and I don't have time to dig right now. :)