# CCS'17 Tutorial

During CCS 2017, **Taesoo Kim** (Georgia Tech), **Zhiqiang Lin** (UT Dallas) and **Chia-Che Tsai** (Stony Brook University / UC Berkeley) together gave an overall tutorial on Intel SGX technology. The tutorial's contents are well organized and presented by SGX experts in the academia. We believe that this tutorial serves as a perfect entry point to understand the background of SGX technology.

This tutorial consists of three parts, including:

1. SGX 101: introduction, performance, and applications
2. SGX shielding framework and development tools
3. SGX Security Issues

**Presentation slides and demo videos are available** [**here**](https://github.com/sslab-gatech/sgx-tutorial-ccs17)**.**

In this tutorial, **Zhiqiang Lin** first introduced the basic concepts of Intel SGX, its development workflows, potential applications and performance characteristics. Then, **Chia-Che Tsai** introduced various ways to quickly start writing SGX applications, specifically by utilizing library OSes or thin shielding layers; he explained the pros and cons of each approach in terms of security and usability. Last but not least, **Taesoo Kim** explained known security concerns, including cache/branch side-channel attacks and memory safety issues, and corresponding defenses with various working demos.

### **SGX 101: introduction, performance, and applications (Zhiqiang Lin)**

{% embed url="<https://www.youtube.com/watch?v=QHDvVsC_C5s>" %}

### **SGX shielding framework and development tools (Chia-Che Tsai)**

{% embed url="<https://www.youtube.com/watch?v=i1Hxe3-N3OA>" %}

### **SGX Security Issues (Taesoo Kim)**

{% embed url="<https://www.youtube.com/watch?v=0TXR2JNsFBk>" %}

## Demo Videos

### 02-demo-libos:&#x20;

#### ELEOS\_memcached\_native\_sgx

{% embed url="<https://youtu.be/Q-pGhREvZiA>" %}

#### ELEOS\_memcached\_rpc

{% embed url="<https://youtu.be/HHnmhms00t8>" %}

#### ELEOS\_memcached\_suvm

{% embed url="<https://youtu.be/GaaAQQLyFn8>" %}

#### Graphene\_Container\_DEMO

{% embed url="<https://youtu.be/zoJyiKO5GUQ>" %}

#### Graphene\_EDMM\_DEMO

{% embed url="<https://youtu.be/i3fm-9PyzlI>" %}

#### Graphene\_GCC\_DEMO

{% embed url="<https://youtu.be/_GnXWosEyPU>" %}

#### SCONE\_DEMO\_helloworld

{% embed url="<https://youtu.be/9tcQ0Z0LIDM>" %}

### 03-demo-security:

#### branch-shadowing

{% embed url="<https://youtu.be/R_C0rfbg3p8>" %}

#### darkrop

{% embed url="<https://youtu.be/kixVRC-SHQE>" %}

#### sgx-pagetable-attack

{% embed url="<https://youtu.be/MCSlgEqNhIA>" %}

#### sgx-shield

{% embed url="<https://youtu.be/0aSilQ5SR58>" %}

#### sgxbleed

{% embed url="<https://youtu.be/Cd-o_wV4iGk>" %}

#### sgxbomb

{% embed url="<https://youtu.be/Sutd0uCdY2E>" %}

#### tsgx

{% embed url="<https://youtu.be/uHt6D-lHl68>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sgx101.gitbook.io/sgx101/sgx-bootstrap/ccs17-tutorial.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
