Slashdot Mirror


Interview with Ilfak Guilfanov (WMF Patch Hero)

GrayWolf42 writes "SecuriTeam Blogs has posted an interview with Ilfak Guilfanov, one of the people developing the IDA Pro disassembler, who also happens to have written the unofficial WMF vulnerability patch. In this short interview he discusses the patch, how it works, and why he wrote it." From the article: "Q: When you heard of this vulnerability, you created a temporary patch to close the hole until Microsoft updated its software. Could you tell us more about what the patch does? A: The patch just removes this powerful command. It does not do anything else. The fix modifies the memory image of the system on the fly. It does not alter any files on the disk. It modifies [the image of] the system DLL 'gdi32.dll' because the vulnerable code is there." Microsoft has released an official update, which you should be able to download from the windows update site.

167 comments

  1. SecuriTeam blogs by GrayWolf42 · · Score: 5, Informative

    Seems like the site also provides with a binsiff output of the Microsoft patch: http://blogs.securiteam.com/index.php/archives/184 The "SecuriTeam Blogs" site has been a very good source for real-time security information since it came online.

    1. Re:SecuriTeam blogs by jacquesm · · Score: 1
      as good as this patch is, it really annoys me that any user can just patch a part of a dll somewhere. It suggests that some other program can patch it right back to what it was.


      You simply should not be able to go and mess around with system files like this.


    2. Re:SecuriTeam blogs by drsmithy · · Score: 1
      You simply should not be able to go and mess around with system files like this.

      If you're not an Administrator, you can't.

  2. ok... by User+956 · · Score: 5, Insightful

    MS deserves bashing for the flaw, but there's a difference between an untested one-man release, and the official, QA'd patch. Part of the reason Microsoft couldn't release a patch immediately is because they need to make sure their fix doesn't break snything else.

    --
    The theory of relativity doesn't work right in Arkansas.
    1. Re:ok... by ackthpt · · Score: 3, Insightful
      MS deserves bashing for the flaw, but there's a difference between an untested one-man release, and the official, QA'd patch. Part of the reason Microsoft couldn't release a patch immediately is because they need to make sure their fix doesn't break snything else.

      Often, historically, Microsoft's approach has been the same, to just take away the offending bit.

      When the actually correct the code is where Microsoft have sometimes introduced new vulnerabilities, perhaps because the focus of their Q/A is too narrow.

      --

      A feeling of having made the same mistake before: Deja Foobar
    2. Re:ok... by Anonymous Coward · · Score: 1, Interesting

      Part of the reason Microsoft couldn't release a patch immediately is because they need to make sure their fix doesn't break snything else.

      I've got a big fat BOLLOCKS to that. How much software uses WMFs? How much software relies on being able to supply its own error-handling code should that WMF not display properly? In the WMF file itself?

      Now weigh "all those" applications (i.e. practically none) against the people that can be/have been/will be compromised with this vulnerability. Care to make a bet as to which side a) numbers the most and b) how severe each side is?

      This is about as straightforward and safe a patch as there can possibly be. It's beauracracy that stopped Microsoft, not technical difficulties.

    3. Re:ok... by Anonymous Coward · · Score: 1, Informative

      Enough software uses this functionality that Ilfak's patch broke a boatload of stuff (printing mostly).

    4. Re:ok... by daivzhavue · · Score: 1

      Thank You!

      Since the "Unofficial" Patch would seem induce some printing issues.

      http://seclists.org/lists/fulldisclosure/2006/Jan/ 0061.html

      --
      "A REAL computer has ONE speed and the only powersaving it permits is when you pull the power leads out of the back!"
    5. Re:ok... by Heembo · · Score: 1

      Deserves bashing? If they waiting for patch Tuesday, I would agree with you. But they released a major Operating System Security Patch 8 days after the vulnerability was uncovered, and gave us accurate advice. Unregister a DLL and keep anti-virus update-2-date was enough to keep most people secure. And this was not poor programming, but poor design - a feature that was critical in the "old days" was a open hole today. I'm not thrilled with MS overall, but over WMF - I give em at B+ and an A for effort. More than on MS engineer spent their new years regression testing security patches.

      --
      Horns are really just a broken halo.
  3. Microsoft Update by Chalex · · Score: 3, Insightful

    I think the /. post should link to Microsoft Update and not Windows Update. Microsoft Update will patch MS Office and other products as well as Windows. It's one step closer to "apt-get update; apt-get upgrade".

    1. Re:Microsoft Update by wiz31337 · · Score: 3, Funny

      I just received an e-mail that the IT department where I work will be pushing out the new Microsoft Patch at 2:00PM.

      On a related note: This may be my last /. post for today.

      --
      /whisper/ Thanks for the candy!
    2. Re:Microsoft Update by Anonymous Coward · · Score: 0

      weird, me too.

      not ml by any chance?

    3. Re:Microsoft Update by ToddFFW · · Score: 0

      one step closer, with 15,000 steps to go (the average number of packages in a modern Linux distribution that get updated with apt-get update; apt-get upgrade).

    4. Re:Microsoft Update by Phillup · · Score: 1

      the average number of packages in a modern Linux distribution that get updated with apt-get update; apt-get upgrade

      Bit of exaggeration, eh? (or trolling)

      Let me guess, you definition of "modern" is what?

      'cause Debian Stable sure as hell doesn't have that many updates...

      As a matter of fact, I only have a little over 2000 packages installed!

      And... I only see 15979 packages in the entire repository. (which isn't just Debian)

      --

      --Phillip

      Can you say BIRTH TAX
    5. Re:Microsoft Update by ToddFFW · · Score: 0

      My number referred to the total amount of packages in the entire repository available... Not number of packages a user would have installed. If I had a Windows PC, I can be sure "Microsoft Update" would only update a subset of what it can... Meaning, the operating system, since I would never install Microsoft Office. The simple point being that comparing Microsoft Update to apt-get upgrade is silly since there is so much more available from a Linux distribution than Microsoft Update could _ever_ provide and update. CD burning software (k3b)? Email server (courier)? Functional Web browser (firefox)? heh

    6. Re:Microsoft Update by Anonymous Coward · · Score: 0

      Watch out! I got an email from microsoft that said I was at risk and my computer was broadcasting my ip address to the world. I clicked on the included attachment to patch and fix my system and my computer will no longer boot up so yes, your feared situation does happen!!! A MS patch broke my computer. Luckily, first level support at Dell was very helpful and they walked me through wiping out all of my personal data and pictures I had and got my computer looking and running like it was the first day I bought it!

    7. Re:Microsoft Update by Anonymous Coward · · Score: 0

      You're clueless.

      WinXP has basic CD burning built in. MS has an email server called Exchange (desktops don't need email servers). IE isn't THAT much worse than firefox, all it truly needs is better security. Tabs, pop-up/ad blocking can be added anyway. MS has the basic shit covered.

      What they don't have is stuff like LaTeX, Octave, bash and the myriad of wonder that is a unix command line (sed and awk, etc), ssh and X11 (X-forwarding is the good shit), LiveCDs...

      We all like ranting about MS. But your facts straight, and learn about the really good stuff your OS (whichever you use) can do.

    8. Re:Microsoft Update by initialE · · Score: 1

      Pls note the link should go to http://update.microsoft.com/microsoftupdate Just going to the main site will bring you Windows Update, unless you've gone to Microsoft Update before. Yar, use your IE to go there.

      --
      Starbucks, Harbuckle of Breath.
    9. Re:Microsoft Update by ToddFFW · · Score: 0

      Does Microsoft Update upgrade Exchange? No.

      I'm clueless? This is a discussion where Microsoft Update was compared in scope to apt-get... why dont you get YOUR facts straight. Microsoft Update is NOT apt-get!

      and yes, the Windows install cd and updater doesnt have sed, awk, ssh, LaTeX.... simply proving my point further.

      Thanks dumbass.

      ps- i'm a Linux user since Kernel 0.99pl27, circa 1992.

  4. From the Interview... by IAAP · · Score: 5, Interesting
    ... There is one very powerful command code in WMF files. This command code means 'if something wrong happens, do the following: ...'. So the creator of the WMF file can make your computer do anything he/she wants by using this command code and deliberately creating an error condition afterward.

    So this is a design issue?

    Yes, it is a design issue.

    I would think the MS would have a department of crackers and hackers to try to do shit like this. Also, didn't any of the original developers think of this when they wrote it or did they think the exploit was so remote, that it'll never happen?

    1. Re:From the Interview... by mobiux · · Score: 4, Informative

      Considering it went back to windows 98, i don't think they anticipated the current computing climate at all.

    2. Re:From the Interview... by IAAP · · Score: 2, Interesting

      I guess now it's back to my first question. Considering the beating that MS' security reputation is getting, if I were Balmer, I'd be setting up a division of crackers to try to find this shit before the bad guys do. OTOH, this is great for Linux, *BSDs, GNU, etc...

    3. Re:From the Interview... by cnettel · · Score: 4, Informative

      It goes back to Windows 3.0. You know, the one which relied on DOS software for network access, without sockets. You know, the one where using any memory protection at all was an OPTION (kind of mandatory in 3.1 and up, even if it was far from complete).

    4. Re:From the Interview... by hey · · Score: 3, Funny

      And everytime the cracker time finds a hole Balmer throws a chair at them.

    5. Re:From the Interview... by AuMatar · · Score: 1

      Windows up to ME had a command where you could read or write any process's memory, by passing it a process id and an address. That made it pretty much optional everywhere.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    6. Re:From the Interview... by SilverspurG · · Score: 1

      That's really the sad truth of the business world. Don't do anything outstanding. The boss is always looking for a new target.

      --
      fast as fast can be. you'll never catch me.
    7. Re:From the Interview... by HalAtWork · · Score: 2, Interesting
      Also, didn't any of the original developers think of this when they wrote it or did they think the exploit was so remote, that it'll never happen?

      I guess they thought the chances were remote, because when MS were doing their security review and subsequently made their GDI vulnerability detection tool available, it was not designed to pay attention to this vulnerability. I wonder if they have updated the tool?

    8. Re:From the Interview... by Moby+Cock · · Score: 1

      I wonder if they have updated the tool?

      Bill Gates at CES unveils Ballmer 2.0!

    9. Re:From the Interview... by ucblockhead · · Score: 1

      When this feature was added, most computers didn't even have modems.

      --
      The cake is a pie
    10. Re:From the Interview... by nativequeue · · Score: 1

      And such abilities still exist. This is how Ilfaks patch works.
      You start out by loading a DLL and telling the system that DLL needs to be loaded into every process started from there on. Now you are in targets memory space and you are able to modify targets memory space. This in turn allows you to hook functions, ie replace the DLL jump table or write to executable memory directly.

      Of course, with NT (Win2000, XP = NT) you need proper rights (Administrative Account, or User Accounts with specific rights enabled) to do such a thing.

    11. Re:From the Interview... by apankrat · · Score: 1

      I would think the MS would have a department of crackers and hackers to try to do shit like this.

      Cracking is largely driven by curiosity, geniune dislike towards software vendor or a criminal intent. Neither really fit the full-timer profile, leave alone someone being employed by the company itself.

      MS can hire 10 departments of 'crackers and hackers', it will still not do them any good.

      --
      3.243F6A8885A308D313
    12. Re:From the Interview... by DigiShaman · · Score: 1

      I want a video came hack of Donky Kong where it's Balmer throwing chairs at the skinny little geek. He must jump and duck these chairs so he can reach the server archive that contains source code.

      --
      Life is not for the lazy.
    13. Re:From the Interview... by shawn(at)fsu · · Score: 1

      It's ambitious but IMHO impractical, at best I think this would just provide a false sense of security. This week we found zero exploits, well does that mean that all of them are fixed or does that mean they just haven't found any new ones. Your hired white hats have to find all vulnerabilities, the black hats only have to find one.

      When I was doing performance testing we went in to meetings with fancy charts showing the decline in defects causing slowdowns of the web app, it looked great and continually showed a drop too bad the website was still a slow moving pig, but from managements point of view we were making great progress.

      --
      500 dollar reward for tip(s) leading to the arrest of the person(s) who stole my sig.
    14. Re:From the Interview... by Zathrus · · Score: 1

      Considering it went back to windows 98, i don't think they anticipated the current computing climate at all.

      No, it goes back to Windows 3.0. And while they couldn't have anticipated the current computing climate, it's hardly as if there were no trojans, virii, or other malicious programs back then. That's a completely invalid excuse.

    15. Re:From the Interview... by bmajik · · Score: 4, Insightful

      I would think the MS would have a department of crackers and hackers to try to do shit like this. Also, didn't any of the original developers think of this when they wrote it or did they think the exploit was so remote, that it'll never happen?


      We have a few security-focused assets in the company.

      There is a team that grew out of some of the company-wide security folks that are sort of the "gatekeepers" now for all software that leaves the building.. you have to pass their audits, which are primarily about running internally brewed tools against your source code and binaries. As we get better at this stuff we update our tools and as the tools find things the developers get smarter about not writing dumb code to begin with, the testers get better at writing evil tests, and the PMs get better about recognizing that a feature is a problem-by-design to begin with.

      This team will also do some code/design review, and will make you justify any bugs you decided to "Won't Fix" during the developmnent cycle. Our bug tracking systems have all been amended to include lots of rich info re: security/threat impact, and this team mines that data as well.

      They do _very_ limited penetration testing.

      Distributed across teams there are security "representatives" that are supposed to coordinate training and getting the latest tools/best practices out to the developers/testers at large.

      Development teams are required to create threat models for all feature areas. The threat model library must be presented to the "gatekeeper" team described earlier as well.

      Some teams are building local penetration testing teams.. which ahve product/feature area domain expertise.. but also understand the art of penetration testing. We don't have enough "centralized" resources to have a crack team of pen testers that cover all products. They can provide guidance/expertise/interviewing/whatever, but ultimately cant cover the whole company. Building a culture of grey-hat minded people and sprinkling them through-out every product team takes a long time.

      Note that everything i am describing did not exist at MS 5 years ago. Blaster, Nimda, CodeRed, Melissa, etc really kicked our ass with customers. In a way, we needed all those so that internally people could really justify making the investments needed in security. There was a lot of sentiment along the lines of "we got to be #1 with the way we've been doing things, who are you to argue?", from a lot of really smart, strong-minded people.

      Breaking that and reforming them to the new religion takes time.

      We have a _huge_ debt of bad code, bad practices, bad developers, bad testers, and bad managers. We've been working pretty hard to pay down that debt. When i say "bad developer" i mean "developer that wrote code for years, never having to care about security", not that the developer is stupid/has malcious/intentionally poor habits.

      Based on how often we issue patches, # of patches released for a given product, etc now compared to say, Win2k, i think the changes are already starting to pay dividends for us. Server 2003 is a lot better out-of-box than Server 2000 was. If nothing else, when i read a design doc or look at a bug report now and feel like it might be a problem, and say so, people take me more seriously. They aren't as apt to play the "it's not my problem" or "that can't happen in the real world" games as they were just a few years ago.

      --
      My opinions are my own, and do not necessarily represent those of my employer.
    16. Re:From the Interview... by AuMatar · · Score: 1

      Right. The 95/98/ME command I'm thinking of required no rights to execute- any program could use it at any time.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    17. Re:From the Interview... by Anonymous Coward · · Score: 0

      Hah!
      now thats funny

    18. Re:From the Interview... by CrossChris · · Score: 1

      > Considering it went back to windows 98, i don't think they anticipated the current computing climate at all.

      It actually went back MUCH further than that. It's just another example of poorly thought-out design that's carried from one Windows "operating system" to the next. It also demonstrates that Windows retains most code from one release to the next, despite Gates' claims to the contrary.

      This and the next couple of major vulnerabilities (watch this space over the next month or two) will put the release of "Vista" back some months, hopefully. It should also demonstrate to the masses that Windows simply isn't up to the job (and never really was).

      The next major exploits will carry code to format XP drives. That'll be fun for the slack-jawed masses without proper install disks!

  5. Security Now! Interview by AnalystX · · Score: 2, Informative
  6. Microsoft can boost your notariety by digitaldc · · Score: 3, Funny

    The guy removes one line of code and becomes famous almost instantly.
    Why didn't anyone a Microsoft think of this solution? They might have been put in charge of their own security team.

    --
    He who knows best knows how little he knows. - Thomas Jefferson
    1. Re:Microsoft can boost your notariety by Rolan · · Score: 5, Informative
      Why didn't anyone a Microsoft think of this solution?


      They did. The official patch has the same end effect as the unofficial one. The only difference is in method. Microsoft modified the source code to remove the vulnerability instead of removing it in memory.
      --
      - AMW
    2. Re:Microsoft can boost your notariety by cheezit · · Score: 4, Informative

      The guy did not "remove one line of code." He used a DLL injection technique (documented by Richter in Advanced Windows Programming) that allows him to replace the registered address of a function in gd132.dll. This is not beginner coding, it works fine in principle but is not easy to pull off and have be reliable.

      One problem, for instance, is that if some other hacker came along and reset the function pointer with their *own* dll, we'd be back to square one (tho that requires a greater level of system access). And the DLLs themselves don't have explicit control over when they get loaded, so they can't guarantee that they are first or last.

      Microsoft's patch is nothing like his. They (I'm guessing) rebuilt gdi32.dll to actually turn the function into a no-op. Adequate testing by MS would have to include ensuring that all the various WMFs dynamically generated by the OS are not adversely affected.

      --
      Premature optimization is the root of all evil
    3. Re:Microsoft can boost your notariety by micromuncher · · Score: 1

      Obviously he has friends.

      He removed a "system call"... guess what... there are probably a few applications that have a legit reason to use this function.

      Kinda like chemotherapy... kill everything 'cause you might get the cancer too.

      So Microsoft is doing some due diligence to figure out how its broken and how to fix it without breaking more sh!t.

      I love this though. There is a bunch of calls in kernel32 that pose potentially security risks... lets remove them...

      --
      /\/\icro/\/\uncher
    4. Re:Microsoft can boost your notariety by courtarro · · Score: 2, Insightful
      I'd be willing to bet that Microsoft knew exactly what was wrong and exactly how to fix it within hours of being notified about the problem. From their own FAQ, you'll see that there's quite a bit more involved than simply disabling the function and putting the new DLL on Windows Update. They've got many languages, different versions of Windows, and millions of customers running all sorts of weird crap on their machines that Ilfak doesn't have to worry about in order to maintain his job.

      Also, most people running Ilfak's patch are going to know what they're doing well enough to expect changes in their machine's behavior if the patch causes problems. If MS put the exact same patch on Windows Update and every granny's and PHB's computer applied it overnight, it would be equally bad publicity when millions of less-tech-inclined users wake up the next day and can't add EPS clipart to their PowerPoint presentations because the patch prevented vector graphics from working at all.

      Think about it - when you installed Ilfak's patch, did you think that it was failsafe? No, if you're smart, you figured it was better than nothing and went ahead anyway. Microsoft can't afford to release something that's "better than nothing". Only after several days of Ilfak's patch being released, without any serious side effects being reported, could you really be sure that it was a truly good solution. By then, it was only a couple more days before MS released their official patch that made the same solution permanent within the DLL.

    5. Re:Microsoft can boost your notariety by Anonymous Coward · · Score: 1, Interesting

      Have you ever used IDA Pro, which this guy wrote? If not, trust me, he doesn't need this to be regarded in the community. I think any security guy or cracker who has used IDA Pro respected him completely before this wmf thing came out.

    6. Re:Microsoft can boost your notariety by thomas.galvin · · Score: 1

      Microsoft can't afford to release something that's "better than nothing".

      So how do you explain Windows? /rimshot

      Thank you, thank you, I'll be here all week.

    7. Re:Microsoft can boost your notariety by digitaldc · · Score: 1

      If MS put the exact same patch on Windows Update and every granny's and PHB's computer applied it overnight, it would be equally bad publicity when millions of less-tech-inclined users wake up the next day and can't add EPS clipart to their PowerPoint presentations because the patch prevented vector graphics from working at all.

      I don't think Granny or Dilbert's boss would have any clue, or need to know how to do a Powerpoint presentation.
      (unless of course you were referring to someone with a Bachelor's of Philosophy degree or members of the Experimental Pyschology Society?)

      --
      He who knows best knows how little he knows. - Thomas Jefferson
    8. Re:Microsoft can boost your notariety by courtarro · · Score: 1

      You're right about the grannies concerning PowerPoint, but many of them probably like to use Word clipart in the flyers they distribute around the neighborhood. However, you're very wrong about the PHB's and PowerPoint - they love it! Who else would use clipart so haphazardly but those two groups?

    9. Re:Microsoft can boost your notariety by digitaldc · · Score: 1

      Who else would use clipart so haphazardly but those two groups?

      I can think of only one poor soul who is no longer with us....Clippy :(

      http://www.microsoft.com/presspass/features/2001/a pr01/04-11clippy.mspx

      --
      He who knows best knows how little he knows. - Thomas Jefferson
    10. Re:Microsoft can boost your notariety by GoodbyeBlueSky1 · · Score: 1

      Yes, he basically 1) broke a few areas of windows while 2) bypassing a windows security vulnerability.

      These two things are enough to get you a front page story on slashdot and an interview with a small-time security blogging site. Let's see how many people remember this guy's name in a month.

      Not that I have a problem with the dude, in fact I think it's great that he stepped up and did something, but boy do people on this site have very strange criteria for judging the merits of others.

      --
      why? forty-two.
    11. Re:Microsoft can boost your notariety by tchernobog · · Score: 1

      The guy removes one line of code and becomes famous almost instantly. Why didn't anyone a Microsoft think of this solution?

      And if every guy at Microsoft removed a line of code, probably the final product would be far better.

      --
      42.
  7. Patch doesn't work for me by pHatidic · · Score: 0

    Whenever I go to the windows update site, all it finds is the Office SP3 patch. When I try to download it manually, IE crashes. I'm not sure if windows update grabbed it automatically, or if Windows is just POS software.

    1. Re:Patch doesn't work for me by Fishstick · · Score: 2, Funny

      >I'm not sure [..] if Windows is just POS software.

      Really? Let me clear that up for you ...

      --

      There is much cruelty in the universe, John.
      Yeah, we seem to have the tour map.

    2. Re:Patch doesn't work for me by Anonymous Coward · · Score: 0

      Are the two mutually exclusive?

    3. Re:Patch doesn't work for me by HermanAB · · Score: 1

      Go here, with any browser type http://www.microsoft.com/downloads/details.aspx?fa milyid=0C1B4C96-57AE-499E-B89B-215B7BB4D8E9&displa ylang=en

      I collect the worst patches and utilitites with Firefox on Linux and make myself a 'Windows Bugspray' CDROM, which I then use to fix client's PCs.

      --
      Oh well, what the hell...
  8. Root of the problem by Billosaur · · Score: 3, Insightful

    From SecuriTeam Blogs: Is there anything that you think should be done to make vulnerabilities like this less dangerous in the future?

    Good design and good coding practices, but that is easier said than done.

    But shouldn't that be everybody's focus? We're seeing a lot of articles this week on coding practices, bugs, and vulnerabilities, and it all boils down to how hard every programmer is going to work to eliminate them. It's unrealistic to think that there will be no bugs in any piece of code, but if there are to be bugs/vulnerabilities, their impact should at least be minimized. And it's going to take teamwork; the day of the lone programmer capable of wiping out the bugs is long over.

    --
    GetOuttaMySpace - The Anti-Social Network
    1. Re:Root of the problem by rewt66 · · Score: 4, Insightful
      This particular problem has a deeper root. The problem is that the code is working as designed, and is well-designed to do what was intended.

      The problem is in what was intended. If your "feature" is a boneheaded security hole, no amount of good design and good coding can save you. All they will get you is a beautifully designed, perfectly coded boneheaded security hole.

    2. Re:Root of the problem by dc29A · · Score: 2, Insightful

      But shouldn't that be everybody's focus? We're seeing a lot of articles this week on coding practices, bugs, and vulnerabilities, and it all boils down to how hard every programmer is going to work to eliminate them. It's unrealistic to think that there will be no bugs in any piece of code, but if there are to be bugs/vulnerabilities, their impact should at least be minimized. And it's going to take teamwork; the day of the lone programmer capable of wiping out the bugs is long over.

      Hey now, programmers aren't the only ones responsible. Yes programmers produce code with bugs, yes they do try to correct it until Mr.Manager comes in and tells them they need to ship yesterday. Right now finding and fixing elusive bugs and security issues is not even close to the top priority for the majority of the companies, it costs money and it doesn't produce any money. They rather ship the coding team to start cranking out a new project/version. Not to mention for desktop software, the vast majority of the users don't even know what the hell a security hole is. So they don't care, there is no pressure on companies to produce quality code and invest time and resources into finding and fixing bugs. Until there is no governement regulation about software security, sloppy and unsecure software will continue to exist in large numbers, especially for desktops.

      We only see things like "Trusted Computing Initiative" and other BS propaganda like that when a company takes a LOT of bad mainstream press. The only time companies cave into pressure fixing their software when there is a huge outcry from the press. Of course that is all caused by no one in managmenet giving a fsck about quality, just to ship version X of the software ASAP and start working on version X+1.

    3. Re:Root of the problem by ucblockhead · · Score: 1
      What it really boils down to is managers putting bug-free code over schedule. What it will really take is companies willing to spend the time and money to get it right the first time and to stop shipping stuff the first time the QA report lists fewer than 1000 bugs.


      But this is moot, because the WMF flaw is not a bug. It's a design problem. The code does exactly what it is supposed to. The trouble is that no one went back and examined these ancient APIs for security issues when people started hooking Windows PCs to the Internet.

      --
      The cake is a pie
    4. Re:Root of the problem by Pike · · Score: 2, Funny

      "All they will get you is a beautifully designed, perfectly coded boneheaded security hole."

        - at best.

      It might have bugs, which might close the security hole.

    5. Re:Root of the problem by aXis100 · · Score: 1

      Yes programmers produce code with bugs, yes they do try to correct it until Mr.Manager comes in and tells them they need to ship yesterday.

      But... The point is they could be designing/coding in ways that reduce bugs from the start, not spending time later trying to hunt them down.

  9. What if I'm already rooted? by Anonymous Coward · · Score: 0

    Windows security is a joke. The only solution to cope with the delay between an exploit and its fix is to reimage Windows to its fresh-install configuration, and reapply all the patches from first to last with networking off. Microsoft doesn't make that easy to do.

    1. Re:What if I'm already rooted? by steve_l · · Score: 1

      OEM versions of the product go out there way to be pathologically bad here. By storing the restore image somewhere on the HDD, they let the rootkits find and contaminate that too.

      If you have an MSDN subscription (like windows developers do), you can pull down ISO images to burn. but it still takes ages to install and patch windows+apps to work, compared to say the afternoon it took me to get suse 10,0 on.

      I dont think things will improve either. I installed vista onto a vmware image and the virtual HDD was up to 9GB after install. 9GB, and still shipping with outlook express as the mail client. If they were security conscious, they'd have shipped Thunderbird.

    2. Re:What if I'm already rooted? by HermanAB · · Score: 1

      The solution is to make a 'Windows Bugspray' CDROM using Firefox on Linux to download all the patches form Microsoft. That way, you can do all the fixes pretty quick. If you are really serious, then you can Slipstream the fixes into a new install CD.

      Also see this: http://www.nu2.nu/pebuilder/

      Bart's PE is very handy for deleting files that Windows normally cannot delete, or simply to use as an incorruptable Windoze.

      --
      Oh well, what the hell...
  10. bad patch... by Anonymous Coward · · Score: 0

    As soon as MS updates gdi32.dll, his fix mill not work and/or make something bad happen...

    1. Re:bad patch... by jferris · · Score: 0, Flamebait

      For the love of [insert your diety here], read the damned article! It comes with an uninstaller, and he says it can be uninstalled immediately prior to or after patching with Microsoft's patch.

      --
      You are in a maze of little twisting passages, all different.
    2. Re:bad patch... by kalbzayn · · Score: 1

      I wish I could find it now, but I thought I read something somewhere that the Microsoft fix was supposed to work with the unofficial patch. Is that true?

    3. Re:bad patch... by Harinezumi · · Score: 1
      Actually, installing the official patch with Guilfanov's still in place isn't just a viable course of action, but the recommended one. The unofficial patch removes the vulnerable routine in memory, while the MS patch removes it from the code itself, so there is no direct conflict between the two.

      Keep in mind, though, that if you unregistered shimgvw.dll either manually or through an unofficial patch, you will have to re-register it (again either manually or by uninstalling the unofficial patch) in order to get its functionality (thumbnails in Explorer and the use of the Windows Picture and Fax Viewer) back. The official patch merely patches the DLL to remove the vulnerable routine.

    4. Re:bad patch... by Anonymous Coward · · Score: 0

      you're an idiot.

    5. Re:bad patch... by jferris · · Score: 1
      Flamebait? How is addressing a troll with facts from the article considered flamebait? Apparently, someone got mod points for Christmas, but not the dictionary that would have been better justified.

      By the way, this would actually be a better case for being flamebait. Try looking up "irony" in the dictionary, when you finally learn how to read.

      --
      You are in a maze of little twisting passages, all different.
  11. Actual link to the MS-official patches by mflorell · · Score: 3, Informative
  12. Why would they.... by DeadDecoy · · Score: 1

    Why would they need to hire a department when there's a whole world of people willing to do this for free? ;)

  13. You're missing the point, though by thewldisntenuff · · Score: 3, Insightful

    MS should have been all over this once the news hit. Why did it take them so long to get a patch out the door for this vulnerability? I suppose I could understand that it was the holiday, but even then, with 90%+ marketshare, you have an obligation to get that patched up ASAP. This could have been a lot worse than it is/was, but I think the pressure from outside and the release of the "unofficial" patch is ultimately what got MS off it's collective ass and back to work.

    1. Re:You're missing the point, though by dc29A · · Score: 5, Insightful

      MS should have been all over this once the news hit. Why did it take them so long to get a patch out the door for this vulnerability? I suppose I could understand that it was the holiday, but even then, with 90%+ marketshare, you have an obligation to get that patched up ASAP.

      I think that's a bit unfair. We got news of this zero day exploit the 27th of December? It's still only about 10 days to produce a patch and test it. It fixes multiple versions of Windows too. IMO it didn't take too long for MS to fix it compared to the 200+ day fixes you read about regulary on eEye's site. Of course the not so good design of Windows doesn't help either. Windows is not modular so fixing something like an image processing function can impact the entire kernel, it needs extra testing.

    2. Re:You're missing the point, though by 99BottlesOfBeerInMyF · · Score: 1

      I think that's a bit unfair. We got news of this zero day exploit the 27th of December? It's still only about 10 days to produce a patch and test it.

      Actually, the 27th is when the exploit went public. I have yet to see reliable data on when it first was discovered being exploited in the wild and when it was reported to MS. For all we know MS had this reported to them months ago.

    3. Re:You're missing the point, though by Diamon · · Score: 4, Informative
      I think that's a bit unfair. We got news of this zero day exploit the 27th of December? It's still only about 10 days to produce a patch and test it. It fixes multiple versions of Windows too. IMO it didn't take too long for MS to fix it compared to the 200+ day fixes you read about regulary on eEye's site. Of course the not so good design of Windows doesn't help either. Windows is not modular so fixing something like an image processing function can impact the entire kernel, it needs extra testing.

      Additionally if you check the timestamp on %WINDIR%\System32\gdi32.dll (the file fixed by Microsoft's patch) you'll see that it is dated 12/28. So we found out about the exploit on 12/27, Microsoft had it fixed the next day (assuming they didn't modify the file dates for any reason) and spent the remainder of the time testing the patch.
    4. Re:You're missing the point, though by Opie812 · · Score: 1

      I have yet to see reliable data on when it first was discovered being exploited in the wild and when it was reported to MS. For all we know MS had this reported to them months ago.

      Similiarly, for all we know they could have had this reported to them on the 27th. Speculating as you have proves nothing, aside from doing some self-reenforcing of your own hatred.

      --
      I'm not a nerd. Nerds are smart.
    5. Re:You're missing the point, though by 99BottlesOfBeerInMyF · · Score: 0, Troll

      Similiarly, for all we know they could have had this reported to them on the 27th.

      Thank you captain obvious!

      Here's a helpful tip for the future. If someone challenges an assertion by claiming that there is not sufficient information to draw that conclusion, a response of "but it could be true so stop speculating" is worse than useless. Adding an ad hominem attack does nothing to bolster your argument. Please develop some critical thinking skills and develop a useful opinion, or just be quiet.

    6. Re:You're missing the point, though by j79zlr · · Score: 2, Interesting

      Actually I believe that this was being exploited as early as December 14th according to one security blog [which I can't find at the moment]. I don't think the exploit was widespread until the 27th. Either way, it still took too long to patch.

      I understand that gdi32.dll is pretty much the equivalent of glibc, so its not something they want to modify without testing, but they should have at least went ahead and released the patch to the home users, production servers and the like, shouldn't of been affected by this [shouldn't be browsing around porn or warez sites, atleast not on the server] and their administrators could have easily held back the update until further notice/testing.

        Imagine if say, google.com or yahoo.com or microsoft.com were hacked in this time period, for nothing other than to upload and display an infected wmf file...............

      --
      I'm not not licking toads.
    7. Re:You're missing the point, though by ergo98 · · Score: 3, Insightful

      Windows is not modular so fixing something like an image processing function can impact the entire kernel, it needs extra testing.

      I think you misunderstand the meaning of modular. Because Windows is modular the change of one module can impact a number of processes.

    8. Re:You're missing the point, though by malfunct · · Score: 1

      In thier initial security bulliten they did mention the work around of unregistering the dll that drives windows picture and fax viewer which evidentially was the main way this vulnerability was being exploited at the time while they tested the patch.

      --

      "You can now flame me, I am full of love,"

    9. Re:You're missing the point, though by CFrankBernard · · Score: 1

      Security firm PivX was able to program an update for preEmpt that blocked all of the WMF exploit vectors on Win9x and higher without breaking anything. It was made available for its auto-updating clients on December 7th. (2005-12-07)

    10. Re:You're missing the point, though by CFrankBernard · · Score: 3, Informative

      The 27th? Security firm PivX was able to program an update for preEmpt that blocked all of the WMF exploit vectors on Win9x and higher without breaking anything. It was made available for its auto-updating clients on December 7th (2005-12-07).

    11. Re:You're missing the point, though by HermanAB · · Score: 1

      Well, this is a ten year old 'feature'. So one could argue that MS must have known about the danger of this feature for several of those ten years. It really makes one wonder how many more of these features there are in Windoze.

      --
      Oh well, what the hell...
    12. Re:You're missing the point, though by ivan256 · · Score: 1

      I think that's a bit naive. Clearly what's going on here is that Microsoft wanted to play like this wasn't any more serious than usual and could wait until their pre-planned update day. This is clear from their insistance that we all wait, and then their sudden change of heart that followed the media uproar. So, what we have here is probably 1 day to produce a patch, and nine days to bicker with the marketing department over whether to release it. If you're lucky, they tested it too. Just because other companies are neglegant and wait 200+ days to patch their software doesn't give Microsoft a good excuse to do the same, especially considering that none of those other companies (I don't care who they are) have a problem that is as signifigant as this.

      What did Microsoft do to win your unwavering sympathy?

    13. Re:You're missing the point, though by Opie812 · · Score: 1

      If someone challenges an assertion by claiming that there is not sufficient ginformation to draw that conclusion, a response of "but it could be true so stop speculating" is worse than useless.

      Making up scenarios (ie, "they could have known this for months") and then implying that it took longer than 10 days is just as useless.

      However, in my case I did it on purpose....

      You know, they could have known about this since 1994. Man, those Microsoft guys are real baddies.

      Anyways, I'm done with you.

      I'm not even sure why I'm sticking up for MS. It pains me.

      --
      I'm not a nerd. Nerds are smart.
    14. Re:You're missing the point, though by lysergic.acid · · Score: 1

      You're still missing the point of his original post. He wasn't arguing that Microsoft got news of the exploit long before it went public, but that you shouldn't assume that Microsoft only heard of the exploit when it went public, as this is often not the case. The assumption that Microsoft recieved news of the exploit 3 months ahead of the rest of us is about as supported as the assertion that Microsoft only found out about it when it went public--that's the point.

      If you want to be a smart ass, atleast figure out what the other person is trying to say first.

    15. Re:You're missing the point, though by drsmithy · · Score: 1
      Windows is not modular so fixing something like an image processing function can impact the entire kernel, it needs extra testing.

      Do some reading on the design and architecture of Windows. It most certainly *is* modular.

      Not to mention you've got the whole thing arse-about-face. Modularity is *why* code fixes in one module can have repurcussions in many other modules.

    16. Re:You're missing the point, though by 99BottlesOfBeerInMyF · · Score: 1

      Making up scenarios (ie, "they could have known this for months") and then implying that it took longer than 10 days is just as useless.

      The original poster said that MS only had 10 days to build a patch and test it. I replied saying that we don't have enough information to draw that conclusion since we don't know when MS was informed of the vulnerability or exploit. Then I postulated that they could have known about it for months. This is called an example. It was demonstrating the way in which the previous poster's argument was flawed; since there was no more information to support their assertion than any other, including the example.

      Now why don't you tell me just what is your problem with my argument. Or you could take a community college course in logic and rhetoric so that you can comprehend arguments in the future.

  14. Podcast Interview by Anonymous Coward · · Score: 2, Informative

    Leo Laporte and Steve Gibson also interviewed him yesterday in their very professional sounding security podcast.

  15. Slashdot Windows logo by Randall311 · · Score: 1, Troll

    I love how the Slashdot Windows logo is a broken window, but all of the other OSes on this site have prefectly legit logos representing their topics. Must be a shout-out to all the Windows haters out there... Could we get a legit logo for Windows topics here? Something like this?

    1. Re:Slashdot Windows logo by networkBoy · · Score: 2, Interesting

      we could but then we'd be sued for trademark infringement. The current logo is unique enough to be "artistic expression".
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    2. Re:Slashdot Windows logo by Anonymous Coward · · Score: 0

      they used to have the real logo.. my guess is MS threatened em so they removed it and put that broken one instead

    3. Re:Slashdot Windows logo by Randall311 · · Score: 1

      Thanks for clearing that up. I find it hard to believe that Microsoft would threaten to sue over something like that. Then again, it is Microsoft we're talking about. And yes I notice the strong dislike for MS around here, and maybe since the negitivity helps paint Microsoft in a bad light, that's probably why they threatened slashdot.

      Apparently, if you discuss this topic you get modded a troll. I don't care, I thought that it was a legitimate question to ask. We have the logo from Apple, and they never threaten slashdot. Maybe because all the fanbois kiss Apple's butt around here.

    4. Re:Slashdot Windows logo by Randall311 · · Score: 1

      Thanks for clearing up my question and thanks for having the guts to not AC it. Now that I look at all of the topic logos, there are a few that have the artistic expression that you mention. None of them are the Opertaing System logos though, except of course for Windows.

    5. Re:Slashdot Windows logo by 99BottlesOfBeerInMyF · · Score: 2, Insightful

      hanks for clearing that up. I find it hard to believe that Microsoft would threaten to sue over something like that.

      MS threatening to sue is news to me. It sounds like pure speculation. My pure speculation is that the icon was created by someone right after MS did one of the thousands of annoying/illegal/unethical things they regularly do to piss off the computer industry as a whole (you know like buy out and kill a cool technology, intentionally break a standard, or bundle yet another software package illegally) or after someone has just finished several hours of trying to deal with their buggy software. Generally, after hearing the 507th thing MS has done to slow down the progress of computing, sentiment against them is running high enough so that people with a clue are amused and gain some stress relief from a simple mockery of them. I know after a few hours of coding workarounds for IE's broken version of HTML I'm more than happy to see something mocking MS. It's not prejudice to judge someone after observing their behavior for years.

      I predict a non-mocking logo for MS will replace the existing one about one year after MS stops pissing everyone off by being evil.

    6. Re:Slashdot Windows logo by I'm+Don+Giovanni · · Score: 1

      You actually bought that "Microsoft threatened to sue" malarky? LOL
      BTW, slashdot's general Microsoft icon (the one used for non-Windows stuff) is the Bill Gates Borg picture, which is another icon that shows that this site has zero cred whan reporting Microsoft "news".

      --
      -- "I never gave these stories much credence." - HAL 9000
  16. Re:OT: Can we get a font change? by RandoX · · Score: 1

    Ironically, I thought you said lowercase 1 (one).

  17. Another great interview (podcast) by Gnight · · Score: 1

    There's also a very good podcast interview Ilfack did with Leo Laporte. If you'd like to check it out, here's the direct link.

  18. Why not scramble all DLL's and EXE's on the fly? by DoktorFuture · · Score: 5, Insightful

    Why not just auto-scramble the DLL code on the fly for every installation of the Windows OS?
    That would mean buffer overflows are essentially defeated on a vast majority of cases? One simple thing we could do would be to insert random NOP's in DLL's, making the buffer overflow get the correct offset wrong most of the time and thus fail to work. I'm sure there are dozens of more clever ways to achieve this, in a completely general sort of way.

    The reason these attacks spread is that the binary code is essentially a monoculture crop -- all clones of each other. Why not take the SID of a system, or some GUID, and use it to morph all the binary images on a system in a unique way for that system?

    Since lots of attacks use NOP's, XOR'd code, and other techniques to avoid being detected as code, why don't we apply the same techniques to our binary objects to obfuscate them from the attacking code?

    Paul Sop

  19. sloldotted by Spy+der+Mann · · Score: 1

    From the article:

    You will have to download from one of the better-connected mirrors, as poor Ilfak has already had to move hosts once. I guess he's a victim of his own popularity. :-(

    Why can't we get credit for THAT? :( bummer!

  20. Weird error by Anonymous Coward · · Score: 0, Troll

    Weird, here what I got when clicking the windows update link :)

    Thank you for your interest in obtaining updates from our site.

    To use this site, you must be running Microsoft Internet Explorer 5 or later.

    To upgrade to the latest version of the browser, go to the Internet Explorer Downloads website.

  21. How wierd by Anonymous Coward · · Score: 0, Interesting

    I agree with "User 956 (568564)", this type of thing should not be encouraged. What if that custom patch had some sort of flaw that resulted in some major problem or data loss?

    Maverick patches are the last thing we need. And now, since this guy is getting a bunch of press, we will have 90 million hackers trying to be the first to release a patch for the next MS bug. And next time, it might not be so stupidly simple to fix.

    1. Re:How wierd by mopslik · · Score: 2, Insightful

      Maverick patches are the last thing we need. And now, since this guy is getting a bunch of press, we will have 90 million hackers trying to be the first to release a patch for the next MS bug.

      So who's the one at fault: the maverick hacker who writes a patch, or the user who chooses to install it instead of waiting for the official patch from Redmond?

      You do know that Ilfak's patch was optional, right?

  22. You had me going right up until . . . by mmell · · Score: 1
    you suggested:

    Why not take the SID of a system, or some GUID, and use it to morph all the binary images on a system in a unique way for that system?

    Now that sounds quite similar to M$'s "(un)Trustworthy Computing" bit. Since the keys and the encryption algorithm both reside on any given system, the decryption must take place within a (hardware embedded) subsystem in order to prevent the system software from being compromised. Uh, what happens if I want to install LINUX, or even when I just want to reinstall Windows? Absent hardware encryption and hardware checking, I don't see how such a scheme can be made secure, and I think you will find that the majority of /.'ers are vehemently opposed to embedded hardware preventing valid users from installing valid software on their systems (a known and expected result of implementing M$'s "(un)Trustworthy Computing" protocols).

    For the record, I can only recall one instance where it was more reasonable to reinstall LINUX than to fix it; my experience with Windows, however, includes many reinstalls. Software-based encryption means that it will be difficult at best to rescue files from a compromised system; hardware-based encryption means that M$ (via the agency of your hardware manufacturer) pwns j00r 50u1.

    Palladium, anyone?

    1. Re:You had me going right up until . . . by DoktorFuture · · Score: 1

      Well, just pick a number. Any number. The point of the number is not to lock into some crazy trustworthy computing (that doesn't trust the user at all - WTF?).

      Also, my idea is something that could be implemented on any OS. It's not Windows specific.

      Since so many attacks seem to exploit buffer overflows, and there are so many defenses against buffer overflows these days (like the one I just mentioned), it seems to me that a good goal for the end of 2006 is to widely implement some of these capabilities -- perhaps even proactively in some operating systems like OS X, and then we can finally move to a place where "Information Security" can mean more than "Patching against buffer overflow attacks".

      Some people say we should be designing things so they have no flaws in them. I say it's impossible, and rather, we should be designing systems that operate gracefully with flaws. Instead of 'fault tolerance', we should be pushing towards a future of 'indestructibility, even with fault injection'.

      Paul Sop

    2. Re:You had me going right up until . . . by mmell · · Score: 2, Insightful
      Yes, but inserting NOP's into a DLL requires you to compute and store entry points, does it not? I mean, there's gotta be a jump table somewhere, right? That computation must be replicable in order for software to use it; so all an enterprising cracker need do is perform the same count valid software has to and voila - security bypassed.

      Doesn't matter where in the software you hide the algorithm, the algorithm must be available in software and therefore provides only the illusion of security. Sorta like locking the front door, but leaving the key under the door mat (when everybody knows that you leave the key somewhere near the front door).

      Put it in hardware, and you've begun sliding down the slippery slope leading to "Trustworthy Computing".

      This is all wide of the point, however; the problem isn't a buffer overflow, it's a well-coded but ill-concieved functionality built into Windows by design. Going back to that front door, it's a mail-slot large enough to put your arm into, in case you ever need to spin the doorknob from the inside. Not intended to make your home insecure, but rather to make your life easier. Oopsy! Didn't realize that thieves could also reach through the mail slot.

    3. Re:You had me going right up until . . . by JustKidding · · Score: 1
      Since the keys and the encryption algorithm both reside on any given system, the decryption must take place within a (hardware embedded) subsystem in order to prevent the system software from being compromised.

      No, it is perfectly safe to do this encryption / entry point calculation in software. The moment someone can run code on your system, you're screwed anyway. But in order to run code, they must 1) load the code to be executed into system memory, and 2) get the CPU to execute the code. Step 1 is still possible with a buffer overflow, but step 2 becomes a lot harder and very unreliable, or possibly even practically impossible. This is at a stage of the exploit where the attacker does not have any code running on the target machine. I like the idea of introducting artificial biodiversity to slow down the spreading of worms and viruses, but I think it is very unlikely that microsoft would implement something like this, considering they seem to be incapable of getting regular code to work. Randomly mangled and rearranged code must be a support employees worst nightmare. Most exploits are nowadays are buffer overflows. some 90% of those are stack-based buffer overflows (heap-based overflow are significantly harder to exploit). So by just mangling the stack a little, we might see a very significant drop in successfull exploits. Ofcourse it's not an end-all solution, as it is not impossible to exploit a system, but it might be enough to stop the tupid ones from succeeding. One a side note: it is possible to get around the NX (no-execute) protection in XP SP2. The short story is that it is possible to overwrite the pointer to the exception handler that is called when the NX bit is violated. The long story is in The Shellcoders Handbook.

  23. Get in line of FO by smokin_juan · · Score: 0, Redundant

    According to the "download from the Windows Update site" link, Microsoft doesn't want me to update:

    "To use this site, you must be running Microsoft Internet Explorer 5 or later.
    To upgrade to the latest version of the browser, go to the Internet Explorer Downloads website."

    I guess Firefox isn't good enough.

    1. Re:Get in line of FO by Anonymous Coward · · Score: 0

      I hope you're posting this and expecting a "funny" score...

  24. Re:Why not scramble all DLL's and EXE's on the fly by DenDude · · Score: 1
    /* The reason these attacks spread is that the binary code is essentially a monoculture crop -- all clones of each other. Why not take the SID of a system, or some GUID, and use it to morph all the binary images on a system in a unique way for that system? */

    I think if MS did that, it may slow down the search for exploits until someone comes up with the de-scrambler. If the starting point of the scramble is on the system, the hackers will have a starting point to break it. From there it's just a matter of time until someone comes out with the crack. Just like any copy protection scheme. DenDude

    --
    A Haiku: my language choices/assembler pascal lisp c/old school programmer
  25. Re:Why not scramble all DLL's and EXE's on the fly by Anonymous Coward · · Score: 5, Interesting

    Or just do what OpenBSD does: Make writable memory non-executable, make executable memory non-writable. This bit of common sense is disappointingly rarely implemented.

  26. Re:Russians RULE by halivar · · Score: 0, Troll

    Russians all da way bro. Best hackers in a world are russian hackers.

    Thanks, comrade. And also thank you for the extra bandwidth and hard-drive space. Your zombified box is helping us spread our spam to the proletariate.

  27. Re:Why not scramble all DLL's and EXE's on the fly by CoderBob · · Score: 2, Insightful
    The reason these attacks spread is that the binary code is essentially a monoculture crop -- all clones of each other. Why not take the SID of a system, or some GUID, and use it to morph all the binary images on a system in a unique way for that system?

    That's all reversible information, though. Somewhere, for an executable to work, this information would need to be stored, and on the disk. Considering that nothing stored on disk is completely secure, I don't see this as a viable option.

    Consider the GUID option: That GUID is going to have to be known so that everytime a new DLL or EXE or other executable code file is copied, on an OS level, to the system, that it be modified to include the correct jump points. It would be trivial to write a hack that grabs this GUID stored somewhere. Knowing that this GUID is used to jumble the locations of a process, the whole thing could be "undone". Even if you were to generate the GUID on the fly (with each execution) the problem arises that the original executable code is still on the disk somewhere- and that you can get at that file. The only security this creates would be fleeting, because it depends on the method of "encrypting" the file with the GUID be secret or that the method the GUID is created with be secret. Otherwise, it's all easily repeatable by anyone who takes the time to determine how the GUID is generated.

    Even in a best-case scenario, in which the GUID is generated based on some known information and some pseudo-random information, applied on execution of the file on the OS level, and then the file is run from memory, could still fall prey to some easy hacks: Patterns. If the file is ever stored on the disk, it can be analysed, patterns generated from it, and memory locations could be determined from that.

    Basically, any executable stored is vulnerable to this unless the code is secure to begin with. Instead of patching the entire system with a solution that is more of a cold medicine-style fix, the key is to have both have engineers design good specs and to have programmers write better code.

  28. Re:Why not scramble all DLL's and EXE's on the fly by JackDW · · Score: 1
    Why not just auto-scramble the DLL code on the fly for every installation of the Windows OS?

    This would not prevent procedure call hijacking attacks, where an existing call to a procedure is given specially crafted parameters. Nor would it prevent exploits from using system calls directly. Just like preventing execution of code in the stack segment, the measure would make attacks harder, but would not prevent them.

    --
    You're an immobile computer, remember?
  29. Without Source Code by AB3A · · Score: 1, Interesting

    I think Microsoft deserves a great deal of criticism for their response to this exploit. Let's face it, exploits will always be a fact of life. How we deal with them is what separates the kids from the adults.

    In this context I find it quite amusing that Guilfanov was able to make a quick and effective fix without the benefit of the source code for gdi32.dll. In contrast the folks at Microsoft thrashed around for more than a week before realizing the significance and the simplicity of the fix.

    I wonder how many more times this sort of thing will have to happen before people realize what a poor job Microsoft is doing managing their security flaws. What are people paying them for, anyway?

    --
    Nearly fifty percent of all graduates come from the bottom half of the class!
    1. Re:Without Source Code by JNighthawk · · Score: 1

      What are people paying them for, anyway?

      Oh, let's go with QA testing on a myriad of different systems and operating systems modifying the actual library compared to some guy modifying some code already in memory, with no thought or testing as to what it might do to the thousands upon thousands of different configurations of systems.

      Stop being a troll.

      --
      Wheel in the sky keeps on turnin'.
    2. Re:Without Source Code by AB3A · · Score: 1

      You know, if this was some obscure buffer overflow, I'd have to admit that you have a point. But it wasn't.

      It was an issue with the WMF file processing. The fix in this case should have been painfully obvious to anyone with source code. Given the simplicity and severity of this situation, it shouldn't have taken long (a couple days perhaps) to do adequate testing to assure that there wouldn't be any other unanticipated side effects.

      No, my concern is that Microsoft's management misread this situation and failed to recognize how serious this flaw was. As this is not open source, we have no alternative but to trust their judgement on this. Lately, they've been getting several such judgement calls wrong. At some point we have to ask ourselves whether these people are up to the task we expect from them.

      If that's trolling, then so be it. But the question remains. Ignore it at your peril.

      --
      Nearly fifty percent of all graduates come from the bottom half of the class!
    3. Re:Without Source Code by Solwop · · Score: 1

      Ilfak Guilfanov created IDA Pro http://www.datarescue.com/ the number one Disassembler around.
      If there's anyone who doesn't need the source code, it's him.

  30. Re:Why not scramble all DLL's and EXE's on the fly by Ken_g6 · · Score: 1

    Has anybody written a scrambler like this for generic executables? Of course it wouldn't have fixed this bug, but it could be very useful in the future.

    Is this along those lines?:

    http://www.itlocation.com/en/software/prd54552,,.h tm

    --
    (T>t && O(n)--) == sqrt(666)
  31. Re:Why not scramble all DLL's and EXE's on the fly by DoktorFuture · · Score: 1

    It's hard to descramble something that is random, or pseudo random. There is no 'key' to break as it were.

    Further, the descrambling code would have to be on the system in the first place to begin the descrambling.

    Also, the loader could randomize each peice of code each time it was loaded, or possibly even while it was running.

    Kind of like Java's 'Hot Spot' run time optimizer, but geared towards making the code running functional, but unknowable, even to a debugger -- at least in practical cases I can think of this afternoon :)

    Paul Sop

  32. Re:Why not scramble all DLL's and EXE's on the fly by DoktorFuture · · Score: 1

    Fair enough.

    What if the number was more random? Wide spectrum radio receiver in a chip, spitting out entropy?

    Paul Sop

  33. Securiteam's security? by Anonymous Coward · · Score: 0

    Their database is down, and the error message says the DB server is "localhost". Their webserver is listening on a world-facing interface on 3306. Leet!

    1. Re:Securiteam's security? by DavidTC · · Score: 1

      In what universe is localhost 'world-facing'?

      --
      If corporations are people, aren't stockholders guilty of slavery?
  34. I knew I read it somewhere by kalbzayn · · Score: 1
    I knew I wasn't totally crazy.

    as reported on zdnet.com

    F-Secure said in its company blog that it has tested the patch and it appears to coexist with the Guilfanov fix.
  35. A few reasons i can think of that complicate it.. by bmajik · · Score: 3, Informative

    I'm not saying these are (necessarily) insurmountable, but:

    One doesn't really have _full_ flexibility in binary layout. There are issues like word alignment to be aware of.

    Windows needs to know how to get the address of a symbol, by name, dynamically. Even if you change the address underneath, the exploit only needs to call a routine to just call the moved function by name.

    One of the advantages of DLLs is that the text (code) segments are shared cross-process. If you want to make the loader muck with the images per-process, you effectively have static libraries. This is lethal on server type applications with hundreds or thousands of separate address spaces.

    Note that if you _dont_ do per-process space scrambling, your exploit can just scan its entire address space to see where the relocated stuff is, because it will be the same in all the other address spaces on the box.

    Finally - this was a spec defect - my understanding is that the code is actually running as designed.. it's just a facility that has no business in a modern, assumed-hostile computing world.

    --
    My opinions are my own, and do not necessarily represent those of my employer.
  36. Re:Why not scramble all DLL's and EXE's on the fly by Krach42 · · Score: 1

    Why not just auto-scramble the DLL code on the fly for every installation of the Windows OS?

    Because adding NOOPs will not change the behavior of the functions. Especially case in point, it would not have blocked this security hole. Nor would it really block any security hole.

    Exploits just attempt the exploitable behavior and if it works, then it works, if it doesn't then the exploit fails, but who cares? and it continues on.

    The problem with buffer overflows is the regularized position and size of the STACK and FUNCTION HEADER, this has absolutely nothing to do with the code itself. One could easily design a random-like stack adjustment that would protect from buffer overflows while still having the code remain exactly the same on every computer.

    --

    I am unamerican, and proud of it!
  37. Hero? by Anonymous Coward · · Score: 0, Flamebait

    Are you guys serious? This man is not a hero. He may be a clever programmer, talented security analyst, or an all around nice guy. No one is a hero for releasing a security patch. Heroes risk their lives for other people. Heroes are full of courage and strength. Heroes do not write security patches.

    This may come as a shock, but you don't end up becoming a hero by sitting in your parents basement, drinking mountain dew, and trying to find the latest security exploit. If that's your aim you should probably step outside once in a while and do something worthwhile.

    1. Re:Hero? by Dunbal · · Score: 1

      Heroes risk their lives for other people. Heroes are full of courage and strength

            According to your narrow and highly romanticized version only. How sad. If only you could broaden your view you would see heroes everywhere...

      --
      Seven puppies were harmed during the making of this post.
    2. Re:Hero? by Anonymous Coward · · Score: 0

      Laughable. There are heroes everywhere: firefighters, policeman, and those who serve in the miltary to name a few. Writing some code does not make you a hero. Period.

    3. Re:Hero? by Anonymous Coward · · Score: 0

      yes i agree the goatse guy is absolutely a true canadian hero!!

  38. But... by Anonymous Coward · · Score: 0

    Microsoft apologist/lackey Rob Enderle says NOT to use this patch.....

  39. Also by shoptroll · · Score: 2, Informative

    There's also an interview with him in yesterday's Security Now! podcast

    http://www.twit.tv/

    --
    Insert Sig Here
  40. Re:Why not scramble all DLL's and EXE's on the fly by Rufus211 · · Score: 4, Informative
    Or just do what OpenBSD does: Make writable memory non-executable, make executable memory non-writable. This bit of common sense is disappointingly rarely implemented.

    That's exactly what the Data Execution Prevention (DEP) is. It requires XP SP2 and a CPU that has the NX bit (or I forgot what Intel called the "we didn't copy this form AMD" bit). In fact, it appears that DEP does stop the exploit.
  41. And also by Dunbal · · Score: 1

    In other news it is unclear if Microsoft will press charges under the DMCA, since this person is clearly a criminal because only by reverse engineering the Windows OS would it have been possible to create this patch...

    --
    Seven puppies were harmed during the making of this post.
  42. Re:OT: Can we get a font change? by aconkling · · Score: 1

    Sure.* Tools|Options or Edit|Preferences, Content tab, change default font, click Advanced, and change the font for the appropriate languages. I'm not sure as which one Slashdot comes up--because I have all my fonts set to the same thing--but this does work.

    *- Disclaimer: This is for Firefox 1.5. Opera's configuration is similar, though may involve using a CSS.

  43. Re:Why not scramble all DLL's and EXE's on the fly by Anonymous Coward · · Score: 1, Informative
    OpenBSD uses some MMU and 386 segment voodoo to make it so that W^X works even on Intel processors that don't have NX.

    In addition to W^X they have:
    • Software stack protector (propolice). I believe this has been merged into GCC 4.1, so maybe more Linux distros will have this feature in the coming years.
    • On SPARC, they protect the stack using hardware stack protection, using some SPARC assembly voodoo which I can't say I know much about.
    • Randomized heap locations. Any malloc() call returns an unpredictable memory location. Sure this won't solve stack-based exploits but having an uncorrupted heap (and crashing programs before they corrupt it) is a good idea.
  44. OT Evil rant by Bill,+Shooter+of+Bul · · Score: 1

    or bundle yet another software package illegally

    The evil! I understand what you mean, but honestly, Evil? Evil is what happens when one person kills another person. Evil is not giving someone software for free. Its not a word that should be used so lightly. Yes microsoft is very annoying and their behavior has served to hinder competetion for years and yes much of it is illegal. But its not evil. Does it really make you feel better to look at a broken window? I suppose in a secular society that no longer believes in the devil or any real kind of evil, we are forced to invent the devil in the immage of someone we don't like (ie Bill Gates)and call everything he does "evil". Thus because we are not him, and actively support those that compete against him, we are "good" and by all measures saints. Just as long as we don't violate the fourth commandment by bundleing free as in beer software with our non opensource monopolistic software!

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
    1. Re:OT Evil rant by 99BottlesOfBeerInMyF · · Score: 1

      The evil! I understand what you mean, but honestly, Evil? Evil is what happens when one person kills another person. Evil is not giving someone software for free.

      If it makes you feel any better, which it probably won't, I don't believe in evil. I was using the term emblematically.

      invent the devil in the immage of someone we don't like (ie Bill Gates)and call everything he does "evil".

      Who said anything about Bill Gates? I was writing about Microsoft.

      Does it really make you feel better to look at a broken window?

      Who called humans the "laughing beast?" Yes it does. Laughter is a great way to relieve stress and frustration.

    2. Re:OT Evil rant by Bill,+Shooter+of+Bul · · Score: 1

      Yes I know you don't believe in Evil. Thats why you used the word. Thats part of my point. But my point transends your particular post, and slashdot in general. Its really strange place to put that thought, but I felt it so I wrote it. Thats just the way I'm rolling right now. don't take any offence. Its not your fault its such a large problem, but you do contribute to it. I also just find it wierd that some people see that and laugh. Its not a very funny picture. If you want a funnier windows sucks picture, I can have one made. I agree we all need to take ourselves a little less serious and laugh more often ( but in a way that doesn't contradict my postings, if you don't see it don't worry its like magic eye you might see it immediatly or you might have to stare at it a while before you get it, or you might never get it and just come to the conclusion I made the whole thing up).

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    3. Re:OT Evil rant by 99BottlesOfBeerInMyF · · Score: 1

      Yes I know you don't believe in Evil. Thats why you used the word. Thats part of my point. But my point transends your particular post, and slashdot in general. Its really strange place to put that thought, but I felt it so I wrote it. Thats just the way I'm rolling right now. don't take any offence. Its not your fault its such a large problem, but you do contribute to it.

      Ahh, but you seem to be failing to understand the perspective of others. If evil does not exist, then there is no harm in using the word allegorically or emblematically. And, of course, even if evil does exist, most would argue words can have multiple meanings and uses. You profess to have understood my meaning, thus the communication was effective. What then is the problem?

  45. Re:Russians RULE by Doug+Coulter · · Score: 1

    I run an embedded software writing firm, and have had the good fortune to work with several Russians and others from that general part of the world. One said he'd do the first job free so I could see how good he was, and did something that would have taken my guys maybe a couple weeks in only a couple of days. Since this was both gui and presets related for a ton of little things that all had different gui and preset requirements and all the gui modifications were in good taste and true to the original style, I was VERY impressed. Know what? I went ahead and sent him a good chunk of change. Go Vladimir R!

  46. DEP doesn't stop the exploit... by YesIAmAScript · · Score: 1

    Look on kyeu.com forums (I think it was).

    hardware DEP does stop the exploit under certain conditions, but installing other (seemingly unrelated) code invalidates the protection (because they are binaries packed with some special software and MS turns off DEP for those binaries since they wouldn't work otherwise).

    I'm surprised DEP worked at all on this, the flaw is a design flaw, not a buffer overflow exploit.

    --
    http://lkml.org/lkml/2005/8/20/95
  47. Why is this flamebait? by Anonymous Coward · · Score: 0

    Because he criticized MS? His point is valid. Somebody mod that mod. Ilfak's patch worked well enough that security firms were recommending it in a shorter time than it took MS. There's no flamebait here unless we've suddenly transferred us to the Microsoft forums.

  48. Yep, read my /. comment... by antdude · · Score: 2, Informative

    See here.

    --
    Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  49. It IS distinguishable in Netscape Communicator 4.7 by Anonymous Coward · · Score: 0

    Even though the site has taken a rather plain-jane approach in recent times, it's quite legible here.

  50. Re:Why not scramble all DLL's and EXE's on the fly by cnettel · · Score: 1
    Just don't expect this to solve everything. The point of DoktorFuture was that people hardwire their exploits to existing code addresses, so hard that even a simple DLL relocation may break them. Even if all writable address space is no execute, you can get a buffer overflow to overwrite the RET pointer on the stack. In its place, you can write the address to a carefully chosen routine, and if you're really mean (and depending on the calling convention used), you might even get the possibility to tell what parameters it should use. Imagine that the call in question is good old POSIX "system" and the data is a pointer to a malign string on the stack. This assumes that you know the system so well that you know for sure the specific stack address used, but that's not impossible if the design is consisting of a bunch of worker processes that serve each request from a rather "clean" state of almost empty stack, for example.

    In fact, this gets me thinking that just a rotating use of stack base pointer in new processes would force exploits to be more clever... That, and arbitrary code relocation, is far easier than actually mangling the code.

    "Canaries" as safeguards on the stack and no execute of writable memory combined might give you a pretty good improvement, but they are still vulnerable. The SetAbortProc exploit here could, even with DEP, possibly be targeted against a suitable API address and attack the system.

  51. OMG!! Windows Patch F#@ked up Slashdot in IE by Dubliner+Macmanus · · Score: 0, Troll

    I just updated Windows with the new patch and !!Whammo!! all the /. posts are black where all I can read is the subject and links. Anyone else have this problem? Works fine in Firefox and Opera though...so I could really care less. Just curious if anyone else is having the same issue. -------- I just /.ted your Mom.

  52. Re:Why not scramble all DLL's and EXE's on the fly by IamTheRealMike · · Score: 1
    What you're thinking of is called address space layout randomization, and is implemented on Linux since some time ago (if you're a RH/Fedora user). There are commercial packages which add it to Windows, but AFAIK they carry a heavy performance penalty as the Win32 PE file format requires something called "rebasing" to move it around inside the address space. That requires binary patching of the in-memory DLL image by the linker, which makes them non-shareable, which increases memory consumption dramatically.

    Now, you could ask, why don't Microsoft improve the PE format so it works more like ELF, use the new format for their own system DLLs and then randomize them. And you'd have an interesting question - I don't know why not. Presumably it's considered very difficult, I know that a few Microsoft employees have mentioned they hate touching very low level code like the linker because so few people understand it these days and it's so easy to break things.

  53. Re:Why not scramble all DLL's and EXE's on the fly by Hal_Porter · · Score: 1

    The latest Microsoft compilers do implement canaries to check for buffer overflows, and DEP too.

    There are still exploits for them though

    http://www.ngssoftware.com/papers/defeating-w2k3-s tack-protection.pdf

    The per process cookie isn't write protected, and exception handlers can be located on the heap.

    --
    echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  54. Mod Funny! Re:Russians RULE by n54 · · Score: 1

    Moderators and metamoderators: the parent's post is a humorous!

    --
    this comment is provided "as is" and without any express or implied legibility or congruity [...]
  55. Re: MS response by Anonymous Coward · · Score: 0
    They also are refusing to release the patch for Win98/SE/ME, even though it uses the same code and is admittedly vulnerable. The pathetic excuse for this negligence is that exploits known to be "in the wild" use Win2000/WinXP attack vectors. But atacking these older versions is possible, juding from MS's own release--it just hasn't happened. Yet. That they know of.


    Bill, if you're really serious about security and customer service, release the patch for all Windows versions that contain the vulnerable code. Do it now, not after there are thousands of compromised systems. Old systems are a fact of life. They can't run XP, and the owners of hand-me-down systems can't afford to replace them just because you don't care.

  56. Not a Zero-Day - more like a 15k-day exploit by sparkz · · Score: 1

    Why does everyone keep referring to this as a zero-day exploit? This is a long-standing vulnerability which has existed since 1990. It has only recently been publicised, granted, but it is a 15-yr-old vulnerability. Those running older versions of Windows, which MS has graciously declined to support, are still vulnerable to this "design flaw". On the plus side, a zero-day exploit generally means an obvious hole - this hole has existed for years, and it's taken 15 years for it to be published. Is that really a Good Thing, though? It's a fscking big design flaw, at that - if in doubt, execute randomly-supplied code. It is right that MS have been under pressure to produce a patch for Windows XP, but there must still be pressure to provide patches for all versions of Windows which are vulnerable to such a wide-open and so easy to exploit flaw. It's not just about the risk - it's about the fundamentally poor design. Let's try the old, boring comparisons again (well, what else is there?) - if a car which has been sold over the past 15 years has a flaw (possibly known by "baddies" for the past 15 years) which means that the V5/pink-slip/ownership papers/call-it-what-you-will can be transferred remotely simply by driving through a bad neighbourhood, there would be an international outcry, and (even if that car was no longer on sale) the manufacturer would have to make a fix available, whatever the cost. MS should be pulled up on this, and pulled hard. Some guy "discovered" this flaw (I've never looked at WMF before, I'm sure most of us haven't, but presumably enough people have looked at it for compatability (I see that the WINE guys implemented it without spotting the flaw)) but from what I read, it's a documented "feature" of WMF that if an error occurs, then you can provide your own code to deal with the error. That must be tantamount to negligence - not in the original design, as it was written before MS realised that the internet existed, but in adding a TCP/IP stack to such code, without reviewing what code they were exposing to the internet. They spent however many $m on promoting Win95 and its internet features - what did they spend on ensuring that it was safe to put on the internet? What I really find interesting, is what else the code which discovered this flaw, could possibly discover? And who else has written similar software, but kept it to themselves for private reasons? Steve.

    --
    Author, Shell Scripting : Expert Re