プロセッサ設計の信頼性確保:安全で信頼できるICのためのベストプラクティス
最新の集積回路(IC)は、膨大なデータを処理し、リアルタイムで安全に関わる意思決定を行い、機密データを保護するための計算およびシステム制御機能を提供します。ASIC(アプリケーション特化型集積回路)やFPGAシステムオンチップ(SoC)をゼロから設計するのは、コストと時間の面で非現実的です。多くの重要機能は、サードパーティの知的財産(IP)を用いて実装されます。たとえばプロセッサコアは、専門組織から調達され、その命令セットアーキテクチャ(ISA)を通じて柔軟でソフトウェアプログラム可能な機能を提供します。ISAはハードウェアとソフトウェアのインターフェースを定義します。オープンソースプロセッサアーキテクチャは、すでに流動的な脅威環境に直面しているシステムにおいて、より深い精査と厳格なセキュリティ保証の機会を提供します。本記事では、RISC-VオープンソースISAに基づくIPおよびSoCのセキュリティ保証アプローチを説明します。
カリフォルニア大学で発明され、非営利組織RISC-V財団によって管理されているRISC-Vは、幅広いアプリケーションで真に実用的な産業的選択肢となった最初のオープンソースISAです。
RISC-Vは、カリフォルニア大学で発明され、2015年に設立された300社以上のメンバーを持つ非営利組織RISC-V財団によって管理されているオープンソースISAです。RISC-Vは、幅広いアプリケーションで真に実用的な産業的選択肢となった最初のオープンソースISAです。ツール、ソフトウェア、専門知識のエコシステムは堅牢で着実に成長しています。多くの個人と組織が、RISC-V ISAを実装するオープンソースハードウェアIPをすでに寄贈しています。たとえばOpenHW Groupは、大量生産チップ向けのオープンソースハードウェア、特にプロセッサコアという長年の夢を現実のものにしようとしています。
RISC-Vの台頭には多くの理由があります。カスタム拡張性を念頭にゼロから構築されたRISC-Vは、特定のワークロード向けのハードウェア最適化の新たなレベルを可能にします。ムーアの法則が減速する中、半導体製造プロセスの技術進歩だけではもはや提供できない性能向上を維持するには、カスタマイゼーションが不可欠です。さらに、RISC-Vアーキテクチャはライセンスコストとロイヤルティから自由であり、より多くの企業が革新的で手頃な製品を開発できるようにしています。AI機能を備えたIoTやウェアラブルデバイスの分野で、多くの動きが起きています。
SoCインテグレータは、オープンソースまたはサードパーティのRISC-VプロセッサIPをよく使用します。これらの設計と関連ツールチェーンは、カスタム命令で拡張できます。IPに付属の高品質検証環境と追加のシステムレベルテストにより、IPにクリティカルなバグがないことへの一定の信頼は得られます。しかし、多くのアプリケーションではこれは十分ではなく、他の深刻なリスクを考慮する必要があります。
脆弱性とトロイの木馬
従来、電子システムのセキュリティ脆弱性はシステムレベルおよびソフトウェアの問題に関連付けられてきました。最近では、特にプロセッサを含むハードウェアIPも中核的な懸念事項となっています(図1参照)。プロセッサ実装はパイプラインベースのマイクロアーキテクチャを使用し、多くの場合、性能と電力最適化機能を含みます。複雑さの増大は、機能バグだけでなくセキュリティ脆弱性を見逃すリスクを高めます。2018年初頭にMeltdownとSpectre攻撃を発見したセキュリティ研究者たちは、プロセッサの性能最適化機能が悪意ある目的で意図しない方法で利用され得ることを実証しました。以来、ハイエンドからローエンドまで多くのプロセッサでさらなる脆弱性が発見されています。サイドチャネル攻撃とトランジェント実行攻撃は、セキュアエンクレーブを侵害し、悪意あるアプリケーションが機密データを漏洩させたり、システム制御を乗っ取ったりすることを可能にします。ソフトウェアとは異なり、ハードウェアの問題はオーバーザエアアップデートで容易に修正できません。ハードウェア問題をソフトウェアで対処しようとすると、多くの場合深刻な性能劣化を招きます。
RISC-Aアーキテクチャには、安全な組み込みシステムの実装を支援する多くの機能があります。たとえば、マシン、スーパーバイザ、ハイパーバイザ、ユーザーの4つの特権モードを定義する特権仕様があります。策定過程にある暗号拡張などのカスタム命令とISA拡張が、追加のセキュリティ機能を提供します。設計者は複数のセキュアエンクレーブを実装してアプリケーションを分離し、機密データの漏洩を防止できます。しかし、RTLマイクロアーキテクチャ機能は依然としてセキュリティ脆弱性をもたらし得ます。これらのリスクはISAレベルだけでは完全には対処できません。検討中の新しいアプローチは、拡張ISA(aISA)を用いて命令実行のマイクロアーキテクチャレベルの側面を定義し、ISAレベルでは見えないバッファやレジスタの状態を制御することです。RTL機能バグは、これらすべてのセキュリティ機能を損なう可能性があります。
発生確率は低いものの、はるかに深刻なリスクは、RISC-Vコアに悪意あるロジックやハードウェアトロイの木馬が存在することです。ハードウェアトロイの木馬は、攻撃者のみが知る極めて稀な状況で作動するよう意図的に設計されたステルスなロジック機能です。システムがターゲットユースケースで動作している間には発生しない、特定のデータと制御イベントのシーケンスがトロイの木馬ロジックをトリガーし、その結果、秘密の漏洩やシステム振る舞いのクリティカルな破壊などの有害なペイロードを届けます。オープンソースまたはサードパーティのRISC-Vコアを使用するSoC統合では、このリスクを無視できなくなっています。
プロセッサが本来すべきことをすることを保証するのは難しいですが、本来すべきでないことをしないことを保証するのは、依然としてほとんど手付かずの、さらに困難な課題です。安全关键システムやデータプライバシー保護が最重要視されるシステムには、セキュリティ脆弱性とトロイの木馬のリスクに対処する効率的で高品質なソリューションが必要です。

図1: CVE-MITREデータベースは2015年に6488件の脆弱性を記録、うち43%がソフトウェア支援型ハードウェア脆弱性と分類可能。2018年と2019年には、Meltdown、Spectre、Foreshadow、ZombieLoad、RIDL、Falloutなど、プロセッサの多数の脆弱性が発見・報告された。(出典: DARPAとOneSpin)
スマートハードウェア保証
RISC-V IPの信頼性とセキュリティを保証するには、機能正当性アプローチを補完する革新的で効率的な技術的ソリューションが必要です。これらは主にIPの意図されたユースケースを対象とします(図2参照)。IPプロバイダは最先端の信頼性・セキュリティ検証プロセスを適用する責任があり、IPインテグレータはIP実装の詳細な知識なしに迅速に導入できる独立した保証ソリューションにアクセスできるべきです。
形式的手法はハードウェア機能を網羅的に分析し、IPまたはSoCが期待される振る舞い(SystemVerilogアサーションで記述されることが多い)と正確に一致することを証明できます。商用モデルチェッカを用いたハードウェア形式検証は、過去10年間で広く採用されてきました。通常、IPプロバイダとSoCインテグレータは形式検証エキスパートを抱え、機能バグを見逃すリスクを最小限に抑えようとしています。特定の明確に定義された形式検証タスクはAppsを通じて自動化可能ですが、一般的にIPの期待される振る舞いをアサーションで記述するには多大なエンジニアリング労力が必要です。さらに、十分なアサーションが書かれている保証はありません。未文書化の機能やアサーションセットの意図しない隙間が、未検証のIP機能を残す可能性があります。
RISC-Vのオープンソース性により、パッケージ化された独立した保証ソリューションの開発が可能になります。たとえばOneSpinのRISC-V完全性検証ソリューションは、幅広いマイクロアーキテクチャに適用できます。これには、拡張可能でカスタム命令に対応できるRISC-V ISAと特権ISAのモデルが含まれます。このソリューションの重要な側面は、OneSpinのGapFreeVerification™プロセスに基づいており、RISC-V ISAをモデル化するアサーションセットが完全で隙間のないことを厳密に証明する点です。この側面は、ハードウェアトロイの木馬や未文書化ロジックの検出が重要な目標であるとき、極めて重要です。このソリューションにより、RISC-Vと検証対象のRTL実装に関する専門知識が限られたSoCインテグレータでも、IPの品質と信頼性への信頼を得られます。IP開発者は、リリース前にセキュリティ弱点と機能バグを検出するために使用できます。

図2: 機能正当性検証は、プロセッサ実装が仕様通りに振る舞い、エンドユーザーの要件を満たすことを信頼させます。一方、信頼性とセキュリティ検証は、プロセッサに未文書化機能、予期せぬサイドチャネル、ハードウェアトロイの木馬、悪意あるアクターによって悪用され得るその他の脆弱性がないことを信頼させます。(出典: OneSpin)
効果はあるか?
前節で説明したRISC-V完全性保証プロセスは、複数のRTL設計に正常に適用されています。たとえば、米国防総省と民間セクターの多様な顧客向けに、システムオブシステムとプロセスの迅速な最適化、保証、自動化を統合する革新的ソリューションを提供するEdaptive Computingは、このプロセスをRocketCoreに適用しました。RocketCoreは、オープンソースでシリコン実証済みの64ビットRISC-Vコアで、39ビット仮想メモリシステムを備えます。5段階、シングルイシュー、インオーダーパイプラインで、除算などの長レイテンシ命令に対してアウトオブオーダー完了を持ちます。分岐予測と命令リプレイの高度な機能を含みます。
RISC-V完全性検証ソリューションは、すべての命令、特権レベル、割り込み、例外メカニズムを含む設計に適用され、8つの問題が検出されました(図3参照)。そのうち3つの詳細を以下に報告します。
除算のコーナーケース
除算命令のアウトオブオーダー完了に関連する深いコーナーケースバグ。この問題は、除算演算を使用するソフトウェアプログラムが誤った結果を計算し、システムの誤動作を引き起こす可能性がありました。この問題は稀な状況の組み合わせでのみ現れるため、以前の検証努力では見逃されていました。
違法命令のリプレイ
これはコーナーケースバグではありません。違法命令をリプレイすると処理サイクルが浪費されますが、稀な状況でのみ発生する場合、性能への影響は無視できます。しかし、考慮すべき他の側面があります。命令リプレイは不要なメモリ要求を引き起こす可能性があります。これらの要求は、サイドチャネル攻撃で利用され得る副作用を持つことがあります。したがって、この振る舞いは排除されるか、明確に理解され文書化される必要があります。
未文書化命令
CEASEと呼ばれる、コアを停止させる未文書化・非標準命令が検出されました。実際、RISC-V RocketCoreは、本来すべきでないことを実行できてしまいました。未文書化の隠蔽機能は、エンドアプリケーションに関連しないユースケースに関わるものであっても、信頼性とセキュリティが懸念される場合は許容できません。
RocketCoreのケーススタディは、GOMACTech 2019論文「Complete Formal Verification of RISC-V Processor IPs for Trojan-Free Trusted ICs」で詳細に紹介されています。コピーを入手するには、onespin.com/resources/white-papersをご覧ください。

図3: OneSpinのRISC-V完全性検証ソリューションで検出され、GitHub RocketCoreプロジェクトで報告された問題のリスト (出典: OneSpin)
今後の展望
本記事で提示したRISC-V保証プロセスは、セキュリティに影響を与えるシナリオを検出し、未文書化機能とハードウェアトロイの木馬を、それらがいかに稀でステルスであっても、体系的に暴き出します。しかし、サイドチャネルは体系的には検出されません。すべての潜在的サイドチャネルの網羅的検出には、適切な技術を備えた専用ソリューションが必要です。すでにこの課題に対処するプロトタイプが存在します。詳細は、onespin.com/resources/technical-articlesをご覧いただき、EE Times記事「Side-Channel Attacks on Embedded Processors」をお読みください。
プロセッサコアは組み込みシステム内の重要なIPです。しかし、典型的なSoCは他の多くのIPを統合しており、それらもハードウェアトロイの木馬を含み得ます。RISC-Vコアとは異なり、他のIP向けの独立した信頼性保証ソリューションがすぐに利用できるとは限りません。この場合、あらゆるIPに適用可能な自動化された低労力の信頼性評価プロセスが価値があります。IPの信頼できるモデルを含まないプロセスでは、トロイの木馬の不在を保証できません。しかし、異常で疑わしいコードパターンや既知のトロイの木馬シグネチャ、後段の開発段階で悪意ある目的で悪用され得る弱点を特定することは可能です。このトピックに関する論文「An Automated Pre-Silicon IP Trustworthiness Assessment for Hardware Assurance」は、AEROSPACE CorporationとOneSpinのエンジニアによって執筆され、GOMACTech 2020会議で発表予定です。
埋め込み
- 状態基準保全(CBM)の効果を最大化する実践ガイド
- 包括的安全プログラムを機能させる実証済み戦略
- Raspberry Pi と Arduino を連携させてロボットを自作:ステップバイステップガイド
- SolidWorksでプログレッシブカットアウェイアニメーションを作成: ステップバイステップチュートリアル
- 信頼できるサプライチェーンデータを確保する実証済み戦略
- 勝利するプロトタイプ構築:ラピッド製品開発ステップバイステップガイド
- 重機の油圧ホース交換:ステップバイステップガイド
- 金属旋盤チャック自作:プロフェッショナルガイド
- RISC-Vカスタム命令でアプリケーションを高速化:最適な拡張の設計
- IoTデータを解き放つ:ビジネス・ルール管理が企業価値を推進
- ガラス繊維製造の完全ガイド