Укрепляем Linux
Подписаться на эту рубрику по RSS
Libsafe от Avaya Labs решает проблему переполнения буфера совершенно другим способом. Libsafe предоставляет абсолютно прозрачный метод, не требующий пересборки существующих программ, что представляется огромным преимуществом этого метода.
Кроме удобства (ведь можно не пересобирать всю систему), дополнительным преимуществом представляется то, что не обязательны исходные коды программы - ведь исходные коды некоторых программ просто невозможно достать, следовательно, их нельзя защитить предыдущим методом.
Libsafe - это, как понятно из названия, специальная динамически загружаемая библиотека, состоящая из двух частей: libsafe и libverify. Обе части могут употребляться независимо друг от друга или же одновременно друг с другом.
Проверка границ - это процесс проверки индекса массива: выходит ли индекс за пределы допустимого диапазона или нет. Например, массив может содержать всего десять значений - с номерами от 0 до 9, а индекс может быть равен 10 - тогда он выходит за пределы диапазона. Проверка границ позволяет определить возможные попытки переполнения буфера.
Stack-Smashing Protector (известный как ProPolice) - это GCC-патч, сделанный компанией IBM. SPP использует технику проверочных значений, как и StackGuard. SPP дает ряд существенных улучшений этой техники по сравнению со StackGuard.
Во-первых, изменилось месторасположение проверочного значения. Теперь оно находится не после адреса возврата, как в случае с StackGuard, а после указателя кадра (Frame Pointer, FP). Если проверочное значение помещается сразу после RET, указатель FP и локальные переменные функции могут быть перезаписаны без изменения проверочного значения (оно применяется только для защиты RET). SPP помещает проверочное значение после FP, чем обеспечивает его защиту, а также изменяет порядок буфера и локальных переменных
Защита памяти: StackGuard.
Рубрика: Безопасность | Укрепляем LinuxМетки: StackGuard
Дата: 28/05/2009 09:15:25
Ранее было рассказано, как с помощью простого переполнения буфера хакер может получить права пользователя root. Около 50% уязвимостей, обнаруженных в последние годы, были связаны именно с переполнением буфера. Поэтому к этой проблеме можно отнестись с большим вниманием.
Здесь будет рассказано о некоторых известных средствах защиты памяти, хотя ни одно из них не претендует на первенство, но они все же помогают решить проблему.
Советы по укреплению Linux-сервера.
Рубрика: Безопасность | Укрепляем LinuxМетки: nessus | rootkit
Дата: 28/05/2009 08:39:34
Какой бы вы не использовали дистрибутив, нужно сразу после установки приступать к усилению защиты системы. Ранее были рассмотрены утилиты nmap и Nessus для определения сервисов, которые могут дать хакеру доступ в систему, и был описан процесс отключения ненужных сервисов.
Можно подумать, что теперь в систему очень трудно проникнуть. Рассмотрим такой сценарий, в котором хакер все-таки получил доступ к системе (все равно какой - привилегированный или непривилегированный) и пытается захватить всю систему.
Наиболее вероятно, что он установит rootkit или другие инструменты, которые скрывают его присутствие и дают возможность без проблем проникнуть в систему, а может, он уже поставил программу, разрешающую запускать DoS-атаку от имени машины...
Зависимости библиотек chroot.
Рубрика: Безопасность | Укрепляем LinuxМетки: chroot | strace
Дата: 26/05/2009 16:51:19
Создать минимальную файловую систему изрядно просто, значительно сложнее выяснить, какие файлы обязательны. Прежде всего нужно выяснить зависимости библиотек. Ведь сервер может требовать наличия всего двух-трех библиотек, а каждой из них надо еще 1-2-3-4 библиотеки - без них они не будут работать, и, следовательно, не будет работать сервер.
Выяснить, какие библиотеки надобны той или иной программе, нужно с помощью команды ldd. Посмотрим, что надо для нормальной работы программы ls:
Chroot-окружение.
Рубрика: Безопасность | Укрепляем LinuxМетки: chroot | FTP | root
Дата: 26/05/2009 15:13:49
Небезопасные сервисы - это потенциальные дыры в системе безопасности. Взломав такой сервис, хакер часто получает возможность исполнять команды от имени пользователя, который запустил этот сервис. Если сервис работает от пользователя root, можно представить, что хакер сделает с системой.
Идеально было бы запускать сервисы в «песочницах» - то есть задать такие ограничения для сервиса, при которых хакер не может разрушить систему или повлиять на работу прочих сервисов. Такой «песочницей» представляется chroot-окружение.
Идея chroot-окружения крайне проста: в некотором каталоге создается минимальная структура каталогов, необходимая для запуска этого сервиса, которая эмулирует корневую файловую систему, то есть в этом подкаталоге будут подкаталоги /bin, /lib, /etc и другие.