Skip to content

Commit

Permalink
Update artifact README
Browse files Browse the repository at this point in the history
  • Loading branch information
cla7aye15I4nd committed Jun 10, 2024
1 parent 6ba7fe4 commit 8b3bfbc
Showing 1 changed file with 16 additions and 18 deletions.
34 changes: 16 additions & 18 deletions artifact/README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
# Artifact Evaluation
# 📜 Artifact Evaluation

> [!NOTE]
> All operations are performed in the root directory of the repository.
## (Step 1) Build
## 🛠️ (Step 1) Build

You should use the following command to build the base image, all evaluation is based on the image.

```bash
docker compose up --build shadowbound
```

## (Step 2) Basic Test
## 🧪 (Step 2) Basic Test

Our basic test include use the ShadowBound to compile nginx and run it, you can use the following command to achieve it.
Our basic test includes using ShadowBound to compile Nginx and run it. You can use the following command to achieve it:

```bash
docker compose up --build nginx-eval
```

After running the command, you can access the result at `eval/nginx/results/shadowbound.txt`, the results should be like this:
After running the command, you can access the result at `eval/nginx/results/shadowbound.txt`. The results should look like this:

```
Running 1m test @ http://localhost:80/index.html
Expand All @@ -37,13 +37,12 @@ Requests/sec: 118955.36
Transfer/sec: 96.77MB
```

### (Step 3) Integration Test
### 🔗 (Step 3) Integration Test

To show ShadowBound can cooperate with other UAF defenses, we show how we use ShadowBound+FFMalloc and ShadowBound+MarkUS to compile nginx and run it.
To show ShadowBound can cooperate with other UAF defenses, we demonstrate how to use ShadowBound+FFMalloc and ShadowBound+MarkUS to compile Nginx and run it.

> [!WARNING]
> You may encounter a `Segmentation fault` during the test. It is due to UAF defense issues, not ShadowBound. If this occurs, try running the test again. In our experience, such issues are relatively rare.
> You may encounter a `Segmentation fault` during the test. This is due to UAF defense issues, not ShadowBound. If this occurs, try running the test again. In our experience, such issues are relatively rare.
```bash
TARGET=shadowbound-ffmalloc docker compose up --build nginx-eval
Expand All @@ -52,36 +51,35 @@ TARGET=shadowbound-markus docker compose up --build nginx-eval

After running the command, you can access the result at `eval/nginx/results/shadowbound-ffmalloc.txt` and `eval/nginx/results/shadowbound-markus.txt`.

### (Step 4) Security Test
### 🔐 (Step 4) Security Test

In the evaluation, we show how ShadowBound can prevent real world vulnerabilities. You can choose use our pre-built image to run the test or you can also build the image by yourself.
In the evaluation, we demonstrate how ShadowBound can prevent real-world vulnerabilities. You can choose to use our pre-built image to run the test or build the image yourself.

#### Use Pre-built Image
#### 🖼️ Use Pre-built Image

```bash
docker pull dataisland/shadowbound-seceval:latest
docker run -it dataisland/shadowbound-seceval /bin/bash
/root/test.sh
```

#### Build Image by Yourself
#### 🔨 Build Image by Yourself

> [!WARNING]
> Please ensure that your network and machine is stable, the building process may take a long time and download a lot of data.
> Please ensure that your network and machine are stable. The building process may take a long time and download a lot of data.
> If you encounter any problems, please use our pre-built image as a safe choice.
First you should build the image by this command:
First, build the image with this command:

```bash
docker compose up --build sec-eval
```

Then you can enter the container, build all the test cases and run them.
Then, enter the container, build all the test cases, and run them:

```bash
docker run -it sec-eval /bin/bash
/root/build.sh && /root/test.sh
```


### (Step 5) Performance Test
### ⚡ (Step 5) Performance Test

0 comments on commit 8b3bfbc

Please sign in to comment.