Building Hardware Components for Memory Protection of Applications - - PowerPoint PPT Presentation

building hardware components for memory protection of
SMART_READER_LITE
LIVE PREVIEW

Building Hardware Components for Memory Protection of Applications - - PowerPoint PPT Presentation

Building Hardware Components for Memory Protection of Applications on a Tiny Processor Oct 14 2017 Hyunyoung Oh*, Yongje Lee, Junmo Park, Myonghoon Y ang and Yunheung Paek Seoul National University, Korea *Speaker 1 Security Optimization


slide-1
SLIDE 1

1

Building Hardware Components for Memory Protection of Applications on a Tiny Processor

Oct 14 2017

Hyunyoung Oh*, Yongje Lee, Junmo Park, Myonghoon Y ang and Yunheung Paek Seoul National University, Korea *Speaker

slide-2
SLIDE 2

Security Optimization Research Lab.

Outline Motivation Our Goal Overall Architecture Implementation Details

§Security Interface §Memory Region Protector §Access Permission Matrix

Experimental Results

§Area Overhead §Performance Consideration

Conclusion

2

slide-3
SLIDE 3

Security Optimization Research Lab.

Motivation

In IoT era…

§ More and more small devices with Tiny processors § More sensitive user information § Memory protection is a conventional defense § Virtual memory cannot be applied due to high complexity

Then How to Protect Memory?

§ MPU (memory protection unit in ARM) [3]

  • reconfigured in order to constrain different access permissions for every

process

§ SMART [4]

  • is a new processor architecture including a special

§ TrustLite [7]

  • links code regions to data regions requires intrusive modification of an

existing processor

3

slide-4
SLIDE 4

Security Optimization Research Lab.

Motivation

In IoT era…

§ More and more small devices with Tiny processors § More sensitive user information § Memory protection is a conventional defense § Virtual memory cannot be applied due to high complexity

Then How to Protect Memory?

§ MPU (memory protection unit in ARM) [3]

  • Inefficient

§ SMART [4], TrustLite [7]

  • Invasive and permanent modification of the existing host processor

4

slide-5
SLIDE 5

Security Optimization Research Lab.

Our Goal Secure and efficient memory protection mechanism

§Minimize OS’s role §Configure just once at the boot phase

Less design change of the host processor

§Conform to the modular design approach §Several hardware components can be assembled together

5

slide-6
SLIDE 6

Security Optimization Research Lab.

Overall Architecture 3 Main Hardware Components

§Security Interface §Memory Region Protector §Access Permission Matrix

6

Security Interface RISC-V CPU Memory Region Protector AMBA Interconnect (Master/Slave) Memory Controller Main Memory Access Permission Matrix

slide-7
SLIDE 7

Security Optimization Research Lab.

Implementation Details Security Interface

7

Address

Core

EX Stage MEM Stage WB Stage EX_pc

Tagged Address

Data Cache Arb

Data Array

Load Store Load Store

inst_addr data_type data_addr data_en

MEM_pc

WB_pc EX ctrl reg

Security Interface

Existing wire Additional wire

MUX MUX D Address extender

§Just connecting wires §Extracting inst_addr, data_type, data_addr §Synchronizing these 3 signals §By referring EX control register

slide-8
SLIDE 8

Security Optimization Research Lab.

Implementation Details Memory Region Protector

8

Access Permission Matrix

AHB Interconnect

MRP Controller

Code Region Selector Data Region Selector

Memory Region Protector

set code regions set data regions

inst_addr, data_addr

AHB Slave Interface

code_region_ num

data_addr

data_region_ num code_region_ num_t

signals from security interface

Decision Unit

§CRS/DRS classify the region indexes for the current instruction §Access Permission Matrix provides the legitimate permission for those indexes §Decision Unit checks whether the permission is violated or not

slide-9
SLIDE 9

Security Optimization Research Lab.

Implementation Details Access Permission Matrix

§Has the access permission for code and data regions §Check code-code access as well as code-data access §Any access not permitted in the matrix will be illegal

9

slide-10
SLIDE 10

Security Optimization Research Lab.

Experimental Results Area Overhead

§ Xilinx Zynq-7000 board § Version 1.7 of RISC-V Rocket core with DefaultFPGASmallConfig § 16.5% over baseline system in LUTs+FFs § Memory Region Protector occupies 80% area within our total ß due to region boundary registers and selecting muxes

10

Category Components LUTs FFs Baseline System Rocket Core 9229 6894 Security Interface 80 195 Memory Region Protector 1066 1082 Access Permission Matrix 36 204 Total % over Baseline System 1182 12.81% 1481 21.48% Our Hardware Components

slide-11
SLIDE 11

Security Optimization Research Lab.

Performance Consideration Performance Overhead

§Security Interface

  • Just probes wires so that incurs no impact to the critical path of

the host CPU

  • Zero impact

§Memory Region Protector

  • Runs in parallel with the functional execution of the host
  • Zero impact

§Access Permission Matrix

  • In tiny processors, most applications are already fixed
  • Code/data region boundaries and their permission can be statically

allocated

  • Negligible impact on the whole system performance

11

slide-12
SLIDE 12

Security Optimization Research Lab.

Conclusion

Proposed Hardware Components

§ Memory Region Protector is the core component § This refers Access Permission Matrix § Security Interface extracts PC and memory target address

Low Overheads

§ Low area overhead and near zero performance overhead

More Flexible

§ In MPU [3] and PMP [5], region can be configured as a power-of- two multiple of 4KB § But we can set the boundaries by arbitrary addresses § Moreover, CPU internal information extracted through Security Interface can be used for various hardware based security mechanisms

12

slide-13
SLIDE 13

Security Optimization Research Lab.

Q&A

13

Thank You

Hyunyoung Oh (hyoh@sor.snu.ac.kr)

  • 2007~2017: RTL Engineer in Samsung Electronics
  • 2017~ : Pursuing PhD in Seoul National University
  • Prof. Yunheung Paek is supervisor