CNews Cloud: Облачные сервисы

Выпущена бесплатная файловая система для параноиков, которые не доверяют облачным провайдерам

ПО Свободное ПО Безопасность Интеграция Техника Облака Открытое ПО
, Текст: Дмитрий Степанов
Компания Kudelski Security открыла всем желающим доступ к своему Oramfs. Эта виртуальная файловая система предназначена для использования с удаленными хранилищами данных и не позволяет кому-либо отслеживать структуру операций записи и чтения в них из них соответственно. В совокупности с шифрованием технология позволяет обеспечить высочайший уровень защиты конфиденциальности данных. Инструмент, в частности, подойдет пользователям, которые не доверяют публичным облачным провайдерам, но, тем не менее, вынуждены прибегать к их услугам.

Файловая система с технологией ORAM

Международная компания в сфере кибербезопасности Kudelski Security опубликовала исходный код файловой системы Oramfs, в которой реализована технология ORAM (Oblivious Random Access Machine). Это своего рода дополнительный слой защиты поверх любой Unix-совместимой файловой системы, который позволяет обеспечить более высокий уровень конфиденциальности при работе с данными в сравнении с банальным шифрованием.

Oramfs позволяет создавать хранилища данных, в которых от посторонних глаз скрыто не только содержимое, но и характер обращения к нему. К примеру, если разместить Oramfs в публичном облаке, компания-владелец сервиса не сможет определить, к каким именно из своих файлов обращается пользователь в разные моменты времени и даже отличить операции считывания и записи друг от друга. Сокрытие подобной информации, по мнению разработчиков проекта, способствует повышению уровня защищенности пользовательских данных.

Oramfs написана на языке Rust, что, как подчеркивают разработчики, положительно сказывается на производительности программы и позволяет избежать ошибок, связанных с управлением оперативной памятью. Исходный код Oramfs размещен на хостинге ИТ-проектов Github на условиях свободной лицензии GPLv3 и доступен бесплатно всем желающим.

fs600.jpg
Oramfs надежно маскирует характер доступа к данным в облаке, но за это приходится платить низкой скоростью работы с ними и преждевременным износом SSD

Разработчики подготовили FUSE-модуль для Linux, в котором реализована функциональность Oramfs. На соответствующей странице Github подчеркивается, что продукт еще не готов к использованию в «боевых» условиях. Создатели настоятельно рекомендуют сделать резервную копию своих данных прежде чем приступать к работе с Oramfs.

Как это работает

По заявлению разработчиков, Oramfs можно использовать в связке с любыми файловыми системами, поддерживающимися в современных Unix-подобных системах. По умолчанию используется ext4 – базовая файловая система для большинства современных дистрибутивов.

Развернуть Oramfs можно на базе сервисов, предоставляющих хранилища, которые можно примонтировать как локальный каталог. Такую возможность предлагают, к примеру, практически все крупные популярные облачные провайдеры.

Oramfs, согласно документации к проекту, поддерживает криптографические алгоритмы ChaCha8, AES-CTR, AES-GCM.

В качестве так называемой схемы сокрытия паттернов доступа по умолчанию используется Path ORAM – крайне простой алгоритм, подходящий для работы в условиях значительно ограниченного размера хранилища. Path ORAM был разработан в начале 2012 г. международной группой ученых из ведущих мировых университетов.

В процессе настройки Oramfs на локальной машине пользователя под управлением Linux создаются два каталога: приватный (private) и публичный (public). Публичный будет использоваться как точка монтирования удаленного хранилища, в нем будут размещены файлы защищенного образа Oramfs, каждый из которой представляет собой отдельный блок файловой системы.

Через приватный каталог после введения заранее заданной кодовой фразы будет осуществляться любое взаимодействие пользователя с данными в этом хранилище, которое обеспечивается посредством соответствующего FUSE-модуля. Модуль автоматически собирает разрозненные блоки из публичного каталога в единое виртуальное петлевое (loop) устройство, с которым и работает пользователь.

Всякий раз при обращении к данным через приватный каталог заново формируются файлы образа Oramfs, причем блоки информация внутри него наверняка окажутся перетасованными. Затем файлы образа в зашифрованном виде выгружаются в удаленное хранилище через публичный каталог.

Таким образом достигается сокрытие паттернов чтения/записи данных в удавленное хранилище от его владельцев/администраторов или возможных злоумышленников. Инструмент Oramfs может прийтись по нраву, например, пользователям, не до конца доверяющим публичным облачным провайдерам, но по той или иной причине вынужденным прибегать к их услугам.

Пожертвовать скоростью ради безопасности

Принимая во внимание тот факт, что любое обращение к данным в хранилище, защищенном Oramfs, приводит к выполнению целого ряда операций чтения/записи, выполняемых Oramfs «под капотом», пользователю придется мириться с крайне невысокой скоростью работы с хранилищем.

Так, согласно данным, опубликованным на Github-странице проекта, скорость считывания файла размером 10 МБ при использовании Oramfs занимает около одной секунды, 25 МБ – примерно три секунды. Скорость записи и того ниже: 15 секунд для 10-мегобайтного файла и 50 для 25-мегабайтного.

Тем не менее, если доверять результатам бенчмарка, представленного разработчиками Oramfs, их детище все равно существенно превосходит производительность, демонстрируемую UtahFS с поддержкой ORAM компании Cloudflare, – в девять и два раза в операциях чтения и записи соответственно.

Разработчики также обращают внимание потенциальных пользователей на то, что использование Oramfs может негативно сказываться на сроках службы твердотельных (SSD) накопителей. Причиной тому – все та же избыточная фоновая дисковая активность при каждом случае обращения к удаленному хранилищу.