QuicksearchGoogle the SiteSyndicate This BlogCC Licensesupersized.org |
Friday, November 17. 2006Windows can't be secured, because it lacks package managementI've written here before about some reasons free, openly developed software generally has fewer security issues than proprietary software. However, one would expect Microsoft to beat the odds, since they're capable of funding any development process they want. They can hire world-class programming and QA teams and make sure at least their software contains no bugs or vulnerabilities. Of course we all know that doesn't happen, but it might one day. I'd like to point out that there's another fundamental reason Windows and Office, or any similarly proprietary OS and applications bundle, can't be as secure as a good Linux distribution. Since I used to be a Gentoo Linux packager, I naturally consider package management to be the indispensable quality Windows lacks. Package managers are good for youModern package managers, like Gentoo's Portage, have all kinds of advanced functionality but none of it is as important as the basic one: one-line (or one-click for the GUI masochists out there) installation, uninstallation, and upgrading of any program. The amount of packages available in a mainstream distribution today is on the order of 10,000, and most of them also have semi- or unofficial package repositories containing thousands more. The average user can spend their entire life without ever needing to install something manually, and so the average (non-technical) user often doesn't even know how to do it, not even on the level of ./configure; make; make install. (A techie who needs to install something that isn't packaged will often create an unofficial package for it along the way.) So where am I going with this? Obviously Windows has no package management. Note that I'm not talking about a unified technology to create setup programs - that's what MSI, the Microsoft Installer, is for - but about a central repository of programs, and a way of managing them once they're installed. The Add/Remove Programs list doesn't count either - in fact it's not even in the same category:
Lacking an official way to install or upgrade something, the security average home Windows user is severely compromised. There are three reasons for this:
How Windows would benefit from package managementThere's a good reason, historically speaking, why a Windows user can't tell his computer 'install the latest version of Photoshop' the way I can run 'emerge gimp'. That's because Photoshop isn't free, not even free as in beer. But everyone and his uncle has an e-commerce system these days. Buying software online isn't any more difficult than buying music. In fact it's easier, because you don't have to worry about someone's software or hardware media player not supporting your DRM. So why doesn't Microsoft organize a big marketplace where people can buy, download, and automagically install/upgrade any Windows programs someone else might want to sell? It seems like a win-win situation:
There are advantages for Microsoft, too (apart from using the same system themselves for their applications - it beats Microsoft Update hands-down). They can take money from companies for the right to use the system. Once it's successful enough, they can kill competitors or just unwanted software by refusing to include it. They can sell digital signatures of approval, like they do today for drivers, that would actually mean something ("the latest driver will be downloaded and installed automatically, just plug-in your new hardware" is a big step forward from "the accompanying disc includes a year-old WHDL-approved driver"). And they would use the system themselves to get even more power than they have today, in the form of being able to send out an upgrade that would be installed on every Windows machine in the world. Or a command to uninstall some software that's buggy, breaks somebody's DRM, or has been banned by US courts. Come to think of it, some authoritarian-minded governments would definitely be in favor of this technology. Why there's no Windows package managerSo why don't they do it? I think the main reason is actually technological: even if you brought everyone's installers together, their average quality wouldn't be up to scratch. Today most installers use MSI, but if Microsoft were to impose some quality control, many would be disqualified due to broken upgrade or removal procedures, and many software packages would be unable to be installed together, due to either bugs or nasty competition. And of course the ideal of actually sharing shared libraries, and being able to update them separately from the apps using them, would require a colossal amount of work from everyone involved. In fact I doubt that last could be made to work in anything other than a free software setting. I can think of some other, less likely reasons why this hasn't been done. One is that Microsoft hasn't been successful in establishing a single online identity and means of payment. And they probably missed their chance to buy eBay, who have allied with Google. But they've never had anything interesting to sell yet. It seems worth a try. Another obstacle is the ever-present antitrust threat. If Microsoft were to offer such a system, they would increase their monopolistic power while killing off anyone already in that niche. Admittedly there's no existing database of installations of Windows programs, but there are quite a few programs out there that offer to distribute and manage software across your Windows network, including at least one owned by Microsoft (not counting the builtin Group Policy method of distributing MSI packages in a Windows domain). If Microsoft were to expand their solution to encompass official support from big ISVs, they would gain a big advantage against competitors. Is there a real threat to Microsoft from antitrust regulators? I honestly have no clue, but I do know it hasn't seemed to stop them before. Perhaps the ISVs themselves wouldn't want to go along. There are many reasons for an ISV to fear joining such a venture. It should be seen as Microsoft roping in the entire Windows software industry en masse, opening their mouth wide for a huge last embrace-and-extending move that gives them direct control over all software ever written for Windows. But Microsoft is good at making a few companies go along, then playing them against those who hang back. Once enough ISVs sign up, they can be given preferential treatment. Once everyone Microsoft likes signs up, the next version of Windows after Vista can simply disallow installation of any programs not signed by Microsoft and distributed via the MS package manager. (Think that's over the top? Vista already does that for drivers. Why not for everyone else? It's not open-source drivers that Microsoft has to compete with, after all.) The only good thing about all this is that noone but Microsoft can start such a move. A package manager for Windows wouldn't gain critical mass without having Microsoft's own updates and installations on board. So perhaps I should chalk it up in the horribly-evil-things-Microsoft-can-do-but-hasn't-yet category. (A system that lets Microsoft control a whitelist of what Windows software is allowed to exist, and to change or uninstall any such software remotely? Sure it's evil.) I just hope by the time they get around it, Windows will have lost enough ground that tightening their control only hastens the inevitable. Have you got a better idea why Microsoft never made a real package manager? If you do, please leave a comment or write me! Trackbacks
Trackback specific URI for this entry
No Trackbacks
|
Tagged entriesArchivesThis Entry's LinksReferring links
|

Owner login