The OpenNET Project / Index page

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

29.04.2016 21:11  Проект grsecurity представил защиту от атак с использованием заимствования кусков кода

Проект grsecurity, в рамках которого развивается серия надстроек для усиления безопасности ядра Linux, сообщил о важной вехе в своём развитии - в набор патчей grsecurity включён механизм защиты RAP, позволяющий блокировать работу эксплоитов, основанных на технике заимствования кусков кода. RAP реализован в форме плагина к GCC и распространяется под лицензией GPLv3. Блокирование атак обеспечивается благодаря применению двух механизмов: контроля возврата в точку вызова функции и определения какие функции могут быть вызваны из данного места и куда может быть возвращено управление.

Данная техника атак используется для организации выполнения кода атакующего при переполнении буфера в условиях, когда в страницах памяти стека и буфера установлен запрет на исполнение кода. Суть метода в применении для построения логики выполнения shell-кода возвратно-ориентированного программирования (ROP), оперирующего уже имеющимися в библиотеках кусками машинных инструкций, завершающихся инструкцией возврата управления, как правило, это окончания библиотечных функций. Работа эксплоита сводится к построению цепочки вызовов подобных блоков ("гаджетов") для получения нужной функциональности. В том числе через вызов гаджетов организуется работа условных операторов и циклов. Для автоматизации выявления гаджетов применяются специальные инструменты.

Ранее предлагаемые способы защиты от атак с использованием методов возвратно-ориентированного программирования, как правило, основывались на рандомизации адреса загрузки библиотеки, который при технике ASLR меняется при каждом запуске программы. Слабая сторона такого способа в том, что атакующий может подобрать точку входа в библиотеку (определить адрес известной функции) и вычислить смещение для вызова используемых в эксплоите гаджетов, относительная позиция которых в библиотеке сохраняется. Для нарушения вычисленных атакующим смещений гаджетов предлагаются методы перемешивания всех функций системной библиотеки, но они достаточно ресурсоёмки, что мешает их практическому внедрению. Разработчики OpenBSD попытались найти компромисс и предложили выполнять перекомпоновку системной библиотеки на этапе загрузки системы.

Подход RAP (Return Address Protection), предлагаемый в grsecurity, позволяет достаточно надёжно блокировать атаки на основе заимствования кусков кода и при этом оказывает минимальное влияние на производительность. Суть метода в организации проверки адресов, по которым производится возврат из функций. Для проверки используется проверочный ключ (RAP cookie), который сохраняется в резервном регистре (r12). Ключ вычисляется сразу после сохранения в стек адреса возврата и проверяется перед осуществлением выхода из функции. Если в момент выхода сохранённый и вычисленный ключи не совпадают, то переход на код функции был произведён не на начало функции.

Вторая часть защиты основана на идее категоризации функций по типам и определении допустимых мест, где могут применяться данные типы. При сборке приложения RAP формирует хэши, идентифицирующие используемые в программе функции, их параметры и тип возвращаемого значения. В процессе работы хэши проверяются на этапе косвенного вызова функции или выхода из функции.

Дополнение 1: В экспериментальной ветке grsecurity устранена DoS-уязвимость, позволяющая инициировать крах ядра при вставке слишком длинной строки в эмулятор терминала (например, "script /dev/null ‹ /dev/zero"). В связи с этой уязвимостью разгорелся не совсем понятный конфликт - с одной стороны сведения о проблеме были адекватно приняты в форуме grsecurity и был сразу выпущен патч, но, с другой стороны, опубликованная на следующий день демонстрация простейшего метода эксплуатации проблемы в Twitter привела к блокировке анонсировавшего проблему пользователя и авторов ретвитов, а также к ограничению публичного доступа к каналу @grsecurity. Мотивы удаления пока не ясны, возможно это была реакция на волну троллинга и попытки дискредитации проекта.

Дополнение 2: Опубликован FAQ с подробным описанием принципов работы RAP и особенностей реализации.

  1. Главная ссылка к новости (https://grsecurity.net/rap_ann...)
  2. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
  3. OpenNews: Началось тестирование ОС Subgraph, использующей контейнерную изоляцию приложений на десктопе
  4. OpenNews: Проект grsecurity ограничивает доступ к стабильным веткам
  5. OpenNews: Разработчики OpenBSD подготовили для libc механизм защиты anti-ROP
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: grsecurity, pax, rap
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, chinarulezzz (ok), 22:11, 29/04/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +15 +/
    https://twitter.com/marcan42/status/724745886794833920
     
     
  • 2.2, Аноним (-), 22:34, 29/04/2016 [^] [ответить]    [к модератору]
  • +2 +/
    Эй! OPENNET! Что за игнорирование такой интересной новости?!
     
     
  • 3.6, grsec_user (?), 22:42, 29/04/2016 [^] [ответить]    [к модератору]
  • +7 +/
    > Команда Grsecurity приняла информацию к сведению и… забанила Мартина в твиттере и на
    > сайте по IP-адресу. Разработчики также пообещали устранить проблему в следующем релизе,
    > попутно оскорбив исследователя: «Надлежащее исправление (то есть не твое, мистер Капитан
    > Очевидность На Белом Коне) выйдет вместе со следующим патчем, удачно тебе его скачать».

    (https://xakep.ru/2016/04/28/grsecurity-ban/)

    Просто прекрасно же!

     
     
  • 4.11, Аноним (-), 00:47, 30/04/2016 [^] [ответить]     [к модератору]
  • +1 +/
    Адекватность и взрослое поведение изо всех щелей ... весь текст скрыт [показать]
     
     
  • 5.36, Аноним (-), 23:21, 30/04/2016 [^] [ответить]     [к модератору]  
  • +/
    А когда исследователь, обнаруживший идиотский код постебался насчет бана по IP ... весь текст скрыт [показать]
     
     
  • 6.57, АнонимВездесущий (?), 16:44, 02/05/2016 [^] [ответить]    [к модератору]  
  • +/
    а не мог ли всё это устроить (дыру и баны) один/несколько человек в тайне от остальных участников Grsecurity, например?
     
  • 6.58, АнонимВездесущий (?), 16:46, 02/05/2016 [^] [ответить]    [к модератору]  
  • +/
    саботаж, всепроникающий m$ с гугелем, заговор мирового правительства, и всё такое...
     
  • 4.14, Аноним (-), 08:26, 30/04/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    На xakep.ru копипаст без ссылки на первоисточник.
    Оригинал статьи http://www.theregister.co.uk/2016/04/27/linux_security_bug_report_row/
     
     
  • 5.17, Аноним (-), 11:57, 30/04/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    не копипаст, а перевод. человекочитаемый перевод требует трудозатрат.
     
     
  • 6.46, Аноним (-), 20:15, 01/05/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    Вставление ссылки на оригинал требует трудозатрат?
     
  • 2.7, Crazy Alex (ok), 23:13, 29/04/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    Вот это полностью характеризует grsecurity. Защищаясь чёрт знает от чего, оставляют совершенно реальные дыры.

    Вот прав был Линус насчёт "борцов за безопасность"...

     
     
  • 3.10, Аноним (-), 00:16, 30/04/2016 [^] [ответить]    [к модератору]  
  • +/
    Таки да, security circus как он есть.
     
  • 3.34, Аноним (-), 22:58, 30/04/2016 [^] [ответить]    [к модератору]  
  • +/
    Однако. Тролли помогли grsec'ам самодискредитироваться.
     
     
  • 4.47, Аноним (-), 20:25, 01/05/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    Дорогой ребенок, ты хоть сначала термины загугли, перед тем как писать откровени... весь текст скрыт [показать]
     
  • 1.3, Аноним (-), 22:37, 29/04/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –16 +/
    Молодцы. Активно пользуюсь их системой защиты.
     
     
  • 2.18, Аноним (-), 11:58, 30/04/2016 [^] [ответить]    [к модератору]  
  • +7 +/
    а как будете банить тех, кто минусов комменту наставил?
     
  • 1.8, Crazy Alex (ok), 23:14, 29/04/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    То есть они на эту хрень (необходимость которой вообще под вопросом) хотят угробить целый регистр. Чудесное решение, ничего не скажешь.
     
     
  • 2.9, Аноним (-), 23:22, 29/04/2016 [^] [ответить]    [к модератору]  
  • +/
    А что ты можешь сказать про сам регистр?
     
     
  • 3.13, Crazy Alex (ok), 01:25, 30/04/2016 [^] [ответить]    [к модератору]  
  • +/
    А что про него говорить? РОН как РОН, на amd64 во всяком случае
     
     
  • 4.15, Владимир (??), 08:59, 30/04/2016 [^] [ответить]    [к модератору]  
  • +/
    Вы правы, всем POH.
     
     
  • 5.20, Аноним (-), 13:09, 30/04/2016 [^] [ответить]    [к модератору]  
  • +/
    Мне - нет.
     
  • 1.12, Аноним (-), 01:24, 30/04/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +5 +/
    А что вы хотели они же недавно стали почти коммерческой организацией, платный до... весь текст скрыт [показать]
     
     
  • 2.19, Аноним (-), 12:01, 30/04/2016 [^] [ответить]    [к модератору]  
  • +/
    в южном парке был выразительный эксперимент на обезъяне, которой дали охапку баксов.
     
  • 1.16, Аноним (-), 10:58, 30/04/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    grsecurity слился, они за деньги продают патчи.
     
     
  • 2.22, Вареник (?), 19:06, 30/04/2016 [^] [ответить]    [к модератору]  
  • +/
    И чем они отличаются от продающих эксплоиты или прочий опиум для народа? :)
     
  • 2.41, петушок (?), 13:17, 01/05/2016 [^] [ответить]     [к модератору]  
  • +/
    А какие есть альтернативы Интересно, что в Astra Linux тоже используют эти патч... весь текст скрыт [показать]
     
  • 2.45, Аноним (-), 19:52, 01/05/2016 [^] [ответить]     [к модератору]  
  • +/
    Какие плохие люди, хотят денег за свою работу мне тоже не нравится их поведени... весь текст скрыт [показать]
     
     
  • 3.48, Аноним (-), 20:38, 01/05/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    В твитере про это ни слова, поэтому твой каммент мимо Мой маленький друг, это ... весь текст скрыт [показать]
     
     
  • 4.52, Аноним (-), 02:44, 02/05/2016 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Мой огромный друк, вам бы читать внимательнее то, на что... весь текст скрыт [показать]
     
  • 1.21, Аноним (-), 15:21, 30/04/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    А почему новость о технологиях одного и того же направления и сравнимого результ... весь текст скрыт [показать]
     
     
  • 2.23, Вареник (?), 19:07, 30/04/2016 [^] [ответить]     [к модератору]  
  • +/
    1 OpenBSD некоммерческий 2 У OpenBSD нет PR-службы ... весь текст скрыт [показать]
     
  • 2.24, Аноним (-), 19:33, 30/04/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Потому что в Grsecurity более серьёзная защита, а в OpenBSD - вариант ASLR.
     
     
  • 3.25, anonymous (??), 19:52, 30/04/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    >Потому что в Grsecurity более серьёзная защита

    Прибитая гвоздями к x86, да еще и замедляющая работу приложений

     
     
  • 4.26, Аноним (-), 20:35, 30/04/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Очень аргументированное мнение Во-первых, к x86_64 в текущей версии патчей, ... весь текст скрыт [показать]
     
     
  • 5.27, Аноним (-), 21:02, 30/04/2016 [^] [ответить]    [к модератору]  
  • +/
    Уже не кому не нужно, закрытая реализация костыля.
    Торвальдс реализует открытую и без понтов.
     
     
  • 6.31, Аноним (-), 22:27, 30/04/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Ничего закрытого. Не надо тут писать то, что прочитал на заборе.
     
     
  • 7.37, Аноним (-), 23:27, 30/04/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    > Ничего закрытого. Не надо тут писать то, что прочитал на заборе.

    Идея банить исследователя за то что он, цуко, бажный код таки изволил прочитать - это финиш. Толку с такой "открытости"?

     
     
  • 8.38, Аноним (-), 00:20, 01/05/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    > закрытая реализация костыля.
    > Толку с такой "открытости"?

    Что сказать хочешь?

     
     
  • 9.39, Аноним (-), 02:32, 01/05/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    Что возможность уронить всю систему для непривилегированного пользователя - не о... весь текст скрыт [показать]
     
     
  • 10.40, Аноним (-), 09:04, 01/05/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    Точно такой баг , но c int вместо size_t, был и есть в оригинальном коде ядра в... весь текст скрыт [показать]
     
     
  • 11.42, Аноним (-), 18:05, 01/05/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Оригинальный код не падает от копипаста в терминал Там хак , но работает Почи... весь текст скрыт [показать]
     
     
  • 12.50, Аноним (-), 20:42, 01/05/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    Вы понимаете, что на каждый такой про б приходится несколько обезвреженных или... весь текст скрыт [показать]
     
  • 11.49, Аноним (-), 20:40, 01/05/2016 [^] [ответить]    [к модератору]  
  • +/
    > годами пользовался совершенно бесплатно.

    Там выше ребенок утверждал что не бесплатно. Кто из вас врёт?

     
     
  • 12.55, Аноним (-), 09:21, 02/05/2016 [^] [ответить]    [к модератору]  
  • –2 +/
    Стабильная ветка бесплатна по сей день. Стабильная ветка LTS платна с начала прошлой осени. Есть коммерческая поддержка.

     
  • 6.32, Аноним (-), 22:28, 30/04/2016 [^] [ответить]    [к модератору]  
  • –2 +/
    Никогда он ничего подобного не реализует.
     
  • 3.44, Аноним (-), 19:47, 01/05/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Аргументируйте, пожалуйста, почему 171 более серьёзная 187 И почему связанн... весь текст скрыт [показать]
     
     
  • 4.51, Аноним (-), 21:13, 01/05/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Попробуйте самостоятельно разобраться Ссылка на слайды к презентации по RAP ест... весь текст скрыт [показать]
     
     
  • 5.53, Аноним (-), 02:49, 02/05/2016 [^] [ответить]     [к модератору]  
  • +/
    Я хочу услышать ваши аргументы, так как утверждение высказано именно вами, и раз... весь текст скрыт [показать]
     
     
  • 6.54, Аноним (-), 04:20, 02/05/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    А я со своей стороны не хочу вступать в спор с человеком, который спрашивает об очевидных, на мой взгляд, вещах, но при этом не проявляет заинтересованности по существу вопроса.
     
     
  • 7.59, Аноним (-), 01:23, 03/05/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Я не так давно нашёл, например, небольшую ошибку в OpenBSD-ом коде по этой части... весь текст скрыт [показать]
     
  • 2.28, Аноним (-), 21:23, 30/04/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    > — мини-новость? Потому что в OpenBSD размер патча для решения задачи
    > на порядок меньше?

    В OpenBSD не решение, а костыль, и оно ещё только предложено, а не включено в состав системы.

     
     
  • 3.35, Аноним (-), 23:02, 30/04/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    > В OpenBSD не решение, а костыль, и оно ещё только предложено, а
    > не включено в состав системы.

    Сабж тоже внешний костыль, не включенный в состав системы.

     
  • 3.43, Аноним (-), 19:44, 01/05/2016 [^] [ответить]     [к модератору]  
  • +/
    Уже включено А вот соответствующий патч от grsecurity в mainline что-то не видн... весь текст скрыт [показать]
     
  • 1.29, Аноним (-), 21:42, 30/04/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    спасибо за статью. добавил grsecurity в спам лист как распостранителей малвари.
     
  • 1.33, Аноним (-), 22:30, 30/04/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    https://grsecurity.net/rap_faq.php
     
  • 1.56, Аноним (-), 09:43, 02/05/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • –2 +/
    Отличная новость от очень хорошего проекта Спасибо команде Grsecurity PAX за ... весь текст скрыт [показать]
     
     
  • 2.60, Led (ok), 00:13, 04/05/2016 [^] [ответить]    [к модератору]  
  • +/
    > Отличная новость от очень хорошего проекта.
    > Спасибо команде Grsecurity & PAX за их труд!

    А за мир и май? забыл?

     
  • 1.61, IZh. (?), 09:49, 05/05/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Идея хорошая, и реализация, возможно, неплохая. Плохо, что за деньги и закрытое.

    Вдвойне плохо тем, что, если, например, делаешь свой дистрибутив с такой защитой, то пользователи не смогут скомпилировать свои пакеты, так как тулчейн закрытый, и выкладывать его нельзя.

     
     
  • 2.62, Аноним (-), 13:23, 06/05/2016 [^] [ответить]     [к модератору]  
  • +/
    В контексте grsecurity закрыты только grsec-патчи для ядер LTS-веток и дополни... весь текст скрыт [показать]
     
  • 1.63, Аноним (-), 17:17, 06/05/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    и реализация ASLR и типизации и доменификации доступа/активности - там довольно наивно реализовано, поэтом гротэскно смотрятся попытки - это еще и продать.
     

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


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