Aplikasi yang tidak aman dapat mengekspos pengguna dan sistem ke berbagai jenis kerusakan. Jika pihak yang tidak bertanggung jawab menggunakan kerentanan atau kurangnya fitur keamanan untuk keuntungan mereka guna menyebabkan kerusakan, hal ini disebut serangan. Kita akan mempelajari berbagai jenis serangan dalam panduan ini sehingga Anda tahu apa yang harus dicari saat mengamankan aplikasi.
Serangan aktif vs serangan pasif
Serangan dapat dibagi menjadi dua jenis: aktif dan pasif.
Serangan aktif
Dengan serangan aktif, penyerang mencoba menerobos aplikasi secara langsung. Ada berbagai cara untuk melakukannya, mulai dari menggunakan identitas palsu untuk mengakses data sensitif (serangan masquerade) hingga membanjiri server dengan traffic dalam jumlah besar untuk membuat aplikasi Anda tidak responsif (serangan denial of service).
Serangan aktif juga dapat dilakukan pada data dalam pengiriman. Penyerang dapat mengubah data aplikasi Anda sebelum data tersebut sampai ke browser pengguna, yang menampilkan informasi yang diubah di situs atau mengarahkan pengguna ke tujuan yang tidak diinginkan. Tindakan ini terkadang disebut modifikasi pesan.

Serangan pasif
Dengan serangan pasif, penyerang mencoba mengumpulkan atau mempelajari informasi dari aplikasi, tetapi tidak memengaruhi aplikasi itu sendiri.

Bayangkan seseorang menguping percakapan Anda dengan teman dan keluarga, mengumpulkan informasi tentang kehidupan pribadi Anda, siapa teman Anda, dan tempat Anda nongkrong. Hal yang sama dapat dilakukan pada traffic web Anda. Penyerang dapat mengambil data antara browser dan server yang mengumpulkan nama pengguna & sandi, histori penjelajahan pengguna, dan data yang dipertukarkan.
Pertahanan terhadap serangan
Penyerang dapat langsung membahayakan aplikasi Anda atau melakukan operasi berbahaya di situs tanpa Anda atau pengguna menyadarinya. Anda memerlukan mekanisme untuk mendeteksi dan melindungi dari serangan.
Sayangnya, tidak ada satu solusi untuk membuat aplikasi Anda 100% aman. Dalam praktiknya, banyak fitur dan teknik keamanan yang digunakan secara berlapis untuk mencegah atau menunda serangan lebih lanjut (ini disebut defense in depth). Jika aplikasi Anda berisi formulir, Anda dapat memeriksa input di browser, lalu di server, dan terakhir di database; Anda juga akan menggunakan HTTPS untuk mengamankan data dalam pengiriman.
Rangkuman
Karena banyak serangan yang dapat terjadi tanpa pernah memukul server Anda, terkadang sulit untuk mendeteksi apakah serangan terjadi atau tidak. Kabar baiknya, browser web memiliki fitur keamanan canggih yang sudah terintegrasi. Ikuti topik berikutnya "Cara browser mengurangi serangan" untuk mempelajari lebih lanjut.