-
Notifications
You must be signed in to change notification settings - Fork 56
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
Stack zeroization on main with proofs #631
Commits on Nov 20, 2023
-
The padding introduced by the alignment at the start of the export function is no longer included in the frame size of the export function, only in the max stack size. And we distinguish two max stack sizes: - stk_max : the amount of stack without the padding. This is the amount of stack that the function may write to. - total_stack : this is the amount of stack including the padding. This is the minimal stack space required for the execution of the compiled program. This is the amount to use in the correctness theorem. Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 7fc85f0 - Browse repository at this point
Copy the full SHA 7fc85f0View commit details -
Print both stk_max and total_stack
Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for dce7482 - Browse repository at this point
Copy the full SHA dce7482View commit details -
Strengthen the proof of linearization
At the end of a call, rsp is back at the same point. Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ef27718 - Browse repository at this point
Copy the full SHA ef27718View commit details -
Strengthen the proof of linearization
The fact that the memory that is not part of the source memory and not part of the stack is untouched is made explicit. This is needed to prove stack zeroization. Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for c2c006a - Browse repository at this point
Copy the full SHA c2c006aView commit details -
Stack zeroization: code and proof
But just the generic part for the moment. The architecture-dependent parts (for x86 and ARM) are TODOs. Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for dfb1464 - Browse repository at this point
Copy the full SHA dfb1464View commit details -
Code and proof Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for c58ef28 - Browse repository at this point
Copy the full SHA c58ef28View commit details -
Stack zeroization for x86: add tests
Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 8f5931c - Browse repository at this point
Copy the full SHA 8f5931cView commit details -
Code and proof Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for d451b64 - Browse repository at this point
Copy the full SHA d451b64View commit details -
Stack zeroization for ARM: add tests
Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 3236156 - Browse repository at this point
Copy the full SHA 3236156View commit details -
Co-authored-by: Santiago Arranz Olmos <santiago.arranz1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 836dcfe - Browse repository at this point
Copy the full SHA 836dcfeView commit details