Xenon: High-Assurance Xen John McDermott - - PowerPoint PPT Presentation

xenon high assurance xen
SMART_READER_LITE
LIVE PREVIEW

Xenon: High-Assurance Xen John McDermott - - PowerPoint PPT Presentation

Xenon: High-Assurance Xen John McDermott John.McDermott@NRL.Navy.Mil Naval Research Laboratory Center for High-Assurance Computer Systems http:/ / chacs.nrl.navy.mil Xenon Xen Beyond Buffer Overflows high-assurance Policy flaws Use the


slide-1
SLIDE 1

Xenon: High-Assurance Xen

John McDermott John.McDermott@NRL.Navy.Mil Naval Research Laboratory Center for High-Assurance Computer Systems http:/ / chacs.nrl.navy.mil

slide-2
SLIDE 2

Xenon

high-assurance

Xen Beyond Buffer Overflows

Policy flaws

Use the wrong product Mis-configure the right product

Design flaws

Majority of flaws are design flaws Can be interface or architecture problems

Coding flaws

e.g. buffer overflows

2

slide-3
SLIDE 3

Xenon

high-assurance

Xen

Beyond Assurance: Robustness

NSA originated this useful concept Robustness = (strength of feature, implementation assurance) Assurance = how well did we build it? Strength = what flaws would be present, even if we had a perfect implementation?

it is pointless to build a high-assurance implementation of a low-strength feature

3

slide-4
SLIDE 4

Xenon

high-assurance

Xen

Common Criteria

  • 1. Define the security problem your product

will solve.

  • 2. By selecting from a framework of

security requirements, define a security solution.

  • 3. Choose a pre-defined assurance level.
  • 4. Undergo independent evaluation to show

that your product solves the problem, at the claimed level of assurance.

4

slide-5
SLIDE 5

Xenon

high-assurance

Xen

Independent Evaluation

Actual evaluation is a contact sport.

Lots of communication needed. Evaluator-developer relationship management.

Following high-assurance practices without evaluation is beneficial, with much less pain. Actual evaluation is still possible.

5

slide-6
SLIDE 6

Xenon

high-assurance

Xen

Assurance Levels (EALs)

Low (1

  • 4):

Accepted internationally. Does not review all source code. No special security practices.

6

slide-7
SLIDE 7

Xenon

high-assurance

Xen

Assurance Levels (EALs)

High (5-7):

Not accepted internationally. Few examples. Requires special high-assurance security development practices.

7

slide-8
SLIDE 8

Xenon

high-assurance

Xen

What is Suited to High- Assurance?

Products that do not evolve rapidly. Products with a relatively small implementation. Products that are effective at key points in a larger architecture. Products that are strong mechanisms.

8

slide-9
SLIDE 9

Xenon

high-assurance

Xen

VMM Security

What security problem does a VMM solve ... ... that cannot be solved by another technology? Strong separation of execution environments, per user community.

don’t separate on a per-application basis

VMM’s are a strong mechanism for this problem

9

slide-10
SLIDE 10

Xenon

high-assurance

Xen

The VMM Security Problem I Corp. M Corp. A Corp. X Corp.

execution environment execution environment execution environment execution environment execution environment execution environment

VPN VPN VPN what if we have 50 user communities?

10

user community user community user community

slide-11
SLIDE 11

Xenon

high-assurance

Xen

Threat Model

A threat is the goal of some threat actor. Four threat actors for Xenon:

T1 - malicious developer T2 - malicious guest T3 - network intruder T4 - problematic

  • perator

11

slide-12
SLIDE 12

Xenon

high-assurance

Xen

T2 - Malicious Guest

We don’t care how it got to be malicious. Initial access - guest boot time access to platform (no human assistance at guest boot time). Initial knowledge - own configuration data, human sponsor has full source of guests and Xen. Capabilities - arbitrary sequences of instructions and hypercalls

12

slide-13
SLIDE 13

Xenon

high-assurance

Xen

Actor T2 Threats

T2.1 Unauthorized access: access or cause another guest to access a resource contrary to configured policy. T2.2 Service Denial: degrade a resource or its availability to another guest T2.3 Information Leak: leak information to another domain contrary to configured policy (may use residual data or covert storage channel).

13

slide-14
SLIDE 14

Xenon

high-assurance

Xen

High-Assurance Work Products

Security problem definition Assurance argument Security factored code base Policy-to-code modeling Model-based vulnerability analysis Evidence package for third-party evaluation.

14

slide-15
SLIDE 15

Xenon

high-assurance

Xen

Assurance Argument

Shows why the final product should be trusted. Documented organization of evidence: (factoring, modeling, analysis, etc.) Allows planning and trade-offs in allocating resources to assurance tasks.

15

slide-16
SLIDE 16

Xenon

high-assurance

Xen

Security Problem Definition

Threats Regulations Assumptions about usage & environment Security policy that solves the problem Security features that enforce the policy Assurance plan Rationale connecting all of the parts

16

slide-17
SLIDE 17

Xenon

high-assurance

Xen

Security Factored Code Base

Refactor to meet complexity goals.

A lot of Xen code is already there

Refactor to meet modularity goals. Refactor to separate policy-enforcing code from other code.

A lot of Xen code is already there

Remove code/features to reduce overall size.

17

slide-18
SLIDE 18

Xenon

high-assurance

Xen

Policy-to-Code Modeling

Security policy model (formal) Interface model (semi-formal) Design model (semi-formal) Must model all code that runs in the same address space Backward correspondence demonstration

18

slide-19
SLIDE 19

Xenon

high-assurance

Xen

Things Xen May Want to Do

Keep writing small cohesive low- complexity functions. Maintain good high- level design. Strive for smaller files with simpler includes. Don’t spread concerns across multiple files. Don’t optimize just because you can. Never use goto when break or continue will do; never use break when return will do.

19

slide-20
SLIDE 20

Xenon

high-assurance

Xen

Things We Do for High Assurance

Break up big modules into smaller modules. Apply secrets-

  • riented design rules.

Change macros to inlines. Modify logic for case completeness. Remove optimization where it is not needed. Only support one kind

  • f hardware

Sacrifice features to get security Sacrifice features to get assurance

20

slide-21
SLIDE 21

Xenon

high-assurance

Xen

Possible Open Community Process?

Separate code & evidence base for high-assurance Xen?

What will be the minimal requirement for

such code and evidence base? Who will approve code & evidence?

How to keep up with main stream Xen?

21

slide-22
SLIDE 22

Xenon

high-assurance

Xen

22

slide-23
SLIDE 23

Xenon

high-assurance

Xen

Family Approach?

Design Xen to have two family members: Strong-security Xen with a simpler hypervisor. Feature-rich Xen that adds/replaces modules of strong-security Xen

23

slide-24
SLIDE 24

Thank You