1 poin oleh GN⁺ 2025-05-11 | 1 komentar | Bagikan ke WhatsApp
  • Terminal pengguna Starlink milik SpaceX adalah perangkat keras inti untuk koneksi internet satelit orbit rendah Bumi
  • Jika perangkat pengguna dibongkar, komponen utamanya adalah front-end frekuensi radio (RF) dan SoC rancangan internal
  • Hasil analisis firmware menunjukkan bahwa sebagian besar perangkat lunak inti mencakup pemrosesan jaringan user-space bypass kernel serta beberapa fungsi kriptografi
  • Chip keamanan STSAFE-A110 berperan sebagai akar kepercayaan tambahan, sekaligus menyediakan enkripsi data dan identitas unik
  • Terminal ini mencakup banyak konfigurasi kunci publik SSH dan alat pencatatan paket yang mencurigakan, tetapi tidak ditemukan indikasi pelanggaran privasi pengguna

Gambaran umum

  • Starlink adalah layanan internet satelit orbit rendah Bumi yang disediakan oleh SpaceX
  • Pengguna terhubung ke satelit terdekat melalui terminal, lalu tersambung ke internet lewat gateway darat
  • Satelit generasi baru memanfaatkan tautan laser untuk komunikasi antarsatelit, yang membantu meningkatkan cakupan global dan efisiensi
  • Bahkan tanpa gateway lokal, misalnya di Ukraina, terminal Starlink tetap bisa mengakses internet melalui gateway di negara tetangga
  • Artikel ini secara ringkas membahas hasil investigasi mendalam DARKNAVY terhadap terminal pengguna Starlink

Analisis perangkat keras

  • Satu terminal pengguna Starlink terdiri dari dua bagian: router dan antena (UTA)
  • DARKNAVY membeli terminal Standard Actuated (Rev3, GenV2) di Singapura dan membongkar antenanya
  • Hasil pembongkaran menunjukkan bahwa chip front-end RF (sebagian besar diproduksi STMicroelectronics) menempati porsi besar pada papan
  • Di area kontrol utama terpasang SoC kustom ST khusus SpaceX (quad-core Cortex-A53), tetapi informasi datasheet-nya tidak dipublikasikan
  • Pada Black Hat USA 2022, Dr. Lennert Wouters dari KU Leuven mempresentasikan keberhasilan peretasan terminal generasi pertama (GenV1), dan setelah itu SpaceX menonaktifkan antarmuka debug UART melalui pembaruan firmware
  • Namun, ada riwayat keberhasilan bypass keamanan lagi dengan metode tambahan

Ekstraksi dan analisis firmware

  • DARKNAVY melakukan dump firmware langsung dari chip eMMC
  • Karena papan Rev3 tidak memiliki pin debug eMMC terpisah, digunakan metode melepas eMMC lalu mengekstrak data dengan programmer
  • Sebagian besar firmware tidak dienkripsi, sehingga boot chain (kecuali BootROM), kernel, dan sebagian filesystem dapat terlihat
  • Setelah kernel boot, lingkungan runtime diekstrak dan digunakan di /sx/local/runtime
  • bin berisi berkas eksekusi perangkat lunak Starlink, dat berisi berkas konfigurasi, dan revision_info berisi informasi versi
  • Program komunikasi inti user_terminal_frontend dikembangkan dengan Go, sedangkan sebagian besar lainnya berupa biner C++ statis tanpa simbol
  • Arsitektur network stack mirip dengan DPDK, dengan program user-space menangani pemrosesan paket sambil melewati kernel
  • Kernel Linux terutama digunakan untuk driver perangkat keras dan manajemen proses
  • Sebagian perangkat lunak mencakup fungsi yang awalnya dirancang untuk satelit atau gateway
  • Saat perangkat boot, tipe perangkat diidentifikasi melalui periferal perangkat keras, lalu hanya logika yang sesuai yang dimuat dan digunakan

Emulasi

  • Untuk analisis berkelanjutan, dibangun lingkungan emulasi firmware Rev3 berbasis QEMU
  • Di lingkungan ini, mereka berhasil menjalankan dan men-debug sebagian layanan eksternal seperti httpd, WebSocket, dan gRPC
  • Ini memungkinkan pelacakan cara kerja berkas eksekusi dan layanan utama

Chip keamanan

  • Selain SoC utama, terdapat chip keamanan STSAFE-A110 yang mengklaim sertifikasi CC EAL5+
  • Chip tersebut dapat dibeli lewat NDA, dan program stsafe_cli dalam firmware berinteraksi dengannya
  • Hasil analisis menunjukkan fungsi yang disediakan chip STSAFE mencakup pemberian UUID unik perangkat, pengelolaan sertifikat kunci publik (stsafe_leaf.pem), dan derivasi kunci simetris
  • Chip ini merupakan akar kepercayaan tambahan yang terpisah dari secure boot SoC, dan sesuai dengan standar desain keamanan embedded modern

Easter egg: Apakah Elon mengawasi Anda?

  • Saat analisis, ditemukan program Ethernet Data Recorder, yang memunculkan pertanyaan soal kemungkinan backdoor
  • Program ini tampak memiliki fungsi perekaman paket, dan secara internal menangkap paket tertentu dengan mekanisme mirip pcap_filter
  • Dari aturannya terlihat bahwa target tangkapan terutama adalah paket UDP terkait telemetri satelit
  • Trafik yang tertangkap disimpan dalam keadaan terenkripsi dengan kunci perangkat keras SoC
  • Sampai saat ini belum ditemukan bukti pengumpulan data privasi pengguna
  • Saat proses inisialisasi, jika perangkat dikenali sebagai terminal pengguna, 41 kunci publik SSH ditulis ke /root/.ssh/authorized_keys, dan port 22 selalu terbuka ke jaringan lokal
  • Fakta bahwa banyak kunci publik yang tidak diketahui didaftarkan pada produk komersial adalah hal yang patut dicermati

Kesimpulan dan prospek

  • Seiring teknologi satelit diterapkan di berbagai sektor industri, komponen sistem internet satelit seperti Starlink diperkirakan akan menjadi medan utama serangan dan pertahanan keamanan di masa depan
  • Karena sifat keamanan ruang angkasa, satu kesalahan saja dapat berujung pada putusnya komunikasi permanen dengan target, sehingga diperlukan pendekatan yang hati-hati

1 komentar

 
GN⁺ 2025-05-11
Komentar Hacker News
  • Saat inisialisasi perangkat, ditemukan bahwa jika sistem mengenalinya sebagai terminal pengguna, skrip inisialisasi secara otomatis menulis 41 kunci publik SSH ke file /root/.ssh/authorized_keys, dan port 22 juga selalu terbuka di jaringan lokal; ini memunculkan pertanyaan apa arti penggunaan sampai 41 kunci, dan pada akhirnya membuat orang bertanya siapa sebenarnya yang tidak memiliki akses root ke terminal pengguna yang "Anda miliki"
    • Mungkin Anda sendiri; kalau dipikir lebih serius, ini tidak jauh berbeda dari router yang disediakan ISP dengan sistem manajemen jarak jauh; bahkan jika SpaceX tidak punya akses ke terminal pengguna, mereka tetap bisa memantau lalu lintas dari satelit atau stasiun bumi
    • Belakangan ini jadi penasaran siapa orang yang paling tepat untuk memeriksa apakah ada kunci SSH yang dapat dilacak milik orang-orang yang terlibat dalam pekerjaan khusus pemerintah; akhir-akhir ini juga ada beberapa kebocoran yang bagus
    • Bisa jadi 41 kunci itu hanyalah 41 instance server yang sama di 41 region; Starlink adalah layanan global, jadi tidak terlalu mengkhawatirkan; justru akan lebih mengkhawatirkan jika 41 instance itu berbagi satu kunci yang sama
    • Di perusahaan tempat saya bekerja sekarang, kami hanya mendistribusikan kunci SSH pengembang ke firmware DEV atau QA; image produksi setelah ditandatangani malah mematikan SSH sepenuhnya; untuk diagnostik jarak jauh di produksi kami memakai perangkat lunak terpisah, yang juga dikelola lewat kontrol akses dan prosedur persetujuan dari DevOps, jadi pilihan SpaceX terasa aneh
    • Saya pengguna tunggal tetapi tetap punya 25 baris di authorized_keys; isinya campuran beberapa yubikey di laptop, kunci di iPad dan iPhone, serta kunci secure enclave di Mac; saya membayangkan Starlink punya setidaknya 1-2 administrator sistem lagi, jadi 100 kunci publik pun bukan angka yang terlalu aneh
    • Justru ini mungkin pilihan yang lebih normal dari yang dibayangkan, dan baik untuk keamanan; daripada jutaan terminal semuanya memakai kunci yang sama atau hanya sedikit kunci, lebih baik memakai banyak kunci yang dipisahkan berdasarkan nomor seri atau waktu produksi; private key mungkin hanya dipakai untuk mengelola sejumlah kecil terminal, dan pengelolaan kuncinya juga bisa dipisah-pisah
    • Saya menduga terminal ini hanya bisa diakses dari luar dengan key jika koneksi internet di jaringan lokalnya juga aktif; saya juga penasaran bagaimana SSH akan melewati jaringan satelit, dan seperti apa struktur jaringan Starlink termasuk penggunaan NAT
  • Membagikan tautan ke tulisan pembongkaran terminal pengguna Starlink untuk topik serupa yang pernah muncul sebelumnya
  • Menurut saya akan menarik jika 41 kunci publik itu dipublikasikan untuk melihat pengembang mana yang menggunakannya
  • Membagikan tautan arsip blog post terkait Starlink
  • Meminta penulis memperbaiki salah ketik pada judul ("ternimal")
    • Dengan jenaka disebut sebagai contoh klasik isu keming (jarak antarhuruf yang tidak seimbang)
  • Mengejutkan bahwa semua paket diproses di userspace; untuk trafik 1Gbps (dengan asumsi UDP 100 byte) itu berarti sejuta paket per detik; CPU 1GHz hanya punya 1000 siklus per paket; secara teori mungkin, tetapi tidak mudah, sampai pada tingkat insinyur harus menulis assembly secara manual dan mengerahkan segala trik yang ada
    • Menurut makalahnya, struktur stack jaringannya tampak mirip DPDK, dan inti utamanya adalah pemrosesan paket dengan kernel bypass; dalam praktiknya mungkin hanya paket pertama yang diproses perangkat lunak, lalu setelah sesi terbentuk bisa diserahkan ke hardware; beberapa pola tertentu juga mungkin tetap ditangani perangkat lunak; saya pernah melihat pendekatan serupa pada router modem kabel Intel Puma generasi lama
    • Untuk forwarding gaya DPDK, penyalinan buffer berkurang sehingga justru bisa lebih cepat; Starlink berada di kisaran 25-200Mbps, dan ukuran paket rata-ratanya 7-8 kali lebih besar, sehingga totalnya sekitar 36 ribu paket per detik; untuk CPU 1GHz ini masih cukup masuk akal
    • Saya mempertanyakan alasan mengapa pemrosesan paket di userspace harus lebih tidak efisien dibanding di kernel; jika hardware queue dipetakan ke userspace, pemisahan kernel-userspace menjadi tidak terlalu penting
    • Dalam kasus Starlink, yang digunakan bukan paket UDP 100 byte melainkan MTU normal 1500 byte
    • Memproses paket di userspace bisa jauh lebih cepat karena mengurangi penyalinan memori yang tidak perlu
  • Menyatakan penasaran bagaimana memulai reverse engineering pada perangkat seperti ini; reverse engineering itu sulit, dan banyak contoh yang ada melibatkan perangkat lama atau mahal sehingga susah ditiru
    • Pertama-tama perlu belajar hardware engineering dulu; kalau tidak memahami fungsi atau karakteristik komponen, reverse engineering itu sendiri akan sulit
    • Pertama beli produknya dan bongkar sendiri; kedua pikirkan cara menembusnya setelah dibongkar; ketiga benar-benar mencobanya; keempat frustrasi karena ternyata rusak; biasanya masuk lewat port UART, tetapi Starlink tampaknya tidak punya, jadi ada contoh analisis dengan melepas chip memori eMMC
  • Bertanya apakah ada referensi atau solusi siap pakai untuk emulasi firmware di lingkungan berbasis QEMU yang terhubung ke perangkat eksternal (GPS dan sebagainya)
    • Diperkenalkan sebagai contoh bahwa fork Android QEMU mengemulasikan berbagai perangkat keras dan antarmuka GUI seperti OpenGL, GPS, GSM, dan sensor
  • Ingin belajar cara melindungi firmware dari reverse engineering, dan penasaran apakah ada materi pengantar tentang teknik yang digunakan SpaceX
    • Langkah pertama adalah tindakan seperti enkripsi firmware; tampaknya SpaceX juga tidak terlalu proaktif, tetapi lebih seperti menambal tiap kali ada temuan; dulu bahkan sempat ada debug pin
    • Banyak produk yang pernah saya gunakan ternyata kualitas sisi firmware-nya rendah; selain untuk tujuan keamanan, saya berharap sumber daya tidak dihabiskan untuk mengunci semuanya dan justru dipakai untuk hal yang membantu semua orang; bagi power user, bisa memodifikasi perangkat sendiri justru nilai tambah; kalau memang tidak ada risiko pelanggaran yang benar-benar serius, saya berharap tidak perlu membuang waktu untuk hal yang tidak perlu; menyedihkan, bahkan kadang membuat murung, bahwa kenyataannya kita sering harus meretas berbagai perangkat agar sesuai kebutuhan
    • Paling tidak, dasarnya adalah mengenkripsi root filesystem sambil memanfaatkan rahasia dari chip keamanan sungguhan yang sulit dicuri atau diekstrak; jika ingin meningkatkan tingkat keamanan lebih jauh, ARM TrustZone dapat dipakai untuk mengisolasi bootloader, dekripsi, penandatanganan image, dan tugas sensitif lainnya; fakta bahwa filesystem bisa didump dengan mudah berarti SpaceX praktis tidak memakai mekanisme perlindungan yang nyata; hanya bootloader yang dilindungi, sementara sisanya terekspos
  • Mengungkapkan rasa penasaran apakah perangkat ini mungkin memakai codebase yang sama dengan roket, dan merasa itu menarik
    • Bagian yang terasa malah lebih keren adalah kemungkinan ia berbagi codebase dengan satelit, atau setidaknya dengan simulator satelit, karena harus mengirim berbagai telemetri
    • Sebenarnya ini berbasis OpenWRT