Slashdot Mirror


Security Patch Creation at Microsoft

devonshire writes "Officials at the Microsoft Security Response Center have provided a detailed look at the process used to create security patches. From the time the first vulnerability data is received from grey hats to the time a bulletin is shipped, it's a pretty interesting look at how they handle the information flow and patch testing and why it takes so darn long to release an IE update."

27 of 274 comments (clear)

  1. Next week's headline: by Anonymous Coward · · Score: 5, Funny

    New Windows worm circumvents Microsoft patching process

  2. Typical corporated programming by guruevi · · Score: 5, Interesting

    Instead of just believing the people that there is a problem, they have to test it out and develop a plan and then reprogram the piece. I hate that. In my company they have implemented such system too and if you have a problem you have to wait a month before it is planned in (if it is accepted by a group of non-technical managers) and then another month before it is fixed making a problem sometimes last for over 6 months and after an endless amount of pointless meetings there is finally some kind of fix. Programmers in corporation are under a lot of (time) pressure and that is not good as it makes them make mistakes. But they have to be able to make quick fixes (as is with most Linux projects) without any corporate meetings or managers.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:Typical corporated programming by Atrax · · Score: 4, Interesting

      Your company just seems to have a problem of balance. Your company may have a slow process, but equally they'd be insane to lean too much the other way and just let the techies spin out patches willy-nilly without fear or favour.

      Striking a balance is the trick, and non-technical managers will tend towards the extremely cautious end of the scale without their caution being necessarily grounded in a realistic appraisal of the problem. They don't realy understand it, so they go slowly and have accountability at every step.

      Sounds like you might want a shorter chain of command, with technically knowledgable managers making the calls.

      How you get that to happen, well, I really don't know. A new CEO might be a start (it's worked at my old company)

      --
      Screw you all! I'm off to the pub
    2. Re:Typical corporated programming by Tune · · Score: 4, Interesting

      Either you have no idea about how (software) project management works or you have seen some worst-in-class examples at your company. Testing and reproducing a bug is *very* important. Bypassing that step is a guarantee to waste valuable programmer's time on non-issues. In a healthy organization with averagely skilled testers, this part of testing takes a couple of hours at most.

      Next is bug fixing. This is by far the most variable and unpredictible part, requiring the best of any programmer. It may take minutes or it may take weeks. Besides good programmers, good process can be of great help here.

      Finally comes the release testing, which is what the article is talking about. This phase is essential: *never* trust a programmer if he says its "fixed and I tested it". Generally, programmers are simply incapable of testing their own stuff. I know as a programmer. Release-testing takes a considerable, but predictable amount of time, assuming the programmer did a good job. Skipping this phase will sooner or later lead to disasters like the recent Netscape 8 release.

      Now I agree with your complaint on workload and lack of tech-savvy managers, but it's nonsense to say that the process as a whole sucks.

  3. UDP Floods by Anonymous Coward · · Score: 4, Interesting

    I don't think there's a single service on a windows box that can withstand a UDP flood. This has been known to be an effective DoS method for years...roommate using all the bandwidth with bittorrent? Playing Doom3 in the middle of the night with the volume jacked up?

    Send a UDP flood to ANY of the services which are actively listening by default, problem solved. Where's the triage team on that one? I guess 99.9% resource consumption isn't a vulnerability in their eyes.

  4. Re:Testing is only a priority on closed source app by Atrax · · Score: 5, Insightful

    are you seriously suggesting you'd just release a brand new patch into the wild without even cursory testing?

    who's going to want to install it? when everyone is a guinea pig, a certain reluctance to jump in first may manifest itself.

    --
    Screw you all! I'm off to the pub
  5. IE is the internet? by gd2shoe · · Score: 5, Funny

    "This is exactly why it can take a long time to ship an IE patch. We're dealing with about 440 different updates that have to be tested [for different versions]. We have to test thoroughly to make sure it doesn't introduce a new problem. We have to make sure it doesn't break the Internet."

    ? ? ? ? ? ?

    --
    I won't join Slashcott. OTOH, If Beta goes live, I just won't be back until it's fixed. Sorry Dice.
  6. Pick me, pick me! by Infinityis · · Score: 5, Funny

    I know the process!

    1. Identify holes in current software
    2. Release patches that only fix some of the holes
    3. Start charging for tools to take care of the rest of the holes
    4. Profit!

    (If you're from Indonesia, no problem, the software will only cost $1 anyways)

  7. Re:From the article: by N3Roaster · · Score: 5, Funny

    You missed the funniest bit:

    This is exactly why it can take a long time to ship an IE patch. [snip] We have to make sure it doesn't break the Internet.

    So, the next time someone tells you, "The Internet is broken," you can just blame Microsoft for putting out an IE patch too quickly.

    --
    Remember RFC 873!
  8. Real world equivalent by Anonymous Coward · · Score: 4, Funny

    Microsoft is adding a patch to a pair of jeans, but it's difficult because after all the previous patches the pair of jeans looks like a spherical ball of patches 10 feet in diameter.

  9. Re:Testing is only a priority on closed source app by Atrax · · Score: 4, Insightful

    real OSS projects actually have an organizational structure.. a closer knit group of users associated with the project will test and comment (or fix) problems they see with code. when the code seems to be good, it is released to the public as an actual release.

    So what's different about that compared to the pre-release testers employed by Microsoft? not a lot, it may seem. Besides, my reading of the OP's post didn't indicate this was the meaning at all.

    The fact is, going back to the OP's harebrained scheme, that no-one is going to apply a patch to a critical environment unless it's been through major testing. Sure, your l33t box under your desk which you rebuild every week anyway? patch it with whatever you like, but a production database server pushing out data to thousands of clients? I want that bastard tested thoroughly before the patch ever hits the net.

    --
    Screw you all! I'm off to the pub
  10. Re:Testing is only a priority on closed source app by shmlco · · Score: 4, Insightful
    With Open Source, a patch can be released right away and users can compile in the new sources themselves. Any issues can be immediately identified and reported back to the maintainers...

    Which is basically a fancy way of saying you're going to treat your user base as guinea pigs and let them test your patch for you.

    Hopefully any "issues" they have will not have been fatal...

    --
    Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
  11. The Big Blue E by value_added · · Score: 5, Funny

    "It's not easy to test an IE update .... We have to make sure it doesn't break the Internet."

    Sometime a joke doesn't need a punch line.

  12. Re:Testing is only a priority on closed source app by Dancin_Santa · · Score: 5, Interesting

    As an Open Source developer, I'm not in this for the money. If I were, you can bet the project would be Closed Source.

    Rather, I want this project to be open and usable for all. To that end, I license it under the GPL and anyone is free to use it.

    So my users are partners with me. They are not my guinea pigs. Though I maintain control over the project, there is no set-in-stone law that no one else may fork the project. In fact, they are encouraged to, if they feel it necessary.

    I release the patches, and they accept them or reject them, depending on their own circumstances. I don't rule them with an iron fist. I consider them my Knights of the Round Table where they all have the right to say what they want and none is any greater than the other.

    So maybe you think that users are passive slugs, but I'd rather give them the benefit of the doubt.

  13. Ha! by KenFury · · Score: 4, Funny

    "It's not easy to test an IE update .... We have to make sure it doesn't break the Internet."

    Here I fixed it for you.

    "It's not easy to test an IE update .... We have to make sure it breaks Firefox and Opera."

    Better

  14. Re:Testing is only a priority on closed source app by Atrax · · Score: 4, Interesting

    Was I talking about IE? Was the OP? Surely we were debating the patch process in general, not specifically IE?

    Besides which, a hell of a lot of corporates consider their intranet (extranet/web) apps 'critical'. IE (or other browser) is a major component in that mission-critical situation, wouldn't you say?

    --
    Screw you all! I'm off to the pub
  15. Re:Pick me, pick me!...Alternate Patch Process by darkPHi3er · · Score: 5, Funny

    Customers Complain About a New Security Hole. The number of complaints reaches Management's "Action Threshold". The Patch Process is started.

    1. First, blame the customers' other software packages for the insecurity.

    2. Then, blame the customers' for failing to apply services and hot fixes in a timely fashion.

    3. Security Focus (or another of the Sec/Priv sites) calls up and threatens to "out" the hole if it isn't fixed.

    4. Accuse the complaining entity of having a "partisan" agenda against your company, initiate "Four Corners" Stall -- while you try to figure out if you actually CAN patch the damn thing

    5. As the news of the new exploit makes it into IRC and the UGs' Forums you issue an indignant press release stating that it has never been proven that the new exploit has even been used and is principly "theoretical".

    6. As your Patch Team frantically works to get the patch out, explain that even though the chances of this exploit being used WERE previously slender or non-existent, now that some details of the exploit have been malicously leaked, HEAVY SIGH, you'll now go ahead and fix it.

    7. Issue the patch, take credit for being "Right on Top" of security issues, explain how much money and time you are spending to counter the effects of the "Few Bad People" on the Internet.

    8. News start to come in that your patch has broken a number of somewhat older apps -- explain that Users have a responsiblity to use "current" software products and refer them to Sales.

    9. News of another exploit comes in --GOTO 1

    BTW, this is pretty much AN INDUSTRY STANDARD APPROACH

    In Commerical Software, it's the FEW companies that DON'T do some version of this that are the (delightful) and unfortunately RARE exception.

    --
    Ten quid, she's so easy to blind. And not a word is spoken...
  16. Liars by cperciva · · Score: 5, Informative
    Quoth the article:
    We respond immediately to the initial vulnerability report and provide the researcher with contact names, e-mail addresses and phone numbers. We make it clear we want to work closely with the researcher to pinpoint the problem and get it fixed. We commit to providing [researchers] with a progress report on the Microsoft investigation every time they ask for one

    My experience directly contradicts this on all points.

    When I reported the hyperthreading security flaw to Microsoft, I was provided with the first name of the person who was responsible for dealing with it ("Christopher"), but I was not provided with his last name, phone number, or any e-mail address (apart from the generic secure@microsoft.com address which I used to report the problem). Later the issue was transferred to "Brian" -- again, no last name, no email address, and no phone number.

    Over the following two months, I heard from three independent third parties that Microsoft was "very concerned" about this issue, and had "several people" looking at it; but they never made it clear that they wanted to work closely with me -- in fact, they ignored all my attempts at co-operation.

    Finally, prior to releasing my paper, I sent several emails to Microsoft asking about their progress and asking for a vendor statement for my web site; again, they did not respond.
    1. Re:Liars by cperciva · · Score: 5, Insightful

      Despite what the article says, what do you think Microsoft owes you in this case?

      Nothing. However, I do believe that they owe the public, and their shareholders, the truth about how they handle security issues -- which, judging by my experience, they did not provide in the linked news article -- and I believe that they should take every opportunity available to improve their security, including working with the people who report security issues to them.

      You are an academic nobody in their eyes, despite any delusions of grandeur you may possess.

      Maybe; or maybe not. I'm not just an academic who happened to stumble across a security problem; I'm also a FreeBSD deputy security officer. I may not have quite as much experience at dealing with security issues as they have, but I don't think I'm a complete "nobody" in security circles either.

  17. I'd say the difference is... by Kjella · · Score: 4, Insightful

    ...purely political.

    Microsoft wants to give you one "bad news" per month. Predictable, patch time is "low" meaning the time between release and installation is low. It is easy for IT staff to work that way, you can schedule it.

    OSS will give you a patch per issue, patch time is near instant, but they keep coming at you all the time, whenever you can't afford to waste time installing them. That is why you need a distro to keep you patched at all times.

    The rest? Bullcrap. The security patches for Linux don't cause more regression issues than Windows. Like Microsoft, they do audits but instead of one "catch 'em all" release, they do several. In short, it is to make Windows look good.

    Kjella

    --
    Live today, because you never know what tomorrow brings
  18. I'm just so good by Urusai · · Score: 4, Funny

    I write code to accomplish what I intend, and I succeed. I don't need to test. What needs testing is other peoples' crappy code that my code depends on. I'm looking at you, GW BASIC maintainers!

  19. Re:Testing is only a priority on closed source app by xtracto · · Score: 5, Insightful

    Although teorethicaly it is possible to sell OSS, it is not proffitable.

    Why would someone want to buy something he can download for free in other place?, if people tend to "download for free" something that they CAN NOT (by law) use for free??

    Of course, now you will tell me that RedHat, Mandrake, etc etc are making buisness with OSS, but the truth is they are making buisness SELLING SERVICES, not the software.

    Now, I am a programmer (well, I was a programmer before I started my PhD), I really like to program, when I was in the University I was a Linux advocate (although when I was in High School I was a FreeBSD advocate... can you imagine I bought FreeBSD without really knowing what was it... then when it arrived I spent like 3 weeks installing it, I was like 13 or something).

    But, after I finished the University I had written some programs which I wanted to sell, hell I DO know how to program...

    I put them like shareware on the internet, it was cool, but I also wanted to "contribute" to the OSS, in the "real world" (i.e. outside the net in my life) I was trying to get a job, As I lived in Mexico that was no easy task, so all my income was from my shareware programs and some money my parents gave me.

    But I WANT to program for a living, and that is NOT possible with OSS, only people who have a name and are at the top position in this "OSS" power hierarchy can do it.

    There where possibilites of open sourcing my programs and then proffiting with the "customer" services, of course the money I would get there was going to be a hell less than the money I won with my shareware (which was not a lot of course) and besides I DID NOT studied any kind of administration or client service degree I AM A FUCKING PROGRAMER and I want to program because THAT IS WHAT I KNOW HOW TO DO!!

    So no, it is not possible to live selling OSS, it MAY be possible to live selling a service but not by pure development.

    And of course it is possible to get hired in a company which develop open source as a branch (IBM, Sun, Mandrake, etc) and you could say that you earn your living with OSS... but the one that is paying you is the company.

    Nowadays I am making my PhD outside Mexico (no, not in the US, in Europe). I have a wider view of this OSS, and althouh I understand it is great for acadamey (in fact I OSS it every day) It is NOT right for the commercial developer... And now as I have seen the Programming buisness is very crowded I have decided to enter the academy buisness, that way when I return to my country with a Europe degree I would be able to enter and teach somewhere at least...

    And, I will be able to use and create OSS (of course as a side project JUST FOR FUN). At the end, that is why the OSS projects propsere, people do them JUST. FOR. FUN.

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  20. And this is why inux is liable to remain Geek-only by samael · · Score: 4, Insightful

    "Oh, it's ok, we'll release a patch instantly and the users can review/compile it themselves."

    I don't know about you, but I have things I actually want to _use_ my computer for - I don't want to have to review any code changes for patches/upgrades/new versions and check them before I do an install.

    Not that I even have the technical know-how to do that for the vast numbers of programs out there.

  21. Do you think if Bill Gates... by Your+Average+Joe · · Score: 4, Funny

    got laid in high school, do you think there'd be a Microsoft?

    Of course not.

    You got to spend a long time stuffed in your own locker with your underwear wedged up your ass before you start thinkin "I'm going to take of the world with computers! you'll see, I'll show them."

    --
    Your Average Joe
  22. The Market Cycle by soloport · · Score: 4, Insightful

    Once upon a time, musicians gathered in groups and performed on street corners -- just for fun. Often they'd drop a hat, so passers by could show their appreciation. Sometimes they could put on whole performances, rent space and charge admission. Once in a while, they could play for their king and make real money.

    Then the record industry was born. Now a song could make a musician a steady stream of money, for many years. However, after decades of "success" the public saw through this sham and invented ways of putting the right perspective on the value of music and performance. And the musicians returned to being performers because the former era was over.

    Actually, that's not how the story ends because the rich benefactors of the record industry used their money to create laws to enforce their way.

    Once upon a time, computer programmers gathered in groups to share ideas and collaborate on projects -- just for fun. Often they would solve some incredible problem and get recognition for it. Sometimes they'd get paid hourly to solve a specific problem. Once in a while they'd get real funding.

    Then the software industry was born. Now an application could make a programmer a steady stream of money. However, after decades of "success" the public saw through this sham and invented ways of putting the right perspective on the value of software and applications.

    Actually, that's not how the story ends. It'll be a while before we get to the end.

    I sell lots of open source software. Very little of this software have I written. It's easy for a software-savvy person to download and install OSS applications. It's difficult for the majority of the people on the planet to understand how to download and install any application. That's what I charge for.

    You probably wouldn't believe how many times a week I'm asked to install CSS applications. These are packaged products that should be easy for anyone to install. Yet your average business owner and their entire staff are intimidated by the prospect of having to install any application (OSS or CSS) -- they'd rather visit the dentist.

    Think about it: For CSS applications, the end user often pays twice.

    Can a programmer with 20+ years of experience make good money with OSS? I do.

  23. Re:Right by DogDude · · Score: 5, Insightful

    I do run a business, in fact. And yes, I could pay somebody a small fortune to review patches for me. With most applications, TCO is already down the toilet just with the time it would take to *find* somebody who could do it, never mind actually paying the person. Case in point... the last Firefox upgrade broke all of our machines (Firefox quit working on all of my machines... I hope that was all that was effected). IE has never done that. Insignficiant program, true, but what am I supposed to do... hire somebody to review each of Firefox's releases to tell me whether or not they'll work? Am I supposed to spend, what, $10-20K to have a Unix programmer come in to analyze the latest Firefox build and tell me where the problem is? That's insane. Instead, we simply removed Firefox from all of our machines, and went with IE, which was already properly tested before being pushed out to users. Much cheaper. Much simpler. Much quicker time for me to get back to the core of my business (which trying to get broken web browsers to work).

    --
    I don't respond to AC's.
  24. Open source leads to accountability by SirCrashALot · · Score: 4, Informative

    Maybe you can't but others certainly can, and if you are so inclined, you can learn.
    Also the fact that code is open makes the authors more careful, i would think. If I am going to publish code with my name on it, I would hope it doesn't suck.
    Closed source could have terrible code style and use all sorts of hacks, and no one would know. Or it could be perfectly written using Hungarian notation. With OSS, if you have bad code, people who can read it, will, and tell others.
    Besides, if you want, just do a search for printf and gets in the code -- you might find some bugs w/o having to write a thing.