Усиление окружения L4Re

Микроядерные Операционные Системы позиционируются как ОС высокой степени защищенности за счет жесткой изоляции компонентов, минимального размера Trusted Computing Base и исполнению драйверов в депривилегированном режиме. В то же время, такие системы уязвимы к атакам использующих переполнение стека, поскольку эти атаки эксплуатируют аппаратные особенности платформы, такие как общее пространство данных и кода программ, а не программные. Монолитно-модульные системы, такие как Linux, содержат в себе механизмы защиты компонент системы от подобных атак, в частности механизмы защиты стека от перезаписи с последующим исполнением.

Проект посвящен усилению микроядерного окружения L4Re и разработке новых фреймверков противодействующим атакам на стек и возвратно-ориентированному (return-oriented) программированию.

Проект реализуется в несколько этапов. На текущем этапе реализована поддержка неисполнимой памяти за счет использования NX бита архитектур AMD64 и ARM.