Message----- From: Crispin Cowan [mailto:crispin@wirex.com] Sent: Wednesday, September 04, 2002 7:30 PM To: Ben Mord Cc: Webappsec Securityfocus.Com; SECPROG Securityfocus Subject: Re: use of base image / delta image for automated recovery from attacks Ben Mord wrote:>> -----Original Message----- >> *From:* Crispin Cowan [mailto:crispin@wirex.com] >> *Sent:* Wednesday, September 04, 2002 5:46 PM >> *To:* Ben Mord >> *Cc:* Webappsec Securityfocus.Com; SECPROG Securityfocus >> *Subject:* Re: use of base image / delta image for automated >> recovery from attacks >> >> Ben Mord wrote: >> >> My proposed solution to the first two problems you mention is to be >> less ambitious. The idea is that you *never* commit - instead, you >> simply revert to base state on reboot.>Ah. In that case, you can use something considerably less powerful than >VMWare. All you need is a machine configured to boot from CD-ROM and use >a RAM disk for scratch space. Numerous Linux distros are available that >let you boot a stateless but functional system from CD-ROM.But RAM is expensive, and the directory structures of many systems (e.g. Windows) are not sufficiently organized and standardized to make this combination of bootable CDs and RAM drives practical. Even if you are fortunate enough to be using Linux (or another FHS-compliant *nix), you still can't fit a lot on a CD. Its not unusual today to have gigabytes of static multimedia content on the web server. This particular problem can be alleviated somewhat by using DVDs, but this is a temporary solution at best which will become outdated quickly as our data requirements grow and hard drives become cheaper.>> Obviously, you can't do this with partitions that accrue important >> state, e.g. a partition that stores database table data.>... but if you *do* want some state to persist, then you need a >mountable writable partition. To protect it, you need some kind of >access control management to decide who can do what to the writable >partition, blah blah blah ... and before you know it, the security >problem starts to look just like it does for conventional servers.Right. This is why you would consolidate all state of any long-term significance on just a couple partitions, and why you would not put static application code on these changeable partitions. Fortunately, most large client/server application physical architectures do this anyhow, because these are two fundamentally different kinds of state with two very different sets of administrative, security, RAID, and backup requirements. People also tend to do this anyhow because layered logical architectures are popular with the GUI at one end, business logic in the middle, and persistence services at the other. This logical architecture maps naturally to a physical architecture that has a static web server, a static application server, and a database server that has static and changeable partitions. (I use the word static versus changeable instead of writeable versus unwritable because the "unchangeable" partitions might be written to for temporary swap space. Who knows what Windows does internally?)My point is that there should be a market out there for a hardware RAID device that can split designated partitions into a permanent base image partition and a temporary delta image partition, that has some simple but solid security measures to prevent the unauthorized remote modification of base images, and that can be configured to clear the delta image when the server is rebooted. If some vendor wished to implement this, they could then market this as a mechanism to help frustrate broad classes of attack that rely on the permanent modification of system or application files via buffer overflows, platform and middleware bugs, etc. The prevention of unauthorized modification of application data, of course, would not be addressed by this particular product. But there are many other techniques out there to defend application data. But those techniques all assume that your system itself has not been compromised at a lower level, which is where this product could help.I would have to think that these features would be relatively easy for a hardware RAID vendor to implement. (I'm just guessing, of course, with no knowledge of how hardware RAID works internally.) If anyone knows of such a product, I'd love to hear about it.Ben