Daftar Isi:
Definisi - Apa artinya Keamanan Akses Kode (CAS)?
Keamanan akses kode (CAS) adalah mekanisme keamanan yang digunakan bahasa umum runtime (CLR) dari .NET framework dapat membatasi kode yang dikelola untuk menjalankan operasi dengan serangkaian izin terbatas.
CAS memberlakukan kebijakan keamanan dalam kerangka .NET dengan mencegah akses tidak sah ke sumber daya dan operasi yang dilindungi. Tidak seperti metode keamanan tradisional, di mana kredensial pengguna diperoleh dari pengguna, CAS dirancang untuk mengatasi masalah yang dihadapi saat memperoleh kode dari sumber eksternal, yang mengandung bug dan kerentanan. Bug dan kerentanan ini dapat membuat sistem pengguna rentan terhadap kode berbahaya, yang dapat melakukan tugas tanpa disadari pengguna. CAS benar-benar mengetahui dan hanya mengizinkan operasi-operasi yang dapat dan tidak dapat dilakukan oleh kode pengguna tertentu. Fitur ini berlaku untuk semua kode terkelola yang menargetkan CLR.
CAS menyediakan keamanan berbasis bukti yang dibangun di atas lapisan di atas keamanan yang disediakan oleh sistem operasi Windows. Sementara Windows didasarkan pada izin pengguna, CAS didasarkan pada bukti untuk perakitan. Majelis berisi izin yang ditentukan dalam kebijakan keamanan dan membentuk dasar untuk memungkinkan kode untuk melakukan tindakan yang diperlukan.
Techopedia menjelaskan Keamanan Akses Kode (CAS)
CAS dibangun di atas elemen-elemen berikut, antara lain:
- Izin: Ini adalah hak dasar yang diperlukan untuk mengakses sumber daya yang dilindungi atau menjalankan operasi yang dilindungi.
- Set Izin: Ini adalah seperangkat izin, seperti "kepercayaan penuh", "tidak ada", "Internet", "intranet lokal" dan lainnya.
- Grup Kode: Ini adalah pengelompokan kode yang logis dengan ketentuan khusus untuk keanggotaan seperti LocalIntranet_zone dan Internet_zone.
- Bukti: Ini adalah informasi yang terkait dengan perakitan seperti direktori aplikasi, penerbit, URL, dan zona keamanan.
- Kebijakan Keamanan: Ini adalah seperangkat aturan yang dikonfigurasi oleh administrator untuk menentukan izin yang diberikan untuk kode yang dinyatakan secara hierarkis di empat tingkat sebagai perusahaan, mesin, pengguna, dan domain aplikasi.
Operasi istimewa yang mengeksekusi kode menuntut CLR untuk satu atau lebih izin. Izin aktual dihitung menggunakan gabungan izin yang ditetapkan dalam grup kode dan kemudian persimpangan di tingkat kebijakan. CLR memastikan izin yang diminta dalam izin yang diberikan dari metode majelis itu. Jika izin tidak diberikan, pengecualian keamanan akan dilemparkan.
CAS menyediakan dua mode keamanan untuk menetapkan izin untuk kode:
- Keamanan deklaratif diimplementasikan dengan mendefinisikan atribut keamanan di tingkat perakitan, tingkat kelas atau tingkat anggota. Mode deklaratif digunakan ketika panggilan harus dievaluasi pada waktu kompilasi.
- Keamanan imperatif menggunakan pemanggilan metode run time untuk membuat instance kelas keamanan. Mode imperatif digunakan ketika panggilan perlu dievaluasi pada waktu berjalan.
CAS memiliki keterbatasan, termasuk tidak berfungsinya suatu aplikasi pindah ke sistem lain ketika kebijakan keamanan berbeda. Selain itu, tidak ada kontrol pada kode yang tidak dikelola dan tidak ada kontrol pengembangan aplikasi untuk memenuhi kebutuhan berbagai skenario pengaturan keamanan pada sistem pengguna.
Untuk secara efektif menggunakan teknologi keamanan berbutir halus dari CAS, pengembang harus menulis kode tipe-aman, menggunakan sintaksis deklaratif atau imperatif berdasarkan konteks, meminta izin dari run time untuk menjalankan kode, dan menggunakan perpustakaan aman.