Bagaimana cara mencegah program mengendus penekanan tombol ke su / gksu?

10

Saya telah membaca di sini bahwa mungkin untuk aplikasi apa pun yang menggunakan server X untuk mengendus penekanan tombol ke aplikasi lain yang juga menggunakan server X, termasuk su(pada terminal) atau gksu. Saya pernah mendengar beberapa cara untuk membuat server X aman seperti Xephyr , tapi saya tidak yakin mana yang digunakan. Saya hanya ingin mencegah aplikasi seperti xinputmengendus penekanan tombol dengan mudah ketika saya mengetikkan kata sandi di terminal atau gksu. Saya saat ini menggunakan sisi Debian.

Magnus
sumber
Jangan mengetik. berjalan
Ignacio Vazquez-Abrams
1
aplikasi apa pun = aplikasi apa pun dengan akses ke server X11 Anda , lihat dokumentasi keamanan X.Org untuk petunjuk pertama. Perhatikan juga bahwa ada XACE, keseluruhan cerita tampaknya sedikit lebih rumit, dengan klien X11 yang tepercaya / tidak dipercaya. Tidak tahu berapa banyak dari ini digunakan dalam pengaturan Xorg baru-baru ini.
sr_
1
Saya telah menginstal Xephyr. Ini sangat rumit dan membutuhkan bash magic yang kompleks tetapi xinput yang berjalan di dalam server X bersarang tidak dapat mendeteksi penekanan tombol di luar Xephyr (namun, xinput yang berjalan di luar Xephyr masih dapat mendeteksi semua penekanan tombol). Saya sudah mencoba menggunakan kotak pasir SELinux tetapi saya tidak bisa menggunakannya. Saya akan tetap membiarkan pertanyaan ini terbuka jika seseorang memiliki ide yang lebih baik.
Magnus
Ini adalah artikel terbaru lwn.nettentang keamanan tumpukan grafis GNU / Linux yang membahas secara menyeluruh tentang perkembangan pengembang X.
sr_

Jawaban:

1

Perhatikan bahwa Xephyr / Xnest / vnc-server akan membuat aplikasi berbicara ke server X yang berbeda, tetapi tidak akan melarangnya untuk berbicara dengan server X lain di mana Anda menjalankan gksu.

Cara terbaik adalah menjalankannya di server X yang berbeda dan sebagai pengguna yang berbeda (atau menggunakan LSM untuk mencegah aplikasi terhubung ke server X atau membaca file .Xauthority Anda). Untuk mengambil satu langkah lebih jauh, Anda dapat membuatnya berjalan di chroot jail, dan untuk mengambilnya satu langkah lebih jauh, Anda dapat menjalankannya dalam sebuah wadah, dan untuk mengambilnya satu langkah lagi, lebih jauh, jalankan dalam kontrol penuh mesin virtual (misalnya dengan kvm -snapshot).

Jika Anda tidak mempercayai aplikasi tersebut, Anda mungkin harus melakukan semuanya.

Stéphane Chazelas
sumber
-1

Saya percaya, tetapi tidak tahu bagaimana membuktikannya, bahwa aplikasi X11 apa pun yang mencegah Anda mengetik di tempat lain (seperti kata sandi) tidak dapat diendus.

Coba ini: jalankan gksu, dan ketika prompt kata sandi terbuka, cobalah untuk menyesuaikan volume menggunakan kunci (jika mesin Anda memilikinya), atau tekan tombol panas lainnya (super, daya, dll.) Dan lihat apakah mereka melakukan sesuatu. Jika tidak, saya pikir Anda aman.

Saya pikir ctrl-alt-f1 dll selalu bekerja.

am
sumber
2
Sebenarnya, xinput dapat melacak penekanan tombol bahkan di gksu. Saya sudah mencobanya dan walaupun tidak menunjukkan penekanan tombol saat memasukkan kata sandi, setelah kotak dialog gksu hilang, penekanan tombol muncul.
Magnus
@ Magnus: Itu mengecewakan. :(
ams