Укрепляем Linux
Подписаться на эту рубрику по RSS
Создание файла политик Systrace.
Рубрика: Безопасность | Укрепляем LinuxМетки: systrace
Дата: 16/06/2009 11:28:29
Несмотря на то, что синтаксис файла политики простой, внесение в него любого системного вызова дело довольно непростое. Кроме знания, что делает некоторый системный вызов, нужно описать каждый системный вызов, используемый приложением.
Чтобы не забыть какой-нибудь вызов, нужно провести трассировку системных вызовов с помощью ранее рассмотренной программы systrace. Когда будет создан базовый файл политик, разрешающий все необходимые приложению системные вызовы, нужно приступить к ужесточению правил - к исследованию различных системных вызовов, которые могут быть использованы для атаки.
Создание файла политики - занятие изрядно утомительное. Systrace предоставляет альтернативный способ.
Компоненты файла политики.
Рубрика: Безопасность | Укрепляем LinuxМетки: systrace
Дата: 15/06/2009 10:35:48
Как уже было сказано, ядром Systrace являются файлы политики, в которых описаны разрешенные системные вызовы и их параметры для конкретных приложений. Файлы политик должны быть помещены в каталог /etc/systrace. Если в этом каталоге файлы политик не найдены, Systrace будет искать их в каталоге ~/.systrace.
Имя файла политик зависит от приложения, для которого надо эту политику применить, например, если нам надо применить политику для /bin/login, файл политики будет называться bin_login, то есть все слэши в полном имени файла заменяются знаками подчеркивания, а первый слэш - удаляется.
Исследование системных вызовов.
Рубрика: Безопасность | Укрепляем LinuxМетки: systrace
Дата: 08/06/2009 08:50:22
Словосочетание «системный вызов» часто применяется администраторами без полного понимания его сути. Представим, что системный вызов - это запрос (на получение ресурсов или выполнение действий) пользовательским приложением ядра, например запрос на создание каталога (системный вызов sys_mkdir), или запрос на установку системных часов (sys_stime), или запрос на монтирование файловой системы (sys_mount).
В Linux обусловлено почти 200 системных вызовов, которые используются для разных действий. Полный список системных вызовов доступен на сайте: http://linuxassembly.org/syscall.html.
Обнаружение переполнения буфера.
Рубрика: Безопасность | Укрепляем LinuxМетки: ASLR | buffer overflow | PaX | Segvguard
Дата: 07/06/2009 09:28:52
Функции ASLR очень полезны, но они не гарантируют 100% защиты - несмотря на то, что применяется рандомизация, теоретически существует вероятность переполнения буфера.
Так как некорректное изменение памяти, сделанное хакером, приводит к краху приложения, сведения о частых перезапусках сервисов (которые после краха автоматически перезапускаются) говорят о том, что хакер пытается переполнить буфер.
Для предотвращения возможности изменения хакером размещения памяти в ASLR-защищенном процессе надо задать ограничение на количество перезапусков демона за определенный период времени.
Для данного может употребляться утилита Segvguard, доступная по адресу: ftp://ftp.pl.openwall.com/misc/segvguard/. Segvguard состоит из двух частей:
Установка и настройка PaX.
Рубрика: Безопасность | Укрепляем LinuxМетки: PaX | Paxctl
Дата: 05/06/2009 08:55:51
Установка.
РаХ не требует пересборки приложений, но, так как реализован в виде патча ядра, требует пересборки самого ядра. РаХ-патч можно загрузить с сайта: http://pax.grsecurity.net/, на этом сайте доступны версии для ядер 2.4 и 2.6. Загрузите соответствующее ядро с сайта kernel.org, распакуйте его, перейдите в только что созданный каталог и примените РаХ-патч:
# patch -p0 < pax-linux-2.6.7-200406252135.patch
Рандомизация размещения адресного пространства.
Рубрика: Безопасность | Укрепляем LinuxМетки: ASLR | PaX
Дата: 05/06/2009 08:43:25
Рандомизация адресного пространства применяется для усложнения процесса вычисления расположения в памяти стека и DLL. Вычислить адрес стека и DLL хакеру стало значительно сложнее, чем без рандомизации.
Если хакер неправильно «угадает» адрес памяти, то приложение будет аварийно завершено - как и без рандомизации. Но когда хакер вторично запустит приложение, адресное пространство будет вторично изменено.
Неисполнимая память.
Рубрика: Безопасность | Укрепляем LinuxМетки: Grsecurity | PaX
Дата: 03/06/2009 14:45:04
Проект РаХ представляется частью большого проекта Grsecurity. РаХ предоставляет защиту памяти, делая стек неисполнимым. В дополнение к этому РаХ предоставляет несколько других важных функций: например рандомизацию размещения адресного пространства.