Serangan Lapisan Aplikasi - Praktik Terbaik AWS untuk Ketahanan DDoS

Serangan Lapisan Aplikasi

Penyerang dapat menargetkan aplikasi itu sendiri dengan menggunakan serangan lapisan 7 atau lapisan aplikasi. Dalam serangan ini, yang mirip dengan serangan infrastruktur banjir SYN, penyerang mencoba membanjiri fungsi tertentu dari aplikasi untuk membuat aplikasi tidak tersedia atau tidak responsif terhadap pengguna yang sah. Terkadang hal ini dapat dicapai dengan volume permintaan yang sangat rendah yang hanya menghasilkan volume kecil lalu lintas jaringan. Hal ini dapat membuat serangan sulit untuk dideteksi dan dimitigasi. Contoh serangan lapisan aplikasi termasuk banjir HTTP, serangan cache-busting, dan banjir XML-RPC WordPress.

Dalam serangan banjir HTTP, penyerang mengirimkan permintaan HTTP yang tampaknya berasal dari pengguna aplikasi web yang valid. Beberapa banjir HTTP menargetkan sumber daya tertentu, sementara banjir HTTP yang lebih kompleks mencoba meniru interaksi manusia dengan aplikasi. Hal ini dapat meningkatkan kesulitan dalam menggunakan teknik mitigasi umum seperti pembatasan laju permintaan.

Serangan cache-busting adalah jenis banjir HTTP yang menggunakan variasi dalam string kueri untuk menghindari caching jaringan pengiriman konten (CDN). Bukannya dapat mengembalikan hasil yang di-cache, CDN harus menghubungi server asal untuk setiap permintaan halaman, dan pengambilan asal ini menyebabkan beban tambahan pada server web aplikasi.

Dengan serangan banjir XML-RPC WordPress, yang juga dikenal sebagai banjir pingback WordPress, penyerang menargetkan situs web yang di-host di perangkat lunak manajemen konten WordPress. Penyerang menyalahgunakan fungsi API XML-RPC untuk menghasilkan banjir permintaan HTTP. Fitur pingback memungkinkan situs web yang di-host di WordPress (Situs A) memberi tahu situs WordPress yang berbeda (Situs B) melalui tautan yang telah dibuat Situs A ke Situs B. Situs B kemudian mencoba mengambil Situs A untuk memverifikasi keberadaan tautan. Dalam banjir pingback, penyerang menyalahgunakan kemampuan ini untuk menyebabkan Situs B menyerang Situs A. Jenis serangan ini memiliki tanda tangan yang jelas: WordPress biasanya muncul di Agen Pengguna dalam header permintaan HTTP.

Ada bentuk lain dari lalu lintas berbahaya yang dapat memengaruhi ketersediaan aplikasi. Scraper bot mengotomatisasi percobaan untuk mengakses aplikasi web untuk mencuri konten atau mencatat informasi persaingan, seperti harga. Serangan brute force dan credential stuffing adalah percobaan terprogram untuk mendapatkan akses yang tidak sah ke area aplikasi yang aman. Serangan tersebut bukan sepenuhnya merupakan serangan DDoS; tetapi sifat otomatis serangan ini dapat terlihat mirip dengan serangan DDoS dan serangan ini dapat dimitigasi dengan menerapkan beberapa praktik terbaik yang sama yang akan dibahas dalam laporan ini.

Serangan lapisan aplikasi juga dapat menargetkan layanan Sistem Nama Domain (DNS). Yang paling umum dari serangan ini adalah banjir kueri DNS saat penyerang menggunakan banyak kueri DNS yang terbentuk dengan baik untuk menghabiskan sumber daya server DNS. Serangan ini juga dapat mencakup komponen cache-busting saat penyerang mengacak string subdomain untuk memintas cache DNS lokal dari setiap resolver tertentu. Akibatnya, resolver tidak dapat memanfaatkan kueri domain cache dan harus berulang kali menghubungi server DNS otoritatif, yang mengamplifikasi serangan.

Jika aplikasi web dikirim melalui Keamanan Lapisan Pengangkutan (TLS), penyerang juga dapat memilih untuk menyerang proses negosiasi TLS. TLS secara komputasional mahal sehingga penyerang, dengan menghasilkan beban kerja ekstra pada server untuk memproses data yang tidak dapat dibaca (atau tidak dapat dimengerti (ciphertext)) sebagai handshake yang sah, dapat mengurangi ketersediaan server. Dalam variasi serangan ini, penyerang menyelesaikan handshake TLS tetapi terus-menerus menegosiasikan ulang metode enkripsi. Seorang penyerang juga dapat mencoba menghabiskan sumber daya server dengan membuka dan menutup banyak sesi TLS.