Severe security bugs are getting harder to find, especially is gigantic pieces of software such as the Windows operating systems. Microsoft has spent millions attempting to defeat bugs, and arguably leads developers in secure software programming practices by vetting new code with automated analysis programs and by retraining all its developers in secure coding practices.
Yet, occasionally serious security flaws still slip through.
This week, that is exactly what happened when an independent security researcher revealed some details of a vulnerability in the Windows code that handles file and printer sharing, known as the server message block (SMB) protocol. The researcher, Laurent Gaffié, found the flaw using a technique known as “fuzzing” that tries to break a program by inputing random, but structured, data.
Gaffié focused on the latest version of the code, known as SMB version 2, which is only included in Windows Vista and later versions of the Windows operating system. Finding the vulnerability was much easier than expected, he says. “It took exactly 15 packets (of data) and 3 seconds before SMBv2 got smacked,” Gaffié says. The researcher has spent the last year studying the Microsoft communications protocols, looking for weaknesses.
Microsoft acknowledged the existence of the vulnerability in an advisory on Tuesday. The flaw only exists in Windows Vista and in older versions of Windows Server 2008 and Windows 7, the company says. Moreover, Microsoft was already aware of the issue and had fixed it in the Windows Server 2008 and Windows 7, a spokesperson says.
“We found this issue independently through our fuzzing processes and implemented the fix into Windows 7 RTM (release to manufacturer) and Windows Server 2008 R2,” the spokesperson says. “We’re working to develop a security update for Windows Vista, Windows Server 2008 and Windows 7 RC.”
Last month, another researcher revealed a flaw in the code that handles short message service (SMS) data on Apple’s iPhone. He also found the vulnerability through fuzzing.