Memastikan Keandalan Desain Processor: Praktik Terbaik untuk IC Aman dan Terpercaya
Sirkuit terpadu (IC) modern menyediakan kemampuan komputasi dan kontrol sistem untuk memproses jumlah data yang besar, membuat keputusan kritis keselamatan dalam waktu nyata, dan melindungi data sensitif. Mendesain aplikasi terintegrasi spesifik (ASIC) atau sistem-on-chip (SoC) FPGA yang dapat diprogram dari awal akan terlalu mahal dan memakan waktu. Banyak fungsi kritis diimplementasikan menggunakan IP pihak ketiga. Inti prosesor, misalnya, dipertalankan dari organisasi spesialis dan menyediakan fungsi yang dapat diprogram perangkat lunak melalui arsitektur instruksi (ISA), yang mendefinisikan antarmuka antara hardware dan perangkat lunak. Arsitektur prosesor open-source memberikan kesempatan untuk pemeriksaan yang lebih dalam dan jaminan keamanan yang ketat dalam sistem yang sudah menghadapi lingkungan ancaman yang fluida. Artikel ini menjelaskan pendekatan untuk menyediakan jaminan keamanan IP dan SoC berdasarkan RISC-V open-source ISA.
Ditemukan di Universitas California dan dikelola oleh yayasan nirlaba RISC-V Foundation, RISC-V adalah ISA open-source pertama yang menjadi pilihan industri yang benar-benar layak untuk berbagai aplikasi.
RISC-V adalah ISA open-source yang ditemukan di Universitas California dan dikelola oleh RISC-V Foundation, yayasan nirlaba dengan lebih dari 300 anggota yang didirikan pada 2015. RISC-V adalah ISA open-source pertama yang menjadi pilihan industri yang benar-benar layak untuk berbagai aplikasi. Ekosistem alat, perangkat lunak, dan keahlian yang kuat dan berkembang secara stabil. Banyak individu dan organisasi telah menyumbangkan IP hardware open-source yang mengimplementasikan ISA RISC-V. OpenHW Group, misalnya, bertujuan untuk mewujudkan prospek yang ditunggu-tunggu dari hardware open-source—terutama, inti prosesor—untuk chip volume tinggi.
Kemunculan RISC-V memiliki banyak alasan. Dibangun dari nol dengan ekstensi kustom di pikiran, RISC-V memungkinkan tingkat optimasi hardware baru untuk beban kerja spesifik. Hukum Moore melambat, dan kustomisasi krusial untuk mempertahankan tingkat peningkatan kinerja yang kemajuan dalam proses manufaktur semiconductor tidak lagi dapat menyediakan. Selain itu, arsitektur RISC-V bebas dari biaya lisensi dan royalty, memungkinkan lebih banyak perusahaan untuk mengembangkan produk inovatif dan terjangkau. Banyak yang terjadi di bidang IoT dan perangkat wearable dengan kemampuan AI, misalnya.
Integrator SoC sering menggunakan IP prosesor RISC-V open-source atau pihak ketiga. Desain ini dan toolchain yang terkait dapat diperkaya dengan instruksi kustom. Lingkungan verifikasi berkualitas tinggi yang disediakan dengan IP dan pengujian tingkat sistem tambahan dapat memberikan beberapa kepercayaan bahwa IP tidak memiliki bug kritis. Sayangnya, untuk banyak aplikasi, ini tidak cukup, dan ada risiko serius lain yang harus dipertimbangkan.
Kerentanan dan Trojans
Secara tradisional, kerentanan keamanan dalam sistem elektronik dikaitkan dengan masalah tingkat sistem dan perangkat lunak. Baru-baru ini, IP hardware, yang terkenal prosesor, juga menjadi perhatian pusat (lihat Fig. 1). Implementasi prosesor menggunakan mikroaritektur berbasis pipeline dan sering menyertakan fitur optimasi kinerja dan daya. Kompleksitas meningkat risiko melewatkan tidak hanya bug fungsional tetapi juga kerentanan keamanan. Peneliti keamanan yang menemukan serangan Meltdown dan Spectre pada awal 2018 telah menunjukkan bahwa fitur optimasi kinerja dalam prosesor dapat digunakan dengan cara yang tidak diinginkan untuk tujuan jahat. Sejak saat itu, banyak kerentanan lebih lanjut dalam prosesor kelas tinggi dan rendah telah ditemukan. Serangan saluran samping dan eksekusi sementara dapat melanggar enclave aman dan memungkinkan aplikasi berbahaya untuk bocorkan data rahasia atau bahkan mengambil kontrol sistem. Dan tidak seperti perangkat lunak, masalah hardware tidak dapat dengan mudah diperbaiki dengan update over-the-air. Mengatasi masalah hardware melalui perangkat lunak sering menyebabkan penurunan kinerja yang parah.
Arsitektur RISC-V memiliki banyak fitur yang mendukung implementasi sistem embedded yang aman. Spesifikasi hak istimewa mendefinisikan empat mode hak istimewa (mesin, pengawas, hypervisor, dan pengguna), misalnya. Instruksi kustom dan ekstensi ISA dalam proses disetujui, seperti ekstensi Kriptografi, menyediakan kemampuan keamanan tambahan. Desainer dapat mengimplementasikan beberapa enclave aman untuk mengisolasi aplikasi dan mencegah bocornya data sensitif. Namun, fitur mikroaritektur RTL masih dapat mengakibatkan kerentanan keamanan. Risiko ini tidak dapat diatasi sepenuhnya pada tingkat ISA. Pendekatan baru yang sedang dieksplorasi adalah penggunaan ISA terpadu (aISA) untuk mendefinisikan aspek eksekusi instruksi pada tingkat mikroaritektur dan, misalnya, mengontrol status buffer atau register yang tidak terlihat pada tingkat ISA. Bug fungsional RTL masih dapat mengkompromi semua fitur keamanan ini.
Risiko yang kurang mungkin tetapi dengan keparahan jauh lebih tinggi adalah kehadiran logika berbahaya atau hardware Trojan dalam inti RISC-V. Hardware Trojan adalah fungsi logika yang sengaja dirancang untuk halus, yang aktif dalam keadaan yang sangat langka yang hanya dikenal oleh pelaku. Urutan spesifik dari peristiwa data dan kontrol yang tidak akan terjadi saat sistem beroperasi dalam kasus penggunaan target memicu logika Trojan, yang pada gilirannya memberikan payload yang merusak, bocorkan rahasia atau secara kritis merusak perilaku sistem, misalnya. Integrasi SoC yang menggunakan inti RISC-V open-source atau pihak ketiga tidak lagi dapat mengabaikan risiko ini.
Memastikan bahwa prosesor melakukan apa yang seharusnya dilakukan itu sulit, tetapi memastikan bahwa ia tidak melakukan apa yang seharusnya tidak dilakukan adalah tugas yang lebih menantang yang masih sebagian besar belum teratasi. Sistem yang kritis keselamatan dan sistem di mana perlindungan privasi data adalah prioritas, membutuhkan solusi yang efisien dan berkualitas tinggi yang mengatasi risiko kerentanan keamanan dan Trojan.
Gambar 1: Database CVE-MITRE mencatat 6488 kerentanan pada 2015, 43% dapat diklasifikasikan sebagai kerentanan hardware yang dibantu perangkat lunak. Pada 2018 dan 2019, peneliti telah menemukan dan melaporkan banyak kerentanan dalam prosesor, termasuk Meltdown dan Spectre, Foreshadow, ZombieLoad, dan RIDL dan Fallout. (Sumber: DARPA dan OneSpin)
Smart Hardware Assurance
Memastikan kepercayaan dan keamanan IP RISC-V memerlukan solusi teknis inovatif dan efisien yang melengkapi pendekatan keabsahan fungsional, terutama menargetkan kasus penggunaan yang diinginkan IP (lihat Fig. 2). Penyedia IP bertanggung jawab untuk menerapkan proses verifikasi kepercayaan dan keamanan terbaru, sementara integrator IP harus memiliki akses ke solusi jaminan independen yang dapat diterapkan dengan cepat dan tanpa pengetahuan mendetail tentang implementasi IP.
Metode formal dapat menganalisis fungsi hardware secara ekshaustif dan memberikan bukti bahwa IP atau SoC secara tepat cocok dengan perilaku yang diharapkan yang sering ditangkap dalam pernyataan SystemVerilog. Verifikasi formal hardware menggunakan model checker komersial telah menikmati adopsi yang luas selama satu dekade terakhir. Biasanya, penyedia IP dan integrator SoC memiliki ahli verifikasi formal dalam peringkat mereka, mencoba untuk mengurangi risiko melewatkan bug fungsional ke minimum. Sementara tugas verifikasi formal yang terdefinisi dengan baik dapat diotomatisasi melalui Apps, pada umumnya, upaya engineering yang signifikan diperlukan untuk menangkap perilaku yang diharapkan IP dalam pernyataan. Selain itu, tidak ada jaminan bahwa cukup banyak pernyataan telah ditulis. Fungsi yang tidak didokumentasikan atau celah yang tidak sengaja dalam himpunan pernyataan dapat mengarah pada fungsionalitas IP yang tidak terverifikasi.
Sifat open-source RISC-V memungkinkan pengembangan solusi jaminan independen yang sudah dikemas. Solusi OneSpin RISC-V Integrity Verification Solution, misalnya, dapat diterapkan pada berbagai mikroaritektur. Ini mencakup model ISA RISC-V dan ISA hak istimewa yang dapat diperluas dan dapat mengakomodasi instruksi kustom. Aspek krusial dari solusi ini adalah bahwa ia didasarkan pada proses GapFreeVerification™ OneSpin, yang memberikan bukti yang ketat bahwa himpunan pernyataan yang memodelkan ISA RISC-V lengkap dan bebas dari celah. Aspek ini sangat penting ketika deteksi hardware Trojan atau logika yang tidak didokumentasikan adalah tujuan krusial. Solusi ini memungkinkan integrator SoC dengan keahlian terbatas pada RISC-V dan implementasi RTL yang diperiksa untuk mendapatkan kepercayaan pada kualitas dan keandalan IP. Pengembang IP dapat menggunakannya untuk mendeteksi kelemahan keamanan dan bug fungsional sebelum rilis.
Gambar 2: Verifikasi keabsahan fungsional memberikan kepercayaan bahwa implementasi prosesor berperilaku sebagaimana ditentukan, dan memenuhi persyaratan pengguna akhir. Di sisi lain, verifikasi kepercayaan dan keamanan memberikan kepercayaan bahwa prosesor tidak memiliki fungsi yang tidak didokumentasikan, saluran samping yang tidak terduga, hardware Trojan, atau kerentanan lain yang dapat dieksploitasi oleh pelaku jahat. (Sumber: OneSpin)
Apakah Ini Bekerja?
Proses jaminan integritas RISC-V yang dijelaskan di bagian sebelumnya telah diterapkan dengan sukses pada beberapa desain RTL. Edaptive Computing, perusahaan yang mengintegrasikan solusi inovatif untuk mengoptimalkan, menjamin, dan mengotomatisasi sistem sistem dan proses untuk berbagai pelanggan Departemen Pertahanan AS dan sektor komersial, telah menerapkan proses ini pada RocketCore, misalnya. RocketCore adalah inti RISC-V open-source, teruji silikon 64-bit dengan sistem memori virtual 39-bit. Iya memiliki pipeline single-issue, in-order lima tahap dengan penyelesaian luar urutan untuk instruksi latensi tinggi seperti pembagian. Ini mencakup fitur canggih seperti prediksi cabang dan instruksi ulang.
Solusi Verifikasi Integritas RISC-V diterapkan pada desain dengan semua instruksi, tingkat hak istimewa, interupsi, dan mekanisme pengecualian, dan 8 masalah terdeteksi (lihat Gambar 3). Informasi tambahan tentang 3 di antaranya dilaporkan di bawah ini.
Kasus sudut pembagian: bug kasus sudut yang dalam terkait penyelesaian luar urutan instruksi pembagian. Masalah ini dapat menyebabkan program perangkat lunak yang menggunakan operasi pembagian untuk menghitung hasil yang salah dan mengakibatkan perilaku sistem yang salah. Masalah ini hanya muncul di bawah kombinasi keadaan yang langka, dan itulah mengapa upaya verifikasi sebelumnya telah melewatkannya.
Replay instruksi ilegal: ini bukan bug kasus sudut. Replay instruksi ilegal dapat membuang siklus pemrosesan, tetapi jika ini hanya terjadi dalam keadaan langka, dampak performanya tidak signifikan. Namun, ada aspek lain yang perlu dipertimbangkan. Replay instruksi dapat menyebabkan permintaan memori yang tidak perlu. Permintaan ini dapat memiliki efek samping yang dapat dimanfaatkan dalam serangan saluran samping. Akibatnya, perilaku ini perlu dihilangkan atau dipahami dan didokumentasikan secara jelas.
Instruksi yang tidak didokumentasikan: instruksi non-standar yang tidak didokumentasikan yang disebut CEASE yang menghentikan inti terdeteksi. Secara efektif, RocketCore RISC-V dapat melakukan sesuatu yang seharusnya tidak dilakukan. Fungsi tersembunyi yang tidak didokumentasikan tidak dapat diterima ketika kepercayaan dan keamanan menjadi perhatian, bahkan ketika mereka terkait kasus penggunaan yang dianggap tidak relevan dengan aplikasi akhir.
Studi kasus RocketCore disajikan secara detail dalam makalah GOMACTech 2019 berjudul Complete Formal Verification of RISC-V Processor IPs for Trojan-Free Trusted ICs. Untuk mendapatkan salinan, kunjungi onespin.com/resources/white-papers.
Gambar 3: Daftar masalah yang terdeteksi oleh Solusi Verifikasi Integritas RISC-V OneSpin dan dilaporkan dalam proyek GitHub RocketCore. (Sumber: OneSpin)
Apa Selanjutnya?
Proses jaminan RISC-V yang disajikan dalam artikel ini mendeteksi skenario yang dapat mempengaruhi keamanan, dan secara sistematis mengungkapkan fungsi yang tidak didokumentasikan dan hardware Trojan yang mempengaruhi perilaku prosesor, terlepas dari seberapa langka dan halus mereka mungkin. Namun, saluran samping tidak terdeteksi secara sistematis. Deteksi ekshaustif semua potensi saluran samping memerlukan solusi khusus dengan teknologi yang tepat. Sudah ada prototipe yang mengatasi tantangan ini. Untuk informasi lebih lanjut, kunjungi onespin.com/resources/technical-articles dan baca artikel EE Times Side-Channel Attacks on Embedded Processors.
Inti prosesor adalah IP penting dalam sistem embedded. Namun, SoC tipis mengintegrasikan banyak IP lain yang juga dapat mengandung hardware Trojan. Tidak seperti untuk inti RISC-V, solusi jaminan kepercayaan independen mungkin tidak tersedia dengan mudah. Dalam hal ini, akan berharga untuk memiliki proses penilaian kepercayaan otomatis, rendah upaya yang dapat diterapkan pada setiap IP. Proses yang tidak mencakup model terpercaya dari IP tidak dapat memastikan keberadaan Trojan. Namun, mungkin untuk mengidentifikasi pola kode yang tidak biasa dan mencurigakan, serta tanda tangan Trojan yang diketahui, dan kelemahan yang dapat dieksploitasi dalam tahap pengembangan lebih lanjut untuk tujuan jahat. Makalah pada topik ini berjudul An Automated Pre-Silicon IP Trustworthiness Assessment for Hardware Assurance, ditulis oleh insinyur AEROSPACE Corporation dan OneSpin, akan dipersajikan pada konferensi GOMACTech 2020.