Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

slughead

macrumors 68040
Original poster
Apr 28, 2004
3,107
237
http://www.breaknenter.org/2012/02/...cking-macs-through-the-thunderbolt-interface/

There are a few articles about this. Basically TB devices will have unrestricted access to active memory and possibly the other hardware, such as hard drives.

Moreover, an attacker, with access to your sleeping computer, can grap passwords out of active memory too, including filevault passwords.

There is something called "Intel Virtualization Technology for Directed I/O" or "VT-d" which theoretically prevents this, but it is not present on several (if not all) Macs, and is possibly not supported by OS X (according to 2 articles I read).

Microsoft has a specific article on how to disable most of Thunderbolt's capabilities in Win8 specifically to prevent this issue--this fix eliminates the ability to run PCIe expansion chassis as well as Firewire Drive controllers. They also say that it wont work on all systems.

Does anyone have any updates on this? One hacker has already used it to grab a filevault password From a Macbook Pro, so this is the real deal.
 
Last edited:
This is super old news. It's not that Thunderbolt makes your Mac vulnerable, its that physical access makes your Mac vulnerable.
 
This is super old news. It's not that Thunderbolt makes your Mac vulnerable, its that physical access makes your Mac vulnerable.

... yes, combined with thunderbolt.

Being able to grab passwords out of active memory with a dongle is a big freaking deal, I hereby preemptively call out anyone saying otherwise. If I lock my computer and walk away, I should not have to worry about a coworker or a crazy houseguest or a pissed off teenager grabbing my passwords out of my RAM. I fully expect the hard drives to be torn through by NSA hackers and space aliens, but when I encrypt something and the PW is in the RAM, it needs to stay there.

The only issue to me is : Have they put in Intel Virtualization Technology into the new Macs or does Apple simply not care?
 
Brand, you seem to know the issues at hand.

Is there a problem with physical access to the computer with Thunderbolt IF it is sleeping JUST due to Thunderbolt?
 
You didn't say VT-x, you said Intel Virtualization Technology.

I meant VT-d -- the thing that prevents Thunderbolt from accessing memory addresses that haven't been allocated to it.

Also, VT-d was only said to be defensive for this according to one article and only in the context of preventing DMA.

This issue seems far from settled. They even declared on the latest TekSyndicate inbox that this was still an issue, and they're usually right about this kind of thing.
 
... yes, combined with thunderbolt.

Being able to grab passwords out of active memory with a dongle is a big freaking deal, I hereby preemptively call out anyone saying otherwise. If I lock my computer and walk away, I should not have to worry about a coworker or a crazy houseguest or a pissed off teenager grabbing my passwords out of my RAM. I fully expect the hard drives to be torn through by NSA hackers and space aliens, but when I encrypt something and the PW is in the RAM, it needs to stay there.

The only issue to me is : Have they put in Intel Virtualization Technology into the new Macs or does Apple simply not care?

1) VT-d is not designed for that.

VT-d is designed for sharing built-in peripherals with a virtual machine directly. VMware ESX (and ESXi) use this to "pass through" things like PCI devices to a virtual machine. VT-d is NOT a security feature, and was never designed to act as such. It can THEORETICALLY be used to secure a computer, but this would require a radical operating system design beyond the scope of a few kernel modifications. You would have to write your entire OS around the aspect of running through a hypervisor and taking advantage of VT-d like this, which is why Apple doesn't care.

2) Thunderbolt is, for the umpteenth time, a friggin' PCI-e bus with some extras.

You all wanted it, so now you can deal with the ramifications of your god-bus. There is no way for anyone to architecturally secure themselves against this kind of thing. That is the price you pay for an expandable modular system like this, end of story.

Apple can and will likely fix the issue with their passwords being stored in RAM via plaintext, but I can guarantee you that every time they quash a bug like this another exploit will pop up.

3) Physical access is root access.

Get it?

If someone can touch your machine, they can root it. If you believe otherwise, you're living in a dream world. If in doubt, use FileVault and SHUT DOWN YOUR MACHINE AND WAIT 10 MINUTES.

Want to hear a secret?

All modern day computers are susceptible to something called a cold boot attack, which exploits two things- A) the fact that DRAM will retain its contents for several minutes after power is removed (longer if the DRAM is temporarily chilled), and B) barely any modern day computers bother to clear the system RAM during boot.

If someone has access to your machine, they can perform this attack. It doesn't matter if you have Thunderbolt or Firewire or whatever.

So let me say it again:

Physical access is root access.

You cannot assume that any machine is safe when it is in the hands of someone else. That is the world we live in. Deal with it.

-SC
 
Brand, you seem to know the issues at hand.

Is there a problem with physical access to the computer with Thunderbolt IF it is sleeping JUST due to Thunderbolt?

The issue is that if you have access to encrypted data in your "locked" sleeping session, such as a mounted filevault, a hacker with physical access to your machine can attach a dongle and steal all the passwords from the RAM.

At that point, if they wished to, they could just reboot the machine on a USB drive and peruse your filevault--or steal the hard drive.

The point is, merely by having your computer on and logged in (even while locked or asleep), TB can make your machine more vulnerable. Not an issue for most, probably, but this needs to be known.

----------


First off, I'm aware VT-D was not designed for that, but apparently it does have that feature (again, I haven't been able to verify this).

Second, I don't disagree with anything you just said, nor do I think you disagreed with anything I said.

I think this is probably scarier for Macbook users who don't turn off their computers and expect the password screen and filevault to save them.

In fact, a smart dongle may be able to even unlock a locked Mac and let the hacker do whatever. With full memory access, a dongle could read and write anything directly to the RAM.
 
The point is, merely by having your computer on and logged in (even while locked or asleep), TB can make your machine vulnerable.

Except your machine is vulnerable irregardless. See my previous post about cold boot attacks. It is applicable to the machine with or without Thunderbolt.

-SC
 
Except your machine is vulnerable irregardless. See my previous post about cold boot attacks. It is applicable to the machine with or without Thunderbolt.

-SC

I edited my post -- *more* vulnerable. You have to agree that access to a machine in less than 10 seconds is a lot less cumbersome than a "cold boot scan."

That cold boot scan is interesting, btw.. Do hackers have to remove the RAM and place them in a different box or just boot off their own software to access it?

edit: nm, the attack is typically performed with a USB boot drive.

edit2: and for the record, I never wanted thunderbolt :)
 
I think this is probably scarier for Macbook users who don't turn off their computers and expect the password screen and filevault to save them.
Did you read down and through the caveats?

From the article you linked above...
OS X Lion with FileVault enabled disables DMA when the machine is locked...

I'm sorry. But SC and brand both have it nailed to a T (IMHO): if someone has physical access to your machine, all bets are off. This all reeks of being an alarmist about ridiculously situational circumstances.
 
I edited my post -- *more* vulnerable. You have to agree that access to a machine in less than 10 seconds is a lot less cumbersome than a "cold boot scan."

That cold boot scan is interesting, btw.. Do hackers have to remove the RAM and place them in a different box or just boot off their own software to access it?

edit: nm, the attack is typically performed with a USB boot drive.

edit2: and for the record, I never wanted thunderbolt :)

That depends on the system you're targeting.

If there is a firmware/BIOS password, then obviously you can't reboot the machine and/or you can't select an alternative boot device- so you'll have to pull the RAM and stick it in another machine. That tends to take time, so you might want to consider chilling the RAM first.

If there isn't, then it seems to be a bit of a crapshoot whether or not the RAM will survive a reboot. Usually that depends on how long the machine takes to reboot and/or how long your recovery image takes to boot.

Personally, I've had good to excellent success dumping the RAM of the older MacBook Pro units (aluminum, not unibody) without removing the RAM (no firmware password though). The newer Unibody systems seem a bit more tweaky and sometimes I can't get a good dump. At the time I wasn't being paid to figure out why, only to figure out if it was even remotely possible (which it is)- so I never really investigated this further.

A long time ago, I worked for an employer who had a bunch of old and busted Thinkpad systems. We used to dismantle them on our spare time and reassemble complete working computers, which were then used for general mucking about and all sorts of zany stuff. When the cold boot attack papers were published around 2008, we took several of those systems and did a whole bunch of tests just to see how long we could leave the RAM before the contents would be lost or unpredictably damaged. Our record was ~2 minutes without chilling, and 34 minutes with chilled (read: borderline frozen solid) RAM. The biggest issue we had with the chilled RAM was not freezing the SODIMM contacts and shorting out the machine- once the RAM was cold, you basically had to keep it cold and work fast. As soon as it started to heat up you'd get condensation which would typically short out the socket and cause the machine to hang or power down.

I think this is probably scarier for Macbook users who don't turn off their computers and expect the password screen and filevault to save them.

In fact, a smart dongle may be able to even unlock a locked Mac and let the hacker do whatever. With full memory access, a dongle could read and write anything directly to the RAM.

Does it matter for the 99.999%?

People who have stuff to protect should realize that security is a process, not a product.

My workstations don't have anything more then some personal emails, music, family photos, etc. Would it suck if someone broke into my machines? Probably, but I'm not going to fret about that very much.

The data I cannot afford to lose (source code, digital certificates, encryption key pairs, etc) reside on a pair of Data Locker 3 disk drives (http://datalocker.com/products/datalocker-dl3.html). These live in a giant safe sitting in my basement (a proper safe with a glass relocker- not one of those "fire proof" things you buy at Home Depot) when I'm not using them. I have a whole routine I go through every working day from start to finish. I know my data is secure to the point that there is literally nothing else I could have done to protect it, **if** someone actually had the resources to crack my safe and dismantle the drive controller PCBs and somehow retrieve the AES crypto key from the EEPROMs.

I just think that if all you have is a lock screen or FileVault, then your data can't be that important. I know people will scream "OMG BUT MAH FAMILY PHOTOS R PRICELESS111" at me for saying that, but it's true. Nobody cares about your family photos. If you have data that is actually worth money, protect it properly. Don't rely on a giant mega-corporation to do their jobs and write secure code when they're trying to worry about a bazillion other things concurrently.

-SC
 
The article you linked to is over a year old. Here's the first two sentences:
We security folks often feel like we are regurgitating the same type of security issues over and over again, just in new contexts. So depending on how you look at it, this is “old new” or “new old” news.
So, yeah, even a year ago this was old news, since this situation has existed since the introduction of firewire. External busses with DMA access, man. I tell ya. :rolleyes:

Anyway, lets take a look at the true scope of the issue. Back in February 2012, Passware/Inception/everyone who's ever run a DMA hack over firewire said they could get DMA access and therefore the FV2 key at the loginscreen, boot up, or shutdown without the user being logged in. That's pretty bad, yeah. Apple had already patched this type of vulnerability on firewire, apparently they messed up on thunderbolt again when they first introduced it. But check out one of the fixed bugs listed in the notes for the 10.7.2 update and the 2011-006 security update:
Kernel

Available for: OS X Lion v10.7 and v10.7.1, OS X Lion Server v10.7 and v10.7.1

Impact: A person with physical access may be able to access the user's password

Description: A logic error in the kernel's DMA protection permitted firewire DMA at loginwindow, boot, and shutdown, although not at screen lock. This update addresses the issue by preventing firewire DMA at all states where the user is not logged in.

CVE-ID

CVE-2011-3215 : Passware, Inc.

Aww, I love a happy ending! And the bug was even submitted by Passware.

So, this means that your FV2 key is only vulnerable if you give up physical access to your machine when you're logged in and it is unlocked, or if you have autologin turned on. This has been the case since 10.7.2. Please stop freaking yourself out over security issues in old blogs that have already been patched. No one can read your FV2 key through the thunderbolt port while your encrypted mac is locked or no one is logged in.

Don't believe me? How about we check the troubleshooting section of the Inception page you linked to:
OS X

Don’t panic – if you are using FileVault2 and OS X Lion (10.7.2) and higher, the OS will automatically turn off DMA when locked – you’re still vulnerable to attacks when unlocked, though
FFS, man.

If you want to make your mac pretty darn secure, follow these steps to mitigate most common threats:
  • Enable FV2
  • Enable an EFI password to protect single user mode and the recovery hd
  • Turn off fast user switching
  • Turn off the guest account, also disable guest file sharing access
  • Create 2 accounts for yourself with different names and passwords- one an admin, the other standard. Login to and use the standard account, and supply the credentials for the admin account when necessary to elevate your privileges.
  • Setup the screensaver to prompt for password, and trigger the screensaver or lock the screen (ctrl+shift+eject or power if your keyboard doesn't have eject) whenever you leave the keyboard
  • Don't install Java
  • Don't install Flash
  • Turn on the firewall and buy a copy of Little Snitch
  • Use secondary container or file-level encryption on truly sensitive files (openssl is sitting right there on your mac already!) or go the whole-hog ScottishCaptain route and physically secure those precious files in a vault while stored on self encrypting devices--more than one vault and site, if possible.
  • Run some basic anti virus

Also, irregardless is not a word, dammit. Lookin' at you, ScottishCaptain :p
Question for you, SC- do self encrypting devices that use the OPAL standard really defeat cold boot attacks? Have you done any attack research on OPAL devices?
 
Last edited:
Also, irregardless is not a word, dammit. Lookin' at you, ScottishCaptain :p
Question for you, SC- do self encrypting devices that use the OPAL standard really defeat cold boot attacks? Have you done any attack research on OPAL devices?

CTRL-CMD-D...

irregardless |ˌiriˈgärdlis| adjective & adverb
regardless.

Irregardless is a word commonly used in place of regardless or irrespective, which has caused controversy since the early twentieth century, though the word appeared in print as early as 1795. Most dictionaries list it as "nonstandard" or "incorrect".

Sorry for causing controversy, I guess.

I haven't done much research into OPAL secured devices (read: less then a day). The last time I looked into the spec, I quickly came to the conclusion that the whole thing was a gigantic mess. Some disk drives (Seagate, Toshiba, etc) stored the encryption key on the platters. Some disk drives stored it within the drive controller ASIC, others used a dedicated bridge ASIC in-between the drive controller and the SATA/SAS port. Some stored the key information in the controller chips themselves (built-in EEPROM/NVRAM), others used external chips located on the PCB. All of this seemed to vary wildly depending on the manufacture, and sometimes the drive model itself.

Personally, I think the spec is totally ****ing pointless in the way that most specs from TCG are. It completely misses the point and simply serves to shift software complexity into the disk drive itself, which is great if you ever have a hardware failure and your master key gets blown away (especially with drives like the Seagates, who store that on the platters). Had they come out with a spec that defined a trusted key store on the disk PCB (and not the platters) and defined a standardized way of making that data tamper proof (probably using epoxy, resistance meshes, and/or drill-proof PCB tracing) then I might have a different opinion.

As it stands now, I don't trust that stuff at all simply because the implementation is all over the place. I haven't seen much research on the topic, but I can't imagine that those devices would be very hard to exploit at all, judging by the way a lot of the companies seem to skimp on it just so they can get their shiny crypto certification and adhere to whatever spec the enterprise market is having an orgasm over this week.

-SC
 
... yes, combined with thunderbolt.

Being able to grab passwords out of active memory with a dongle is a big freaking deal, I hereby preemptively call out anyone saying otherwise. If I lock my computer and walk away, I should not have to worry about a coworker or a crazy houseguest or a pissed off teenager grabbing my passwords out of my RAM. I fully expect the hard drives to be torn through by NSA hackers and space aliens, but when I encrypt something and the PW is in the RAM, it needs to stay there.

The only issue to me is : Have they put in Intel Virtualization Technology into the new Macs or does Apple simply not care?

Physical access to any and all computers makes anything in them vulnerable.

This is not rocket science. Leave a PC or Mac to a information thief, they'll get what they want out of them. Even NSA computers are subject to this kind of theft (assuming Mission Impossible style info theft).
 
First thing I thought of when I saw it before even reading the article was, Seen this with Firewire a couple of years ago.

What do I read, they need a Firewire to Thunderbolt adaptor and physical access to the machine.

Is nothing more then what was going round about Firewire a couple of years ago.

ANY Mac with a Firewire port or the ability to attach a Firewire adaptor to it is vulnerble to this, wether it has Thunderbolt port not.

Is a Firewire Issue/Physcial Access to Machine rather then a Thunderbolt issue.

You can take steps ( I see someone has already listed them out ) to mitigate against most of it. If someone can gain physical access to your machine then they can do what they want to it.
 
DMA attacks

As far as I can tell they're talking about a traditional DMA attack which has been mitigated by the CPU's IOMMU http://en.wikipedia.org/wiki/IOMMU#IOMMU_in_relation_to_virtualization which allows the OS to trap invalid DMA access from hardware.

It looks like in OSX 10.7.1+ the only time the vulnerability is viable is with a logged on user when the system is not in screen saver more or asleep.

This remaining vulnerability seems like a limitation of the drivers since it's completely reasonable to fully isolate DMA access to a specific memory region. More than likely so far it's been a business decision to not invest in compilation and retesting of existing drivers and since the attack is so esoteric it hasn't been invested in.

TL;DR not a limitation of thunderbolt, limitation of drivers, will be fixed in future versions.
 
It looks like in OSX 10.7.1+ the only time the vulnerability is viable is with a logged on user when the system is not in screen saver more or asleep.

This remaining vulnerability seems like a limitation of the drivers since it's completely reasonable to fully isolate DMA access to a specific memory region.

I hesitate to call something a vulnerability that requires a hacker to present themselves at my computer physically and get my permission to plug something in.

Seriously- think about the scenario. You have to be sitting there, using the computer (logged in AND unlocked) when someone with malicious intent walks up and asks if they can plug a device into your thunderbolt port.

Yeah.

That's not an OS vulnerability, that's straight up social engineering.
 
They may as well stick in some kind of hardware keylogger. It's cheaper, much easier to do and less time consuming. Works rather well on desktops but not so much on notebooks (it is much easier to detect such hardware keylogger). In the UK you have to hand over your password to the authorities. If you don't you can get jailed. Some people are intimidated by that and hand over the password just like that.

Or simply put: if someone wants access to your machine and/or specific data on that machine there are a gazillion ways of doing it. Some of them much cheaper and easier than using the TB port.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.