Often I seem to go long periods without reading about anything interesting in the news, but lately I’ve come across a number of things that I’ve been thinking about.
Uber Rootkit?
First: This slashdot article points to this eweek article on the issue of “VM rootkits”. This isn’t really anything new. For some reason I thought I had seen something about SubVirt on the Virtual-machine based security services (at the University of Michigan) page, but perhaps I just heard about the project by word-of-mouth. (I know I’ve read about ReVirt before.) I recommend checking out that page, BTW.
Anyway, with hardware virtualization support about to become available (see this article or this blog) people are wondering whether hardware support will be beneficial or detrimental to system security.
I think it will be beneficial for two reasons:
- Hardware VM support could enable a system to run a hypervisor that is booted from flash (or similar) but physically unable to write to its boot media. An upgrade might require the insertion of some sort of key into the hardware to make the flash physically writable. (This could also be done using something like “old school” PCMCIA cards that have the little write-protect switch.)
- With virtualization support at the hardware level, it becomes (much?) more difficult (but not impossible) for something running inside a virtual machine to detect that it’s running inside a virtual machine.
For #1, you’re probably thinking “Why is this better than booting from CD?” It isn’t necessarily that much better, but it has the potential to allow active monitoring of the system while the “guest” OS is running. So, it could be a good place to run intrusion detection/prevention code or anything else that you want to monitor the OS without being visible to it. You could also suspend the main (I mean the main guest) OS and perhaps run diagnostics on it if something looks out of the ordinary.
Obviously the disadvantage of #1 (or advantage if you’re an attacker) is that a rootkit could run in the same manner, but it seems like this possibility could practically be reduced to one that requires physical control of the system in question. It wouldn’t surprise me to find that IT people don’t want to have to physically upgrade 10,000 machines they’re managing. This is a problem, but like everything else in security there is probably a useful compromise. Hopefully this sort of upgrade would take place infrequently enough that the additional cost of using some non-physical high-security approach would still be acceptable to most organizations. (And small or high-security organizations might still use the physical method.)
For number #2, the usefulness is that malware will have a harder time detecting that it is running inside a virtual machine so that it can foil attempts at live analysis. Still, there’s always the real-time clock so unless that can be made to run “slower” to track CPU time, it still wouldn’t be impossible. And again, this is exactly why a rootkit wants to run here.
The advantage that “anti-rootkits” would hopefully have against rootkits is that users want the anti-rootkits installed and would hopefully be willing to make tampering with them a very high-touch prodedure that most intruders wouldn’t be realistically able to attack. If something requires physical access to change, the intruder will have to have physical access. Even if some non-physical protocol is required, hopefully that would be high-touch enough to make most attacks impractical.
Torn up credit card application, accepted!
I usually shread the credit card offers I get in the mail with a “medium security” crosscut shreader (cuts into confetti but not paper dust like some high-security models.) Occasionally though I do rip them up by hand and throw them in the trash. I’ve often wondered if this would be sufficient to prevent someone from using them to obtain a card in my name.
Well, this guy actually tried it, and guess what? It was accepted! Never let minor issues like the application being torn up and taped back together stop you when there’s an opportunity to sell someone a credit card!
Sadly, I’m not really that surprised. In truth though, if a thief finds a torn up credit card application in your trash, he’s probably going to move on to the next trash can. Tearing one of these up is probably still sufficent to raise the bar high enough that the criminal will go for lower-hanging fruit that’s just as tasty.
Note that most of the crappy ribbon cut shreadders that I’ve seen don’t make it that more more difficult to reassemble the original document than manually tearing it up. The typical crosscut shreadders still don’t make it impossible to reassemble a document; supposedly black ops people out there have software that will scan each piece of paper and reassemble the image from the scanned images. Maybe that’s just an urban legend, but then again the “panorama maker” software that came with my digital camera is already pretty close to that, if not there.
Anyway, the point is that you don’t always have to have perfect security, just securty sufficient enough that the cost of overcoming it is greater than the value whatever it protects. (I’d call that “appropriate security”.)
On a related note, my bank actually sent me a credit card last year that I never applied for. That’s just great. When I called their “fraud” department I got some call center, probably in some foreign country or something, where the customer service guy said he couldn’t do anything. This is almost as bad, or maybe worse, than the legitimate email that looks almost exactly like phishing email.
GPG Bug
I don’t really use GPG that much but I noticed this vulnerability. It’s pretty significant. Anyway, just thought I’d mention it.