Разработка гипервизоров для обеспечения информационной безопасности::Журнал СА 7-8.2015
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6209
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6918
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4201
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3000
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3802
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3812
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6308
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3160
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3452
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7271
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10636
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12358
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13993
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9118
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7072
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5382
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4612
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3422
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3151
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3398
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3021
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Разработка гипервизоров для обеспечения информационной безопасности

Архив номеров / 2015 / Выпуск №7-8 (152-153) / Разработка гипервизоров для обеспечения информационной безопасности

Рубрика: Разработка /  OS DAY – 2015

Николай Пакулин НИКОЛАЙ ПАКУЛИН, старший научный сотрудник ИСП РАН

Разработка гипервизоров
для обеспечения информационной безопасности

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

Современные популярные ОС (прежде всего Linux и Windows) основаны на монолитных ядрах, в которых все компоненты ядра имеют одинаковые высокие привилегии. Такая архитектура позволяет добиться максимальной производительности, но приводит к существенным рискам безопасности: если злонамеренный код проникнет внутрь ядра, он потенциально получит доступ ко всем ресурсам компьютерной системы, включая данные в памяти приложений и на диске, и т.д. Целостность и конфиденциальность данных, передаваемых по сети, также оказываются под угрозой даже в случае использования криптографии.

Вопрос заключается в том, возможно ли защитить приложение, выполняющееся под управлением популярной ОС (прежде всего Linux и Windows), на широко распространенных процессорах семейства x86 без внесения изменений в код приложений, ядра ОС или аппаратных расширений? Системы защиты, расположенные в ядре, такие как антивирусы, межсетевые экраны, средства выявления вторжений, очевидно, не могут справиться с этой задачей, так как сами могут быть атакованы проникшими «зловредами».

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

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

Мы предполагаем, что у злоумышленника есть возможность через уязвимость или закладку получить уровень привилегий ядра, но все оборудование, к которому предоставляется доступ ОС, является доверенным – мы не рассматриваем атаки через прямой доступ в память.

Идея использовать гипервизоры для обеспечения безопасности сравнительно не нова. Можно упомянуть такие проекты, как Overshadow [1], где был реализован подход к конфиденциальности данных приложений через шифрование страниц в оперативной памяти, BitVisor [2], в котором реализовали прозрачное шифрование запросов к диску и сетевого трафика, Barrier [3], в нем отслеживается целостность структур данных ядра и выявляются руткиты.

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

Севигатор реализует следующий набор функций.

Конфиденциальность «в целом». Для минимизации затрат CPU при переключении контекста память приложений не шифруется. Поэтому недоверенные приложения и скомпрометированное ядро ОС, вообще говоря, имеют доступ на чтение (и даже на запись) в память защищаемых доверенных приложений. О какой защите мы в этом случае говорим? Основная идея Севигатора заключается в том, что недоверенные приложения и ядро ОС физически отключены от каналов связи: в виртуальной машине просто нет сетевой карты. Несмотря на то что недоверенные приложения могут прочитать конфиденциальные данные, они никому не смогут это «рассказать».

Рисунок 1. Обработка сетевых вызовов в Севигаторе. Сетевые запросы доверенных приложений перехватываются гипервизором и обрабатываются в выделенном сетевом стеке. Сетевые запросы ядра ОС и недоверенных приложений блокируются

Рисунок 1. Обработка сетевых вызовов в Севигаторе. Сетевые запросы доверенных приложений перехватываются гипервизором и обрабатываются в выделенном сетевом стеке. Сетевые запросы ядра ОС и недоверенных приложений блокируются

Для выявления искажений данных доверенных приложений принадлежащие им страницы памяти индексируются при переключении контекста – с них снимается криптографическая контрольная сумма. При возвращении управления в доверенное приложение контрольная сумма проверяется: если обнаруживается расхождение, это трактуется как атака на доверенное приложение, и оно теряет соединение с сетью.

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

В настоящее время Севигатор построен на основе микроядерного гипервизора NOVA [4]. Этот гипервизор представляет собой небольшую операционную систему, в которой высшими привилегиями обладает только микроядро (7 тыс. строк), а все остальные задачи, включая менеджер виртуальной машины, сетевой стек и драйверы, вынесены в приложения, находящиеся в третьем кольце защиты.

Сетевые системные вызовы (socket, bind, send, sento, recv и т.д.) перехватываются менеджером виртуальной машины и перенаправляются в приложение над ядром гипервизора, которое реализует сетевой стек. В нашей работе мы используем известный стек для встроенных систем lwIP [5]. В доверенном приложении работают операции сетевого ввода-вывода, включая отправку и получение сообщений UDP и потоки TCP.

Все сетевые операции выполняются вне ядра ОС, и тем самым недоверенные приложения и скомпрометированное ядро не могут нарушить конфиденциальность и целостность сетевого трафика доверенных приложений.

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

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

При обновлении приложения в виртуальной машине необходимо обновить его паспорт.

Обсуждение

Наши измерения показали, что накладные расходы на вызовы между процессами в гипервизоре составляют порядка 1-2% от общего времени обработки сетевого запроса, поэтому нет существенного проигрыша в производительности по сравнению с монолитными гипервизорами. При этом у микроядерной архитектуры есть существенные плюсы в плане защищенности: микроядерная архитектура гипервизора позволяет значительно сократить доверенную кодовую базу. Безусловная компрометация гипервизора возможна только в случае уязвимостей в микроядре. Небольшой размер микроядра делает возможным более-менее полную верификацию кода и минимизирует риск ошибки. Компрометация отдельных компонентов – менеджера виртуальных машин или сетевого стека – не приводит к компрометации гипервизора, так как они выполняются как процессы в выделенных адресных пространствах.

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


  1. Xiaoxin Chen, Tal Garfinkel, E. Christopher Lewis, Pratap Subrahmanyam, Carl A. Waldspurger, Dan Boneh, Jeffrey Dwoskin, and Dan R.K. Ports. 2008. Overshadow: a virtualization-based approach to retrofitting protection in commodity operating systems. SIGOPS Oper. Syst. Rev. 42, 2 (March 2008), 2-13. DOI=10.1145/1353535.1346284 – http://doi.acm.org/10.1145/1353535.1346284.
  2. T. Shinagawa, H. Eiraku, K. Tanimoto, K. Omote, S. Hasegawa, T. Horie, M. Hirano, K. Kourai, Y. Oyama, E. Kawai, K. Kono, S. Chiba, Y. Shinjo, and K. Kato. 2009. BitVisor: a thin hypervisor for enforcing i/o device security. In Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments (VEE '09). ACM, New York, NY, USA, 121-130.
  3. Jingyu Hua and Kouichi Sakurai. 2012. Barrier: a lightweight hypervisor for protecting kernel integrity via memory isolation. In Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC '12). ACM, New York, NY, USA, 1470-1477. DOI=10.1145/2245276.2232011 – http://doi.acm.org/10.1145/2245276.2232011.
  4. Udo Steinberg and Bernhard Kauer. 2010. NOVA: a microhypervisor-based secure virtualization architecture. In Proceedings of the 5th European conference on Computer systems (EuroSys '10). ACM, New York, NY, USA, 209-222. DOI=10.1145/1755913.1755935 – http://doi.acm.org/10.1145/1755913.1755935.
  5. Dunkels lwIP, a small independent implementation of the TCP/IP protocol suite – http://www.nongnu.org/lwip.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru