Slashdot Mirror


David Auerbach Explains the Inside Baseball of MSN Messenger vs. AIM

In N+1 magazine, David Auerbach explains what it was like in the "Chat Wars" of the late '90s, when he was the youngest person on the team developing Microsoft's brand-new messaging app, in the face of America Online's AIM, the 900-pound gorilla in the room. Auerbach explains how he used a network analyzer to fake out AOL's servers into letting Microsoft's client connect to AIM as well. "AOL could only block Messenger if they could figure out that the user was using Messenger and not AIM. As long as Messenger sent exactly the same protocol messages to the AOL servers, AOL wouldn’t be able to detect that Messenger was an impostor. So I took the AIM client and checked for differences in what it was sending, then changed our client to mimic it once again. They’d switch it up again; they knew their client, and they knew what it was coded to do and what obscure messages it would respond to in what ways. Every day it’d be something new. At one point they threw in a new protocol wrinkle but cleverly excepted users logging on from Microsoft headquarters, so that while all other Messenger users were getting an error message, we were sitting at Microsoft and not getting it. After an hour or two of scratching our heads, we figured it out." Eventually, though, AOL introduced x86 assembly code into the login protocol, and that not only stymied the MSM team, but led to some interesting warfare of its own. Auerbach's story sheds a lot of light on both good and bad aspects of corporate culture at the start of the 21st century, at Microsoft as well as other companies.

8 of 86 comments (clear)

  1. Re:Imagine all this brainpower by Richard_at_work · · Score: 4, Informative

    This all sounds very very similar to the whole BitKeeper fiasco, where Andrew Tridgell watched the traffic between a real BitKeeper client and the server in order to determine the procotol used, with an eye to creating an open source client.

    BitKeeper found out and withdrew the free client licences, which was a problem since the Linux kernel project used BitKeeper at the time - due to Trudgells involvement, BitKeeper refused to supply gratis licenses to anyone working for OSDL, which included Linus Torvalds...

    The shitstorm that ensued resulted in Linus starting the Git project.

  2. So if I did this ... by gstoddart · · Score: 4, Interesting

    If I did this, I would likely be facing criminal charges ... how is it that corporations can do this kind of stuff with impunity?

    There seems to be a huge double standard in the way 'people' who are people are prosecuted under the law, versus how 'people' who are corporations are.

    And once again, I will take the opportunity to say the problem is the notion that you have 'people' who are corporations.

    --
    Lost at C:>. Found at C.
    1. Re:So if I did this ... by gstoddart · · Score: 4, Informative

      IIRC, in the ol' days Samba did the same thing to Windows file and print sharing and, wasn't there an anecdote about MS also constantly changing their SMB protocol to block out Samba? Seems fair is fair.

      Well, that was MS being their usual selves ... but that was being dickheads and arbitrarily changing the protocol. This was MS being dickheads and spoofing connections to a server.

      I believe you can't stop me from reverse engineering a protocol between two servers that I control. But when you start messing about with servers someone else controls, nowadays that would be a criminal act.

      I remember implementing something in 1993/1994 which read/wrote files on a FAT file system, straight out of a Microsoft published book in terms of how it was structured, completely from scratch in terms of the raw IO. When several years later they started suing people for using the FAT filesystem I remember thinking "but you've completely documented it, and it's pretty easy".

      I don't have a problem with reverse engineering protocols, but manipulating specific servers is getting a little sketchy.

      --
      Lost at C:>. Found at C.
  3. So the take away is... by 140Mandak262Jamuna · · Score: 4, Insightful

    The AOL coders did not try to incorporate a challenge and response system based on public/private keys. Or use some sort of digital signature in their clients to authenticate themselves as the "true build" from AOL. Not surprised. After all they wrote AOL.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  4. Re:Imagine all this brainpower by Anonymous Coward · · Score: 4, Insightful

    And the world is better off for it.

  5. Hello, Security. Nice to meet you. by Minwee · · Score: 5, Insightful

    But AOL’s client had a security bug in it, called a buffer overflow. [...] AOL knew about this bug in their program and now they were exploiting it! That was what all those double zeros were for—they were just filling up space in the program’s buffer until they hit the end of the AOL client’s buffer and started overwriting executable code with the remainder of the protocol message. AOL was causing the client to look up a particular address in memory and send it back to the server.

    There's something that you could always count on AOL for -- Respect for the users. Most companies, when faced with a trivially exploitable buffer overflow that could cause their chat client to execute arbitrary code would classify it as a bug and feel compelled to fix it, but that's not the AOL way. Instead they changed it from a bug to a feature which enhanced security by verifying the client's identity.

    And if somewhere along the way someone else used it to own an army of AOL-zombie PCs, then that's just the price you pay. You can't make an omelette without breaking a few arms.

  6. History repeats itself by ptaff · · Score: 5, Insightful

    Yeah, those long forgotten chat-silo days when you needed an ICQ account, an AIM account, a MSN account, a Yahoo account to reach all your friends... fortunately XMPP/Jabber would solve all of this, and even Google would embrace the open standard with their new GTalk.

    Oh! wait... it was a bait and switch.

    Don't be evil does not mean be good.

  7. Re:What's good for the goose.... by David_W · · Score: 4, Informative

    Maybe they should re-evaluate their position on the Microsoft Office formats.

    But, but... the Microsoft Office formats are open and documented!