Multi-Variante Uitvoeringsomgevingen (MVUOs) zijn een veelbelovende techniek om software te beveiligen tegen kwetsbaarheden en aanvallen daarop. MVUOs voeren meerdere varianten van hetzelfde programma gelijktijdig uit zonder dat de gebruiker dit merkt. Een monitor zorgt ervoor dat deze varianten dezelfde invoer krijgen en vergelijkt het gedrag van de varianten gedurende hun hele uitvoering. Alle gekende aanvallen slagen hoogstens op één van de varianten. Het gedrag van de varianten divergeert daarom bij een aanval. De monitor zal dit detecteren, en de aanval tegen houden.
MVUOs worden in de praktijk nog niet gebruikt omdat ze te traag zijn, geen realistische programma's ondersteunen, of geen sterke beveiliging bieden. In dit proefschrift worden technieken voorgesteld die voorgenoemde problemen verhelpen.
Concreet worden eerst technieken voorgesteld om de ondersteuning voor gediversifieerde programma's te verbeteren, om het uitvoeren van meerdradige programma's mogelijk te maken, en om sterke beveiliging te bieden tegen aanvallen met codehergebruik. Tenslotte wordt ook een nieuw en efficiënt ontwerp voorgesteld voor een MVUO die serverapplicaties met minimale vertraging kan uitvoeren. | |