Slashdot Mirror


Aging Security Vulnerability Still Allows PC Takeover

Jackson writes "Adam Boileau, a security consultant based in New Zealand has released a tool that can unlock Windows computers in seconds without the need for a password. By connecting a Linux machine to a Firewire port on the target machine, the tool can then modify Windows' password protection code and render it ineffective. Boileau said he did not release the tool publicly in 2006 because 'Microsoft was a little cagey about exactly whether Firewire memory access was a real security issue or not and we didn't want to cause any real trouble'. But now that a couple of years have passed and the issue has not resolved, Boileau decided to release the tool on his website."

77 of 282 comments (clear)

  1. Again by monkeydluffy09 · · Score: 5, Informative

    There is also another Security researcher who find an efficient way to gain privilege though the hibernation file. Slashdot news: http://slashdot.org/firehose.pl?op=view&id=551924

  2. The hard part is... by lpangelrob · · Score: 3, Insightful

    ...finding a PC with a firewire port.

    (The only ones at my workplace are the two I put firewire cards in. Don't ask, it's complicated.)

    1. Re:The hard part is... by Anonymous Coward · · Score: 2, Insightful

      Try looking at a modern laptop. They're far more common there than on desktops.

      Hmmm... what a coincidence, laptops are also exposed to strangers carrying computers of their own, too. I wonder if this might have implications regarding the severity of this particular weakness...

    2. Re:The hard part is... by MPAB · · Score: 5, Insightful

      Many laptops have Firewire ports, and most modern desktop mainboards do also thanks to te growing popularity of digital video cameras.

    3. Re:The hard part is... by TripMaster+Monkey · · Score: 2, Funny

      That sounds like a challenge...

      --
      ____

      ~ |rip/\/\aster /\/\onkey

    4. Re:The hard part is... by Penguin+Follower · · Score: 3, Informative

      Sorry, I haven't seen a FireWire port on a PC (lappy or desktop) in about five years.

      It could be due to the environment you work in, but there's at least 6 laptops in this office that I can think of that have firewire on them. One is a Toshiba, and the others are a mix of Dell and Lenovos. If I think harder about it, I'm pretty sure the laptops that were sent out to our regional managers (all over the U.S.) had firewire as well. It is worth mentioning that all of these laptops are less than 2 years old, as we went through a refresh not that long ago.

    5. Re:The hard part is... by clickclickdrone · · Score: 5, Funny

      >have the time to jack into one of my boxes
      You must have one sexy PC!

      --
      I want a list of atrocities done in your name - Recoil
    6. Re:The hard part is... by elrous0 · · Score: 2, Informative

      As someone who edits digital video, I wouldn't buy a machine without one. Mini-DV is still the best consumer/prosumer video format for SD video and Firewire is absolutely the best way to interface a Mini-DV camera with a computer. Not sure about HD video, but Firewire would probably be useful for that too (since most agree that it's faster than USB 2.0).

      --
      SJW: Someone who has run out of real oppression, and has to fake it.
    7. Re:The hard part is... by gnick · · Score: 3, Insightful

      the physical security at my home is pretty good That's the gotcha here. Anyone with physical access to a machine owns that box. The only difference with this technique is that it sounds like it's quicker and possibly more subtle than my typical method of rebooting onto a live Linux CD and "repairing" the Windows accounts.
      --
      He's getting rather old, but he's a good mouse.
    8. Re:The hard part is... by _Shad0w_ · · Score: 2, Informative

      My laptop has one, my workstation at home has one and all the PCs at work have them. They're all Windows PCs. Firewire isn't rare; it's possibly just rare for people to use it. Partly, I expect, because USB2 is faster (at least on paper).

      --

      Yeah, I had a sig once; I got bored of it.

    9. Re:The hard part is... by Beardo+the+Bearded · · Score: 3, Insightful

      Physical access = security is meaningless.

      If they could access the firewire port via an internet connection, THEN I'd consider this a leak.

      You could also tweak the system by opening the case and removing the hard drive, or just attaching a thumb drive and copying all the data.

      --

      ---
      ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
    10. Re:The hard part is... by whit3 · · Score: 2, Informative

      For the Macintosh line, all the high-end machines since about 2000 have
      had Firewire. It trickled down to the iMac/iBook in 2003. So if one
      believes the 'five years after it's in a Mac' rule, high-end Wintel
      will be likely to have Firewire from 2005, and low-end Wintel
      will be picking up that 'feature' this year.

      Plan for the future: expect Firewire.

      Firewire is a one-stop solution for external hard drives, for digital video,
      for HD video, for fast TCP/IP. The use as a maintenance back-channel
      into your files is also extremely important to some of us (makes lots
      of data transfer/recovery issues easy to solve).

  3. host memory! by Spazmania · · Score: 5, Insightful

    So why exactly is it a desirable feature for a firewire node to be able to access another node's memory unsolicited?

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    1. Re:host memory! by iangoldby · · Score: 3, Interesting

      Because it is not USB.

      Actually, what do I know? But I do believe that Firewire doesn't have the concept of host and slave nodes. All nodes on a Firewire network are equivalent AFAIK.

      If it were necessary to explictly allow direct memory access on a node whenever it was requested, you would not be able to plug a Firewire cable into a control-less box (for example) and do things with it, without first accessing the control-less box through a non-Firewire method to enable Firewire DMA.

      Anyway, that's my ignorance on the subject. And as Adam Boileau says, it is a Feature, not a Bug. It is intended behaviour, so there must be a good reason (even if it is not the above).

    2. Re:host memory! by TheRaven64 · · Score: 3, Insightful

      It's a design flaw. The peer-to-peer nature shouldn't come into it. What ought to happen is that one peer requests DMA rights to a memory location in another peer, and the driver then returns yes or no before the controller decides whether to permit the DMA request. In simple devices, like hard drives, the driver would always return true (allow). In multitasking systems the driver would only return yes for pointers to pages it owns.

      --
      I am TheRaven on Soylent News
    3. Re:host memory! by Jah-Wren+Ryel · · Score: 4, Interesting

      So why exactly is it a desirable feature for a firewire node to be able to access another node's memory unsolicited? Well, for one thing, it should make cracking any of these "untrusted computing" DRM schemes pretty trivial.
      --
      When information is power, privacy is freedom.
  4. Re:Breathtaking Arrogance or Stupidity? by 91degrees · · Score: 4, Insightful

    This does require physical access to a machine. If you want to access the machine, you can reboot using a USB stick and access the hard disk that way, or even just open the machine and take the drive, then modify the contents to your heart's content before putting it back

  5. Physical access by nickv111 · · Score: 3, Insightful

    Not to say that Microsoft shouldn't have patched this, for it is certainly a design flaw to allow computers hooked up to a machine to access its memory, but if you're plugging something into the Firewire port of a computer, then you're sitting at that computer, aren't you? It's true of all hardware that if you have physical access, then you can do whatever you want with it anyway.

    -Nick

    1. Re:Physical access by Chops · · Score: 2, Insightful

      It's true of all hardware that if you have physical access, then you can do whatever you want with it anyway.

      That's certainly not true. To use one of a huge multitude of examples, students at my school had physical access to the machines in the computer lab, but it would definitely be a problem if they installed a keylogger to sniff other students' passwords.
    2. Re:Physical access by gad_zuki! · · Score: 2, Insightful

      Yeah, if Im sitting at it I can boot from USB, wipe the administrator password, reboot and log in. No need for a fireware card, cable, etc. I can do the same with OSX but I have to use the install disc instead of the USB keychain in my pocket.

      Yes this is all very "shocking." This is the slashdot equivalant of CNN playing that lock-pick video over and over again.

    3. Re:Physical access by SharpFang · · Score: 4, Interesting

      Depends on the length of the (fire)wire. ;)

      In case of most of hardware with mid-to-high physical security you need some 15 minutes of totally unsupervised access, it involves removing the case (to reset the BIOS password), rebooting the system (sometimes by power cycling) and generally implies very dirty and easy to detect hack - you do gain the access but you're not stealthy at it.

      You plug the inconspicuous cable in the side/back of the PC, stash the laptop under the desk, and walk away whistling quietly. Then you sit down, access your laptop from another one through wi-fi then proceed to download contents of the compromised box, over the firewire cable.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    4. Re:Physical access by Seraphim_72 · · Score: 2, Insightful

      I agree that if you have physical access to a machine you own it, but at the same time there is a world of difference between being able to do a drive by cracking and physically carting off the machine to brute force it at your leisure.

      Sera

      --
      Slashdot, where armchair scientists get shouted down and armchair theologians get modded up.
    5. Re:Physical access by Culture20 · · Score: 2, Insightful
      This hack can be done on a machine that has its case physically locked, its bios set to boot only to the HDD, and a good bios-setup password. It's the firewire equiv to a remote exploit over the 'net, because the OS you want to own is _running_ at the time.

      The only saving grace is that someone must be physically present to plug in a device. This is still an issue though; imagine how many machines might be pseudo-public terminals, locked down (w/o epoxy in the firewire ports), but are so easily own-able, allowing people to install keyloggers?

  6. Comment removed by account_deleted · · Score: 4, Insightful

    Comment removed based on user account deletion

  7. Done previously by TripMaster+Monkey · · Score: 5, Informative

    Maximillian Dornseif demonstrated this same Firewire vulnerability against Linux and OS X machines in 2005. Adam Boileau just gets more press because he performed the hack against Windows PCs.

    --
    ____

    ~ |rip/\/\aster /\/\onkey

    1. Re:Done previously by EvilRyry · · Score: 2

      Any word if Linux and/or OS X have a fix for this issue. Yes, I've read TFA and it doesn't mention it.

    2. Re:Done previously by ockegheim · · Score: 2, Informative

      If you're concerned about it, there was another post above which suggested disabling the firewire interface when you're not using it. An applescript that ran a shell command to enable, disable or toggle the firewire interface could just sit on your desktop. Alas, I'm not Unix-literate enough to write the shell script bit though.

      --
      I’m old enough to remember 16K of memory being described as “whopping”
    3. Re:Done previously by cobaltnova · · Score: 2, Interesting

      As for Debian, it looks like unstable firewire stack implementation (JuJu) handles the security issues. However, that same article suggests that Lenny (the next version of Debian) will probably be released with the vulnerable, stable stack because it has more compatibility.

  8. Re:Breathtaking Arrogance or Stupidity? by goddidit · · Score: 5, Insightful

    But this works with crypted drives.

    --
    This .sig is exactly 120 characters long.
  9. Re:Breathtaking Arrogance or Stupidity? by LingNoi · · Score: 5, Insightful

    That's not exactly the same.. Take my library for example all machines are set to boot correctly and the cases are physically locked to their location. Also looks a lot less suspicious when you're not ripping the guts out of a machine that it's obvious you don't own in public..

  10. Re:Breathtaking Arrogance or Stupidity? by sm62704 · · Score: 4, Insightful

    For Microsoft to have failed to patch an issue such as this must be indicative of either breathtaking arrogance or utter stupidity... or perhaps both

    How about apathy? They'll wake up when and if they ever lose market share because of their shoddy product. I mean come on, if I can sell a Yugo at Escalade prices, why should I produce a quality product? That would be stupid. And if I could sell Yugos at Escalade prices I think my arrogance would be understandable and forgivable.

    They've been selling an insecure OS for as long as PCs have been networked, why should they secure it now?

    --
    mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
  11. Re:Breathtaking Arrogance or Stupidity? by Albanach · · Score: 4, Insightful

    This though appears to have the advantage of not requiring a reboot, so rendering BIOS passwords ineffective.

    It's all very well to say if someone has physical access all security is compromised. That doesn't mean you need to make it as easy and quick as possible. Now if you lock your computer and pop to the bathroom, a visitor could be in and out of your PC before you get back.

  12. Re:Breathtaking Arrogance or Stupidity? by TripMaster+Monkey · · Score: 2, Informative

    With this hack, you can spawn a command prompt with admin rights directly from the login screen. No reboot required.

    --
    ____

    ~ |rip/\/\aster /\/\onkey

  13. Also affects OS X and linux by mooglez · · Score: 5, Informative

    This same vulnerability also affects OS X as reported here: http://blog.juhonkoti.net/2008/02/29/automated-os-x-macintosh-password-retrieval-via-firewire

    As well, as Linux, as reported in an earlier 2005 report about this firewire feature: http://www.matasano.com/log/695/windows-remote-memory-access-though-firewire/

    1. Re:Also affects OS X and linux by JasterBobaMereel · · Score: 2, Interesting

      It sounds like it is a problem with firewire and therefore any system which uses it?

      Not to say it should not be patched in all systems, but surely this would have had to be written into the driver deliberately for it to work, so the real question is why firewire requires direct access to the system memory (and potentially passes this onto the external device) when USB does not?

      --
      Puteulanus fenestra mortis
  14. Up to a point. by SmallFurryCreature · · Score: 2, Interesting

    A lot of workplaces will have physically secured machines but nonetheless with ports open. People might notice if you remove a server from a rack to access its insides, but just plugging in a cable?

    Yes offcourse, not that many machines have firewire and servers are even rarer (although my pc has a port) but still, there is a major difference between the access needed to open a PC and gets its HD and just plugging in a cable.

    See it as the difference between having to steal secret documents and being able to copy them at the spot.

    If this tools indeed works in seconds then that is a lot faster then opening up a PC, taking out its HD, installing it in another machine, breaking its security, reading the contents you want (which at this point would give you only the contents on the HD, not the network), re-installing it and closing the cover and removing every trace of your access.

    A lot of security is about inconvenience. Safes ain't rated for being unbreakable, but how long it takes to open them. ANY safe can be opened, the trick is making the process take so long that it can not be done without being found out. Thanks to MS, breaking its security has just become a lot more convenient.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  15. Re:Breathtaking Arrogance or Stupidity? by deblau · · Score: 4, Funny
    You are either for false dichotomies or against them.

    Which is it?

    --
    This post expresses my opinion, not that of my employer. And yes, IAAL.
  16. "If someone does plug into your port unexpectedly" by Chops · · Score: 3, Insightful
    My favorite part of the article:

    Paul Ducklin, head of technology for security firm Sophos, said the security hole found by Boileau was not a vulnerability or bug in the traditional sense, because the ability to use the Firewire port to access a computer's memory was actually a feature of Firewire.

    "If you have a Firewire port, disable it when you aren't using it," Ducklin said.

    "That way, if someone does plug into your port unexpectedly, your side of the Firewire link is dead, so they can't interact with your PC, legitimately or otherwise."

    "You see, this serious security problem was designed in from the start, so therefore... it's not a problem! Ta-da!"
  17. Re:Interesting, but by betterunixthanunix · · Score: 2, Insightful
    The command is run on a second system that is connected via firewire.

    Here's the thing though: this requires physical access. That makes it a low-salience attack, because gaining that kind of access is only an iota easier than pointing a gun at someone's head and demanding their password.

    --
    Palm trees and 8
  18. Re:Breathtaking Arrogance or Stupidity? by TheRaven64 · · Score: 4, Interesting

    It's not Microsoft's fault, it's a hardware problem. FireWire is a peer-to-peer protocol with commands for using the DMA controller. Any device plugged in via a FireWire port can issue DMA requests. It can dump the entire contents of (physical) memory and write data at arbitrary locations. A FireWire controller ought to only permit DMA to and from regions the driver allowed it to, but most don't. The only work around for this is to either disable FireWire or use something like the Device Exclusion Vector on modern AMD chips to block the device's access to memory.

    --
    I am TheRaven on Soylent News
  19. Comment removed by account_deleted · · Score: 3, Informative

    Comment removed based on user account deletion

  20. Physical Security by Chysn · · Score: 4, Insightful

    Once your machine's physical security is compromised, just about anything can happen. If someone is in your data center or office unattended and hooking up equipment to your PC, you're sort of in a world of hurt anyway.

    --
    --I'm so big, my sig has its own sig.
    -- See?
  21. In related news... by muffen · · Score: 4, Funny

    ... it turns out, his site is vulnerable to the slashdot effect :)

  22. Re:Breathtaking Arrogance or Stupidity? by Anonymous Coward · · Score: 5, Insightful

    Doesn't that also mean that Linux is also vulnerable to Apples firewire design faults?

  23. Re:Breathtaking Arrogance or Stupidity? by xtieburn · · Score: 3, Insightful

    Or perhaps slashdot on another uneducated baseless diatribe directed towards that little known company MS.

    Did you read the article or did you just check the headline and decide to try get cheap mod points? Ill point out why you dont deserve them.

    'Paul Ducklin, head of technology for security firm Sophos, said the security hole found by Boileau was not a vulnerability or bug in the traditional sense, because the ability to use the Firewire port to access a computer's memory was actually a feature of Firewire.'

    Now maybe this was just excuses but the fact it came from a third party with no particular connection to MS should have made you pause for thought. Even if you dont know much about firewire it would take you moments to do a quick search and actually realise this is a 'feature' of the actual specification itself. As in _every_ O/S had the same problem. Linux, OSX even BSD were using this exploit even before MS were cracked. There are still reports of new OSX and Linux systems being hacked by firewire right in to 2008. (Though admitedly ive not heard much from BSD, probably because there admins tend to actually have a clue.)

    This is a universal flaw in security stemming from naivety with regard to externally connected hardware. You want secure firewire, disable it when you are not using it yourself. That goes for any system, any O/S, any person. End of story.

  24. Probably for lower overhead by Sycraft-fu · · Score: 4, Interesting

    One of the things I always hear in the USB vs Firewire debates is how much lower overhead Firewire is. In informal testing, this certainly seems to be the case. Well, one of the reasons it might be is if it has DMA. You'll find that's how a lot of PCI hardware works. It can read and write directly to memory, it doesn't have to do things through the processor. Keeps system load much lower, it'd quickly peg the CPU if it had to deal with shuffling around all data on the system. However, it also can lead to problems, of course.

    Well, if Firewire has the same capability, it would explain why it is much lower overhead than USB, but it would also allow for things like this.

    In general, DMA is probably something that needs to be looked at being cleaned up/reworked. It is a non-trivial cause of system instability: Hardware goes nuts (or maybe driver orders hardware to so something stupid), craps on memory it shouldn't system goes down. However anything like that is going to take a back seat to performance, at least in regular PCs. As nice as it would be to have the CPU fully in charge of everything, people aren't going to put up with it if it means a 10x drop in performance.

    1. Re:Probably for lower overhead by Creepy · · Score: 4, Informative

      No - DMA may help in some cases, as you describe, but you can tell a Firewire drive to copy to another Firewire drive when neither has any physical memory and it will still copy much faster than USB. The lack of a centralized controller (and device registration, scheduling, etc) actually helps keep overhead down. Note that USB can't do that - Firewire is peer-to-peer, meaning each device is aware of other devices in the chain. USB is a master-slave star network and needs a host controller (e.g. a PC).

      Firewire was built a hot swappable, high speed replacement for SCSI, and is really more analogous to SATA than USB, but people compare them because they're both used as external buses for peripherals. USB was designed explicitly as a low speed, low power, low cost small peripheral handler (e.g. mice and keyboards) to replace a variety of miscellaneous specialized plugs such as game ports, parallel port, serial port, etc, and thus cost was most important and speed least. Firewire put speed first and cost last. As far as Firewire goes, I think a battle may be coming, with SATA's external plug eSATA, as I expect it to make some gains in the peripheral market, especially in storage. eSATA actually has an advantage over Firewire, because the actual device used for storage is often IDE and therefore Firewire has some conversion to do (ATA is the protocol, IDE the device - often they're used interchangeably).

      The problem here is gullibility. Think of it like social engineering - someone calls and asks "We are verifying your bank account pin, can you give it to us?" and you saying sure - it's 1234! That's a lot like what this program is doing. In this case, the device at one end is saying can I have access to your memory? And the device on the other end is saying sure, despite the fact that that giving write access to memory is a lot like giving away your bank account pin (which is why it's really an OS issue, not a firewire issue). Some OS's like Linux only give read access, which means you can see what is in the account, but not take anything out, but Linux (and Windows) allow this to be set by the foreign controller, which is a bug.

      DMA access should be limited to non-system memory, if allowed. Unfortunately, that isn't very controllable by current computer designs. I believe the solution proposed and implemented (I've heard about this for Windows 8, I believe) is encrypted floating addresses, so even if you have direct access to memory you don't know where to write it.

  25. Re:Breathtaking Arrogance or Stupidity? by Anonymous Coward · · Score: 2, Informative

    Because he linked to the main story. It's the same link in the summary. That's redundant.

  26. Re:Yes, yes, another anti-windows story by Oktober+Sunset · · Score: 3, Funny

    maybe they aren't smart, maybe they are dumb, that means even a dumb ass can crack windows security.

  27. Comment removed by account_deleted · · Score: 3, Insightful

    Comment removed based on user account deletion

  28. Why doesn't MS disable the port on lock? by pruss · · Score: 3, Insightful

    Some commenters note that this is a feature of Firewire. But would there be any problem with MS just disabling the port whenever the system is password locked, unless there is something already plugged into the port when the system was locked (after all, there might be a Firewire HD plugged in, and a process writing to it). Probably the best way to handle the latter case would be to watch for an unplug event when the system is locked, and then disable the port as soon as the device is unplugged. This is very simple, and I don't see any downside to it.

  29. I could do this... by DigitalisAkujin · · Score: 2, Insightful

    Or I could use a bootdisk with a password hash file modifier...

  30. Re:"If someone does plug into your port unexpected by Rary · · Score: 2, Informative

    "You see, this serious security problem was designed in from the start, so therefore... it's not a problem! Ta-da!"

    He didn't say it's not a problem, he said it's not a bug or vulnerability in the traditional sense.

    It's also not a Windows issue, because it's the nature of Firewire itself. Which is why this hack can also be done on Linux and OSX, although TFA doesn't bother to mention this.

    This is why my laptop has a big button on the side that enables/disables Firewire, and it's disabled by default on boot. I'd have to "opt in" to this vulnerability.

    --

    "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

  31. Re:Who cares? by SanityInAnarchy · · Score: 2, Insightful

    Once again, on Slashdot, I say, 'who cares?' This is a Windows vulnerability and I thought Slashdot was an open source outlet for news and for some stories that people so-called 'care about', not Windows vulnerabilities.

    You're wrong on two counts.

    One, this is an outlet for "news for nerds". As unfathomable as it might seem to you, there are nerds who are into Windows. Some even by choice.

    Two, this is not a Windows vulnerability. It is a FireWire vulnerability -- actually, a FireWire design flaw. It is possible that the OS could be careful enough to prevent this kind of thing, but none of the current OSes are:

    We want open source OS's (Linux, FreeBSD, Syllable, etc) to be the most-used, don't we?

    I honestly can't say about Syllable or FreeBSD, but I know that neither Linux nor OSX have fixed this issue. There is an unstable fix for Linux, but it breaks some hardware.

    The recommended fix, in all cases, is to disable your FireWire port when you're not using it.

    Well, posting stories like this just to point and laugh at Microsoft makes the open source community look very pretentious, like looking at a 'Windows admin' and laughing at them because they do not know basic UNIX commands.

    So does complaining about a story merely because it discusses a Windows vulnerability. Maybe not everyone saw this as an excuse to point and laugh at Microsoft? Maybe only you did?

    --
    Don't thank God, thank a doctor!
  32. Dalmatians 101 by Stanistani · · Score: 2, Funny

    You can't really blame Pongo. Cruella keeps trying to make beautiful coats from those cute puppies.

  33. *listens closely* by Stanistani · · Score: 4, Funny

    "So I tied an onion to my belt. Which was the style at the time. Now, to take the ferry cost a nickel, and in those days, nickels had pictures of bumblebees on 'em."

    1. Re:*listens closely* by glavenoid · · Score: 2, Funny

      "Give me five bees for a quarter," you'd say. Now where was I? Oh yeah... the important thing was that I had an onion tied to my belt... which was the style at the time. You could not get any white onions, because of the war. The only thing you could get was those big yellow ones...

      --
      I, for one, am looking forward to the inevitable /. beta rollout fallout.
  34. Re:Breathtaking Arrogance or Stupidity? by anandsr · · Score: 2, Insightful

    It is true that the DMA must write to RAM where the DRIVER tells it to. It is the responsibility of the Driver to not write data where the device tells it to, and do proper bounds checking.

  35. Re:Yes, yes, another anti-windows story by sumdumass · · Score: 3, Funny

    hey now. Not all of us need this crack to bypass windows security.

  36. Old Vulnderability by shagoth · · Score: 2, Informative

    Mind you I'm not a hardware guy, but I saw this very exploit used over Firewire on a pre-OSX Macintosh at MacHack years ago. The entire audience did the ew, ah, thing and withdrew in horror. Subsequently nothing was done to fix Firewire or the fact that remote devices could write whatever they wanted and exercise whatever privilege on the host device. I suspect that this is the same thing we see here and it is surprising that such a vulnerability exists. There's blame to go around, I'm sure but it seems unlikely if this is a hardware vulnerability that anything Microsoft could do would really fix the problem short of breaking Firewire support entirely.

    Whose spec was this anyhow? While blame is shared according to Wikipedia, Firewire was Apple's interface design.

  37. Physical Control = Game Over by jafiwam · · Score: 2, Insightful

    So what?

    There's dozens of other ways to compromise a PC (Windows or not) if you can sit down in front of it. Even if you don't have to reboot with this, or can sniff enough stuff to log in remotely later across the internet...

    This is why the server room and racks are locked, it's really really hard to combat against someone who as physical access and a bit of time/knowledge to use to evil ends.

    Sure, it's creative but come on...

  38. Re:firewire has been around for longer than you th by bumby · · Score: 4, Informative

    <technical bitching>
    That's IEEE 1394 sir. IEEE is an institute.
    </technical bitching>

    --
    Hey! That's my sig you're smoking there!
  39. Re:Breathtaking Arrogance or Stupidity? by bitslinger_42 · · Score: 2, Insightful

    Sure, but if the system is live and has the EFS mounted, the key must be held in memory, otherwise the OS couldn't decrypt the EFS partition. With the key in memory, and Firewire having Direct Memory Access, the bad guy has the EFS (or PGP, or TrueCrypt, or whatever) key. That, plus passwords, web pages being viewed, engineering documents being edited, etc.

  40. Re:2 Year bug report.. by Nevo · · Score: 3, Informative

    This is not a Microsoft vulnerability. FireWire devices can access RAM in the host machine, whether the host machine is running Windows, Linux, or MacOS. Any operating system running on a machine withe a FireWire port can be taken over in this manner.

  41. Re:"If someone does plug into your port unexpected by Rary · · Score: 2, Informative

    Actually, ignore my comment about the Firewire button -- I've been up since 3:00 am. It just occurred to me that the button I'm thinking of actually enables/disables Bluetooth, not Firewire. My bad. I don't have the laptop in front of me right now, and of course I don't use either Firewire or Bluetooth, so I've never actually used the button in question. There's also a button to enable/disable wi-fi -- which I do use, and it seems to me that only works when the laptop is unlocked. Again, I don't have the laptop here to verify that.

    So, going back to my original post, maybe there should be a button like the one I described, since this is the nature of Firewire and not a Windows problem as TFA suggests.

    --

    "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

  42. Re:Breathtaking Arrogance or Stupidity? by TheLink · · Score: 4, Informative

    Should be. It's a "feature" of Firewire.

    Some Mac people figured it out early (at least by 2001)
    http://rentzsch.com/macosx/securingFirewire

    The FreeBSD people were already using it way back in 2002, quote:
    "As you know, IEEE1394 is a bus and OHCI supports physical access to the host memory. This means that you can access the remote host over firewire without software support at the remote host. In other words, you can investigate remote host's physical memory whether its OS is alive or crashed or hangs up"

    In other words it doesn't matter what OS it is or whether there is even an OS.

    Oh yeah there's also "Linux Kernel debugging over Firewire" but that's recent - 2006.

    --
  43. Linux has the same security hole by Animats · · Score: 4, Informative

    Linux has this same bug. It's in "ohci1394.c". I reported this to the Linux kernel mailing list years ago, and the reaction of the kernel developers was to make it a "feature" for "remote debugging" that's enabled by default.

    Technically, here's how it works. First, see the OHCI specification, section 5.15, "Physical Upper Bound register". This determines the highest memory address into which an external device can store directly by sending a packet. If set to zero, this feature is disabled. That feature is intended for slave devices, like peripherals. On computers with an operating system, it should be zero. It's not.

    In the Linux kernel, that security hole was installed in "ohci1394.c" with the comment:
    /* Turn on phys dma reception.
    *
    * TODO: Enable some sort of filtering management.
    */

    In early kernels, it was unconditionally enabled. In 2.6, it's enabled by default, but can be turned off.

    Also, This patch indicates that this security hole may have been designed into some FireWire controllers, so that the "upper bound register" didn't really do anything, but read back zero.

  44. Re:Breathtaking Arrogance or Stupidity? by TheRaven64 · · Score: 4, Insightful

    It is true that the DMA must write to RAM where the DRIVER tells it to Not true. DMA stands for Direct Memory Access. The device has direct access to memory. In this case, it is the FireWire controller and, by extension (due to the design of these controllers) FireWire devices.

    If you have an IOMMU (e.g. on a decent Sun workstation), you can set up page tables for each device so that they DMA into a virtual address space. Your driver can then define regions which the device can access transparently. On newer AMD chips, you have a Device Exclusion Vector (DEV). The DEV is a sort of IOMMU-lite. It performs access control, but not translation. This means that the host OS (or driver) can mark each page of physical memory as read / write accessible on a per-device basis. On these machines, a well-designed OS or driver could prevent these attacks.

    On other systems, it is not possible to prevent this attack. It's also a known problem on FreeBSD and OS X. OpenBSD does not implement FireWire support for the explicit reason that it is impossible to do securely on most systems.

    It is the responsibility of the Driver to not write data where the device tells it to, and do proper bounds checking. You are possibly confusing DMA with Programmed I/O (PIO). On a PIO device, the driver writes data to device-mapped memory or an I/O port, the driver then reads it from here and writes it to wherever it is meant to go. On a DMA device, the driver (or, in the case of FireWire, a remote peer) just tells the device where to write the data and it does so without CPU intervention.
    --
    I am TheRaven on Soylent News
  45. EFS doesn't work the same way as TrueCrypt by Kagami001 · · Score: 2, Informative

    Sure, but if the system is live and has the EFS mounted

    EFS isn't a partition encryption system, so there's no mounting involved. Each individual file has its own file encryption key.

    What you said applies if the account whose data you want is already logged in and the machine merely locked, but not if the account isn't logged in, in which case the EFS key is not loaded yet and won't be decryptable without the real password.

    (Bitlocker, on the other hand, is a volume-encryption system, like TrueCrypt.)

  46. Doesn't matter by RzUpAnmsCwrds · · Score: 4, Insightful

    This "vulnerability" is basically irrelevant for notebooks. Most notebooks have hot-swappable CardBus or ExpressCard slots, both of which have DMA support and can be used to dump the system's memory. Or you could do the "memory freeze" trick.

    The correct solution would be to map the FireWire address space into virtual memory, but this has to be done at the hardware level.

  47. Firewire Target Disk Mode by Vandil+X · · Score: 3, Informative

    Ever since Macs have had Firewire ports, you can boot a Mac holding down the T key and its hard disk become accessible via Firewire cable on another Mac. Mac OS X setup even prompts you to do this if you're migrating settings & data from one Mac to another.

    --
    Up, Up, Down, Down, Left, Right, Left, Right, B, A, START
  48. Re:Yes, yes, another anti-windows story by Deviate_X · · Score: 2

    Yes, this Vulnerability affects every operating system supporting the FireWire specification equally, you can take over Macs and Linux computers as well as Windows computers.

    In addition, the same problem exists with USB devices.

    Here is a document describing the hack on Apple

  49. Re:Not on joe's computer. by Anonymous Coward · · Score: 2, Funny

    Please mod any "fixed it for you" messages down into oblivion.

    It's annoying to me.
    There. Fixed it for you.
  50. Re:So let me get this straight by harryjohnston · · Score: 2

    Perhaps because this works even if the BIOS password is set? Even if the case is alarmed or otherwise secured?

    If the attacking computer is small enough to be mistaken for a disk drive, you could even conduct this attack while being supervised.

    There seems to be some debate over whether this can be fixed in software or not. If it can, Microsoft should do so. If it can't, the affected computers should be recalled. Bottom line: the situation is unacceptable.

  51. Re:So let me get this straight by pruss · · Score: 2

    Or more simply, bring an ipod with linux (or so one of the linked articles, or maybe something it links to, suggests), and plug it in. Presumably this is faster than booting a live CD. It also gets around any BIOS password.

  52. Re:Yes, yes, another anti-windows story by beav007 · · Score: 2, Funny

    Wait... Windows has security?

  53. Re:Yes, yes, another anti-windows story by Burz · · Score: 2, Interesting

    Actually, no.

    Adding a firmware password to my PPC Macs puts them into a heightened security mode that turns off Firewire DMA (and was tested specifically with the hack you referenced). I would expect the Intel units to have this feature also. And the new Linux firewire driver tackles the DMA vulnerability issue too.

    What I've read on the subject so far indicates that most or all Firewire chipsets allow operation without DMA, and that it is possible to secure the DMA modes by programming the memory controller to restrict access to specific buffers

    FWIW, Apple was similarly "cagey" (actually silent) on the issue, but at least gave us the ability to secure the port through openfirmware.

    What I would worry about more are the DMA interfaces that no one is discussing re: security... PCMCIA/PCCard and other hot-swappable ports (PCI-X? eSATA?) that support bus mastering. I'm pretty sure that non-USB-implemented CF slots are a risk.