Keselamatan dan keamanan merupakan bagian dari desain Java , dengan ' sandbox
' suatu aplikasi
yang tidak dipercaya dan mungkin berbahaya ,tidak memperoleh akses ke sumber daya sistem . untuk menerapkan sandbox ini , terdapat tiga komponen yang digunakan : class loader , sebuah bytecode verifier , dan security manager. Class Loader Class loader , berfungsi memeriksa kode itu adalah dalam fornat benar, selain itu memeriksa bahwa aplikasi / applet tidak melanggar sistem keamanan dengan mengalokasikan namespace.
The bytecode verifier
Sebelum JVM memperbolehkan aplikasi / applet berjalan , kodenya harus diverifikasi . Verifier tersebut mengasumsikan bahwa semua kode dimaksudkan untuk merusak atau melanggar sistem keamanan. Verifier juga melakukan serangkaian pemeriksaan , termasuk eksekusi teorema prover, untuk memastikan bahwa kode bukan permasalahan. Pemeriksaan yang dilakukan adalah termasuk verifikasi bahwa : n kode dikompilasi dengan benar diformat ; n internal stacks tidak akan meluap / underflow ; n tidak ada konversi data yang ' ilegal ' akan terjadi ( misalnya , integer to pointer ) hal ini memastikan bahwa variabel tidak akan diberikan akses ke area memori ; n Instruksi bytecode diketik secara tepat ; n semua akses anggota kelas valid.
The Security Manager
Kebijakan keamanan Java spesifik kepada tiap aplikasi. Sebuah aplikasi Java , seperti Java -enabled Web browser atau server Web , mendefinisikan dan mengimplementasikan kebijakan keamanan sendiri. Masing-masing aplikasi ini mengimplementasikan Security Manager sendiri . Web browser Java -enabled berisi applet Security Manager sendiri , dan setiap applet yang didownload oleh browser ini tunduk pada kebijakannya . Umumnya , Security Manager melakukan verifikasi runtime pada method yang memiliki potensi 'berbahaya' , yaitu metode yang meminta I / O , akses jaringan , atau keinginan untuk mendefinisikan class loader baru . Secara umum, applet yang didownload dibatasi untuk: n membaca dan menulis file pada sistem file klien. n membuat jaringan ke mesin lain daripada memakai host yang menyediakan kompilasi ' . Class ' file Pembatasan ini berlaku untuk applet yang di-download melalui Internet atau perusahaan publik intranet .
Peningkatan keamanan applet
Model sandbox diperkenalkan bersamaan dengan rilis pertama dari applet Java API di Januari 1996. Meskipun sandbox secara umum melindungi sistem dari kode yang tidak dipercaya diperoleh dari jaringan , sandbox tidak mengatasi beberapa masalah keamanan dan privasi lainnya . Otentikasi diperlukan untuk memastikan berasal dari mana sebuah.
Bagian Nduwur Nduwur
Salah satu aspek keamanan lainnya yang harus ditangani dalam lingkungan Web adalah informasi yang dikirimkan ke klien mungkin memiliki konten executable. Sebagai contoh, Halaman HTML dapat berisi kontrol ActiveX, JavaScript / VBScript, dan / atau satu atau lebih Java applet. Konten executable dapat melakukan tindakan berbahaya berikut: n merusak data n memformat disk yang sempurna n melakukan shutdown sistem total; n mengumpulkan dan men-download data rahasia, seperti file atau password n merebut identitas dan meniru pengguna atau komputer pengguna untuk menyerang sasaran- sasaran lain di jaringan; n mengunci sumber daya membuat mereka tidak tersedia untuk pengguna dan program yang sah; n menyebabkan efek yang tidak diinginkan, terutama pada perangkat output. Pada Seksion ini kita membahas sejumlah isu yang berhubungan dengan database security.