Bagikan melalui


Generasi Kode Keamanan dan On-the-Fly

Beberapa pustaka beroperasi dengan menghasilkan kode dan menjalankannya guna melakukan beberapa operasi untuk penelepon. Masalah dasarnya adalah menghasilkan kode atas nama kode kepercayaan yang lebih rendah dan menjalankannya dengan kepercayaan yang lebih tinggi. Masalahnya memburuk saat penelepon dapat memengaruhi pembuatan kode, jadi Anda harus memastikan bahwa hanya kode yang Anda anggap aman yang dihasilkan.

Anda perlu tahu persis kode apa yang Anda hasilkan setiap saat. Ini berarti bahwa Anda harus memiliki kontrol ketat pada nilai apa pun yang Anda dapatkan dari pengguna, baik itu string dalam kutipan (yang harus lolos sehingga tidak dapat menyertakan elemen kode yang tidak terduga), pengidentifikasi (yang harus diperiksa untuk memverifikasi bahwa ini adalah pengidentifikasi yang valid), atau apa pun yang lain. Pengidentifikasi dapat berbahaya karena perakitan yang dikompilasi dapat dimodifikasi sehingga pengidentifikasinya mengandung karakter aneh, yang mungkin akan merusaknya (meskipun ini jarang berupa kerentanan keamanan).

Disarankan agar Anda menghasilkan kode dengan pencaran pantulan, yang sering membantu Anda menghindari banyak masalah seperti ini.

Saat Anda mengompilasi kode, pertimbangkan jika ada cara program jahat dapat memodifikasinya. Apakah ada celah waktu kecil saat kode berbahaya dapat mengubah kode sumber pada disk sebelum pengompilasi membacanya atau sebelum kode memuat file .dll? Jika demikian, Anda harus melindungi direktori yang berisi file ini, menggunakan Daftar Kontrol Akses dalam sistem file, sebagaimana mestinya.

Lihat juga