Ketidakstabilan routing internet terjadi akibat bug pemrosesan BGP
(blog.benjojo.co.uk)- Bug pemrosesan pesan BGP menyebabkan ketidakstabilan routing skala besar dan putusnya konektivitas internet pada sebagian jaringan pada 20 Mei 2025
- Penyebab masalah adalah BGP Prefix-SID Attribute yang rusak, yang memicu respons tidak lazim pada implementasi BGP utama, khususnya JunOS dan Arista EOS
- Sejumlah carrier transit termasuk Hutchison dan Starcloud meneruskan pesan penyebab tersebut sehingga dampaknya meluas
- Insiden ini menyebabkan reset massal sesi BGP dan ketidakstabilan pada lebih dari sekitar 100 jaringan
- Peristiwa ini menyoroti celah dalam penanganan toleransi kesalahan BGP antar-vendor dan perlunya perbaikan
27 Mei 2025
Ketidakstabilan routing internet global akibat bug pemrosesan BGP
Pada Selasa, 20 Mei 2025 pukul 07.00 (UTC), sebuah pesan BGP tersebar dan memicu perilaku tak terduga pada dua implementasi BGP utama yang sering digunakan untuk menangani lalu lintas internet
Akibatnya, banyak ‘sesi BGP konektivitas internet’ berakhir otomatis, sehingga menimbulkan mulai dari ketidakstabilan routing minimal hingga, dalam kasus terburuk, terputusnya konektivitas sementara pada sebagian jaringan
Pesan BGP yang bermasalah
- Analisis terhadap sesi yang dikumpulkan di bgp.tools menunjukkan bahwa pesan BGP Update yang menyebabkan fenomena ini tampak biasa, tetapi mengandung BGP Prefix-SID Attribute yang rusak dengan data internal yang diisi 0x00
- Sebagian besar implementasi BGP (IOS-XR, Nokia SR-OS) memfilter ini dengan benar sesuai RFC7606 (BGP error handling), tetapi masalah muncul dalam interaksi antara JunOS dan Arista EOS
- JunOS mempertahankan dan meneruskan pesan yang rusak tersebut, sementara Arista EOS mereset sesi BGP saat menerima pesan itu
- Di lingkungan yang banyak menggunakan perangkat Juniper (JunOS), jika terhubung dengan Arista EOS, ada kemungkinan terjadi putus akses internet hingga sekitar 10 menit
Pengirim pesan bermasalah
-
Analisis arsip bgp.tools untuk periode tersebut menunjukkan bahwa beberapa origin AS terlibat
-
Ini mengindikasikan bahwa bukan jaringan pembuat Prefix yang menambahkan Attribute tersebut, melainkan carrier transit di tengah jalur propagasi
-
AS utama yang terkait dengan insiden ini adalah sebagai berikut
- AS9304 (Hutchison Global Communications Limited)
- AS135338 (Starcloud Information Limited)
- AS151326 (DCConnect Communication Pte. Ltd.)
- AS138077 (PT Abhinawa Sumberdaya Asia)
-
Berdasarkan data bgp.tools, pihak yang kemungkinan besar benar-benar menambahkan Attribute itu adalah Starcloud (AS135338) atau Hutchison (AS9304)
-
Prefix representatif yang menyebarkan Attribute tersebut antara lain 156.230.0.0/16 dan 138.113.116.0/24
-
Hutchison/AS9304 terhubung ke banyak internet exchange (IX), dan pesan tersebut juga tersebar ke route server yang menggunakan bird
-
Bird tidak mendukung BGP SID, sehingga mengirimkan pesan itu ke banyak IX tanpa pemfilteran, yang memperparah kekacauan pada skala jaringan
Apa itu BGP Prefix-SID?
- BGP Prefix-SID Attribute pada umumnya seharusnya hanya digunakan pada sesi BGP internal, dan dipakai untuk mendefinisikan jalur menuju tujuan di dalam satu jaringan (RFC8669)
- Kebocoran Attribute ini ke global routing table mungkin terjadi ketika sesi BGP eksternal dikonfigurasi seolah-olah merupakan sesi internal
Pihak yang terdampak
- Sulit mengidentifikasi korban secara tepat, tetapi masalah terkonfirmasi pada sekitar 100 jaringan yang menunjukkan churn sangat besar setelah pesan BGP awal
- Dalam kondisi normal, route collector bgp.tools mengumpulkan 20–30 ribu pesan per detik, tetapi pada saat insiden angkanya tercatat lebih dari 150 ribu per rata-rata 10 detik
- Angka ini menjadi sinyal bahwa telah terjadi gangguan serius pada rute internet yang luas
Tanggung jawab vendor dan implikasinya
- Walaupun penyebab akar yang pasti belum jelas, fakta bahwa pesan yang salah dapat menyebar pada skala internet membuktikan bahwa masalah lama dalam penanganan error BGP adalah risiko nyata
- Vendor lain memfilter Attribute bermasalah tersebut, tetapi Juniper secara tidak langsung mengizinkannya lewat dan meneruskannya ke perangkat Arista, yang kemudian memicu reset sesi akibat kurang matangnya kode toleransi kesalahan BGP
- Dokumentasi resmi JunOS juga menyatakan bahwa “seluruh pesan tidak diperiksa sepenuhnya”
- Dengan desain seperti ini, JunOS memang mencegah risiko reset sesi jarak jauh pada dirinya sendiri, tetapi tetap berpotensi meneruskan pesan bermasalah ke peer lain atau pelanggan
Kesimpulan
-
Insiden ini memang berlangsung singkat, tetapi menunjukkan bahwa dampaknya bisa menjadi jauh lebih serius jika skalanya membesar
-
Seiring layanan makin berpusat pada IP, dampak gangguan internet dapat meluas melampaui sekadar tidak bisa mengakses email konsumen, hingga kegagalan siaran TV dan panggilan layanan darurat yang tidak tersambung
-
Karena itu, kebutuhan akan implementasi toleransi kesalahan BGP yang andal pada tiap vendor kembali ditekankan, mengingat ada kemungkinan realistis terjadinya korban jiwa nyata
-
Disampaikan pula kemungkinan partisipasi operator jaringan yang ingin membantu analisis data bgp.tools (tautan tersedia)
1 komentar
Opini Hacker News
Secara umum, prinsip "bersikap longgar saat menerima, spesifik saat mengirim" dikenal sebagai pendekatan standar
Ada beberapa pilihan, seperti membuang pesan yang rusak (
drop, filter), mengabaikan hanya atributnya lalu tetap meneruskan (break), atau memutus koneksi itu sendiri (seperti Arista)Saya menganggap opsi keempat (cara Arista) benar-benar perilaku yang sulit diterima
Opsi ketiga (Juniper) juga tidak ideal, tetapi menurut saya tidak bisa dibilang masalah yang fatal
Edit: setelah membaca ulang, ternyata Arista bukan yang keempat melainkan yang kedua (mengakhiri koneksi)
Mereka hanya menganggap koneksinya tidak valid lalu menutupnya, dan meski ini bukan keputusan yang bagus dari sisi pengalaman pengguna, kesannya masih bisa diterima
RFC 7606 (enhanced error handling for BGP UPDATE messages) sebenarnya sudah ada, dan secara spesifik menjelaskan bagaimana menangani pesan yang rusak
treat-as-withdraw(menangani seolah rute tersebut telah di-withdraw)Prinsip "terima secara longgar dan kirim secara spesifik" itulah yang biasa disebut sebagai "robustness principle" atau "Postel's law"
Dengan memanfaatkan karakteristik cara kerja BGP, pernah muncul berbagai masalah di seluruh jaringan karena perangkat lokal dapat meneruskan atribut yang tidak dikenalnya begitu saja
Penulis juga menyinggung hal ini dalam tulisan terkait
Saya tidak setuju dengan pendekatan ini
Saya masih ingat betapa gilanya kesibukan saat harus menambal bug CVE-2023-4481 di seluruh jaringan
Saya pernah mengembangkan fitur BGP di vendor perangkat telekomunikasi pada masa lalu (ini cerita yang sudah cukup lama)
Sampai sekarang saya masih merasa BGP terlalu kompleks
Orang-orang terus menambahkan fitur baru, dan vendor berulang kali mengimplementasikannya agar sesuai standar atau draft
Karena rasanya BGP tidak akan pernah pensiun, bug seperti ini juga terasa akan terus berulang
HGC Global Communications Limited (berganti nama dari Hutchison Global Communications Limited, disingkat HGC) adalah penyedia layanan internet di Hong Kong
Rasanya BGP akan jauh lebih stabil untuk isu-isu seperti ini jika berbagai vendor hardware menyelaraskan standar mereka
Entah cuma saya atau tidak, tapi saya bahkan belum pernah mendengar BGP sampai ada kabar bahwa ia menyebabkan masalah
Kalau ada cara untuk berlatih BGP di rumah, saya penasaran seperti apa
Anda bisa membeli router nyata yang memiliki implementasi BGP (yang murah misalnya perangkat Mikrotik), atau memakai implementasi open source
static routedan sebagainyaDN42 adalah taman bermain untuk berlatih teknologi routing
Di mata kuliah jaringan saat sarjana saya tidak belajar BGP, tetapi saya mempelajarinya di kelas pascasarjana
Di kelas jaringan sarjana yang saya ambil, BGP hanya disebut singkat di papan tulis
Rasanya Anda baru benar-benar bisa "berlatih" BGP jika mengelola jaringan besar yang terhubung ke lalu lintas internet nyata
Dulu beberapa vendor juga pernah mengalami bug serupa dengan yang ada di artikel utama
Kami juga pernah menerima paket serupa pada chassis IOS XR kami
Pada saat yang sama, kami juga mengalami banyak iklan rute BGP
Saya tidak tahu pasti perangkat upstream-nya apa
Saya jadi penasaran apakah protokol BGP benar-benar diuji dengan fuzzing secara memadai
Mungkin karena ini protokol yang sangat penting, orang jadi tidak berani sengaja memicu gangguan
Menulis fuzzer untuk BGP mungkin mudah, tetapi diagnosis crash-nya bisa sangat sulit
Ini membuat saya bertanya-tanya apakah pernah ada sistem lain yang sebesar backbone internet dan menumpuk begitu banyak kompleksitas tak disengaja
Mengingat besarnya dampak bug seperti ini, saya kira pasti ada konsorsium yang menjalankan semacam interoperability test suite, jadi ini cukup mengejutkan