tssci security

Hardware VM security: past and present

Marcin and I were talking a bit about mainframe security today. I recalled how fantastic mainframes were while he had his hands in the trenches. Yes, I know that IBM renamed MVS to z/OS (as well as other things) years ago. However, the concepts remain the same: TSO, ISPF, and JCL are still there.

I tried to explain some of the differences between z/VM and z/OS. z/VM is based on VM/CMS, which ran an antiquated version of hardware virtualization concepts that we find in modern technology such as Xen. I also pointed Marcin to the Wikipedia entry for RACF, where we checked out and discussed all the links. Recently, I had also read Mainframe Basics for Security Professionals, so you can check it out if you want more information.

As we got deeper into the conversation, we talked less and less about mainframes and more and more about Xen. I related concepts of clustering from the Big Blue days of IBM, which ran AIX on SP2 clusters. What Xen and new-age hardware virtualization packages are lacking is not only security concepts, but also general improvements and refinement of technique.

The whole point of running multiple OSes on a single machine escapes most people. They mostly want it so that they can run Mac OS X and Windows on the same laptop. That's the opposite of what this technology is meant to do. It's for big servers with lots of processors and memory. It's intended to be able to migrate, restore, route-around availability issues, and increase performance.

That's correct: increase performance while also moving an OS between physical machines. Late at night, an entire mainframe-sized machine or two can be shutdown for maintenance and to save money on power -- while another mainframe-sized machine picks up that work until early in the morning.

Some people say, "well if this computer is sitting here only running one task on CPU for 4 hours a day at 90%, then we can just run SETI@home the rest of the time it's idling at 10%". This is exactly the kind of attitude that caused the Dot-Com era way of thinking. The real goal is to move services off that machine when it's not using them, and safely carry them out elsewhere.

Speaking of the laptop, think of Xen save/restore/migrate more like your laptop's hibernate feature. When it comes up again, you're back in business. Xen migrate makes moving an OS between machines "instant business". The primary extra difficulty system administrators and IT people have with understanding Xen migration is that it requires shared storage. I've setup iSCSI with Xen and maintained it using CentOS (RedHat Enterprise Linux, or RHEL), even in a clustered configuration. When architecting this sort of solution -- you really have to look at all the dependencies you create, otherwise you're just adding more headache. For an introduction to the subject, check out this article on Live Migration of Xen Domains.

While separating out every service into its own guest seems like a great idea at first, it also would require installing many OSes and keeping them all up-to-date with patches. This would seem to lessen the security since most people install an OS using a CDROM or DVD using default configurations. They don't want to take the time to setup and manage "more" machines, when they already have their fill with the current situation/mess they are in.

Enter VMcasting. VMcasting allows package updates to be distributed via RSS feeds to the guests. I had first heard about VMcasting from a company who makes both Enterprise Xen control software, as well as an open-source version -- Enomalism. Enomalism has features that are very different than most of the other Xen Enterprise managers, including VMcasting. It supports sHype (a hypervisor access-control system similar to SELinux or RACF, with support of RBAC and TE), a firewall management application, centralized user management with LDAP controls, and a custom web API written in -- you guessed it -- Ajax. I can't believe I just used Ajax and RSS in the same paragraph as describing the benefits of hardware virtualization as it applies to vulnerability management, but there you have it.

The additional benefit of Enomalism comes in the form of its EVA containers (Enomalism Virtual Appliances). An EVA is a package, but that package can contain multiple virtual machines, such as two web servers and two database servers. These can be pre-configured and ready to be put into a lab or staging environment right away. Speaking of labs, imagine setting up a security penetration-testing lab using EVA containers.

After recently also reading "Penetration Tester's Open-Source Toolkit, Volume 2", the updated section on Building Penetration Test Labsgives some excellent suggestions on using Pen-Test "system lab" LiveCD's for learning purposes. Booting from CDROM as a virtual environment takes a lot of the work out, but imagine if you combined it into a bootable Pen-Test "network lab" with an EVA package.

Check out the authors' website at DE-ICE.Net for a list of the LiveCD "system lab" packages. See if you can spend some time making them into an EVA container, but don't VMcast and accidentally upgrade all of the out-of-date packages! Also of note would be the SecurityDistro website, which lists many of the FOSS LiveCD projects -- be sure to check out their new Beta website portal (register and join the fourms!), which should roll into their main site very shortly.

Microsoft11111111111111111111

I often sound like a Linux bigot.

Before I was a labeled as a Linux bigot, I was considered a classic FreeBSD bigot (so you would think I like Mac OS X, but I don't). Before everyone tagged me as a FreeBSD bigot, I again gave the impression of being a Linux bigot (but that was before 2.2.2 when Slackware first came out; I mostly used Linux early on as SLS). Before everyone was sure that I was a first generation Linux bigot, I was also considered a 386BSD bigot. Before 386BSD, my background demonstrated that I had to be a SunOS 3.x/4.x bigpot (because it was my first introduction to Unix). Before that, everyone thought I was into Amigas or something.

This is all very untrue, including the parts about Mac OS X. I am not an OS bigot; I am not a fanboy. I like computers and computers like me. I'll use anything you put in front of me, especially if it's free hardware and software. Microsoft is no exception.

Microsoft is big. Microsoft thinks they own everything. Microsoft thinks ASP.NET is bigger and better than Java EE or PHP and that C#/CIL is bigger than Java.

I really like Microsoftisms. Microsoft Vista is incredible. It consistently amazes me. Mono/.NET is the way to go for all programming. C# is the best language and has the best community. ASP.NET 3.5 is the third best framework for web application programming, right after HDIV SpringMVC (best) and HDIV Struts2. JSF is probably fourth place. I also like Grails and RoR, but these are toys compared to JEE and ASP.NET. Toys in the same way that first generation Linux was also a toy.

Microsoft went and released the sources to the .NET framework almost three weeks ago (check out this link is for Casaba Security who hasn't blogged in quite some time until just recently!). Last week, I found out that the Microsoft Code Gallery (formerly known as the GotDotNet community portal) is back and in full force. Microsoft also released Wave 0 for Vista yesterday, not to mention Windows Server 2008. Would this have anything to do with Bill Gates passing on the crown? I doubt it.

Bill Gates started the Trustworthy Computing initiative in 2002 from a memo in 2001. TwC is an acronym that reminds me of SwA (Software Assurance), and this is what the concept is probably really about. Software Assurance is a concept that nobody besides Matt Bishop seems to be able to talk about effectively. Even Gary McGraw is too busy with gaming to worry about tackling such a large issue.

The new SwA is now called "Secure SDLC", which is one word with one acronym I'm very happy to see next to each other. The Microsoft SDL is widely touted as the only Security Lifecycle around, which is completely untrue. Threat-modeling (which I refer to as "attack-modeling") came from Microsoft -- actually, no, it's much better explained by either the DHS BHI's Architectural Risk Analysis or the Octotrike Trike and Privilege-centric Analysis models. Smart fuzzing is another huge Microsoft win, were it not for the work by VDA Labs, DVLabs, Codenomicon, and a few other fuzzer shops. SAL, SLAM, and Phoenix/Cthulhu were all partially responsible for kernel/driver security "beefing-up" in Windows Vista. Can you think of other recent wins for Microsoft?

Sure, more web applications are written in PHP than ASP.NET (all versions) and Classic ASP combined. Of course Microsoft stole ASLR from GRSecurity and OpenBSD. The Microsoft SDL is a clear rip-off of SSE-CMM or Cigital Touchpoints. Threat-modeling is really just informal (i.e. arguments for) specification during design for risk-based and security reasons. Even fuzzing has been around since that Bart Simpson guy got that cool haircut -- and he probably stole it from methods combining source tracing, structural analysis, and advanced forms of functional testing that came out of the early 1970's.

All of the above "a priori" intellectual property may have been stolen by Microsoft -- and then subsequently patented by them, but they were the ones that made it work for the masses.

So it didn't surprise me when Fortify announced support for .NET last March in their Defender product, or has had support for .NET throughout their SCA product. What surprises me is that Microsoft hasn't bought them yet.

If you haven't already checked out Fortify's products, I suggest you get their book, "Secure Programming with Static Analysis" -- however, you can also find reference and screenshots of SCA in "Software Security: Building Security In" as well as "Buffer Overflow Attacks: Detect, Exploit, Prevent". Even if you're lacking in the book department, you can at least check out Marcus Ranum's review of their tools with some amazing screenshots.

Ranum attempts to hint throughout his article the difference between `security researchers' and `vulnerability pimps'. He claims, "if [...] `security researchers' actually wanted to be useful, they'd be working as part of the code audit team for Oracle, or Microsoft. But then they couldn't claim their fifteen minutes of fame on CNN or onstage at DEFCON.". He's right, of course.

In a recent blog post from Bryan Sullivan on the Microsoft SDL Blog we see striking similarities. Bryan is interested in creating a sort of Sexy Development Lifecycle where Linux GNOMEs compile C programs for you. Ok, that's not exactly what Bryan said, but there is a lot to be said about the fact that software security is no longer about ad-hoc penetration-testing. Vulnerability pimps are a dead breed. In 2008, anybody can use tools like Fortify SCA or .NET Reflector/Deblector to find bugs. Have we already moved on in security research to where software vulnerabilities are no longer considered research, but novel software weaknesses are the minimum barrier to entry for BlackHat or even DEFCON?

Guests on Network Security Podcast

The other night, we had the special privilege of being guests on Martin McKeay's Network Security Podcast with co-host Rich Mogull. While having a great time several weeks ago at SunSec, and several beers into the night, we tricked Mogull into letting us crash the podcast... j/k :D

We started off with Mystery Malware affecting Linux/Apache websites, which lead to a discussion on web application security and how we can go about solving the problems. From there, we introduced our talk at ShmooCon and gave some more details as to what we've been doing.

You can download this episode 92 of the Network Security Podcast. Martin usually has a... let's say, "different" taste in music than us, but the song he played last night was pretty funny `-`- If this Geek Ruled the World.

Blog Announcements

I have one ShmooCon ticket available for $300. Contact me if you are interested.

Why do I have one ShmooCon ticket for sale? I bought it in case we didn't get accepted to ShmooCon, but we did! Dre, Tom Stracener of Cenzic (and formerly nCircle), and I will be giving a talk on:

Path X: Explosive Security Testing Tools Using XPath We will cover what XPath is, how it is used to parse XML in web applications in order to aid security testing tools, and why XPath expressions are good locators in comparison to other methods such as DOM or CSS selectors. We will attempt to demonstrate how XPath can be used for good instead of being targeted with injection or blind XPath injection attacks.

Check the ShmooCon Speakers list for all the talks. If you're going to ShmooCon as well and want to hang out, post a comment. We can't wait for this years Podcasters Meetup -- last years totally rocked. There is going to be a lot happening and it's all going to be a lot of fun.

New Look

We have changed our look slightly and have a new theme. You might not notice much of a difference if all you read is our RSS. We hope that the new theme makes it easier for those who come to our site be able to read longer posts more easily. Not to mention, it's faster, simpler, and cleaner... and I had it validating XHTML 1.0 Strict on my staging server, but not anymore. If anyone can help me out that'd be great, getting 100% Strict validation was pretty cool for those 15 minutes. :/

Research

Dre and I have been pouring a ton of research into web testing tools and using those tools to find vulnerabilities in web applications. Some coincides with the information we have put into our talk, which we will be publishing soon.

My other phone is your iPhone

Here's a new 2008 security prediction for you --

The iPhone camera is an odd device. There is no notification that a picture is being taken, so the only requirement for malware is to wait for user activity and then start taking pictures.

My prediction is that malware will be written to do just this and upload it all to a website. The unknowing iPhone user's face with then be auto-BBQ'd (this link is NSFW) and other personal information will also be uploaded to further embarrass the individual.

The malware will likely be injected once Facebook apps start integrating well with the iPhone. Gives new meaning to the phrase, SuperPoke.

All you need to get started on this project is to integrate Metasploit with the iPhone Photo Library framework. A simple class-dump of PhotoLibrary.framework/PhotoLibrary will dump all the libraries, including the necessary CameraController class file. Creating a hidden photo-taking utility or integrating it with malware is easy from this point on.

For more information (and to see where I got some of the ideas), be sure to check out the book, iPhone Open Application Development: Programming an Exciting Mobile Platform, when it becomes available.

« Newer entries — 14 — Older entries »

blog comments powered by Disqus