В Cryptkeeper всплыла проблема, приводящая к заданию фиксированного пароля «p»
1 февраля 2017 года
Пользователи экспериментальных репозиториев Debian Testing и Unstable столкнулись с заслуживающей внимания проблемой: Cryptkeeper, GNOME-апплет для организации работы с шифрованными каталогами, перестал обрабатывать задаваемые пользователем пароли. После создания шифрованного каталога, указанный пароль не подходил для последующего доступа к нему, так как для создаваемых в 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 использовал недокументированную возможность.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.