Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Укрепляем Linux

Подписаться на эту рубрику по RSS

Libsafe.

Рубрика: Безопасность | Укрепляем Linux
Метки:
Дата: 03/06/2009 14:32:24

Libsafe от Avaya Labs решает проблему переполнения буфера совершенно другим способом. Libsafe предоставляет абсолютно прозрачный метод, не требующий пересборки существующих программ, что представляется ог­ромным преимуществом этого метода.

     Кроме удобства (ведь можно не пересобирать всю систему), до­полнительным преимуществом представляется то, что не обязательны исходные коды программы - ведь исходные коды некоторых программ просто невоз­можно достать, следовательно, их нельзя защитить предыдущим методом.

     Libsafe - это, как понятно из названия, специальная динамически загру­жаемая библиотека, состоящая из двух частей: libsafe и libverify. Обе части могут употребляться независимо друг от друга или же одновременно друг с другом.

Далее...

Проверка границ.

Рубрика: Безопасность | Укрепляем Linux
Метки:
Дата: 01/06/2009 09:13:59

Проверка границ - это процесс проверки индекса массива: выходит ли ин­декс за пределы допустимого диапазона или нет. Например, массив может содержать всего десять значений - с номерами от 0 до 9, а индекс может быть равен 10 - тогда он выходит за пределы диапазона. Проверка границ позволяет определить возможные попытки переполнения буфера.

Далее...

Защита стека.

Рубрика: Безопасность | Укрепляем Linux
Метки:
Дата: 01/06/2009 08:54:12

Stack-Smashing Protector (известный как ProPolice) - это GCC-патч, сделанный компанией IBM. SPP использует технику проверочных значений, как и StackGuard. SPP дает ряд существенных улучшений этой техники по сравнению со StackGuard.

     Во-первых, изменилось месторасположение проверочного значения. Теперь оно находится не после адреса возврата, как в случае с StackGuard, а после указателя кадра (Frame Pointer, FP). Если проверочное значение помещается сразу после RET, указатель FP и локальные переменные функции могут быть перезаписаны без изменения проверочного зна­чения (оно применяется только для защиты RET). SPP помещает проверочное значение после FP, чем обеспечивает его защиту, а также изме­няет порядок буфера и локальных переменных

Далее...

Ранее было рассказано, как с помощью простого переполнения буфе­ра хакер может получить права пользователя root. Около 50% уязвимостей, обнаруженных в последние годы, были связаны именно с пе­реполнением буфера. Поэтому к этой проблеме можно отнестись с большим вниманием.

     Здесь будет рассказано о некоторых известных средствах защиты па­мяти, хотя ни одно из них не претендует на первенство, но они все же помогают решить проблему.

Далее...

Какой бы вы не использовали дистрибутив, нужно сразу после установки приступать к усилению защиты системы. Ранее были рассмотрены утилиты nmap и Nessus для определения сервисов, которые могут дать хакеру доступ в систему, и был описан процесс отключения ненужных сервисов.

     Можно подумать, что теперь в систему очень трудно проникнуть. Рассмотрим такой сценарий, в котором хакер все-таки получил доступ к системе (все равно какой - привилегированный или непривилегированный) и пытается захватить всю систему.

     Наиболее вероятно, что он установит rootkit или другие инструменты, которые скрывают его присутствие и дают возможность без проблем проникнуть в систему, а мо­жет, он уже поставил программу, разрешающую запускать DoS-атаку от име­ни машины...

Далее...

Создать минимальную файловую систему изрядно просто, значительно сложнее выяснить, какие файлы обязательны. Прежде всего нужно вы­яснить зависимости библиотек. Ведь сервер может требовать наличия всего двух-трех библиотек, а каждой из них надо еще 1-2-3-4 библиотеки - без них они не будут работать, и, следовательно, не будет работать сервер.

     Выяснить, какие библиотеки надобны той или иной программе, нужно с по­мощью команды ldd. Посмотрим, что надо для нормальной работы про­граммы ls:

Далее...

Chroot-окружение.

Рубрика: Безопасность | Укрепляем Linux
Метки: | |
Дата: 26/05/2009 15:13:49

Небезопасные сервисы - это потенциальные дыры в системе безопасности. Взломав такой сервис, хакер часто получает возможность исполнять команды от имени пользователя, который запустил этот сервис. Если сервис ра­ботает от пользователя root, можно представить, что хакер сделает с системой.

     Идеально было бы запускать сервисы в «песочницах» - то есть задать такие ограничения для сервиса, при которых хакер не может разрушить систему или повлиять на работу прочих сервисов. Такой «песочницей» представляется chroot-окружение.

     Идея chroot-окружения крайне проста: в некотором каталоге создается минимальная структура ка­талогов, необходимая для запуска этого сервиса, которая эмулирует корневую файловую систему, то есть в этом подката­логе будут подкаталоги /bin, /lib, /etc и другие.

Далее...