I know that a user/OS/regular software cannot modify or temper with a code running in an enclave. But can a user/OS/regular software delete an arbitrary enclave?
If not? Who can delete an enclave? Or where can I find documentation about the process of deleting an enclave?
Good morning Ron, I hope this post finds your week starting well.
The only time that integrity guarantees are implemented by the SGX hardware instructions and platform hardware is when the enclave has been loaded and initialized into EPC memory. Otherwise an enclave is simply a statically linked shared library file and has no protections other then standard discretionary and/or mandatory access controls that are placed on the file by the filesystem.
So there is nothing mysterious about deleting an enclave file on disk, anyone with write permission to the file can delete it.
Have a good day.