wiki:articles:pib - Wiki на Slackware.su
Некоторые принципы информационной безопасности в среде Linux

Операционные системы: SlackWare 13.1, Debian 6.

Монтирование файловых систем

Один из простейших способов сокрытия данных: Алгоритм:

  1. Создается пустой файл необходимых размеров;
  2. Форматируется (mkfs) в определенную файловую систему;
  3. Монтируется как отдельное устройство (с loop параметром).

Преимущества:

  1. Простота использования;
  2. Перед монтированием в папку можно накидать безобидной информации, которая будет скрыта после монтирования и восстановится после размонтирования.

Недостатки:

  1. Секретная информация была и остается на поверхности жесткого диска, а значит, с приложением усилий, может быть извлечена;
  2. Bash, как известно, хранит историю команд, по которой можно догадаться о последних действиях. Избежать проблем можно несколькими путями:а) выключить ведение истории вообще; б) понизить количество строк ведения истории в ОЗУ и .bash_history (переменная $HISTSIZE) в) создать скрипт, удаляющий и (или) переписывающий .bash_hystory, а затем – удаляющий сам себя. Самым безопасным способом будет изменение значения $HISTSIZE, поскольку, чем меньше будет записано на винт, тем лучше.
  3. Само по себе наличие монтируемого файла. Можно попытаться спрятать файл в системную папку и заменить им какой-либо системный файл, который практически не используется в работе системы. Минус этого способа в том, что все родные файлы nix систем имеют незначительный объем, и наличие 10-и гигабайтного /usr/bin/html2text вызовет вопросы. Правда, можно сделать некоторое количество небольших «системных» файлов, которые будут объединятся при монтировании.

Впрочем, нормальный способ, в расчете на то, что охотник за секретной информацией ваша жена.

Создание файла заглушки

Способ, обратный первому – секретные файлы записываются обычно в директорию, а при необходимости – данная директория закрывается подмонтируемой заглушкой в виде форматированного файла. Алгоритм:

  1. Создаем секретную директорию и небольшой файлик-заглушку;
  2. Записываем в директорию секретную информацию, а в заглушку – бесполезную информацию;
  3. Если поток секретных данных непрерывен – заглушка монтируется в момент опасности. Если поток данный регулярный – заглушка монтируется автоматически.

Преимущества:

  1. Простота использования;
  2. Спрятать файл-заглушку небольшого размера проще в дебрях ОС.

Недостатки:

  1. Обязательно физическое наличие строки в fstab, монтирующего заглушку при загрузке ОС и (или) скрипта, управляющего вкл/выкл заглушку в нужный момент (при загрузке ОС).
  2. Если не автоматизировать процесс монтирования (п. 1), то при изъятии системного блока или перезагрузке, папка с секретными данными останется неприкрытой.

Методы стеганографии

Стеганография (от греч. στεγανός — скрытый + γράφω — пишу; буквально «тайнопись») — это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи. Этот термин ввел в 1499 году Иоганн Тритемий в своем трактате «Стеганография» (Steganographia), зашифрованном под магическую книгу. В отличие от криптографии, которая скрывает содержимое секретного сообщения, стеганография скрывает сам факт его существования. Как правило, сообщение будет выглядеть как что-либо иное, например, как изображение, статья, список покупок, письмо или судоку. Стеганографию обычно используют совместно с методами криптографии, таким образом, дополняя её. Преимущество стеганографии над чистой криптографией состоит в том, что сообщения не привлекают к себе внимания. Сообщения, факт шифрования которых не скрыт, вызывают подозрение и могут быть сами по себе уличающими в тех странах, в которых запрещена криптография. Таким образом, криптография защищает содержание сообщения, а стеганография защищает сам факт наличия каких-либо скрытых посланий. Источник

Использование Steghide. Программа, которая умеет, перечитывая содержимое jpg файла, вставлять в него любую информацию, защищая полученный файл паролем. Причем, графический файл с вшитой информацией изменяется незначительно, как по объему, так и по качеству изображения. Работает за счет заполнения пустых и(или) малоактуальных битов файла-контейнера. Преимущества:

  1. В большом массиве фотографий, трудно отобрать файлы с зашифрованной информацией, особенно, если картинки разносортные и получены из различных источников (нарисованы, скачаны и тд);
  2. Расшифровать зашифрованную в файле информацию можно только зная пароль, указанный при шифровании;
  3. Поддержка jpeg, .bmp, .wav, и .au;
  4. Поддержка большого количества алгоритмов шифрования.
  5. Легко запустить порчу такой базы данных, достаточно «зашуметь» изображения, информация будет безвозвратно уничтожена.

Недостатки:

  1. Ограничения по объему кодируемой информации по отношению к объему исходного файла. Причем больше всего умещается строковой информации (0,7-1 : 1), меньше всего – графической и бинарной (0,1-0,3-1).
  2. При завершении количества свободных бит, используются младшие биты изображения, а иногда и старший бит, что может вызвать «шум» на изображении.
  3. Неизвестно, что оставляет стеганограф в заголовке файлов, при запуске на поток проверки всех подряд джейпегов директории. На основании «левой» информации проводится стегоанализ.

Использование Outguess. Стеганограф аналогичен Steghide, работает с форматами .jpeg, .ppm, и .pnm. Использование MP3Stego. Формат – mp3. Считается лучшим по сравнению с графической стеганографией.

Монтирование области RAM

Один из наиболее удачных методов хранения данных. При нарушении спокойствия, достаточно нажать на Reset или обесточить компьютер. Алгоритм аналогичен монтированию обычной файловой системы:

  1. Создаем диск в /dev/ram;
  2. Форматируем;
  3. Монтируем;
  4. Работаем.

Одной из возможностей использования этого метода является непосредственное хранение данных на виртуальном рамдиске, при условии, что объемы ОЗУ позволяют это. Преимущества:

  1. Возможно бесследное уничтожение секретной информации, если это необходимо;
  2. В любой момент можно вывести нужную информацию на ПЗУ;
  3. Повышение скорости управления данными.

Недостатки:

  1. При сбое в питании информация будет уничтожена;
  2. Необходимо иметь «срочную кнопку» для моментального отключения целевого компьютера.

Использование систем шифрования

По сути дела, каждая система шифрования состоит из набора программ, которые, кроме непосредственного шифрования, в определенной последовательности выполняют те же самые действия, которые описаны в пунктах выше – монтирование/размонтирование разделов, стеганография, запись в ОЗУ. Кроме этих стандартных возможностей, в пакет входят утилиты зачистки – замещения всей области удаляемого файла на нули или другой последовательностью нулей и единиц, зачистки своп-пространства. В поле наблюдения попали три основных среды шифрования – TrueCrypt, DriveCrypt и BestCrypt. В тестировании я использовал систему BestCrypt. Поддерживает AES, Blowfish, Twofish и ГОСТ 28147-89 – итого 4 алгоритма. принцип работы: создает зашифрованный файл с монтированием по паролю. Внутри такого файла создается скрытое пространство (hidden_part), которое монтируется параллельно (бесткрипт определяет его по паролю). Скрытое пространство хорошо тем, что, например, получив в распоряжение основной зашифрованный файл и брутфорсировав его пароль, можно только догадываться о существовании скрытого раздела, так как физически отдельно он нигде не существует.

Возможный минус: зарегистрирована в Федеральном агентстве правительственной связи и информации, а значит, – есть возможность расшифровки данных представителями ФАПСИ.

Алгоритм:

  1. качаем сырец;
  2. распаковываем;
  3. собираем;
  4. устанавливаем.

Почему-то не создалась нужная директория, создаем, запускаем еще раз:

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
- Обсуждаем на форуме -

Печать/экспорт
QR Code
QR Code wiki:articles:pib (generated for current page)