secure software chapman

16
Rod Chapman Directions in Secure Software Development High Assurance Software Symposium

Upload: adacore

Post on 29-Nov-2014

563 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Secure software chapman

Rod Chapman

Directions in Secure Software Development

High Assurance Software Symposium

Page 2: Secure software chapman

Contents • Some observations

• Experiences with secure systems…

• Trends and Concerns

• A future?

Page 3: Secure software chapman

Some observations • The safety-critical industry has been building

remarkably reliable and high-quality systems for

years…

• Can we apply the same approach for secure

systems?

• At Altran Praxis, we first tested this hypothesis in

1999 with the MULTOS CA system.

• It seems the answer is “Yes…but with a few key

assumptions changed…”

Page 4: Secure software chapman

Some observations • In the last ten years or so, we have seen a huge rise

in interest in “security vulnerabilities” in

• operating systems,

• embedded systems,

• SCADA systems etc.

• What changed?

Page 5: Secure software chapman

What changed? • In “Software Security: Building Security In…”, Gary

McGraw cites three main areas of change…

Page 6: Secure software chapman

What changed? • Connectivity

• “Let’s network everything!”

Page 7: Secure software chapman

What changed? • Extensibility

• “Dynamically loadable everything!”

Page 8: Secure software chapman

What changed? • Growth in complexity

• More code implies more bugs

Page 9: Secure software chapman

Safety and security… the difference? • Possibly the most notable difference is in the

environment itself.

• Safety-related systems – mostly operate in a benign

environment that we can control to some extent.

• Security-critical systems operate in a openly malicious

environment where we might have no control over inputs,

access, and so on

• ..and…attackers are arbitrarily intelligent, well-funded and

motivated.

• “Programming Satan’s Computer” [Needham and Anderson]

Page 10: Secure software chapman

Experiences with Security

• In the worst-case, we must assume systems will be

attacked in a way that we haven’t even thought of (let

alone tested)…

• Therefore any sole claim of “we’ve tested it lots”, or

“we’ve tested it more…” offer limited confidence for

security properties

• So – why not use formal methods and sound static

verification – i.e. Correctness-by-Construction?

• Examples: MULTOS CA, Tokeneer, SPARKSkein, and other

SPARK users.

Page 11: Secure software chapman

Experiences with Security

• At a technical level, strong static verification offers

confidence in a number of basic areas:

• Absence of “dumb bugs”…

• Verification of specific program properties of

interest.

• But...no silver bullet. There is still a need for solid

requirements engineering, security engineering,

architecture and so on.

Page 12: Secure software chapman

Trends and Concerns

• Trend: massive resurgence in interest in static

analysis in general. (How many companies selling

“security vulnerability finder” tools???)

• Good! Raises awareness and average maturity.

• Concern: Almost all effort aimed at “low hanging

fruit” of retrospective analysis of legacy code-

bases. Gives the impression that this is the only

thing you can do…

Page 13: Secure software chapman

Trends and Concerns

• Trend: lots of effort in “enumeration” of defects,

vulnerabilities, etc.

• Examples: SANS “Top 25” list, CVE, CWE, ISO OWGV

effort etc.

• Good! Provides a starting point..

• Concern: Encourages “box ticking” mentality.

• Concern: Application-specific security requirements

(i.e. the interesting stuff) is an infinite set. Trying to

enumerate it is unlikely to terminate!

Page 14: Secure software chapman

A Future?

• We have shown that the CbyC/SPARK approach can

yield strong results, particularly for the highest-grade

secure systems.

• But…many systems incorporate:

• Legacy code, COTS, “SOUP”, many languages,

developed by many teams…

• The boundary between “safety” and “security” is

becoming blurred – many systems exhibit “both”…

Page 15: Secure software chapman

A Future?

• Can we use architecture to isolate (sub-)systems of

differing security requirements?

• Can we combine verification evidence from multiple

sources to gain confidence where it’s most needed?

• Formal methods for the most critical components?

• Test, isolate, and contain for the less critical?

• What can we do to contractualize and enforce the

boundary between such components?

Page 16: Secure software chapman

Altran Praxis Limited

22 St. Lawrence Street, Southgate,

Bath BA1 1AN

United Kingdom

+44 (0) 1225 466991

+44 (0) 1225 469006

www.altran-praxis.com

[email protected]

Telephone

Facsimile

Website

Email