Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New transient execution attack on Boom. #577

Open
JaewonHur opened this issue Nov 9, 2021 · 0 comments
Open

New transient execution attack on Boom. #577

JaewonHur opened this issue Nov 9, 2021 · 0 comments

Comments

@JaewonHur
Copy link

Type of issue: bug report

Impact: rtl refactoring

Development Phase: proposal

Hi,
I found a new transient execution attack on risc-v boom.
The attack relies on the bug #558, which is a performance bug originally.
But the same bug can also be used to transiently poison the BIM table using a transiently accessed secret.

The attached PoC attack is a Meltdown type of attack where a supervisor-mode software transiently leaks
a secret from the machine-mode software (i.e., either a firmware or an enclave).
The attack is based on two vulnerabilities: 1) boom transiently executes load instruction before checking
PMP violation
, and 2) BIM table can be transiently updated using the accessed value.
The attack is quite slow than using D-cache as a side channel, but it still works and almost correctly retrieves
the secret value (i.e., 0xdeadbeef).

  • Used boom commit: d77c2c3
  • How to reproduce the attack:
       /* in the given directory */
       make clean; make
       <path to simulator-chipyard-SmallBoomConfig> ./exploit.riscv

This can be mitigated by fixing either one of two bugs above.

Template.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant