Dear All
i am currently working on a project to find vulnerability in the ARM architecture TrustZone specifically speaking Trusted Firmware A profile a while ago i read an article that titled return2user attack which mainly buffer overflows the non secure world application to call a secure function and overwrite its return address but this works on trusted firmware M profile. i want to replicate this idea to trusted Firmware A profile which basically uses secure monitor as EL3 while switching from non secure to secure and vice versa. now as i got deep i understood that my main surface of attack will be on the SMCCC generic calls . Each SMCCC call is a 'C' code and the parameters from the 'non secure world' (REE) should be sanity checked before use, before the use in the 'secure world' (TEE).
my attack vectors are the parameters to these routines.
Now my question is where exactly can i find the SMCC page in the source code since its bit lost in the organization.
second would be in my attack i need to write a vulnerable c code running on the trusted firmware that would call a secure world service that i could buffer overflow and rewrite its return address does anyone know where can i find the service and give me basically an example on how would an attack like this work
Thank you in advance
i am currently working on a project to find vulnerability in the ARM architecture TrustZone specifically speaking Trusted Firmware A profile a while ago i read an article that titled return2user attack which mainly buffer overflows the non secure world application to call a secure function and overwrite its return address but this works on trusted firmware M profile. i want to replicate this idea to trusted Firmware A profile which basically uses secure monitor as EL3 while switching from non secure to secure and vice versa. now as i got deep i understood that my main surface of attack will be on the SMCCC generic calls . Each SMCCC call is a 'C' code and the parameters from the 'non secure world' (REE) should be sanity checked before use, before the use in the 'secure world' (TEE).
my attack vectors are the parameters to these routines.
Now my question is where exactly can i find the SMCC page in the source code since its bit lost in the organization.
second would be in my attack i need to write a vulnerable c code running on the trusted firmware that would call a secure world service that i could buffer overflow and rewrite its return address does anyone know where can i find the service and give me basically an example on how would an attack like this work
Thank you in advance