trusted illiac - a configurable, application-aware, high-performance platform for trustworthy...

1
Trusted ILLIAC - A Configurable, Application-Aware, High-Performance Platform for Trustworthy Computing Ravishankar Iyer, Wen-mei Hwu, Klara Nahrstedt, William Sanders, Zbigniew Kalbarczyk Memory Data Vision Reliability and Security Engine (RSE) Advanced Compiler (IMPACT) Title Global Infotech: Pathways to the Future with Global Partnerships Provide applications-specific level of reliability and security, while delivering optimal performance Customized levels of trust enforced via an integrated approach involving re-programmable hardware, compiler methods to: (i) extract security and reliability properties and (ii) accelerate computation configurable OS and middleware R SE Fram ew ork Fetch_O ut RegFile_Data Execute_O ut M em ory_Out Com m it_Out Com m it MEM EX ID IF Instruction Q ueue Pre-emptive C ontrol-flow C hecking Process Health Monitor Selective Replication M anager M em M em _R dy R eg#/ R eg Vals ALU Result Addr/ Next PC DataLoaded From Mem ory Comm it/ Squash Pointer Taintedness Tracking Fram ework Interface Fabric H ardware Modules IN ST Reconfigurable processor-level hardware framework to provide application-aware checks for reliability and security Processor, framework, and modules on single die Framework and modules implemented on an FPGA Framework configured to: embed hardware modules needed by application route inputs to modules G am es Multimedia Physiological Sim ulation Medical Imaging PointerA nalysis Program m ing M odels Specialized A nalysis Loop Transform ation Program Sim plification Future Transform ations Synthesis Multiprocessor FPGA Synthesis Tools SMP CMP Developm ent Tools C Code Specialized C and/orM achine C ode Loop Transform ation Program Sim plification o Fission o Fusion o D istribution o Strip-m ining o R ecursion R em oval o PointerR em oval o D ata Structure A djustm ent o M em ory Partitioning Specialized A nalysis o A dvanced M em ory D ataflow o B ranch C orrelation o Value Flow PointerA nalysis o A dvanced Flow -sensitivity o C ontextSensitivity o H eap C loning o Field Sensitivity o PointerA rithm etic o Scalability D riving A pplications D eep A nalysis D eep Transform ation Enable automated generation of hardware to prototype and demonstrate: (i) acceleration of computation and (ii) application-aware detectors in realistic scenarios Middleware Services for Preventing DoS Attacks in Large-Scale Systems Subset of trusted nodes called oversight nodes cooperate to manage node download information objects Develop security middleware services to control multimedia streaming in a secure and robust fashion. Node 0x0 Node 0x7 Node 0x1 Node 0x5 Node 0x2 Node 0x3 Node 0x6 Node 0x4 request request request grant grant grant Node 0x6 Node 0x4 Node 0x2 Node 0x0 media object key 0x3 rate = 350 Node 0x5 Node 0x3 Node 0x7 Node 0x1 Request media object 0x3 media object key 0x6 rate = 350 media object key 0x1 rate = 350 node download info for node 0x4 current = 1050 max allowed = 1000 Node 0x2 node download information key 0x4 current = 700 max allowed = 1000 Node 0x5 Node 0x7 Retrieve node download information for node 0x4 Send node download information for node 0x4 node download information key 0x4 current = 700 max allowed = 1000 Node 0x6 Node 0x4 Node 0x2 Node 0x0 media object key 0x3 rate = 350 Node 0x5 Node 0x3 Node 0x7 Node 0x1 Request media object 0x3 Query about node 0x4 adding 350 to download rate Deny request from node 0x4 Deny media object key 0x6 rate = 350 media object key 0x1 rate = 350 Without Oversight With Oversight Nodes Static Analysis Trusted ILLIAC Node Validation of Trusted ILLIAC Configurations (Möbius Modeling Environment) Möbius atomic models represent different Trusted ILLIAC node designs and attack/fault models. SNM P M onitor O bservations Trajectory Tree Diagnosis Vector Future O utputs Target system H ostA H ostB C POMDP Bounds M odelof Faults Actions, M onitors, Rew ards Online M odelof Faults Actions, M onitors, Rew ards Offline M easured Action Durations Actions Recovery Engine Disable Reboot Restart Bayesian Update SNM P M onitor O bservations HTTP1 M onitor HTTP2 M onitor Trajectory Tree Trajectory Tree Computation Diagnosis Vector Future O utputs Target system H ostA H ostB C DB Target system H ostA W eb1 Server App1 Server 50% H ostB W eb2 Server 50% C DB 50% 50% App2 Server POMDP Bounds M odelof Faults Actions, M onitors, Rew ards Online M odelof Faults Actions, M onitors, Rew ards Com pute RA -Bound Offline Bounds Improvement (simmodel) RA -Bound SNM P M anager M easured Action Durations Actions Recovery Engine Preserving system health using adaptive recovery Model Driven Recovery Controller Path based monitors to detect failures Probabilistic Bayesian diagnosis to estimate cause of failure Stochastic planning to choose recovery action Model-Driven Trust Management Choose security-critical variables based on application semantics Employ a compile-time static program analysis to extract backward slice which collates all dependent instructions along each control-path form a signature, which encodes dependences as a set (or sequence) of instruction PCs along each control-path Program data-flow violations indicate of malicious tampering Considering Misbehaving users Malicious users Selfish users Signature extraction Transform the derived signatures in the runtime assertions to be integrated within the application code or implemented in hardware for on-line error checking

Upload: elaine-banks

Post on 20-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trusted ILLIAC - A Configurable, Application-Aware, High-Performance Platform for Trustworthy Computing Ravishankar Iyer, Wen-mei Hwu, Klara Nahrstedt,

Trusted ILLIAC - A Configurable, Application-Aware, High-Performance Platform for Trustworthy Computing

Ravishankar Iyer, Wen-mei Hwu, Klara Nahrstedt, William Sanders, Zbigniew Kalbarczyk

Memory Data

Vision

Reliability and Security Engine (RSE)

Advanced Compiler (IMPACT)

Title

Global Infotech: Pathways to the Future with Global Partnerships

Provide applications-specific level of reliability and security, while delivering optimal performance

Customized levels of trust enforced via an integrated approach involving• re-programmable hardware,• compiler methods to: (i) extract

security and reliability properties and (ii) accelerate computation

• configurable OS and middleware

RSE Framework

Fetch_OutRegFile_Data

Execute_Out

Memory_Out

Commit_Out

CommitMEMEXIDIF

Instruction Queue

Pre-emptive Control-flow Checking

Process Health Monitor

Selective Replication

Manager

Mem

Mem_Rdy

Reg#/Reg Vals

ALU ResultAddr / Next PC

Data LoadedFrom Memory

Commit/Squash

Pointer Taintedness

Tracking

Fra

mew

ork

Inte

rfac

e F

abric

Hardware Modules

INST

Reconfigurable processor-level hardware framework to provide application-aware checks for reliability and security

Processor, framework, and modules on single dieFramework and modules implemented on an FPGAFramework configured to:

embed hardware modules needed by application route inputs to modules

GamesMultimediaPhysiological

SimulationMedical Imaging

Pointer Analysis

Programming Models

Specialized Analysis

Loop Transformation

Program Simplification

Future Transformations

SynthesisMultiprocessor

FPGASynthesis

ToolsSMP CMP

DevelopmentTools

C Code

Specialized C and/or Machine Code

Loop Transformation

Program Simplification

o Fissiono Fusiono Distributiono Strip-mining

o Recursion Removalo Pointer Removalo Data Structure Adjustmento Memory Partitioning

Specialized Analysis

o Advanced Memory Dataflowo Branch Correlationo Value Flow

Pointer Analysis

o Advanced Flow-sensitivityo Context Sensitivityo Heap Cloningo Field Sensitivityo Pointer Arithmetico Scalability

Driving Applications

De

ep

An

aly

sis

De

ep

Tra

ns

form

atio

n

Enable automated generation of hardware to prototype and demonstrate: (i) acceleration of computation and (ii) application-aware detectors in realistic scenarios

Middleware Services for Preventing DoS Attacks in Large-Scale Systems

Subset of trusted nodes called oversight nodes cooperate to manage node download information objects

Develop security middleware services to control multimedia streaming in a secure and robust fashion.

Node0x0

Node0x7

Node0x1

Node0x5

Node0x2

Node0x3

Node0x6

Node0x4

request

request

request

grant

grant

grant

Node 0x6

Node 0x4

Node 0x2

Node 0x0

media objectkey 0x3

rate = 350

Node 0x5

Node 0x3

Node 0x7

Node 0x1

Request media object

0x3

media objectkey 0x6

rate = 350

media objectkey 0x1

rate = 350

node download info for node 0x4

current = 1050max allowed = 1000

Node 0x2

node download information

key 0x4current = 700

max allowed = 1000

Node 0x5

Node 0x7

Retrieve node download

information for node 0x4

Send node download

information for node 0x4

node download information

key 0x4current = 700

max allowed = 1000

Node 0x6

Node 0x4

Node 0x2

Node 0x0

media objectkey 0x3

rate = 350

Node 0x5

Node 0x3

Node 0x7

Node 0x1

Request media object

0x3

Query about node 0x4

adding 350 to download rate

Deny request from

node 0x4

Denymedia objectkey 0x6

rate = 350

media objectkey 0x1

rate = 350

Without Oversight

With Oversight Nodes

Static Analysis

Trusted ILLIAC Node

Validation of Trusted ILLIAC Configurations (Möbius Modeling Environment)

Möbius atomic models represent different Trusted ILLIAC node designs and attack/fault models.

Disable

Reboot

Restart BayesianUpdate

SNMP Monitor Observations

HTTP1 Monitor

HTTP2 Monitor

Host

Trajectory Tree Computation

DiagnosisVector

FutureOutputs

Target system

HostA

Web1 Server

App1 Server50%

HostB

Web2 Server

50%

C

DB50%

50%

App2 Server

POMDPBounds

Model of Faults

Actions, Monitors,Rewards

ComputeRA-Bound

Online

BoundsImprovement(sim model)

RA-Bound

Model of Faults

Actions, Monitors,Rewards

ComputeRA-Bound

Offline

BoundsImprovement(sim model)

RA-Bound

SNMPManager

Measured Action Durations

Actions

RecoveryEngine

Disable

Reboot

Restart BayesianUpdate

BayesianUpdate

SNMP Monitor Observations

HTTP1 Monitor

HTTP2 Monitor

Host

Trajectory Tree Computation

Trajectory Tree Computation

DiagnosisVector

FutureOutputs

Target system

HostA

Web1 Server

App1 Server50%

HostB

Web2 Server

50%

C

DB50%

50%

App2 Server

Target system

HostA

Web1 Server

App1 Server50%

HostB

Web2 Server

50%

C

DB50%

50%

App2 Server

POMDPBounds

Model of Faults

Actions, Monitors,Rewards

ComputeRA-Bound

Online

BoundsImprovement(sim model)

RA-Bound

Model of Faults

Actions, Monitors,Rewards

ComputeRA-Bound

Offline

BoundsImprovement(sim model)

RA-Bound

SNMPManager

Measured Action Durations

Actions

RecoveryEngine

Preserving system health using adaptive recovery

Model Driven Recovery Controller Path based monitors to detect failures Probabilistic Bayesian diagnosis to estimate cause of failure Stochastic planning to choose recovery action

Model-Driven Trust Management

Choose security-critical variables based on application semantics

Employ a compile-time static program analysis to

• extract backward slice which collates all dependent instructions along each control-path

• form a signature, which encodes dependences as a set (or sequence) of instruction PCs along each control-path

Program data-flow violations indicate of malicious tampering

Considering• Misbehaving users• Malicious users • Selfish users

Signature extraction

Transform the derived signatures in the runtime assertions to be integrated within the application code or implemented in hardware for on-line error checking