Causa:
Se espera que inicializar grandes cantidades de memoria para un montón de enclaves tome mucho tiempo. Inicializar y agregar memoria a la caché de página de enclave (EPC) para un enclave es mucho más complejo que una asignación de memoria simple en una aplicación regular. Antes de agregar un bloque de memoria al EPC, debe pasar por varias comprobaciones de seguridad, incluida la medición mediante una función de hash seguro SHA-2 de 256 bits.
Consulte las secciones 5.1, 5.3, 5.6 de SGX explicadas y las instrucciones EADD y EEXTEND en Intel SGX ciclo de vida de enclaves.
Mitigación:
Si el procesador es compatible con Intel® Software Guard Extensions (Intel® SGX) SGX2, en el archivo de configuración de enclave:
HeapInitInitInit es la cantidad para inicializar completamente (es decir , EADD la página y luego EEXTENDla ) en el lanzamiento del enclave, lo que lleva tiempo. Con un tamaño de inicialización mínimo, sería más rápido, y el resto de la memoria solo se añadiría utilizando las instrucciones SGX2 cuando el enclave durante el tiempo de ejecución lo asigna, a través de un claro.