Штирлиц отдыхает!

Докучаев Дмитрий aka Forb

Xakep, номер #061, стр. 061-076-2


Шифруем файло

Бывает так, что целый диск создавать нецелесообразно. Нужно лишь зашифровать отдельный файл. В Linux для этого существует множество средств, которые ты можешь заюзать, исходя из ситуации. Рассмотрим простой вариант шифрования. Допустим, тебе необходимо закриптовать простой ASCII-файл. Причем на стойкость шифрования можно забить. Тебе подойдет обычая программа для зашифровки, такая, как, например, Code (последняя версия 0.03). Суть ее – генерация непостоянного ключа на основе двух символов, который замещается символом в файле. Первый из них – часть твоего пароля, второй – истинный фрагмент файла. Надежность шифрования прямо пропорциональна длине пароля. В установке Code нет ничего сложного. Правда, разработчики забыли снабдить пакет скриптами для make. Чтобы скомпилить программу, нужно набрать две команды в директории rus или eng (в зависимости от желаемой локализации):

# gcc code.c -o code

# gcc uncode.c -o uncode

А затем заюзать шифровальщик. К примеру, закриптуем /etc/passwd. Для этого введем следующую строку:

# ./code /etc/passwd myp4ssw0rd

В текущем каталоге появится файлик passwd.code, который является свежезакриптованным. Вернуть его в прежнее состояние можно обратной командой:

# ./uncode ./passwd.code myp4ssw0rd

Только вот имя файла будет другим – passwd.code.uncode :).

Бинарный шифр

Теперь обратим внимание на шифрование бинарных файлов. Для этого я выделяю программу AesX, которая имеет более стойкий алгоритм шифрования Rijndael. Утилита весит около 100 килобайт и устанавливается без особых сложностей. В использовании она крайне проста: в качестве параметров бинарнику передается пароль, имя входного и выходного файла, а также один из двух параметров: –d (шифрование) и –e (расшифровка). Таким образом, запустить эту консольную тулзу сможет даже маленький ребенок. Минус AesX – шифрованные файлы никак нельзя запустить. Перед этим их нужно расшифровать в прежнюю форму. Чтобы можно было стартовать файло с предварительным запросом пароля, используй тулзу от TESO. Ее имя – burneye.

Burneye – программа, которая модифицирует ELF-структуру файла и добавляет в бинарник посторонний код. Этот код позволяет расшифровать содержимое бинарника на основании заданного пароля. Вообще, у программы очень много полезных параметров, на которые хотелось бы обратить внимание. Установка тулзы простая – нужно зайти в папку src и скомандовать make. После этого ты получаешь рабочий бинарник утилиты. Запускай его, и ты увидишь подробный хелп по использованию программы. Наиболее интересными опциями являются –B и –P. Первая запаковывает заголовок, который будет отображаться перед вводом пароля. Вторая позволяет поместить пароль в переменную окружения “env”. Она будет просматриваться после запуска зашифрованного файла. Сам файл передается отдельной (последней) опцией, а выходной бинарник через параметр –o. Если внимательно изучить help, то все окажется очень просто.

Назад на стр. 061-076-1  Содержание  Вперед на стр. 061-076-3