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-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor