本製品は、特定のバス・トランザクション信号をセキュリティ識別子にデコードするメカニズムを実装しています。このデコードが誤って実装された場合、信頼されていないエージェントが資産に不正にアクセスできるようになります。
システムオンチップ(SoC)では、様々な集積回路やハードウェアエンジンが、資産へのアクセス(リード/ライト)や特定のアクション(リセット、フェッチ、コンピュートなど)の実行などのトランザクションを生成します。様々なタイプのメッセージ情報の中で、典型的なトランザクションは、ソースID(トランザクションの発信元を特定するため)と宛先ID(トランザクションをそれぞれのエンティティにルーティングするため)で構成される。時々、トランザクションはセキュリティ識別子で修飾される。セキュリティ識別子は、デスティネーション・エージェントが許可されたアクション(例えば、アセットへの読み書きアクセス)のセットを決定するのに役立つ。デコーダは、セキュリティ識別子を必要なアクセス制御/保護にマッピングするために、バストランザクションをデコードします。
このシナリオに存在し得る一般的な弱点は、信頼されていないエージェントのセキュリティ識別子が信頼されたエージェントのセキュリティ識別子にデコードされるため、間違ったデコードが行われることです。そのため、以前は資産にアクセスできなかった信頼されていないエージェントが、資産にアクセスできるようになります。
The product implements a decoding mechanism to decode certain bus-transaction signals to security identifiers. If the decoding is implemented incorrectly, then untrusted agents can now gain unauthorized access to the asset.
In a System-On-Chip (SoC), various integrated circuits and hardware engines generate transactions such as to access (reads/writes) assets or perform certain actions (e.g., reset, fetch, compute, etc.). Among various types of message information, a typical transaction is comprised of source identity (to identify the originator of the transaction) and a destination identity (to route the transaction to the respective entity). Sometimes the transactions are qualified with a security identifier. The security identifier helps the destination agent decide on the set of allowed actions (e.g., access an asset for read and writes). A decoder decodes the bus transactions to map security identifiers into necessary access-controls/protections.
A common weakness that can exist in this scenario is incorrect decoding because an untrusted agent's security identifier is decoded into a trusted agent's security identifier. Thus, an untrusted agent previously without access to an asset can now gain access to the asset.