20
First Principles Vulnerability Assessment Computer Architecture & Operating Systems Department Universitat Autònoma de Barcelona Elisa Heymann Manuel Brugnoli

First Principles Vulnerability Assessment

Embed Size (px)

Citation preview

Page 1: First Principles Vulnerability Assessment

First Principles Vulnerability Assessment

Computer Architecture &

Operating Systems Department

Universitat Autònoma de Barcelona

Elisa Heymann

Manuel Brugnoli

Page 2: First Principles Vulnerability Assessment

2

The Bad News

• The bad guys are trying to do really bad things to us.

• They are smart, dedicated and persistent.

• No single approach to security can be sufficient.

• The attackers have a natural advantage over the defenders.

We have to approach the defense of our systems as security in depth.

Page 3: First Principles Vulnerability Assessment

3

The Good News

• We started by trying to do something simple:

Increase our confidence in the security of some critical Grid middleware.

• We ended up developing a new manual methodology:

First Principles Vulnerability Assessment

• We found some serious vulnerabilities … and more vulnerabilities … and more.

Page 4: First Principles Vulnerability Assessment

4

Key Issues for Security

• Need independent assessment– Software engineers have long known that

testing groups must be independent of development groups

• Need an assessment process that is NOT based solely on known vulnerabilities– Such approaches will not find new types

and variations of attacks

Page 5: First Principles Vulnerability Assessment

5

Our Piece of the Solution Space

First Principles Vulnerability Assessment:

• An analyst-centric (manual) assessment process.

• You can’t look carefully at every line of code so:

then identify key resources andprivilege levels, component interactionsand trust delegation, then focused component analysis.

Don’t start with known threats …

… instead, identify high value assets in the code and work outward to derive threats.

• Start with architectural analysis,

Page 6: First Principles Vulnerability Assessment

First Principles Vulnerability AssessmentUnderstanding the System

Step 1: Architectural Analysis– Functionality and structure of the system,

major components (modules, threads, processes), communication channels

– Interactions among components and with users

Page 7: First Principles Vulnerability Assessment

Architectural Analysis: Condor

condor & root

OS privileges

user

master

Condor submit host

schedd

shadow

submit

1. fork

3. submit job

ClassAd

8. fork

master

Condor execute host

starter

startd

job

1. fork

8. fork

10. start job

master

Stork server host

stork_server

1. fork

Condor execute host

master

negotiator collector

1. fork 1. fork

5. Negotiator

cycle

2. machine

ClassAd

4. job

ClassAd

5. Negotiator

cycle

6. Report

match

6. Report

match

7. claim host

9. establish

channel

Page 8: First Principles Vulnerability Assessment

First Principles Vulnerability AssessmentUnderstanding the System

Step 2: Resource Identification– Key resources accessed by each component

– Operations allowed on those resources

Step 3: Trust & Privilege Analysis– How components are protected and who can

access them

– Privilege level at which each component runs

– Trust delegation

Page 9: First Principles Vulnerability Assessment

condor

OS privileges

root

user

generic Condor daemon

(a) Common Resources on All Condor Hosts

Condor

Binaries &

Libraries

Condor

Config

etc

Operational

Data &

Run-time

Config Files

spool

Operational

Log Files

log

ckpt_server

(b) Unique Condor Checkpoint Server Resources

Checkpoint Directory

ckpt

(d) Unique Condor Submit Resources

shadow

User’s Files

user

(c) Unique Condor Execute Resources

User Job starter

Job Execution

Directories

execute

System Call

Forwarding and

Remove I/O(with Standard

Universe Jobs)

Send and Receive

Checkpoints(with Standard

Universe Jobs)

Resource Analysis: Condor

Page 10: First Principles Vulnerability Assessment

First Principles Vulnerability AssessmentSearch for Vulnerabilities

Step 4: Component Evaluation– Examine critical components in depth

– Guide search using:Diagrams from steps 1-3

Knowledge of vulnerabilities

– Helped by Automated scanning tools

Page 11: First Principles Vulnerability Assessment

First Principles Vulnerability AssessmentTaking Actions

Step 5: Dissemination of Results– Report vulnerabilities

– Interaction with developers

– Disclosure of vulnerabilities

Page 12: First Principles Vulnerability Assessment

First Principles Vulnerability AssessmentTaking Actions

Page 13: First Principles Vulnerability Assessment

13

Studied Systems

Condor, University of WisconsinBatch queuing workload management system15 vulnerabilities 600 KLOC of C and C++

SRB, SDSCStorage Resource Broker - data grid5 vulnerabilities 280 KLOC of C

MyProxy, NCSACredential Management System5 vulnerabilities 25 KLOC of C

glExec, NikhefIdentity mapping service5 vulnerabilities 48 KLOC of C

Gratia Condor Probe, FNAL and Open Science Grid

Feeds Condor Usage into Gratia Accounting System3 vulnerabilities 1.7 KLOC of Perl and Bash

Condor Quill, University of WisconsinDBMS Storage of Condor Operational and Historical Data6 vulnerabilities 7.9 KLOC of C and C++

Page 14: First Principles Vulnerability Assessment

14

Studied Systems

Wireshark, wireshark.orgNetwork Protocol Analyzer in progress 2400 KLOC of C

Condor Privilege Separation, Univ. of WisconsinRestricted Identity Switching Module

21 KLOC of C and C++

VOMS Admin, INFNWeb management interface to VOMS data (role

mgmt)35 KLOC of Java and PHP

CrossBroker, Universitat Autònoma de BarcelonaResource Mgr for Parallel & Interactive Applicationsin progress 97 KLOC of C++

Page 15: First Principles Vulnerability Assessment

15

In Progress for EMI

ARGUS, wireshark.orggLite Authorization Servicein progress

glExec 0.8, NikhefIdentity mapping service

in progress

Page 16: First Principles Vulnerability Assessment

What about Automated TOOLS?

– Everyone asks for them

– They may help but …

... they are definitely not enough!

Page 17: First Principles Vulnerability Assessment

Manual vs. AutomatedVulnerability Assessment

The literature on static analysis tools is self-limiting:– Missing comparison against a ground truth

– Tool writers write about what they have found

– Limited discussion of false positives

Every valid new problem that a tool find is progress, but it’s easy to lose perspective on what these tools are not able to do

Page 18: First Principles Vulnerability Assessment

18

EMI

• Roadmap needed:– gridFTP

– CREAM

– WMS

• We need input from you!

Page 19: First Principles Vulnerability Assessment

23

How do You Respond?A change of culture within the development team:• When security becomes a first-class task, and when

reports start arriving, awareness is significantly increased.

• This effects the way developers look at code andthe way that they write code.

• A major landmark: when your developers start reporting vulnerabilities that they’ve found on their own.

Page 20: First Principles Vulnerability Assessment

24

Thank you.

Questions?

[email protected]