Timing channels constitute one form of covert channels through which programs may be leaking information about the confidential data they manipulate. Such timing channels are typically eliminated by design, employing ad-hoc techniques to avoid information leaks through execution time, or by program transformation techniques, that transform programs that satisfy some form of non-interference property into programs that are time-sensitive termination-sensitive non-interfering. However, existing program transformations are thus far confined to simple languages without objects nor exceptions. We introduce a program transformation that uses transaction mechanisms to prevent timing leaks in sequential object-oriented programs. Under some strong but reasonable hypotheses, the transformation preserves the semantics of programs and yields for every termination-sensitive non-interfering program a time-sensitive termination-sensitive non-interfering program.
Barthe et al. REF introduce a transaction-based program transformation method for elimination of timing leaks in sequential object-oriented programs with exceptions.
Preventing Timing Leaks Through Transactional Branching Instructions
Electron. Notes Theor. Comput. Sci.
Electron. Notes Theor. Comput. Sci.
Computer Science