Abstract
Time and again data privacy and computer security are severely threatened
by software vulnerabilities. With more and more computing devices getting
network connectivity, the exploitation of vulnerable programs by remote
users has become a ubiquitous issue. While tremendous effort is carried
out to counter software exploitation, no single approach developed so far
has been able to satisfactorily provide solid security along with
efficient performance. Taint analysis, which is one of the approaches to
track information flow to counter program exploits, has shown promise. In
this thesis work, we propose a novel implementation of fine-grained
dynamic vulnerability detection by parallelizing the actual computation
and taint computation and tapping the power of idle cores on multicore
machines to mitigate performance overheads. We propose a paradigm of
secure and efficient computing using many cores and use binary rewriting
to empower a program with parallelized taint monitoring capability. The
challenge lies in minimizing the thread synchronization. We demonstrate
the effectiveness of our approach in protecting against various attacks
while offering an order of magnitude performance improvement compared to
state of the art approaches.
|