The OpenNET Project / Index page

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

07.02.2017 10:09  Проект grsecurity опубликовал реализацию механизма защиты RAP для ядра Linux

Проект grsecurity представил первый выпуск набора патчей с реализацией механизма защиты RAP (Reuse Attack Protector) для ядра Linux, позволяющего блокировать работу эксплоитов, основанных на технике заимствования кусков кода. Набор патчей включает всю запланированную функциональность и опубликован под лицензией GPLv2 в публичной тестовой ветке grsecurity для ядра Linux 4.9 (стабильные ветки grsecurity распространяются платно).

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

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

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

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

Предложенный проектом grsecurity подход позволяет достаточно надёжно блокировать атаки на основе заимствования кусков кода, но при этом оказывает минимальное влияние на производительность. Накладные расходы от применения RAP оцениваются в замедлении работы ядра на 5.4%, что ниже, чем при применении системы защиты от эксплуатации стека SSP (Stack Smashing Protector), используемой в Chrome OS. Отмечается, что в реальных условиях паразитная нагрузка от RAP заметно ниже, чем показатели синтетического теста, оценивающего производительность при наихудшем стечении обстоятельств.

В анонсе также упоминается о подготовке расширенной коммерческой реализации RAP, демонстрирующую более высокую производительность, снабжённую средствами статического анализа во время компиляции, включающую дополнительный высокооптимизированный вероятностный механизм XOR-защиты адресов возврата, поддерживающую C++ и LTO (оптимизация на этапе связывания). Коммерческая редакция развивается для организации финансирования продолжения разработки и проведения исследований в новых направлениях. Также отмечается, что подана заявка на получение патента, описывающего методы, лежащие в основе технологии RAP.

  1. Главная ссылка к новости (https://www.grsecurity.net/rap...)
  2. OpenNews: Проект grsecurity представил защиту от атак с использованием заимствования кусков кода
  3. OpenNews: Проект Tor представил прототип защищённого смартфона на платформе Android
  4. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
  5. OpenNews: Разработчики OpenBSD подготовили для libc механизм защиты anti-ROP
  6. OpenNews: Проект grsecurity ограничивает доступ к стабильным веткам
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: grsecurity, rap
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.2, Аноним, 12:28, 07/02/2017 [ответить] [смотреть все]     [к модератору]
  • –3 +/
    Типа, ну вы тут жуйте плебеи, а за нормальную версию нуно платить А как же http... весь текст скрыт [показать]
     
     
  • 2.35, Андрей, 20:41, 07/02/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Точно так же, как сотрудники Intel, которые комитят в gcc А их коллеги работают... весь текст скрыт [показать] [показать ветку]
     
  • 1.3, Аноним, 12:38, 07/02/2017 [ответить] [смотреть все]    [к модератору]  
  • –4 +/
    А чо - хавленый selinux, который шляпа так активно двигала, не помогает?
     
     
  • 2.4, Владимир, 12:50, 07/02/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +10 +/
    Хваленый SELinux - это когда вы вешаете замок чтобы никто не пролез. Защиты всякие. Но если уж пролез - тут RAP его поймает и надает по попе.

    Вы же не возмущаетесь что замки не нужны из-за того, что их иногда пилят и ломают.

     
     
  • 3.18, ., 17:22, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    текущая реализация больше похожа на понапутанную как попало колючую проволоку - ... весь текст скрыт [показать]
     
     
  • 4.25, Валик228, 18:36, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    нормальная реализация сложновата чуток в grsecurity есть возможность отключа... весь текст скрыт [показать]
     
     
  • 5.56, vitvegl, 10:56, 08/02/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Что там сложного? Все просто - пользователь, роль, тип
     
  • 1.6, Аноним, 13:19, 07/02/2017 [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    Можетю. "защиты от RAP"?
     
     
  • 2.48, irinat, 01:24, 08/02/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Нет RAP Reuse Attack Protector защищает от ROP Return Oriented Programming ... весь текст скрыт [показать] [показать ветку]
     
  • 1.9, Аноним, 15:16, 07/02/2017 [ответить] [смотреть все]     [к модератору]  
  • +/
    Объясните, кто грамотный Вот, они под эту защиту целый регистр r12 резериврую... весь текст скрыт [показать]
     
     
     
    Часть нити удалена модератором

  • 3.14, Crazy Alex, 15:47, 07/02/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +15 +/
    Экий печальный бред...
     
  • 3.64, Аноним, 16:16, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    А куда ж этот стек из процессора речь ведь о x86_64 архитектуре то делся Или... весь текст скрыт [показать]
     
  • 2.77, die_russofobs Не раб STEAMDRM, 21:30, 14/02/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Потому что тогда хакеру будет сложней работать Ему прйдётся найти другие дыры... весь текст скрыт [показать] [показать ветку]
     
  • 1.10, Аноним, 15:25, 07/02/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    А с каких пор можно продавать патчи на ядро ?
     
     
  • 2.13, Аноним, 15:37, 07/02/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Всегда можно было. Более того, они не обязательно должны быть под GPL.
     
     
  • 3.32, Аноним, 20:22, 07/02/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Ты перепутал патчи и модули ядра.
     
     
  • 4.38, Crazy Alex, 21:24, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    И патчи тоже можно Другое дело, что после наложения патча ты получившийся проду... весь текст скрыт [показать]
     
     
  • 5.39, Аноним, 22:04, 07/02/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    то есть GPL не мешает пропринетарщикам зажимать код ?
     
     
  • 6.51, Crazy Alex, 04:31, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Скажем так - сильно затрудняет это дело Настолько, что как мейнстрим такой подх... весь текст скрыт [показать]
     
     
  • 7.55, Вы все врете, 09:23, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ребята из grsecurity чувствую себя при этом прекрасно ... весь текст скрыт [показать]
     
     
  • 8.78, Аноним, 09:24, 17/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Перед GPL и Столманом все ровны, но ребята из grsecurity ровнее других Альтерна... весь текст скрыт [показать]
     
  • 7.76, Michael Shigorin, 13:25, 11/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Это вбросчик был, если что PS re 19 порой ещё и автомодер по результатам отсм... весь текст скрыт [показать]
     
  • 1.19, Crazy Alex, 17:31, 07/02/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    О, да тут, я смотрю, модер порезвился. Непонятно, правда, с чего. Ну повторю, не жалко.

    Чем бы дитя не тешалось - лишь бы в мейнлайн не совало. А пока где-то в левом патче сидит эта штука - вреда вроде не особо много, может, даже польза для кого-то есть.

     
     
  • 2.21, ., 17:36, 07/02/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    grsecurity все же не какой-то левый патч И настолько странных идей в нем ранее,... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, Аноним, 17:42, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Давай ты прямо сейчас назовешь имена людей, которые представляют компанию Pax Te... весь текст скрыт [показать]
     
     
  • 4.27, пох, 18:52, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    давай ты прямо сейчас не подглядывая в файлик назовешь имена людей, которые не ... весь текст скрыт [показать]
     
     
  • 5.36, Аноним, 21:12, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Стоп Давай сначала отвечать за базар Нонейм шлет патчи Нонейм НЕ является пер... весь текст скрыт [показать]
     
     
  • 6.42, тоже аноним, 23:52, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    кому это он их шлет Он их никому не шлет, в паблик вываливает ровно наоборот ... весь текст скрыт [показать]
     
     
  • 7.44, Аноним, 00:11, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    https bugzilla kernel org show_bug cgi id 123211 https www grsecurity net do... весь текст скрыт [показать]
     
     
  • 8.46, тоже аноним, 01:04, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    ну вот вывалено в паблик - хотите пользуйтесь, не хотите - мимо идите хорошо ч... весь текст скрыт [показать]
     
     
  • 9.50, gogo, 03:50, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Фишка GPL в том, что они должны предоставить пользователю свои патчи ПОД ЛИЦЕНЗИ... весь текст скрыт [показать]
     
     
  • 10.52, Crazy Alex, 04:38, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Э grsecurity я в гробу видел по десятку причин, но вот тут ты не прав Патч ... весь текст скрыт [показать]
     
     
  • 11.54, gogo, 08:43, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Вы неправы В GPL указано распространять экземпляры такого произведения, произв... весь текст скрыт [показать]
     
     
  • 12.58, Аноним, 11:20, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Производный продукт http www gnu org licenses gpl-faq en html GPLInProprietar... весь текст скрыт [показать]
     
     
  • 13.70, gogo, 14:43, 09/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Дорогая, патч без ядра - это вообще ничто Сам по себе он ничего не может делать... весь текст скрыт [показать]
     
  • 9.57, Аноним, 10:58, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Да, я не знаю, что такое stable-версия Мне что, надо купить чтобы узнать Вот т... весь текст скрыт [показать]
     
     
  • 10.59, Аноним, 14:01, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    но истерически верещишь, обвиняя автора во всех смертных грехах и еще чего-то от... весь текст скрыт [показать]
     
     
  • 11.63, Аноним, 16:13, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Вобщем, ничего ты не выяснил Ответов на вопросы не дал Все что высказал вода ... весь текст скрыт [показать]
     
     
  • 12.66, ., 17:27, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    0 ты не умеешь читать - то ли по-английски, то ли вообще в виду 0 ты так и н... весь текст скрыт [показать]
     
  • 3.26, Crazy Alex, 18:43, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Есть мейнлайн и есть левые патчи Что касается конкретно grsecurity - то было б ... весь текст скрыт [показать]
     
     
  • 4.33, Аноним, 20:24, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А какая цена платится при использовании этого патча ... весь текст скрыт [показать]
     
     
  • 5.37, Crazy Alex, 21:21, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Да какая и всегда с заботой о безопасности - потеря производительности и огранич... весь текст скрыт [показать]
     
  • 4.43, тоже аноним, 23:57, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    у них пока получается ниша совершенно понятная - когда тебе действительно важн... весь текст скрыт [показать]
     
     
  • 5.53, Crazy Alex, 04:44, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Собственно критерий нормлаьной технологии - внятно указанные границы применимост... весь текст скрыт [показать]
     
     
  • 6.60, Аноним, 14:18, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    ну а какие вот границы применимости у пачки капканов, разложенной внутри перимет... весь текст скрыт [показать]
     
     ....нить скрыта, показать (22)

  • 1.20, ., 17:33, 07/02/2017 [ответить] [смотреть все]     [к модератору]  
  • +/
    что-то тут у них концы с концами не сходятся и как ее подбирать - код исполнять... весь текст скрыт [показать]
     
     
     
     
    Часть нити удалена модератором

  • 4.30, Аноним, 19:12, 07/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Может, ещё как может Стандарты защиты таковы, что системный код разбивают на дв... весь текст скрыт [показать]
     
     
  • 5.45, пох, 00:24, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    я не знаю что ты такое называешь системной библиотекой libc состоит из вполне... весь текст скрыт [показать]
     
     
  • 6.47, Аноним, 01:22, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Ты бы хоть книжки почитал раз даже в терминологии плаваешь Дам наводку адрес... весь текст скрыт [показать]
     
     
  • 7.61, пох, 14:59, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    я эти книжки писал А вот ты дальше первой страницы так и не продвинулся, хотя я... весь текст скрыт [показать]
     
     
  • 8.62, пох, 15:03, 08/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    а, да - для менее упертых и более любознательных школьников - рекомендую все же ... весь текст скрыт [показать]
     
     
  • 9.72, добрый, 18:30, 09/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Справедливости ради, попытки использовать разные сегменты были и вполне успешные... весь текст скрыт [показать]
     
     ....нить скрыта, показать (6)

  • 1.67, добрый, 03:35, 09/02/2017 [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Очень много недопонимания и агрессии в комментариях Попробую прояснить некоторы... весь текст скрыт [показать]
     
     
  • 2.68, Аноним, 04:29, 09/02/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Очень хорошо, спасибо Ты говоришь, что запрет распространения купленных исходни... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.69, Аноним, 08:54, 09/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Он же написал никаких ограничений на использование и распространение предоставл... весь текст скрыт [показать]
     
     
  • 4.73, Аноним, 01:26, 10/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Я покопался в сути вопроса Ньанс заключается в том, что ядро Linux поставляется... весь текст скрыт [показать]
     
     
  • 5.74, добрый, 03:32, 10/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Откуда у вас эта информация, можете поделиться На сколько я понимаю, ядро поста... весь текст скрыт [показать]
     
     
  • 6.75, Аноним, 04:03, 10/02/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А данный патч загружается Не линкуется с ядром Нет Тогда почему человек так б... весь текст скрыт [показать]
     
  • 1.71, добрый, 18:19, 09/02/2017 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    > Заявления "если найдутся достаточные основания подозревать клиента..." юридически не обоснованы и не могут быть поводом для расторжения контракта.

    Всё-таки, если такое право одной из сторон в одностороннем порядке определять основания для расторжения закреплено за ней в действующем договоре, то оно имеет юридическую силу.

     

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


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