Bisakah program lain di X menangkap kata sandi root saya saat saya mengetik di terminal virtual?

24

Biasanya saya hanya menginstal program open source di kotak linux saya karena saya tidak percaya aplikasi sumber tertutup. Baru-baru ini saya harus menggunakan Dropbox untuk proyek universitas. Saya membuat akun linux terpisah bernama work and run (as work ) dropbox tanpa instalasi melalui skrip python. Script juga membuat simbol di baki sistem yang menyediakan GUI untuk beberapa fungsi Dropbox.

Suatu hari saya harus melakukan pemeliharaan sehingga saya membuka terminal virtual (konsole di KDE) dan memasukkan kata sandi root saya untuk su .

Apakah ada kemungkinan aplikasi Dropbox dapat menangkap kata sandi root saya?

Saya menggunakan Fedora 20 dengan KDE 4.14.3.

pembuat masalah
sumber

Jawaban:

24

Jawaban singkat: Ya.

Dalam "masa lalu", dimungkinkan untuk secara efektif mencegah aplikasi X lainnya dari membaca input tertentu dengan meraihnya. Meskipun hal ini masih dapat dilakukan hingga hari ini, spesifikasi protokol XI2 tampaknya menyarankan bahwa hal ini tidak dapat dilakukan lagi (lihat deskripsi Acara Baku di sekitar baris 2220). Jadi di bawah X saja Anda tidak aman lagi - setidaknya tidak dalam pengaturan sederhana yang biasa. Lihat juga diskusi di bawah jawaban saya untuk Bagaimana membiarkan daemon meminta kata sandi (di Xsession, keyloggersafe)? dan Tanya Jawab Ubuntu yang dirujuk di sana. Tidak perlu dikatakan, tidak ada terminal yang benar-benar melakukan itu - itulah sebabnya aplikasi seperti OpenSSH atau GnuPG datang dengan bantuan UI mereka sendiri, yang menggunakan keyboard (meskipun seperti yang disebutkan di atas, itu tidak terlalu banyak membantu akhir-akhir ini).

Apa yang bisa Anda lakukan adalah menjalankan aplikasi di bawah X server yang berbeda, misalnya server X yang bersarang seperti Xephyratau Xnest, atau yang berbasis VNC Xvnc. Protokol wayland juga harus memberikan perlindungan terhadap penyadapan.

Terlepas dari hal di atas, aplikasi bisa juga mencoba untuk mengeksploitasi lubang keamanan yang belum ditambal di sistem Anda dan dengan demikian mendapatkan hak istimewa yang lebih tinggi. Atau lakukan sesuatu yang lebih mudah, seperti meletakkan sudan sudomembungkus path Anda sebelum yang sistem dan dengan demikian mencegat kata sandi (terima kasih @Joshua atas komentarnya).

peterph
sumber
Seperti, katakanlah, arahkan sudo ke ~ / .evil / sudo dan raih pw Anda.
Joshua
Anda tidak pernah aman di bawah X - meraih perangkat hanya mencegah peristiwa input yang dihasilkan, itu tidak melindungi terhadap program seperti xspydari polling terus-menerus keyboard untuk mendapatkan tombol yang ditekan pada saat itu.
alanc
@alanc apakah Anda memiliki tautan ke sumber?
peterph
@peterph untuk xspy? Situs web asli sudah tidak ada, tetapi Arsip Internet memiliki salinan yang disimpan di web.archive.org/web/20090207115718/http://www.acm.vt.edu/…
alanc
Xnest maupun xephyr tidak akan melindungi Anda ; Peristiwa menggelembung ke jendela mereka seperti biasa.
goldilocks