Aging Security Vulnerability Still Allows PC Takeover 282
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."
Again (Score:5, Informative)
Aging? (Score:2)
*listens closely* (Score:5, Funny)
Re:Yes, yes, another anti-windows story (Score:4, Funny)
Re:Yes, yes, another anti-windows story (Score:4, Funny)
Re: (Score:3)
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 [hudora.de]
Re: (Score:3, Interesting)
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 [kerneltrap.org] 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
The hard part is... (Score:3, Insightful)
(The only ones at my workplace are the two I put firewire cards in. Don't ask, it's complicated.)
Re: (Score:2, Insightful)
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...
Re:The hard part is... (Score:5, Insightful)
Re:The hard part is... (Score:4, Informative)
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.
The Dell laptop I use for work (Score:2)
Re: (Score:2)
Re: (Score:3, 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).
Re:firewire has been around for longer than you th (Score:5, Informative)
That's IEEE 1394 sir. IEEE is an institute.
</technical bitching>
Re: (Score:2)
Re: (Score:3, Funny)
Re: (Score:2)
Re: (Score:2, Funny)
And while yes its a great security feature.. it gets annoying when he attacks the same neighbour over and over and over again.. who comes and goes in my house 2 or 3 times a week....
Dalmatians 101 (Score:3, Funny)
Re:The hard part is... (Score:5, Funny)
You must have one sexy PC!
Re: (Score:2)
Re:The hard part is... (Score:4, Insightful)
Re: (Score:2)
After checking the office Pc's around me 50% have a firewire port on them. Dell and Lenovo mix is what we have here.
Granted we might be wierd here in our buying habits, but we never spec for having firewire on them.
Re: (Score:2)
Perhaps that is because I always buy the best (reasonably-priced) Asus motherboard available...
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Informative)
Re: (Score:2)
As I don't use it on a daily basis - it's disabled for such reasons. Fewer active ports - fewer points of entry.
Re: (Score:2)
Re:The hard part is... (Score:4, Insightful)
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.
host memory! (Score:5, Insightful)
Re:host memory! (Score:4, Interesting)
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).
Re:host memory! (Score:4, Insightful)
Re:host memory! (Score:5, Interesting)
2 Year bug report.. (Score:2, Insightful)
Re:2 Year bug report.. (Score:4, Informative)
Physical access (Score:3, Insightful)
-Nick
Up to a point. (Score:3, 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 t
Re: (Score:2)
Armed with this on a PDA like device I could walk through a room of computers and discretely compromise one after another -provided they have firewire ports, which are probably rare in public and corporate computers.
Re: (Score:3, Insightful)
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.
Re: (Score:3, Insightful)
Yes this is all very "shocking." This is the slashdot equivalant of CNN playing that lock-pick video over and over again.
Re: (Score:3, Insightful)
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-abl
Re:Physical access (Score:5, Interesting)
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.
Re: (Score:3, Insightful)
Sera
Done previously (Score:5, Informative)
Re: (Score:3)
Re: (Score:3, Informative)
How to filter Mac and Linux. (Score:2)
Page 37 for Linux, 38 for Mac
Re: (Score:2, Interesting)
Also affects OS X and linux (Score:5, Informative)
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/ [matasano.com]
Re: (Score:3, Interesting)
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?
Probably for lower overhead (Score:5, Interesting)
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.
Re:Probably for lower overhead (Score:5, Informative)
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.
So? And? (Score:2)
Mod parent down (Score:2, Informative)
Re: (Score:2)
"If someone does plug into your port unexpectedly" (Score:4, Insightful)
"You see, this serious security problem was designed in from the start, so therefore... it's not a problem! Ta-da!"
Re: (Score:3, 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.
Re: (Score:3, 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 la
Physical Security (Score:5, Insightful)
Re: (Score:2)
In related news... (Score:5, Funny)
Why doesn't MS disable the port on lock? (Score:4, Insightful)
I could do this... (Score:2, Insightful)
Old Vulnderability (Score:3, Informative)
Whose spec was this anyhow? While blame is shared according to Wikipedia, Firewire was Apple's interface design.
Physical Control = Game Over (Score:3, Insightful)
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...
Linux has the same security hole (Score:5, 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 [intel.com], 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 [peanuts.gr.jp]. In 2.6, it's enabled by default, but can be turned off.
Also, This patch [in-berlin.de] 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.
Doesn't matter (Score:5, Insightful)
The correct solution would be to map the FireWire address space into virtual memory, but this has to be done at the hardware level.
Re:Breathtaking Arrogance or Stupidity? (Score:4, Insightful)
Comment removed (Score:5, Insightful)
Re: (Score:2, Informative)
Re: (Score:2, Informative)
Re:Breathtaking Arrogance or Stupidity? (Score:5, Insightful)
Re: (Score:2)
Re: (Score:3, Insightful)
EFS doesn't work the same way as TrueCrypt (Score:3, Informative)
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.)
Re: (Score:2, Informative)
Re:Breathtaking Arrogance or Stupidity? (Score:5, Insightful)
Re:Breathtaking Arrogance or Stupidity? (Score:5, Insightful)
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.
Re: (Score:2)
Re: (Score:2)
Not saying its good reasoning, but we don't know how just how badly other things would break if they fixed this.
Re: (Score:2)
Re:Breathtaking Arrogance or Stupidity? (Score:5, Insightful)
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?
Re:Breathtaking Arrogance or Stupidity? (Score:5, Interesting)
Re:Breathtaking Arrogance or Stupidity? (Score:5, Insightful)
Re:Breathtaking Arrogance or Stupidity? (Score:5, Informative)
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.
Firewire Target Disk Mode (Score:4, Informative)
Re:Breathtaking Arrogance or Stupidity? (Score:5, Insightful)
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.
Re:Breathtaking Arrogance or Stupidity? (Score:4, Insightful)
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.
Re: (Score:2)
As such, this is a hardware vulnerability - every OS in the world is affected.
Re:Breathtaking Arrogance or Stupidity? (Score:5, Funny)
Which is it?
Re: (Score:2)
Re: (Score:2)
A little contradictory I think. How can you run a command if the PC's locked?
Re: (Score:3, Insightful)
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.
Re: (Score:2)
Comment removed (Score:4, Informative)
Comment removed (Score:4, Insightful)
Re: (Score:3, Insightful)
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 po
Re: (Score:3)