MVX-systemen versnellen met moderne besturingssysteemextensies

Student:Lennert Franssens
Richting:Master of Science in de industriƫle wetenschappen: informatica
Abstract:Multi Variant Execution (MVX) systemen bieden een techniek voor het detecteren van veiligheidsproblemen met betrekking tot geheugencorruptie in software. Traditionele MVX-systemen zijn zeer veilig, maar werken relatief langzaam. Relaxed Monitoring (ReMon) is een ontwerp dat de uitvoering van MVX-systemen effectief versnelt. Een kernel-patch werd gebruikt om dat ontwerp te implementeren. Veel mensen geven er de voorkeur aan om geen kernelpatch op hun systeem toe te passen. Dat vermindert het gebruik van ReMon. In dit proefschrift onderzoeken we of het gebruik van een kernelpatch bij de implementatie van het ReMon-ontwerp kan worden vervangen door moderne OS-extensies. Om de kernelpatch te vervangen maken we gebruik van seccomp-BPF filters. We passen het ontwerp aan en implementeren het. Door snelheidsmetingen te doen zien we een duidelijk potentieel voor het gebruik van het nieuw ontwerp. Verder onderzoek kan gedaan worden naar het verder uitdiepen van de ondersteunde functies en de daarbij horende veiligheid. Er kan ook nog verder onderzoek gedaan worden naar het gecombineerd gebruik van de nieuwe implementatie van ReMon met door ReMon te analyseren software dat ook gebruik maakt van de nieuwe seccomp-BPF technologie.
Abstract (Eng):Multi Variant Execution (MVX) systems provide a technique for detecting security problems related to memory corruption in software. Traditional MVX systems are very secure but work relatively slowly. Relaxed Monitoring (ReMon) is a design that effectively speeds up the execution of MVX systems. A kernel patch was used to implement that design. Many people prefer not to apply a kernel patch to their system. This reduces the use of ReMon. In this dissertation we investigate whether the use of a kernel patch in the implementation of the ReMon design can be replaced by modern OS extensions. We will demonstrate that we can create a new design to replace the kernel patch. The preliminary implementation has potential to achieve similar speeds to the original implementation after further expansion.