OpenEnclave SDK v0.11.0 Release


Radhika Jandhyala
 

Hello everyone,

The 0.11.0 version of the Open Enclave SDK has been released.

You can find the release page for v0.11.0 in the link below, where you can download the packages/sources and find the changelog:

https://github.com/openenclave/openenclave/releases/tag/v0.11.0

For the Ubuntu 16.04 and 18.04 packages: they will be published to the production packages.microsoft.com APT repo (for each distro) later this week.

For the Windows NuGet packages: They will be on nuget.org later this week, but for now you can download the NuGet packages available in the "Assets" field in release link above.

Thank you so much to everyone in helping us drive and deliver this release! Please use our GitHub repo to report any issues that you may come across in your use of the SDK!

Thanks,
Radhika


From: Radhika Jandhyala
Sent: Friday, September 4, 2020 2:07 PM
To: oesdk@...
Subject: OpenEnclave SDK v0.11.0-RC1 Release

Hi,

Open Enclave version 0.11.0 will soon be published, and we want to send out some release candidate packages (for Windows Server 2016 and 2019, Ubuntu 16.04/18.04) for pre-release testing. You can find the release candidate packages on GitHub below under the v0.11.0-rc1 tag:

https://github.com/openenclave/openenclave/releases<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenenclave%2Fopenenclave%2Freleases&data=02%7C01%7Cradhikaj%40microsoft.com%7C9b906ec7b73c4fa7da1808d7a0826790%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637154354265332253&sdata=e0DQ36Qk5d2DJ3DrkM0ZjYzzPODpk8%2BjfpqD3tja1Ls%3D&reserved=0>

Please test these packages and let us know if you come across any issues. Thank you so much for your help!

To the Committers of the OE SDK: Please let us know if we have missed anything in the release notes. We should update our CHANGELOG if so.

Thank you so much to everyone in helping us drive and deliver this release! Please use our GitHub repo to report any issues that you may come across in your use of the SDK!


Release Notes

Added

* Open Enclave SDK release packages can now be built on non-SGX and non-FLC machines.
* Support for arbitrarily large thread-local data for SGX machines.
* Experimental support for OpenSSL inside enclaves has been added while building the SDK from source.
* Use BUILD_OPENSSL flag while compiling the SDK.
* OpenSSLSupport.md<https://github.com/openenclave/openenclave/blob/v0.11.0-rc1/docs/OpenSSLSupport.md> documents supported options and configuration needed to use OpenSSL inside an enclave.
* Custom claims buffer serialization/de-serialization helper functions.
* SGX attestation endorsement claims from oe_verify_evidence() will contain the following:
* OE_CLAIM_SGX_TCB_INFO
* OE_CLAIM_SGX_TCB_ISSUER_CHAIN
* OE_CLAIM_SGX_PCK_CRL
* OE_CLAIM_SGX_ROOT_CA_CRL
* OE_CLAIM_SGX_CRL_ISSUER_CHAIN
* OE_CLAIM_SGX_QE_ID_INFO
* OE_CLAIM_SGX_QE_ID_ISSUER_CHAIN
* The attestation functions in local_attestation/remote_attestation/attested_tls/host_verify samples now use attestation plugin APIs, defined in attestation/attester.h and attestation/verifier.h to generate and verify evidence.
* oe_get_evidence() support for generation of SGX EPID evidences, in formats OE_FORMAT_UUID_SGX_EPID_LINKABLE and OE_FORMAT_UUID_SGX_EPID_UNLINKABLE.

Changed

* Rename the custom claims buffer added by oe_get_evidence from "custom_claims" to "custom_claims_buffer". Likewise, replace the OE_CLAIM_CUSTOM_CLAIMS definition for this name with OE_CLAIM_CUSTOM_CLAIMS_BUFFER.
* Building SDK from source
- HAS_QUOTE_PROVIDER cmake option has been removed. This is a continuation of the work in the previous release to allow the same build of OE SDK to run on both FLC and non-FLC machines.
- Intel SGX EnclaveCommonAPI packages are no longer needed to build the SDK.
- COMPILE_SYSTEM_EDL option has been removed.

* oe_verify_attestation_certificate_with_evidence() can now verify certificates generated by oe_generate_attestation_certificate() as well as oe_get_attestation_certificate_with_evidence().
* The SGX attestation evidence internal structure has changed. The current structure (version 3) is not compatible with the previous version. Applications that call oe_get_evidence() or oe_verify_evidence() have to be rebuilt.
* Some SGX attestation format IDs have been renamed:
Old
New
OE_FORMAT_UUID_SGX_ECDSA_P256
OE_FORMAT_UUID_SGX_ECDSA
OE_FORMAT_UUID_SGX_ECDSA_P256_REPORT
OE_FORMAT_UUID_LEGACY_REPORT_REMOTE
OE_FORMAT_UUID_SGX_ECDSA_P256_QUOTE
OE_FORMAT_UUID_RAW_SGX_QUOTE_ECDSA
Removed

* Declaration of SGX format ID OE_FORMAT_UUID_SGX_ECDSA_P384 is removed.

* oe_get_evidence() support of SGX legacy formats OE_FORMAT_UUID_SGX_ECDSA_P256_REPORT and OE_FORMAT_UUID_SGX_ECDSA_P256_QUOTE is removed.

Security

* Update mbedTLS to version 2.16.7. Refer to the 2.16.7 release notes<https://github.com/ARMmbed/mbedtls/releases/tag/v2.16.7> for the set of
issues addressed.
Thanks,
Rahdika


Radhika Jandhyala
 

Hi,


Open Enclave version 0.12.0 will soon be published, and we want to send out some release candidate packages (for Windows Server 2016 and 2019, Ubuntu 16.04/18.04) for pre-release testing. You can find the release candidate packages on GitHub below under the v0.12.0-rc1 tag:

https://github.com/openenclave/openenclave/releases<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenenclave%2Fopenenclave%2Freleases&data=02%7C01%7Cradhikaj%40microsoft.com%7C9b906ec7b73c4fa7da1808d7a0826790%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637154354265332253&sdata=e0DQ36Qk5d2DJ3DrkM0ZjYzzPODpk8%2BjfpqD3tja1Ls%3D&reserved=0>

Please test these packages and let us know if you come across any issues. Thank you so much for your help!

To the Committers of the OE SDK: Please let us know if we have missed anything in the release notes. We should update our CHANGELOG if so.

Thank you so much to everyone in helping us drive and deliver this release! Please use our GitHub repo to report any issues that you may come across in your use of the SDK!


Release Notes

Added

* Initial implementation of the Malloc Info API<https://github.com/openenclave/openenclave/blob/v0.12.0-rc1/docs/DesignDocs/Mallinfo.md> for dlmalloc (default allocator), and snmalloc.
* Added missing attribute validations to oeedger8r C++ implementation.
* Added new API oe_log_message. See design doc<https://github.com/openenclave/openenclave/blob/v0.12.0-rc1/docs/DesignDocs/oe_log_message()_callback_proposal.md> and sample<https://github.com/openenclave/openenclave/blob/v0.12.0-rc1/samples/log_callback/README.md>.

Changed

* Fixed #3543<https://github.com/openenclave/openenclave/issues/3543>, updated openenclaverc file and documents on Windows to avoid overwriting CMAKE_PREFIX_PATH.
* The local and remote attestation samples are merged into a single sample<https://github.com/openenclave/openenclave/blob/v0.12.0-rc1/samples/attestation/README.md>.
* Disabled a set of OpenSSL APIs/macros that are considered as unsafe based on OE's threat model.
More specifically, those APIs allow users to configure an OpenSSL application to read certificates from the host filesystem, which is not trusted, and therefore not recommended for use in enclaves. OpenSSLSupport.md<https://github.com/openenclave/openenclave/blob/v0.12.0-rc1/docs/OpenSSLSupport.md> has been updated to reflect the changes.

Deprecated

* The Open Enclave SDK will be dropping support for Ubuntu 16.04 after Dec 2020.
Developers and partners using Ubuntu 16.04 will need to move to using Ubuntu 18.04 by then.
#3625<https://github.com/openenclave/openenclave/issues/3625> tracks this.
* The Open Enclave SDK will be dropping support for WS2016 after Dec 2020.
Developers and partners using WS2016 will need to move to using WS2019 by then.
#3539<https://github.com/openenclave/openenclave/issues/3539> tracks this.
* The Open Enclave SDK is deprecating support for gcc while building the SDK from source after Dec 2020.
The recommended compiler while building the SDK from source is Clang.
#3555<https://github.com/openenclave/openenclave/issues/3555> tracks this.

Security

* Security fixes in oeedger8r
* Fix TOCTOU vulnerability in NULL terminator checks for ocall in/out string parameters.
* Count/size properties in deep-copied in/out structs are treated as read-only to prevent the host
from changing corrupting enclave memory by changing these properties.
* Fixed Socket syscalls can leak enclave memory contents<https://github.com/openenclave/openenclave/security/advisories/GHSA-525h-wxcc-f66m> (CVE-2020-15224).

Known issues

* In the open-enclave-hostverify package, the host-verify sample cannot be built with cmake. Use make to build it on Linux. On Windows, it cannot be built currently. #3300<https://github.com/openenclave/openenclave/issues/3300> tracks issues related to the host-verify sample.



Thanks,
Rahdika