Может ли другая программа на X захватить мой пароль root, пока я набираю его в виртуальном терминале?


24

Обычно я устанавливаю только программы с открытым исходным кодом на свой Linux-пакет, потому что я не доверяю приложениям с закрытым исходным кодом Недавно мне пришлось использовать Dropbox для университетского проекта. Я создал отдельную учетную запись Linux с именем work и запустил (как работа ) dropbox без установки через скрипт python. Сценарий также создал символ в системном трее, который обеспечивает графический интерфейс для некоторых функций Dropbox.

На днях мне пришлось провести некоторое обслуживание, поэтому я открыл виртуальный терминал (konsole в KDE) и ввел свой пароль root для su .

Есть ли вероятность, что приложение Dropbox могло захватить мой пароль root?

Я использую Fedora 20 с KDE 4.14.3.

Ответы:


24

Краткий ответ: да.

В «старые времена» можно было эффективно запретить любому другому приложению X читать конкретный ввод, захватывая его. Хотя это все еще можно сделать и по сей день, спецификация протокола XI2, по- видимому, предполагает, что это больше не может быть сделано (см. Описание необработанных событий в строке 2220). Таким образом, под одним только X вы больше не в безопасности - по крайней мере, в обычных простых установках. См. Также обсуждение под моим ответом на Как разрешить демону запрашивать пароль (в Xsession, keyloggersafe)? и вопросы и ответы AskUbuntu там, Излишне говорить, что на самом деле ни один терминал не делает этого - вот почему такие приложения, как OpenSSH или GnuPG, имеют своих собственных помощников пользовательского интерфейса, эту клавиатуру для захвата (хотя, как упоминалось выше, в наши дни это не особо помогает).

Однако вы могли бы запустить приложение на другом X-сервере, например, на вложенном X-сервере, подобном Xephyrили Xnest, или на VNC-подобном Xvnc. Вэйлендский протокол также должен обеспечивать некоторую защиту от прослушивания.

Помимо вышесказанного, приложение могло бы также попытаться использовать незащищенную дыру в безопасности вашей системы и, таким образом, получить повышенные привилегии. Или сделайте что-нибудь попроще, например, добавьте обертки suи sudoобертки на свой путь перед системными и, таким образом, перехватите пароли (спасибо @Joshua за комментарий).


Например, перенаправить sudo в ~ / .evil / sudo и захватить ваш pw.
Джошуа

Вы никогда не были в безопасности под X - захват устройства просто предотвращает генерирование входных событий, он не защищает от программ, таких как xspyпостоянный опрос клавиатуры, чтобы узнать, какие клавиши были нажаты в данный момент.
Алан

@alanc у тебя есть ссылка на источник?
Петер

@peterph для xspy? Первоначальный веб-сайт исчез, но в интернет-архиве есть копия, сохраненная по адресу web.archive.org/web/20090207115718/http://www.acm.vt.edu/…
alanc

Ни xnest, ни xephyr не защитят вас ; события всплывают до их окна, как обычно.
Златовласка
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.