박우진

Add README.md

Showing 1 changed file with 71 additions and 0 deletions
1 +[![MIT License][license-shield]][license-url]
2 +
3 +
4 +<!-- TABLE OF CONTENTS -->
5 +## Table of Contents
6 +
7 +* [About the Project](#about-the-project)
8 +* [Build](#Build)
9 +* [Usage](#usage)
10 +* [License](#license)
11 +* [Contact](#contact)
12 +
13 +
14 +<!-- ABOUT THE PROJECT -->
15 +## About The Project
16 + 최근 다양한 IoT 디바이스의 사용이 증가하고 있다. baremetal IoT 디바이스의 경우에는 운영체제가 존재하지 않는 구조로 하나의 애플리케이션이 실행되며, 운영체제가 제공하는 보안 메커니즘이 존재하지 않는다. 따라서, 운영체제가 제공해주는 I/O protection, memory protection등의 혜택을 받지 못한다. 이로인해 memory corruption attack, code reuse attack 등에 취약하며, I/O 디바이스로의 허용되지 않는 접근이 발생할 수 있다. 본 논문은 baremetal 펌웨어의 취약점을 MPU(Memory Protection Unit), load timeaddress randomization, ARM TrustZone등의 기법을 이용하여 사전에 차단할 수 있도록 하는 보안 강화기법을 연구해보고 구현해본다.
17 +
18 +<!-- BUILD -->
19 +## Build
20 +
21 +1. Clone the repo
22 +```
23 +git clone http://khuhub.khu.ac.kr/2020-2-capstone-design2/2015104175.git
24 +```
25 +
26 +2. Install cmake
27 +```
28 +sudo apt install cmake
29 +```
30 +
31 +3. Create Build folder
32 +```
33 +mkdir ./2015104175/build
34 +```
35 +
36 +4. Change directory
37 +```
38 +cd ./2015104175/build
39 +```
40 +
41 +5. Create LLVM Clang build file
42 +```
43 +cmake -DLLVM_ENABLE_PROJECTS=clang -G "Unix Makefiles" ../llvm-project/llvm
44 +```
45 +
46 +6. Build
47 +```
48 +make
49 +```
50 +
51 +
52 +<!-- USAGE EXAMPLES -->
53 +## Usage
54 +```
55 +2015104175/build/bin/clang -emit-llvm -c -S source.c -o source.ll
56 +```
57 +```
58 +2015104175/build/bin/clang -load 2015104175/build//lib/LLVMBaremetalSec.so -lr source.ll -o source.ll
59 +```
60 +
61 +
62 +<!-- LICENSE -->
63 +## License
64 +LLVM([https://github.com/llvm-mirror/llvm](https://github.com/llvm-mirror/llvm))
65 +
66 +<!-- CONTACT -->
67 +## Contact
68 +2015104175 박우진 - amdx1254@khu.ac.kr <br>
69 +
70 +[license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=flat-square
71 +[license-url]: https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt