Наприклад, хтось створює підроблений діалоговий вікно Authenticate, щоб отримати мій пароль root. Як дізнатися, справжній він чи підроблений?

Наприклад, хтось створює підроблений діалоговий вікно Authenticate, щоб отримати мій пароль root. Як дізнатися, справжній він чи підроблений?

Відповіді:
Таким чином, ви [ймовірно] дивитесь на підказку про ескалацію PolicyKit там. Будь-хто без когось із тих, хто хоче пограти, може просто побігти pkexec echo(або щось подібне), і вони отримають щось подібне.
Ну, ви можете отримати інформацію про Window з, xpropі ви можете отримати інформацію команд, psтак що давайте об'єднаємо їх! Перш ніж ми проправляємось, тому що ми тут супер-параноїчні, я використовую повні шляхи на випадок, якщо хтось додав локальну злому копію будь-якої з цих команд. Ось я запускаю його на своїй pkexec echoкоробці:
$ /bin/ps $(/usr/bin/xprop _NET_WM_PID | /usr/bin/awk '{print $NF}')
PID TTY STAT TIME COMMAND
3989 ? Sl 0:00 /usr/lib/kde4/libexec/polkit-kde-authentication-agent-1
Наскільки ми можемо сказати (зауважимо, що я користувач KDE), це законний підказ. Це не запущений локальний сценарій, доки щось зло вже не вкоренило систему (але ей, навіщо їм знову потрібен наш пароль?), Ми, ймовірно, в безпеці.
І у випадку gksu, kdesuі pkexecв підказках досить чітко про те, що вони збираються запускати. У випадку з першими двома командою вище буде сказано, що вони планують виконувати:
$ /bin/ps $(/usr/bin/xprop _NET_WM_PID | /usr/bin/awk '{print $NF}')
PID TTY STAT TIME COMMAND
10395 ? Sl 0:00 /usr/lib/kde4/libexec/kdesu -u root -c /usr/sbin/synaptic
У випадку PolicyKit ви можете натиснути на вкладку деталі, і ви побачите, який дозвіл він хоче виконати. У KDE ви також побачите PID абонента, який можна переглянути ( ps <PID>). Ось як це виглядає в KDE:

Ви можете навести курсор на дію та отримати політику PolicyKit, яку він хоче виконати. У Ubuntu політика відображається за замовчуванням. Ці політики можна переглянути. Наведене вище походить від /usr/share/polkit-1/actions/org.kubuntu.qaptworker2.policyпослуги, зазначеної в /usr/share/dbus-1/system-services/org.kubuntu.qaptworker2.service. Ви можете бачити, що працює і ким. І ці сервіси можна знову додати лише корінь, якщо ви вже не вкорінені, ви можете їм довіряти.
PolicyKit має ці правила та послуги, тому вибрані дії можна виконувати як корінь без необхідності запускати весь цей процес. Вам потрібно бути пильним. Очевидно, якщо ви біжите gnome-calculatorі org.freedesktop.policykit.execпідскакує підказка, щось хитне.
Це може бути не що інше, як вивчити, перш ніж вставити пароль. Після того як буде занадто пізно.
І навіть якщо це все законно, хто скаже, що у вас немає кейлоггера, який би вкрав усі ваші паролі? Або щось переважаюче $PATHабо що вбрало у вас щось жахливе, ~/.bashrcщо робить його схожим на те, що вас не зламали? Я досить впевнений, що при достатній концентрації ви можете обійти всі описані вище процедури.
Добре спите.
tripwireможе допомогти перевірити справжність файлу, але їх слід встановити дуже рано.