22
A Scientific Approach to Software Security The Kaspersky Lab Security News Service

A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Embed Size (px)

Citation preview

Page 1: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

A Scientific Approach to Software SecurityDennis FisherMay 15, 2012

The Kaspersky Lab Security News Service

Page 2: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Software security pre-history

Page 3: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

In the beginning, things were OK• Defenders had the advantage• Computers were rare, code was

impenetrable• Few people understood how to break

software• Computers were isolated• Not accessible to outside attackers• Physically secured• Software was written by professionals• Purpose-built applications• No Web to worry about

Software security pre-history

Page 4: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Software security pre-history

Page 5: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Software security pre-history

Source: Wikipedia

Page 6: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Bugs were kind of cute• Seen as problems to be solved• Bugs were studied as oddities, artifacts of

the development process• Defects rather than vulnerabilities• Developers learned actual lessons from

mistakes• Information was shared• Mostly unreachable by attackers• Needed local access, intimate knowledge

of the software• Writing exploits was really hard

Software security pre-history

Page 7: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

And then this happened

Page 8: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Microsoft ruled the world• Windows was ubiquitous• Software monoculture that gave attackers

an advantage• Write once, hit many• Vulnerabilities abounded • Buffer overflows• Memory corruption• Security was an afterthought at best

The game changed completely

Page 9: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service
Page 10: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

The Trustworthy Computing era• Focus on security over features• Development of SDLC process• Becomes a model for the industry and

financial services companies

Pain begets change

Page 11: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Microsoft’s SDLC

Source: Microsoft

Page 12: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

The emergence of BSIMM• Comprehensive maturity model for

software security programs• Developed through study of dozens of organizations’ programs• Describes 109 discrete activities across

four domains

Software security matures

Page 13: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

13

Intel

+ elevenunnamedfirms

Page 14: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

A framework for success

Source: BSIMM

Page 15: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Case study: Adobe

Page 16: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Adobe was the new Microsoft• Huge installed base of vulnerable users• Old development practices with no

rigorous approach to threat modeling or code quality

• Common set of vulnerabilities and weaknesses across applications

Starting from zero (day)

Page 17: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Pain begets change

FIGURE . Adobe Reader exploits by month in 2008, indexed to the monthly average for 2H08

July through December 2008

Page 18: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

The importance of the SDL• Reader 9 was developed without the

current SDL or security as a priority• Reader 9 was the target of a high volume

of malware • Helped spur a company wide change in practices and priorities

Reader 9 vs. Reader X

Page 19: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

The importance of the SDL• Adobe implemented a rigorous software security program beginning in early 2009• Included training and threat modeling and lessons learned from Microsoft’s SDL

experience• Reader X developed with SDL in place, implementation of a sandbox and anti-

exploit technologies

Reader 9 vs. Reader X

Page 20: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Results• Reader 9 had nine publicly disclosed zero

day vulnerabilities• Reader X has NO zero days to date• Attackers have largely moved on to other products as main targets

Reader 9 vs. Reader X

Page 21: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Better software through science• Software security is gradually becoming a

priority • Mature, formalized programs are having a measurable effect on defects and attacks• Internal development organizations can

watch and learn from successes of vendors

Conclusions

Page 22: A Scientific Approach to Software Security Dennis Fisher May 15, 2012 The Kaspersky Lab Security News Service

Questions?

[email protected]