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

Микола, я домашню страныцю сделал! ...

СУБД MongoDB переведена на новую лицензию, которая пока не проверена на открытость
Wed, 17 Oct 2018 08:17:28 +0300

Мероприятие по выявлению ошибок в LibreOffice 6.2 alpha 1
Tue, 16 Oct 2018 16:59:06 +0300

Firefox, Chrome, Edge и Safari прекратят поддержку TLS 1.0 и TLS 1.1
Tue, 16 Oct 2018 09:09:56 +0300

Проект KDE получил пожертвование размером 300 тысяч долларов
Mon, 15 Oct 2018 19:32:24 +0300

Открытый проект Bro переименован в Zeek из-за негативной коннотации
Mon, 15 Oct 2018 14:31:08 +0300

Выпуск операционной системы MidnightBSD 1.0
Sat, 13 Oct 2018 19:53:00 +0300

Разработчики Mozilla отложили прекращение доверия к сертификатам Symantec
Fri, 12 Oct 2018 09:25:48 +0300

Организация Linux Foundation выпустила LTSI-ветку на базе ядра Linux 4.14
Fri, 12 Oct 2018 08:52:28 +0300

Компания Microsoft присоединилась к инициативе по защите Linux от патентных претензий
Wed, 10 Oct 2018 19:00:13 +0300

В Fedora 30 решено поставлять по умолчанию сборку Firefox на базе Wayland
Wed, 10 Oct 2018 08:39:46 +0300

В GNOME 3.32 будет прекращена поддержка глобального меню
Tue, 09 Oct 2018 20:21:29 +0300

Влияние несущественных изменений кода на производительность при использовании GCC
Tue, 09 Oct 2018 08:53:30 +0300

Основан проект GoodFORM, который продолжит развитие свободных модулей к СУБД Redis
Mon, 08 Oct 2018 23:13:17 +0300

Google закрывает социальную сеть Google+
Mon, 08 Oct 2018 22:10:38 +0300

В Firefox будет добавлена поддержка формата изображений WebP
Sun, 07 Oct 2018 10:37:39 +0300

Новости OPENNET
Новости

В состав компилятора Clang, используемого для сборки базовой системы OpenBSD, интегрирован механизм защиты RETGUARD, нацеленный на усложнение выполнения эксплоитов, построенных с использованием заимствования кусков кода и приёмов возвратно-ориентированного программирования (ROP, Return-Oriented Programming).

Механизм включен только при сборке для архитектуры AMD64.

Суть метода защиты RETGUARD заключается в искажении адреса возврата обработчиков функций. Перед началом обработчика функции добавляется вызов XOR, комбинирующий адрес возврата с генерируемым для каждой функции случайным значением Cookie, которое затем сохраняется в стек. Перед командой возврата управления из функции (ret) значение Cookie извлекается из стека и при помощи операции XOR повторно применяется к адресу возврата, что восстанавливает его исходное значение и позволяет убедиться в том, что адрес перехода не изменился. Для усложнения атак код проверки дополнительно снабжается добавочным заполнением в виде инструкций int03 перед каждой инструкцией ret.

При штатном ходе выполнения изначальный адрес перехода остаётся неизменен, но при выполнении эксплоита осуществляется переход на составляющий эксплоит блок заимствованных машинных инструкций (гаджет), точка входа в который как правило не совпадает с началом функции. Так как управление передано не на начало, а в определённую часть тела функции, первый "xor" будет пропущен и "xor" перед выходом исказит переданный эксплоитом адрес возврата. При защите функций ядра RETGUARD оценивается как эффективный для блокирования 50% из всех ROP-гаджетов и 15% уникальных гаджетов, по сравнению с ядром OpenBSD 6.3.

Метод реализован в виде патча к компилятору clang, который на этапе компиляции производит автоматическую подстановку кода проверки адреса возврата во все функции. Для функций системной библиотеки и ядра, написанных на языке ассемблер, требуется применение отдельных патчей. Для активации нового метода защиты в приложениях не требуется отдельных действий, достаточно пересобрать их предлагаемым в базовой системе OpenBSD-Current компилятором Clang, в который уже включены все необходимые патчи. Для отключения сборки с RETGUARD в Clang добавлена опция "-fno-ret-protector".

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



65.5305 75.9236 0.5843 9.4714

НОВОСТИ: Организация Linux Foundation выпустила LTSI-ветку на базе ядра L ... Fri, 12 Oct 2018 08:52:28 +0300

Организация Linux Foundation объявила о выпуске новой LTSI-ветки ядра Linux, основанной на версии ядра 4.14 (прошлая LTSI-ветка была основана на ядре 4.9). В рамках выпусков LTSI (Long Term Support Initiative) обеспечивается выпуск веток ядра с длительным сроком поддержки, кроме исправлений проблем, влияющих на стабильность и безопасность, предусматривающих также бэкпортирование новшеств.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome