1 poin oleh GN⁺ 2025-03-14 | 1 komentar | Bagikan ke WhatsApp
  • Setelah insiden Salt Typhoon, saat meninjau open source telekomunikasi, ditemukan buffer overflow tanpa autentikasi pada library XMLRPC yang dibundel dengan FreeSWITCH
  • Kerentanan terjadi pada kode yang menulis Request URI yang disediakan penyerang ke variabel stack 4096 byte dengan sprintf(), dan terlepas dari batasan browser, permintaan melebihi 4096 karakter mungkin saja dilakukan
  • SignalWire menyatakan bahwa pada Februari 2025 tiga PR perbaikan telah dipublikasikan di GitHub, tetapi FreeSWITCH Community mengatakan tidak ada rencana rilis baru hingga musim panas 2025
  • Di Shodan ada sekitar 8.300 hasil untuk pencarian FreeSWITCH, dan operator tanpa tag rilis harus menangani sendiri lewat build dari source atau pemblokiran firewall
  • Kasus ini menunjukkan bahwa risiko keamanan telekomunikasi membesar bukan hanya karena kerentanannya sendiri, tetapi juga karena manajemen kerentanan dan respons rilis, dan bahkan setelah CVE-2025-44087 diberikan pada 30 April 2025, masih belum ada rilis FreeSWITCH

Alasan mulai meninjau FreeSWITCH setelah Salt Typhoon

  • Pada akhir 2024, kabar bahwa grup Salt Typhoon yang disebut terkait dengan pemerintah Tiongkok telah membobol T-Mobile dan operator telekomunikasi lain menjadi titik awal
  • Memang tidak bisa menyelidiki langsung jaringan operator seluler, tetapi di GitHub ada banyak proyek open source terkait telekomunikasi
  • Pernah bekerja dengan perusahaan yang menggunakan Asterisk dan FreeSWITCH, tetapi belum pernah menganalisis PBX, SIP, atau encoding audio secara mendalam
  • Di bidang telekomunikasi ada tradisi programmer C hebat, komunitas hacker lama, dan insinyur dari Bell Labs, sehingga diasumsikan kerentanan sederhana kemungkinan besar sudah ditemukan
  • Namun, sesaat setelah membuka source code FreeSWITCH, kerentanan langsung ditemukan

Buffer overflow pada penangan HTTP request XMLRPC

  • Penangan HTTP request dari library XMLRPC yang dibundel dengan FreeSWITCH menulis URI ke buffer stack berukuran tetap z[4096]
  • Kode bermasalah berbentuk sprintf(z, "Index of %s" CRLF, uri);, dan karena uri berasal dari bagian path pada Request URI, penyerang dapat mengendalikannya
  • Browser biasa sering tidak mendukung URL yang lebih panjang dari 2048 karakter dengan baik, tetapi sebagian besar RFC mengizinkan sekitar 8KB dan Cloudflare mendukung hingga 32KB
  • Masuk akal untuk menganggap penyerang dapat mengirim Request URI yang melebihi 4096 karakter, dan kondisi ini mengarah pada buffer overflow tanpa autentikasi di library XMLRPC
  • Proses memperluasnya menjadi eksekusi kode jarak jauh tidak dibahas

Cara perbaikan dan patch yang dipublikasikan

  • Arah perbaikannya adalah menggunakan snprintf() alih-alih sprintf()
  • Ini termasuk praktik dasar pemrograman C defensif
  • SignalWire mengatakan masalah ini baru-baru ini diperbaiki dan menunjukkan PR berikut
  • Karena patch sudah dipublikasikan di GitHub, diputuskan bahwa tulisan publik dapat dibuat

Proses pengungkapan kerentanan dan kekosongan rilis

  • Pada 27 Januari 2025, detail kerentanan dikirim ke alamat email yang tercantum dalam kebijakan keamanan FreeSWITCH
  • Pada 7 Februari 2025, dikirim email lanjutan untuk memastikan apakah laporan telah diterima
  • Pada hari yang sama, Andrey Volk menjawab bahwa kerentanan itu baru-baru ini telah diperbaiki dan menyarankan untuk melihat PR terkait
  • Saat ditanya jadwal tag rilis yang memuat perbaikan keamanan baru, dijawab bahwa rilis FreeSWITCH Community tidak direncanakan hingga musim panas 2025
  • Akibatnya, pengguna yang tidak membayar FreeSWITCH Advantage bisa tetap rentan hingga waktu rilis reguler

Skala paparan dan dampaknya pada operator

  • Pada saat itu, hasil pencarian FreeSWITCH di Shodan berjumlah sekitar 8.300
  • Karena sulit menganggap semua instance ini membayar dukungan enterprise, diperkirakan ribuan stack telekomunikasi di seluruh dunia dapat tetap rentan hingga musim panas
  • Meski patch sudah dipublikasikan di GitHub, tanpa tag rilis operator biasa sulit melakukan pembaruan dengan mudah
  • Operator FreeSWITCH sebaiknya mempertimbangkan langkah berikut alih-alih menunggu rilis dari SignalWire
    • Build ulang langsung dari source
    • Memblokir akses HTTP publik ke stack FreeSWITCH di tingkat firewall

Masalah struktural keamanan telekomunikasi

  • Dalam percakapan dengan kenalan di industri telekomunikasi, muncul tanggapan bahwa bahkan kecepatan respons FreeSWITCH pun termasuk cepat
  • Pada Desember 2024, kembali muncul peringatan tentang kerentanan SS7 yang telah ada selama 17 tahun di jaringan telepon
  • Setelah pengalaman ini, Asterisk atau perangkat lunak lain tidak ditinjau lebih lanjut
  • Kesimpulannya, keamanan telekomunikasi saat ini dinilai buruk
  • Salah satu penyebab besar tampaknya adalah hampir tidak ada insentif ekonomi untuk membuat sistem seperti ini aman

Status setelahnya

  • Dalam pembaruan 30 April 2025, CVE-2025-44087 diberikan pada buffer overflow yang dilaporkan
  • Pada saat yang sama, masih belum ada tag atau rilis FreeSWITCH

1 komentar

 
GN⁺ 2025-03-14
Komentar Hacker News
  • Penulis mengakui sama sekali tidak punya pengalaman infrastruktur kelas operator telekomunikasi, tetapi kecurigaannya secara umum benar
    Saya sendiri sudah cukup banyak melakukan uji penetrasi 4G/5G dan riset keamanan terhadap beberapa operator besar, dan meski ada perbedaan antaroperator maupun vendor perangkat, kondisinya masih nyaris seperti pertunjukan horor total
    Hingga sangat baru-baru ini, keamanan pada dasarnya hanya security through obscurity, dan meski standar 4G/5G mulai menangani hal ini, masih ada celah besar yang cukup serius untuk dikhawatirkan
    Tidak berlebihan untuk menganggap aktor ancaman tingkat menengah ke atas yang ingin membuat pijakan di operator telekomunikasi bisa melakukannya; saya sudah beberapa kali mendemonstrasikannya secara profesional
    Vendor perangkat dari negara Asia Timur tertentu memiliki kualitas stack perangkat lunak yang begitu rendah sampai hampir bisa diklasifikasikan sebagai APT, dan keamanan pada dasarnya tidak ada
    Ada alasan yang masuk akal mengapa negara-negara Barat melarang mereka, dan meski perangkat lunak vendor perangkat Barat jauh lebih matang, mereka tetap tertinggal beberapa tahun dari apa yang kita anggap sebagai praktik terbaik keamanan modern

    • Beberapa tahun lalu, Inggris membeli perangkat Huawei sambil membentuk laboratorium bersama pemerintah/Huawei untuk menganalisis source code dan memastikan keamanannya
      GCHQ menilai kualitas kodenya berada pada tingkat yang tidak mungkin ditinjau, dan bahkan tidak bisa menjamin bahwa source code yang diberikan adalah kode yang benar-benar berjalan di perangkat sebenarnya
      Itu karena Huawei bisa memperbaruinya secara langsung, dan setahu saya perangkat tersebut dilarang setelah 2020: https://www.washingtonpost.com/world/national-security/brita...
    • Saya penasaran apakah ada tulisan analisis publik tentang perangkat tertentu
      Saya ingin membeli satu dari AliExpress dan membongkarnya, apakah tautan ini bisa menjadi titik awal yang bagus?
      https://vulners.com/search/types/huawei
    • Saya penasaran bagaimana peretas biasa bisa memperoleh perangkat seperti ini untuk diteliti
    • Pernyataan bahwa stack perangkat lunak vendor perangkat dari negara Asia Timur tertentu begitu buruk sampai hampir bisa disebut APT membuat saya ingin menyindir, betapa beruntungnya ada vendor hardware dan software dari negara Amerika Utara tertentu yang menangani keamanan dengan sangat serius
  • Saya benar-benar tidak paham mengapa standar seluler pada 2025 masih memakai pre-shared key
    RSA dan Diffie-Hellman[1] sudah ada sejak puluhan tahun lalu, dan sistem certificate authority juga sudah lama ada, tetapi kartu SIM masih diterbitkan dengan pre-shared key yang hanya diketahui kartu dan operator, lalu autentikasi dan enkripsi setelahnya semuanya berbasis kunci itu
    Jika operator diretas dan kuncinya bocor, tidak ada yang bisa dilakukan
    Lebih buruk lagi, kunci itu harus dikirim oleh produsen kartu SIM kepada operator, dan jika produsennya berada di negara lain, mereka bisa saja mendapat permintaan dari pemerintah asing, sehingga ada banyak peluang untuk peretasan produsen atau pencurian saat transmisi
    Ini terasa seperti kerentanan NOBUS, dan jika produsen SIM atau vendor perangkat core network berkolusi dengan NSA untuk menyerahkan kunci, trafik seluler di seluruh dunia berpotensi bisa disadap
    [1] Saya tahu algoritma-algoritma ini sekarang bukan lagi praktik terbaik dan elliptic curve lebih baik, tetapi bahkan RSA pun lebih baik daripada kondisi sekarang
    [2] https://nickvsnetworking.com/hss-usim-authentication-in-lte-...

    • Gemalto diretas 15 tahun lalu
      “Menurut dokumen sangat rahasia NSA yang diberikan Edward Snowden, mata-mata Amerika Serikat dan Inggris meretas jaringan komputer internal produsen kartu SIM terbesar di dunia dan mencuri kunci enkripsi yang digunakan untuk melindungi privasi komunikasi ponsel di seluruh dunia”
      https://theintercept.com/2015/02/19/great-sim-heist/
    • Dari obrolan dengan para insinyur telepon, mereka mengatakan bahwa saat menempel ke base station untuk debugging, mereka bisa membaca seluruh SMS yang lewat apa adanya
      Saya tidak tahu apakah sekarang masih begitu, tetapi dulu ponsel sulit dianggap sebagai sarana komunikasi yang aman
      Mungkin memang perlu berbicara lewat komunikasi data terenkripsi end-to-end antarperangkat
    • Sebagian algoritma harus berjalan di kartu SIM, dan setidaknya pada smart card lama, untuk mendukung RSA atau Diffie-Hellman non-elliptic-curve dibutuhkan koprosesor yang menaikkan biaya
      Algoritma kunci simetris juga punya keunggulan tahan kuantum
      Meski begitu, pada 2025 saya berharap setidaknya ECC didukung, dan sekarang seharusnya sebagian besar smart card bisa mendukungnya secara bawaan
      Jika vendor kartu SIM tidak bisa dipercaya, pada dasarnya tidak ada jawaban
      Bahkan dalam skema asimetris, jalur serangannya hanya sedikit berbeda; jika kita tidak bisa mempercayai perangkat lunak yang berjalan di kartu, bagaimana kita tahu bahwa algoritma nondeterministik tidak membocorkan plaintext melalui pemilihan bilangan acak
    • Jika kunci bisa didistribusikan secara langsung, kriptografi asimetris menambah kompleksitas dibandingkan manfaat yang diperoleh
      Gagasan bahwa memasukkan RSA ke sistem simetris akan membuatnya lebih aman punya dasar yang lemah, dan justru hampir sebaliknya
      Istilah “kerentanan NOBUS” juga terasa sangat aneh, karena root of trust sistem seperti ini adalah operator telekomunikasi
      Tidak perlu bertanya apakah operator AS “berkolusi” dengan badan intelijen AS; kita memang seharusnya sudah menganggap demikian
    • Saya pernah bekerja di dukungan teknis/customer service di operator besar, dan melihat beberapa masalah keamanan; ketika saya mengangkatnya bersama solusi yang juga akan meningkatkan layanan pelanggan, jawabannya adalah perusahaan akan kehilangan uang
      Penipu adalah pelanggan besar operator, dan jika tertangkap lalu diblokir, mereka kembali lagi, membayar biaya pendaftaran lini baru, dan mengulangi proses yang sama
      Berkat para penipu, operator juga bisa melakukan upsell fitur tambahan, sehingga tetap ada keuntungan dari tidak menyelesaikan masalah
  • Seperti kesimpulan tulisan blog itu, sama sekali tidak mengejutkan bahwa Freeswitch tidak mengubah jadwal rilis komunitas
    Dulu Freeswitch punya semangat komunitas yang kuat, tetapi suasananya berubah setelah beberapa tahun lalu dikomersialisasi dengan lebih agresif
    Sejak itu, untuk mengakses hal-hal yang semestinya terbuka, orang harus melalui proses “registrasi”, dan seingat saya sesuatu seperti repositori APT disembunyikan di balik tembok registrasi
    Saya tidak ingin mendaftar ke perusahaan komersial hanya untuk mengakses konten komunitas perangkat lunak bebas
    Karena semua orang tahu bahwa di industri teknologi, begitu Anda memberi informasi kepada perusahaan komersial, staf penjualan akan mengganggu dengan upsell dan cross-sell, lalu memasukkan Anda ke mailing list yang tidak Anda inginkan

    • Untuk membela SignalWire, setelah membaca mailing list lama, terasa bahwa mereka memimpin pengembangan Freeswitch selama bertahun-tahun tetapi tidak mendapat kompensasi yang layak dari subproyek-subproyeknya
      Saya juga melihat bagian lain dari komunitas VoIP menyesuaikan kembali kemurahan hati mereka terhadap open source, dan jujur sulit menyalahkan mereka
      Tim Matrix.org juga membicarakan hal serupa dalam salah satu presentasi FOSDEM’25, tentang masalah vendor komersial yang menumpang gratis pada pengembangan
    • Tolong koreksi kalau saya salah, tetapi bukankah kode sumber yang sudah dipatch tersedia untuk publik?
      Kalau mereka juga memperbarui repositori APT secara gratis, itu tentu sangat patut diapresiasi, tetapi sebatas itulah—“sesuatu yang patut disyukuri”
      Jika Anda bergantung pada kode mereka tetapi tidak mau membayar biaya dukungan, Anda bisa membangun paket APT sendiri
      Saya tidak begitu yakin semangat komunitas seperti apa yang seharusnya diharapkan dari proyek yang dipelihara oleh satu perusahaan seperti ini
  • Dengan mempertimbangkan pelaku ancaman asing, aliansi Barat seperti Five Eyes, dan tekanan untuk terus menaikkan angka, masuk akal untuk menganggap bahwa anonimitas sejati tidak ada di dunia online
    Jika mereka menginginkan Anda, mereka juga punya cara untuk menangkap Anda
    Kenyataannya tidak jauh berbeda dari era sebelum internet
    Jika tidak ingin disadap, Anda harus mengenkripsi dengan cara yang tidak mudah diakses secara elektronik oleh lembaga keamanan besar
    Misalnya catatan fisik, komunikasi lisan, atau isyarat tangan
    Selain itu, ketika aktor negara benar-benar mengalokasikan sumber daya untuk memanfaatkan data, Anda perlu siap menanggung konsekuensi dari apa yang Anda katakan dan lakukan secara online

  • Dari artikel itu saja, saya belum sepenuhnya yakin dengan kesimpulan bahwa “keamanan telekomunikasi saat ini berantakan”
    Karena ini lebih mirip memilih Freeswitch secara acak lalu menemukan buffer overflow
    “Stack telekomunikasi” mungkin saja rentan, mungkin juga tidak, tetapi bukti yang disajikan di sini sangat lemah
    Serangan Salt Typhoon diketahui mengeksploitasi kerentanan Cisco, tetapi analis juga menyatakan kemungkinan penyerang menggunakan kredensial yang sah: https://cyberscoop.com/cisco-talos-salt-typhoon-initial-acce...
    Jadi itu tidak ada hubungannya dengan Freeswitch

    • Cisco Unified Call Manager hampir pasti memiliki kerentanan, begitu pula Metaswitch yang masih terseret-seret di core jaringan bahkan setelah Microsoft secara terbuka mematikannya
      Oracle SBC saja sering tidak stabil bahkan dalam perilaku dasarnya, dan di kekacauan implementasi TRouter yang dikeluarkan Teams minggu ini pun pasti ada bug denial-of-service yang belum berhasil diisolasi dengan baik
      Belum lagi kekacauan MF Tandem, atau fakta bahwa hampir semua operator telekomunikasi membiarkan trafik UDP SIP mentah tanpa enkripsi mengalir begitu saja ke internet
      Membangun sistem yang aman di bidang ini memang mungkin, tetapi kenyataannya sebagian besar operator besar menjalankan tumpukan technical debt yang bahkan lebih buruk daripada platform proprietari yang tidak bisa dimodifikasi dari perusahaan atau proyek yang sudah lama mati seperti Nortel dan Metaswitch, serta peralatan tua yang tidak dipatch yang membentuk jaringan mereka
    • Setelah SignalWire melanggar embargo, saya beberapa kali berbicara dengan para geek keamanan yang lebih akrab dengan keamanan telekomunikasi
      Ungkapan “semuanya berantakan dan tidak ada insentif untuk memperbaikinya” hanyalah ringkasan
      Sejujurnya, percakapan itu sangat sulit diikuti jika tidak paham jargon, dan saya sendiri tidak cukup memahami bidang ini sehingga tidak ingin mencoba menjelaskannya dengan buruk, jadi saya hanya menulis begitu
      Saya sama sekali tidak menyangka blog saya akan muncul di Hacker News
    • Saya pernah menangani kode telekomunikasi
      Itu kode yang mem-parsing protokol jaringan kompleks dengan beberapa generasi legacy, sering ditulis secara tertutup, dan biasanya C/C++
      Mana mungkin itu rentan. Tentu saja
    • Stack telekomunikasi penuh dengan keputusan keamanan yang meragukan, termasuk yang berasal dari level protokol
      Protokol seperti SS7 dirancang tanpa konsep hacker atau pelaku jahat
      Firewall bisa ditambahkan di atasnya, tetapi itu berbenturan dengan fungsi yang diinginkan, dan meski tidak pun tetap membutuhkan investasi tambahan
      DIAMETER lebih baik, tetapi masih punya banyak lubang
      Dalam beberapa tahun terakhir, keamanan telekomunikasi mulai menjadi prioritas dan memang membaik, tetapi harus membungkus puluhan tahun hardware, software, firmware, dan desain jaringan legacy
      Saya rasa tidak ada jaringan telekomunikasi yang menjalankan Freeswitch standar begitu saja, tetapi jenis masalah pada Freeswitch—sebagai produk telekomunikasi lama yang keamanannya tidak dicari sedalam yang semestinya—bertebaran di mana-mana
    • Tulisan blog ini menggabungkan “saya mencoba melakukan hal yang saya kerjakan secara profesional” dan “pihak yang menerima laporan saya tidak berbagi nilai yang sama dengan saya dan industri keamanan”, lalu menyimpulkan bahwa keamanan telekomunikasi berantakan
      Penulisnya melihat kode di waktu luang, menemukan bug, dan melaporkannya; itu bagus, dan sama sekali tidak ingin saya halangi
      Namun fakta bahwa satu maintainer dari satu perangkat lunak tidak menunduk kepada penulis sesuai praktik terbaik industri keamanan adalah dasar yang lemah untuk mengatakan “keamanan telekomunikasi saat ini berantakan”
      Jika seseorang membawa bug di kode Anda tetapi tidak mengklaim bahwa bug itu sedang dieksploitasi, dan juga tidak memberikan PoC untuk memastikan kemungkinan eksploitasi, apakah ada alasan untuk tidak memperlakukannya sebagai bug biasa?
      Perbaiki sekarang dan masukkan ke rilis berikutnya
      Orang bisa melihat perubahan itu? Benar, mereka juga bisa melihat semua perubahan lain
      Kalau mereka bisa menemukan exploit, semoga beruntung; pelapornya sendiri tidak menemukannya
      Hal yang sama terjadi di distribusi Linux
      Bug keamanan dilaporkan, dan kadang penulis upstream bukan sekadar keras kepala, tetapi secara harfiah sudah meninggal dunia
      Jika ingin mengubahnya sesuai jadwal Anda sendiri, rilis sendiri saja
  • Area yang tampaknya cukup sering memakai Freeswitch adalah instalasi BigBlueButton di sekolah dan universitas
    Itu sistem kelas virtual, dan mungkin banyak yang menggunakannya tanpa kontrak dukungan; sisi ini lebih saya khawatirkan daripada operator telekomunikasi

  • Saya penasaran seberapa banyak orang yang benar-benar memakai modul XML RPC
    Tidak dimuat secara default
    Koreksi: menurut Shodan ada 468
    Saya juga penasaran apakah senddirectorydocument di modul XML RPC benar-benar dipakai

    • Saya lanjut memeriksanya, tetapi tidak bisa memicu apa pun
      curl --show-error --get --request GET --user freeswitch:works "http://localhost:8080/${SIXTEEN_THOUSAND_RANDOM_CHARACTERS}";
      Ada ide tentang cara memicunya?
      Kalau setidaknya ada PoC yang bisa menyebabkan segfault, kemungkinan rilis keamanan akan lebih besar
  • Peretasan yang benar-benar menarik terjadi pada injeksi CAMEL MAP
    Ini mengendalikan berbagai hal menarik seperti SMS, USSD, sampai permata mahkotanya: layanan lokasi
    Banyak perusahaan “SMS massal” di pulau-pulau kaya di Karibia atau tempat seperti Indonesia melakukan jauh lebih banyak hal daripada sekadar mengirim spam

    • Sebagai tambahan, MAP adalah teknologi 2G dan 3G
      Jadi sudah tua, dan 2G dirancang pada 1990-an
      Saya tidak begitu tahu apa yang orang-orang harapkan
      Jujur saja, bisa berjalan pun sudah bagus
  • Operator telekomunikasi besar tidak menjalankan FreeSwitch atau Asterisk di core mereka

    • Sistem telepon 911 murah Motorola, Emergency CallWorks (ECW), adalah Asterisk yang berjalan di Linux di atas Proxmox bersama modul proprietary
      Memang Motorola sedang menghentikan produk itu, tetapi masih ada di lapangan
      Yang saya rawat dibatasi firewall dengan ketat, tetapi saya rasa tidak semuanya seperti itu
    • Meski bukan di core, banyak bisnis yang memproses data panggilan—seperti perekaman panggilan, transkripsi, IVR, analitik suara, integrasi CRM, antrean panggilan, autodialer, serta fungsi SMS/chat—kemungkinan besar menjalankan FreeSWITCH, Asterisk, atau yang serupa di suatu bagian stack mereka
      Sebagian besar perusahaan yang memiliki PBX dan ingin melakukan hal lebih dari routing panggilan dasar serta koneksi PSTN kemungkinan memakai alat pihak ketiga
      Dan banyak dari alat tersebut dibangun di atas FreeSWITCH, Asterisk, atau yang serupa
    • Sangat bergantung pada definisi “besar”
  • Saya sangat merekomendasikan presentasi P1 Security terkait keamanan telekomunikasi seluler: https://www.slideshare.net/slideshow/day1-hacking-telcoequip...
    Materinya memang lama, tetapi tidak ada alasan untuk percaya bahwa keadaannya sudah membaik
    Karena sama sekali tidak ada insentif untuk memperbaikinya
    Selain itu, kerentanan keamanan perangkat lunak hanyalah sebagian dari masalah; sisi lainnya adalah operator telekomunikasi dengan senang hati mengalihdayakan kendali dan akses inti kepada penawar termurah: https://berthub.eu/articles/posts/5g-elephant-in-the-room/