According to Microsoft, the much-maligned computer worm could offer the perfect model on how to distribute software patches more efficiently.
According to an article in the New Scientist, researchers at Microsoft’s UK lab in Cambridge have hit on the unorthodox solution of distributing software updates using the techniques by which worms spread, copying themselves from machine to machine.
As with worms, a patch sent out into the world with such a design would copy itself to as many PCs as possible, probing for further machines through which to continue the virtuous cycle.
The advantage is that such a model is more efficient, removing bottlenecks caused by having to have banks of servers to distribute updates, as is the case today.
"After it fails to reach new uninfected hosts a fixed number of times in a row, say 10, it moves on to find new groups using random sampling," Microsoft Research team member Milan Vojnović was quoted as saying. "These strategies can minimise the amount of global traffic across the network."
The spread of such patches would also help model the nature of worm attacks themselves. "If we understand how future worms might be capable of spreading, we can design better countermeasures," said Vojnović, who didn’t explain why a type of malware that has been dying out in recent times would necessarily be worth modelling at all.
The idea of ‘friendly’ worms isn’t new. In 2001, a German programmer released an ‘anti-worm’ designed to spread with the sole purpose of patching the effects of the infamous Code Red worm.
Although Microsoft’s worm concept is slightly different – the anti-worms were designed to counter only specific threats – it is likely to be just as controversial. The problem is that a hosted patch can be verified as coming from a specific server and passed as fit to be accepted. It is not clear how the same patch coming in peer-to-peer fashion could be safely assumed to be legitimate.
Microsoft’s researchers will present their idea at IEEE Infocom Conference to be held in Arizona in mid-April.