Keamanan

RP2350: Satu Pulsa Laser Bikin Secure Boot Raspberry Pi Bocor

RP2350: Satu Pulsa Laser Bikin Secure Boot Raspberry Pi Bocor

Secure Boot di mikrokontroler RP2350 bisa dilewati dengan satu pulsa laser inframerah yang diarahkan ke die silikon, menurut riset Courk yang diterbitkan Januari 2025. Platform laser buatan sendiri itu butuh lebih dari 16 jam penyetelan sebelum bypass pertama berhasil, lalu sekitar 20 menit untuk keberhasilan berikutnya. Temuan ini menjawab RP2350 Hacking Challenge yang diluncurkan Raspberry Pi di DEFCON 2024, beberapa hari setelah chip tersebut diperkenalkan pada Agustus 2024.

TL;DR

  • Secure Boot RP2350 dijaga Boot ROM yang diperkuat Redundancy Co-Processor dan glitch detector.
  • Peneliti memilih laser fault injection karena voltage glitching dinilai sudah tertahan glitch detector.
  • Die dibuka dari sisi belakang, lalu laser ditembakkan pada timing saat Boot ROM membaca QSPI.
  • Bypass pertama butuh lebih dari 16 jam penyetelan, keberhasilan berikutnya sekitar 20 menit.
  • Raspberry Pi mengakui temuan itu valid dan menjanjikan hardening Boot ROM berikutnya.

Kenapa peneliti memilih laser fault injection?

Laser dipilih karena Boot ROM RP2350 sudah diaudit sebelum tantangan dibuka, sehingga peluang menemukan bug logika kecil. Serangan hardware lewat fault injection dianggap lebih masuk akal, terutama setelah komentar publik menunjukkan glitch detector RP2350 cukup efektif menahan voltage fault injection sederhana.

Logikanya sederhana. Glitch detector bekerja dengan mendeteksi lonjakan tegangan atau gangguan elektromagnetik pada area tertentu. Kalau laser difokuskan ke lokasi transistor yang jauh dari sirkuit detektor, gangguan bisa terjadi tanpa memicu reset. Asumsi itu yang kemudian diuji lewat rangkaian eksperimen panjang.

Penulis riset mengaku tidak punya pengalaman laser fault injection sebelumnya. Pengalaman yang dimiliki adalah voltage fault injection klasik. Tantangan ini jadi alasan membangun platform laser sendiri dengan biaya rendah, bukan membeli peralatan laboratorium komersial.

Apa saja lapisan keamanan RP2350?

RP2350 adalah penerus RP2040 yang membawa Secure Boot sebagai fitur baru. Secure Boot dijalankan oleh kode di Boot ROM, dan kode itu diperkuat dengan fitur hardware, bukan hanya pengecekan software. Komponen utamanya adalah Redundancy Co-Processor atau RCP.

Datasheet RP2350 menjelaskan RCP sebagai mitigasi berbantuan hardware terhadap fault injection dan serangan return-oriented programming. RCP bisa membuat dan memvalidasi stack canary dari seed acak per boot, memastikan urutan eksekusi tidak melompati langkah, memvalidasi boolean yang disimpan dalam dua pola bit sah, serta memeriksa integer 32 bit yang disimpan redundan dengan mask XOR parity. Setiap core punya seed RCP 64 bit.

Selain RCP, RP2350 punya glitch detector yang bisa dikonfigurasi. Sirkuit ini merespons percobaan fault injection lewat tegangan atau elektromagnetik dengan me-reset sistem. Pada konfigurasi tantangan, detector disetel ke sensitivitas maksimum. Tantangan juga mematikan antarmuka debug SWD dan mengunci akses ke area OTP tempat secret disimpan.

Target tantangannya adalah board Pico 2. Peserta harus menulis data rahasia ke salah satu area OTP, mengaktifkan Secure Boot, lalu mem-flash firmware bertanda tangan yang membatasi akses lebih jauh. Tujuannya sederhana dan sulit: ambil kembali data rahasia itu.

Kenapa voltage glitching tidak dipakai?

Voltage glitching tidak dipilih karena glitch detector RP2350 dianggap sudah cukup efektif menahan percobaan sederhana. Penulis riset menyebut komentar online menunjukkan detector bekerja baik untuk kelas serangan itu, sehingga pendekatan yang sama kemungkinan besar hanya mengulang kegagalan.

Ada perbedaan penting antara keduanya. Voltage glitching mengganggu catu daya seluruh chip, sehingga detektor yang memantau tegangan punya peluang besar melihat anomali. Laser fault injection memberi gangguan lokal pada area kecil die. Kalau area itu tidak berisi sensor, detector tidak melihat apa pun.

Konsekuensinya, laser bukan jalan pintas. Die silikon harus dibuka, posisi tembakan harus presisi, dan timing harus cocok dengan instruksi yang sedang dieksekusi. Semua itu menuntut platform mekanik dan optik yang stabil.

Bagaimana platform laser murah itu dibangun?

Langkah pertama adalah membuka die. Penulis memilih sisi belakang chip karena bisa dikerjakan dengan alat mekanik murah. Membuka sisi atas akan membutuhkan bahan kimia yang tidak ingin ditangani, seperti asam nitrat pekat, dan berdasarkan gambar yang tersedia, sisi atas die tampak tertutup lapisan logam yang menyulitkan fault injection.

Platform yang dibangun terdiri dari beberapa bagian. Ada positioning stage untuk menggerakkan sampel, subsistem optik untuk memfokuskan laser, laser driver board untuk menghasilkan pulsa, dan FPGA untuk mengoordinasikan timing. Penulis menekankan pentingnya cahaya inframerah dalam proses ini.

Timing adalah bagian tersulit. RP2350 membaca firmware dari QSPI flash eksternal. Platform serangan memakai dua flash fisik. Flash pertama berisi firmware sah yang membuat Boot ROM berjalan normal. Ketika pembacaan QSPI mencapai byte terakhir dari pemanggilan fungsi penyalinan memori kritis, platform beralih ke flash kedua. Setelah jeda tertentu, laser dipulsa. Flash kedua memasok data yang cocok dengan jalur eksekusi hasil fault, sehingga chip melanjutkan ke firmware yang dikendalikan penyerang.

Setelah pulsa, platform memantau pembacaan QSPI lagi untuk menilai apakah bypass berhasil. Kalau gagal, RP2350 dimatikan dan percobaan diulang. Proses ini berjalan dalam loop otomatis, karena satu percobaan hanya memberi satu peluang pada timing tertentu.

Berapa lama sampai bypass berhasil?

Bypass Secure Boot pertama terlihat setelah lebih dari 16 jam penyetelan parameter pulsa dan posisi laser. Setelah penyetelan itu, keberhasilan berikutnya muncul sekitar 20 menit sekali. Angka itu menunjukkan sifat serangan: bukan satu tembakan yang langsung berhasil, melainkan pencarian parameter yang sabar.

Ada dua sumber kegagalan yang dominan. Pertama, fault sering terlalu kuat. Alih-alih mengubah satu instruksi, laser merusak register yang menyimpan parameter ukuran pada fungsi hash, sehingga alur eksekusi berantakan. Kedua, positioning stage punya backlash pada sistem gigi dan posisinya bergeser seiring waktu dan suhu. Kedua hal ini menurunkan tingkat keberhasilan secara signifikan.

Setelah bypass berhasil, chip menjalankan firmware arbitrer. Firmware itu bisa membaca area OTP yang seharusnya terkunci, termasuk data rahasia yang menjadi target tantangan. Inilah bukti bahwa Secure Boot berhasil dilewati, bukan sekadar membuat chip crash.

AspekLaser fault injectionVoltage atau clock glitching
Paparan dieWajib, dipilih dari sisi belakangTidak perlu, menurut perbandingan di artikel
Glitch detectorBisa dihindari dengan memfokuskan laser jauh dari sensorDinilai efektif menahan percobaan sederhana
PeralatanPlatform custom: stage, optik inframerah, driver laser, FPGAPeralatan glitch tegangan atau clock standar
Hasil di tantanganBypass Secure Boot berhasilBukan jalur yang dipilih penulis

Apa respons Raspberry Pi?

Setelah bypass pertama berhasil, penulis langsung menghubungi Raspberry Pi dan membagikan dokumen teknisnya. Menurut artikel tersebut, komunikasi berjalan lancar. Raspberry Pi mengakui bahwa break-in itu valid dan mengonfirmasi bahwa Boot ROM RP2350 berikutnya akan membawa hardening tambahan di area kode yang diserang.

Pengakuan itu penting karena memindahkan temuan dari klaim peneliti menjadi perubahan yang diakui vendor. Namun artikel tidak menyebut tanggal rilis Boot ROM baru atau nomor versi yang memuat perbaikan tersebut. Sampai informasi itu tersedia, status perbaikannya belum bisa diverifikasi dari sumber publik.

Apa artinya buat pemakai RP2350?

Bagi sebagian besar pemakai, dampaknya tidak langsung. Serangan ini membutuhkan akses fisik ke chip, pembukaan kemasan, peralatan laser, dan waktu penyetelan yang panjang. Itu bukan profil ancaman yang dihadapi perangkat rumahan atau proyek hobi.

Yang berubah adalah cara membaca klaim keamanan. Secure Boot tetap berguna karena menaikkan biaya serangan, tetapi bukan tembok absolut. Kalau produk memakai RP2350 untuk menyimpan kunci dan perangkatnya bisa dipegang penyerang, desain harus menganggap kunci itu bisa bocor. Mitigasi tambahan seperti enkripsi di level aplikasi dan rotasi kunci tetap perlu.

Penulis juga mencatat bahwa metode yang lebih sederhana sudah dipublikasikan setelah risetnya. Ada laporan serangan electromagnetic fault injection dengan koil kecil dan daya rendah yang bisa mengganggu operasi CPU tanpa memicu detector. Artinya, laser bukan satu-satunya jalur, dan lanskap serangan hardware terus bergerak.

Untuk tim hardware, pelajarannya bukan mengganti chip. Pelajarannya adalah menguji asumsi keamanan dengan serangan nyata, bukan hanya membaca datasheet. RP2350 membawa RCP dan glitch detector yang secara desain lebih kuat dari RP2040, tetapi riset ini menunjukkan bahwa implementasi tetap punya titik lemah di area kode tertentu.

Apakah riset ini bisa direproduksi?

Penulis membagikan file manufaktur dan source code platform, sehingga tim lain bisa mencoba membangun perangkat serupa. Namun ada beberapa hambatan praktis. Sumber laser inframerah berdaya tinggi tidak dijual bebas di semua negara, dan penggunaannya berbahaya. Penulis memberi peringatan eksplisit bahwa komponen laser daya tinggi bisa melukai mata dan kulit.

Hambatan kedua adalah presisi mekanik. Platform murah memakai positioning stage sederhana yang punya backlash dan drift. Untuk mencapai timing dan posisi yang konsisten, penyetelan manual bisa memakan waktu berjam-jam, seperti yang dialami penulis.

Hambatan ketiga adalah sampel. Setiap upaya membutuhkan chip yang dikorbankan untuk pembukaan die. Kalau proses pembukaan gagal, chip tidak bisa dipakai lagi. Ini membuat eksperimen hardware berbeda dari eksperimen software yang bisa diulang tanpa biaya bahan.

Meski begitu, publikasi file manufaktur menurunkan ambang masuk secara signifikan. Sebelum riset ini, laser fault injection sering dianggap hanya bisa dilakukan laboratorium dengan peralatan mahal. Riset ini menunjukkan bahwa dengan kompromi dan kesabaran, hasil serupa bisa dicapai dengan biaya jauh lebih rendah.

Sumber utama

Detail teknis di artikel ini diambil dari tulisan Courk yang bisa dibaca di courk.cc. Spesifikasi Redundancy Co-Processor dan glitch detector merujuk ke datasheet RP2350. Latar belakang pencitraan silikon dengan inframerah bisa ditelusuri ke paper bunnie Huang di arXiv.

FAQ

Apakah RP2350 jadi tidak aman dipakai?

Tidak otomatis. Serangan ini butuh akses fisik, pembukaan kemasan chip, peralatan laser, dan penyetelan panjang. Secure Boot tetap menaikkan biaya serangan. Untuk perangkat yang bisa dipegang penyerang, jangan anggap Secure Boot sebagai batas keamanan tunggal.

Berapa biaya membangun platform laser ini?

Artikel tidak merinci total biaya. Penulis menyebut desainnya berorientasi budget, membagikan file manufaktur dan source code, dan mencatat bahwa sumber laser yang cocok butuh usaha untuk dicari. Tanpa rincian komponen, angka biaya tidak bisa dikutip.

Apakah Raspberry Pi sudah merilis perbaikan?

Raspberry Pi mengakui temuan itu valid dan menyatakan Boot ROM berikutnya akan menambah hardening di area yang diserang. Artikel tidak menyebut tanggal rilis atau nomor versi Boot ROM tersebut, jadi status perbaikan belum bisa diverifikasi publik.

Apakah serangan yang sama berlaku untuk RP2040?

Fitur yang diserang adalah fitur baru RP2350, yaitu Secure Boot yang dijalankan Boot ROM dan diperkuat Redundancy Co-Processor. RP2040 tidak memiliki lapisan yang sama, sehingga jalur serangan ini tidak berlaku langsung.

Apakah laser selalu dibutuhkan untuk membobol Secure Boot?

Tidak. Penulis menyebut metode yang lebih sederhana sudah dipublikasikan setelah risetnya, termasuk laporan electromagnetic fault injection dengan koil kecil. Laser adalah salah satu jalur, bukan satu-satunya.

Rekomendasi Tools & Layanan

Mau langsung nyobain AI yang dibahas di artikel ini tanpa setup ribet? AI token plan Alibaba Cloud ngasih akses ke Qwen, DeepSeek, dan model lain lewat satu API — dan platform Qwen buat build agent sendiri. Free tier-nya cukup buat eksperimen pertama.

💬 Komentar (0)

Belum ada komentar. Jadilah yang pertama! 💬

Komentar akan muncul setelah moderasi.