Bagaimana cara mengetahui apakah login konsol itu asli?

13

Pada Windows seseorang dapat memaksa menekan Ctrl+ Alt+ Deluntuk menyalakan interupsi yang memunculkan jendela login.

Saat masuk ke konsol komputer Linux: Bagaimana saya bisa tahu apakah login ini adalah asli atau dipermainkan untuk mencuri kredensial saya?

Max Ried
sumber

Jawaban:

14

Dengan asumsi bahwa Anda ingin dilindungi terhadap pengguna normal sistem lainnya (jika musuh memiliki akses root, semua taruhan dimatikan), pada prinsipnya Anda dapat menggunakan kunci perhatian yang aman :

Secure Attention Key sistem operasi adalah alat keamanan yang disediakan sebagai perlindungan terhadap program pengambilan kata sandi trojan. Ini adalah cara yang tidak terkalahkan untuk membunuh semua program yang dapat disamar sebagai aplikasi login. Pengguna perlu diajari untuk memasukkan urutan kunci ini sebelum mereka masuk ke sistem.

( Linux 2.4.2 Penanganan Secure Attention Key (SAK), Andrew Morton, 18 Maret 2001 )

Pertanyaan U&L terkait ini mungkin menarik: Bagaimana saya bisa menemukan Secure Attention Key (SAK) di sistem saya dan dapatkah saya menonaktifkannya?

Dhag
sumber
Apa yang bisa terjadi ketika SAK akan diaktifkan dengan X server diaktifkan?
Incnis Mrsi
@IncnisMrsi: Saya sudah mencobanya; tampaknya kira - kira setara dengan Ctrl + Alt + Backspace dengan anggapan Anda belum menonaktifkannya. Saya ingat bahwa itu agak buggier, tetapi saya tidak dapat mengingat secara spesifik.
Kevin
Saya sering menekan vtty saya, dan setelah beberapa waktu, login tidak kembali. Rasanya buggy, tapi +1 untuk SysRq yang sebenarnya berguna setiap hari.
Max Ried
@Kevin: Jadi, jika pengguna menjalankan X server yang sah (yang seharusnya euid = 0, setidaknya pada PC) pada tty ≠ 7, konfigurasinya telah SAK dinonaktifkan, maka SAK bukankah tak terkalahkan seperti yang diklaim oleh kernel docs? Misalkan GUI DM yang ditiru berjalan di atasnya.
Incnis Mrsi
@IncnisMrsi: Saya pikir apa yang sebenarnya dilakukannya adalah membunuh semua yang ada di sesi Anda dan meluncurkan kembali hal yang "benar", apa pun itu. Jadi jika tty = 7, Anda mendapatkan X baru, jika tidak Anda dapatkan login, dll. Ini buggy karena beberapa DE seperti GNOME tidak suka dibunuh entah dari mana. Tetapi jika penyerang Anda memiliki euid = 0, Anda sudah kalah juga.
Kevin
2

Pertama-tama, saya tidak yakin Anda bisa terlalu percaya diri dengan Ctrl+ Alt+ Deljendela masuk di Windows, ini juga peran virus / trojan untuk membajak gangguan, dan menerapkannya sangat mungkin.

Kedua, jika mekanisme tersebut diimplementasikan baik pada Windows / Linux, itu berarti bahwa hak administrator pasti terganggu.

Di Linux, jika seseorang menulis shell palsu untuk menampilkan prompt dan menangkap kredensial Anda, saya kira dasar Ctrl+ Catau Ctrl+Z bisa cukup, jika sinyal-sinyal itu tidak tertangkap untuk menemukan triknya. Juga memasukkan kredensial yang salah beberapa kali dapat membantu Anda melihat penyimpangan dari perilaku timer normal.

Beralih di antara konsol yang berbeda seperti juga meningkatkan kemungkinan untuk menemukan triknya.

Tetapi bagaimanapun juga Anda tidak dapat memastikan 100% pada sistem kepercayaan apa pun pada prompt / jendela login Anda.

netmonk
sumber
0

Anda dapat menggunakan ctrl+ alt+ F1... F7untuk masuk ke tty lain, dan masuk dari sana. Anda juga dapat menggunakan ctrl+ zatau ctrl+c . Namun, jika seseorang mencoba mencuri login dan kata sandi Anda menggunakan metode ini, masih mungkin Anda ditipu. Bergantung pada OS apa yang Anda gunakan, siapa yang memiliki akses ke sana, dan akses seperti apa yang dimilikinya.

Secara umum, Anda tidak akan pernah bisa 100% yakin, tetapi jika seseorang melakukan ini, saya akan menganggap dia sudah memiliki akses root - sehingga data login Anda tidak akan berarti baginya.

MatthewRock
sumber
3
Jika saya membuat jebakan seperti itu, saya pasti akan menjalankan program saya di setiap tty. Ingatlah bahwa mereka yang Anda akses dengan tombol kontrol tidak terlalu aman.
John WH Smith
Titik adil; ini adalah yang terbaik yang ada di pikiran saya.
MatthewRock
Bisakah beberapa sysrq ajaib membantu Anda?
Max Ried
0

Seorang pengguna (bahkan bukan root) yang memiliki akses fisik ke konsol dapat melakukan trik tipuan seperti itu.

Masuk melalui sshdan periksa proses mana yang beroperasi pada konsol virtual yang ingin Anda masuk secara lokal. Apakah itu getty(untuk TUI tty) atau pengelola tampilan yang sah lainnya? Apakah sudah UID = 0?

Jika salah satu dari keduanya salah, maka spanduk nama host login: pasti dipalsukan. Tetapi, ketika jawaban negara sudah ditulis, itu tidak membantu melawan orang yang bersalah memiliki hak-hak istimewanya telah meningkat root.

Incnis Mrsi
sumber
-1

Jawaban singkat: Anda tidak tahu.

Tetapi jika perintah login prompt telah diganti, itu berarti bahwa penyerang memiliki akses root pada mesin. Dalam hal ini dia juga bisa:

  • telah menginstal keylogger untuk mencuri kata sandi Anda. Anda dapat mengurangi masalah dengan menggunakan kata sandi unik, sehingga penyerang tidak akan dapat mengakses layanan online lain yang Anda gunakan;
  • masuk saat Anda (atau sebagai pengguna lain) di mesin, cukup dengan mengubah kata sandi, atau mengakses file Anda (atau orang lain).

Oleh karena itu khawatir apakah prompt login itu sah atau tidak adalah titik diperdebatkan.

Sebagai aturan umum, Anda tidak boleh masuk ke mesin yang Anda pikir dapat dikompromikan.

dr01
sumber
8
Saya dapat merancang sebuah program yang meniru perilaku prompt login, dan menjalankannya di setiap TTY tanpa hak akses root (seperti saya sendiri). Jika dilakukan dengan benar, tidak mungkin membedakan prompt nyata dari output program, mengundang Anda untuk memasukkan kredensial Anda. Namun, perhatikan bahwa akan membutuhkan hak root untuk mengotentikasi Anda (membuat jebakan benar-benar transparan), jadi jika login gagal dan Anda yakin Anda tidak membuat kesalahan ketik ... Anda mungkin menganggap Anda telah terjebak (terlalu terlambat).
John WH Smith
6
Anda tidak menginstalnya. Anda cukup menggunakan akun Anda sendiri untuk masuk ke setiap terminal, dan menjalankan login palsu di sana. Pengguna yang mencoba menggunakan terminal setelah itu akan menemukan prompt palsu Anda, berjalan seperti Anda, bukan loginprogram yang berjalan sebagai root. Saya tidak berasumsi bahwa loginprogram yang sebenarnya telah dikompromikan, memang.
John WH Smith
7
@ dr01. Login seperti biasa. Ketika Anda siap untuk memulai ~/bin/fakelogin, gunakan exec ~/bin/fakeloginsehingga ketika itu keluar (untuk alasan apa pun) akun pengguna Anda keluar dan prompt login yang sebenarnya disajikan kepada pengguna lain.
roaima
3
Biasanya ketika Anda mencoba mencuri kata sandi di prompt, Anda mencatatnya dan menulis "Login tidak valid.", Lalu keluar dari program Anda. Jadi, tidak perlu diautentikasi menggunakan $euid=0.
Ned64
1
Mengapa downvotes?
dr01