The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"OpenNews: Как сделать небольшую консольную напоминалку паролей на основе PGP."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Как сделать небольшую консольную напоминалку паролей на осно..." +/
Сообщение от John Doeemail (?), 20-Авг-03, 02:33 
Раз. Почему Троян?! Эта ╚полезная программа╩ содержит несколько ошибок (надеюсь, что неумышленных), используя которые злоумышленник может произвести несколько различных атак, в результате которых получит ╚защищенные╩ пароли. OpenNET довольно популярный ресурс среди администраторов, причем последние зачастую несильно высокой квалификации, и без разбора применяют приводимые решения. На скольких серверах окажется эта чудо программа, скажем, через неделю? На одном, на десяти, на сотнях┘

Два. Программа, очевидно, предназначена для использования на системах доступ (причем, необязательно легальный) к которым могут иметь как минимум несколько пользователей.

Три. Вот несколько атак навскидку:
1) ОШИБКА:
     Пароли длительное время доступны в открытом виде:
       cat ${FILE} | gpg -d  -q > /tmp/$$
   УСЛОВИЯ:
     Злоумышленник является пользователем root! А почему бы и нет?!
   АТАКА:
     Злоумышленнику нужно написать и запустить простенькую  программку, которая следит за вновь созданными файлами в директории /tmp, имена которых состоят из одних цифр ($$), и сохраняет их содержимое в надежном месте.
2) ОШИБКА:
     Пароли некоторое время доступны на чтение всем пользователям:
       cat ${FILE} | gpg -d  -q > /tmp/$$
       chmod 600 /tmp/$$
       ${EDITOR} /tmp/$$
   УСЛОВИЯ:
     Нужно угадать (предсказать) диапазон возможных значений PID▓а ╚чудо программы╩. umask пользователя использующего ╚чудо программу╩ должен быть на подобии 022.
   АТАКА:
     Злоумышленник создает файлы в директории /tmp имена, которых определяются диапазоном возможных значения PID▓а ╚чудо программы╩. Например, файлы /tmp/{23,24,25,26,27} для диапазона [23,27]. Причем файлы должны быть доступны на запись пользователю запустившему ╚чудо программу╩. Далее атакующий ╚следит╩ за этими файлами, - ждет, когда в каком-нибудь из них появятся пароли, то есть, выполнится команда cat ${FILE} | gpg -d  -q > /tmp/$$. Очевидно, что выполнение второй команды (chmod 600 /tmp/$$) завершится ошибкой, но ее результат не проверяется и в любом случае будет запущен текстовый редактор.
Внимание, вопрос. Заметит ли пользователь сообщение об ошибке? Пусть даже заметит. Если в файле паролей хранится пароль root▓а для какого-нибудь удаленного сервера, то программа злоумышленника может войти на этот сервер и просто сменить пароль root▓а. Очень вероятно, что данная процедура закончится до того как пользователь успеет разобраться, что вообще происходит.
3) ОШИБКА:
     cat /dev/null > /tmp/$$
     rm -rf /tmp/$$
   УСЛОВИЯ:
     Пока вы были в отпуске, винчестер, где хранились ╚защищенные пароли╩ посыпался bad block▓ами и его пришлось выкинуть.
   АТАКА:
     Атакующий подбирает выкинутый винчестер, и использую ╚недавние достижения NIST в туннельной электронной микроскопии╩ (Bruce Schneier, ⌠Applied Cryptography■, 2002) восстанавливает /tmp/$$.

Итого. Ошибки, допущенные в ╚чудо программе╩, - элементарны, поэтому и возникает ощущение, что это Троянский конь. Конечно, автор мог допустить их случайно, но тогда он совершенно некомпетентен в области, которую пытался осветить.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
OpenNews: Как сделать небольшую консольную напоминалку паролей на основе PGP., opennews, 19-Авг-03, 19:09  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру