Як визначити, чи справді вхід у консоль справжній?


13

У Windows можна застосувати натискання Ctrl+ Alt+, Delщоб викликати переривання, що відкриває вікно входу.

Під час входу на консоль комп’ютера Linux: Як я можу зрозуміти, чи справжній цей логін чи знущаються, щоб викрасти мої облікові дані?

Відповіді:


14

Припускаючи, що ви хочете бути захищеними від інших звичайних користувачів системи (якщо супротивник має кореневий доступ, усі ставки відключені), ви, в принципі, можете використовувати захищений ключ уваги :

Ключ захищеної уваги операційної системи - це інструмент захисту, який забезпечується захистом від програм захоплення троянських паролів. Це непереборний спосіб знищення всіх програм, які можуть бути замасковані як програми для входу. Користувачів потрібно навчити вводити цю послідовність ключів до того, як вони ввійдуть у систему.

( Поводження з захищеним уважним ключем ( Linux 2.4.2, Ендрю Мортон, 18 березня 2001 р. )

Це пов'язане питання U&L може зацікавити: Як я можу знайти ключ безпеки (SAK) у своїй системі та чи можу я його відключити?


Що може статися, коли SAK буде активовано при включеному сервері X?
Incnis Mrsi

@IncnisMrsi: Я спробував це; це здається приблизно еквівалентним Ctrl + Alt + Backspace, припускаючи, що ви цього не відключили. Я пам’ятаю, що це здавалося дещо гнучкішим, але я не можу згадати жодної конкретики.
Кевін

Я часто натискав на свій vtty, і через деякий час логін не повернувся. Це відчуває помилку, але +1 для фактично корисного SysRq щодня.
Макс Рід

@Kevin: Отже, якщо користувач запустив законний X-сервер (що обов'язково є euid = 0, принаймні на ПК) на tty ≠ 7, його конфігурація відключена SAK, то SAK не є таким незаперечним, як стверджують документи ядра? Припустимо, на ньому працює емульований DM графічного інтерфейсу.
Incnis Mrsi

@IncnisMrsi: Я думаю, що насправді це вбити все на вашому сеансі та перезапустити "правильну" річ, що б там не було. Отже, якщо tty = 7, ви отримуєте абсолютно новий X, інакше ви отримуєте loginі т. Д. Це баггі, тому що деякі вигадливі DE, такі як GNOME, не люблять вбивати нізвідки. Але якщо ваш нападник має euid = 0, ви все одно втратили.
Кевін

2

Перш за все, я не впевнений, що ви можете бути надмірно впевнені у вікні входу Ctrl+ Alt+ Delу Windows, це також роль віруса / троянда для переривання викрадення, і реалізувати це дуже можливо.

По-друге, якщо такий механізм реалізований і в Windows / Linux, це означає, що привілеї адміністратора, безумовно, порушені.

Якщо в Linux, якщо хтось написав підроблену оболонку для відображення підказки та отримання ваших даних, я думаю, що базового Ctrl+ Cабо Ctrl+ Zможе бути достатньо, якщо ці сигнали не впіймаються для виявлення хитрості. Також кілька разів введення неправильних облікових даних може допомогти вам побачити відхилення від нормальної поведінки таймера.

Перемикання між різними консолями, як, наприклад, також збільшує ймовірність виявити хитрість.

Але в будь-якому випадку ви не можете бути впевнені на 100% у будь-якій системі надійності вашого запиту / вікна входу.


0

Ви можете використовувати ctrl+ alt+ F1... F7для переходу до інших tty та входу звідти. Ви також можете використовувати ctrl+ zабо ctrl+ c. Однак якщо хтось намагається вкрасти ваш логін та пароль за допомогою цього методу, все одно можливо, що вас обманюють. Залежить від того, яку ОС ви використовуєте, хто мав доступ до неї та який доступ він мав.

Як правило, ви ніколи не можете бути на 100% впевнені, але якщо хтось зробив це, я вважаю, що він вже має кореневий доступ - тому ваші дані для входу для нього були б безглуздими.


3
Якби я налаштував таку пастку, я б напевно мав свою програму запускати на кожній tty. Майте на увазі, що ті, до яких ви звертаєтесь за допомогою клавіш управління, не є особливо безпечними.
Джон У. Сміт

Справедливий пункт; це було найкраще, що мені прийшло в голову.
MatthewRock

Чи може вам допомогти якийсь чарівний sysrq?
Макс Рійд

0

Користувач (навіть не root), який має фізичний доступ до консолі, може зробити такий суперечок.

Увійдіть в систему sshі перевірте, які процеси працюють на віртуальній консолі, на яку потрібно ввійти локально. Це getty(для TUI tty) чи інший законний менеджер дисплеїв? Чи має він UID = 0?

Якщо будь-яке з двох помилкове, банер імені хоста login: , безумовно, підроблений. Але, як відповіді держави вже написані, це не допомагає проти кривдника, до якого вже переросли його привілеї root.


-1

Коротка відповідь: ви не можете сказати.

Але якщо команда підказок для входу була замінена, це означає, що зловмисник має кореневий доступ на машині. У цьому випадку він також міг:

  • встановили кейлоггер для крадіжки вашого пароля. Ви можете усунути проблему, використовуючи унікальний пароль, тому зловмисник не зможе отримати доступ до інших онлайн-сервісів, якими ви користуєтеся;
  • увійдіть, як ви (або як будь-який інший користувач) на апараті, просто змінивши пароль або отримайте доступ до своїх (або інших) файлів.

Тому турбота про те, чи законний запит на вхід є законним, чи не є суперечливим моментом.

Як правило, вам не слід входити в автомат, який, на вашу думку, може бути порушений.


8
Я міг би розробити програму, яка імітує поведінку підказки для входу, та запустити її в кожному TTY без кореневих привілеїв (як я). Якщо це зробити правильно, неможливо було б відрізнити реальну підказку від результатів програми, запросивши вас ввести свої облікові дані. Однак зауважте, що для отримання автентичності вам потрібні привілеї root (роблячи пастку повністю прозорими), тому якщо логін не вдасться і ви впевнені, що не зробили помилку друку ... ви можете припустити, що ви потрапили в пастку (теж пізно, хоча).
Джон У. Сміт

6
Ви не встановлюєте його. Ви просто використовуєте власний обліковий запис для входу в кожен термінал і запустіть там фальшивий логін. Користувачі, які намагаються використовувати термінал після цього, знайдуть вашу підроблену підказку, що працює як ви, а не loginпрограма, що працює як root. Я не припускаю, що фактично loginпрограма була порушена.
Джон У. Сміт

7
@ dr01. Вхід як звичайний. Коли ви готові розпочати свою програму ~/bin/fakelogin, використовуйте exec ~/bin/fakeloginтак, щоб після її виходу (з будь-якої причини) ваш обліковий запис користувача вийшов із системи, а реальний рядок входу був поданий іншому користувачеві.
roaima

3
Зазвичай, коли ви намагаєтесь вкрасти пароль у запиті, ви реєструєте його та пишете "Недійсний логін.", А потім виходите з програми. Отже, не потрібно автентифікувати використання $euid=0.
Ned64

1
Чому голоси?
dr01
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.