A framework to log and manipulate inter-process communications

Student: Not assigned yet
Owner: Cristiano Giuffrida giuffrida@cs.vu.nl
SVN branch name: N/A

Description

Minix3 OS design revolves around a micro-kernel and several servers running as isolated, user-space processes, which implement all the OS critical subsystems (e.g., the process manager, the system manager, the virtual file system) and drivers. As in every micro-kernel based OS all the communications among OS' components are encapsulated and carried out as IPC messages. This design completely differs from monolithic OS where the kernel and all its componentsa share a common address space and any component can potentially invoke any kernel function.

Being able to observe–and possibly interact with–the IPC-based communications opens up interesting research directions. For instance, one can observe the behavior of every OS component and their interactions to enforce arbitrary security policies. In a similar way, intercepting IPC messages can allow for the creation of fault injection approaches that assess the resiliency of the various OS components to faults.

The goal of this IPA project is thus to implement an IPC proxy that is able to intercept all the IPC messages exchanged in the system. Once this is done, the project can be forked in the following, non-exhaustive, directions:

These are just some of the possible application that can take advantage of an IPC proxy, but more development can be discussed together with the possibility to turn the project into one or more M.Sc. theses.