Денис Гамаюнов / Татьяна Горнак, 4 курс, sec-sem

На этом форуме публикуются и уточняются постановки задач студентам, а также отслеживается ход их выполнения

Модератор: staff

Закрыто
Бычков Иван
Аспирант
Сообщения: 179
Зарегистрирован: 23 сен 2008 01:19 pm

Денис Гамаюнов / Татьяна Горнак, 4 курс, sec-sem

Сообщение Бычков Иван »

Тема работы: Автоматизация построения поведенческих профилей приложений для SELinux и AppArmor с контролем внутреннего состояния приложения.

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

Актуальность: Существующие механизмы защиты ядра и контроля поведения приложений в ОС Linux (SELinux, AppArmor) имеют ряд недостатков, в частности, используемые в них методы выявления аномального поведения приложений не учитывают внутреннее состояние защищаемого приложения. В ряде случаев это накладывает сильные ограничения на допустимое поведение, что ограничивает применимость этих механизмов. Учёт внутреннего состояния контролируемого приложения позволит избежать жёстких обобщённых ограничений на его поведение.
Автоматизация построения профилей, в свою очередь, упрощает эксплуатацию системы защиты, которая использует данный подход.

Цель работы: Разработка предложений по автоматизации построения профиля нормального поведения приложения для системы контроля поведения уровня ядра ОС (SELinux).

Постановка задачи: Для достижения поставленной цели требуется решить следующие задачи:
1. Провести обзор и сравнительный анализ методов построения профилей нормального поведения приложений в ОС Linux.
2. Исследовать методы автоматического построения описаний поведения приложений в форме конечных автоматов, графов потока управления.
3. Исследовать способы визуального представления описания профиля приложения, в том числе CFG.
3. По итогам обзора разработать предложения по автоматизации построения профилей нормального поведения приложений (ограниченного класса) с контролем внутреннего состояния на основе существующих инструментальных средств.
Татьяна Горнак
Выпускник
Сообщения: 1
Зарегистрирован: 18 дек 2008 05:31 pm

Сообщение Татьяна Горнак »

Отчёт по курсовой работе за семестр

Татьяна Горнак
группа 421
научный руководитель Гамаюнов Д.Ю

Тема работы:
Автоматизация построения поведенческих профилей приложений для SELinux
и AppArmor с контролем внутреннего состояния приложения.

Расшифровка темы:

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

План работы:

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

Итоги работы за семестр:
Для достижения поставленных целей потребовалось решить следующие за-
дачи.
1. Для того, чтобы изучить возможности для построения профилей был
установлен и настроен Apparmor.
2. Для того, чтобы оценить метод автоматизированого построения про-
филей в Apparmor был построен профиль для программы kmail и
программы firefox и на примере firefox была рассмотренна реакция
Apparmor на эксплуатирование уязвимости.
3. Для изучения возможностей построения профилей был установлен и
настроен SELinux.
4. Чтобы оценить методы построения профилей в SELinux и сравнить
их с Apparmor был построен профиль для тестового примера.
5. Сделано неформальное описание и сравнение механизмов построения
профилей в Apparmor и SELinux.
6. Сделано неформальное описание методов автоматического описания
методов построения профилей.
7. Были прочитаны статьи по верификации, так как возникла задача
проверки корректности модели, построенной по приложению.
8. На стадии завершения реализация программы, строящей дерево си-
стемных вызовов на основании исходного кода программы (реализа-
ция необходима для решения задачи корректности построенной моде-
ли).

Список литературы

[1] “Apparmor Linux Application Security” [HTML] (http://www.novell.
com/linux/security/apparmor/overview.html)

[2] Crispin Cowan “AppArmor’s Security Goals”
[HTML]
(http://kerneltrap.org/Linux/AppArmors_Security_Goals)

[3] “Apparmor and SELinux comparison ” [HTML]
(http://www.novell.com/linux/security/ap ... rison.html)

[4] “AppArmor Technical Documentation” [PDF]
(forgeftp.novell.com/apparmor/LKML_Submission-Oct-07/techdoc.pdf)

[5] M. Melin “Damage Control for Network Applications” [PDF] (tml.tkk.fi)

[6] CC Michael, A Ghosh “Two state-based approaches to program-based
anomaly detection” [PDF] (http://packetstorm.foofus.com)

[7] R. Sekar M. Bendre D. Dhurjati P. Bollineni "A Fast Automaton-Based
Method for Detecting Anomalous Program Behaviors"[PDF] (ieee01.pdf)

[8] Henry Hanping Feng, Oleg M. Kolesnikov, Prahlad Fogla, Wenke Lee, Weibo
Gong “Anomaly Detection Using Call Stack Information” [PDF]
(www-unix.ecs.umass.edu/gong/papers/ok_idpc.pdf)

[9] В.В. Кулямин “Методы верификации програмного обеспечения ” [PDF]
(www.ict.edu.ru/ft/005645/62322e1-st09.pdf)

[10] “Red Hat Enterprise Linux 4” [HTML]
(http://www.redhat.com/docs/manuals/ente ... nux-guide/)

[11] “Gentoo SELinux Handbook” [HTML]
(http://www.gentoo.org/proj/en/hardened/ ... ndbook.xml)

[12] Александр Аграновский, Вадим Зайцев, Борис Телеснин, Роман Хади
“Верификация программ с помощью моделей” [PDF]
(www.uni-koblenz.de/zaytsev/writes/d/verification.pdf)

[13] С.В.Синицын, Н.Ю. Налютин “Верификация програмного обеспече-
ния” [PDF] (window.edu.ru)

[14] Александр Аграновский, Вадим Зайцев, Борис Телеснин, Роман Хади “
Верификация программ с помощью моделей” [PDF]
(www.uni-koblenz.de/zaytsev/writes/d/verification.pdf)
Никита Ющенко
Сотрудник
Сообщения: 155
Зарегистрирован: 25 авг 2004 01:02 pm

Сообщение Никита Ющенко »

Хотелось бы ознакомиться с составленными неформальными описаниями.

Непонятно, как именно были построены профили для kmail и firefox - ведь оба приложения немаленькие!

Хотелось бы узнать подробности про построение дерева системных вызовов по исходникам программы, и про связь этого с построением профиля.
Так, в исходниках системные вызовы спрятаны за несколько уровней библиотек. Значит ли это, что ваше средство анализирует в том числе и исходники все библиотек? В том числе glibc?
Также есть подозрение, что соответствующие уязвимостям пути присутствуют в исходниках программы (кроме уязвимостей типа переполнения буфера). Не значит ли это, что эти пути попадут в дерево и оттуда в профиль нормального поведения?

P.S.
Раз удалось сформулировать содержательные вопросы, значит наверное с работой всё хорошо и надо ставить "зачёт".
Закрыто