Serangan DoS (Denial of Service) dan DDoS (Distributed Denial of Service) menjadi semakin umum dan kuat. Serangan Denial of Service datang dalam berbagai bentuk, tetapi berbagi tujuan yang sama: menghentikan pengguna dari mengakses sumber daya, apakah itu halaman web, email, jaringan telepon, atau sesuatu yang lain sama sekali. Mari kita lihat jenis serangan yang paling umum terhadap target web, dan bagaimana DoS dapat menjadi DDoS.
Pada intinya, serangan Denial of Service biasanya dilakukan dengan membanjiri server-katakanlah, server situs web-begitu banyak sehingga tidak dapat memberikan layanannya untuk pengguna yang sah. Ada beberapa cara yang dapat dilakukan, yang paling umum adalah serangan flooding TCP dan serangan amplifikasi DNS.
Hampir semua lalu lintas web (HTTP / HTTPS) dilakukan menggunakan Transmission Control Protocol (TCP). TCP memiliki overhead lebih dari alternatif, User Datagram Protocol (UDP), tetapi dirancang untuk dapat diandalkan. Dua komputer yang terhubung satu sama lain melalui TCP akan mengkonfirmasi penerimaan setiap paket. Jika tidak ada konfirmasi, paket harus dikirim lagi.
Apa yang terjadi jika satu komputer terputus? Mungkin pengguna kehilangan daya, ISP mereka mengalami kegagalan, atau aplikasi apa pun yang mereka gunakan berhenti tanpa memberitahukan komputer lain. Klien lain perlu menghentikan pengiriman ulang paket yang sama, atau yang lain membuang-buang sumber daya. Untuk mencegah transmisi yang tidak pernah berakhir, durasi waktu habis ditentukan dan / atau batas ditempatkan pada berapa kali suatu paket dapat dikirim ulang sebelum benar-benar menghentikan koneksi.
TCP dirancang untuk memfasilitasi komunikasi yang dapat diandalkan antara pangkalan militer jika terjadi bencana, tetapi desain ini membuatnya rentan terhadap penolakan serangan layanan. Ketika TCP dibuat, tidak ada yang mencitrakan bahwa itu akan digunakan oleh lebih dari satu miliar perangkat klien. Perlindungan terhadap serangan denial of service modern bukanlah bagian dari proses desain.
Serangan penolakan layanan yang paling umum terhadap server web dilakukan dengan mem-spam paket SYN (sinkronisasi). Mengirim paket SYN adalah langkah pertama untuk memulai koneksi TCP. Setelah menerima paket SYN, server merespons dengan paket SYN-ACK (sinkronisasi pengakuan). Akhirnya, klien mengirimkan paket ACK (acknowledgment), menyelesaikan koneksi.
Namun, jika klien tidak menanggapi paket SYN-ACK dalam waktu yang ditetapkan, server mengirim paket lagi, dan menunggu respons. Ini akan mengulangi prosedur ini berulang-ulang, yang dapat membuang waktu memori dan prosesor di server. Bahkan, jika dilakukan cukup, dapat membuang begitu banyak memori dan waktu prosesor yang sah pengguna mendapatkan sesi mereka dipotong pendek, atau sesi baru tidak dapat memulai. Selain itu, peningkatan penggunaan bandwidth dari semua paket dapat menjenuhkan jaringan, membuat mereka tidak dapat membawa lalu lintas yang sebenarnya mereka inginkan.
Serangan penolakan layanan juga dapat ditujukan pada server DNS: server yang menerjemahkan nama domain (seperti howtogeek.com) ke alamat IP (12.345.678.900) yang digunakan komputer untuk berkomunikasi. Ketika Anda mengetik howtogeek.com di browser Anda, itu akan dikirim ke server DNS. Server DNS kemudian mengarahkan Anda ke situs web yang sebenarnya. Kecepatan dan latensi rendah adalah kekhawatiran utama untuk DNS, sehingga protokol beroperasi melalui UDP, bukan TCP. DNS adalah bagian penting dari infrastruktur internet, dan bandwidth yang dikonsumsi oleh permintaan DNS umumnya minimal.
Namun, DNS perlahan tumbuh, dengan fitur-fitur baru secara bertahap ditambahkan dari waktu ke waktu. Ini memperkenalkan masalah: DNS memiliki batas ukuran paket 512 byte, yang tidak cukup untuk semua fitur baru tersebut. Jadi, pada tahun 1999, IEEE menerbitkan spesifikasi untuk mekanisme ekstensi untuk DNS (EDNS), yang meningkatkan batas hingga 4096 byte, memungkinkan untuk informasi lebih lanjut untuk dimasukkan dalam setiap permintaan.
Namun, perubahan ini membuat DNS rentan terhadap "serangan amplifikasi". Seorang penyerang dapat mengirim permintaan yang dibuat secara khusus ke server DNS, meminta informasi dalam jumlah besar, dan meminta mereka untuk dikirim ke alamat IP target mereka. Sebuah "amplifikasi" dibuat karena respons server jauh lebih besar daripada permintaan yang menghasilkannya, dan server DNS akan mengirim responsnya ke IP palsu.
Banyak server DNS tidak dikonfigurasi untuk mendeteksi atau menjatuhkan permintaan buruk, jadi ketika penyerang berulang kali mengirim permintaan palsu, korban dibanjiri dengan paket EDNS yang sangat besar, membuat jaringan menjadi macet. Tidak dapat menangani begitu banyak data, lalu lintas sah mereka akan hilang.
Serangan penolakan layanan terdistribusi adalah serangan yang memiliki banyak penyerang (terkadang tanpa disadari). Situs web dan aplikasi dirancang untuk menangani banyak koneksi bersamaan - setelah semua, situs web tidak akan sangat berguna jika hanya satu orang dapat mengunjungi pada suatu waktu. Layanan raksasa seperti Google, Facebook, atau Amazon dirancang untuk menangani jutaan atau puluhan juta pengguna bersamaan. Karena itu, tidak mungkin bagi penyerang tunggal untuk menjatuhkan mereka dengan serangan denial of service. Tapi banyak penyerang bisa.
Metode paling umum untuk merekrut penyerang adalah melalui botnet. Dalam botnet, peretas menginfeksi semua jenis perangkat yang terhubung internet dengan malware. Perangkat tersebut dapat berupa komputer, telepon, atau bahkan perangkat lain di rumah Anda, seperti DVR dan kamera keamanan. Setelah terinfeksi, mereka dapat menggunakan perangkat tersebut (disebut zombies) untuk secara berkala menghubungi perintah dan server kontrol untuk meminta petunjuk. Perintah-perintah ini dapat berkisar dari cryptocurrency penambangan hingga, ya, berpartisipasi dalam serangan DDoS. Dengan begitu, mereka tidak perlu banyak peretas untuk bergabung - mereka dapat menggunakan perangkat tidak aman dari pengguna di rumah yang normal untuk melakukan pekerjaan kotor mereka.
Serangan DDoS lainnya dapat dilakukan secara sukarela, biasanya karena alasan bermotif politik. Klien seperti Low Orbit Ion Cannon membuat serangan DoS sederhana dan mudah didistribusikan. Perlu diingat bahwa adalah ilegal di sebagian besar negara untuk (dengan sengaja) berpartisipasi dalam serangan DDoS.
Akhirnya, beberapa serangan DDoS dapat menjadi tidak disengaja. Awalnya disebut sebagai efek Slashdot dan digeneralisasikan sebagai "pelukan kematian," volume besar lalu lintas yang sah dapat melumpuhkan situs web. Anda mungkin pernah melihat ini terjadi sebelumnya — sebuah tautan situs populer ke blog kecil dan pemasukan besar pengguna secara tidak sengaja membawa situs itu turun. Secara teknis, ini masih diklasifikasikan sebagai DDoS, bahkan jika itu tidak disengaja atau berbahaya.
Pengguna tipikal tidak perlu khawatir menjadi target penolakan serangan layanan. Dengan pengecualian streamer dan pemain pro, sangat jarang bagi seorang DoS untuk menunjuk pada seorang individu. Namun demikian, Anda tetap harus melakukan yang terbaik untuk melindungi semua perangkat Anda dari malware yang dapat menjadikan Anda bagian dari botnet.
Jika Anda adalah administrator dari server web, bagaimanapun, ada banyak informasi tentang cara mengamankan layanan Anda terhadap serangan DoS. Konfigurasi dan peralatan server dapat mengurangi beberapa serangan. Orang lain dapat dicegah dengan memastikan pengguna yang tidak berkepentingan tidak dapat melakukan operasi yang memerlukan sumber daya server yang signifikan. Sayangnya, keberhasilan serangan DoS paling sering ditentukan oleh siapa yang memiliki pipa yang lebih besar. Layanan seperti Cloudflare dan Incapsula menawarkan perlindungan dengan berdiri di depan situs web, tetapi bisa mahal.