- Dengan mengekstrak file firmware, struktur internal perangkat dapat diperiksa dengan mudah, dan Rodecaster Duo ternyata memiliki SSH yang terbuka secara default
- Paket pembaruan berbentuk gzipped tarball, dan perangkat memiliki dua partisi untuk boot ke sisi lain jika terjadi kerusakan, serta skrip shell untuk pembaruan
- Firmware yang masuk tidak memiliki verifikasi tanda tangan, koneksi SSH aktual terkonfirmasi melalui sambungan Ethernet, dan hanya mengizinkan autentikasi pubkey
- Di Windows, alur pembaruan USB ditangkap dan diketahui bahwa masuk ke mode pembaruan serta menjalankan flashing dilakukan dengan perintah ASCII tunggal
M dan U; setelah menyalin archive.tar.gz dan archive.md5, firmware baru dipasang lewat reboot
- Di macOS, firmware kustom digunakan untuk mengaktifkan autentikasi kata sandi SSH dan menambahkan kunci publik sehingga koneksi nyata bisa dilakukan, tetapi alasan SSH aktif secara default dan adanya kunci bawaan tetap tidak terungkap
Pembaruan firmware dan SSH yang aktif secara default
- Rodecaster Duo memudahkan pemeriksaan file yang dikirim ke perangkat selama proses pembaruan firmware, dan SSH aktif dalam keadaan default
- Di macOS, aktivitas disk dilacak untuk menemukan lokasi penyimpanan firmware, dan firmware berbentuk gzipped tarball sederhana
- Pada perangkat yang dicoba diperbarui, fungsi penulisan ke disk USB dinonaktifkan sehingga pembaruan tersebut gagal
- Di dalam perangkat terdapat biner eksekusi dan skrip shell untuk pembaruan, dan pada disk ada dua partisi sehingga jika salah satunya rusak, perangkat akan boot dari yang lain
- Firmware yang masuk tidak memiliki verifikasi tanda tangan
- Setelah kabel Ethernet dihubungkan, terkonfirmasi bahwa SSH memang terbuka, dengan hanya autentikasi pubkey yang diizinkan
- Ditemukan dua kunci SSH bawaan yang sudah ditambahkan
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCX/bCFTDgViuPvdFL/VMMVRrw9b5S8HcDQk17qoCEYwmI+IIG8rEAsLiaeCOwyhf9IN+8/LRaN0Z5ZfU3WMbmsKEg8zd1Yvqq74nFbhO47vbtzmCi9S4ucIKkBEVOyvyN5lt9hWf5t5nZSmlfldZK3Pem5y8wHM5A+K/gSnzp4gwQ1QYfFb068uQ+ciIdOhb8SkUs8CwzotglIbp19I6ZmXmsNj/TmpbUf5rMfUAf1gysZ5j1UdRWrvWVh5daqvZRsBBPbXEeJfDU3Nr3HR14XYt9mgexrz/5oyKSj/lQYLmh9cDfsxvkGNIQ8fF9l+n2L1KZM4lLgiGk4KFBjQHaIBZx9OebCiiZCO4NTJUBDk9a+SZpiDiipADV07s7vTInYyFA6GrmKtnq3M6upT4WJBvVuL/BMnK5yY1RZtoqox2/pcCg2rH5S1GIy0v0HFJisl7kWInlaG2mdsaCx19wAjCFe/qT9LyxjQ6+0rArI55/JJFDkNeMjrewRQwNdASjCox8vqXCBfjvsR9qv70/ywcymgsnLAnq2LuYg5FYwMMDYOvVnhACC+BYTdNDTn5oeMIjQCUenY/DPCHpJkf4YOf3YCMUTEU9tExhtwW/X+m21hS3+STLtTfqbUeg9CeuPQZgfl9vc65n3tMxAdlEGEDoTaNMAgr2TzJv92Ka9iQ==
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDaNyzPfIcEeQsfzyQs/wyX6mX52kiS+4eNHfCaxFlgj
Alur pembaruan dan firmware kustom
- Di Windows, lalu lintas pembaruan ditangkap dengan Wireshark dan USBPcap untuk melihat alur kontrol yang dikirim aplikasi RODECaster ke perangkat
- Struktur pembaruan yang sebenarnya cukup sederhana
- Setelah mengirim perintah
M, archive.tar.gz dan archive.md5 disalin ke disk yang baru terekspos
archive.md5 adalah nilai md5sum dari arsip
- Setelah itu, disk di-unmount dan perintah
U dikirim untuk memulai flashing, lalu perangkat reboot dan naik dengan firmware baru
- Di macOS, dibuat firmware kustom menggunakan container untuk mengaktifkan autentikasi kata sandi SSH dan menambahkan kunci publik sendiri ke authorized keys
- Contoh fungsi minimum yang diperlukan untuk flashing dapat dilihat di sini
- Setelah menjalankan skrip dan melakukan flashing, perangkat dapat diakses melalui SSH
- Perangkat ini memungkinkan firmware di-flash dengan sangat mudah, dan alasan SSH aktif secara default serta adanya kunci bawaan masih belum diketahui
- Masalah ini telah dilaporkan ke RODE melalui tiket, tetapi tidak ada tanggapan
- Akan terus dipantau apakah ada perubahan pada pembaruan firmware berikutnya
1 komentar
Komentar Hacker News
Menyalakan verifikasi secara default itu tidak masalah, tetapi orang yang membeli perangkat kerasnya seharusnya tetap bisa mengambil kendali pemilik dengan cara mendaftarkan kunci sendiri, memindahkan jumper, atau menekan tombol saat boot
Dalam praktiknya, yang benar-benar memberi opsi seperti ini paling hanya beberapa Chromebook dan perangkat jaringan, jadi setiap kali topik keamanan firmware muncul, ujung-ujungnya selalu jadi perang antara "kunci rapat semuanya" melawan "buka semuanya total", sementara struktur di mana pengguna yang membayar bisa memutuskan justru hilang
Cara Rode mendistribusikannya sebagai tarball + hash itu sangat bagus, dan kalau nanti dibuat lebih ketat pun semoga tetap dengan mekanisme yang memungkinkan saya menginstal apa pun yang saya mau ke perangkat yang saya miliki
Semoga lebih banyak perangkat yang terbuka seperti ini, dan semoga Rode tidak melihat ini lalu mengunci upgrade firmware
Tolong jangan diubah
Itu printer sekitar tahun 2009, dan untuk menaikkan RAM ke 256MB dibutuhkan update firmware, tetapi saya cuma perlu mengirim tarball ke printer lewat jaringan dengan FTP
Saya kirim pakai FileZilla, printer bekerja beberapa menit, lalu update langsung selesai, dan sejak itu saya jadi berpikir: memangnya kenapa update firmware harus lebih rumit dari ini?
Kalau demi keamanan perlu checksum, ya silakan, tetapi akan bagus kalau cukup unggah satu blob lewat FTP, SCP, atau SFTP lalu selesai
Harus dibuat hanya bisa dilakukan setelah masuk semacam DFU mode, karena kalau tidak, apa pun yang bisa mengakses USB dapat mendorong firmware yang salah dan membuat perangkat jadi brick
Kalau 10 atau 20 tahun lalu, fitur seperti ini kemungkinan besar diimplementasikan di SoC 16-bit atau 32-bit kecil dengan RTOS seperti VxWorks
Karena juga punya banyak kontrol fisik, langkah berikutnya bahkan terasa wajar kalau dijadikan konsol game
Selain itu ada dua port 1GbE, dan masing-masing berkomunikasi dengan bagian mesin yang berbeda
Tapi konfigurasi seperti ini tidak terlalu aneh di dunia audio profesional, jadi memang terlihat mengesankan kalau dipakai di meja rumah, tetapi di industrinya sendiri cukup biasa
Mungkin ceritanya akan jadi lebih menarik setelah berhasil mendapat root shell atau setelah membuatnya brick
Dari sisi biaya dan kompatibilitas juga tidak mudah mengalahkan Linux
Biasanya di bawahnya ada Linux minimal yang berjalan di ARM SoC, dan BSP vendor kadang kebetulan terkirim dengan sshd masih aktif
Ini lebih dekat ke situasi di mana tidak ada orang di sisi audio yang benar-benar bertanggung jawab atas rootfs, bukan karena niat jahat
Intinya adalah apakah ini hanya terbuka di jaringan sisi USB, atau benar-benar terbuka juga ke LAN
Yang pertama cuma sebatas merepotkan, yang kedua benar-benar mengkhawatirkan
Sebaliknya, Android membagi jenis image default seperti eng / userdebug / user, jadi kalau hanya memilih default yang sudah diprakonfigurasi dengan benar, kesalahan seperti ini lebih mudah dihindari
Saya belum sempat mengecek apakah antarmuka itu juga terbuka saat terhubung ke Wi‑Fi hanya untuk memakai fungsi tertentu
Tinggal lemparkan ke agent, dan dalam hitungan menit ia bisa memeriksa firmware dan memberi pendekatan untuk memodifikasi perangkat
Tahun lalu, hal seperti ini setidaknya terasa seperti pekerjaan untuk hacker sekelas Hotz, atau seseorang yang mau bertahan menggali sangat lama
Memang benar LLM membuat analisis, debugging, dan bypass jadi jauh lebih mudah, tetapi tingkat perlindungan perangkat ini sangat rendah sehingga orang dengan kemampuan menengah pun kemungkinan bisa melakukannya kalau punya motivasi dan waktu
Tidak ada firmware terenkripsi, tidak ada pemeriksaan tanda tangan, bahkan ada akses SSH bawaan
Sebaliknya, hypervisor PS3 yang dibobol George Hotz dirancang jauh lebih kuat dari sudut pandang penyerang, dan eksploitasi nyatanya bahkan memerlukan voltage glitching dengan FPGA
Serangan seperti itu memang bisa dibantu LLM, tetapi karena tidak ada loop umpan balik yang sepenuhnya lengkap, tetap masih sangat membutuhkan tangan manusia
https://rdist.root.org/2010/01/27/how-the-ps3-hypervisor-was-hacked/
Kalau Wireshark belum terpasang, ini mungkin bisa sedikit menghemat waktu, tetapi juga ada sedikit risiko halusinasi
Selebihnya, yang dilakukan hanya memodifikasi
~root/.ssh/authorized_keysdan/etc/shadowdari tarball firmware di dalam Docker, lalu memakai skrip Python sederhana untuk mengirim pesan HID terkait dan menyalin tarball yang sudah dimodifikasi ke volume yang diekspos perangkat seperti USB driveJadi ini bukan pekerjaan yang membutuhkan hacker gila, cukup kemampuan dasar Linux sysadmin dan level bisa merangkai pustaka USB HID untuk menulis program kecil yang sepele
Tetapi saya sempat bingung kenapa ia memasang paket
whoisdi kontainer Ubuntu, lalu masuk akal setelah ingat bahwa di keluarga Debian, mkpasswd ada di situ karena alasan historisJuga, kalau
sshd_configperangkat itu masih default apa adanya, kemungkinan login root dengan kata sandi memang sejak awal tidak bisa dilakukan karenaPermitRootLoginhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=116260
Saya menyamarkan Credo 50 sebagai IQ250, padahal bagian dalamnya pada dasarnya sama
Menggali memang seru, tetapi makin bertambah usia rasanya makin sulit menghabiskan 16 jam memelototi firmware blob acak
Lagi pula, menangani perangkat dengan SSH yang terbuka memang tidak membutuhkan keterampilan khusus
Terutama bagian ingin bermain game dan memakai Discord di ruangan yang sama, sambil saya dan pacar saya masing-masing menyambungkan mikrofon ke komputer sendiri tanpa echo
Keduanya cukup masuk ke panggilan Discord yang sama, lalu gabungkan dua mikrofon ke input salah satu komputer, sementara yang satunya menerima audio di klien dengan mikrofon dimute
Karena mixing terjadi secara lokal, tidak akan timbul echo
Sesederhana itu sampai rasanya saya ingin bilang, kirim email saja kalau ada yang masih ingin ditanyakan
Latensinya sekitar 40 ms, dan kalau lewat Wi‑Fi sekitar 50–60 ms
Anda bisa menjalankan mixer di satu PC dan memakai mikrofon lokal sebagai satu channel input, lalu PC lainnya menyiarkan mikrofonnya agar masuk sebagai channel 2 ke mixer, jadi masalahnya bisa diselesaikan dengan cara serupa
Musik juga bisa diputar dari PC lokal, dan mixer atau broadcaster bisa membuat sink lokal
Di akhir semuanya dicampur di mixer, lalu main out dikirim ke Discord, sedangkan jalur monitor mengeluarkan audio Discord dan kemudian merelay-nya kembali ke PC lain untuk pemantauan real-time
Tentu saja, mungkin saya salah memahami situasinya
Saya tidak tahu banyak soal Zola, jadi tidak tahu apakah ini template umum atau kustom, tetapi tampilannya sangat bagus
Karena itu mereka tampaknya memaksakan hal-hal seperti signed image
Untuk interface seperti ini, saya justru merasa lebih baik kalau dibiarkan tetap terbuka
Di sana mereka hampir bicara seperti bahasa Inggris, jadi mestinya bisa saling paham