В Cryptkeeper всплыла проблема, приводящая к заданию фиксированного пароля "p"
Проблема оказалась связана с переносом в debian-пакет EncFS (Cryptkeeper является надстройкой над EncFS) исправления, устраняющего крах при передаче пустого пароля. Попутно в исправлении была изменена логика передачи пароля в командной строке. Исправление пока не вошло в состав релиза EncFS, поэтому осталось незамеченным в дистрибутивах Linux, кроме нестабильных репозиториев Debian.
При создании шифрованного каталога Cryptkeeper вызывал команду encfs при помощи следующей конструкции:
execlp ("encfs", "encfs", "-S", crypt_dir, mount_dir, NULL); ... write (fd[1], "p\n", 2); write (fd[1], password, strlen (password)); write (fd[1], "\n", 1);
Опция "-S" определяла режим передачи пароля через стандартный ввод, а первая строка "p\n" указывала на активацию параноидального режима:
$ encfs -S ~/cipher ~/plain/ Creating new encrypted volume. Please choose from one of the following options: enter "x" for expert configuration mode, enter "p" for pre-configured paranoia mode, anything else, or an empty line will select standard mode. ?> p
Вышеотмеченное исправление в encfs привело к изменению интерфейса командной строки и прекращению обработки команд активации дополнительных режимов, что привело к тому, что пароль стал передаваться в первой строке, т.е. ранее воспринимаемый как команда символ "p" стал обрабатываться как пароль и любые операции создания шифрованной директории сводились к передаче пароля "p", независимо от пароля, заданного пользователем. При попытке монтирования в encfs передавался нормальный пользовательский пароль, что приводило к проблемам с расшифровкой.
Автор Cryptkeeper полагал, что интерфейс "encfs -S" является стабильным способом манипуляции с encfs, а на деле всё оказалось не так. Разработчики encfs указали на то, что изменение произведено в находящейся в разработке кодовой базе и будет отменено, так как непреднамеренно нарушает ABI. В релиз данные изменения не входили. Логика изменения была в том, что обычно для монтирования пытаются использовать команду "echo 'qwerty'| encfs -S $(pwd)/a $(pwd)/b", которая также приводится в некоторых примерах. Кроме того, в документации опция "-S" определена только для монтирования директорий, но не для их создания. По сути Cryptkeeper использовал недокументированную возможность.
Источник: http://www.opennet.ru/opennews/art.shtml?num=45960
|
0 | Tweet | Нравится |
|