When it comes to keeping client software patched against the latest known security vulnerabilities, automatic updates are one of the more effective mechanisms out there. By shifting the burden of checking regularly for updates from the user (we humans are notoriously unreliable) to the software, companies ensure that users at least are aware of the patches and, depending on the configuration, even get the patches installed automatically.
We’ve previously written about the problem of a software vendor abusing this system to push new software and/or potentially unwanted functionality to users’ computers. (See also the discussion here.) But, over at the blog of the Center for Education and Research in Information Assurance and Security (CERIAS), Gene Spafford writes about a different potential problem of automatic updates: they can break things. As Spafford writes:
The [Samsung BD-P]1500 [Blu-Ray player] came up with an on-screen message early in the week that a firmware update was available. Having had experience with downloads and upgrades of OS components, I waited a couple of days before doing anything. When I initiated the download, it completed without error, according to the display. However, after completion, it too was dead—no response to anything, including reset codes.
He goes on to relate Samsung’s response which, boiled down, was that they acknowledged the problem but didn’t know when there would be a fix available. In other words, installing the automatic update made his device unusable, and there was nothing he could do about it.
Thinking about the Apple Software Update fiasco, Spafford’s experience with his Blu-Ray player, and various past cases of updates causing some users’ systems to crash, I’m struck by the amount of power that a software or hardware vendor has when it incorporates an automatic update feature into its product. With little more than a single click by the user (or in the case of unattended updates, not even that), the vendor has the potential to disable a product, enable new functionality, push new products, and more.
Spider-Man’s uncle famously said, "With great power comes great responsibility." Indeed, any vendor incorporating automatic updates has a responsibility to use the feature in a way that benefits and protects the customer and does not abuse the customer’s trust. At a minimum, this includes sending updates only after extensive testing, protecting the system from abuse (e.g., someone coopting the system to distribute malware), quickly notifying users of and correcting "bad" updates, and avoiding the temptation to push new products or potentially unwanted functionality down users’ throats.
[Hat tip to Jon Kibler for bringing Spafford’s blog post to our attention.]