Защита приложений от скомпрометированной ОС

Preview:

DESCRIPTION

Защита приложений от скомпрометированной ОС. Яковенко П.Н. yak@ispras.ru Ефремов Д.В. efremov@ispras.ru Пакулин Н.В. npak@ispras.ru Институт системного программирования РАН. - PowerPoint PPT Presentation

Citation preview

Защита приложений от скомпрометированной ОС

Яковенко П.Н. yak@ispras.ru Ефремов Д.В. efremov@ispras.ru Пакулин Н.В. npak@ispras.ru Институт системного программирования РАН

«Массовые операционные системы характеризуются двумя чертами, которые делают их малонадежными и слабо защищенными: они слишком объемные, а отдельные компоненты крайне плохо изолированы друг от друга»Таненбаум и др. (2006)

«С течением времени цифровые системы будут только усложняться, а сложность – худший враг безопасности»Шнайер (2000)

«Всего лишь одна логическая ошибка в коде операционной системы может полностью свести на нет работу всех защитных механизмов»Мэдник и Донован (1973) 2/

2615.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

«Инфокоммуникационные технологии в научных исследованиях», Таруса

Червь Win32/Stuxnet

• Саботаж автоматизированных систем управления технологическими процессами (АСУ ТП)

• Украденные цифровые сертификаты компаний Realtek и JMicron

• Уязвимости «нулевого» дня (4 шт.)• Одна до сих пор не устранена• Подвержены все версии, начиная с Win2000

(для которой критические обновления уже не выпускаются)

• Автоматическое заражение при просмотре содержимого папки

• Перепрошивка контроллеров в SCADA системах• Пользовательская библиотека + драйвер в ядре

ОС• Возможность обновления, P2P взаимодействие и

др.• Подробности см. www.eset.com. “Stuxnet Under

The Microscope“.

315.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

4

Червь Win32/Flame

• Сбор и передача шпионской информации• Уязвимости «нулевого» дня для заражения

компьютера• Установка драйвера, подписанного корректным

сертификатом• Взломан сертификат Microsoft Terminal Services

• Слабый алгоритм цифровой подписи MD5• Сертификат содержал право подписи других

сертификатов• Сбор данных из многих источников

• аудио и видео потоки• Данные через Bluetooth• Чтение файлов• Встраивание в процессы, выполняющиеся в

системе• Передача данных на управляющие сервера• Прием команд и дополнительных модулей от

управляющих серверов

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

5

Ядро в массовых ОС построено на базе монолитной архитектуры◦ большой объем кода выполняется в привилегированном

режиме (в т.ч. драйверы периферийных устройств)◦ большой объем кода + монолитность ядра недостаточная

надежность ОС Недостаточная надежность слабая защищенность

◦ уязвимости в ядре◦ недокументированные возможности

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

Актуальна задача повышения уровня защищенности существующих массовых ОС

Проблема защищенности массовых ОС

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

6

Постановка задачи

Обеспечение конфиденциальности «в целом»◦ Контроль доступа к каналам передачи и хранения

данных в условиях недоверенной операционной системы

◦ Недоверенный код лишен возможности передать конфиденциальные данные внешнему получателю

Обеспечение целостности◦ Контроль модификации критической информации:

Запись возможна только доверенным процессам Возможность доступа к критичной информации только «по

чтению» для недоверенного кода (в т.ч. ядра ОС)

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

Отсутствие необходимости модифицировать код операционной системы и приложений

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

7

Введение в аппаратную виртуализациюАппаратная виртуализация вводит слой

гипервизора◦Перехват привилегированных команд◦Перехват прерываний◦Дополнительный уровень виртуализации

памятиВиртуальная машина – совокупность

регистров, дескрипторов страниц памяти, векторов прерываний и т.п.

Аппаратный гипервизор обеспечивает выполнение программ внутри виртуальных машин без преобразования

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

8

Linux

Hypervisor

Linux

Accessdenied

Accessgranted

Trustedprocess

Delegate

Internet

Service VM Main (user’s) VM

Protectionmodule

Process

Syscallintercepti

on

Архитектура системы защиты

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

9

Контекстпроцесса

Файл подкачки

Исполняемыефайлы

Реги

стры

(EIP

)

Таблицыприписки

Ви

рту

ал

ьн

ая п

ам

ять

DM

изи

ческ

ая п

ам

ять

ЯдроОС

Другойпроцесс

Загрузка

Возможные точки вредоносного воздействияна доверенный процесс

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

10

Контекстпроцесса

Файл подкачки

Исполняемыефайлы

Реги

стры

(EIP

)

Таблицыприписки

Ви

рту

ал

ьн

ая п

ам

ять

DM

изи

ческ

ая п

ам

ять

ЯдроОС

Другойпроцесс

Загрузка

Возможные точки вредоносного воздействияна доверенный процесс

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

11

Регистрация доверенного приложенияСтартовый набор ограничений задается

«регистрационной» информацией программыРегистрационная информация содержит

контрольные суммы (SHA-1) для всех объектных модулей приложения◦ в т.ч. ld.so для динамически компонуемых

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

конкретному имени или расположению приложения в файловой системе◦ у каждого приложения есть уникальный ID

Запуск доверенного приложения осуществляется специальной программой «монитором», который сообщает гипервизору ID приложения◦ монитор принимает в качестве параметра

«паспорт» задачи

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

12

Контекстпроцесса

Файл подкачки

Исполняемыефайлы

Реги

стры

(EIP

)

Таблицыприписки

Ви

рту

ал

ьн

ая п

ам

ять

DM

изи

ческ

ая п

ам

ять

ЯдроОС

Другойпроцесс

Загрузка

Возможные точки вредоносного воздействияна доверенный процесс

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

13

Директориястраниц

Таблицастраниц

Директориястраниц

Таблицастраниц

Таблицастраниц

Гипервизор (вложен. таблицы ВМ)

Виртуальная машина (таблицы ОС)Таблицастраниц

Адрес 1

Адрес 2

Адрес 44

Адрес 1*

Адрес 2*

Вирт. адрес Физ. адрес

Физ. адрес Маш. адрес

Попытка доступа к закрытой странице

вза

им

но-

од

нозн

ачн

ое

соотв

етс

тви

е

Трансляция адресов виртуальной машины

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

14

Виртуальная машина

Принцип защиты физической памяти

Процесс 1

Процесс 2

Процесс 3

Таблицыприписки

Таблицыприписки

V1

V2

V3

P

Расшир.таблицыприписки

Расшир.таблицыприписки

Расшир.таблицыприписки

M

Взаимоисключающие режимы доступа

Расширенные таблицы приписки контролируют доступ к общей физической памяти

Отдельные для каждого доверенного процесса◦ деление по PID

Отдельные для ядра ОС◦ деление по режиму привилегий 15.11.2012

Физ. памятьВиртуальная машина

MP

NPTU : P R/O Mp

NPTT : P R/W Mp

P

Расширенные таблицыприписки ВМ

MP

NPTU : P R/W Mp

NPTT : P Mp

P

" режимадресации

" режимадресации

синхронизируютсягипервизором

DMA

DMA

Схема защиты физической памяти

синхронизируютсягипервизором

Страница P подключена к адресному пространству доверенного процесса… не подключена

«Инфокоммуникационные технологии в научных исследованиях», Таруса

17

Другой процессДругой процесс

Доверенный процессДоверенный процессДоверенный процесс

Гипервизор

Ядро ОС

Другой процесс

Перехватпрерываниявыполненияпроцесса

Перехватвозвратауправленияпроцессу

Передача управления между процессом и ядром ОС только через гипервизор

• Сохранение регистров• Переключение домена

• Проверка регистров• Переключение домена

Проверка ограничений на содержимое памяти

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

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

18

Контекстпроцесса

Файл подкачки

Исполняемыефайлы

Реги

стры

(EIP

)

Таблицыприписки

Ви

рту

ал

ьн

ая п

ам

ять

DM

изи

ческ

ая п

ам

ять

ЯдроОС

Другойпроцесс

Загрузка

Возможные точки вредоносного воздействияна доверенный процесс

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

19

ОБЕСПЕЧЕНИЕ КОНФИДЕНЦИАЛЬНОСТИ: ОГРАНИЧЕНИЕ ДОСТУПА К РЕСУРСАМ

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

20

Основная VM

Ядро ОС

Сервисная VM

Ядро ОС

Гипервизор

Клиент

Авторизованныйпроцесс

Параметры вызоваСопоставление

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

Интернет

Сервер

Опер. системыв обеих машинах

недоверенные

Модуль ядраКБ Модуль ядраКБ

Хранилище

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

21

Обмен данными ВМ и гипервизора

Виртуальнаямашина

Кольцевой буфер

Гипервизор

Виртуальное PCI устройство

IRQ (извещение о данных в буфере)

Обработчик

прерывания

ЗАПРОС

ОТВЕТ

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

22

Гипервизор

Основная ВМ(недоверенная)

Сервисная ВМ(доверенная)

NFS клиентNFS сервер

Системный вызов

Доверенныйпроцесс

Ядро ОС

Параметры/Результатывызова

«READ» – разрешен всем«WRITE» – только доверенным процессам

Сопоставление

• запрос допустимости «write» операций• извещение о результатах «read» операций доверенного процесса

Файловаясистема

Процесс

защита целостности файлов

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

23

УГРОЗЫ И ВОЗМОЖНЫЕ АТАКИ НА СИСТЕМУ ЗАЩИТЫ

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

24

конфигурация

Исполняемыефайлы

Фи

зическ

ая п

ам

ять

DM

A

вм

ЯдроОС

процесс

Загрузка

Возможные точки вредоносного воздействиягипервизор

Регистрационнаяинформация

Загруз

ка

Гипервизор

КомпонентСЗ

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

25

конфигурация

Исполняемыефайлы

Фи

зическ

ая п

ам

ять

DM

A

вм

ЯдроОС

процесс

Загрузка

Возможные точки вредоносного воздействиягипервизор

Регистрационнаяинформация

Загруз

ка

Гипервизор

КомпонентСЗ

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

26

“dynaload”driver

Secureloader

Hypervisor

Trusted Platform Module

SKINIT JMP

• ZERO PCR-17• HASH(secure loader) PCR-17

PCR17 TPM Private Key

• HASH(hypervisor) PCR-17• HASH(nonce) PCR-17

• SIGN(PCR17 | Private Key)• Signed checksum User

“activate” SHA-1

Проект активации

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

28

ДОПОЛНИТЕЛЬНЫЕ УГРОЗЫ

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

29

SMM(System Management Mode)

Степень угрозы: высокая (полный контроль)Сложность проведения атаки: высокаяУсловия успешности применения атаки:

◦ Зависит от BIOS◦ Зависит от аппаратного обеспечения

Вероятность успешности применения атаки: высокая

Оценка сложности защиты от атаки:◦ Перепрошивка BIOS (лёгкая). Не всегда

возможно.◦ Эмуляция SMM (AMD SVM) (средняя).

Возможность защиты для Intel VT – не известна.

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

30

Эмуляция пользовательских действий зловредной программойСтепень угрозы: средняя (потеря

конфиденциальности данных)Сложность проведения атаки: низкаяВероятность успешности применения атаки:

средняяОценка сложности защиты от атаки:

◦ Более точное определение конфигураций доверенных приложений (даёт лишь частичные гарантии защиты) (средняя)

◦ Запрашивать каждый раз гипервизором подтверждение у пользователя при запуске доверенного приложения (перекладвание ответственности на пользователя) (сложная)

◦ Создание защищённого канала «Пользователь - Приложение» (сложная)

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

31

Перепрошивка BIOSСтепень угрозы: высокая (полный контроль)Сложность проведения атаки: высокаяУсловия успешности применения атаки:

◦ Зависит от BIOS (не всегда возможно перезаписать) Возможна закладка на заводе-производителе

◦ Необходима перезагрузка компьютера после заражения

Вероятность успешности применения атаки: высокая

Оценка сложности защиты от атаки:◦ Защита прошивки BIOS (средняя)◦ Поддержка доверенной загрузки (средняя)

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

32

Подмена конфигурационных файлов системыСтепень угрозы: малаяСложность проведения атаки: высокаяУсловия успешности применения атаки:

◦ Доступ к устройству хранения конфигурации системы защиты

◦ Загрузка администратором системы подменённых файлов конфигурации

Вероятность успешности применения атаки: высокая

Оценка сложности защиты от атаки:◦ Шифрование файлов конфигурации (лёгкая)◦ Цифровая подпись файлов конфигурации

(лёгкая)

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

33

Взлом сетевых соединений доверенных процессов

Степень угрозы: средняя (потеря части конфиденциальных данных)

Сложность проведения атаки: лёгкая – сложная (зависит от встроенных средств защиты каналов)

Условия успешности применения атаки:◦ Наличие способа перехватывать передающиеся по

пакету каналыВероятность успешности применения атаки:

высокаяОценка сложности защиты от атаки:

◦ Лёгкая (шифрованый протокол передачи данных. Уровень приложения)

◦ Средняя (принудительное шифрование в сервисной ВМ)

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

34

Теоретические возможности взломать системуОшибка в реализации системы

защитыНарушение требования

доверенности прикладных программ

Неправильная конфигурация системы

Подмена пакетов программDMA атака на стабильность

системы (есть возможность защититься)

Ошибки/Закладки в аппаратуре

15.11.2012

«Инфокоммуникационные технологии в научных исследованиях», Таруса

35

Ограничения системыАппаратные требования (VT,NPT,IOMMU,TPM)Многоядерность (нет поддержки)Межпроцессное

взаимодействие(целостность)Доверенная загрузка и доверенная

динамическая загрузка (не реализована)Расширенная интроспекция (способность

отслеживать события в ВМ)Поддержка иных операционных системГипервизор первого типаОграниченное число видов защищаемых

ресурсов

15.11.2012

Summary

Аспекты системы защитыОценка

трудоемкости

Оценка вклада

в overhea

d

Поддержка AMD 32 64

Поддержка Intel 32 64

Поддержка ARM (мобильные платформы)

Поддержка ОС Linux Win.

Межпроцессное взаимодействие

Поддержка многоядерности

Гипервизор bare-metal На базе NOVA(?)

Целостность файлов

Доверенная загрузка

Контроль USB

Доверенный интерфейс пользователя

Поддержка виртуализации серверов (контейнеры)

Recommended