Commit Graph

32 Commits

Author SHA1 Message Date
Chris Eager
a4fe80aafc Add explicit amd64 to Dockerfiles 2022-11-30 14:45:51 -06:00
gram-signal
b39148eb1f
Speed up incremental building of enclave by moving long-running steps into Docker. 2022-09-02 11:11:56 -06:00
Jon Chambers
2b5ea0bc51 Add a new enclave binary with mitigations for INTEL-SA-00615 2022-07-20 10:11:22 -04:00
Jon Chambers
14eb70082f Retire IASv3; always use IASv4 2022-07-20 10:11:22 -04:00
Jon Chambers
23386db67e Add enclave binaries that have mitigations for INTEL-SA-00615 in place 2022-06-20 15:44:10 -04:00
Jon Chambers
ba2ae9845c Accept INTEL-SA-00615 as a known, mitigated advisory 2022-06-17 16:54:03 -04:00
Jon Chambers
ff9219a8d6 Update the Intel SGX SDK (libsgx-enclave-common) to 2.17.100.3 and DCAP to 1.14 2022-06-17 16:54:03 -04:00
Jon Chambers
f3c5c9efe1
Add support for IASv4 for remote attestation 2022-01-13 18:16:40 -05:00
Chris Eager
fa068c0466 Use cargo lockfile when building bindgen 2021-08-15 13:19:30 -05:00
Curt Brune
24ddbf697a enclave: add rustfmt config and run rustfmt on the code base 2020-09-04 17:13:01 -07:00
Curt Brune
6452d65fe7 enclave: update copyright and license template 2020-09-04 17:11:52 -07:00
jmhodges-signal
a6df9dc5bf
check in LVI mitigated enclave build (#28)
This updates bindgen_wrapper.rs, too, unfortunately, but this keeps
popping up and people haven't been checking it in.
2020-09-01 13:25:51 -07:00
Curt Brune
125c17644d enclave: update report timestamp parsing
Update the report timestamp parsing to accept cases where the
fractional seconds part is absent.
2020-08-13 10:45:37 -07:00
Curt Brune
635c3ed7c5 enclave: remove -mindirect-branch-register from ENCLAVE_CFLAGS
Remove a compiler flag mistakenly added during LVI mitigations.

Fixes: 28ac367b86 ("Disable redzone. Our LVI mitigations clobber
it. (#20)")
2020-08-11 15:15:24 -07:00
nolanl
28ac367b86
Disable redzone. Our LVI mitigations clobber it. (#20)
* Disable redzone. Our LVI mitigations clobber it.

This disables the redzone in the gcc compiled SDK, the
cargo compiled enclave, the cargo dependencies, and so forth.

BOLT is modified to fail if any function that gets a
memory indirect jmp mitigation uses the redzone.

The checker is also modified to check and fail the build if
any functions use the redzone that had a memory indirect jmp
mitigation applied.

* Disable redzone. Our LVI mitigations clobber it.

This disables the redzone in the gcc compiled SDK, the
cargo compiled enclave, the cargo dependencies, and so forth.

BOLT is modified to fail if any function that gets a
memory indirect jmp mitigation uses the redzone.

The checker is also modified to check and fail the build if
any functions use the redzone that had a memory indirect jmp
mitigation applied.

Co-authored-by: Nolan Leake <nolan@sigbus.net>
2020-07-10 10:09:47 -07:00
Nolan Leake
b3bf756995 Typo meant our indirect call/jmp checker wasn't checking anything. 2020-07-01 15:49:31 -07:00
geogriff-signal
48b438c1d2
enclave: fix transfer chunk size bounded by replication chunk size (#4) 2020-06-25 12:50:43 -07:00
jmhodges-signal
2c05e7ce01
schedule a daily enclave service test (#17)
Runs at 1400 UTC (0700 PT / 1000 ET)

Fixes KBS-153
2020-06-01 10:39:53 -07:00
Nolan Leake
8287dea846 Switch to geogriff-signal repos to signalapp. 2020-05-29 17:29:01 -07:00
Nolan Leake
80ee21156d Fix pyxed build.
Not sure how it was ever building for me, but a warning (combined
with -Werror) broke it. Ugly hack to fix it for now, bug filed
upstream:
https://github.com/huku-/pyxed/issues/17
2020-05-26 17:19:53 -07:00
Nolan Leake
aae68cb7d1 Add LVI mitigations to enclave.
This change updates to a newer version of our BOLT fork that supports
mitigating LVI vulnerabilities. This required removing our memcmp
optimization, as there is no safe way to do it in the presence of LVI.
It also required disabling retpoline insertion, since they are
incompatible with the LVI ret mitigation. This is safe since our
current microcode version contains a mitigation already.

This also adds a verifier that verifies that there are no unmitigated
instructions in the enclave. This required adding Intel Xed to the
build, to analyze instructions.

After this, the enclave is around 22% lfence instructions. The
performace impact vs an unmitigated enclave is 1.2x-3.9x, though
with realistic latency added between enclaves the difference drops
to around 1.0x-2.5x, with our critical partition transfer showing
around 1.1x.
2020-05-14 17:55:03 -07:00
Nolan Leake
40375f5af9 Don't strip debug enclave. 2020-05-11 17:46:03 -07:00
Jeffrey Griffin
c5984fac1a enclave: fix accepting empty attestations in insecure build 2020-04-13 00:06:54 -07:00
Jeffrey Griffin
32c73b83cb enclave: use clean workspace for all azure pipelines CI jobs 2020-04-13 00:06:54 -07:00
Jeffrey Griffin
2a4f34b863 enclave: build insecure enclave in azure pipelines 2020-04-13 00:06:54 -07:00
Jeffrey Griffin
e3f4389429 add enclave tests to github CI 2020-04-12 11:56:49 -07:00
Jeffrey Griffin
a8686d58db enclave: fix make check 2020-04-12 11:02:23 -07:00
Jeffrey Griffin
ba0fe7c985 enclave: fix secondary Makefile targets not pulling in git deps 2020-04-12 09:48:19 -07:00
Jeffrey Griffin
41ff3217dd enclave build a3baab19ef6c
mrenclave a3baab19ef6ce6f34ab9ebb25ba722725ae44a8872dc0ff08ad6d83a9489de87
2020-01-21 10:11:15 -08:00
Jeffrey Griffin
ddab198439 enclave: update depedencies 2020-01-20 23:37:47 -08:00
Jeffrey Griffin
e4cfa8f73c enclave: variable length entry data 2020-01-20 23:37:47 -08:00
Jeffrey Griffin
e8ca5ddb7f Big Bang 2019-12-19 11:09:53 -08:00