38
Проблемы обеспечения информационной безопасности Пакулин Николай Витальевич , Институт системного программирования РАН (ИСП РАН) [email protected] http://ispras.ru/ Выступление в МФТИ 4 марта 2013 года

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

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Проблемы обеспечения информационной безопасности

Проблемы обеспечения информационной

безопасности

Пакулин Николай Витальевич,

Институт системного программирования РАН (ИСП РАН)

[email protected] http://ispras.ru/

Выступление в МФТИ

4 марта 2013 года

Page 2: Проблемы обеспечения информационной безопасности

Что такое информационная

безопасность

2

Page 3: Проблемы обеспечения информационной безопасности

Что такое информационная

безопасность (2) • Информационная безопасность – это процесс обеспечения

конфиденциальности, целостности и доступности информации (ГОСТ Р ИСО/МЭК 17799). – Конфиденциальность – свойство информационных ресурсов, в

том числе информации, связанное с тем, что они не станут доступными и не будут раскрыты для неуполномоченных лиц.

– Целостность: неизменность информации в процессе её передачи или хранения.

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

3

Page 4: Проблемы обеспечения информационной безопасности

Мой процесс – моя крепость • Операционная

система строит для приложения процесс – Защищает данные от

наблюдения/изменения

– Защищает код от модификации

– Предоставляет доступ через определенные точки («ворота»)

• Все под контролем?

Page 5: Проблемы обеспечения информационной безопасности

Все под контролем? Stuxnet

Разрушение технологического процесса DuQu – кража конфиденциальных данных

Flame – кибер-шпионаж Gauss – кража конфиденциальных данных

Page 6: Проблемы обеспечения информационной безопасности

Статистика выявления

уязвимостей в ПО

По сведениям Национально базы данных уязвимостей, США http://web.nvd.nist.gov/view/vuln/statistics

2006

2012

●Системное ПО

Операционные

системы

Серверное ПО

●Прикладное ПО

Браузеры

Просмотр

мультимедиа

●Информационные

системы

●Встроенное ПО

Page 7: Проблемы обеспечения информационной безопасности

Тенденции роста

злонамеренного ПО

●Рост числа выявленных сигнатур на 50-100% в год

Page 8: Проблемы обеспечения информационной безопасности

Ничто не бывает хорошо во

всех отношениях… • Для ядра ОС процессы прозрачны

– Доступ к оперативной памяти, загрузка кода, …

• Ядро ОС монолитно – Все компоненты находятся на одном уровне

привилегий

• Внедрение злонамеренного кода в ядро дает полный контроль над системой – Использование уязвимостей ОС

– Краденые сертификаты цифровой подписи

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

– …

Page 9: Проблемы обеспечения информационной безопасности

Чем совершеннее вещь, тем

реже она удаётся (Ницше) • «Массовые операционные системы характеризуются

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

Таненбаум и др. (2006)

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

Шнайер (2000)

• «Всего лишь одна логическая ошибка в коде операционной системы может полностью свести на нет работу всех защитных механизмов»

Мэдник и Донован (1973)

9/26

Page 10: Проблемы обеспечения информационной безопасности

Уязвимости и закладки

• Уязвимость – недостаток в системе, используя который, можно нарушить её целостность и вызвать неправильную работу. – Программные ошибки

– Ошибки проектирования

– Ненадежные механизмы защиты

• Закладка – преднамеренно искаженный или скрытно внедренный исполнимый код, предоставляющий неавторизованный доступ – В аппаратуре, драйверах, системном ПО,

прикладном ПО

10

Page 11: Проблемы обеспечения информационной безопасности

Борьба с уязвимостями

• Выпуск обновлений

• Исследование и анализ кода

– Статическая верификация программ

– Динамический анализ программ

– Стенды полунатурного моделирования

• Контроль ПО внешними средствами

11

Page 12: Проблемы обеспечения информационной безопасности

ЗАЩИТА ПРИКЛАДНЫХ

ПРОГРАММ ОТ

СКОМПРОМЕТИРОВАННОЙ ОС

Проект Севигатор

12

Page 13: Проблемы обеспечения информационной безопасности

Проект Севигатор: постановка задачи

• Обеспечение конфиденциальности «в целом»

– Контроль доступа к каналам передачи и хранения данных в условиях недоверенной операционной системы

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

• Обеспечение целостности

– Контроль модификации критической информации: • Запись возможна только доверенным процессам

• Возможность доступа к критичной информации только «по чтению» для недоверенного кода (в т.ч. ядра ОС)

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

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

13

Page 14: Проблемы обеспечения информационной безопасности

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

14

Гипервизор

Доступ

запрещен

Доступ

разрешен

Trusted process

Delegate

Internet

Сервисная виртуальная

машина

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

пользователя

Модуль защиты

Process

Syscall interception

Page 15: Проблемы обеспечения информационной безопасности

Введение в виртуализацию

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

• Гипервизор (Virtual Machine Manager) – программа или аппаратная схема, обеспечивающая одновременное выполнение нескольких ОС на одной вычислительной системе – Изоляция ОС друг от друга,

– Защиту и безопасность

– Разделение ресурсов между различными запущенными ОС

• Технологии: Intel VT и AMD-V

15

VM1

Процессы

ОС

Драйверы

VM2

Процессы

ОС

Драйверы

Гипервизор

Virtual Machine Manager

Аппаратура

вычислительной системы

Page 16: Проблемы обеспечения информационной безопасности

Введение в виртуализацию (2)

• Задачи гипервизора

– Настройка трансляции адресов: из

«физических» адресов ВМ в аппаратные

физические адреса

– Настройка разделения устройств между ВМ

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

– Перехват и маршрутизация прерываний

– Обработка явных обращений (VMMCALL)

16

Page 17: Проблемы обеспечения информационной безопасности

Применение виртуализации

для защиты ПО • Привилегии гипервизора выше, чем

привилегии ядра ОС

• Гипервизор управляет доступом к физической памяти

• Гипервизор управляет доступом к аппаратным ресурсам

• Объем кода гипервизора << объем кода ядра ОС – Возможен анализ качества (выявление

уязвимостей)

17

Page 18: Проблемы обеспечения информационной безопасности

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

18

Гипервизор

Доступ

запрещен

Доступ

разрешен

Trusted process

Delegate

Internet

Сервисная виртуальная

машина

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

пользователя

Модуль защиты

Process

Syscall interception

Page 19: Проблемы обеспечения информационной безопасности

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

на доверенный процесс

19

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

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

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

Реги

стры

(EIP

)

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

Ви

ртуальн

ая п

ам

ять

DM

A

Фи

зическая п

амять

Ядро ОС

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

Загрузка

Page 20: Проблемы обеспечения информационной безопасности

Регистрация доверенного

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

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

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

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

• у каждого приложения есть уникальный ID

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

• Гипервизор сравнивает загруженный образ с сохраненными контрольными суммами

Page 21: Проблемы обеспечения информационной безопасности

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

на доверенный процесс

21

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

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

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

Реги

стры

(EIP

)

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

Ви

ртуальн

ая п

ам

ять

DM

A

Фи

зическая п

амять

Ядро ОС

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

Загрузка

Page 22: Проблемы обеспечения информационной безопасности

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

машины

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

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

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

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

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

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

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

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

Адрес 1

Адрес 2

Адрес 44

Адрес 1*

Адрес 2*

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

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

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

вза

им

но

-

од

но

знач

но

е

соо

твет

стви

е

Page 23: Проблемы обеспечения информационной безопасности

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

Процесс 1

Процесс 2

Процесс 3

Таблицы

приписки

Таблицы

приписки

V1

V2

V3

P

Расшир.

таблицы

приписки

Расшир.

таблицы

приписки

Расшир.

таблицы

приписки

M

Взаимоисключающие

режимы доступа

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

памяти

23

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

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

– деление по PID

• Отдельные для ядра ОС

– деление по режиму привилегий

Page 24: Проблемы обеспечения информационной безопасности

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

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

Гипервизор

Ядро ОС

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

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

процесса

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

процессу

Передача управления

между процессом и

ядром ОС только

через гипервизор

• Сохранение регистров

• Переключение домена

• Проверка регистров

• Переключение домена

Проверка ограничений на

содержимое памяти

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

24

Page 25: Проблемы обеспечения информационной безопасности

ОБЕСПЕЧЕНИЕ

КОНФИДЕНЦИАЛЬНОСТИ:

ОГРАНИЧЕНИЕ ДОСТУПА К

РЕСУРСАМ 25

Page 26: Проблемы обеспечения информационной безопасности

Основная VM

Ядро ОС

Сервисная VM

Ядро ОС

Гипервизор

Клиент

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

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

Интернет

Сервер

Опер. системы

в обеих машинах

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

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

Хранилище

Архитектура удалённого

исполнения системных вызовов

26

Page 27: Проблемы обеспечения информационной безопасности

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

27

Виртуальная

машина

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

Гипервизор

Виртуальное

PCI устройство

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

Обработчик прерывания

ЗАПРОС

ОТВЕТ

Page 28: Проблемы обеспечения информационной безопасности

Гипервизор

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

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

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

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

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

Ядро ОС

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

вызова

«READ» – разрешен всем

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

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

• запрос допустимости «write»

операций

• извещение о результатах

«read» операций доверенного

процесса

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

Процесс

28

Page 29: Проблемы обеспечения информационной безопасности

УГРОЗЫ И ВОЗМОЖНЫЕ

АТАКИ НА СИСТЕМУ

ЗАЩИТЫ 29

Page 30: Проблемы обеспечения информационной безопасности

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

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

Фи

зическая п

ам

ять

D

MA

вм

Ядро ОС

процесс

Загрузка

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

Гипервизор

Компонент СЗ

Page 31: Проблемы обеспечения информационной безопасности

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

31

“dynaload” driver

Secure loader

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

Page 32: Проблемы обеспечения информационной безопасности

Дополнительные угрозы

• Перепрошивка BIOS

• System Management Mode (SMM)

• Эмуляция действий пользователя

• Подмена конфигурационных файлов

• Взлом сервисной ОС

32

Page 33: Проблемы обеспечения информационной безопасности

Теоретические возможности

взломать систему

Ошибка в реализации системы защиты

Нарушение требования доверенности прикладных

программ

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

Подмена пакетов программ

DMA атака на стабильность системы

Уязвимости/Закладки в аппаратуре

33

Page 34: Проблемы обеспечения информационной безопасности

ОБСУЖДЕНИЕ

34

Page 35: Проблемы обеспечения информационной безопасности

Обеспечение информационной

безопасности

• Обеспечение информационной

безопасности – комплексная,

многофакторная деятельность

– Анализ конфигурации системы защиты

– Анализ исходных текстов системного ПО

– Анализ бинарных кодов системного ПО

– Мониторинг во время выполнения

35

Page 36: Проблемы обеспечения информационной безопасности

Статус проекта Севигатор

• Разработана архитектура защиты в условиях уязвимой ОС – Целостность кода и данных доверенного ПО

– Целостность каналов связи доверенного ПО

– Конфиденциальность данных доверенного ПО

• Реализован прототип для Linux/KVM – AMD 32-x битный режим

– Защита памяти, ограничение доступа к сети, защищенные файловые хранилища

– Защита приложений в ОС Linux

– ~ 10 тыс. строк на Си

36

Page 37: Проблемы обеспечения информационной безопасности

Нерешенные задачи

• Перенос на аппаратную платформу (в процессе)

• Поддержка многоядерного выполнения ВМ пользователя

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

• Поддержка Windows

• Поддержка дополнительных видов ресурсов (USB!)

• Перенос на ARM / Android

• Верификация архитектур защиты (математика!)

37

Page 38: Проблемы обеспечения информационной безопасности

СПАСИБО ЗА ВНИМАНИЕ!

38