34
Защита приложений от скомпрометированной ОС Яковенко П.Н. [email protected] Ефремов Д.В. [email protected] Пакулин Н.В. [email protected] Институт системного программирования РАН

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

  • Upload
    desma

  • View
    47

  • Download
    3

Embed Size (px)

DESCRIPTION

Защита приложений от скомпрометированной ОС. Яковенко П.Н. [email protected] Ефремов Д.В. [email protected] Пакулин Н.В. [email protected] Институт системного программирования РАН. - PowerPoint PPT Presentation

Citation preview

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

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

Яковенко П.Н. [email protected] Ефремов Д.В. [email protected] Пакулин Н.В. [email protected] Институт системного программирования РАН

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

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

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

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

2615.11.2012

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

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

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

Червь Win32/Stuxnet

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

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

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

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

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

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

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

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

The Microscope“.

315.11.2012

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

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

4

Червь Win32/Flame

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

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

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

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

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

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

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

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

15.11.2012

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

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

5

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

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

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

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

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

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

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

15.11.2012

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

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

6

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

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

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

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

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

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

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

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

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

15.11.2012

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

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

7

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

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

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

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

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

15.11.2012

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

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

8

Linux

Hypervisor

Linux

Accessdenied

Accessgranted

Trustedprocess

Delegate

Internet

Service VM Main (user’s) VM

Protectionmodule

Process

Syscallintercepti

on

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

15.11.2012

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

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

9

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

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

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

Реги

стры

(EIP

)

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

Ви

рту

ал

ьн

ая п

ам

ять

DM

изи

ческ

ая п

ам

ять

ЯдроОС

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

Загрузка

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

15.11.2012

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

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

10

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

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

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

Реги

стры

(EIP

)

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

Ви

рту

ал

ьн

ая п

ам

ять

DM

изи

ческ

ая п

ам

ять

ЯдроОС

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

Загрузка

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

15.11.2012

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

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

11

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

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

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

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

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

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

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

15.11.2012

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

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

12

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

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

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

Реги

стры

(EIP

)

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

Ви

рту

ал

ьн

ая п

ам

ять

DM

изи

ческ

ая п

ам

ять

ЯдроОС

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

Загрузка

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

15.11.2012

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

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

13

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

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

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

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

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

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

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

Адрес 1

Адрес 2

Адрес 44

Адрес 1*

Адрес 2*

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

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

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

вза

им

но-

од

нозн

ачн

ое

соотв

етс

тви

е

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

15.11.2012

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

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

14

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

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

Процесс 1

Процесс 2

Процесс 3

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

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

V1

V2

V3

P

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

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

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

M

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

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

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

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

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

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

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 подключена к адресному пространству доверенного процесса… не подключена

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

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

17

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

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

Гипервизор

Ядро ОС

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

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

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

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

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

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

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

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

15.11.2012

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

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

18

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

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

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

Реги

стры

(EIP

)

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

Ви

рту

ал

ьн

ая п

ам

ять

DM

изи

ческ

ая п

ам

ять

ЯдроОС

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

Загрузка

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

15.11.2012

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

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

19

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

15.11.2012

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

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

20

Основная VM

Ядро ОС

Сервисная VM

Ядро ОС

Гипервизор

Клиент

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

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

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

Интернет

Сервер

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

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

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

Хранилище

15.11.2012

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

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

21

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

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

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

Гипервизор

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

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

Обработчик

прерывания

ЗАПРОС

ОТВЕТ

15.11.2012

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

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

22

Гипервизор

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

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

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

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

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

Ядро ОС

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

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

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

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

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

Процесс

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

15.11.2012

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

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

23

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

15.11.2012

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

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

24

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

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

Фи

зическ

ая п

ам

ять

DM

A

вм

ЯдроОС

процесс

Загрузка

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

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

Загруз

ка

Гипервизор

КомпонентСЗ

15.11.2012

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

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

25

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

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

Фи

зическ

ая п

ам

ять

DM

A

вм

ЯдроОС

процесс

Загрузка

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

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

Загруз

ка

Гипервизор

КомпонентСЗ

15.11.2012

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

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

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

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

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

28

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

15.11.2012

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

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

29

SMM(System Management Mode)

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

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

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

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

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

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

15.11.2012

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

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

30

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

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

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

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

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

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

15.11.2012

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

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

31

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

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

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

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

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

15.11.2012

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

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

32

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

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

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

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

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

(лёгкая)

15.11.2012

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

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

33

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

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

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

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

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

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

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

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

15.11.2012

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

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

34

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

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

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

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

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

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

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

15.11.2012

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

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

35

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

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

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

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

ресурсов

15.11.2012

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

Summary

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

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

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

в overhea

d

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

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

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

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

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

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

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

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

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

Контроль USB

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

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