ie8 fix
madison

Zero Day

Ryan Naraine, Emil Protalinski and Dancho Danchev

Microsoft: Human error caused critical SMB2 vulnerability

By | October 19, 2009, 9:35am PDT

Summary: Microsoft is blaming human error for the the critical SMB v2 vulnerability that exposed Windows users to remote code execution attacks

Microsoft is blaming human error for one of the critical SMB v2 vulnerabilities that exposed Windows users to remote code execution attacks and argues that it’s near impossible to catch these types of bugs with existing code review tools and techniques.

According to a post-mortem of the issue by Redmond security guru Michael Howard (right), the company detected the vulnerable code “very late” in the Windows 7 development process but argued that there are no static analysis tools or SDL requirements that would spot this type of human error.

“Right now there is no static analysis tool I know of that would point out the developer used the wrong variable, and our analysis tools didn’t spot the potential array bounds problem in part because it’s hard to do so with generate a very large quantity of false positives,” Howard said.

“There is only one current SDL requirement or recommendation that could potentially find this, and that is fuzz testing. In fact we did find it very late in the Windows 7 development process through network fuzzing and that is why post-RC versions of Windows 7 do not have this bug,” he added.

Howard did not explain why the fix was not back-ported to Windows Vista and other vulnerable versions until it was independently discovered and released by external security researchers.

[ SEE: Microsoft security guru: Get fuzzing ]

He said the only other technique that could find this type of vulnerability — an incorrect variable in an array reference — is the process of “very slow and painstaking code review.”

This code was peer-reviewed prior to check-in into Windows Vista; but the bug was missed. Humans are fallible, after all.

Howard said the types of vulnerabilities surfacing in Windows OS code today shows that the mandatory SDL has “whittled away most of the ‘low-hanging’ bugs.”

Of course, I might be proven wrong, but looking at all the bugs over the last year in Windows, the only pattern I can spot is there is no pattern! The majority of the bugs I see in Windows are one-off bugs that can’t be found easily through static analysis or education, which leaves only manual code review, and for some bug classes, fuzz testing. But fuzz testing is hardly perfect, because the malformed data might not hit the vulnerable code path or trigger a failure in the code.

He called on software developers to spend more time on defenses against unknown vulnerabilities, as well as trying to prevent or remove vulnerabilities.

See: MS09-050, SMBv2 and the SDL, by Michael Howard.

Kick off your day with ZDNet's daily e-mail newsletter. It's the freshest tech news and opinion, served hot. Get it.

Topics

Ryan Naraine is a journalist and social media enthusiast specializing in Internet and computer security issues.

Disclosure

Ryan Naraine

The most important disclosure is of my employment with Kaspersky Lab as a member of the global research and analysis team. Kaspersky Lab is a global company specializing in anti-malware and secure content management technologies. I do not own stocks or other investments in any technology company.

Biography

Ryan Naraine

Ryan Naraine is a journalist and social media enthusiast specializing in Internet and computer security issues. He is currently security evangelist at Kaspersky Lab, an anti-malware company with operations around the globe. He is taking a leadership role in developing the company's online community initiative around secure content management technologies.

Prior to joining Kaspersky Lab, Ryan was Editor-at-Large/Security at eWEEK, leading the magazine's and Web site's coverage of Internet and computer security issues and managing the popular SecurityWatch blog, covering the daily threats, vulnerabilities and IT security technologies. He also covered IT security, hacker attacks and secure content management topics for Jupiter Media's internetnetnews.com.

Ryan can be reached at naraine SHIFT 2 gmail.com. For daily updates on Ryan's activities, follow him on Twitter.

35
Comments

Join the conversation!

Just In

RE: Microsoft: Human error caused critical SMB2 vulnerability
efsane Updated - 8th Apr 2011
Great!!! thanks for sharing this information to us!
sesli sohbet sesli chat
That very bad. I was wondering this myself when
news broke that Win 7 was not vulnerable.

What were they thinking? Fixing a bug and
"forgetting" that other versions may actually
be vulnerable?

Or had they actually recorded this bug
internally but decided to "sit on it" until a
more convenient time (s Vista SP?) because
nobody knew about it.

This is fishy and I would like to see some
better explanation for this.
0 Votes
+ -
it's probably the dunderhead factor
Narr vi 19th Oct 2009
It seems Microsoft is just as sclerotic as many
US corporations.

Very likely the groups don't meaningfully talk
to each other, being in 'competition'. Thus
some smart fellows on the new project aren't
listened to by those who maintain the old.

Whether this would explain the 'smack forehead'
feeling that MS design so often evokes, I don't
know. You can meet that kind of design
regularly.

Try as I did the new Hulu Desktop.

Try to put a movie in your queue...which is the
most used function of it, besides searching and
playing.

Oh, yes. There is no search...just various
kinds of listings. That is probably a 'marketer
culture' decision, actually - force the
customer to be lost in a sea, and maybe s/he'll
bite on something s/he ordinarily wouldn't.
Like your grocery chain store.

I am trying to connect this marketer idea back
to MS...and it is sad, really, as surely there
are some nice and thoughtful persons who work
there.
0 Votes
+ -
sure
Narr vi 19th Oct 2009
Hulu Desktop is just another example of d-f.
0 Votes
+ -
The bug may have been very public...
Joe_Raby 19th Oct 2009
but the actual likelihood of attack is pretty slim, unless your IT department is incompetent. On several clients of mine that have Small Business Server 08 (based on Windows Server 08, not 08 R2) had a very low probability of attack because an attacker would have to penetrate their edge defenses before they could actually do any damage, and the vulnerability doesn't affect edge security.
0 Votes
+ -
Foolish thinking
Old Techie 20th Oct 2009
What if the attacker is inside the edge? The most destructive security penetrations occur from inside and while servers are more protected, many break-ins from the outside are proxied through security lapses on workstations.

Defense in depth.
Funny, i thought pretty much all security vulnerabilities were as a result of human error.
0 Votes
+ -
No really?
Ceridan 19th Oct 2009
Human error caused a vulnerability... what news...
Hi, I have Win 7 RTM and checked and don't have this vunerability.
All "programming errors" are Human Errors!
0 Votes
+ -
It could only possibly be human error...
boomchuck1 19th Oct 2009
HAL: Let me put it this way, Mr. Amor. The 9000 series is the most reliable computer ever made. No 9000 computer has ever made a mistake or distorted information. We are all, by any practical definition of the words, foolproof and incapable of error.
0 Votes
+ -
Human error or no.........
Ole Man 19th Oct 2009
Microsoft will (as always) blame somebody else (besides Microsoft.

http://blog.marcocantu.com/blog/microsoft_blames_vista_users.html
Microsoft Blames Users for Vista Problems
An article covering "Five Misunderstood Features in Windows Vista" claims that all Vista problems are only perceived by users and blames their judgment of the OS. You can get upset, or have a good laugh.

http://news.zdnet.co.uk/software/0,1000000121,39418108,00.htm
Microsoft blames users for Vista infections

http://www.builderau.com.au/news/soa/Microsoft-blames-users-for-OneCare-fiasco/0,339028227,339274293,00.htm
Microsoft blames users for OneCare fiasco

http://blogs.zdnet.com/Burnette/?p=65
Open source gets results, while Microsoft blames malware on 'stupid users'
Posted by Ed Burnette @ 2:21 pm

http://boycottnovell.com/2009/02/14/never-blame-microsoft-blame-users-and-exploits/
Never Blame Microsoft, Blame Users and Exploits

http://pcworld.about.com/od/windows/Microsoft-blames-human-error-f.htm
Microsoft blames human error for WGA glitch
Microsoft Corp. blamed human error for a problem that identified legitimate Windows users as pirates last week.

http://www.eweek.com/c/a/Security/Microsoft-Blames-Hotmail-Data-Leak-on-Possible-Phishing-Attack-546897/

http://www.google.com/#hl=en&source=hp&q=Microsoft+blames+%3F&aq=f&aqi=&oq=&fp=c807e9ccc08a197a
0 Votes
+ -
How is "human error" blaming someone else?
Michael Kelly 19th Oct 2009
The Microsoft Corporation is made up of humans. I don't see how "human error" can be interpreted as anything other than "it's our fault, now we have to fix it".
0 Votes
+ -
OK, I stand corrected
Ole Man 19th Oct 2009
This is the first time I have seen Microsoft NOT blame somebody else. I give them credit where credit is due. They need it BADLY.
0 Votes
+ -
Yawn!!
Confused by religion 19th Oct 2009
zzzzzzzzzzzzzzzzzzzzzzzzzz
0 Votes
+ -
human error
mrdt 19th Oct 2009
While I agree with you that lately all the blame has been shifted to everyone else except Microsoft, this is clearly Microsoft admitting that it was their mistake.
0 Votes
+ -
grin
0 Votes
+ -
You must not work in IT
TheLightcosine Updated - 12th Nov 2009
Because most of those 'microsoft blames' issues
are valid. the onecare situation is a perfect
example. Those users had to have clicked on an
option to delete those files. (how dare the evil
MS not go based on the assumption that every
user is a total moron!) I'd be willing to bet
90% of malware infections worldwide are caused
by 'stupid' users.

The fact of the matter is every major devlopment
shop these days is having serious issues keeping
up due to two reasons.

1)the threats out there are gorowing in number,
permeation, and complexity

2) the user base is growing larger and larger.
and whole new demographics of lay-users are
entering the market. people who do not
necessarily understand anything about computing,
it's history, or the propper way of doing
things.

All of the big dev companies out there face
these issues. Microsoft happens to be one of the
msot widespread in it's product penetration and
his the highest profile. so it has become trendy
to bash them anytime they mgiht get it wrong, or
something bad happens.

i am not an avid MS fan. i think some of their
coding practices are still absurd, and they'll
only pry me away from Debian when i'm dead. but
come on people let's be honest here, nobody's
really playing fair with MS these days. Give
them the benefit of the doubt, there are some
really good people over there. Don't believe me,
go read some of Mark russinovich's stuff, the
guy is brilliant.
0 Votes
+ -
I can respect that, Microsoft knows they are only human and are prone to the mistakes as are others. They aren't trying to be above this or sweep it under the rug. They openly admit that it was human error. I respect that it took actual humans to find it instead of software, and that is no easy task. Microsoft always takes the steps necessary. Good for them.
0 Votes
+ -
Human error: End Users
Randalllind 19th Oct 2009
I am shocked they took the blame most of the time they blame us.

Or in Vista case they took the blame then a week later change their minds and blame every vista user.
Perhaps the answer is to trim unnecessary code and write code that is easily understood when testing!

Even supercomputers can't test programs with millions of lines of code for every possible data situation or program path!

Several teams testing independently can help!

Test test and retest!. It's like measure twice, cut once. But design principles are more important.

Linux has the right idea with a small kernel which is well-tested and well-protected. Windows kernel is huge and can have many additions to it whilst running, instead of running all add-ons peripherally!

Shame we can't have a Windows built on Linux/ Unix principles. It would mean recoding everything but it would be a world-beater!
0 Votes
+ -
Linux has a small Kernel?
Earthling2 Updated - 20th Oct 2009
Perhaps the answer is to trim unnecessary code and write code that is easily understood when testing!

Agree 100%

Linux has the right idea with a small kernel which is well-tested and well-protected. Windows kernel is huge and can have many additions to it whilst running, instead of running all add-ons peripherally!

It appears that Windows and Linux use similar concepts.

Linux Kernel is classified as a monolithic Kernel, however some drivers may run in user space:

http://en.wikipedia.org/wiki/Linux_(kernel)#Architecture

http://en.wikipedia.org/wiki/Kernel_panic

http://www.theregister.co.uk/2009/09/22/linus_torvalds_linux_bloated_huge/.

In Vista and above many drivers run in user space:

http://en.wikipedia.org/wiki/Hybrid_kernel#NT_kernel

http://en.wikipedia.org/wiki/Technical_features_new_to_Windows_Vista#Drivers.

Mac OSX apparently has both a microkernel and limited hardware set, which should help to control OS "bloat". Yet the system is not invulnerable:

http://www.securemac.com/

Have fun.
0 Votes
+ -
Shame on you, Ryan
MDev@... 19th Oct 2009
The description of this story that appeared in the ZDNet Must-Read News Alert read, and I quote,

"Microsoft is blaming human error for the the critical SMB v2 vulnerability that exposed Windows users to remote code execution attacks by Ryan Naraine"

Apart from the repeated article, shame on you, Ryan, for making all those remote code execution attacks.
0 Votes
+ -
great minds....
rroberto18 19th Oct 2009
yes, i noticed and laughed at that too...but you
beat me to the reply click
how is this news?

Cheezy PR from fluffysoft. Computers only process what the
user puts into them. If you forget something, the computer
isn't going to know or care. It just does what it's told.

If only humans were as easy to program! grin
I think that t is wonderful that ZD Net has admitted that one of its staff caused these problems.

I am disapointed, however that most of the comments do not address that aspect.
0 Votes
+ -
NickNielsen 19th Oct 2009
laugh
0 Votes
+ -
Good you confessed to it, Ryan!
promytius1@... 19th Oct 2009
To quote the email:"Microsoft is blaming human error for the the critical SMB v2 vulnerability that exposed Windows users to **remote code execution attacks by Ryan Naraine** "
It CLEARLY states YOU did it, Ryan!
The English language isn't dead, but most of its users are brain dead...
0 Votes
+ -
Good you confessed to it, Ryan!
rgoeken1@... 20th Oct 2009
KUDOS to you for pointing out that we have a hacker at ZNet! You are right though, with all the tools available to us now was still see silly things like the lead title in the email!
0 Votes
+ -
lol
ljenux-23043766007667558234416105604265 20th Oct 2009
human error made windows also, so what...
Some examples of human error:

Buying a PC with windows installed.

Using a PC with windows installed.

'upgrading' from XP to Vista - no sorry thats insanity!
0 Votes
+ -
Exactly!
john_gillespie@... 20th Oct 2009
Also, connecting a Widows box to the internet ...
how many other human errors will be?
0 Votes
+ -
There is one way...
914four 21st Oct 2009
"Microsoft is blaming human error for one of the critical SMB v2 vulnerabilities that exposed Windows users to remote code execution attacks and argues that it?s near impossible to catch these types of bugs with existing code review tools and techniques."

The fact is that if peer review means one or two others looked at it and missed it, that is human nature. This shows why FOSS code is typically better, because peer review does not mean one or two, but rather an entire community. If you write a letter and show it to your buddy, he might not catch a typo. But show the letter to 100 people and the likelihood of someone catching the typo is significantly higher. I repeat my statement that if Microsoft wants to remain relevant 10 years from now they seriously need to reinvent themselves and embrace Open Source.

Of course, that's just my opinion, I could be wrong.
0 Votes
+ -
Great!!! thanks for sharing this information to us!
sesli sohbet sesli chat

Join the conversation!

Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]
ie8 fix
Click Here
ie8 fix

The best of ZDNet, delivered

ZDNet Newsletters

Get the best of ZDNet delivered straight to your inbox

Facebook Activity

White Papers, Webcasts, & Resources
ie8 fix
ie8 fix