Проблемы обеспечения информационной безопасности
TRANSCRIPT
![Page 1: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/1.jpg)
Проблемы обеспечения информационной
безопасности
Пакулин Николай Витальевич,
Институт системного программирования РАН (ИСП РАН)
[email protected] http://ispras.ru/
Выступление в МФТИ
4 марта 2013 года
![Page 2: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/2.jpg)
Что такое информационная
безопасность
2
![Page 3: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/3.jpg)
Что такое информационная
безопасность (2) • Информационная безопасность – это процесс обеспечения
конфиденциальности, целостности и доступности информации (ГОСТ Р ИСО/МЭК 17799). – Конфиденциальность – свойство информационных ресурсов, в
том числе информации, связанное с тем, что они не станут доступными и не будут раскрыты для неуполномоченных лиц.
– Целостность: неизменность информации в процессе её передачи или хранения.
– Доступность: свойство информационных ресурсов, в том числе информации, определяющее возможность их получения и использования по требованию уполномоченных лиц.
3
![Page 4: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/4.jpg)
Мой процесс – моя крепость • Операционная
система строит для приложения процесс – Защищает данные от
наблюдения/изменения
– Защищает код от модификации
– Предоставляет доступ через определенные точки («ворота»)
• Все под контролем?
![Page 5: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/5.jpg)
Все под контролем? Stuxnet
Разрушение технологического процесса DuQu – кража конфиденциальных данных
Flame – кибер-шпионаж Gauss – кража конфиденциальных данных
![Page 6: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/6.jpg)
Статистика выявления
уязвимостей в ПО
По сведениям Национально базы данных уязвимостей, США http://web.nvd.nist.gov/view/vuln/statistics
2006
2012
●Системное ПО
Операционные
системы
Серверное ПО
●Прикладное ПО
Браузеры
Просмотр
мультимедиа
●Информационные
системы
●Встроенное ПО
![Page 7: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/7.jpg)
Тенденции роста
злонамеренного ПО
●Рост числа выявленных сигнатур на 50-100% в год
![Page 8: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/8.jpg)
Ничто не бывает хорошо во
всех отношениях… • Для ядра ОС процессы прозрачны
– Доступ к оперативной памяти, загрузка кода, …
• Ядро ОС монолитно – Все компоненты находятся на одном уровне
привилегий
• Внедрение злонамеренного кода в ядро дает полный контроль над системой – Использование уязвимостей ОС
– Краденые сертификаты цифровой подписи
– Недокументированные возможности
– …
![Page 9: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/9.jpg)
Чем совершеннее вещь, тем
реже она удаётся (Ницше) • «Массовые операционные системы характеризуются
двумя чертами, которые делают их малонадежными и слабо защищенными: они слишком объемные, а отдельные компоненты крайне плохо изолированы друг от друга»
Таненбаум и др. (2006)
• «С течением времени цифровые системы будут только усложняться, а сложность – худший враг безопасности»
Шнайер (2000)
• «Всего лишь одна логическая ошибка в коде операционной системы может полностью свести на нет работу всех защитных механизмов»
Мэдник и Донован (1973)
9/26
![Page 10: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/10.jpg)
Уязвимости и закладки
• Уязвимость – недостаток в системе, используя который, можно нарушить её целостность и вызвать неправильную работу. – Программные ошибки
– Ошибки проектирования
– Ненадежные механизмы защиты
• Закладка – преднамеренно искаженный или скрытно внедренный исполнимый код, предоставляющий неавторизованный доступ – В аппаратуре, драйверах, системном ПО,
прикладном ПО
10
![Page 11: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/11.jpg)
Борьба с уязвимостями
• Выпуск обновлений
• Исследование и анализ кода
– Статическая верификация программ
– Динамический анализ программ
– Стенды полунатурного моделирования
• Контроль ПО внешними средствами
11
![Page 12: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/12.jpg)
ЗАЩИТА ПРИКЛАДНЫХ
ПРОГРАММ ОТ
СКОМПРОМЕТИРОВАННОЙ ОС
Проект Севигатор
12
![Page 13: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/13.jpg)
Проект Севигатор: постановка задачи
• Обеспечение конфиденциальности «в целом»
– Контроль доступа к каналам передачи и хранения данных в условиях недоверенной операционной системы
– Недоверенный код лишен возможности передать конфиденциальные данные внешнему получателю
• Обеспечение целостности
– Контроль модификации критической информации: • Запись возможна только доверенным процессам
• Возможность доступа к критичной информации только «по чтению» для недоверенного кода (в т.ч. ядра ОС)
• Передача данных по каналам разрешена только авторизованным приложениям
• Отсутствие необходимости модифицировать код операционной системы и приложений
13
![Page 14: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/14.jpg)
Архитектура системы защиты
14
Гипервизор
Доступ
запрещен
Доступ
разрешен
Trusted process
Delegate
Internet
Сервисная виртуальная
машина
Виртуальная машина
пользователя
Модуль защиты
Process
Syscall interception
![Page 15: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/15.jpg)
Введение в виртуализацию
• Виртуализация – разделение ресурсов вычислительной системы между несколькими ОС, выполняющимися одновременно – Виртуальная машина
• Гипервизор (Virtual Machine Manager) – программа или аппаратная схема, обеспечивающая одновременное выполнение нескольких ОС на одной вычислительной системе – Изоляция ОС друг от друга,
– Защиту и безопасность
– Разделение ресурсов между различными запущенными ОС
• Технологии: Intel VT и AMD-V
15
VM1
Процессы
ОС
Драйверы
VM2
Процессы
ОС
Драйверы
Гипервизор
Virtual Machine Manager
Аппаратура
вычислительной системы
![Page 16: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/16.jpg)
Введение в виртуализацию (2)
• Задачи гипервизора
– Настройка трансляции адресов: из
«физических» адресов ВМ в аппаратные
физические адреса
– Настройка разделения устройств между ВМ
– Перехват привилегированных команд
– Перехват и маршрутизация прерываний
– Обработка явных обращений (VMMCALL)
16
![Page 17: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/17.jpg)
Применение виртуализации
для защиты ПО • Привилегии гипервизора выше, чем
привилегии ядра ОС
• Гипервизор управляет доступом к физической памяти
• Гипервизор управляет доступом к аппаратным ресурсам
• Объем кода гипервизора << объем кода ядра ОС – Возможен анализ качества (выявление
уязвимостей)
17
![Page 18: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/18.jpg)
Архитектура системы защиты
18
Гипервизор
Доступ
запрещен
Доступ
разрешен
Trusted process
Delegate
Internet
Сервисная виртуальная
машина
Виртуальная машина
пользователя
Модуль защиты
Process
Syscall interception
![Page 19: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/19.jpg)
Возможные точки вредоносного воздействия
на доверенный процесс
19
Контекст процесса
Файл подкачки
Исполняемые файлы
Реги
стры
(EIP
)
Таблицы приписки
Ви
ртуальн
ая п
ам
ять
DM
A
Фи
зическая п
амять
Ядро ОС
Другой процесс
Загрузка
![Page 20: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/20.jpg)
Регистрация доверенного
приложения • Стартовый набор ограничений задается
«регистрационной» информацией программы – Регистрационная информация содержит контрольные суммы
(SHA-1) для всех объектных модулей приложения • в т.ч. ld.so для динамически компонуемых приложений
– Регистрационная информация не привязана к конкретному имени или расположению приложения в файловой системе
• у каждого приложения есть уникальный ID
• Запуск доверенного приложения осуществляется специальной программой «монитором», который сообщает гипервизору ID приложения
• Гипервизор сравнивает загруженный образ с сохраненными контрольными суммами
![Page 21: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/21.jpg)
Возможные точки вредоносного воздействия
на доверенный процесс
21
Контекст процесса
Файл подкачки
Исполняемые файлы
Реги
стры
(EIP
)
Таблицы приписки
Ви
ртуальн
ая п
ам
ять
DM
A
Фи
зическая п
амять
Ядро ОС
Другой процесс
Загрузка
![Page 22: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/22.jpg)
Трансляция адресов виртуальной
машины
Директория страниц
Таблица страниц
Директория страниц
Таблица страниц
Таблица страниц
Гипервизор (вложен. таблицы ВМ)
Виртуальная машина (таблицы ОС)
Таблица страниц
Адрес 1
Адрес 2
Адрес 44
Адрес 1*
Адрес 2*
Вирт. адрес Физ. адрес
Физ. адрес Маш. адрес
Попытка доступа к закрытой странице
вза
им
но
-
од
но
знач
но
е
соо
твет
стви
е
![Page 23: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/23.jpg)
Виртуальная машина
Процесс 1
Процесс 2
Процесс 3
Таблицы
приписки
Таблицы
приписки
V1
V2
V3
P
Расшир.
таблицы
приписки
Расшир.
таблицы
приписки
Расшир.
таблицы
приписки
M
Взаимоисключающие
режимы доступа
Принцип защиты физической
памяти
23
• Расширенные таблицы приписки контролируют доступ к общей физической памяти
• Отдельные для каждого доверенного процесса
– деление по PID
• Отдельные для ядра ОС
– деление по режиму привилегий
![Page 24: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/24.jpg)
Другой процесс Другой процесс
Доверенный процесс Доверенный процесс Доверенный процесс
Гипервизор
Ядро ОС
Другой процесс
Перехват прерывания выполнения
процесса
Перехват возврата управления
процессу
Передача управления
между процессом и
ядром ОС только
через гипервизор
• Сохранение регистров
• Переключение домена
• Проверка регистров
• Переключение домена
Проверка ограничений на
содержимое памяти
Контроль за потоком управления
24
![Page 25: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/25.jpg)
ОБЕСПЕЧЕНИЕ
КОНФИДЕНЦИАЛЬНОСТИ:
ОГРАНИЧЕНИЕ ДОСТУПА К
РЕСУРСАМ 25
![Page 26: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/26.jpg)
Основная VM
Ядро ОС
Сервисная VM
Ядро ОС
Гипервизор
Клиент
Авторизованный процесс
Параметры вызова Сопоставление
Интернет
Сервер
Опер. системы
в обеих машинах
недоверенные
Модуль ядра КБ Модуль ядра КБ
Хранилище
Архитектура удалённого
исполнения системных вызовов
26
![Page 27: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/27.jpg)
Обмен данными ВМ и гипервизора
27
Виртуальная
машина
Кольцевой буфер
Гипервизор
Виртуальное
PCI устройство
IRQ (извещение о данных в буфере)
Обработчик прерывания
…
ЗАПРОС
ОТВЕТ
![Page 28: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/28.jpg)
Гипервизор
Основная ВМ (недоверенная)
Сервисная ВМ (доверенная)
NFS клиент NFS сервер
Системный вызов
Доверенный процесс
Ядро ОС
Параметры/Результаты
вызова
«READ» – разрешен всем
«WRITE» – только доверенным процессам
Сопоставление
• запрос допустимости «write»
операций
• извещение о результатах
«read» операций доверенного
процесса
Файловая система
Процесс
28
![Page 29: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/29.jpg)
УГРОЗЫ И ВОЗМОЖНЫЕ
АТАКИ НА СИСТЕМУ
ЗАЩИТЫ 29
![Page 30: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/30.jpg)
Возможные точки вредоносного воздействия на гипервизор
Исполняемые файлы
Фи
зическая п
ам
ять
D
MA
вм
Ядро ОС
процесс
Загрузка
Регистрационная информация
Гипервизор
Компонент СЗ
![Page 31: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/31.jpg)
Проект активации
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: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/32.jpg)
Дополнительные угрозы
• Перепрошивка BIOS
• System Management Mode (SMM)
• Эмуляция действий пользователя
• Подмена конфигурационных файлов
• Взлом сервисной ОС
32
![Page 33: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/33.jpg)
Теоретические возможности
взломать систему
Ошибка в реализации системы защиты
Нарушение требования доверенности прикладных
программ
Неправильная конфигурация системы
Подмена пакетов программ
DMA атака на стабильность системы
Уязвимости/Закладки в аппаратуре
33
![Page 34: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/34.jpg)
ОБСУЖДЕНИЕ
34
![Page 35: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/35.jpg)
Обеспечение информационной
безопасности
• Обеспечение информационной
безопасности – комплексная,
многофакторная деятельность
– Анализ конфигурации системы защиты
– Анализ исходных текстов системного ПО
– Анализ бинарных кодов системного ПО
– Мониторинг во время выполнения
35
![Page 36: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/36.jpg)
Статус проекта Севигатор
• Разработана архитектура защиты в условиях уязвимой ОС – Целостность кода и данных доверенного ПО
– Целостность каналов связи доверенного ПО
– Конфиденциальность данных доверенного ПО
• Реализован прототип для Linux/KVM – AMD 32-x битный режим
– Защита памяти, ограничение доступа к сети, защищенные файловые хранилища
– Защита приложений в ОС Linux
– ~ 10 тыс. строк на Си
36
![Page 37: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/37.jpg)
Нерешенные задачи
• Перенос на аппаратную платформу (в процессе)
• Поддержка многоядерного выполнения ВМ пользователя
• Доверенная загрузка СЗ
• Поддержка Windows
• Поддержка дополнительных видов ресурсов (USB!)
• Перенос на ARM / Android
• Верификация архитектур защиты (математика!)
37
![Page 38: Проблемы обеспечения информационной безопасности](https://reader033.vdocuments.mx/reader033/viewer/2022051912/6284e731d7180e006f4e2c2c/html5/thumbnails/38.jpg)
СПАСИБО ЗА ВНИМАНИЕ!
38