Raising Standards for Device Drivers

By Larry Seltzer  |  Posted 2006-06-19 Print this article Print

Opinion: It's always been easy to write Windows device drivers—well, it's easy to write a bad one. And too many vendors are satisfied with that.

About 10 years ago I was in a meeting with Bill Gates and he said that, for security purposes, Microsoft would probably have to require digital signatures on device drivers at some point. It finally has set rules for such a system, although it has been optional to sign device drivers and other executables for many years. Device drivers—at least some of them—are special. They are software from third parties that runs in the kernel, where they have essentially unfettered access to the system, with the ability to subvert privacy and stability. They have to be trusted.

If youve had the misfortune to have a device driver crash, you have seen the Online Crash Analysis system, which in some cases can report back a solution to you, perhaps to upgrade your driver. OCA feeds into a system called Winqual through which vendors can participate in the process, seeing real-world feedback on their drivers.

This system, and other systems for reporting errors to Microsoft, have been in place for years, so they have a great deal of data (at least from users willing to report it) on what is crashing and the state of the system at that point. To the best of my knowledge, no other operating system has a system like this in place, accessible to users, but please correct me if Im wrong.

Microsoft needs to do this because it really does have to be held to a higher standard. Its the vast majority of the market and its platforms are subjected to a variety of third-party products that dwarfs that of all its competitors. Im actually in the middle of resolving a conflict between two third-party products on Windows (the Cisco VPN client and F-Secures anti-virus software). When everyones working in user mode things work smoothly almost all the time, and damage from conflicts and bugs can be limited. But with kernel mode code the potential is there, as I have seen with my problem, to reboot the system or blue-screen it.

Microsoft plans to tweak the privilege escalation prompts in Vista after beta testers complained that the current implementation is "annoying." Click here to read more.

Now, starting with higher-end Vista systems, Microsoft is instituting a system to help users determine how trustworthy specific device drivers are (80-page Word document). There will be a Premium Logo Program so that customers will know which drivers have demonstrated a high level of quality in the real world. The DQR (Driver Quality Rating) system is designed to take feedback from OCA reports and rate drivers for their performance in the real world.

The scale will be from 1 (really bad) to 9 (really good). Drivers rated 7-9 will be rated "green," 4-6 rated "yellow," and 1-3 rated "red." If a driver falls out of the green zone, the driver manufacturer or OEM, whoever is responsible, has to address the situation within 90 days or bad things will happen.

What could happen? Systems using non-green software will not be eligible for Windows Logo certification. This specific pressure falls on the OEMs, like Dell, who will then have a serious incentive to pressure driver manufacturers to maintain high quality and to design and test their own systems more thoroughly. Or will they? Maybe the answer for OEMs who dont come up green is to run the red light, as it were, and see if they get away with it. Im sure there are plenty of people and companies who are influenced by the logo and might change purchasing habits as a result, but maybe well see for sure real soon.

Security Center Editor Larry Seltzer has worked in and written about the computer industry since 1983. More from Larry Seltzer Check out eWEEK.coms for the latest security news, reviews and analysis. And for insights on security coverage around the Web, take a look at eWEEK.com Security Center Editor Larry Seltzers Weblog.
Larry Seltzer has been writing software for and English about computers ever since—,much to his own amazement—,he graduated from the University of Pennsylvania in 1983.

He was one of the authors of NPL and NPL-R, fourth-generation languages for microcomputers by the now-defunct DeskTop Software Corporation. (Larry is sad to find absolutely no hits on any of these +products on Google.) His work at Desktop Software included programming the UCSD p-System, a virtual machine-based operating system with portable binaries that pre-dated Java by more than 10 years.

For several years, he wrote corporate software for Mathematica Policy Research (they're still in business!) and Chase Econometrics (not so lucky) before being forcibly thrown into the consulting market. He bummed around the Philadelphia consulting and contract-programming scenes for a year or two before taking a job at NSTL (National Software Testing Labs) developing product tests and managing contract testing for the computer industry, governments and publication.

In 1991 Larry moved to Massachusetts to become Technical Director of PC Week Labs (now eWeek Labs). He moved within Ziff Davis to New York in 1994 to run testing at Windows Sources. In 1995, he became Technical Director for Internet product testing at PC Magazine and stayed there till 1998.

Since then, he has been writing for numerous other publications, including Fortune Small Business, Windows 2000 Magazine (now Windows and .NET Magazine), ZDNet and Sam Whitmore's Media Survey.

Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel