LINUX.ORG.RU

Серьезная (возможно уязвимость) проблема в механизме ввода и последующей обработки осью пароля ( например шифрования диска)


0

1

Товарищи, Предлагаю обсудить следующую проблему.

Сразу говорю, что я не линуксист. Возможно я что то где то не учел, и ошибки нет, но в програмиировании и работе компьютеров я разбираюсь хорошо и как программист вещь замеченная мной, кажется абсолютным нонсенсом.
Ошибка(в скорости набора) видимо заключается только в консольной функции/процедуре (которая задействуется при установке ос и при вводе пароля перед расшифровкой диска после установки), либо это вообще баг генерации хэша, а возможно и признак бекдура, оставленный по понянтым причинам разработчиками. Возможно проблема куда серьезнее и развить ее можно до уровня серьезной уязвимости.
Суть в следующем - если у вас в пароле есть одинаковые подряд идущие символы, то введя их очень быстро мы получаем неоднозначность(пример):

пароль - aabcdd.
При установке ос какие то одинаковые подряд идущие символы вводим очень быстро.
После установки, начале загрузки и запросе пароля для расшифровки диска с ос получается следующее.
Введя в нормальном темпе пароль - aabcdd - мы получаем - пароль не верен.
но если ввести в нем (возможно любые/точно любые подряд идущие одинаковые ) символы очень быстро например aa, либо dd. то пароль принимается и происходит загрузка и расшифровка.(замечено было в Suse 12.1, но видимо актуально и в других).
пароль лишь пример - это относится и к паролям вида abc99deFFgh и т.п.

то есть...
aabcdee(нормальная скорость ввода) - false.
(aa)(быстро)bcdee - true
aabcd(ee)(быстро) - true
------------------

с точки зрения программирования, при отсутсвии ошибок в коде, такого происходить не должно. Как минимум таким образом можно по нелепости утратить полностью доступ к ос и ко всем данным. Это уже неприятно. Но самая главная непонятка не в этом. А в том почему подходит второй вариант введения пароля в примере.
Можно было бы все списать на то что при быстром нажатии одной и той же кнопки ось символ вводит лишь один, или что то вроде - вводится пустой(например 0x00) и в результате у нас просто ошибочный пароль. Но это не так! Можно ввести быстро любую часть пароля и тогда то хэш совпадает...
Одним из объяснений может быть следующее - при быстром вводе происходит сбой, например NPE - и пароль становится NULL (или что то в этом духе), и из за сбоя генерируется хэш на NULL пароль. Соотвественно в дальнейшем быстро вводя пароль вы повторяете этот баг - получается что информация зашифрована «условно пустым» паролем, то есть по сути как если бы вы вобще не вводили пароля. Однако пароль отличный от исходного нс быстро введенными символами не подходит. Ни времени ни желания в исходниках оси копаться нет и разбиратся как там это устроено, поэтому и пишу здесь, так как проблема может быть очень серьезной. Возможно там пароль для большей безопастности перед хэшированием, разбавляется солью, причем той, которая зависит от исходного пароля (а вернее того что было введено) - это единственое объяснение которое приходит на ум.


Ответ на: комментарий от opsik

сдаётся мне, ты тролль, а не программист на zx`е с 13 лет

Одно другому не мешает. Может он под новый год на антресолях отцовский спекки нашел.

redgremlin ★★★★★
()

маразм какой-то. у меня всё работает. быстро-медленно-ооооочень медленно. пофигу - если правильный пускает, если нет - шлет лесом.

ktk ★★★★
()

star4

Сразу говорю, что я не линуксист.

КЛБ на винфаке об этом рассказывайте. Здесь это звучит как «я ничего не понимаю, но буду вас учыт!»

star4

Суть в следующем - если у вас в пароле есть одинаковые подряд идущие символы

я пользуюсь постоянно четырьмя паролями:
1. пароль пользователя
2. пароль рута
3. пассфраза на личный GPG-KEY
4. пассфраза на GPG-KEY для работы
Во ВСЕХ паролях есть повторяющиеся символы, вроде dd или yy или 77. Ввожу я их с разной скоростью, обычно очень быстро. Описанного вами я не видел НИКОГДА. За много лет.

star4

Одним из объяснений может быть следующее - при быстром вводе происходит сбой, например NPE - и пароль становится NULL (или что то в этом духе), и из за сбоя генерируется хэш на NULL пароль. Соотвественно в дальнейшем быстро вводя пароль вы повторяете этот баг - получается что информация зашифрована «условно пустым» паролем, то есть по сути как если бы вы вобще не вводили пароля.

легко проверить. Дайте мне строчку из /etc/shadow.

drBatty ★★
()

надоел. поменяй клавиатуру и/или пальцы.

uspen ★★★★★
()
Ответ на: комментарий от star4

star4

локальный рут сможет расшифровать закриптованный диск? ну ты написал... :D идиот какой то.

идиот - только ты. Кто мешает локальному руту сменить программу запроса пароля расшифровки так, что-бы он ещё и сохранялся/отправлялся? Кто это заметит? пойми, детка, это не шiндовс, тут любую программу можно менять как угодно. Главное - чтоб прав хватило.

star4

спасибо этому дому, пойдем к другому xD.

иди-иди детка. Советую linuxforum.ru, там такие-же ламо как ты, +меня там опять забанили.

drBatty ★★
()

чувак утверждает что правильный пароль нужно вводить еще и с правильной скоростью

толстота

добавил в друзья

redixin ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.