google / safeside

Understand and mitigate software-observable side-channels
BSD 3-Clause "New" or "Revised" License
498 stars 54 forks source link

Ret2spec prototype. #18

Closed asteinha closed 5 years ago

asteinha commented 5 years ago

So far Intel + AMD + ARM, GCC + Clang + ICC, and Linux + MacOS are supported - all supported combinations in this range were tested. Requires at least -O1 optimizations on both GCC and Clang - otherwise it does not work.

Windows might be a bit toilsome, because MSVC does not allow 64bit assembler inlining. ARM64 and PowerPC have different RET instruction mnemonics where the return value is not on the stack, but in a register, so that will require some research to be done.