Kejadian saat kucing saya memberi tahu adanya serangan DDoS
(dannyguo.com)- Pada masa ketika belum ada rotasi on-call resmi, sekitar pukul 3 dini hari seekor kucing membangunkan orang yang sedang tidur, sehingga peringatan AWS CloudWatch dan gangguan situs web bisa segera diketahui
- Setelah peringatan unhealthy targets pada load balancer, situs tidak bisa dibuka, dan terlihat banyak request dalam jumlah besar dari banyak IP yang terhubung dengan berbagai negara
- Karena produk hanya tersedia untuk pengguna di AS, traffic internasional dianggap tidak normal, dan dari situasinya dinilai sebagai serangan DDoS
- Memblokir IP satu per satu di server bisa jadi tidak efisien, tetapi dengan aturan pemblokiran negara di AWS WAF yang sudah dikonfigurasi, ratusan ribu request berhasil diblokir selama sekitar 1 jam
- Sekitar saat serangan dimulai, inbox customer support menerima email ancaman yang mengklaim telah menghentikan situs lewat celah Apache dan meminta 5.000 dolar dalam Bitcoin; perusahaan tidak membalas
Gangguan yang terungkap pada pukul 3 dini hari
- Saat itu startup tersebut belum memiliki rotasi on-call resmi, dan operasionalnya dilakukan dengan cara tim bersama-sama memantau notifikasi darurat
- Sekitar pukul 3 dini hari, kucing menggrooming rambut sehingga membangunkan pemiliknya; ketika melihat ponsel, ada peringatan AWS CloudWatch yang masuk beberapa menit sebelumnya
- Penyebab peringatan adalah unhealthy targets pada load balancer, dan situs web memang tidak bisa dimuat
- Dashboard monitoring menunjukkan request dalam jumlah besar yang masuk dari banyak alamat IP yang terhubung dengan berbagai negara
- Karena produk hanya disediakan untuk pengguna di AS, traffic internasional tidak seperti biasanya, dan berdasarkan situasinya dinilai sebagai serangan DDoS
Lonjakan request yang dibendung dengan AWS WAF
- Respons pertama yang terpikir adalah memblokir alamat IP di level server, tetapi jika penyerang bisa memakai lebih banyak IP asal, cara itu bisa merepotkan dan efektivitasnya terbatas
- Dengan memanfaatkan AWS Web Application Firewall yang sudah disiapkan, ditambahkan aturan untuk memblokir request dari negara lain sebagai langkah respons gangguan segera
- Setelah aturan diterapkan, ratusan ribu request diblokir selama sekitar 1 jam, dan situs web mulai berfungsi kembali
- Lonjakan request juga berhenti, sehingga gangguan langsung teratasi
Email ancaman yang tiba setelah serangan
- Pagi itu, mereka memeriksa email yang masuk ke inbox customer support sekitar saat serangan dimulai
- Pengirim mengklaim telah menemukan kerentanan situs web dan membuat Apache crash, tetapi perusahaan tidak menggunakan Apache
- Ia mengklaim telah menghentikan semua traffic ke situs web dan bisa mempertahankannya selama berbulan-bulan, lalu meminta 5.000 dolar dalam Bitcoin sebagai imbalan untuk memberikan “solution file”
- Perusahaan tidak membalas
- Karena ponsel berada dalam mode Jangan Ganggu pada malam hari, penjelasan bahwa getaran atau suara notifikasi AWS lebih dulu membangunkan kucing tidaklah tepat
- Orang tersebut merasa kucingnya somehow mendeteksi sesuatu yang tidak bisa menunggu sampai pagi, dan menganggapnya sebagai cara bangun yang jauh tidak lebih menyebalkan dibanding alarm PagerDuty
1 komentar
Komentar Hacker News
Seperti biasa, ancaman dari orang dalam mudah terlewat. Email ancaman dengan tata bahasa mencurigakan? Minta tebusan Bitcoin? Tapi apakah kamu pernah mempertimbangkan bahwa dalang serangan itu sebenarnya bisa saja seekor kucing?
Di Kansas jarang ada gempa, tapi aku masih ingat satu-satunya gempa pertama yang pernah kurasakan
Aku sedang tidur nyenyak ketika kucing Siamese menepuk wajahku dengan kakinya sampai aku bangun, lalu duduk di ujung ranjang sambil menggeram agresif tidak seperti biasanya
Tidak sampai 30 detik kemudian semuanya mulai berguncang. Aku tidak tahu bagaimana dia bisa tahu, tapi itu cukup menakjubkan, dan dia pergi pada 2020 tapi aku masih merindukannya
Saat gempa NYC baru-baru ini juga ada video anjing melolong sebelum orang-orang merasakan getarannya, dan menurutku itu cukup umum terjadi
Beberapa minggu lalu saat aku mengalami gempa 7,4 di Taipei, satu-satunya pikiranku adalah bahwa aku harus kembali ke anjingku seperti yang sudah kujanjikan. Sebelum aku pergi dia tampak gelisah, tapi aku tidak tahu apakah dia merasakan aku akan pergi atau merasakan gempa yang sedang kutuju
Pada batuan ada dua jenis gelombang, gelombang P dan gelombang S. Gelombang P adalah gelombang tekanan sehingga lebih cepat, sedangkan gelombang S bergerak ke kiri dan kanan dan sedikit lebih lambat. Kemungkinan besar kucing itu terbangun oleh suara mendesis dari gelombang P yang datang sedikit lebih dulu daripada gempa yang bisa dirasakan manusia
Bahwa ada dua jenis gelombang dan gelombang P datang lebih dulu bisa dilihat di https://manoa.hawaii.edu/exploringourfluidearth/physical/oce...
Ponselnya mungkin dalam mode senyap, tapi layarnya bisa saja tetap terus berkedip. Punyaku juga begitu dalam mode itu
Di pekerjaan pertamaku ada seseorang yang bisa menyadari lebih dulu dari dashboard monitoring bahwa akan ada gangguan. Dia sendiri tidak bisa menjelaskan atau memahami apa yang sebenarnya dia lihat, dan orang lain juga tidak bisa menirunya, tapi kalau dia bilang ada sesuatu yang aneh, biasanya tidak lama kemudian alert memang datang
Aku pernah membaca tentang seorang pengawas proyek konstruksi yang sangat piawai menemukan pipa di bawah tanah atau di dalam dinding, sampai-sampai para pekerja menghormatinya. Awalnya dia mulai percaya itu semacam kekuatan supranatural, tapi belakangan menyimpulkan bahwa dia tanpa sadar telah mempelajari pola-pola umum dan petunjuk sesekali yang tidak intuitif. Misalnya, melihat ventilasi di dinding bangunan lalu menyadari kemungkinan ada pipa limbah di bawah tanah
Sampai di titik aku bisa cukup akurat tahu, “game ini sebentar lagi bakal crash, lebih baik simpan dulu.” Setelah simpan dan 10 detik kemudian lanjut lagi, benar-benar crash. Sampai sekarang aku masih tidak tahu bagaimana aku bisa tahu
5.000 dolar itu lumayan seperti jumlah tebusan seorang pangeran. Pada 2016 perusahaan kami juga pernah menerima tuntutan seperti itu
Kami kena DDoS dan memutuskan mengabaikannya, tapi untuk berjaga-jaga kami sempat mencari BTC. Setelah itu kami menerapkan banyak pertahanan DDoS dan biayanya jauh lebih besar daripada 5.000 dolar, tapi tidak memberi uang kepada pemeras tetap sepadan
Kami tidak membalas satu pun email itu. Para penyerangnya juga cukup bodoh karena mereka hanya menyerang web server yang berada di lokasi dengan konektivitas bagus
Layanan yang benar-benar menghasilkan uang sebenarnya berada di Caribbean dan hanya punya T1 1,5Mbps serta backup satelit 0,5Mbps. Tempat itu akan jauh lebih mudah dan lebih lama untuk disaturasi, dan kalau itu terjadi kerugian pendapatan per jam mungkin sekitar 1 juta dolar
Memberi satu penyerang 5 ribu dolar mungkin terlihat lebih murah daripada membangun pertahanan, tapi jika kamu punya pertahanan maka kemungkinan kamu akan lebih jarang diserang ke depannya. Dan seperti yang dikatakan, tidak memberi uang kepada kriminal memang punya nilai tersendiri
Soal bagian “Aku tidak membalas, tapi kalau dipikir-pikir mungkin akan lucu kalau mengolok-olok mereka”, tidak merespons adalah satu-satunya jawaban yang efektif
Mengolok-olok justru bisa membuatmu lebih menonjol dan jadi sasaran serangan lain. Jadi apa untungnya?
Tapi tetap menyenangkan untuk dibayangkan, terutama setelah menonton video yang ditautkan di tulisan itu: https://www.youtube.com/watch?v=dWzz3NeDz3E
Dulu ada anggota keluargaku yang tahu ada kebocoran air dari mesin pencuci piring berkat peringatan kucing
Kesimpulannya, kucing itu entah sedang mencoba menyelamatkan kami, atau mencoba membunuh kami
Seseorang yang tidur di luar terbangun karena suara burung gagak, dan tepat saat itu seekor kucing besar, mungkin harimau, sedang mengendap-endap mendekat
Satu tokoh menganggap gagak itu sedang memperingatkan orang tersebut, sementara tokoh lain menganggap burung itu sedang memberi tahu harimau tentang orang yang tertidur agar bisa memakan sisa-sisa setelahnya
“Tata bahasa yang mengerikan”, benar-benar terasa seperti era sebelum ChatGPT
Kalau dibahas lebih serius, akankah suatu hari nanti ada cara untuk menghentikan serangan DDoS selamanya? Semua ancaman itu buruk, tetapi DDoS terasa seperti jenis serangan yang paling receh. Tidak butuh keterampilan atau pengetahuan khusus, cukup menjalankan skrip atau bahkan membayar seseorang yang menawarkannya sebagai layanan
Alamat IP, dan subnet jika IPv6, adalah sumber daya yang dibatasi untuk pengguna biasa, begitu juga bandwidth. Sebagian besar serangan amplifikasi memerlukan IP spoofing, yang dalam koneksi biasa sering kali tidak memungkinkan
Jika ini serangan berbasis volume, pihak dengan bandwidth lebih besar yang menang. Penyerang bisa memakai amplifikasi di sini. Jika ini serangan berbasis beban atau lapisan aplikasi, biasanya bisa diatasi dengan memblokir IP penyerang di level firewall. Kasus ini sudah memakai WAF/Cloudfront, jadi ini lebih mendekati serangan lapisan aplikasi daripada serangan volume murni
Menemukan IP penyerang yang perlu diblokir adalah masalah atribusi biaya per IP sumber secara akurat, lalu atribusi manfaat berupa aktivitas pengguna sah juga per IP sumber secara akurat, kemudian memblokir IP atau rentang yang biayanya jauh melebihi manfaatnya
Praktiknya tidak semudah kedengarannya. Biaya bisa muncul dalam banyak bentuk: koneksi terbuka yang memakan memori, TLS handshake, request yang mahal untuk diparse oleh web server, request yang memicu query database mahal, bandwidth I/O, dan lain-lain. Karena itu kebanyakan orang menaruh Cloudflare atau, seperti di sini, Cloudfront di depan, lalu mengakalinya dengan aturan manual seperti pada kasus ini
Akan keren jika ada cara membuatnya tahan terhadap DDoS di level protokol, meski saya tidak yakin itu memungkinkan
Lalu ada DDoS berbasis volume. Ini bisa ditangani jika Anda punya bandwidth lebih besar daripada semuanya, tetapi itu cukup sulit dan juga membuat Anda sendiri menjadi calon penyerang
Inovasi di sini adalah menyebarkan filter trafik lewat BGP. Null routing adalah produk minimum yang layak. Intinya, IP ini sedang diserang, jadi buang trafik ke sana secepat mungkin. Saya juga pernah melihat sistem yang lebih presisi, seperti membuang UDP, membuang paket terfragmentasi, membuang paket kirim/terima pada port UDP/TCP tertentu, dan semacamnya
Sebagian besar sistem seperti ini dirancang agar rute khusus tidak langsung menyebar melampaui peer, tetapi dalam beberapa situasi penyebaran itu mungkin justru diinginkan
Jika sebagian besar pelanggan ada di Mexico dan Canada melancarkan DDoS sehingga jalur antara saya dan Canada penuh, itu mungkin bukan masalah besar. Asalkan router konsumen di Mexico tidak ikut-ikutan mencoba membantu bottleneck Canada itu
Saya kira alat pemberi makan kucingnya dihubungkan ke notifikasi
Bagaimanapun juga, lucu. Siapa nama kucingnya?
Namanya Bamboo. Sayangnya ia pergi karena kanker. Salah satu hal pertama yang dilakukannya setelah diadopsi adalah mencoba memakan tanaman bambu saya, jadi itulah asal namanya
Alat pemberi makan kucing nirkabel mereka bergantung pada internet, dan ketika makanan tidak keluar, kucing itu mendatangi admin untuk protes
Ini mengingatkan saya pada buku ini: Dogs that Know When their Owners are Coming Home https://www.sheldrake.org/books-by-rupert-sheldrake/dogs-tha...
Token bucket terlalu mudah untuk menghentikan DDoS, jadi biasanya satu-satunya saat kucing harus membangunkan saya adalah ketika Discord saya diserbu
Ini tampaknya lebih mirip cara membuang paket di firewall atau sisi ingress sebelum mencapai application server dan menimbulkan beban berlebihan
Jika serangannya punya volume permintaan koneksi atau jumlah alamat IP unik yang cukup besar, layanan tetap bisa kewalahan
Token bucket biasanya hanya bagian dari strategi ketahanan secara keseluruhan, bukan solusi ajaib yang menyelesaikan semua masalah denial-of-service