В OpenBSD появилась крутая фича KARL

В тестовой ветке OpenBSD запилена фича под названием KARL — Kernel Address Randomized Link. По мнению специалистов по разработке операционных систем, KARL не имеет аналогов и даже в Linux его нет.

KARL — рэндомизация адресов компонентов ядра

Идея проста и вместе с тем эффективна: каждый раз, когда пользователь перезагружает систему, компоненты ядра собираются в свой BLOB случайным образом. На пересборку уходит дополнительная секунда времени загрузки, зато каждая функция ядра имеет уникальный адрес в памяти. А это значит, что в случае нахождения дыры в ядре невозможно будет сделать эксплоит, который одинаково хорошо сработает сразу на всех компьютерах с данной версией OpenBSD. Другим словами, никаких больше червей и эпидемий! Хотя под OpenBSD их и без KARL не было много.

Аналогов, как говорилось выше, нет, но есть похожие технологии, которые не дотягивают до Карла по степени защиты.

ASLR

ASLR — Address Space Layout Randomization. Это когда рэндимизируется адресное пространство прикладных программ. Довольно хорошо защищает от эксплуатаций уязвимостей в прикладном софте.

KASLR

KASLR — Kernel Address Space Layout Randomization. То же самое, что и ASLR, но для ядра Linux. Начальный адрес загрузки ядра каждый раз разный, что усложняет написание эксплоитов, которые могли бы работать на большом количестве компьютеров.

Защита OpenBSD vs Linux

KARL vs KASLR. Карл, конечно, вне конкуренции, так как теоретически смещение ядра в памяти можно вычислить или подобрать, тогда как адрес каждой функции угадывать замучатся любой зловред.
field_vote: 
Ваша оценка: Нет Средняя: 3.8 (23 оценки)
Дистрибутивы: 

Комментарии

Где-то читал, что начиная с ядра Linux версии 4.12 режим KASLR будет включен по умолчанию. На 32-разрядных машинах, где режим рандомизации конфликтует с режимом гибернации, по умолчанию будет включен KASLR. То есть тем, кому нужен режим гибернации на 32битных машинах, придется отключать KASLR самим.

Будем надеяться KARL станет следующим шагом и для Linux. Рандомизация адресов функций — это просто убойно.

Оценка: 
Средняя: 5 (2 оценки)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.