I'm at one of my favorite conferences, NSDI (network systems design and implementation) for the next few days. So far, the best papers were announced:
Keynote talk: Ian Pratt
and Ian Pratt is starting his keynote looking back at the Xen virtual machine environment. Choice quote so far, talking about his newfound respect for people who produce real software:
I guess as an academic you think you're smarter than everybody else
and you think that people in industry are doing the easy things,
but it's not true - building stuff that works is really hard.
Pratt mentioned that in May 2008, HP and Dell will be shipping servers with Xen embedded in Flash on the machines. Cool.
Some nice words on the highly-publicized "just install a hypervisor underneath someone and you can 0wn them without their knowing it" attacks that some people speculated about last year: "[The] 'Hidden hypervisor' attack is a myth, but exploitation of an installed hypervisor is a real and dangerous threat" (just like your OS getting hacked is a real threat). He extolled the virtues of OCaml for systems programming - I (dga) found this interesting because I've been spending some time thinking about which more-functional languages to use for some upcoming projects. I find OCaml's syntax mildly ghastly, but I suppose it might be one of those things you get used to.
Questions to Pratt:
Ken Birman got up and asked about "the tension between adding features to Xen - and that concentrating all these resources on a single platform that it becomes a very attractive target [for hackets]. ... Is there a finite set of features that are 'enough', or are we already seeing features running away and the security lagging?" A: yadda yadda small interfaces, small code, ... K: But you told us about [huge list of complex cool features]; I'm seeing the features pulling. A: The good thing is that most of the features you listed are outside of the core hypervisor. [So if you break them, you probably just break into another VM.]
Gun Sirer: I'd like to remind you that virtualization is not the sole domain of hypervisors; every OS tries to provide virtualization. The difference is the interface - hardware, POSIX, etc. So what has made us unable to provide virtualization at the POSIX level, and why should it be possible if we go to hardware? A: [POSIX] is so broad and high-level and you've got a lot of stuff you need to do; lots of opportunity for bugs, temporal cross-talk, lots of shared resources. Now you can take an approach like the Nemesis OS did with POSIX as a library, but you end up with a very different OS design to what you have today.
Some Notes on Papers
Concrete evidence of in-flight malicious web page modification [project page]. The UW folks provide evidence of in-flight modification by advertising ISPs and by worms doing ARP poisoning, among others. The results are particularly interesting to me, because many of these could be solved by our Perspectives system that uses multiple "views" of a web site or SSH server to increase the chance that you get to the right place. (Caveat: Right now, we've only built Perspectives to work for SSL and SSH, not insecure web pages, but this paper suggests that there's benefit in going beyond just public key checking!)
( Read more... )