KasperskyOS Community Edition 1.1
- Что нового
- О KasperskyOS Community Edition
- Обзор KasperskyOS
- Начало работы
- Разработка под KasperskyOS
- Запуск процессов
- Файловые системы и сеть
- Состав компонента VFS
- Создание IPC-канала до VFS
- Сборка исполняемого файла VFS
- Объединение клиента и VFS в один исполняемый файл
- Обзор: аргументы и переменные окружения VFS
- Монтирование файловой системы при старте
- Разделение файловых и сетевых вызовов с помощью бэкендов VFS
- Написание пользовательского бэкенда VFS
- IPC и транспорт
- KasperskyOS API
- Библиотека libkos
- Общие сведения о библиотеке libkos
- Память
- Аллокация памяти
- Потоки
- Дескрипторы
- Уведомления
- Процессы
- Динамическое создание каналов
- Примитивы синхронизации
- KosCondvarBroadcast()
- KosCondvarDeinit()
- KosCondvarInit()
- KosCondvarSignal()
- KosCondvarWait()
- KosCondvarWaitTimeout()
- KosEventDeinit()
- KosEventInit()
- KosEventReset()
- KosEventSet()
- KosEventWait()
- KosEventWaitTimeout()
- KosMutexDeinit()
- KosMutexInit()
- KosMutexInitEx()
- KosMutexLock()
- KosMutexLockTimeout()
- KosMutexTryLock()
- KosMutexUnlock()
- KosRWLockDeinit()
- KosRWLockInit()
- KosRWLockRead()
- KosRWLockTryRead()
- KosRWLockTryWrite()
- KosRWLockUnlock()
- KosRWLockWrite()
- KosSemaphoreDeinit()
- KosSemaphoreInit()
- KosSemaphoreSignal()
- KosSemaphoreTryWait()
- KosSemaphoreWait()
- KosSemaphoreWaitTimeout()
- DMA-буферы
- IOMMU
- Порты ввода-вывода
- IoReadIoPort8(), IoReadIoPort16(), IoReadIoPort32()
- IoReadIoPortBuffer8(), IoReadIoPortBuffer16(), IoReadIoPortBuffer32()
- IoWriteIoPort8(), IoWriteIoPort16(), IoWriteIoPort32()
- IoWriteIoPortBuffer8(), IoWriteIoPortBuffer16(), IoWriteIoPortBuffer32()
- KnIoPermitPort()
- KnRegisterPort8(), KnRegisterPort16(), KnRegisterPort32()
- KnRegisterPorts()
- Ввод-вывод через память (MMIO)
- Прерывания
- Освобождение ресурсов
- Время
- Очереди
- Барьеры памяти
- Получение сведений об использовании процессорного времени и памяти
- Отправка и прием IPC-сообщений
- Поддержка POSIX
- Компонент MessageBus
- Коды возврата
- Библиотека libkos
- Сборка решения на базе KasperskyOS
- Разработка политик безопасности
- Формальные спецификации компонентов решения на базе KasperskyOS
- Описание политики безопасности решения на базе KasperskyOS
- Общие сведения об описании политики безопасности решения на базе KasperskyOS
- Синтаксис языка PSL
- Описание глобальных параметров политики безопасности решения на базе KasperskyOS
- Включение PSL-файлов
- Включение EDL-файлов
- Создание объектов моделей безопасности
- Привязка методов моделей безопасности к событиям безопасности
- Описание профилей аудита безопасности
- Описание и выполнение тестов политики безопасности решения на базе KasperskyOS
- Типы данных в языке PSL
- Примеры привязок методов моделей безопасности к событиям безопасности
- Примеры описаний простейших политик безопасности решений на базе KasperskyOS
- Примеры описаний профилей аудита безопасности
- Примеры описаний тестов политик безопасности решений на базе KasperskyOS
- Модели безопасности KasperskyOS
- Модель безопасности Pred
- Модель безопасности Bool
- Модель безопасности Math
- Модель безопасности Struct
- Модель безопасности Base
- Модель безопасности Regex
- Модель безопасности HashSet
- Модель безопасности StaticMap
- Объект модели безопасности StaticMap
- Правило init модели безопасности StaticMap
- Правило fini модели безопасности StaticMap
- Правило set модели безопасности StaticMap
- Правило commit модели безопасности StaticMap
- Правило rollback модели безопасности StaticMap
- Выражение get модели безопасности StaticMap
- Выражение get_uncommited модели безопасности StaticMap
- Модель безопасности Flow
- Модель безопасности Mic
- Объект модели безопасности Mic
- Правило create модели безопасности Mic
- Правило execute модели безопасности Mic
- Правило upgrade модели безопасности Mic
- Правило call модели безопасности Mic
- Правило invoke модели безопасности Mic
- Правило read модели безопасности Mic
- Правило write модели безопасности Mic
- Выражение query_level модели безопасности Mic
- Методы служб ядра KasperskyOS
- Служба виртуальной памяти
- Служба ввода-вывода
- Служба потоков исполнения
- Служба дескрипторов
- Служба процессов
- Служба синхронизации
- Службы файловой системы
- Служба времени
- Служба слоя аппаратных абстракций
- Служба управления контроллером XHCI
- Служба аудита
- Служба профилирования
- Служба управления памятью для ввода-вывода
- Служба соединений
- Служба управления электропитанием
- Служба уведомлений
- Служба гипервизора
- Службы доверенной среды исполнения
- Служба прерывания IPC
- Служба управления частотой процессоров
- Паттерны безопасности при разработке под KasperskyOS
- Приложения
- Дополнительные примеры
- Пример hello
- Пример echo
- Пример ping
- Пример net_with_separate_vfs
- Пример net2_with_separate_vfs
- Пример embedded_vfs
- Пример embed_ext2_with_separate_vfs
- Пример multi_vfs_ntpd
- Пример multi_vfs_dns_client
- Пример multi_vfs_dhcpcd
- Пример mqtt_publisher (Mosquitto)
- Пример mqtt_subscriber (Mosquitto)
- Пример gpio_input
- Пример gpio_output
- Пример gpio_interrupt
- Пример gpio_echo
- Пример koslogger
- Пример pcre
- Пример messagebus
- Пример i2c_ds1307_rtc
- Пример iperf_separate_vfs
- Пример uart
- Пример spi_check_regs
- Пример barcode_scanner
- Пример perfcnt
- Дополнительные примеры
- Лицензирование программы
- Предоставление данных
- Информация о стороннем коде
- Уведомления о товарных знаках
Паттерн Information Obscurity
Описание
Цель паттерна Information Obscurity
– шифрование конфиденциальных данных в небезопасных средах с целью защиты данных от кражи.
Контекст
Этот паттерн следует использовать, когда данные часто передаются между частями системы и/или между системой и другими (внешними) системами.
Проблема
Конфиденциальные данные могут передаваться через недоверенную среду как внутри одной системы (через недоверенные компоненты), так и между разными системами (через недоверенные сети). В случае компрометации этой среды конфиденциальные данные могут быть получены злоумышленником.
Решение
Политика безопасности должна разделять данные по уровню конфиденциальности, чтобы определить, какие данные следует зашифровать и какие алгоритмы шифрования использовать. Поскольку шифрование и дешифрование могут занять много времени, лучше по возможности ограничить их использование. Паттерн Information Obscurity
решает эту проблему за счет использования уровня конфиденциальности для определения того, что необходимо скрыть с помощью шифрования.
Примеры реализации
Пример реализации паттерна Information Obscurity
: Пример Secure Login.
Источники
Паттерн Information Obscurity
подробно рассмотрен в следующих работах:
- Dangler, Jeremiah Y., "Categorization of Security Design Patterns" (2013). Electronic Theses and Dissertations. Paper 1119. https://dc.etsu.edu/etd/1119
- Schumacher, Markus, Fernandez-Buglioni, Eduardo, Hybertson, Duane, Buschmann, Frank, and Sommerlad, Peter. "Security Patterns: Integrating Security and Systems Engineering" (2006).
В этом разделе |