Question: Write a pair of programs, in C to send and receive a meesage by a covert channel on a UNIX system. Hint:A permission bit can
Write a pair of programs, in C to send and receive a meesage by a covert channel on a UNIX system. Hint:A permission bit can be seen even when a file is otherwise inaccessible, and the sleep command or system call is guaranteed to delay for a fixed time, set by its argument. Measure the data rate on an idle system. Then create an artificially heavy load by starting up numerous different process and measure the data rate again.
The idea of this problem is to have a program (or a process) send a message of bits to another process via a covert channel, where the channel involves the permission bits of a file. Even though the two processes do not share the file, one process can change the permission bits of the file and the other can observe the permission bits. You will want to interleave the actions of the two processes so the first (sender) process goes first; it sends a bit by changing (or not) the permission bits of a file. Then it goes to sleep. The receiving process goes second and checks the permission bits of the same file and prints the bit it believes it has been sent. Then the first process goes again and so on. Assume the first process wants to send a bit string of length 5 it reads in from the terminal.
Play with the sleep times to see if you can make the channel unreliable or totally reliable.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
