Top Banner
1

Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

Jan 14, 2015

Download

Technology

Olivier Rits

Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

Track 1, Disruptive Digital Research Technologies
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Dec 5th, 2013

News from the Software & Security Frontline

Wouter Joosen, Director iMinds Security Department

Page 2: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Page 3: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Page 4: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

TODAY IS DIFFERENT

Page 5: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

outline 1. Impact of software quality on security – two technologies

2. Future for embedded systems

3. System and software engineering AND system an software

management: sneak preview on the DREAMAAS-ICON (2012-2103) with UPnxt, Noesis and Luciad…

Page 6: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

the impact of software quality on security

Page 7: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

impact of software quality on security

• Specialists: verification technology – Direct assessment (A)

• For any developer

– Indirect assessment (B)

Page 8: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

<1A> VeriFast

Software Quality @ Development time

Page 9: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

VeriFast

VeriFast

C or Java source code Specification Proof hints

"0 errors found"

Guarantees that program ● has no buffer overflows ● has no integer overflows ● has no data races ● uses APIs correctly ● satisfies specification Symbolic execution

trace showing error

or

User can step through trace and inspect symbolic states

~ 1s

Page 10: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

VeriFast: verified programs -cases ● Fine-grained concurrent data structures

● Functional correctness

● JavaCard applets (incl. for Belgian eID card) ● Crash-freedom, safe API usage

● Linux device drivers Memory safety, data-race-freedom, safe API usage

● Embedded software (for Telefonica home gateway) ● Memory safety, data-race-freedom, safe API usage

● Cryptographic protocol implementations (RPC, Needham-Schroeder-Lowe)

Page 11: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

<1B> Fault Prediction, based on Text Mining Software Quality @ Development time

Page 12: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf 12

Research question Can we build a (good quality) classifier that

predicts vulnerable components in C++ applications?

Idea: Analyze the tokens in each component's code (e.g., if, while, var names) and use them

as predictors

Page 13: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf 13

Prediction in the future

v 4.0 v 5.0 v 12.0 ... Build

prediction model (using 1 version)

Test performance of prediction model

(in each of the following 8 version)

Page 14: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf 14

Benchmark ● Find at least 80% of the components

containing vulnerabilities (cost) by inspecting at most 20% of the application components (benefit)

Page 15: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf 15

Results ● We exceedingly meet the benchmark

● For all the “future” versions

● Better than best results in the state-of-the-

art (i.e., Shin et al., TSE 37(6), 2011)

Page 16: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

< 2> (EMBEDDED) SYSTEMS

Page 17: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Emerging technology: PMA’s

• Protected Module Architectures: – Low-level security architectures that implement an “inverse

sandbox”: protect a module from a buggy or malicious environment • E.g. run code securely even on top of a kernel infected with malware

Page 18: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Emerging technology: PMA’s • Implementations

– Pioneering work by Parno et. al. at CMU: the Flicker system • https://sparrow.ece.cmu.edu/group/flicker.html • Bryan Parno was awarded the ACM 2010 doctoral thesis award for this work

– Follow-up implementations, including several from iMinds: • Fides (Strackx et al, CCS 2012), Sancus (Noorman et al., Usenix Sec

2013)

– INTEL publicly announced their implementation this summer: • http://software.intel.com/en-us/intel-isa-extensions#pid-19539-1495

Page 19: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Protected module architecture (simplified) • Modules consist of:

– A code section, with designated entry points – A data section (also containing control data)

• The PMA: – Controls creation/deletion of

modules – Enforces a PC-based access

control model

Page 20: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Research challenges ahead

• How can Protected Module Architectures efficiently, securely and reliably persist state?

• What is the minimal hardware support required to implement PMA’s: – That support remote attestation – That support state continuity – That do not need software in the TCB

Page 21: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Research challenges ahead • How do we offer higher-level abstractions for these low-level security

architectures? – Key idea: maintain the modularity properties of source code at machine

code level by secure compilation. • How do we provide assurance of the correctness of the protected

module itself? – These modules might be small enough to be amenable to formal

verification

Page 22: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

<3> Management Of Software and Systems

Page 23: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

An architecture for MultiCloud

Page 24: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Page 25: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Page 26: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Where is the hype?

26

<3> JUST IN TIME

Page 27: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Recap 3 dimensions, 3 illustrations

1. Impact of software quality on security (broad audience)

2. Future for embedded systems (quite a lot of ICT players in Flanders:

3. System and software engineering AND system an software management (DEVOPS).

Page 28: Wouter Joosen, iMinds Security Department, iMinds The Conference 2013

@iminds #imindsconf

Join iMinds

Wouter Joosen [email protected]