Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Microsoft Bug Programming IT Technology

Why Can't Microsoft Just Patch Everything? 640

paneraboy writes "If smaller software companies can patch all of their bugs serious or minor, ZDNet's George Ou asks, why can't Microsoft -- with its massive army of programmers and massive budget -- patch all of its vulnerabilities? Had Microsoft fixed a low risk browser vulnerability six months ago, perhaps we could have avoided last week's zero-day exploit. Currently, more than two dozen Windows XP issues remain unpatched. Ou thinks Microsoft ought to fix them all." From the article: "Almost 4 years after the launch of Trustworthy Computing, I found myself wondering why am I staying up till 4:00 AM to deliver an emergency set of instructions (Home and Enterprise) to my readers because Microsoft felt it unnecessary to patch a flaw six months ago that was originally low risk but mutated in to something extremely dangerous."
This discussion has been archived. No new comments can be posted.

Why Can't Microsoft Just Patch Everything?

Comments Filter:
  • by MSFanBoi2 ( 930319 ) on Thursday December 01, 2005 @11:47AM (#14157146)
    Seems like some members of the press don't understand coding. You can't just go and patch everything. Regression testing? Making sure all the changes work as needed without impacting other subsystems.

    Do you really think if Microsoft COULD do it, they wouldn't.
  • by Speare ( 84249 ) on Thursday December 01, 2005 @11:48AM (#14157155) Homepage Journal
    You can only patch a leaking boat so much, even if you drydock the vessel for a few months. When it's only held together by the barnacles and the masthead, it's going to sink whether you bail it out or not. At some point, you're going to have to re-think the design of that hull, and start from scratch.
  • by malcomvetter ( 851474 ) on Thursday December 01, 2005 @11:48AM (#14157157)


    I think MS has come a long way from where they were, but I agree. To the people who claim it can't be done: OpenBSD [openbsd.org] does it!

  • by nuggz ( 69912 ) on Thursday December 01, 2005 @11:49AM (#14157170) Homepage
    Why should they?

    People will still buy thier product, people accept that it sucks.
    Unless they see a good ROI on patching or developing good code they won't.

    Quite honestly if it isn't a worthwhile use of their resources they shouldn't patch code.

    When there is serious competition and code quality becomes a competative advantage they'll fix it.
  • not a priority (Score:5, Insightful)

    by iggymanz ( 596061 ) on Thursday December 01, 2005 @11:49AM (#14157177)
    Microsoft is growing and profitable having their developers do other things, until such time as they are held hugely financially liable for their bloated buggy crap they won't make that their prime focus
  • by xtracto ( 837672 ) on Thursday December 01, 2005 @11:50AM (#14157183) Journal
    Why can't the Mozilla Software Foundation allt the 6300 [mozilla.org]
    Firefox Bugs? instead, they have to release a "new" version... just freeze the freaking lreleases and patch your bugs!

    No, OSS is not free of bugs
  • by dada21 ( 163177 ) * <adam.dada@gmail.com> on Thursday December 01, 2005 @11:51AM (#14157190) Homepage Journal
    If Microsoft fixed everything, then the companies that made programs that allowed users to work around the "flaws" in Windows would go to the federal prosecutors and demand that Microsoft be sued for having a monopoly on fixing their own bugs.

    All kidding aside, Microsoft has a huge amount of users, maybe more than any other product in existance (I didn't do the research). This does mean that more bugs will be found, and the reason behind not fixing certain bugs may be that the bug was addressed in a future rollup or patch already. Because Microsoft is a massive corporation with so many departments, it is possible that Microsoft BugCentral says "Fix this!" and Microsoft PatchCentral says "We fixed it in Article 931321 coming next week" and Microsoft ReleaseCentral says "We're waiting for a fix on another bug before releasing that."

    I'm not a fan of it, but it is really hard to just come out and say they're ignoring a bug, when it may be something deep set within the software (hard to remove) or it might be addressed but on hold for another reason (opened up another flaw?). If we think we as geeks found all the vulnerabilities, we're fooling ourselves. Windows is a massive program, and even Linux has ongoing flaws. When Linux has as many third party apps and interconnecting drivers as Windows does, I'll accept a complaint towards getting things fixed post haste. Until then, we just have to (thankfully) support third parties that give us options! (And paychecks)
  • Re:Good ole' 2002 (Score:2, Insightful)

    by Doc Ruby ( 173196 ) on Thursday December 01, 2005 @11:52AM (#14157195) Homepage Journal
    You mean like when someone says "if smaller software companies can patch all of their bugs" means "if all smaller software companies can patch all of their bugs"? Thanks for the permission to flag all of your future posts as "joke".
  • What the? (Score:1, Insightful)

    by bobintetley ( 643462 ) on Thursday December 01, 2005 @11:52AM (#14157196)
    Is this guy completely retarded?

    As much as we may despise it, Windows is a very large, complex piece of software. As bugs are fixed and features added, more bugs are created and so the cycle goes on.

    This is the reality of software development. Does he really think that if Microsoft could fix every bug they wouldn't do it?
  • by Shakrai ( 717556 ) on Thursday December 01, 2005 @11:56AM (#14157260) Journal

    Do you really think if Microsoft COULD do it, they wouldn't.

    Just because they CAN do something doesn't mean that they WILL. Anybody care to remember what it was way back in the day with Microsoft software? Anybody remember how they ignored holes that were exploited far worse then this one until the public outrage overwhelmed their PR spin?

    They don't look on security as anything other then a marketing ploy.

  • by teh kurisu ( 701097 ) on Thursday December 01, 2005 @11:57AM (#14157265) Homepage

    The best way to find a bug is to take the code away from the original programmer and give it to a dedicated tester.

    The best way to fix a bug once it's found is to give the code back to the original programmer, and tell them to go fix. Because they know the code. And it's less likely that fixing the bug will introduce more bugs. Obviously, this limits the amount of people you can set to the task of fixing them - and in a project the size of Windows, there are a lot of them.

  • Exactly. I don't program, I've just read Slashdot for the last few years or so (UID war?) but even I know that software is so interrelated, especially something with a codebase as large as Windows, that if you change one area, there will be effects somewhere else. You cannot change many things at the same time because you will never be able to figure out which did what. You have to do things serially. That's why you cannot fix Windows all at once.
  • Unsafe at Any MHz (Score:1, Insightful)

    by Doc Ruby ( 173196 ) on Thursday December 01, 2005 @12:01PM (#14157330) Homepage Journal
    Maybe Ou is up at 4AM protecting Microsoft's customers for free because it doesn't cost Microsoft anything. Microsoft needs a class action suit loss, or steep hikes in their insurance rates anticipating such a loss. The days when publication of unsafe product exposés like Unsafe at Any Speed [wikipedia.org] transform an industry are long gone. Industries have learned to insulate themselves from books read only by the tiny American intelligentsia by publishing vast overbalancing PR. Some industries even have bought immunity from liability [bradycampaign.org] for their unsafe products. Since the Supreme Court has now found that software companies are liable for damages caused by their users' use of their unmodified products [eff.org], maybe we will see Microsoft liable for the vast damage caused when people use their products the way they promote them. Or maybe we're looking forward to an imminent release of a WiFi "Microsoft Machinegun".
  • by Shad_the_protector ( 931920 ) <shad_the_protector@hotmail.com> on Thursday December 01, 2005 @12:03PM (#14157344)
    If smaller software companies can patch all of their bugs serious or minor, ZDNet's George Ou asks, why can't Microsoft -- with its massive army of programmers and massive budget -- patch all of its vulnerabilities?

    Ok have I missread something?

    Small companies = 1 or 2 programs with each a couple of thousands lines of codes. Usually new program, so fresh and structured code.

    Microsoft = dozens of programs, with each a couple of millions lines of codes. Usually based on ancient versions returning to the age of C when code was a little less structured than now and imprissivly patch over and over again.

    This said, you also count that some microsoft software are dealing with complex coding like memory managing, thread managing, hell all the computer managing.

    Also add that the goal of every microsoft user is exactly to find all flaws in microsoft and just point at them and says"HAHA! There is a bug there mr. MS." So it's not surprising that microsoft software have to deal with a lot of bugs.

    I think that pretty much make a answer to why Microsoft is like this.
  • by Reziac ( 43301 ) * on Thursday December 01, 2005 @12:03PM (#14157353) Homepage Journal
    And unfortuntely, over time your new hull will grow its own barnacles and weed, and you'll find that some of the planks used weren't as sound or warp-free as they appeared, and maybe the craftsmen who designed it weren't quite as expert as they thought, either. So sooner or later you'll have to tar that hull's leaks too. And the more rough seas and heavy cargo the boat experiences, the more often you'll have to tar it.

    Not to mention that a new hull design, or switching from sail to diesel, might require that you retrain all your sailors too!

  • by borawjm ( 747876 ) on Thursday December 01, 2005 @12:06PM (#14157383)
    Most importantly, why wasn't the utmost care taken on anything that takes foreign input (browser parsers, etc).

    I'd take a gander and say because you just don't know what people are going to throw at it until you let them have it.

    It's more cost effective to release a piece of software and apply patches periodically than to attempt to work out all the bugs (which is almost impossible) before you release it.
  • by Mr_Silver ( 213637 ) on Thursday December 01, 2005 @12:07PM (#14157397)
    That's why OSS methodologies have a bit of an edge in this context (and others).

    Not much of an edge when you consider that there are at least two bugs in Firefox which haven't been fixed for 5 and 6 years respectivily.

    Granted, they aren't as critical as the ones that come out of Microsoft, but I consider a couple of years to fix something more than a reasonable amount of time.

  • Answer (Score:4, Insightful)

    by Tom ( 822 ) on Thursday December 01, 2005 @12:10PM (#14157444) Homepage Journal
    Incompetence, disinterest, different priorities, and no business reasons to do it.

    Oh, he didn't really want an answer?
  • by Anonymous Coward on Thursday December 01, 2005 @12:11PM (#14157449)
    Yes, now let's compare the functionality of a base install of openbsd to a base install of windows... eureka I understand now!

    You can go on to claim 'well then just install secured packages as well', but it turns out third party apps never run as well as integrated apps. And microsoft is aiming at the people who want a working system out of the box, not a system that's basically a clean slate that you need to draw up yourself.
  • by Theovon ( 109752 ) on Thursday December 01, 2005 @12:15PM (#14157493)
    We're used to OSS products that can be patched in a day, but we're also used to seeing those patches break things in unanticipated ways, often making things worse.

    We're also used to picking on Microsoft for having buggy software. But they have extensive and long testing procedures, without which MS software would be WAY buggier on release. Their software is massive (for some good reasons and some bad ones), so it's a huge undertaking to fully test it.

    In order to avoid, as much as possible, unanticipated consequences of a patch, Microsoft cannot simple make the fix and release it. An argument could be made that if they were to do that, they would often create more vulnerabilities than they started with, so releasing too quickly would be a BAD thing to do. Windows 95 is an example of something that was released too quickly, lacking certain kinds of testing entirely; you can see the unfortunate results when you try to connect a Win95 box direcly to the internet and wait 5 minutes.

    So, why can't Microsoft 'patch everything'? Here are the reasons:

    (1) First, you have to FIND 'everything', and Windows is just massive.
    (2) When you make a change, you have to test it extensively, which takes a LOT of time.
    (3) Some patches are one-liners. Some affect large amounts of code that makes it even harder to anticipate consequences.
    (4) Sometimes, you have to test things one at a time. This serializes your patch process in such a way that it just takes a very long time. This is very hard to avoid.

    The fact of the matter is that if Microsoft were to 'patch everything', we would have a lot more to complain about. People should stop asking for stupid things and be realistic.

    Even OSS projects can't 'patch everything' successfully. Sure, many of them are better designed from the start, so there are fewer things to patch, but when a patch needs to happen, the same amount of testing is going to have to happen, one way or another (either you release a beta and let it get tested for a while, or you just stick it in and wait for the shit to hit the fan and end up fixing the consequences the same amount of time later anyhow).

    Also, certain people forget that Microsoft did go on a 'patch everything' hunt and DID fix a huge number of bugs. They still didn't find everything.

    Oh, and if we're just talking about patching everything that's currently known, my argument still stands. Patching a bug of vulnerability is often quite difficult.
  • by Anonymous Coward on Thursday December 01, 2005 @12:17PM (#14157514)
    I think you're missing the point: OpenBSD doesn't think it can make perfect software. But rather they have a policy of fixing any bug *no matter how small*.

    Microsoft (and other vendors) make a cost-benefit analysis.

    And that's where we get screwed.
  • Re:What the? (Score:5, Insightful)

    by oGMo ( 379 ) on Thursday December 01, 2005 @12:17PM (#14157523)
    Is this guy completely retarded?
    No; just because this:
    As much as we may despise it, Windows is a very large, complex piece of software. As bugs are fixed and features added, more bugs are created and so the cycle goes on.
    ...does not imply this:
    This is the reality of software development.

    This is not the reality of software development. This is the reality of incompetent developers and management perhaps: making technical decisions based on how to lock in your customers, work around lawsuits, and shove software out the door to crush the competition.

    Plenty of systems---yes, open source ones are good ones to look at---are not so bug-ridden and complex that they can't stay ahead of the curve and react quickly. If you write good software, if you're at least decent at what you do, that is the reality of software development.

    Does he really think that if Microsoft could fix every bug they wouldn't do it?

    But, they don't. They have reports of bugs for months, often, and do nothing until it's publically reported and/or there's an exploit in the wild. Does it take Microsoft 6 months to come up with a patch for a single buffer overrun? Or are they just too arrogant and think they're above doing anything about problems until they're exposed?

    How often do we see bug reports from Microsoft about a critical vulnerabilities, compared to third-party reports?

  • by pubjames ( 468013 ) on Thursday December 01, 2005 @12:20PM (#14157544)
    People will still buy thier product, people accept that it sucks.

    This is something that winds me up terribly about Microsoft, or rather, the people who use Microsoft software. For example, a friend has had absolutely terrible problems with his Windows XP laptop, tearing his hair out stuff with viruses and worms and other issues. He was going to buy a laptop for his wife and asked me for my advice. I said, buy an Apple laptop and you won't have all these problems. So what did he get? Another windows machine. Why? WHY??? Because everyone uses Windows, and he was afraid of something different. And this isn't the only example.

    I got my old mum and dad a Mac Mini - they love it, and their friends coo over the slide show software and ask me how to buy one. I explain it's an Apple computer, it's cheap and compatible and will have all the software they need already installed. Then I find out later they've brought a Windows machine, because their son uses one and they were afraid that if they got an Apple they wouldn't be able to email him.

    Microsoft survives because of the fear most people have of something different. Drives me nuts. My only recompense is saying to these people "You asked my advice and I said buy a Mac then you wouldn't have these issues. So sorry I can't help you. " when they phone me to solve their stupid problems...

    Rant over.
  • Mod parent up! (Score:5, Insightful)

    by khasim ( 1285 ) <brandioch.conner@gmail.com> on Thursday December 01, 2005 @12:20PM (#14157545)
    There are two types of "patching".

    1) Patches to fix code flaws in an otherwise sound security model.

    2) Band-aids for a flawed security model (anti-virus updates are in this category).

    Microsoft focused on "user friendly" and "easy of use" for so long to the detriment of security. And security cannot be retro-fitted to a system.

    When they merged IE with the OS, just to be able to beat Netscape, they opened the OS to a whole new category of exploits.

    And then ActiveX made web app programming so much easier ... and opened a whole other category of exploits FOR THE OS.
  • by Anonymous Coward on Thursday December 01, 2005 @12:25PM (#14157583)
    Which is exactly why, if they could they would. All the adverse marketing they get for not patching these things would go away and they could stand up to the opposition much better if they could say they have no bugs or security flaws.
  • by barfomar ( 557172 ) on Thursday December 01, 2005 @12:27PM (#14157613)
    If your present vehicle is working, what incentive do you have to buy a new one? It's only after it becomes unreliable (or really ugly from rust etc) that you think about replacing it.

    Software (despite what M$ would have us believe) doesn't wear out.

    The only way to sell new stuff is have it break down. They only fix a few vulnerabilities at a time to make us believe they're trying to keep it safe, but they really built the "rust" at the factory.

    Add a few new "features" (read code bloat) and the replacement cycle starts all over again.

    They're probably secretly supporting a few exploits the keep the damand up.

  • by i.r.id10t ( 595143 ) on Thursday December 01, 2005 @12:33PM (#14157686)
    On your Brady Campaign link... is it OK then for me to sue Ford because a drunk driving a Ford wiped out and took out my fence or loved one?
  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Thursday December 01, 2005 @12:38PM (#14157752)
    Comment removed based on user account deletion
  • by Numen ( 244707 ) on Thursday December 01, 2005 @12:44PM (#14157810)
    The initial post is a strawman argument...

    If smaller software companies can patch all of their bugs serious or minor, ZDNet's George Ou asks ...which predicate the argument on the notion that small software companies patch all their bugs.

    So if I go looking for bugs in say the Opera browser I wont find any, because small companies patch all their bugs?

    Nobody patches all their bugs; not small companies, and not large companies. The argument is a piece of sophistry that simply sets up another round of MS bashing. A fun sport, but it shouldn't be mistaken as anything exccept sport.
  • Microsoft has alot of employees to feed large salaries to. The teams of developers, designers, programers, PR guys.. They're still giving support and updates to an OS that's coming on 8 years old, on top of all their new product.

    Now, I can't say for certain, but I imagine that means that every time they release a new OS, their support staff grows bigger, whether in house or contracted out (I'm not sure how MS handles it).

    This is ALOT of people folks.

    So, you're in charge of keeping MS a growing profitable company. Does it make sence to focus your time on patch after patch after patch, which does nothing but tie up your employees with aditional support and coding while in no way contributing to the effor of actually paying them? Do you focus on pushing out the new OS, forswearing support of a decades worth of previous OS's, Office, and other programs (I'm not going to venture a guess at what they're still supporting... and how many questions they have to field about things they're not still supporting, and how many questions they get for, I dunno... any program that was ever made for PC that people have trouble making run out of the box.."

    Smaller companies don't have tis problem. For most of them, all they need is a relatively short testing period to make sure itruns on Windows. Microsoft has the reverse problem : to make sure ANY legitimate programs, however poorly implimented, run out of the box whilte at the same time distinguishing between those and malicious unwanted programs. They can't cater to the smart people either. Linux has less bugs, but lets face it; even the easy to instal builds are a brain job for newbies, and impossible for most grandmothers.

    So yeah, Microsoft has a full plate, and as ugly as it sounds, I doubt its economically fesable for them to fix everything. They have to prioritize. New features= new money. New patches = no money + continued expenses.

    Conspiricy theories aside, does anyone really think they *like* having a reputation for buggy software?
  • by thousandinone ( 918319 ) on Thursday December 01, 2005 @01:08PM (#14158067) Journal
    I don't think it's entirely fair or even accurate to compare Microsofts Products to those owned by smaller companys. It's misleading at best and blatantly false at worst to state that any company patches all of its exploits. There are always bugs in software, and usually an exploit to go hand in hand with any given bug. Smaller companys software appears to be more secure simply because their program is not as widespread; Windows, for example, is the most used and most well-known operating system by a considerable margin. Therefore, any exploit found in Windows will become common knowledge quicker, and will be exploited quicker. Indeed, I'd wager that Microsoft's products have been patched to prevent a far larger total number of exploits than just about any other companies products. By the same token, I'd say that many other products are left with a considerable number of unpatched exploits, the difference being that they either haven't been discovered or haven't entered common knowledge yet.

    Additionally, the size of the company is, in a sense, a two-edged sword. Sure, Microsoft has a ton of programmers and developers, which would indicate they certainly have the manpower for repairing exploits. However, when you have so many different people working on the same project, you run into problems. If you write a program entirely by yourself, it's relatively easy to look through your own code and see where you messed up. On the other hand, if you worked with a dozen other programmers together on a project, it would be considerably harder to figure out exactly where the issues was. Multiply that difficulty by 1000, and that's where Microsoft is. The term 'clusterfuck' comes to mind...
  • by slasher999 ( 513533 ) on Thursday December 01, 2005 @01:09PM (#14158069)
    That was my first impression when I read the original post, although you put it in much nicer terms than I was planning to. It sounds like plain ignorance to me. "Patch everything"? Even someone with a year or two IT experience would know that simply isn't possible. I think media covering IT should be required to know a good amount about the industry they are covering.
  • "Quality" (Score:5, Insightful)

    by RealProgrammer ( 723725 ) on Thursday December 01, 2005 @01:13PM (#14158118) Homepage Journal
    the minimum they have to do in order to keep people just happy enough to stick with their products.

    There was a business mantra in the '90s, and still out there today, that defines "quality" as whatever it takes to please the customer. Consultants hauled in buckets of money generating cliches out of that. Companies may be driven by customer satisfaction, which is fine as far as it goes, but it doesn't mean their products are any good.

    The flaw in the cliched definition is that often the customer doesn't know what they're getting or have any basis to judge how good the product is.

    Microsoft, being driven by market share, is a step removed even from that level of quality. They only want their customers to be happier with their products than with the competition (which is often another of their products or an earlier version of the same one).

    Making things properly is not in their range of capability.

  • by MassacrE ( 763 ) on Thursday December 01, 2005 @01:46PM (#14158454)
    I just ask my parents for their money and buy a mini for them. They can't believe how much nicer it is than windows. They are becoming born-again mac users, no longer able to understand how people can't make the leap of faith and accept steve jobs into their life.

    I am waiting for Apple to release the Mac Mini 6-Pack, so I can upgrade the rest of my family.
  • Re:Mod parent up! (Score:2, Insightful)

    by cnelzie ( 451984 ) on Thursday December 01, 2005 @01:49PM (#14158489) Homepage
    ActiveX is integrated into the Web Browser known as IE. IE is integrated into the Operating System. It's a cascading effect. Anything that Microsoft integrates into the web browser, Internet Explorer, is thus effectively integrated into the OS.

        Oh, you thought you actually had something there...

        So really, you have no idea what you are talking about.
  • by Zo0ok ( 209803 ) on Thursday December 01, 2005 @01:53PM (#14158549) Homepage
    I was reading a few weeks ago a MS spokesperson who answered the question why there are vulnerabilities. He said something like:


    Imagine you write a long long book. Even if you try to correct all the typos you may miss some of them. It is hard to publish a book with no typos at all.


    I think that was great fun! If MS management believes that the security problems are "typos" then I understand they cant fix them all. Of course, security problems are more like problems with the story line: contradictory events, inconsistent background and such things.


    Maybe they still have not accepted that the reason for their security problems is the poor design of Windows (particularly integrating things very freely). As long as they dont accept the truth they will try to correct typos, and that will not make the story any better.

  • by Doc Ruby ( 173196 ) on Thursday December 01, 2005 @02:10PM (#14158747) Homepage Journal
    Actually, some small companies do patch all their bugs. Especially when we're talking about reality, the facts that matter: reported bugs, known bugs, security bugs. While Microsoft, which could patch all those bugs with their vast resources and experience, does not.

    Some more points about your criticism: strawman arguments [princeton.edu] aren't what you accuse the original post of being. They are weak or sham arguments created by an opponent to easily refute, not arguments made by the original party. And your Opera example is predicated on exactly the strawman I pointed out in the reponse to the original post: you read "if smaller software companies" as "if all smaller software companies", and then argues that one smaller company doesn't patch all of their bugs. When in fact the implicit qualifier in "if smaller software companies" is "if some (or any) smaller software companies". So their predicate is valid if even a single smaller software company patches all its bugs. And, as I mentioned, the bugs that matter in this argument are those that are reported, known, and security. If you insist on "all bugs" being literally all-inclusive, you're arguing for that release to be the final one, without even new features - sometimes known to some users as fixing bugs of omitted features.

    So, as usually seen in posts by people who call factual, logical criticism "bashing" (of MS or any other party), you at last accuse the fair criticism of being "sophistry" and "sport". True to form, you project the serious flaws in your own strawman and absurdly reductionist argument onto your targets. It might be sport for you, but it's unsporting conduct.
  • by daVinci1980 ( 73174 ) on Thursday December 01, 2005 @02:33PM (#14159001) Homepage
    The problem (in more detail) is as follows:

    Code is not executed from the heap (data segment), unless you explicitly point the instruction pointer there. This is actually pretty difficult to do. To do it in a standard program run, you would have to write self modifying code [wikipedia.org]. To force a program that otherwise *wouldn't* execute code from the heap, you would first need to corrupt the stack and adjust the return pointer to the pointer at your instruction buffer. But if you can't corrupt the stack, you're still just wasting your time.

    To say that self modifying code is a rarity is an understatement in the extreme. There are very, very few applications that do it--you do it only when the cost of a single branch insruction would significantly affect your performance. (Which is to say, virtually never, with the exception of software rendering pipelines).

    The first press release you linked (the MS one) mentions that the vulnerability is low, because the heap is dynamic and you would have to overflow on another structure for which you knew the behavior, and then where able to bend some stack corruption out of. Alternatively you could overflow onto another structure that held an arbitrary execution buffer. An analogy here would be that if you're a grain of sand on the beach on the northshore that's about to be overflowed, the neighboring grain of sand is a grain of sand from the beaches of France. Seriously. Scripting could simultaneously be used to help imrpove the odds of a successful exploit, but it absolutely does NOT ensure success. In the wild, I would bet that the chances of a successful infection as a result of looking at a webpage with this problem are approximately 1 in 10,000, if not lower. Even with the heap preparation through scripting.

    The second press release is simply being paranoid. They found an overflow exploit, but there's no information to suggest that it could actually be used to execute arbitrary code.

    A little knowledge is very dangerous. Knowing how C++ compiles programs to fit into the assembly model would be very beneficial knowledge for anyone conisdering how buffer overflows can be used to seize control of a computer.

    Buffer overflows by themselves are NOT the problem. They are only (consistently) problematic when they occur in the stack. In the heap, they are little more than nuisances (in the 99.99% case).
  • by Anonymous Coward on Thursday December 01, 2005 @03:01PM (#14159310)
    Lack of competition...
  • Mythical Man-Month (Score:2, Insightful)

    by Biffer4810 ( 217941 ) on Thursday December 01, 2005 @03:46PM (#14159839) Homepage
    The book "Mythical Man-Month" by Frederick P. Brooks addresses this EXACT issue. The idea of a "Man-month" in software development is a joke (specifically software development, but it applies to other fields as well).

    Often times, the more people you put on a specific problem/project, the SLOWER it goes because of issues like communication, and stumbling over each others' toes, not to mention simply dividing tasks.

  • by kuzb ( 724081 ) on Thursday December 01, 2005 @03:48PM (#14159857)
    Compared against other hardware of similar performance, it's not cheap. it's not compatible with most popular software available (since most of it is for Windows), and if you think needs are going to remain consistant, you're lying to yourself. A Mac, out of the box, is not a cure-all. A starting point, sure, but don't make it sound like it's a 'one-shoe-fits-all' appliance that they will never need to modify or add to. A lot of people can't move to Macs, because they use software which simply isn't available on the Mac. A lot of specialty software is this way. I can understand you not wanting to be tech support for people, but telling people it's because they don't own a Mac is stupid and arrogant.

    I have no problems with people recommending a Mac as a possible solution to personal computing woes, but people are more often than not dishonest or omissive about the drawbacks of the systems they recommend.
  • by Anonymous Coward on Thursday December 01, 2005 @03:55PM (#14159910)
    Microsoft can't patch all it's bugs, because that would hurt revenues, and it's illegal for a CEO not to maximize revenue for shareholders in a for-profit corporation.


    Companies must sell the shoddiest, cheapest piece of crap that the customers will still buy for a given price point; it's a basic law of capitalism. Customer satisfaction is absolutely irrelevent, except for when it impacts sales, present or future. The job of a corporation is to give people only as much as they will pay for, not what they actually want.


    People have repeatedly proven they will pay for bad software. They'll pay helpdesks to explain poorly designed software instead of buying better designed software, because they can't tell the difference, and good marketers keep blurring the difference. They'll pay Microsoft "support lines" hundreds of dollars for a few hours of shoddy assistance in the vague hope of being able to work around the bugs that Microsoft put in their code in the first place. They'll buy "service packs", "upgrade versions", and "bugfix releases" of software that was shoddy to begin with.


    If Microsoft sold a perfect operating system, they'ld spend millions of dollars on bugfixing, and only get one sale. If they keep selling crap, they can sell copy after copy of bugfix releases, and people will keep buying, because they only have to pay a bit more each time, and they have a pressing need to solve an immediate problem (overcome a specific bug).


    So long as it's in Microsoft's financial interests to release buggy code, they will continue to do so. Bugfixes cost money, and releasing buggy code generates profits through upgrade paths and support contracts. The day those economics cease to apply, expect Microsoft's code to change. Until then, don't hold your breath: Microsoft, like all corporations, is out to maximize profit.

  • by Alon Tal ( 784059 ) on Thursday December 01, 2005 @04:04PM (#14160001)
    http://silverstr.ufies.org/blog/archives/000879.ht ml [ufies.org]

    This post pretty much sums up why is isn't practical for Microsoft to fix every single bug. The harsh truth is that it's (financially speaking) not worth it.

  • Re:Mod parent up! (Score:3, Insightful)

    by mpe ( 36238 ) on Thursday December 01, 2005 @04:39PM (#14160357)
    By tying ActiveX so tightly into the OS, they not only succeeded in making ActiveX an almost required component of any Windows Installation, they also knee-capped themselves in regards to handling security.

    It's not just ActiveX. One of the examples linked to in the article involves a corrupted font file being able to bring the OS down.
    At least a part of the problem is Microsoft deliberatly writing "sphagetti code" in order to make applications be a part of the OS.

    Unless it is seperated from OS, ActiveX will always be a threat to the security of a Windows PC.

    A problem from Microsoft's POV is that if ActiveX was structured module or IE was just an application it would be a lot easier for a third party to replace Microsoft's bits of Windows.
  • by Lagged2Death ( 31596 ) on Thursday December 01, 2005 @05:04PM (#14160627)
    Actually, this struct doesn't appear in the Win32 or the MFC API anywhere (nor does anything that looks significantly like it)...

    I beg to differ. MFC may not contain this sort of thing, but Win32 and the system API behind it absolutely, positively include lots of structs like that. Check out the serial port DCB struct, or many of the associated serial-communications related structs, for example. Check out almost any TAPI-related struct. Many other subsystems are the same, I'm sure.

    Usually, the length is actually used as a version code, not a buffer limit. OS code and user code can both check the length to see which version of the struct they're dealing with. As long as it's really used that way, it's not a problem.

    this kind of struct will *never* be a problem. Let's consider all of the cases:

    Allocating the struct isn't the main problem. The structs Win32 hands back can be downright baroque in their complexity, including variable length data objects and pointers to those objects. An application program written with the assumption that those data objects will not exceed some documented maximum length could easily wind up with a buffer overflow on the stack when interpreting, parsing, or otherwise manipulating a maliciously constructed struct.

    Let's assume for a second though that someone gives me the buffer pointer...

    Aren't you hosed right there? If the pointer points to your own stack, and you write through it, then bye-bye process. If what you write is some data chunk also provided by the same malicious someone, then you could very well be dumping exploit code right into your own stack.
  • 4 words (Score:4, Insightful)

    by smash ( 1351 ) on Thursday December 01, 2005 @06:26PM (#14161551) Homepage Journal
    Patches don't earn money.

    smash.

  • by Farrside ( 78711 ) on Thursday December 01, 2005 @09:10PM (#14162558)
    If you come up to me and say, "Hey, you know a lot about computers. What computer should I get?", and I tell you to get a Mac because it will meet your needs out of the box (yes, you told me what you need to do already), and you proceed to disregard my advice and get a Windows box, then just whom, exactly, is stupid and arrogant?

    Wow, run-on sentence.
    Short version: You keep saying those words. I do not think they mean what you think they mean.
  • by rlglende ( 70123 ) on Thursday December 01, 2005 @09:44PM (#14162709)

    Windows contains above 100M lines of code (recollection from some time back, probably more now).

    The overall design philosophy is 'tight integration', so everything affects everything.

    Any software testing problem is combinatorial: all combinations of inputs checked against all outputs. This is why testing cannot be used to produce a quality product, only to check whether the development process is capable of producing a quality product.

    I guarantee you that MS's bug list for each product is in the 10s of 1000s. It is a major effort to even sort through bugs and choose the most critical, consolidate by root-cause, isolate to DLLs, AND REGRESSION-TEST THE FIX(es).

    In a large system, the overhead of source code management (checkout, change, test, merge with the release with the bug, and then merge into later releases of code) is enormous. The productivity of people doing bug fixes in these large systems is very low, no matter how expert they are. This is why developers HATE fixing problems in released code.

    No large company can fix all their bugs, even when bug fixes don't generate new bugs.

    Lew
  • by bluGill ( 862 ) on Friday December 02, 2005 @12:16AM (#14163484)

    Go back and read Fred Brooks' Mythical Man Month. Microsoft doesn't have the money to hire enough coders to fix all their bugs. Their code is just too complex for that to work. Each coder coming in to change something affects all (most) of the others. Hiring more coders just makes it more difficult to fix bugs.

    Where I work there are 5 programmers on a project that was written from scratch within the last year or two, and we were all on the project from the beginning. Even still we still have problems where two different coders are assigned to two seeming different bugs that have subtile interactions. More than one patch was stopped at the last minute because it overwrote a file from a different patch. (We use CVS which helps a lot, but it is not perfect - I'm told most companies do not use any version control, I have no clue how they can get any patches out)

It is easier to write an incorrect program than understand a correct one.

Working...