898 Commits
Author SHA1 Message Date
Michał Kowalczyk e98be31b00 [LibOS] test/apps: Add work-in-progress disclaimers to unfinished integrations v1.0 2019-09-11 17:15:20 +02:00
Chia-Che Tsai 19c235002f [README] Fix the remote attestation section in README.rst 2019-09-11 15:40:45 +02:00
Dmitrii Kuvaiskii 17a2fbc770 [LibOS] test/apps: Add top-level README.md 2019-09-10 23:33:59 -07:00
Chia-Che Tsai 6c4f21cba2 [Pal/Linux-SGX] Simple remote attestation framework
This is the minimalistic implementation of the remote attestation
framework. The framework conducts the following steps during
start-up to verify the authenticity of the SGX platform:

1. Connect to aesmd service to retrieve platform info (targetinfo)
   of the Quoting Enclave (QE) before enclave creation.
2. Prepare the SGX report inside enclave (during initialization):
   - Read SPID (service provider ID) from sgx.ra_client_spid in
     manifest.
   - Get an SGX report for local attestation to QE.
   - Generate a random 16-byte nonce for freshness.
   - Perform an OCALL for retrieving the quote.
3. Gather attestation data (QE report, QE quote, IAS report, signature,
   certificate chain) outside of enclave:
   - Connect to aesmd to retrieve the QE quote; aesmd also returns
     QE report.
   - Connect to Intel Attestation Service using curl. A client
     subscription key (specified via sgx.ra_client_key in manifest)
     is required to authenticate the HTTPS connection.
   - Get the IAS report, signature, and certificate chain from IAS.
     Print out the attestation result.
   - Return all this attestation data back to the enclave.
2019-09-10 21:00:49 -07:00
Dmitrii Kuvaiskii 77de90aedd [LibOS] test/apps: Add Redis example 2019-09-10 17:33:20 -07:00
Isaku Yamahata 4f592769a0 [Pal] Do not calculate .manifest.sgx.d dependencies during make clean 2019-09-10 15:55:33 -07:00
Chia-Che Tsai 99ec09b2be [Pal/Skeleton] Fix the build of Skeleton PAL 2019-09-10 14:55:25 -07:00
borysp df2f8d2de7 [LibOS] test/apps: Rewrite BusyBox example 2019-09-10 10:28:30 -07:00
Chia-Che Tsai 2e13503624 [Pal/Linux-SGX] Reimplement local attestation for process creation 2019-09-10 15:04:18 +02:00
Isaku Yamahata a9c14dd345 [Pal] regression: enable -mavx only for AvxDisable
Other executables don't need AVX, and it causes failures on platforms
that don't support AVX.
2019-09-10 02:57:34 +02:00
borysp f77f73803a [Pal] Fix bugs in normalize_path.c test 2019-09-10 00:41:30 +02:00
Michał Kowalczyk de42ebabe1 Reformat repository to our clang-format rules 2019-09-09 22:11:23 +02:00
Michał Kowalczyk 6356559e39 Fix header dependencies 2019-09-09 22:11:23 +02:00
Don Porter a01bbdfb60 [Jenkins] Fix the specific kernel headers version within an Ubuntu release 2019-09-09 20:23:57 +02:00
borysp 62ecb4bc79 [Makefile] Prevent gcc from generating trampolines 2019-09-04 03:10:33 +02:00
borysp 52b3525bab [LibOS] Fix nested function callbacks segfaulting 2019-09-04 03:10:33 +02:00
Chia-Che Tsai 34384c6bb2 [LibOS] test/apps: Rewrite R example 2019-09-04 01:51:48 +02:00
borysp f31c4071af [Pal/SGX] Add a helpful debug message when enclave attestation fails 2019-09-04 00:09:26 +02:00
Don Porter 6a0ce55b7c [Pal/Linux-SGX/sgx-driver] Ignore *.o.ur-safe files 2019-09-03 23:19:30 +02:00
borysp 289ac3af4d [LibOS] Fix get_new_dentry reference count semantics
If `get_new_dentry` returns successfully, it increases returned dentry's
reference counter by one, which matches other similar functions' behavior.
2019-09-03 21:52:55 +02:00
borysp e23684bc3d [LibOS] Rewrite rename* syscalls
Present implementation is utterly broken, does not work even
in simplest cases.
2019-09-03 21:52:55 +02:00
Isaku Yamahata e83a5ec6fe [LibOS] Simplify shim/test/Makefile 2019-09-03 20:06:59 +02:00
Isaku Yamahata 3d19670374 [lighttpd] Add missing dependencies required by .manifest.sgx 2019-08-27 13:18:09 +02:00
Chia-Che Tsai d875e2eba7 [LibOS] Disable the warning when GIPC is not supported 2019-08-26 23:10:09 +02:00
Thomas Knauth 9af670d99f [LibOS] test/apps: Add TensorFlow Lite label_image example 2019-08-26 21:04:25 +02:00
Isaku Yamahata 1089dd015e [LibOS] Use implicit pattern rule in benchmark/Makefile
Static pattern rule isn't needed in benchmark/Makefile.
2019-08-26 00:17:10 +02:00
Isaku Yamahata aef0f4ab64 [LibOS] Use implicit pattern rule in native/Makefile
Static pattern rule isn't needed in native/Makefile.
2019-08-26 00:16:59 +02:00
Isaku Yamahata e277a05585 [LibOS] Rename {CFLAGS, CXXFLAGS, LDFLAGS}-debug to *-libos-debug
For clarity, rename {CFLAGS, CXXFLAGS, LDFLAGS}-debug to
{CFLAGS, CXXFLAGS, LDFLAGS}-libos-debug.
Also related clean up of LibOS/shim/test/inline/Makefile.
2019-08-25 11:38:02 -07:00
Isaku Yamahata 7696fc327b [LibOS] Remove CFLAGS-libos from LibOS/shim/test/benchmark/Makefile
It's already defined in LibOS/shim/test/Makefile.Test.
2019-08-25 11:38:02 -07:00
Isaku Yamahata dabaad826d [LibOS] Make test/inline build 2019-08-25 11:38:02 -07:00
Isaku Yamahata 53cb9d3e71 [LibOS] Eliminate level variable from makefiles 2019-08-25 11:38:02 -07:00
Isaku Yamahata 2ea23a298b [LibOS] Remove the reference of level variable from Makefile.Test
Remove the reference of level variable from Makefile.Test.
After this patch, level variable in Makefile's of tests can be removed.
2019-08-25 11:38:02 -07:00
Isaku Yamahata 0513886e56 [LibOS] Remove subdirs from Makefile.Test
It isn't used by Makefile in tests.
2019-08-25 11:38:02 -07:00
Isaku Yamahata 353f1f609f [LibOS/shim/test] Copy Makefile to Makefile.Test and use it
LibOS/shim/test/Makefile has confusion. It's makefile for test/ directory
and common functions for each test directory.
As a first step to untangle the confusion, copy Makefile.Test for
common functions and have test directories to use it.
Later once grapene-tests is updated, LibOS/shim/test/Makefile
will have only submake rules.
2019-08-25 11:38:02 -07:00
Isaku Yamahata 94d2197720 [LibOS] Use Makefile.rules to simplify Makefile
Simplify shim/test/{regression, native, benchmark, inline}/Makefile.
2019-08-24 01:50:58 +02:00
Isaku Yamahata 2f03b32db7 [Pal/{test, regression}] Use Makefile.rules to simplify Makefile 2019-08-24 01:50:58 +02:00
Isaku Yamahata 723af03513 [Pal] Makefile.Host: define/export SYS if it's not defined
Makefile.Host can be called with PAL_HOST defined but SYS undefined.
Also export SYS.
2019-08-24 01:50:45 +02:00
Chia-Che Tsai c85e615fbe [Doc] Remove GCC requirement from README.rst 2019-08-21 22:24:45 +02:00
Wojtek Porczyk 3928126a70 [Doc] Add Documentation/ stub 2019-08-21 18:30:16 +02:00
Wojtek Porczyk 24cba75bad [Doc] Import old wiki 2019-08-21 18:16:32 +02:00
Isaku Yamahata d887ef39f4 [Pal/Linux] Remove unused Makefile.test
Makefile.Test is used, not Makefile.test.
2019-08-21 14:37:13 +02:00
Isaku Yamahata 9af27a82b0 [Makefile, Pal/Linux-SGX] Calculate dependencies for *.manifest.sgx 2019-08-21 14:37:13 +02:00
Isaku Yamahata 2e04f618a3 [Makefile] Add rules to generate SGX-related files (.sgx, .sig, .token) 2019-08-21 14:37:13 +02:00
Michał Kowalczyk 6ece11d347 [LibOS] Add Memcached example to shim/test/apps 2019-08-21 00:26:34 +02:00
Isaku Yamahata 9d3344b808 [Pal/Linux-SGX] Set CLOEXEC on /dev/isgx and /dev/gsgx
On host exec, file descriptors for /dev/isgx and /dev/gsgx are leaked.
Set CLOEXEC for them to be closed when emulating fork/exec by using host
exec.
2019-08-20 21:29:15 +02:00
Chia-Che Tsai edb0888988 [LibOS] Remove shim/test/apps/web-data 2019-08-20 20:43:49 +02:00
Chia-Che Tsai eb253b0b3c [LibOS] Remove make and openjdk from LibOS/shim/test/apps 2019-08-20 17:06:12 +02:00
Don Porter 60bed726e3 [PAL] Fix cpuid parsing on a system with hyperthreads 2019-08-19 16:13:42 -04:00
Li Lei 30e0b8bfba [PAL/Linux-SGX] Reuse TLS/TCS pages for newly created threads after previous threads exit 2019-08-16 18:17:24 -07:00
Isaku Yamahata 215c00ab0c [Pal/Linux-SGX] Makefile cleanup 2019-08-16 16:58:57 -07:00