10 Risiko Keamanan Teratas OWASP | Ringkasan

Daftar Isi

Ikhtisar 10 Teratas OWASP

Apa itu OWASP?

OWASP adalah organisasi nirlaba yang didedikasikan untuk pendidikan keamanan aplikasi web. 

Materi pembelajaran OWASP dapat diakses di situs web mereka. Alat mereka berguna untuk meningkatkan keamanan aplikasi web. Ini termasuk dokumen, alat, video, dan forum.

OWASP Top 10 adalah daftar yang menyoroti masalah keamanan teratas untuk aplikasi web saat ini. Mereka merekomendasikan agar semua perusahaan menyertakan laporan ini dalam proses mereka untuk mengurangi risiko keamanan. Di bawah ini adalah daftar risiko keamanan yang termasuk dalam laporan OWASP Top 10 2017.

SQL Injection

Injeksi SQL terjadi ketika penyerang mengirimkan data yang tidak sesuai ke aplikasi web untuk mengganggu program dalam aplikasi.

Contoh Injeksi SQL:

Penyerang dapat memasukkan kueri SQL ke dalam formulir input yang memerlukan teks biasa nama pengguna. Jika formulir input tidak diamankan, ini akan menghasilkan eksekusi kueri SQL. Ini dirujuk sebagai injeksi SQL.

Untuk melindungi aplikasi web dari injeksi kode, pastikan developer Anda menggunakan validasi input pada data yang dikirimkan pengguna. Validasi di sini mengacu pada penolakan input yang tidak valid. Manajer basis data juga dapat mengatur kontrol untuk mengurangi jumlah informasi yang dapat diungkapkan dalam serangan injeksi.

Untuk mencegah injeksi SQL, OWASP merekomendasikan untuk memisahkan data dari perintah dan kueri. Opsi yang lebih disukai adalah menggunakan secure API untuk mencegah penggunaan juru bahasa, atau untuk bermigrasi ke Alat Pemetaan Relasional Objek (ORM).

Otentikasi Rusak

Kerentanan autentikasi dapat memungkinkan penyerang mengakses akun pengguna dan membahayakan sistem menggunakan akun admin. Penjahat dunia maya dapat menggunakan skrip untuk mencoba ribuan kombinasi kata sandi pada sistem untuk melihat mana yang berfungsi. Setelah penjahat dunia maya masuk, mereka dapat memalsukan identitas pengguna, memberi mereka akses ke informasi rahasia.

Kerentanan autentikasi rusak ada di aplikasi web yang memungkinkan login otomatis. Cara populer untuk memperbaiki kerentanan autentikasi adalah penggunaan autentikasi multifaktor. Juga, batas tingkat masuk bisa termasuk di aplikasi web untuk mencegah serangan brute force.

Paparan Data Sensitif

Jika aplikasi web tidak melindungi penyerang sensitif dapat mengakses dan menggunakannya untuk keuntungan mereka. Serangan di jalur adalah metode populer untuk mencuri informasi sensitif. Risiko paparan dapat diminimalkan ketika semua data sensitif dienkripsi. Pengembang web harus memastikan bahwa tidak ada data sensitif yang diekspos di browser atau disimpan secara tidak perlu.

Entitas Eksternal XML (XEE)

Penjahat dunia maya mungkin dapat mengunggah atau menyertakan konten, perintah, atau kode XML berbahaya dalam dokumen XML. Hal ini memungkinkan mereka untuk melihat file pada sistem file server aplikasi. Begitu mereka memiliki akses, mereka dapat berinteraksi dengan server untuk melakukan serangan pemalsuan permintaan sisi server (SSRF)..

Serangan entitas eksternal XML bisa dicegah oleh memungkinkan aplikasi web untuk menerima tipe data yang kurang kompleks seperti JSON. Menonaktifkan pemrosesan entitas eksternal XML juga mengurangi kemungkinan serangan XEE.

Kontrol Akses Rusak

Kontrol akses adalah protokol sistem yang membatasi pengguna yang tidak sah untuk informasi sensitif. Jika sistem kontrol akses rusak, penyerang dapat melewati otentikasi. Ini memberi mereka akses ke informasi sensitif seolah-olah mereka memiliki otorisasi. Kontrol Akses dapat diamankan dengan mengimplementasikan token otorisasi pada login pengguna. Pada setiap permintaan yang dibuat pengguna saat diautentikasi, token otorisasi dengan pengguna diverifikasi, menandakan bahwa pengguna berwenang untuk membuat permintaan itu.

Kesalahan Konfigurasi Keamanan

Kesalahan konfigurasi keamanan adalah masalah umum yang keamanan cyber spesialis mengamati dalam aplikasi web. Ini terjadi sebagai akibat dari header HTTP yang salah konfigurasi, kontrol akses yang rusak, dan tampilan kesalahan yang menampilkan info di aplikasi web. Anda dapat memperbaiki Kesalahan Konfigurasi Keamanan dengan menghapus fitur yang tidak digunakan. Anda juga harus menambal atau memutakhirkan paket perangkat lunak Anda.

Pembuatan Skrip Lintas Situs (XSS)

Kerentanan XSS terjadi saat penyerang memanipulasi DOM API dari situs web tepercaya untuk mengeksekusi kode berbahaya di browser pengguna. Eksekusi kode berbahaya ini sering kali terjadi saat pengguna mengeklik tautan yang tampaknya berasal dari situs web tepercaya. Jika situs web tidak dilindungi dari kerentanan XSS, itu bisa dikompromikan. Kode berbahaya itu dieksekusi memberi penyerang akses ke sesi login pengguna, detail kartu kredit, dan data sensitif lainnya.

Untuk mencegah Cross-site Scripting (XSS), pastikan HTML Anda sudah dibersihkan dengan baik. Ini bisa dicapai oleh memilih kerangka kerja tepercaya tergantung pada bahasa pilihan. Anda dapat menggunakan bahasa seperti .Net, Ruby on Rails, dan React JS karena mereka akan membantu mengurai dan membersihkan kode HTML Anda. Memperlakukan semua data dari pengguna yang diautentikasi atau tidak diautentikasi sebagai tidak tepercaya dapat mengurangi risiko serangan XSS.

Deserialisasi yang Tidak Aman

Deserialisasi adalah transformasi data serial dari server ke objek. Deserialisasi data adalah kejadian umum dalam pengembangan perangkat lunak. Tidak aman bila data adalah deserialized dari sumber yang tidak terpercaya. Ini bisa berpotensi memaparkan aplikasi Anda terhadap serangan. Deserialisasi yang tidak aman terjadi ketika deserialisasi data dari sumber yang tidak dipercaya menyebabkan serangan DDOS, serangan eksekusi kode jarak jauh, atau bypass autentikasi.

Untuk menghindari deserialisasi yang tidak aman, aturan praktisnya adalah jangan pernah mempercayai data pengguna. Setiap pengguna harus memasukkan data diperlakukan as berpotensi jahat. Hindari deserialisasi data dari sumber yang tidak tepercaya. Pastikan bahwa deserialization berfungsi untuk digunakan dalam aplikasi web Anda aman.

Menggunakan Komponen Dengan Kerentanan yang Diketahui

Pustaka dan Kerangka Kerja telah membuatnya lebih cepat untuk mengembangkan aplikasi web tanpa perlu menemukan kembali rodanya. Ini mengurangi redundansi dalam evaluasi kode. Mereka membuka jalan bagi pengembang untuk fokus pada aspek aplikasi yang lebih penting. Jika penyerang menemukan eksploit dalam kerangka kerja ini, setiap basis kode yang menggunakan kerangka kerja akan melakukannya dikompromikan.

Pengembang komponen sering kali menawarkan tambalan dan pembaruan keamanan untuk pustaka komponen. Untuk menghindari kerentanan komponen, Anda harus belajar untuk selalu memperbarui aplikasi Anda dengan tambalan dan pemutakhiran keamanan terbaru. Komponen yang tidak terpakai seharusnya Dihilangkan dari aplikasi untuk memotong vektor serangan.

Pencatatan dan Pemantauan yang Tidak Memadai

Pencatatan dan pemantauan penting untuk menampilkan aktivitas di aplikasi web Anda. Logging memudahkan untuk melacak kesalahan, Monitor login pengguna, dan aktivitas.

Pencatatan dan pemantauan yang tidak memadai terjadi ketika peristiwa penting keamanan tidak dicatat tepat. Penyerang memanfaatkan ini untuk melakukan serangan pada aplikasi Anda sebelum ada respons yang terlihat.

Pembuatan log dapat membantu perusahaan Anda menghemat uang dan waktu karena pengembang Anda dapat melakukannya mudah menemukan bug. Ini memungkinkan mereka untuk lebih fokus pada penyelesaian bug daripada mencarinya. Akibatnya, logging dapat membantu menjaga situs dan server Anda tetap aktif dan berjalan setiap saat tanpa mengalami downtime.

Kesimpulan

Kode yang bagus tidak hanya tentang fungsionalitas, ini tentang menjaga keamanan pengguna dan aplikasi Anda. OWASP Top 10 adalah daftar risiko keamanan aplikasi yang paling kritis adalah sumber daya gratis yang bagus bagi pengembang untuk menulis aplikasi web dan seluler yang aman. Melatih developer di tim Anda untuk menilai dan mencatat risiko dapat menghemat waktu dan uang tim Anda dalam jangka panjang. Jika Anda ingin pelajari lebih lanjut tentang cara melatih tim Anda di OWASP Top 10 klik di sini.