Содержание
Некоторые принципы информационной безопасности в среде Linux |
---|
Операционные системы: SlackWare 13.1, Debian 6.
Монтирование файловых систем
Один из простейших способов сокрытия данных: Алгоритм:
- Создается пустой файл необходимых размеров;
- Форматируется (mkfs) в определенную файловую систему;
- Монтируется как отдельное устройство (с loop параметром).
Преимущества:
- Простота использования;
- Перед монтированием в папку можно накидать безобидной информации, которая будет скрыта после монтирования и восстановится после размонтирования.
Недостатки:
- Секретная информация была и остается на поверхности жесткого диска, а значит, с приложением усилий, может быть извлечена;
- Bash, как известно, хранит историю команд, по которой можно догадаться о последних действиях. Избежать проблем можно несколькими путями:а) выключить ведение истории вообще; б) понизить количество строк ведения истории в ОЗУ и .bash_history (переменная $HISTSIZE) в) создать скрипт, удаляющий и (или) переписывающий .bash_hystory, а затем – удаляющий сам себя. Самым безопасным способом будет изменение значения $HISTSIZE, поскольку, чем меньше будет записано на винт, тем лучше.
- Само по себе наличие монтируемого файла. Можно попытаться спрятать файл в системную папку и заменить им какой-либо системный файл, который практически не используется в работе системы. Минус этого способа в том, что все родные файлы nix систем имеют незначительный объем, и наличие 10-и гигабайтного /usr/bin/html2text вызовет вопросы. Правда, можно сделать некоторое количество небольших «системных» файлов, которые будут объединятся при монтировании.
Впрочем, нормальный способ, в расчете на то, что охотник за секретной информацией ваша жена.
Создание файла заглушки
Способ, обратный первому – секретные файлы записываются обычно в директорию, а при необходимости – данная директория закрывается подмонтируемой заглушкой в виде форматированного файла. Алгоритм:
- Создаем секретную директорию и небольшой файлик-заглушку;
- Записываем в директорию секретную информацию, а в заглушку – бесполезную информацию;
- Если поток секретных данных непрерывен – заглушка монтируется в момент опасности. Если поток данный регулярный – заглушка монтируется автоматически.
Преимущества:
- Простота использования;
- Спрятать файл-заглушку небольшого размера проще в дебрях ОС.
Недостатки:
- Обязательно физическое наличие строки в fstab, монтирующего заглушку при загрузке ОС и (или) скрипта, управляющего вкл/выкл заглушку в нужный момент (при загрузке ОС).
- Если не автоматизировать процесс монтирования (п. 1), то при изъятии системного блока или перезагрузке, папка с секретными данными останется неприкрытой.
Методы стеганографии
Использование Steghide. Программа, которая умеет, перечитывая содержимое jpg файла, вставлять в него любую информацию, защищая полученный файл паролем. Причем, графический файл с вшитой информацией изменяется незначительно, как по объему, так и по качеству изображения. Работает за счет заполнения пустых и(или) малоактуальных битов файла-контейнера. Преимущества:
- В большом массиве фотографий, трудно отобрать файлы с зашифрованной информацией, особенно, если картинки разносортные и получены из различных источников (нарисованы, скачаны и тд);
- Расшифровать зашифрованную в файле информацию можно только зная пароль, указанный при шифровании;
- Поддержка jpeg, .bmp, .wav, и .au;
- Поддержка большого количества алгоритмов шифрования.
- Легко запустить порчу такой базы данных, достаточно «зашуметь» изображения, информация будет безвозвратно уничтожена.
Недостатки:
- Ограничения по объему кодируемой информации по отношению к объему исходного файла. Причем больше всего умещается строковой информации (0,7-1 : 1), меньше всего – графической и бинарной (0,1-0,3-1).
- При завершении количества свободных бит, используются младшие биты изображения, а иногда и старший бит, что может вызвать «шум» на изображении.
- Неизвестно, что оставляет стеганограф в заголовке файлов, при запуске на поток проверки всех подряд джейпегов директории. На основании «левой» информации проводится стегоанализ.
Использование Outguess. Стеганограф аналогичен Steghide, работает с форматами .jpeg, .ppm, и .pnm. Использование MP3Stego. Формат – mp3. Считается лучшим по сравнению с графической стеганографией.
Монтирование области RAM
Один из наиболее удачных методов хранения данных. При нарушении спокойствия, достаточно нажать на Reset или обесточить компьютер. Алгоритм аналогичен монтированию обычной файловой системы:
- Создаем диск в /dev/ram;
- Форматируем;
- Монтируем;
- Работаем.
Одной из возможностей использования этого метода является непосредственное хранение данных на виртуальном рамдиске, при условии, что объемы ОЗУ позволяют это. Преимущества:
- Возможно бесследное уничтожение секретной информации, если это необходимо;
- В любой момент можно вывести нужную информацию на ПЗУ;
- Повышение скорости управления данными.
Недостатки:
- При сбое в питании информация будет уничтожена;
- Необходимо иметь «срочную кнопку» для моментального отключения целевого компьютера.
Использование систем шифрования
По сути дела, каждая система шифрования состоит из набора программ, которые, кроме непосредственного шифрования, в определенной последовательности выполняют те же самые действия, которые описаны в пунктах выше – монтирование/размонтирование разделов, стеганография, запись в ОЗУ. Кроме этих стандартных возможностей, в пакет входят утилиты зачистки – замещения всей области удаляемого файла на нули или другой последовательностью нулей и единиц, зачистки своп-пространства. В поле наблюдения попали три основных среды шифрования – TrueCrypt, DriveCrypt и BestCrypt. В тестировании я использовал систему BestCrypt. Поддерживает AES, Blowfish, Twofish и ГОСТ 28147-89 – итого 4 алгоритма. принцип работы: создает зашифрованный файл с монтированием по паролю. Внутри такого файла создается скрытое пространство (hidden_part), которое монтируется параллельно (бесткрипт определяет его по паролю). Скрытое пространство хорошо тем, что, например, получив в распоряжение основной зашифрованный файл и брутфорсировав его пароль, можно только догадываться о существовании скрытого раздела, так как физически отдельно он нигде не существует.
Алгоритм:
- качаем сырец;
- распаковываем;
- собираем;
- устанавливаем.
Почему-то не создалась нужная директория, создаем, запускаем еще раз:
xolod:/usr/src/bcrypt-1.8-3# /etc/init.d/bcrypt start Initializing BestCrypt. touch: невозможно выполнить touch для `/var/lock/subsys/bcrypt': Нет такого файла или каталога
xolod:/usr/src/bcrypt-1.8-3# mkdir /var/lock/subsys xolod:/usr/src/bcrypt-1.8-3# /etc/init.d/bcrypt start Initializing BestCrypt.
Pапускаем bctool, ужасаемся обилию возможностей, идем в интернет, удивляемся полному отсутствию русскоязычных статей (кроме мало-мальского описания виндового бесткрипта на руборде) и большому – английских. У нас что? Не шифруют? Находим отличный мануал на сайте производителя (почему-то с опечатками);
Cоздаем новый раздел на винте (100 мегабайт, Blowfish, с публичным описанием):
xolod:/usr/src/bcrypt-1.8-3# bctool new /home/mosolkow/secret_area -s 100M -a BlowFish -d DON'T_TRY!_:o) generating random seed, randomly move your mouse or press keys to speed the process random seed generation: 1024\1024 bits (100%) new password: verify password: Container successfuly created Please do not forget to format the container</code>
Форматируем в ext3:
xolod:/usr/src/bcrypt-1.8-3# bctool format /home/user/secret_area -t ext3 password: mke2fs 1.41.3 (12-Oct-2008) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 25688 inodes, 102396 blocks 0 blocks (0.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67371008 13 block groups 8192 blocks per group, 8192 fragments per group 1976 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Создаем дополнительный скрытый раздел внутри уже созданного секретного (50% от него) с параллельным форматированием:
xolod:/usr/src/bcrypt-1.8-3# bctool make_hidden /home/user/secret_area 50% -t ext3 Enter existing password: Enter password for hidden part: verify password: generating random seed, randomly move your mouse or press keys to speed the process random seed generation: 1024\1024 bits (100%) mke2fs 1.41.3 (12-Oct-2008) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 12824 inodes, 51200 blocks 0 blocks (0.00%) reserved for the super user First data block=1 Maximum filesystem blocks=52428800 7 block groups 8192 blocks per group, 8192 fragments per group 1832 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 22 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Монтируем секретный контейнер (аналогично – скрытую часть):
xolod:/usr/src/bcrypt-1.8-3# bctool mount -t ext3 /home/mosolkow/secret_area /home/mosolkow/secret password: Container successfuly mounted xolod:/usr/src/bcrypt-1.8-3#
Размонтирование:
xolod:/usr/src/bcrypt-1.8-3# bctool umount /home/mosolkow/secret Container successfuly unmounted
В дополнение ко всему хотелось бы привести некоторые возможности этой системы:
1. Возможности монтирования:
-m mode set mountpoint access mode, e.g. -m 755 -u user set mountpoint owner (can be used by root only), e.g. -u jukka -g group set mountpoint group (can be set by root only), e.g. -g bros -r mount container read-only
2. Возможности программы:
Linking container to device (virtual drive) Raw mode link to device (virtual drive) Encrypted swap space Монтирование на отдельные носители в тч и RAM (raw block device)
С такой свободой действий легко можно создавать сложную систему защиты информации, используя комплексные методы, стремясь к тому, чтобы стоимость по расшифровке стала выше стоимости самой информации :). Например, монтировать раздел стандартным путем, внутри него создать зашифрованный раздел с помощью BestCrypt, внутри этого раздела – зашифрованный раздел с помощью PGP или DriveCrypt. Можно на каком то этапе, для разрыва связей, использовать RAM.
Автор: pilgrim
- Обсуждаем на форуме -