ソフトウェアでは、コード監査をソフトウェアへの信頼を得るための手段として使用できます。もちろんクローズドなプロプライエタリソフトウェアはこれを複雑にし、リバースエンジニアリングを行う必要があります。とにかく、ソフトウェアがある程度不信を解消する方法があるようです。
最近の出来事は、コンピューターのハードウェアコンポーネントが強力な攻撃ベクトルになっていることを再度示しています。実際、DMA攻撃は問題があり、次のハードウェアコンポーネント内に存在する可能性があります:ハードディスクとSSD、PCI、USBデバイスがUSBホストコントローラーを危険にさらす可能性がある場合。もちろん、CPU自体とサイドマイクロコントローラー(例:インテルvPro/AMT/MEは、(IC設計の観点から)バックドアすることもできます。
ICの製造に使用されるテクノロジーを提供すると、コードの監査やソフトウェアのリバースエンジニアリングに対応する方法で「ハードウェアを調べる」ことができるとは思えません。
悪意のあるバックドアに対してハードウェアを監査するために開発されたいくつかのベストプラクティスはありますか?
ハードウェアのリスクを軽減するために私が見つけた現在の方法は、エアギャップコンポーネントと接続するか、ハードウェアジャンパーを使用して構成することです。明らかに、これは、集積回路またはSoC(システムオンチップ)の構想とは正反対です。
コードは主に標準プラットフォームで実行されるため、ソフトウェア監査はより簡単ですが、ハードウェアには少なくとも2つのコンポーネントがあります。
ハードウェアファームウェアをリバースエンジニアリングすることも可能ですが、電子コンポーネントがどのように機能するか、およびコンポーネント全体およびシステム全体の観点から、電子コンポーネントが持つ(または持つ可能性がある)脆弱性の種類を深く理解する必要があります。
CC-Common Criteria ソリューション(HWおよびSW)が想定されているものを(セキュリティの観点から)提供していることを確認することで、この懸念に対処します。セキュリティを保証するための分類レベルもあります。ただし、ベンダーは、保護されている脆弱性に対して明示的に言及する必要があります。
講演Milking the Digital Cash Cowで、プレゼンターは、ソフトウェアとハードウェアの暗号解読の違いについて、prezoの約9分から開始する- https://www.youtube.com/watch?v=Y1o2ST03O8I
ハードウェアベースのサイドチャネル攻撃がソフトウェアにも適用される可能性があると考えるのは興味深いですが、従来のソフトウェアのフォールトインジェクション技術がハードウェアでも機能できると考えるのはさらに興味深いです。