Пример Separate Storage
Пример Separate Storage демонстрирует использование паттерна Distrustful Decomposition для решения задачи раздельного хранения данных для доверенных и недоверенных приложений.
Архитектура примера
Пример Separate Storage содержит две пользовательские программы: UserManager и CertificateManager.
Эти программы работают с данными, которые размещаются в соответствующих файлах:
- Программа
UserManagerработает с данными из файлаuserlist.txt; - Программа
CertificateManagerработает с данными из файлаcertificate.cer.
Каждая из этих программ использует собственный экземпляр программы VFS для доступа к отдельной файловой системе. При этом каждая программа VFS включает в себя драйвер блочного устройства, связанный с отдельным логическим разделом диска. Программа UserManager не имеет доступа к файловой системе программы CertificateManager и наоборот.

Такая архитектура гарантирует, что в случае атаки или ошибки в любой из программ UserManager и CertificateManager, эта программа не сможет получить доступ к файлу, который не предназначен для выполнения ее работы.
Политика безопасности в примере Separate Storage имеет следующие особенности:
- Программа
UserManagerимеет доступ к файловой системе только через программуVfsUser. - Программа
CertificateManagerимеет доступ к файловой системе только через программуVfsCertificate.
Файлы примера
Код примера и скрипты для сборки находятся по следующему пути:
/opt/KasperskyOS-Community-Edition-<platform>-<version>/examples/separate_storage
Сборка и запуск примера
Для сборки и запуска примера используется система CMake из состава KasperskyOS Community Edition SDK.
См. "Сборка и запуск примеров".