オンチップ・ファブリックのアドレス・マップには、保護された領域と保護されていない領域が重なっており、攻撃者は保護された領域の重なり部分へのアクセス制御をバイパスすることができる。
システム・アドレス・マップには、メモリまたはMMIO(Memory-Mapped-IO)空間にさまざまな範囲を定義することができる。これらの範囲は通常、ベースアドレスやサイズなどの情報を含む特別な範囲レジスタを使って定義される。アドレス・デコーディングは、入ってくるトランザクションがどの範囲に宛てているのかを決定するプロセスである。分離を確実にするため、秘密データを含む範囲はアクセス制御で保護されている。
時折、これらの範囲はオーバーラップする可能性がある。オーバーラップは意図的なもの(レンジ・レジスタの数が限られていたり、レンジのサイズを選択する際の選択肢が限られていたりするためなど)か、意図的でないもの(エラーによって生じたものなど)のどちらかです。いくつかのハードウェア設計では、ペリフェラル MMIO 範囲に割り当てられたアドレス範囲の動的な再マッピングを許可しています。そのような設計では、意図的なアドレスの重複は悪意のあるソフトウェアによる誤設定によって生じる可能性があります。保護された範囲と保護されていない範囲が重なると、攻撃者はトランザクションを送信することができ、最小特権の原則に違反し、潜在的に保護を侵害する可能性があります。
The address map of the on-chip fabric has protected and unprotected regions overlapping, allowing an attacker to bypass access control to the overlapping portion of the protected region.
Various ranges can be defined in the system-address map, either in the memory or in Memory-Mapped-IO (MMIO) space. These ranges are usually defined using special range registers that contain information, such as base address and size. Address decoding is the process of determining for which range the incoming transaction is destined. To ensure isolation, ranges containing secret data are access-control protected.
Occasionally, these ranges could overlap. The overlap could either be intentional (e.g. due to a limited number of range registers or limited choice in choosing size of the range) or unintentional (e.g. introduced by errors). Some hardware designs allow dynamic remapping of address ranges assigned to peripheral MMIO ranges. In such designs, intentional address overlaps can be created through misconfiguration by malicious software. When protected and unprotected ranges overlap, an attacker could send a transaction and potentially compromise the protections in place, violating the principle of least privilege.