Aplikasi yang tidak aman dapat mengekspos pengguna dan sistem ke berbagai jenis kerusakan. Ketika pihak berbahaya menggunakan kerentanan atau kurangnya fitur keamanan memanfaatkannya untuk menyebabkan kerusakan, hal ini disebut serangan. Kita akan mengambil melihat berbagai jenis serangan dalam panduan ini sehingga Anda tahu apa yang harus diperhatikan saat mengamankan aplikasi Anda.
Serangan aktif vs serangan pasif
Serangan dapat dibagi menjadi dua jenis: aktif dan pasif.
Serangan aktif
Dengan serangan aktif, penyerang mencoba membobol aplikasi secara langsung. Ada berbagai cara untuk melakukannya, mulai dari menggunakan identitas untuk mengakses data sensitif (serangan penyamaran) untuk membanjiri server Anda dengan jumlah traffic yang besar membuat aplikasi Anda tidak responsif (menolak serangan layanan).
Serangan aktif juga dapat terjadi pada data dalam pengiriman. Penyerang bisa memodifikasi data aplikasi Anda sebelum sampai ke browser pengguna, menampilkan informasi di situs atau mengarahkan pengguna ke tujuan yang tidak diinginkan. Ini adalah terkadang disebut dengan modifikasi pesan.
![modifikasi pesan](https://web.dev/static/articles/security-attacks/image/modification-message.png?authuser=19&hl=id)
Serangan pasif
Dengan serangan pasif, penyerang mencoba mengumpulkan atau mempelajari informasi dari aplikasi namun tidak memengaruhi aplikasi itu sendiri.
![serangan pasif](https://web.dev/static/articles/security-attacks/image/passive-attack-deb3e57e07553.png?authuser=19&hl=id)
Bayangkan seseorang menyadap percakapan Anda dengan teman dan keluarga, mengumpulkan informasi tentang kehidupan pribadi Anda, siapa teman Anda, dan di mana Anda nongkrong. Hal yang sama dapat dilakukan pada lalu lintas web Anda. Penyerang dapat menangkap data antara browser dan server yang mengumpulkan nama pengguna & sandi, sandi riwayat penjelajahan, dan pertukaran data.
Pertahanan terhadap serangan
Penyerang dapat langsung membahayakan aplikasi Anda atau melakukan operasi berbahaya pada situs Anda tanpa Anda atau pengguna Anda menyadarinya. Anda membutuhkan mekanisme untuk mendeteksi dan melindungi dari serangan.
Sayangnya, tidak ada solusi tunggal untuk membuat permohonan Anda 100% aman. Dalam praktiknya, banyak fitur dan teknik keamanan digunakan secara berlapis untuk mencegah atau menunda serangan lebih lanjut (ini disebut defense in depth). Jika aplikasi berisi formulir, Anda dapat memeriksa {i>input<i} di browser, lalu di server, dan terakhir di {i>database<i}; Anda juga akan menggunakan HTTPS untuk mengamankan data dalam pengiriman.
Rangkuman
Karena banyak serangan bisa terjadi tanpa pernah mengenai server Anda, terkadang itu sulit untuk dideteksi apakah serangan terjadi atau tidak. Kabar baiknya adalah bahwa web {i>browser<i} memiliki fitur keamanan yang canggih di dalamnya. Ikuti topik berikutnya "Cara browser memitigasi serangan" untuk mempelajari lebih lanjut.