Slashdot Mirror


WMF Vulnerability is an Intentional Backdoor?

An anonymous reader writes "Steve Gibson alleges that the WMF vulnerability in Windows was neither a bug, nor a feature designed without security in mind, but was actually an intentionally placed backdoor. In a more detailed explanation, Gibson explains that the way SetAbortProc works in metafiles does not bear even the slightest resemblance to the way it works when used by a program while printing. Based on the information presented, it really does look like an intentional backdoor." There's a transcript available of the 'Security Now!' podcast where Gibson discusses this.

29 of 788 comments (clear)

  1. Length==1 by atfrase · · Score: 5, Insightful

    This does look awfully like a special-case trigger. The idea of a backdoor is to have it look for a specifically crafted but completely nonsensical and invalid input sequence -- this serves as the "key" to the backdoor, ensuring that no other designer or user accidentally stumbles onto it. Since we assume that legitimate users and developers will only provide valid input, we design our "key" to be definitely invalid. For me, that length==1 trigger is the most convincing evidence. It's not just that it's the wrong input, it's that it's the one specific value of wrong input that triggers the behavior. That seems like design.

    1. Re:Length==1 by stevied · · Score: 4, Insightful

      Obviously SetAbortProc should not be implemented for WMF playback, but assuming somebody screwed up and just called the normal version of Escape(), could the behaviour we're seeing here not somehow be the result of not checking the validity of the length parameter properly, performing some arithmetic on it, and possibly falling through to some other code that happens to a jump or call?

    2. Re:Length==1 by Procyon101 · · Score: 4, Insightful

      Possibly, but I doubt it's a Microsoft sanctioned backdoor. Any "OFFICIAL" backdoor from MS would have a much more complex key to get in than "1".

      I can see this being a programmer supplied backdoor, like a hook for easter eggs, but based on the other security work done in MS, anything that can be gotten into that is there on purpose is locked up pretty tight to any casual attempts.

  2. Re:And this door leads to... by Tebriel · · Score: 4, Insightful

    A lawsuit is not the answer to everything.

    --
    The Blaster Master Fighting for Truth, Justice, and Evil Pie since 1979
  3. Interesting evidence by joshtimmons · · Score: 3, Insightful

    I agree with the author that the length prefix is something of a smoking gun. It begs the question of "how do we know it was fixed..." For example, they could change it to execute the datastream when length is set to a new trigger value; or a stronger backdoor would ignore any unsigned code. Still there, but harder to test for.

    It's a straightforward way to add a backdoor that will bypass firewalls, etc. It can be triggered by a browsed page, email, etc. It's better than gif/jpeg encoding because those are more "platform independent." and the payload would be more likely noticed by a 3rd party decoder.

    On the other hand, isn't this flagged as an attempt to execute code on a data page?

    Also, if it were official, doesn't MS have easier ways into a general box - say through security updates, or even the entire existing code base?

  4. You're on by Benanov · · Score: 3, Insightful

    Actually, I think Microsoft will go after Gibson's reputation.

  5. Re:Unparalleled BS from MS. by Soporific · · Score: 4, Insightful
    I't a lot like the Allied soldiers who were fighting in Germany, being told all these horror stories about how evil the Nazis actually were, and then coming upon a concentration camp and finding out that these stories were real after all.


    It's nothing like that actually, you are comparing apples to supernovas.

    ~S
  6. Thread Creation by Lagged2Death · · Score: 5, Insightful

    For me, that length==1 trigger is the most convincing evidence.

    I don't think it's surprising that a piece of code might behave in an odd way if it's given invalid input, i.e., if a buffer length is wrong.

    I think the real giveaway here is that Windows creates a new thread when presented with this magic length. That's like rolling out the red carpet for the attacking Huns. I don't think the average buffer overflow type exploit gets it's own thread or process.

    And of course it's still possible that it was all a mistake. The C language can be used to write some extremely tangled code, if one is so inclined. Something like an incorrectly used setjmp/longjmp could have effects like this.

    1. Re:Thread Creation by atfrase · · Score: 5, Insightful

      I don't think it's surprising that a piece of code might behave in an odd way if it's given invalid input, i.e., if a buffer length is wrong.

      Again, agreed. But again, the catch is in the particular kind of odd behavior. If I were writing that code and it hit an invalid length, I'd probably abort processing of the whole file, presuming data corruption. Failing that I'd just skip over the flawed block and proceed with processing the next one. In that case, I could imagine not checking the length very carefully and just going to " + " to process the next block -- this would produce the observed "next byte" pointer.

      The problem is in the semantics: I said *process* the next block, not *execute* it. If anything this would just cascade into more error cases, since the data that was expected to be the "next block" would almost definitely also have a malformed header (since it wasn't intended to be a header at all), etc.

      So, I guess you're right - the tipoff is still that actual code is executed without having to be specifically pointed to (i.e. buffer overrun), and that it's executed in its own thread, rather than taking over the processing thread that was interpreting the metafile in the first place.

    2. Re:Thread Creation by 0123456 · · Score: 3, Insightful

      "it's executed in its own thread, rather than taking over the processing thread that was interpreting the metafile in the first place."

      But that's only an issue if the WMF-processing code doesn't create a new thread in order to call the subroutine in the valid case. In reality you'd almost certainly want the callback to happen in its own thread, rather than to allow anyone to run abitrary code in the same thread as the print server.

  7. Re:I would not be suprised at all. by NtroP · · Score: 4, Insightful
    I could see someone deliberatly doing this, maybe a contractor or a disgruntled employee.
    The problem with that argument is that in order to exploit this backdoor you'd have to get the target computer to load a WMF file. The main practical way to do this would be to embed it in a web page and have the target visit that page. The only sites that all windows machines access on a regular basis are Microsoft's. The employee would also have to have access to Microsoft's web site to exploit this reliably.

    This seems to be only useful if MS itself wanted to use it. Use your imagination as to what they'd do with it. I can think of all kinds of things.

    --
    "terrorism" and "pedophilia" are the root passwords to the Constitution
  8. Patch by Paradise+Pete · · Score: 3, Insightful

    If it were intentional you'd think they would have been able to patch it a little more quickly.

  9. Who DOCUMENTS their evil backdoor? by nweaver · · Score: 4, Insightful

    Who writes an evil backdoor, which dates back to Win3.1 days (when you didn't NEED an evil back door, and Windows had no clue what this Internet thing was about), and then DOCUMENTS it?

    Lest we forget that Wine also proved vulnerable, and it was a clean-reimplementation of the specs!

    --
    Test your net with Netalyzr
  10. Ah, nice Ad-Hominem attack in there... by Spy+der+Mann · · Score: 4, Insightful

    The name means nothing. It's the facts that matter. Whether he is a one-day hacker or some looney, he discovered that for Length==1, (a completely invalid value that makes no sense for WMF's), Windows creates a new thread and starts executing the code.

    IMHO your "debunking steve gibson" site is nothing but a smokescreen to divert the attention from Microsoft's vulnerabilities and backdoors.

    1. Re:Ah, nice Ad-Hominem attack in there... by TheNumberless · · Score: 5, Insightful

      In my not so humble opinion, you don't know what you are talking about. Go read some of the links in that site, and you'll see that Steve Gibson is one of the many "security experts" that have no clue but gives dangerous and very wrong "solutions".

      In my ever-so-humble opinion you completely missed the point of the parent. The reputation, sanity, motives, and anything else dealing with the person making the claim has nothing to do with the validity of the claim itself.

      In this particular instance, there is at least some apparent merit to the idea that this was an intentional backdoor, and that merit would be there regardless of who points it out.

      If you want to discredit the idea that this is an intentional backdoor (of which I am far from convinced), then you should attack the argument directly, not the man making it.

  11. Re:And this door leads to... by Anonymous+Custard · · Score: 3, Insightful

    "A lawsuit is not the answer to everything."

    Since profit is all a corporation cares about, suing away those profits is the only way to punish it.

  12. Re:Government backdoor? by ZorbaTHut · · Score: 3, Insightful

    Yes, because it's impossible for an identical problem to exist in WINE, and therefore open source solves all problems.

    --
    Breaking Into the Industry - A development log about starting a game studio.
  13. Re:I would not be suprised at all. by dc29A · · Score: 5, Insightful

    I could see someone deliberatly doing this, maybe a contractor or a disgruntled employee.
    - How about a totally stupid idea that MS thought was good?

    I mean MS has a long history of ignoring security for usability, lock in and whatnot. WMF dates back to close to 10 years, back when MS really didn't give a damn about security. Even after a the big Gates propaganda email and Trusted Computing Initiative and all the hoopla, XP SP2 allows blank passwords for administrators, the user created during installation is an administrator, again if password is blank no one gives a shit. Remote registry is on by default. RPC on by default. Administrative shares are on by default. Not to mention a plethora of completely useless services.

    MS just doesn't understand security. This WMF example is nothing different. It's some ancient code that never got looked at. Add to that the fact everyone and his mother is root, AND that the OS is a big bowl of spaghetti (hi2u IE deep in kernel), you get another attack vector vs Windows systems.

    Did someone maliciously implement this WMF "feature"? I doubt it. It looks like another regular MS security hole that shows that MS has no clue about security.

  14. Re:Yeah... by NtroP · · Score: 4, Insightful
    Isn't this the same Steve Gibson that was freaking out about how Raw Sockets in XP were going to destroy the world a couple of years ago?
    Didn't that get quietly fixed in a subsequent update and therefore NOT become an issue? He may be an alarmist, but he's normally a Pro-MS guy. In this case, I think he's on to something.
    --
    "terrorism" and "pedophilia" are the root passwords to the Constitution
  15. Re:And this door leads to... by mysticgoat · · Score: 3, Insightful

    A lawsuit is not the answer to everything.

    Too true.

    This is a case for criminal prosecution. Gibson has uncovered evidence that at face value demonstrates that there has been a conspiracy to defraud Windows users, and possibly to defraud Microsoft Corporation itself. Microsoft's internal documents would identify the coder(s) involved in this deceit, and possibly other conspirators.

    I think it is time for the Washington State Attorney General to give this to a Grand Jury. (IANAL, but I think it is the business of a Grand Jury to determine if a crime has been committed in this kind of circumstance).

    Let a Grand Jury hear this evidence and decide whether it appears that some person(s) deliberately set out to violate the privacy of Windows users.

  16. Re:Unparalleled BS from MS. by mattbot+5000 · · Score: 4, Insightful
    It's nothing like that actually, you are comparing apples to supernovas.
    It's worse, actually. He's comparing security holes to concentration camps.
  17. Re:Unparalleled BS from MS. by jcr · · Score: 3, Insightful

    Germany, being told all these horror stories about how evil the Nazis actually were, and then coming upon a concentration camp and finding out that these stories were real after all.

    The stories Allied soldiers were told about the nazis paled in comparison to what they saw in the camps. Allied propagandists didn't have the imagination to come up with anything like the holocaust.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  18. Re:Please not Gibson again... by NtroP · · Score: 5, Insightful
    Steve Gibson is not a security expert
    I'm not a security expert either. But if I came up with this evidence, how would that change the reality of the situation. The evidence stands on its own merit. His reputation has nothing to do with it. This is easily verifiable by anyone with at least his level of knowledge. It will be interesting to see what happens when other "real" experts start looking at this.
    --
    "terrorism" and "pedophilia" are the root passwords to the Constitution
  19. Re:I would not be suprised at all. by monkeydo · · Score: 3, Insightful

    Actually, Gibson is saying he doesn't know if previous versions are exploitable or not. In fact he's counting on not, since that's the only way to determine when the "backdoor" was inserted. Gibson is a bomb thrower. There's no evidence other than his opinion that this is a deliberate backdoor.

    --
    Si vis pacem, para bellum
    The only thing more annoying than a Libertarian is an (un|mis)informed Libertarian
  20. Re:I would not be suprised at all. by Reziac · · Score: 3, Insightful

    Not only that, but my understanding is that the relevant WMF functions date back to the Win3.0 era (maybe Win2.0, not sure -- the earliest date I've seen was 1991) and in any event, long before M$ had much of a clue about the internet. And long before OS "back doors" became a common worry, too. M$ simply doesn't plan that well when it comes to how stuff is used/affected by an OS, and in fact tends to come late to the bandwagon.

    Furthermore, if Gibson is so sure of himself, why isn't his own test utility available to everyone? (Apparently it was only available to Laporte's listeners... not likely to be the most unbiased audience.)

    Net result: I knew Gibson's tinfoil hat was a trifle snug, but now I'm sure it needs a complete refitting.

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  21. Re:I would not be suprised at all. by azuretek · · Score: 3, Insightful

    Most Windows computers at one point have connected to Windows Update, also IE defaults to MSN, isn't there a getting started page as well when you first open IE after install?

    It's just simple observation to say that the only site that would be consistent on every Windows system is a Microsoft site, somewhat how on my mac I am connected to apple after a clean install when I open Safari. One could say the only site that would be consistent on every mac would be apple.com.

    -PS I don't think it was an intentional backdoor.

  22. Re:blank admin password by tpgp · · Score: 3, Insightful

    Get a clue, troll-

    If you're going to accuse someone of trolling, you want to be pretty sure about your facts.

    if you have a blank admin password, XP prevents ANY remote network access using that account.

    Hmmmn, thats an interesting band-aid.

    You are actually more secure with a blank password.

    Really? More secure with a blank password? I doubt it.

    Would make privilige escalation pretty damn easy after you'd hacked a user account.

    And it makes all that least priviliged user stuff that MS goes on about a little irrelevant too.

    --
    My pics.
  23. Re:I would not be suprised at all. by mrseigen · · Score: 4, Insightful

    I'm not quite sure why they'd want to use it. End-users already trust Microsoft implicitly because they made the operating system, so if they wanted to, for instance, install some software on all Windows machines that reports home if it detects a pirated copy, they could just do it through a service pack update. Most people would willingly install it (or click the little automatic button in Windows Update), and there'd be none of this Tom Clancy technothriller intrigue.

    I can't personally think of any kind of official reason why Microsoft would want to shove code onto Windows machines just from visiting their website. They've got tons of other ways of doing this.

  24. Plenty evidence....like the backdoor CODE! by kupci · · Score: 3, Insightful
    here's no evidence other than his opinion

    (Defending Microsoft - only on Slashdot. Ok, so some monkees tapping on a keyboard while the programmer wasn't looking snuck this code in ;)

    First of all, Gibson is no bomb thrower, he's uncovered some pretty serious security issues with Microsoft. I'd suggest reading his web site - he's a very thorough person, and doesn't make any wild unsubstantiated, naive, biased claims, like, say, Slashdotters. He's a long time Windows user, not a Mac fan, nor an open-sourcer (at least until recently, for reasons like this)Now, to quote the transcript, curious where you would even be able to make the claim that that this *isn't* a backdoor:

    what I found was that, when I deliberately lied about the size of this record and set the size to one and no other value, and I gave this particular byte sequence that makes no sense for a metafile, then Windows created a thread and jumped into my code, began executing my code. Okay, Leo? This was not a mistake. This is not buggy code. This was put into Windows by someone. We are never going to know who.

    Yeah, he's saying this is a deliberate backdoor. Listen to the article or read the transcript, then think about it a little. Now, he's not saying *what* Microsoft put this in for. Did someone put this in for testing -that's my take, from a programmer perspedctive but .. who the heck knows. That's sorta the problem with proprietary software, we might never know. Buyer beware.

    Steve: Well, I mean, as you've mentioned a couple times here, I mean, one of the advantages of an open source system is, you know, and I'm finding myself gravitating more and more toward open source solutions because of their transparency. And so, you know, but an advantage of that is that all kinds of people are looking at the code, and there's just no opportunity, especially when you build the system yourself from source, there's no opportunity for anything evil to get stuck in. And also, about this what appears to be a Windows MetaFile backdoor that's always been in Windows from 2000 on, you know, they've done recently serious security reviews of all their code. You know, they took that whole timeout from all the work they were going to be doing and said they were rereading all their code. And this is not the first time metafiles have had a problem. There have been what are probably real bugs in metafile processing in the past, I think two of them. So the whole metafile system would have come under the scrutiny of someone, you know, very deliberately. Now, you know, if Microsoft had said last week, whoops, this was an undocumented backdoor or means for us to run code in a metafile, we never documented it, our security sweeps didn't find it, blah blah blah - but nothing was said. They allowed the industry to believe that this was just like all their other code mistakes, but this wasn't like all their other code mistakes.