1 poin oleh GN⁺ 2025-12-21 | 1 komentar | Bagikan ke WhatsApp
  • Analisis firmware kamera IP TP-Link Tapo C200 berbiaya rendah dengan reverse engineering berbasis AI menemukan sejumlah kerentanan keamanan
  • Firmware tersebut menyertakan kunci privat SSL yang di-hardcode, sehingga trafik HTTPS di jaringan yang sama dapat didekripsi
  • Dalam proses analisis, digunakan alat AI (Grok, GhidraMCP, Cline, dll.) untuk mengotomatiskan pemahaman struktur firmware dan analisis makna fungsi
  • Kerentanan utama yang ditemukan mencakup buffer overflow (CVE-2025-8065), integer overflow (CVE-2025-14299), dan pembajakan WiFi (CVE-2025-14300), dengan sebagian dapat dieksploitasi dari jarak jauh tanpa autentikasi
  • Kasus ini dinilai sebagai contoh bagaimana AI meningkatkan efisiensi riset keamanan sekaligus menyingkap kerentanan struktural pada perangkat IoT

Perolehan dan dekripsi firmware

  • Dengan melakukan reverse engineering pada aplikasi Android Tapo, ditemukan bucket S3 publik milik TP-Link, yang memungkinkan firmware semua perangkat diunduh tanpa autentikasi
    • Contoh perintah: aws s3 ls s3://download.tplinkcloud.com/ --no-sign-request --recursive
  • Dekripsi firmware dilakukan menggunakan alat tp-link-decrypt
    • Kunci RSA dapat diekstrak dari materi publikasi kode GPL milik TP-Link
  • Firmware yang telah didekripsi tersusun atas bootloader, kernel, dan root filesystem SquashFS

Reverse engineering berbasis AI

  • Otomatisasi analisis firmware dilakukan dengan memanfaatkan Ghidra, GhidraMCP, Cline, Anthropic Opus/Sonnet 4, dan lainnya
  • AI menjelaskan peran fungsi dan mengganti nama variabel menjadi lebih bermakna sehingga keterbacaan kode meningkat
  • Melalui proses ini, handler HTTP, protokol discovery, dan rutin kriptografi dapat dipetakan
  • Dikonfirmasi bahwa kunci privat SSL di firmware tidak dibuat saat boot, melainkan sudah tertanam
    • Penyerang di jaringan yang sama dapat mendekripsi trafik HTTPS
Iklan

Kerentanan utama

  • CVE-2025-8065 (memory overflow pada parser XML SOAP ONVIF)

    • Server /bin/main di port 2020 tidak memiliki pemeriksaan batas terhadap jumlah elemen XML
    • Mengirim permintaan XML dalam jumlah besar dapat memicu memory overflow dan crash pada kamera
    • Skor CVSS v4.0 7.1 (High)
  • CVE-2025-14299 (integer overflow pada Content-Length HTTPS)

    • Server HTTPS di port 443 memproses header Content-Length dengan atoi() tanpa validasi
    • Pada sistem 32-bit, hal ini dapat menyebabkan crash akibat overflow
    • Skor CVSS v4.0 7.1 (High)
  • CVE-2025-14300 (pembajakan WiFi)

    Iklan
    • API connectAp dapat diakses tanpa autentikasi dan tetap aktif setelah penyiapan selesai
    • Penyerang dapat menghubungkan kamera ke jaringan milik penyerang untuk menyadap trafik video
    • Skor CVSS v4.0 8.7 (High)
  • API pemindaian WiFi tanpa autentikasi (scanApList)

    • Mengembalikan SSID, BSSID, kekuatan sinyal, dan konfigurasi keamanan WiFi di sekitar
    • Dengan Apple BSSID Locator dan sejenisnya, lokasi GPS yang akurat dapat dilacak
    • Penyerang jarak jauh dapat mengidentifikasi lokasi fisik kamera

Proses pengungkapan dan respons

  • 22 Juli 2025: laporan awal dikirim ke tim keamanan TP-Link, termasuk PoC dan video
  • Setelah 150 hari (19 Desember): informasi dipublikasikan, lalu TP-Link menerbitkan advisori keamanan
  • TP-Link memiliki kewenangan menerbitkan CVE sendiri (CNA), sehingga dapat mengendalikan langsung proses pelaporan dan pengungkapan kerentanan produknya
  • Di situsnya, perusahaan menggunakan jumlah CVE yang lebih rendah dibanding pesaing sebagai metrik pemasaran, yang dinilai menunjukkan struktur konflik kepentingan

Kesimpulan

  • Alat AI memaksimalkan efisiensi reverse engineering dan meningkatkan aksesibilitas riset keamanan
  • Namun, kunci hardcoded, API tanpa autentikasi, dan struktur parser yang lemah menunjukkan ketiadaan keamanan mendasar pada perangkat IoT
  • Kasus TP-Link secara simbolis menunjukkan persoalan keseimbangan antara riset keamanan di era AI dan tanggung jawab produsen

1 komentar

 
GN⁺ 2025-12-21
Komentar Hacker News
  • Disayangkan bagaimana tulisan seperti ini mencampur kasus kegagalan nyata dengan masalah yang bahkan sulit ditangani FAANG lalu mengkritiknya sekaligus
    Khususnya, membahas secara negatif bagian “repositori firmware TP-Link berada di bucket S3 publik tanpa autentikasi” adalah pendekatan yang keliru
    Justru saya melihatnya sebagai contoh baik karena menghindari security through obscurity
    Tulisan seperti ini malah bisa membuat manajemen memberikan instruksi yang salah untuk “memperketat penguncian”

    • Tulisannya sendiri mudah dibaca, tetapi terasa punya nada seperti ditulis LLM
      Tulisan yang dibuat AI cenderung kurang memiliki nuansa halus dan suka menghakimi semuanya secara berlebihan sebagai hal yang baru, baik, atau buruk
      Ini bukan tulisan yang buruk, tetapi perlu dibaca dengan hati-hati. Belakangan ini sebagian besar tulisan yang naik ke HN terasa seperti mendapat bantuan AI
    • Menanggapi kalimat “repositori firmware dibuka untuk publik”, ada yang melempar candaan, “jangan mulai bicara soal Linux”
    • Blog reverse engineering seperti ini pada dasarnya hanyalah cara bercerita yang menyenangkan dan edukatif
      Saya juga sudah beberapa kali menulis tulisan seperti ini, dan artikel kali ini benar-benar menarik
      Sebenarnya, “bagaimana firmware itu didapatkan” adalah bagian yang paling tidak penting dari cerita ini
    • Saya sama sekali tidak menangkap nuansa negatif dari bagian bahwa firmware tersedia untuk publik. Jadi saya penasaran apakah ada yang benar-benar merasakannya seperti itu
    • Saya pikir firmware memang seharusnya selalu tersedia untuk publik. Itulah arah yang benar
  • Kemungkinan besar sebagian besar model kamera lain juga berbagi kerentanan keamanan yang serupa
    Menurut halaman komunitas TP-Link, firmware terbaru C200 ditampilkan sebagai 1.4.4, tetapi artikel tersebut menyebut 1.4.2
    Artinya, memang ada beberapa pembaruan, tetapi tampaknya patch keamanan belum diterapkan

    • Saat dulu menganalisis produk Zyxel, saya juga sampai pada kesimpulan yang sama
      Banyak produsen menjual perangkat keras umum dengan sekadar mengganti merek
      Tulisan analisis terkait: Part 1, Part 2
    • Kamera seperti ini cocok untuk koneksi lokal, tetapi bagi pengguna umum tetap punya masalah kegunaan yang besar
  • Inilah sebabnya segmentasi jaringan IoT itu wajib
    Semua kamera pintar dan perangkat IoT harus ditempatkan di VLAN terpisah, dan akses internetnya dibatasi lewat firewall
    Pengaturan yang direkomendasikan untuk pengguna kamera TP-Link:

    1. Nonaktifkan UPnP di router
    2. Pisahkan perangkat IoT dengan VLAN
    3. Izinkan outbound hanya ke endpoint yang diperlukan
    4. Jika memungkinkan, ganti dengan firmware terbuka
    5. Periksa pembaruan secara berkala
      Masalah hardcoded key sangat serius, terutama karena berdampak ke seluruh lini produk
    • Saya pernah menguji jaringan rumah teman, dan melalui sistem interkom PoE saya bisa mengakses seluruh jaringan internal
      Ia tidak memisahkan perangkat IoT ke VLAN, dan juga tidak punya sistem notifikasi
      Akhirnya hari itu ia belajar langsung pentingnya pemisahan VLAN dan pembatasan akses
      Sepertinya banyak orang mengekspos jaringan internal mereka dengan cara serupa
    • Ada juga yang bertanya apakah ada panduan yang menjelaskan pengaturan VLAN langkah demi langkah. Secara teknis memang memungkinkan, tetapi diperlukan prosedur yang spesifik
  • Thingino disebut mendukung C200

    • Namun pada praktiknya, hanya sebagian dari 5 versi C200 yang didukung
      Untuk memastikan chipset yang tepat, perlu melihat OpenIPC
    • Firmware buatan komunitas Thingino benar-benar mengesankan
      Jika punya kamera yang kompatibel, sangat layak dicoba
  • Saya menggunakan semua kamera di VLAN yang diblokir dari internet
    Akses lokal tetap bisa lewat HomeKit, jadi semuanya berjalan baik tanpa aplikasi terpisah

  • Tingkat buruknya keamanan seperti ini sampai terasa disengaja
    Sulit dipahami bagaimana mereka bisa menjual jutaan unit tanpa melakukan pemeriksaan kerentanan dasar
    Saya rasa sebagian besar kamera Wi-Fi di bawah $150 memiliki masalah serupa
    Kalau benar-benar ingin aman, satu-satunya jalan adalah membuat sendiri adaptor Wi-Fi ↔ Ethernet nonproprietary

    • Kamera ini dijual di situs resmi seharga $17.99
      Setelah dikurangi biaya perangkat keras, kemasan, logistik, pengujian, retur, dan lain-lain, yang tersisa mungkin keuntungan di bawah $5 per unit
      Menambahkan $100,000 biaya pengembangan tambahan berarti seperti membakar 20,000 unit
      Untuk perusahaan dengan banyak lini produk seperti TP-Link, biaya semacam ini bisa membengkak menjadi puluhan juta dolar per tahun
      Pada akhirnya, strukturnya memang mendorong pengiriman produk dengan pengembangan seminimal mungkin
    • Beberapa kamera bertenaga USB mendukung adaptor jaringan USB
      Orang yang cukup paham teknis bisa membangun lingkungan lokal-only dengan firmware Thingino
    • Kamera seperti ini sama sekali tidak boleh ditempatkan di jaringan yang tidak tepercaya. Ini prinsip yang terlalu jelas
    • Saya sepenuhnya setuju dengan pernyataan bahwa “semua kamera Wi‑Fi punya masalah serupa”
  • Saya tidak tahu sampai kapan repositori firmware S3 milik TP-Link akan tetap terbuka
    Datanya sekitar 990GiB, jadi akan bagus jika ada yang mencadangkannya sebagai arsip atau torrent

  • Saya memakai kamera ini dengan Unifi + ONVIF hanya untuk keperluan yang tidak penting
    Saya menaruhnya di VLAN terpisah dan memblokir internetnya, dan syukurlah tetap berfungsi normal

  • Saat meneliti kamera ini, saya merujuk ke situs drmnsamoliu.github.io

  • Saya pernah me-reverse feed video dari drone mainan menggunakan Ghidra dan AWS Amazon Q
    Rasanya akan jauh lebih cepat kalau waktu itu memakai GhidraMCP