Microsoft earlier last week announced a new system for rating the severity of security holes in its software. But it also urged the security community to exercise better judgment about publicising software vulnerabilities and detailing how they can be exploited.

The practice of publishing explicit, step-by-step instructions for exploiting vulnerabilities contributed to the damage that was inflicted on users of Windows-based systems by recent worms such as Code Red and Nimda, said Scott Culp, manager of Microsoft's Security Response Center.

But the flipside of this is that, though Microsoft had raised a valid and long-standing issue, the company itself is to blame for many of the security problems affecting its software.

"The problems are most certainly not caused by full disclosure. They're caused by bad coding practices," said Josh Turiel, network services manager at Holyoke Mutual Insurance in the US.

Culp said in an interview that Microsoft's investigations of worms such as Nimda, Code Red and Sadmind clearly showed that the worms used exploit techniques similar to ones that had been detailed publicly, in some cases employing even the same filenames and exploit code.

Leaving specific examples of exploit code out of vulnerability information is generally a good idea, Turiel agreed. But, he added, "the danger as I see it is that if someone discovers a flaw and it's not repaired or disclosed to the public, how do we defend against people who know about it?"

David Lelievre, a project manager at US application service provider Tweddle Information Services, said the notion that "a systems administrator should bury his head in the sand and install patches without knowing what they are going to actually do to the system is ridiculous". A mere lack of published information is "not going to prevent the next wonder kid from writing a virus", he added.

But Daniel McCall, an analyst at security consultants Guardent, said Microsoft does have a point.

"Our view is, don't tell people how to break a system," McCall said. A far better approach is to release vulnerability information only after a fix has been developed, he said, adding that Guardent's policy is to inform vendors and other relevant parties when holes are discovered, then wait until patches are available before publicising the flaws.