it-swarm-id.com

Masalah Keamanan dengan Penerusan X11

Apa saja masalah dan alasan keamanan baik untuk atau tidak mengizinkan Penerusan X11. Saya biasanya mengambil pendekatan untuk tidak membiarkannya dengan kedok keamanan. Baru-baru ini, saya memiliki pengguna yang mengindikasikan bahwa mereka berpikir bahwa implikasi keamanan yang dihasilkan dari mengizinkan sesi X11 Teruskan dapat diabaikan. Saya ingin tahu lebih banyak tentang apa salahnya mengizinkan X11 Forwarding dan mengapa orang ingin mengizinkannya.

29
John

Implikasi dari penerusan X11 adalah bahwa ia membuka saluran dari server kembali ke klien. Dalam sesi SSH sederhana, klien lebih dipercaya daripada server: siapa pun yang mengendalikan klien dapat menjalankan perintah di server (dengan asumsi akses Shell), tetapi sebaliknya tidak benar. Dengan penerusan X11, server cenderung mendapatkan akses Shell ke klien.

Dalam sesi teks, ada saluran terbatas dari server kembali ke klien: server menentukan output yang ditampilkan pada klien, dan khususnya dapat mencoba mengeksploitasi urutan melarikan diri di terminal yang berjalan pada klien,

Dalam sesi X11, server dapat mengirim perintah X11 kembali ke klien. X11 tidak dirancang dengan mempertimbangkan keamanan, itu dirancang dengan gagasan bahwa semua program yang Anda tampilkan dijalankan oleh Anda dan karenanya dipercaya. Secara default, SSH tunduk perintah dari server ke pembatasan melalui ekstensi X11 SECURITY . Ekstensi SECURITY menonaktifkan beberapa serangan yang jelas seperti ambil keyboard dan injeksi kunci, tetapi memungkinkan orang lain seperti mencuri fokus.

Katakanlah saya membuka koneksi SSH ke someserver, dengan penerusan X11 diaktifkan. Risiko utama adalah bahwa jika someserver berbahaya, maka someserver dapat melakukan segala macam hal buruk pada windows/aplikasi yang saya buka di komputer saya sendiri.

Misalnya, someserver bisa membuka windows di komputer saya, bisa menutup windows lain yang sudah saya buka, bisa memata-matai isi windows lain yang sudah saya buka, bisa memata-matai kunci yang saya ketik di windows lain, bisa menyuntikkan penekanan tombol spoofed dan acara mouse ke jendela lain yang saya buka, dan umumnya hanya mengacaukan setiap jendela lain yang saya buka di mesin saya - bahkan jika beberapa jendela lain adalah aplikasi lokal yang berjalan secara lokal.

7
D.W.

Salah satu solusi untuk risiko penerusan X atas ssh yang dibahas dalam jawaban lain adalah dengan menggunakan apa yang disebut server X masquerade, yang sebenarnya bukan server X tetapi menghadirkan antarmuka X semu dan layar X semu untuk perangkat lunak klien pada wadah, sambil melewati beberapa X bekerja ke server X nyata di belakangnya. Layar pseudo X ditampilkan sebagai satu jendela X pada desktop Host aktual X.

Meskipun itu tidak dimaksudkan sebagai alat keamanan, Xephyr cocok dengan deskripsi itu.

Untuk alasan itu saya menulis program javascript untuk membuat kontainer lxd/lxc dari gambar ubuntu Vanilla, dan mengisinya dengan firefox, openvpn, Xephyr, dan pusleaudio.

https://github.com/craigphicks/browser-on-lxc-vpn-xephyr

https://www.npmjs.com/package/browser-on-lxc-vpn-xephyr

Saya tidak akan membuat klaim keamanan yang kuat tentang - itu adalah bukti latihan konsep.

0
Craig Hicks