On Mon, May 26, 2003 at 06:17:00PM -0400, Mike Lockhart wrote: > Are there any good quality papers on creating a system from scratch (not > LFS though) that can be trusted 100%? To further elaborate on what I > mean, I'd like to find a way to build from source a trusted system that > is running only binaries/libs that are built from a trusted compiler, > etc.
This problem is more or less insurmountable without a HUGE budget. Consider that the CPU, MMU, PCI Bus, hard drive controller, hard drives, etc, all have chips designed with software. That software has to start from somewhere. With what? A trusted operating system built from the ground up? What CPU, MMU, PCI bus, etc, was that OS designed and built on? :) This is perhaps taking the chicken/egg scenario further than it needs to be taken, but it is a useful thought exercise to consider just what is involved in producing an operating system. Perhaps a sufficient work-around for the problem is targetting the OS for several different platforms, as trojans in hardware are a lot less likely to work along multiple architectures than a single architecture. Allow hardware diversity to provide "bounds" on probability the hardware does something unseemly, rather than prove from the start that the hardware doesn't do something unseemly. A first step to getting a trusted toolchain is an assembler. You'll need to write the first assembler in opcodes by hand using a binary editor of some sort, perhaps comparing the results on multiple operating systems (diversity to provide bounds on probabilities, rather than trusted base), then build a more intelligent assembler out of those tools, then build a compiler, then re-write the compiler in a higher-level language (as it is likely the only useful way to write an operating system kernel is in a language best supported by a compiler written in a high-level language), etc. Big Budget. :) -- "So the whole internet is a Ponzi scheme" -- Jon Stewart
pgp00000.pgp
Description: PGP signature
