10 Aturan Terbaik Jika Ingin Membuat Kode Software Yang Lebih Aman

10 Aturan Terbaik Jika Ingin Membuat Kode Software Yang Lebih Aman

Berikut ini adalah 10 aturan terbaik yang bisa kamu terapkan untuk membuat kode yang lebih aman untuk software atau aplikasi yang kamu buat.

1. Validasi input. Validasi semua input dari semua sumber daya data yang tidak terpercaya. Validasi input yang tepat dapat menghilangkan sebagian besar kerentan dari software. Jadilah curiga terhadap sebagian besar sumber data eksternal, termasuk command line argument, network interface, environmental variable dan user controlled file.

2. Berikan peringatan compiler. Meng-compile kode menggunakan tingkat peringatan tertinggi yang tersedia untuk compiler dan menghilangkan peringatan dengan memodifikasi kode. Gunakan tool analisis statis dan dinamis untuk mendeteksi dan menghilangkan kelemahan keamanan tambahan.

3. Rancang dan desain kebijakan keamanan. Buat rancangan dan desain software kamu untuk menerapkan kebijakan keamanan. Misalnya, jika sistem kamu memerlukan hak istimewa yang berbeda pada waktu yang berbeda, pertimbangkan untuk membagi sistem menjadi subsistem, masung-masing memiliki hak istimewa yang sesuai.

4. Buat sesimpel mungkin. Jaga agar desain sesederhana dan sekecil mungkin. Desain yang kompleks meningkatkan kemungkinan kesalahan akan terjadi pada implementasi, konfigurasi, dan penggunaannya. Selain itu, upaya yang diperlukan untuk mencapai tingkat kepastian yang sesuai meningkat secara dramatis karena mekanisme keamanan menjadi lebih kompleks.

5. Default penolakan. Keputusan akses berdasarkan atas izin dan bukan dari eksklusi. Hal ini berarti, secara default, akses ditolak dan skema perlindungan mengidentifikasi kondisi dimana akses diizinkan.

6. Patuhi prinsip yang paling tidak istimewa. Setiap proses harus dijalankan dengan sekurang-kurangnya hak istimewa yang diperlukan untuk menyelesaikan pekerjaan. Setiap izin yang ditinggikan harus diadakan dengan wakti yang minimum. Pendekatan ini mengurangi peluang penyerang mengeksekusi kode arbitrary dengan hak istimewa yang tinggi.

7. Sanitasi data dikirim ke sistem lain. Sanitasi semua data ke subsistem yang kompleks seperti command shell, relational database dan komponen commercial off-the-shelf (COTS). Penyerang mungkin dapat meminta fungsi yang tidak digunakan dalam komponen ini melalui penggunaan SQL, command atau serangan injeksi lainnya. Hal ini belum tentu merupakan masalah validasi masukan karena subsistem kompleks yang dipanggil tidak mengerti konteks dimana panggilan dibuat. Karena proses pemanggilan memahami konteks, dan bertanggung jawab untuk membersihkan data sebelum meminta subsistem.

8. Praktek pertahanan secara mendalam. Mengelola resiko dengan beberapa strategi defensif, sehingga jika satu lapisan keamanan tidak memadai, lapisan lainnya dapat mencegah celah keamanan menjadi kerentanan yang dapat dieksploitasi. Sebagai contoh, mengkombinasikan teknik programming yang aman dengan lingkungan runtime yang aman, yang dapat mengurangi kemungkinan kerentanan.

9. Gunakan teknik quality assurance yang efektif. Teknik quality assurance yang baik dapat efektif dalam mengidentifikasi dan menghilangkan kerentanan. Pengujian Fuzz, pengujian penetrasi dan audit source code seharusnya digabungkan sebagai bagian dari program quality assurance yang efektif.

10. Mengadopsi standar coding yang aman. Mengembangkan dan/atau menerapkan standar coding yang aman untuk platform pengembangan.

 

Jakartawebhosting.com menyediakan layanan Web Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan dengan yang menarik.

You may also like...