Сотрудник компании Oracle, Вегард Носсум (Vegard Nossum), в рассылке разработчиков ядра Linux предложил
отслеживать попытки применения известных эксплоитов. Поскольку разные
ядра Linux имеют разные уязвимости, то атакующий скорее всего попытается
применить разные эксплоиты перед тем, как атака увенчается успехом.
Подобную активность можно использовать для организации системы раннего
оповещения о попытках эксплуатации уязвимостей в ядре. В частности,
появление в логе данных о применении эксплоитов может говорить о том,
что атакующие уже получили доступ к системе на уровне
непривилегированного пользователя, например, через взлом web-приложения
или кражу пароля.
При исправлении уязвимостей обычно добавляются дополнительные
проверки валидности поступающих из пространства пользователя входных
данных (например, проверяется выход за пределы массива). Суть
предложенного метода сводится к расширению действий при срабатывании
проверок, связанных с устраненными уязвимостями. Кроме вывода кода
ошибки предлагается формировать специальное уведомление для
администратора системы (например, фиксировать в логе факт передачи
неверных параметров системному вызову, в котором ранее была выявленная
связанная с данными параметрами уязвимость).
Вегард Носсум не ограничился теоретическими рассуждениями и
представил публике достаточно объёмный патч, добавляющий контрольные
уведомления для серьёзных уязвимостей, позволяющих получить права
суперпользователя. Для избежания замусоривания кода ядра уведомлениями
об устаревших проблемах, предлагается поддерживать только аннотации для
уязвимостей, выявленных за последние пять лет. Накладные расходы от
использования нового механизма проверки минимальны, а результат работы
отражается только в логе, поэтому механизм выявления фактов применения
эксплоитов рекомендуется включить по умолчанию. |