Re: Factory Pitfall Ben Laurie (ben@algroup.co.uk)
Thu, 24 Dec 1998 23:23:28 +0000

Bill Frantz wrote:
>
> At 10:43 AM 12/24/98 +0000, Ben Laurie wrote:
> >Hmmm ... do you think it is possible to avoid covert channels?
>
> [#] Our (the KeyKOS group's) analysis indicated that it was possible to
> greatly limit the bandwidth of covert channels. Norm alluded to a covert
> channel where the sender and receiver share some limited resource (e.g.
> disk space). By statically allocating separate pools to the sender and the
> receiver, you eliminate that channel.
>
> It turns out that timing channels are the hardest to eliminate. KeyKOS was
> originally written for the IBM S/370. That machine has a user-mode
> accessible clock which ticks at approximately the clock rate of the CPU.
> It makes a wonderful tool for performance tuning, and for using CPU usage
> as a covert channel. In general, you have to restrict access to the clock
> to eliminate this kind of covert channel. If you limit the precision of
> the clock, you limit the bandwidth of the channel but do not eliminate it.

It was precisely this kind of channel I was thinking of when I asked the question, though it seems to me that the solution is the same as the solution for storage - static allocation of CPU usage.

However, surely the problem is that this means that I have to decide in advance that I will support at most n processes, and divide every resource into n chunks in advance, and _stick_ to that division. Which may give me security, but at hellish expense.

> Some of the work in "reproducible computing" applies to this problem. If
> you build a system where programs always run the same way, only dependent
> on their user specified inputs, then you eliminate them as receivers of
> covert channel information. This is much harder than it may at first seem.
> You must ensure that thread switches and interrupts occur at the same
> place in the instruction stream every execution. In general, it is
> necessary to eliminate interrupts and thread/process interactions to
> achieve this level of reproducibility.

Doesn't that effectively mean we're talking about a purely theoretical system?

Cheers,

Ben.

-- 
Ben Laurie            |Phone: +44 (181) 735 0686| Apache Group member
Freelance Consultant  |Fax:   +44 (181) 735 0689|http://www.apache.org/
and Technical Director|Email: ben@algroup.co.uk |
A.L. Digital Ltd,     |Apache-SSL author     http://www.apache-ssl.org/
London, England.      |"Apache: TDG" http://www.ora.com/catalog/apache/