1 poin oleh GN⁺ 2024-12-29 | 1 komentar | Bagikan ke WhatsApp
  • ESP32 sangat umum digunakan, mungkin ribuan unit hanya di CCH, tetapi komponen intinya, Wi‑Fi stack, bersifat tertutup sehingga sulit dimodifikasi dan diaudit
  • Sesi 38c3 membahas proses membuat Wi‑Fi stack open source, berangkat dari rekayasa balik periferal Wi‑Fi
  • Tujuannya bukan sekadar implementasi pengganti, melainkan membuat perangkat lunak yang dapat menangani data sensitif bisa diverifikasi dan diperbaiki sendiri
  • Jika stack baru ini mapan, ESP32 dapat berkembang melampaui SoC IoT biasa menjadi platform nirkabel murah untuk riset dan eksperimen
  • Jika fiturnya cukup terbuka, pemanfaatan seperti alat pentesting, router mesh B.A.T.M.A.N., dan klien AirDrop menjadi mungkin

Alasan membuka Wi‑Fi stack tertutup

  • Wi‑Fi stack ESP32 yang ada memang berfungsi, tetapi karena merupakan implementasi tertutup, sulit untuk memeriksa cara kerja internalnya atau memodifikasinya sesuai kebutuhan
  • Tujuan utama Wi‑Fi stack open source adalah memungkinkan area yang berpotensi menangani data sensitif untuk dimodifikasi dan diaudit
  • Di CCH mungkin ada ribuan ESP32, dan fakta bahwa semuanya menjalankan Wi‑Fi stack tertutup seperti ini memperkuat kesadaran akan masalah tersebut

Dari rekayasa balik hingga stack baru

  • Proyek ini dimulai dari rekayasa balik Wi‑Fi stack proprietari milik ESP32
  • Setelah itu berlanjut menjadi implementasi Wi‑Fi stack open source yang menangani langsung periferal Wi‑Fi ESP32
  • Dalam proses ini turut dibahas Wi‑Fi, ESP32, rekayasa balik secara umum, dan cara mendekati proyek semacam ini

Pemanfaatan saat ESP32 terbuka

  • Jika fiturnya terbuka sepenuhnya, ESP32 dapat mengambil peran yang lebih beragam sebagai alat riset dan SoC IoT
  • Contoh pemanfaatan yang memungkinkan adalah sebagai berikut
    • Alat pentesting
    • Router mesh B.A.T.M.A.N.
    • Klien AirDrop

Informasi sesi dan ketentuan publikasi

  • Pembicaranya adalah Frostie314159 dan Jasper Devreker
  • Ini adalah sesi berdurasi 38 menit di trek Hardware & Making 38c3, Saal 1, dengan tanggal 2024-12-27
  • Video dan audio tersedia dalam format MP4, WebM, MP3, dan Opus
  • Materi dipublikasikan dengan ketentuan http://creativecommons.org/licenses/by/4.0

1 komentar

 
GN⁺ 2024-12-29
Komentar di Hacker News
  • Artikel terkait: https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/

    • Sepertinya akan sangat menguntungkan jika versi open source-nya kompatibel dengan API tertutup
      Jika kompatibel, bantuan dan contoh yang sudah menumpuk di internet bisa langsung dimanfaatkan, dan biaya masuknya juga lebih rendah. Orang yang hanya ingin mengubah sedikit lapisan MAC pun bisa masuk dengan cara lama tanpa beban mempelajari API baru, lalu hanya menyentuh bagian yang diinginkan
    • Saya penulisnya. Seluruh seri artikelnya juga ada di https://esp32-open-mac.be/
  • Masih cukup aneh bahwa hanya Espressif yang berhasil memasukkan modem WiFi ke mikrokontroler yang lumayan bagus
    ST masih tertinggal jauh di area seperti ini

    • Contoh lain termasuk keluarga BK72xx (BK7231T, BK7231N), keluarga RTL87xx (RTL8710BN, RTL8710BX), dan RP2040
      Namun WiFi pada board RP2040 W tampak seperti modul eksternal. Sumber: https://esphome.io
    • Espressif berhasil menemukan kombinasi yang tepat: murah, mudah diakses, hardware mudah, software mudah, dan tidak ada pembatasan lisensi yang aneh
      Bisa dibeli satuan di mana-mana, dijual dalam berbagai board breakout dengan daya USB, port pemrograman, dan pin berlabel, serta dokumentasi, contoh, Arduino IDE, dan NodeMCU-nya juga lengkap. Arduino pada awalnya juga mirip, tetapi terlalu lama bertahan di chip AVR berperforma rendah, board yang bukan buatan Tiongkok mahal, dan tidak ada WiFi. Raspberry Pi Pico fiturnya bagus, tetapi pasokan awalnya sulit, sementara yang lain lebih mirip “chip tunggal” yang dibeli dari tempat seperti DigiKey, dengan ongkos kirim mahal, dokumentasi lebih dari 600 halaman, perlu lebih dari 300 halaman hanya untuk mengirim satu ping pertama, harus menyolder ke board, dan biasanya perlu peralatan mahal juga untuk pemrograman
    • Nordic Semiconductor juga punya mikrokontroler dengan Bluetooth dan WiFi. Namun jauh lebih jarang dibanding solusi Espressif
    • Sebagian besar modul berbasis TuYa di AliExpress adalah Beken
    • TI sudah memiliki mikrokontroler WiFi+Bluetooth sejak hampir 10 tahun lalu, dan juga menyediakan Cortex-M4
  • Saya belum sempat menonton videonya, jadi maaf kalau ini sudah dibahas, tetapi saya penasaran apakah sertifikasi nirkabel ESP32 terikat pada firmware black-box resmi
    Kalau memakai firmware terbuka pada hardware yang sama, apakah harus dikirim ulang ke badan sertifikasi seperti FCC untuk diuji kesesuaiannya?

    • Kalau didistribusikan seperti itu, ya; kalau pengguna akhir memodifikasinya sendiri, tidak
      Saya tidak langsung ingat pasal CFR-nya, tetapi FCC secara eksplisit mengizinkan siapa pun menggunakan perangkat tak tersertifikasi dalam jumlah kecil. Jika perangkat itu melanggar aturan lain, tetap saja pelanggaran, tetapi fakta bahwa hardware atau software-nya dimodifikasi tidak dengan sendirinya dilarang
    • Saya melihatnya sebagai area abu-abu. Kalau saya tidak terlalu keliru, sertifikasi hanya menguji dan mendokumentasikan performa nirkabel dalam kondisi terburuk, sementara dokumen teknis lainnya lebih mirip brosur yang cukup rinci berisi diagram blok tingkat tinggi dan teori operasi, bukan dokumen desain modern seperti file manufaktur PCB atau skrip build firmware
      Keberadaan firmware hampir tidak diakui. Ada salah satu alasannya. Peralatan nirkabel tak berlisensi yang tersertifikasi seperti WiFi diharapkan tahan terhadap modifikasi demi kepentingan publik. Karena itu, ketika FCC membahas persyaratan sertifikasi router WiFi, mereka sempat mempertimbangkan untuk memperluasnya sampai ke software, misalnya mewajibkan secure boot pada semua router WiFi sampah yang rentan, tetapi itu ide mengerikan sehingga dibatalkan. Untuk saat ini, selama firmware hasilnya tidak jelas-jelas menghasilkan emisi di luar spesifikasi, saya menganggapnya kira-kira setengah legal atau setengah ilegal. Saya bukan pengacara
    • Benar
  • https://github.com/esp32-open-mac

  • Dulu ada ide provisioning kata sandi WiFi. SSID dan kata sandi bisa dikirim dengan memodulasi panjang paket
    Perangkat IoT baru tentu tidak bisa mendekripsi paketnya, tetapi bisa mengamati panjangnya. Saya juga membuat contoh implementasi untuk Linux, tetapi tidak menemukan satu pun chip IoT yang menyediakan akses PHY tingkat rendah yang cukup untuk melakukan ini

    • SmartConfig dari TI bekerja seperti itu dengan memanfaatkan field panjang. Jadi tinggal memakai chip IoT yang mengimplementasikannya, dan TI menyediakan cukup banyak chip semacam itu
    • https://www.keacher.com/xmas24/ memakai OOK untuk komunikasi data, dan keuntungannya adalah tidak perlu baterai karena memanen energi dari sinyal WiFi
    • Sebagai pilihan terakhir, bukankah bisa melakukan reverse engineering, atau memang mustahil?
    • Kalau zaman sekarang, saya akan pakai WPA3 saja
  • Pertanyaan sampingan: salah satu pembicara memublikasikan nomor DECT. Apakah itu berarti masih ada orang yang membawa-bawa telepon tua untuk dipakai di konferensi teknologi?

    • Mereka menjalankan beberapa jaringan untuk komunikasi suara selama acara. Setelah saya cari, biasanya mereka memakai DECT, SIP, GSM sekaligus
      Ada juga dasbor status yang menampilkan metrik selama acara
      [1] https://events.ccc.de/2024/12/22/38c3-poc-isdn-version/
      [2] https://dashboard.eventphone.de/d/de7sgxz63vzeoe/38c3?orgId=...
    • Benar. Di kamp hacker itu cukup praktis, dan saya juga masih punya satu
      Terutama di area berkemah, cakupan WiFi bisa tidak menentu, jadi meskipun berjalan ke gedung toilet atau tempat parkir, panggilan tetap bisa diterima. Karena memakai frekuensinya sendiri, itu juga tidak membuat band yang dipakai WiFi, Bluetooth, dan Zigbee makin ramai. Bisa saja memakai semacam aplikasi, tetapi DECT sangat andal dan jangkauannya jauh lebih baik daripada WiFi. Saya punya perangkat Siemens yang bagus kira-kira seukuran Nokia 8210, jadi tidak perlu membawa-bawa benda seperti batu bata. Sekarang baterainya mungkin hampir mati, tetapi seperti baterai zaman itu, baterainya bisa diganti
  • Di dalam rumah pribadi di Jerman, DECT masih sangat populer
    Jauh lebih tangguh daripada VoIP di atas WiFi

    • Saya anggap ini tradisi CCC
    • Benar. Hanya saja GSM atau SIP juga bisa dipakai, dan dalam praktiknya, meski memakai jaringan modern, ruang nomornya sama sehingga sering disebut nomor DECT
      Karena DECT hadir lebih dulu, istilah itu sudah melekat seperti sebutan umum untuk jaringan telepon internal
  • Saya penasaran seberapa dalam level peretasannya. Pengiriman frame terlihat seperti sekadar mengatur beberapa register lalu menunggu interrupt, jadi saya menduga ini sebenarnya berbicara dengan lapisan firmware lain yang melakukan pekerjaan sesungguhnya
    Ini mengingatkan saya pada board Raspberry Pi Pico. Ada SoC utama RP2040, tetapi WiFi berada pada modul WiFi/BT terpisah (CYW43xx) yang punya core Arm sendiri. Antarmuka register eksternal modul WiFi juga tidak didokumentasikan secara terbuka, tetapi ada driver open source (https://github.com/georgerobotics/cyw43-driver/tree/cf924bb0...) sehingga spesifikasinya bisa disimpulkan. Namun pada akhirnya driver ini juga berkomunikasi dengan software yang berjalan di core Arm internal modul, dan kode itu disediakan pabrikan sebagai blob biner firmware raksasa. Blob itu benar-benar ada di dalam file header di direktori firmware pada repositori yang ditautkan. Saya penasaran bagaimana peretasan ESP32 kali ini dipetakan ke struktur tersebut

  • Saya terkesan karena para presenternya terlihat sangat muda. Menarik melihat orang pada usia semuda itu sudah membangun pengetahuan teknis setingkat itu

    • Sekarang semuanya terbuka. Anak-anak bisa mempelajari apa yang mereka inginkan pada usia yang makin muda
      Catur adalah contoh sempurna. Dulu banyak pengetahuan ada di buku, dan sering kali bukunya berbahasa asing. Sekarang semuanya terbuka, dan begitu mencapai level tertentu, mereka bisa dengan mudah bermain melawan lawan peringkat 100 besar, sehingga laju perkembangannya lebih cepat
  • Satu langkah lebih dekat ke library MicroPython yang mendukung mode promiscuous

    • Kenapa? Itu sudah didukung di ESP SDK
  • Tonton tanpa mengunduh: https://media.ccc.de/v/38c3-liberating-wi-fi-on-the-esp32/pl...