Sirkuit terpadu (IC) modern menyediakan kemampuan komputasi dan kontrol sistem untuk memproses data dalam jumlah besar, membuat keputusan kritis keselamatan secara real time, dan melindungi data sensitif. Merancang sebuah aplikasi-spesifik sirkuit terpadu (ASIC) atau field-programmable gate array (FPGA) system-on-chip (SoC) dari awal akan sangat mahal dan memakan waktu. Banyak fungsi penting diimplementasikan menggunakan kekayaan intelektual (IP) pihak ketiga. Inti prosesor, misalnya, bersumber dari organisasi khusus dan menyediakan fungsi yang fleksibel dan dapat diprogram perangkat lunak melalui arsitektur set instruksi (ISA), yang mendefinisikan antarmuka antara perangkat keras dan perangkat lunak. Arsitektur prosesor open-source memberikan peluang untuk pemeriksaan yang lebih dalam dan jaminan keamanan yang ketat dalam sistem yang sudah menghadapi lingkungan ancaman yang berubah-ubah. Artikel ini menjelaskan pendekatan untuk memberikan jaminan keamanan IP dan SoC berdasarkan ISA sumber terbuka RISC-V.
Diciptakan di University of California dan dikelola oleh Yayasan RISC-V nirlaba, 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 University of California dan dikelola oleh RISC-V Foundation, sebuah organisasi nirlaba dengan lebih dari 300 anggota yang didirikan pada tahun 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 kuat dan terus berkembang. Banyak individu dan organisasi telah menyumbangkan IP perangkat keras sumber terbuka yang mengimplementasikan RISC-V ISA. OpenHW Group, misalnya, bertujuan untuk mewujudkan prospek perangkat keras sumber terbuka yang telah lama ditunggu-tunggu – khususnya, inti prosesor – untuk chip bervolume tinggi.
Munculnya RISC-V memiliki banyak alasan di baliknya. Dibangun dari bawah ke atas dengan mempertimbangkan ekstensibilitas khusus, RISC-V memungkinkan tingkat pengoptimalan perangkat keras baru untuk beban kerja tertentu. Hukum Moore melambat, dan penyesuaian sangat penting untuk mempertahankan tingkat peningkatan kinerja yang tidak dapat lagi diberikan oleh kemajuan teknologi dalam proses manufaktur semikonduktor. Selain itu, arsitektur RISC-V bebas dari biaya lisensi dan royalti, memungkinkan lebih banyak perusahaan untuk mengembangkan produk yang inovatif dan terjangkau. Banyak yang terjadi di bidang IoT dan perangkat wearable dengan kemampuan kecerdasan buatan, misalnya.
Integrator SoC sering menggunakan IP prosesor RISC-V open-source atau pihak ketiga. Desain ini dan rantai alat terkaitnya dapat ditambah dengan instruksi khusus. Lingkungan verifikasi berkualitas tinggi yang diberikan dengan IP dan pengujian tingkat sistem tambahan dapat memberikan keyakinan bahwa IP tidak memiliki bug kritis. Sayangnya, untuk banyak aplikasi, ini tidak cukup, dan ada risiko serius lainnya yang perlu dipertimbangkan.
Kerentanan dan Trojan
Secara tradisional, kerentanan keamanan dalam sistem elektronik telah dikaitkan dengan tingkat sistem dan masalah perangkat lunak. Baru-baru ini, IP perangkat keras, terutama prosesor, juga menjadi perhatian utama (lihat Gambar 1). Implementasi prosesor menggunakan mikroarsitektur berbasis pipeline dan sering kali menyertakan fitur pengoptimalan kinerja dan daya. Kompleksitas meningkatkan risiko tidak hanya bug fungsional tetapi juga kerentanan keamanan. Peneliti keamanan yang menemukan serangan Meltdown dan Spectre pada awal 2018 telah menunjukkan bahwa fitur pengoptimalan kinerja dalam prosesor dapat digunakan dengan cara yang tidak disengaja untuk tujuan jahat. Sejak itu, lebih banyak kerentanan di kedua prosesor high-end dan low-end telah ditemukan. Saluran samping dan serangan eksekusi sementara dapat menembus kantong aman dan memungkinkan aplikasi jahat membocorkan data rahasia atau bahkan mengambil alih kendali sistem. Dan tidak seperti perangkat lunak, masalah perangkat keras tidak dapat dengan mudah diperbaiki dengan pembaruan melalui udara. Mengatasi masalah perangkat keras melalui perangkat lunak sering kali menyebabkan penurunan kinerja yang parah.
Arsitektur RISC-V memiliki banyak fitur yang mendukung implementasi sistem tertanam yang aman. Spesifikasi hak istimewa mendefinisikan empat mode hak istimewa (mesin, supervisor, hypervisor, dan pengguna), misalnya. Instruksi khusus dan ekstensi ISA dalam proses pengesahan, seperti ekstensi Kriptografi, memberikan kemampuan keamanan tambahan. Desainer dapat menerapkan beberapa enklave aman untuk mengisolasi aplikasi dan mencegah kebocoran data sensitif. Namun, fitur mikro-arsitektur RTL masih dapat mengakibatkan kerentanan keamanan. Risiko-risiko ini tidak dapat ditangani sepenuhnya pada tingkat ISA. Pendekatan baru yang sedang dieksplorasi adalah penggunaan ISA augmented (aISA) untuk mendefinisikan aspek eksekusi instruksi pada tingkat mikro-arsitektur dan, misalnya, mengontrol keadaan buffer atau register yang tidak terlihat pada tingkat ISA. Bug fungsional RTL masih dapat membahayakan semua fitur keamanan ini.
Risiko yang lebih kecil kemungkinannya tetapi dengan tingkat keparahan yang jauh lebih tinggi adalah adanya logika berbahaya atau Trojan perangkat keras di inti RISC-V. Trojan perangkat keras adalah fungsi logika yang sengaja dirancang untuk tersembunyi, yang aktif dalam keadaan yang sangat jarang yang hanya diketahui oleh penyerang. Urutan spesifik data dan peristiwa kontrol yang tidak akan terjadi saat sistem beroperasi dalam kasus penggunaan targetnya memicu logika Trojan, yang pada gilirannya memberikan muatan yang merusak, membocorkan rahasia, atau secara kritis merusak perilaku sistem, misalnya. Integrasi SoC yang menggunakan inti RISC-V open-source atau pihak ketiga tidak dapat lagi mengabaikan risiko ini.
Memastikan bahwa prosesor melakukan apa yang seharusnya dilakukan itu sulit, tetapi memastikan bahwa prosesor tidak melakukan apa pun yang tidak seharusnya dilakukan adalah tugas yang lebih menantang yang sebagian besar masih belum terselesaikan. Sistem dan sistem yang kritis terhadap keselamatan di mana perlindungan privasi data adalah yang terpenting, membutuhkan solusi yang efisien dan berkualitas tinggi yang mengatasi risiko kerentanan keamanan dan Trojan.
Gambar 1:Basis data CVE-MITRE mencatat 6488 kerentanan pada tahun 2015, 43% di antaranya dapat diklasifikasikan sebagai kerentanan perangkat keras yang dibantu perangkat lunak. Pada tahun 2018 dan 2019, para peneliti telah menemukan dan melaporkan banyak kerentanan pada prosesor, termasuk Meltdown dan Spectre, Foreshadow, ZombieLoad, serta RIDL dan Fallout. (Sumber:DARPA dan OneSpin)
Jaminan Perangkat Keras Cerdas
Menjamin kepercayaan dan keamanan IP RISC-V memerlukan solusi teknis yang inovatif dan efisien yang melengkapi pendekatan kebenaran fungsional, terutama menargetkan kasus penggunaan IP yang dimaksudkan (lihat Gambar 2). Penyedia IP bertanggung jawab untuk menerapkan proses verifikasi keamanan dan kepercayaan yang canggih, sedangkan integrator IP harus memiliki akses ke solusi jaminan independen yang dapat diterapkan dengan cepat dan tanpa pengetahuan mendalam tentang detail implementasi IP.
Metode formal dapat menganalisis fungsi perangkat keras secara mendalam dan memberikan bukti bahwa IP atau SoC secara tepat cocok dengan perilaku yang diharapkan yang sering ditangkap dalam pernyataan SystemVerilog. Verifikasi formal perangkat keras menggunakan pemeriksa model komersial telah diadopsi secara luas selama dekade terakhir. Biasanya, penyedia IP dan integrator SoC memiliki ahli verifikasi formal di jajaran mereka, mencoba mengurangi risiko hilangnya bug fungsional seminimal mungkin. Sementara tugas verifikasi formal tertentu yang terdefinisi dengan baik dapat diotomatisasi melalui Aplikasi , secara umum, upaya rekayasa yang signifikan diperlukan untuk menangkap perilaku yang diharapkan IP dalam pernyataan. Selain itu, tidak ada jaminan bahwa pernyataan yang cukup telah ditulis. Fungsi yang tidak didokumentasikan atau celah yang tidak diinginkan dalam kumpulan pernyataan dapat menyebabkan fungsionalitas IP yang tidak diverifikasi.
Sifat sumber terbuka RISC-V memungkinkan pengembangan solusi jaminan independen yang dikemas sebelumnya. Solusi Verifikasi Integritas RISC-V OneSpin, misalnya, dapat diterapkan ke berbagai mikroarsitektur. Ini mencakup model ISA RISC-V dan ISA istimewa yang dapat diperluas dan dapat mengakomodasi instruksi khusus. Aspek penting dari solusi ini adalah bahwa solusi ini didasarkan pada proses GapFreeVerification™ OneSpin, yang memberikan bukti kuat bahwa rangkaian pernyataan yang memodelkan RISC-V ISA sudah lengkap dan bebas dari celah. Aspek ini sangat penting ketika deteksi Trojan perangkat keras atau logika tidak berdokumen adalah tujuan penting. Solusi ini memungkinkan integrator SoC dengan keahlian terbatas pada RISC-V dan implementasi RTL di bawah pengawasan untuk mendapatkan kepercayaan pada kualitas dan kepercayaan IP. Pengembang IP dapat menggunakannya untuk mendeteksi kelemahan keamanan dan bug fungsional sebelum dirilis.
Gambar 2:Verifikasi kebenaran fungsional memberikan keyakinan bahwa implementasi prosesor berperilaku seperti yang ditentukan, dan memenuhi persyaratan pengguna akhir. Verifikasi kepercayaan dan keamanan, di sisi lain, memberikan keyakinan bahwa prosesor tidak memiliki fungsi yang tidak terdokumentasi, saluran samping yang tidak terduga, Trojan perangkat keras, atau kerentanan lain yang dapat dieksploitasi oleh aktor jahat. (Sumber:OneSpin)
Berhasilkah?
Proses jaminan integritas RISC-V yang dijelaskan di bagian sebelumnya telah berhasil diterapkan ke beberapa desain RTL. Edaptive Computing, sebuah perusahaan yang mengintegrasikan solusi inovatif untuk mengoptimalkan, memastikan, dan mengotomatisasi sistem sistem dan proses dengan cepat untuk berbagai pelanggan Departemen Pertahanan dan sektor komersial AS, telah menerapkan proses tersebut ke RocketCore, misalnya. RocketCore adalah inti RISC-V 64-bit sumber terbuka dan terbukti silikon dengan sistem memori virtual 39-bit. Ini memiliki saluran lima tahap, satu edisi, dalam urutan dengan penyelesaian yang tidak berurutan untuk instruksi latensi yang panjang seperti pembagian. Ini mencakup fitur-fitur canggih dari prediksi cabang dan replay instruksi.
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 divisi :bug kasus sudut dalam yang terkait dengan penyelesaian instruksi pembagian yang tidak berurutan. Masalah ini dapat menyebabkan program perangkat lunak yang menggunakan operasi pembagian untuk menghitung hasil yang salah dan menyebabkan perilaku sistem yang salah. Masalah ini hanya muncul dalam kombinasi keadaan yang jarang terjadi, dan itulah sebabnya upaya verifikasi sebelumnya gagal.
Pemutaran ulang instruksi ilegal :ini bukan bug kasus sudut. Memutar ulang instruksi ilegal dapat menyia-nyiakan siklus pemrosesan, tetapi jika ini hanya terjadi dalam situasi yang jarang terjadi, dampak kinerjanya dapat diabaikan. Namun, ada aspek lain yang perlu dipertimbangkan. Pemutaran ulang instruksi dapat menyebabkan permintaan memori yang tidak perlu. Permintaan ini mungkin memiliki efek samping yang dapat dimanfaatkan dalam serangan saluran samping. Akibatnya, perilaku ini perlu dihilangkan atau dipahami dan didokumentasikan dengan jelas.
Petunjuk tidak berdokumen :instruksi non-standar tidak berdokumen yang disebut CEASE yang menghentikan inti terdeteksi. Akibatnya, RISC-V RocketCore dapat melakukan sesuatu yang tidak seharusnya dilakukan. Fungsi tersembunyi yang tidak terdokumentasi tidak dapat diterima jika kepercayaan dan keamanan menjadi perhatian, bahkan jika terkait dengan kasus penggunaan yang dianggap tidak relevan dengan aplikasi akhir.
Studi kasus RocketCore disajikan secara rinci dalam makalah GOMACTech 2019 berjudul Verifikasi Formal Lengkap IP Prosesor RISC-V untuk IC Tepercaya Bebas Trojan. Untuk mendapatkan salinannya, kunjungi onepin.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 memengaruhi keamanan, dan secara sistematis mengungkap fungsi tak berdokumen dan Trojan perangkat keras yang memengaruhi perilaku prosesor, terlepas dari seberapa jarang dan tersembunyinya mereka. Namun, saluran samping tidak terdeteksi secara sistematis. Deteksi menyeluruh dari semua saluran samping potensial memerlukan solusi khusus dengan teknologi yang sesuai. Sudah ada prototipe yang menjawab tantangan ini. Untuk informasi lebih lanjut, kunjungi onespin.com/resources/technical-articles dan baca artikel EE Times Serangan Saluran Samping pada Prosesor Tertanam.
Inti prosesor adalah IP penting dalam sistem tertanam. Namun, SoC tipikal mengintegrasikan banyak IP lain yang juga dapat berisi Trojan perangkat keras. Tidak seperti inti RISC-V, solusi jaminan kepercayaan independen mungkin tidak tersedia. Dalam hal ini, akan sangat berharga untuk memiliki proses penilaian kepercayaan otomatis dengan upaya rendah yang berlaku untuk IP mana pun. Proses yang tidak menyertakan model IP tepercaya tidak dapat memastikan tidak adanya Trojan. Namun, adalah mungkin untuk mengidentifikasi pola kode yang tidak biasa dan mencurigakan dan tanda tangan Trojan yang diketahui, dan kelemahan yang dapat dieksploitasi pada tahap pengembangan selanjutnya untuk tujuan jahat. Makalah tentang topik ini berjudul Penilaian Kepercayaan IP Pra-Silicon Otomatis untuk Jaminan Perangkat Keras , yang ditulis oleh AEROSPACE Corporation dan insinyur OneSpin, akan dipresentasikan pada konferensi GOMACTech 2020.