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, 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 [^] [ответить] [смотреть все]  
  • +/
    а не мог ли всё это устроить дыру и баны один несколько человек в тайне от ост... весь текст скрыт [показать]
     
  • 6.58, АнонимВездесущий, 16:46, 02/05/2016 [^] [ответить] [смотреть все]  
  • +/
    саботаж, всепроникающий m с гугелем, заговор мирового правительства, и всё тако... весь текст скрыт [показать]
     
  • 4.14, Аноним, 08:26, 30/04/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    На xakep ru копипаст без ссылки на первоисточник Оригинал статьи http www the... весь текст скрыт [показать]
     
     
  • 5.17, Аноним, 11:57, 30/04/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    не копипаст, а перевод. человекочитаемый перевод требует трудозатрат.
     
     
  • 6.46, Аноним, 20:15, 01/05/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Вставление ссылки на оригинал требует трудозатрат?
     
  • 2.7, Crazy Alex, 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, 23:14, 29/04/2016 [ответить] [смотреть все]  
  • +3 +/
    То есть они на эту хрень (необходимость которой вообще под вопросом) хотят угробить целый регистр. Чудесное решение, ничего не скажешь.
     
     
  • 2.9, Аноним, 23:22, 29/04/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А что ты можешь сказать про сам регистр?
     
     
  • 3.13, Crazy Alex, 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 +/
    Прибитая гвоздями к 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 не решение, а костыль, и оно ещё только предложено, а не включено в со... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.35, Аноним, 23:02, 30/04/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Сабж тоже внешний костыль, не включенный в состав системы ... весь текст скрыт [показать]
     
  • 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, 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-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor