Стеганографические файловые системы: сокрытие данных в шуме
Steganographic file system
Стеганографические файловые системы: скрытое хранение данных в случайных битах диска. Шифрование, защита от обнаружения, решение проблемы перезаписи файлов.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Стеганографические файловые системы – это тип файловой системы, впервые предложенный Россом Андерсоном, Роджером Нидхэмом и Ади Шамиром. В их работе были предложены два основных метода скрытия данных: использование серии файлов фиксированного размера, изначально состоящих из случайных битов, поверх которых можно накладывать "векторы" таким образом, чтобы уровни доступа могли расшифровывать все нижележащие уровни, но даже не подозревать о существовании более высоких, либо заполнение всего раздела случайными битами и сокрытие файлов внутри него. В стеганографической файловой системе, использующей вторую схему, файлы не просто хранятся и не просто шифруются, а весь раздел рандомизируется. Зашифрованные файлы очень похожи на случайные участки раздела, поэтому при хранении файлов на разделе сложно отличить бессмысленный набор данных от реальных зашифрованных файлов. Более того, расположение файлов определяется ключом, и эти расположения скрыты и доступны только программам, использующим парольную фразу. Это приводит к проблеме, когда файлы могут быстро перезаписывать друг друга (из-за парадокса дней рождения), что компенсируется многократной записью файлов в разных местах для снижения риска потери данных.
Steganographic file systems are a kind of file system first proposed by Ross Anderson, Roger Needham, and Adi Shamir. Their paper proposed two main methods of hiding data: in a series of fixed size files originally consisting of random bits on top of which 'vectors' could be superimposed in such a way as to allow levels of security to decrypt all lower levels but not even know of the existence of any higher levels, or an entire partition is filled with random bits and files hidden in it. In a steganographic file system using the second scheme, files are not merely stored, nor stored encrypted, but the entire partition is randomized encrypted files strongly resemble randomized sections of the partition, and so when files are stored on the partition, there is no easy way to discern between meaningless gibberish and the actual encrypted files. Furthermore, locations of files are derived from the key for the files, and the locations are hidden and available to only programs with the passphrase. This leads to the problem that very quickly files can overwrite each other (because of the Birthday Paradox); this is compensated for by writing all files in multiple places to lessen the chance of data loss.
Преимущество
Хотя может показаться, что файловая система, гарантированно либо крайне неэффективная с точки зрения использования дискового пространства, либо приводящая к потере или повреждению данных из-за коллизий или утери ключа (вдобавок к своей сложности и низкой скорости чтения/записи), не имеет смысла, производительность не была целью StegFS. Напротив, StegFS предназначен для противодействия "атакам с принуждением" (rubberhose attacks), которые обычно успешны, поскольку зашифрованные файлы отличаются от обычных, и власти могут оказывать давление на пользователя, пока он не выдаст ключи, после чего все файлы становятся распознаваемыми как обычные. Однако, в стеганографической файловой системе количество файлов неизвестно, и каждый байт выглядит как зашифрованный, поэтому власти не могут определить, сколько файлов (и, следовательно, ключей) сохраняется. Пользователь имеет возможность правдоподобно отрицать свою причастность — он может утверждать, что хранит лишь несколько безобидных файлов или вообще ничего, и никто, не имеющий ключей, не сможет это опровергнуть.
While there may seem to be no point to a file system which is guaranteed to either be grossly inefficient storage space wise or to cause data loss and corruption either from data collisions or loss of the key (in addition to being a complex system, and for having poor read/write performance), performance was not the goal of StegFS. Rather, StegFS is intended to thwart "rubberhose attacks", which usually work because encrypted files are distinguishable from regular files, and authorities can coerce the user until the user gives up the keys and all the files are distinguishable as regular files. However, since in a steganographic file system, the number of files are unknown and every byte looks like an encrypted byte, the authorities cannot know how many files (and hence, keys) are stored. The user has plausible deniability — he can say there are only a few innocuous files or none at all, and anybody without the keys cannot gainsay the user.
Критика
Поул Хеннинг Камп критиковал модель угроз для стеганографических файловых систем в своей работе о GBDE, отметив, что в определенных ситуациях принуждения, особенно когда искомая информация на самом деле не хранится в стеганографических файловых системах, субъект не может "уйти от ответственности", доказав, что все ключи были переданы.
Poul Henning Kamp has criticized the threat model for steganographic file systems in his paper on GBDE, observing that in certain coercive situations, especially where the searched for information is in fact not stored in the steganographic file systems, it is not possible for a subject to "get off the hook" by proving that all keys have been surrendered.
Другие методы
Существуют и другие методы; описанный выше метод реализован в StegFS, но возможно стеганографическое сокрытие данных в изображениях (например, PNGDrive) или аудиофайлах. ScramDisk или устройство loop в Linux могут это делать. Как правило, стеганографическая файловая система реализуется поверх стеганографического слоя, который предоставляет только механизм хранения. Например, стеганографический слой файловой системы может состоять из существующих MP3-файлов, каждый из которых содержит фрагмент данных (или часть файловой системы). Конечным результатом является файловая система, которую сложно обнаружить (в зависимости от стеганографического слоя), способная хранить любые типы файлов в обычной иерархии файловой системы. TrueCrypt позволяет создавать "скрытые тома" – два или более пароля открывают разные тома в одном файле, но только один из томов содержит секретные данные.
Other methods exist; the method laid out before is the one implemented by StegFS, but it is possible to steganographically hide data within image (e. g. PNGDrive) or audio files ScramDisk or the Linux loop device can do this. Generally, a steganographic file system is implemented over a steganographic layer, which supplies just the storage mechanism. For example, the steganographic file system layer can be some existing MP3 files, each file contains a chunk of data (or a part of the file system). The final product is a file system that is hardly detected (depending on the steganographic layer) that can store any kind of file in a regular file system hierarchy. TrueCrypt allows for "hidden volumes" two or more passwords open different volumes in the same file, but only one of the volumes contains secret data.