Plugin Java risiko keamanan yang sangat besar? Bagaimana cara preseve plugin Java dari eskalasi hak istimewa?

4

Menginstal plugin Java biasa adalah IMHO risiko keamanan nyata bagi orang-orang non-IT. Biasanya applet Java berjalan di kotak pasir dan applet tidak dapat melakukan apa pun yang merusak komputer Anda.

Namun, jika sebuah applet perlu melakukan sesuatu seperti hanya-baca mengakses sistem file Anda misalnya mengunggah gambar, Anda harus memberinya lebih banyak hak istimewa. Biasanya itu tidak masalah, tetapi saya rasa tidak semua orang tahu bahwa Anda memberi applet hak yang sama ke komputer Anda seperti yang dimiliki pengguna Anda! Dan itulah yang diminta oleh Java:

Pertanyaan keamanan Java

Itu terlihat 'berbahaya' seperti sertifikat SSL yang ditandatangani sendiri pada halaman acak tempat tidak ada data sensitif yang dipertukarkan. Pengguna akan mengklik Run!

Anda dapat mencobanya di rumah menggunakan JyConsole , itu Jython (Python di Jawa)!

Cukup ketik kode python, mis

import os
os.system('cat /etc/passwd')

atau lebih buruk JANGAN JENIS KODE DI KOMPUTER ANDA !!!

import os
os.system('rm -rf ~')

...

Adakah yang tahu bagaimana Anda dapat menonaktifkan kemungkinan peningkatan privilege? Omong-omong, apakah ada yang tahu mengapa SUN hanya menampilkan dialog yang tidak berbahaya seperti yang ditunjukkan di atas (dialog yang ditandatangani sendiri SSL-sertifikat-dari Firefox 3 dan di atas jauh lebih jelas di sini!)?

Sampel langsung dari komputer saya:

sampel jyconsole

Johannes Weiss
sumber

Jawaban:

3

Sama sekali bukan jawaban resmi:

Dari 6u10, file dapat dibaca oleh applet menggunakan java.jnlp API. Pengguna pertama kali mendapat dialog peringatan (yang saya harap akan dihapus) dan kemudian buka browser file. Applet hanya dapat membaca file yang dipilih pengguna untuk itu melalui pemilih file.

Saat ini Anda dapat mencegah pengguna dari mempercayai 'konten' dengan masuk ke Java Control Panel, memilih tab Advanced. Kotak centang pertama di bawah keamanan saat ini "izinkan pengguna untuk memberikan izin untuk konten yang ditandatangani @. Kotak centang kedua adalah" Izinkan pengguna untuk memberikan izin ke konten dari otoritas yang tidak dipercaya ".

Kelangkaan dialog keamanan kira-kira harus sesuai dengan pemain industri yang sebanding, seperti Microsoft ActiveX dan Adobe's AIR.

(Pengungkapan: Saya bekerja di Java SE Security.)

Tom Hawtin - tackline
sumber
1
Terima kasih atas jawaban Anda Tom, saya sudah mencoba pengaturan ControlPanel itu dan berfungsi dengan baik! Tidakkah Anda berpikir "Izinkan pengguna untuk memberikan izin ke konten dari otoritas yang tidak dipercaya" harus salah secara default? Apakah Anda menganggap standar aktual sebagai masalah keamanan besar juga (seperti yang saya lakukan)?
Johannes Weiss
Saya ingin itu menjadi default. Saya pikir kita hampir pada titik di mana sertifikat non-EV dapat secara otomatis ditolak secara default. Namun, dari sudut pandang praktis bahwa hal itu tidak akan terjadi. Peramban pertama, dan kami mungkin akan mengikuti orang banyak (tidak ada janji).
Tom Hawtin - tackline
Ok, tetapi dengan JAAS harus dimungkinkan untuk memberikan applet "beberapa" izin, seperti "baca file dari desktop saya". Atau "akses hanya baca" ke komputer saya, bukan? Situasi aktual adalah: izinkan segalanya atau tidak sama sekali.
Johannes Weiss
1
Mungkin fitur seperti itu dapat ditambahkan ke PlugIn / WebStart / JNLP. Itu tidak ada saat ini. Jika fitur seperti itu ditambahkan, tingkat izin keamanan Java agak rendah. Sangat mudah untuk izin yang tampaknya tidak berbahaya untuk dimanfaatkan dengan bit fungsionalitas acak untuk membentuk serangan penuh. Sungguh Anda ingin API yang dirancang untuk tujuan dalam model javax.jnlp.
Tom Hawtin - tackline