Video: Google Security Expert Roundtable 2024
Sistem berbasis web berisi banyak komponen, termasuk kode aplikasi, sistem manajemen basis data, sistem operasi, middleware, dan perangkat lunak server web itu sendiri. Komponen ini dapat, secara individu dan kolektif, memiliki desain keamanan atau cacat implementasi. Beberapa cacat yang ada meliputi:
- Gagal untuk memblokir serangan injeksi. Serangan seperti injeksi JavaScript dan injeksi SQL dapat memungkinkan penyerang untuk menyebabkan aplikasi web mengalami kerusakan dan mengekspos data internal yang tersimpan secara sensitif.
- otentikasi rusak. Ada banyak, banyak cara di mana situs web dapat menerapkan otentikasi - jumlahnya terlalu banyak untuk dicantumkan di sini. Otentikasi sangat penting untuk mendapatkan yang benar; banyak situs gagal melakukannya
- Manajemen sesi yang salah. Server web membuat "sesi" logis untuk melacak pengguna individual. Banyak mekanisme pengelolaan sesi situs web rentan terhadap penyalahgunaan, terutama yang memungkinkan penyerang untuk mengambil alih sesi pengguna lain.
- Gagal memblokir serangan scripting lintas situs. Situs web yang gagal memeriksa dan menyucikan data masukan. Akibatnya, penyerang terkadang bisa membuat serangan yang mengirimkan konten berbahaya ke pengguna.
- Gagal memblokir serangan pemalsuan permintaan lintas situs. Situs web yang gagal menerapkan pengelolaan sesi dan sesi sesi yang tepat dapat rentan terhadap serangan di mana pengguna ditipu untuk mengirim perintah ke situs web yang dapat menyebabkannya membahayakan.
Contohnya adalah dimana seorang penyerang menipu pengguna untuk mengklik sebuah link yang benar-benar membawa pengguna ke URL seperti ini:
// bank. com / transfer? tohackeraccount: jumlah = 99999. 99
. - Gagal melindungi referensi benda langsung. Situs web terkadang bisa ditipu untuk mengakses dan mengirim data ke pengguna yang tidak berwenang melihat atau memodifikasinya.
Kerentanan ini dapat dikurangi dalam tiga cara utama:
- Pelatihan pengembang mengenai teknik pengembangan perangkat lunak yang lebih aman
- Termasuk keamanan dalam siklus hidup pengembangan
- Penggunaan aplikasi dinamis dan statis alat pemindaian