На главную страницу
О журнале План выхода Подписка Интернет-Магазин Реклама Контакты и реквизиты English На главную страницу Карта сайта Поиск по сайту Обратная связь

перейти к Содержанию номера
№ 4 июль–август 2010 г.
Тема номера:
УГРОЗЫ И ПОСЛЕДСТВИЯ СЕТЕВЫХ ВОЙН

Гранулярный контроль безопасности поведения приложений со стороны ядра Linux

Д. Ю. Гамаюнов, Т. А. Горнак, А. В. Сапожников, Ф. В. Сахаров, Э. С. Торощин
Лаборатория вычислительных комплексов, факультет ВМК МГУ имени М. В. Ломоносова


Предыдущая статьяСледующая статья

В работе рассматривается задача автоматического контроля безопасного выполнения приложений под управлением операционной системы Linux с целью раннего обнаружения атак, изменяющих поток выполнения программы или поток данных. В качестве решения данной задачи предлагается комбинированный подход с использованием Security Enhanced Linux (SELinux) и механизма отслеживания контрольных точек в исполняемом коде приложений.

Введение

Механизмы разграничения доступа на уровне операционной системы исторически являются одним из основных способов обеспечения информационной безопасности, не менее важным, чем криптография. В конечном итоге, именно ядро операционной системы и встроенные в него механизмы обеспечивают выполнение кода программ на аппаратуре и контролируют доступ программ к ресурсам. Выполнится или не выполнится на процессоре вредоносный код, внедренный злоумышленником через уязвимость в сетевом приложении, получит ли этот код доступ к интересным для злоумышленника ресурсам — все это также зависит от того, насколько развиты механизмы разграничения доступа операционной системы.

Традиционной для UNIX-систем является дискреционная модель разграничения доступа, присутствовавшая в самых ранних версиях UNIX. В последующие годы она была дополнена мандатным и ролевым доступом, а также специфическими механизмами защиты от ошибок порчи памяти: неисполняемый стек, рандомизация адресов в куче (ASLR — address space layout randomization). Современные системы контроля безопасности поведения приложений уровня ядра ОС, такие как SELinux и AppArmor, расширяют стандартную модель безопасности UNIX и дополняют ее контролем поведения. В случае SELinux контроль основан на описании набора типов субъектов и объектов, единого для всех приложений на данном узле, где для каждого типа субъекта описаны в явном виде все разрешенные операции над типами объектов. Во время запуска приложения ему принудительно присваивается один из типов. При этом для каждого из типов работает принцип наименьших привилегий, который гласит, что любой субъект в системе должен иметь возможность получить доступ к тем и только к тем объектам, которые ему необходимы для нормального функционирования. Действительно, на практике большинству приложений требуется лишь небольшое подмножество привилегий, которыми обладает пользователь. В итоге компрометация приложения злоумышленником не несет в себе угрозы целостности и конфиденциальности данных пользователя, к которым не имеет доступа скомпрометированное приложение. Это является существенным улучшением традиционной модели безопасности, существующей в UNIX-подобных системах.

Реализованный в AppArmor и SELinux способ контроля поведения приложений предполагает предоставление одних и тех же привилегий приложению с момента запуска и до его завершения. При этом в большинстве приложений на разных стадиях выполнения минимальный набор необходимых привилегий может различаться. Пример — сетевые приложения, где, как правило, доступ к файлам конфигурации требуется только непосредственно после запуска приложения, а в процессе авторизации пользователя нужен лишь доступ к сети и объектам, необходимым для авторизации. После успешной авторизации пользователя набор прав приложения, как правило, должен существенно расшириться. В результате ограничения, накладываемые на поведение приложений, могут являться избыточными, но их невозможно сократить без потери нормального функционирования приложения.

< ... >
 


 

Полную версию статьи смотрите на страницах журнала «Защита информации. Инсайд»


Обращайтесь!!!
e-mail:    magazine@inside-zi.ru
тел.:        +7 (921) 958-25-50, +7 (911) 921-68-24


Предыдущая статья    СОДЕРЖАНИЕ НОМЕРА    Следующая статья

| Начало | О журнале | План выхода | Подписка | Интернет-магазин | Реклама | Координаты |

Copyright © 2004-2024 «Защита информации. Инсайд». Все права защищены
webmaster@inside-zi.ru

   Rambler's Top100    Технологии разведки для бизнеса