The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

13.06.2017 09:31  Для OpenBSD представлена новая техника рандомизации адресного пространства ядра

Тео де Раадт (Theo de Raadt) представил новую технику рандомизации адресного пространства ядра KARL (Kernel Address Randomized Link), нацеленную на усиления защиты от атак, связанных с манипуляцией структурами и кодом ядра. KARL вводит в обиход новую модель отражения страниц памяти (mapping), при которой все относительные указатели между функциями и данными ядра никогда не повторяются между перезагрузками системы.

В отличие от классической техники рандомизации памяти, которая затрагивает только операции распределения памяти, новая техника позволяет изменить первичную раскладку виртуального адресного пространства ядра. Метод достаточно прост в реализации и не требует переработки подсистем ядра - при каждой перезагрузке системы предлагается выполнять операцию перекомпоновки ядра, формируя исполняемый файл ядра на основе подключения объектных модулей и runtime-компонентов в случайном порядке. Таким образом, при каждой перезагрузке формируется уникальный экземпляр ядра, раскладка структур в котором заранее неизвестна.

Компоновка осуществляется из rc-скриптов и замедляет загрузку примерно на секунду. При каждой загрузке генерируется ядро для следующей загрузки. Единственным повторяющимся известным адресом в подобных ядрах является точка активации кода начального запуска (bootstrap), поэтому для защиты от манипуляции с ним после завершения инициализации ядра выполнение bootstrap-кода блокируется через установку TRAP или выполнение unmap, в зависимости от используемой архитектуры.

  1. Главная ссылка к новости (http://undeadly.org/cgi?action...)
  2. OpenNews: OpenBSD развивает Pledge, новый механизм изоляции приложений
  3. OpenNews: Выпуск OpenBSD 6.1
  4. OpenNews: Разработчики OpenBSD подготовили для libc механизм защиты anti-ROP
  5. OpenNews: В OpenBSD включена по умолчанию система виртуализации VMM
  6. OpenNews: Проект OpenBSD перешёл на обязательное использование механизма защиты W^X
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: openbsd
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, слакварявод (ok), 09:52, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]
  • +27 +/
    никогда не повторяются, Карл!!! :-O
     
  • 1.2, Аноним (-), 10:00, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]
  • –3 +/
    Они забывают о том, что серверы перезагружают только когда нужно обновить ядро, т.е. и без всех этих манипуляций ядро каждый раз разное грузится.
     
     
  • 2.4, Sen (?), 10:33, 13/06/2017 [^] [ответить]    [к модератору]
  • +2 +/
    ты забываешь что при одной загрузке у всех абсолютно разные компоновки получаются... зачем перегружать постоянно? мыслишь прямолинейно?
     
  • 2.7, marios (ok), 11:03, 13/06/2017 [^] [ответить]    [к модератору]
  • –2 +/
    Но на 2 серверах с одной версией OpenBSD одинаковое ядро же.
     
  • 1.3, Аноним (-), 10:00, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]
  • +5 +/
    Из темы новости заинтересовался о неизвестной мне технике рандомизации ядра, а оказалась рандомизация адресного пространства ядра.
    Кликбейт дeтектeд!!1!
     
     
  • 2.17, irinat (ok), 13:46, 13/06/2017 [^] [ответить]    [к модератору]  
  • +5 +/
    Ещё нужно рандомизировать номера системных вызовов, а бинарники перегенерировать при загрузке системы. И код бинарников шифровать, расшифровывая в ядре при загрузке исполняемых объектов в память.
     
     
  • 3.36, Аноним (-), 03:25, 14/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Лютый бред, неуместные техники рандомизации
     
  • 1.5, Нанобот (ok), 10:33, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >Таким образом, при каждой перезагрузке формируется уникальный экземпляр ядра, раскладка структур в котором заранее неизвестна

    а не будет потом такого, что в зависимости от фазы луны ядро будет лучше или хуже помещаться в кеши процессора и после некоторых перезагрузок жутко тормозить или летать как ужаленое?

     
     
  • 2.6, Аноним (-), 10:39, 13/06/2017 [^] [ответить]    [к модератору]  
  • +/
    собственно товарищи из gr sec это именно и делают - в результате чуть что пересобирается все ядро.
     
  • 2.31, Аноним (-), 20:45, 13/06/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Во-первых, вы, случайно, не путаете кеши данных и инструкций Во-вторых, компиля... весь текст скрыт [показать]
     
  • 1.8, Аноним (-), 11:12, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    OpenBSD даже перегружают на проде больше раза в жизни?
     
  • 1.9, Аноним (-), 11:16, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Контейнеры?
     
  • 1.10, лютый жабист__ (?), 11:45, 13/06/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • –3 +/
    глюки тоже каждый раз разные компьютерный мир катится в АД не остаётся ничего ... весь текст скрыт [показать]
     
     
  • 2.19, Аноним (-), 13:53, 13/06/2017 [^] [ответить]    [к модератору]  
  • +4 +/
    Ты давно ничего руками не делал. Везде всё одинаково: туева куча мелочей и любая ошибка приводит к неработоспособности всего изделия.
     
  • 2.25, Аноним (-), 15:57, 13/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Реальный мир намного сложнее и непредсказуемее, его ведь не инженеры проектировали.
     
     
  • 3.28, F (?), 17:10, 13/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    > его ведь не инженеры проектировали.

    К счастью, что не инженеры.

     
     
  • 4.34, Аноним (-), 23:13, 13/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Его вообще никто не проектировал, вот в чём фигня.
     
     
  • 5.44, Аноним (-), 18:35, 14/06/2017 [^] [ответить]    [к модератору]  
  • +/
    > Его вообще никто не проектировал, вот в чём фигня.

    Архитектор вам прямо так и сказал? ;)

     
  • 3.37, лютый жабист__ (?), 05:41, 14/06/2017 [^] [ответить]     [к модератору]  
  • –3 +/
    Непредсказуемее В реальном мире всё предопределено на 100 , никаких багов, КАР... весь текст скрыт [показать]
     
     
  • 4.41, Аноним (-), 13:50, 14/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Не осилили, видимо, из-за её простоты?
     
     
  • 5.48, лютый жабист__ (?), 11:22, 15/06/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Если это на фразу Квантовая физика не в счёт, человеки ещё просто не осилили пр... весь текст скрыт [показать]
     
  • 4.43, Аноним (-), 14:56, 14/06/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    На самом деле после Большого Песца и Экстерминатуса наша реальность являет плане... весь текст скрыт [показать]
     
     
  • 5.46, arrnorets (ok), 00:11, 15/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Отсыпешь, а ... весь текст скрыт [показать]
     
     
  • 6.50, Аноним (-), 18:50, 15/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Для вас живое воображение всегда является плодом приема веществ o_O Яснопонят... весь текст скрыт [показать]
     
  • 2.30, DmA (??), 17:29, 13/06/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    зайди в травматологию или посмотри фото с ДТП и у тебя будет много восклицаний ... весь текст скрыт [показать]
     
  • 2.32, Аноним (-), 20:49, 13/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Вы вообще много глюков ожидаете от перемены мест объектных файлов при вызове ком... весь текст скрыт [показать]
     
  • 2.33, Led (ok), 22:33, 13/06/2017 [^] [ответить]    [к модератору]  
  • +/
    > не остаётся ничего простого и надёжного. разительный контраст с реальным миром, где всё
    > предельно просто :(

    Когда ламобыдлoкoдeр говорит о "реальном мире" - это всегда смешно.

     
  • 1.11, Нониус (?), 11:52, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Как много усилий борьбы со следствием и как мало с причиной.
    Да хоть двести способов придумайте, один черт.
     
     
  • 2.22, nuclight (??), 15:29, 13/06/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Предложите для борьбы с причиной, или хоть назовите её.
     
     
  • 3.27, Аноним (-), 15:59, 13/06/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    Ща он скажет, что причина 8212 C, и надо срочно переписать все ОСи на rust И... весь текст скрыт [показать]
     
  • 2.26, Аноним (-), 15:58, 13/06/2017 [^] [ответить]    [к модератору]  
  • +/
    С причинами в openbsd тоже борются весьма активно. Но поскольку нет в мире совершенства, и такие вещи весьма полезны.
     
  • 2.29, Нанобот (ok), 17:20, 13/06/2017 [^] [ответить]    [к модератору]  
  • +/
    причиной являются люди, они совершают ошибки, когда пишут программы.
    борьба с людьми является уголовно наказуемой в большинстве стран, что серьёзно ограничивает область применения этой вашей 'борьбы с причиной'
     
  • 2.40, Аноним (-), 08:44, 14/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Плюсую. Когда рутанут, то никакая рандомизация нафиг не нужна. А способов рутануть 100500.
     
     
  • 3.42, Аноним (-), 13:52, 14/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Ты правда такой тyпой? Эта штука нужна для того, чтобы сделать невозможной нехилую часть способов "рутануть" систему.
     
  • 1.12, Аноним (-), 12:02, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    А как быть если не перегружать? Взломают мой калькулятор?
     
     
  • 2.15, Аноним (-), 12:24, 13/06/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    Да. Потому что ты тормоз и ничего не понял.
     
  • 2.47, Аноним (-), 02:08, 15/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Да, надо бы добавить периодическую перезагрузку с рандомизацией адресов каждого модуля и функции ядра без перезагрузки ядра.
     
  • 1.14, Аноним (-), 12:16, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Тео параноик.
     
     
  • 2.18, Аноним (-), 13:50, 13/06/2017 [^] [ответить]    [к модератору]  
  • +8 +/
    За это его и любят 8)
     
  • 1.16, Аноним (-), 12:28, 13/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Кому-то не помешал бы системдэ "для ускорения перезагрузки"
     
     
  • 2.20, Аноним (-), 14:57, 13/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    live patch reload, перегружать ядро не нужно.
     
     
  • 3.38, Аноним (-), 07:27, 14/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Этот твой лив патч перемешает ядро в памяти по случайным адресам?
     
  • 2.21, Аноним (-), 15:07, 13/06/2017 [^] [ответить]     [к модератору]  
  • +5 +/
    И чтобы любой систему подвесить мог, отправив пустое сообщение на сокет Или пол... весь текст скрыт [показать]
     
     
  • 3.39, Аноним (-), 07:32, 14/06/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Ты просто ретроград, пишущий шестисотмегабайтные скрипты на баше Марш в дворник... весь текст скрыт [показать]
     
  • 2.49, Аноним (-), 16:08, 15/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Runit лучше
     
  • 1.45, Аноним (-), 23:58, 14/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > рандомизации адресного пространства
    > никогда не повторяются

    Не повторяющиеся числа менее случайны, чем числа без ограничения на повторение.

     
  • 1.51, anomymous (?), 22:01, 19/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    TRAP, KARL!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor