Top Banner
1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona [email protected]
22

1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

Dec 24, 2015

Download

Documents

Bethanie Pope
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: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

1

Update on the Vulnerability Assessment Effort

Elisa HeymannComputer Architecture and

Operating Systems DepartmentUniversitat Autònoma de Barcelona

[email protected]

Page 2: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

2

EMI: Software to Assess

› gLite– Argus 1.2– gLexec 0.8– VOMS Core– CREAM: Computing Resource

Execution And Management– WMS: Workload Management System

Page 3: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

3

EMI: Software to Assess

› Unicore– TSI: The Target System Interface– Gateway

Page 4: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

4

Current Status

› VOMS Admin 2.0.18: done!

› Java, JSP y javascript› 38 KLOC› 2.5 months of work

Page 5: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

5

Current Status› VOMS Admin 2.0.18: done

› 2 Critical vulnerabilities› Cross Site Request Forgery attacks => an

attacker will be able to execute arbitrary VOMS Admin actions.

› Persistent Cross Site Scripting vulnerabilities => non-privileged users can store javascript code in the database, which will be executed by other users.

› 2 Non-critical vulnerabilities› Fields of the web interface that display

information about the users certificates are vulnerable to Persistent Cross Site Scripting vulnerabilities.

› Reflected Cross Site Scripting vulnerabilities => non-privileged users can submit javascript code to VOMS Admin, and this code is reflected back to the user browser.

Page 6: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

6

Current Status

› gLexec 0.8: done!› C› 13 KLOC› 5 months of work

Page 7: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

7

Current Status

› gLexec 0.8: done!› 3 Critical vulnerabilities

› Lack of cleanup of jobs => allows a prior user of the uid to attack the current user's jobs and files.

› Reuse of local uids => attack another job running later.

› 1 Non-critical vulnerabilities› A job can prevent the job completed log record

from being written to the glexec log.

Page 8: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

8

Current Status

› Argus 1.2: done!› Java, C, scripting languages› 42 KLOC› 5 months of work

› No vulnerabilities found.› Report on what was assessed and why

Argus worked fine.

Page 9: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

9

Were are we now

› VOMS Core 2.0.2: Just started– Vincenzo Ciaschini & Valerio Venturi– C:     30753 – C++:     10138– exp:         7955 – java:         7754

› Started: May 2011› Expected duration: 6 months

Page 10: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

10

Vulnerability Assessment@EMI

Apply FPVA to relevant EMI Middleware– Assess the SW– Generate vulnerability reports

A vulnerability is considered only when we produce an exploit for it.

Page 11: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

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 12: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

CE Host

authZ service Host

PDP

WN Host

PEP ServerWN job

gLExec

PAP Admin Tool (Edit Policy)

Administrator

2

3

4

56

9

10a

LRMS

WMS

CREAM

User (UI)

1a

RB Host

1b

Argus 1.2 Architecture

PAP

7 8

D’ E’

PAP (Policy Administration Point) → Manage Policies.PDP (Policy Decision Point) → Evaluate Authorization Requests.PEP (Policy Enforcement Point) → Process Client Requests and Responses.

B

A

C’

Admin data-flowUser data-flow

F’

Dt

HTT

PS

PEP Client (Lib)

Communications among PAP, PDP, and PEP Server via HTTPS

CLI

Et

/etc/init.d/pdp reloadpolicy

/etc/init.d/pepd clearcache

Ft

10b

Run job Exit gLExec

OS privileges user batch user

External Component

Administrator & rootroot

Page 13: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

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 14: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

authZ service Host (PAP Component)

conf lib logsTRUSTED_CA etc/grid_security

pap_ configuration.ini

pap_ authorization.ini

hostcert .pem

hosthas key

signed,

hostkey.pem

Argus 1.2 Resources

Readable

OwnerWorld

certificates

PAP

logging

bin

pap-admin

repository sbin

pap-standalone.sh

pap- deploy.sh

XML Policies

OS privileges user batch user

External Component

Administrator & rootroot

Page 15: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

authZ service Host (PDP Component)

conf lib logsTRUSTED_CA etc/grid_security

pdp.ini hostcert.pem

hosthas key

signed,

hostkey.pem

Argus 1.2 Resources

certificates

sbin

env.sh logging.xml

Readable

OwnerWorld

pdpctl.sh

PDP Repository

policy

OS privileges user batch user

External Component

Administrator & rootroot

Page 16: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

authZ service Host (PEP Server Component)

conf lib logsTRUSTED_CA etc/grid_security

pepd.ini

Argus 1.2 Resources

sbin

env.sh logging.xml

Readable

OwnerWorld

pepdctl.sh

hostcert .pem

hosthas key

signed,

hostkey.pem

certificates grid-mapfile groupmapfile

gridmapdir vomsdir

PEP Server Cached Policies

OS privileges user batch user

External Component

Administrator & rootroot

Page 17: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

First Principles Vulnerability Assessment Search for Vulnerabilities

Step 4: Component Evaluation– Examine critical components in depth– Guide search using:

Diagrams from steps 1-3Knowledge of vulnerabilities

– Helped by Automated scanning tools

Page 18: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

First Principles Vulnerability Assessment Taking Actions

Step 5: Dissemination of Results– Report vulnerabilities– Interaction with developers– Disclosure of vulnerabilities

Page 19: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

20

Vulnerability Report

› One report per vulnerability› Provide enough information for

developers to reproduce and suggest mitigations

› Written so that a few sections can be removed and the abstracted report is still useful to users without revealing too much information to easily create an attack.

Page 20: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

21

Categories of Vulnerabilities

› Design Flaws– Problems inherent in the design– Hard to automate discovery

› Implementation Bugs– Improper use of the programming language,

or of a library API– Localized in the code

› Operational vulnerabilities– Configuration or environment

› Social Engineering– Valid users tricked into attacking

Occur about equally

Page 21: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

22

How do You Respond?› Identify a team member to handle vulnerability

reports.› Develop a remediation strategy:

– Study the vulnerability report.– Use your knowledge of the system to try to identify other

places in the code where this might exist.– Study the suggested remdiation and formulate your

response.– Get feedback from the assessment team on your fix –

very important for the first few vulnerabilities.› Develop a security patch release mechanism.

– This mechanism must be separate from your release feature/upgrade releases.

– You may have to target patches for more than one version.

Page 22: 1 Update on the Vulnerability Assessment Effort Elisa Heymann Computer Architecture and Operating Systems Department Universitat Autònoma de Barcelona.

23

How do You Respond?Develop a notification strategy:› What will you tell and when?› Users are nervous during the first reports, but

then become your biggest fans.› Often a staged process:

1. Announce the vulnerability, without details at the time you release the patch.

2. Release full details after the user community has had a chance to update, perhaps 6-12 months later.

› Open source makes this more complicated! The first release of the patch reveals the details of the

vulnerability.