CS361 Assignment 2b (Extra Credit)

Last modified: Wed Sep 19 08:54:03 CDT 2007

Due: September 29 by midnight.

Note that this assignment is purely optional and for a possible 2 points extra credit.

Assignment 2 used a shared token to synchronize the behavior of Lyle and Hal. That is a huge potential covert channel. Can we do better?

Your assignment, should you choose to accept it is: Build a system with two concurrently running threads that are not synchronized and share no storage resources. Implement a covert timing channel between them.

Let's call the threads "High" and "Low." Send information from High to Low using the amount of time that High uses the processor as the information transfer vehicle, as was described in Sample Covert Channel 2 in the second slideset. Calculate the bandwidth of the channel as you did in Assignment 2.

Grading: You will get one point if you can make this work and an extra point if you can transfer more than 250 bits per second across the channel. Your solution must work on a modern multiprocessor system.

Warning: I don't know how to do this in Java. I'm hoping that one or more of you can figure it out.