Securing Open Source Software: Advantages and Challenges

Slides:



Advertisements
Similar presentations
The Cathedral and the Bazaar: A Look at Open-Source ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Advertisements

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
1 No Silver Bullet : Inherent Limitations of Computer Security Technologies Jeffrey W. Humphries Texas A&M University.
Securing Open Source Software: Advantages and Challenges Mitch Stoltz Head Security Engineer Netscape Client Products Division.
Lecture 2 Page 1 CS 236, Spring 2008 Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
What Causes Software Vulnerabilities? _____________________ ___________ ____________ _______________   flaws in developers own code   flaws resulting.
Software System Integration
Security in Open Source Software Joe Wilcox. What is Open Source?  Source code is published  Created via collaboration of developers  Many different.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Web Security Demystified Justin C. Klein Keane Sr. InfoSec Specialist University of Pennsylvania School of Arts and Sciences Information Security and Unix.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
CSCE 548 Secure Software Development Test 1 Review.
Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of.
Open Source Software Architecture and Design By John Rouda.
CSCE 522 Secure Software Development Best Practices.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
Why Cryptography is Harder Than It Looks
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
CSCE 201 Secure Software Development Best Practices.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Computer Security By Duncan Hall.
What Causes Software Vulnerabilities? _____________________ ___________ ____________ _______________   flaws in developers own code   flaws resulting.
Full Disclosure: Is It Beneficial? Project Based Information Systems Tim Schultz 12/02/02.
Dr. Mark Gaynor, Dr. Feliciano Yu, Bryan Duepner.
Engineering Secure Software. Does Security Even Matter?  Find two other people near you Introduce yourself What is your favorite software development.
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Software Development.
Open source development model and methodologies.
Presented by Rob Carver
Methodologies and Algorithms
Improving Security Through Gunpowder Detection
Legal challenges related to software vulnerability disclosure
Software Engineering Management
open source and free software Najeeb Ullah Student ID
TeXlipse [I1] Iteration
Software Engineering (CSI 321)
Execution with Unnecessary Privileges
Software Security Testing
Privileged Information: Confidentiality and Disclosure
Putting It All Together
Putting It All Together
When Free Software Isn't Better
Lesson Objectives Aims You should be able to:
Introduction to the Federal Defense Acquisition Regulation
Software Process Models
Prototyping.
INTELLECTUAL PROPERTY MANAGEMENT
Software Engineering (CSI 321)
Script-less Automation: An Approach to Shift-Left.
Engineering Secure Software
Introduction to Software Testing
Risk management in Software Engineering
Lecture 09:Software Testing
Software System Integration
NGMN & Open Source Sudhagar Chinnaswamy Principal Software Engineer.
Chapter 3 – Agile Software Development
Operations Security (OPSEC)
Baisc Of Software Testing
Open Source Share, and be rewarded tenfold ….
Software Engineering I
What is Software Testing?
Dr. Rob Hasker SE 3800 Note 9 Reviews.
Topic 5: Communication and the Internet
Engineering Secure Software
Agile software development
White Box testing & Inspections
Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
SDLC (Software Development Life Cycle)
Abby Kinchy Presentation for the Teach-In on Disappearing Data
Collaborative Security: Securing Open Source Software
Presentation transcript:

Securing Open Source Software: Advantages and Challenges Mitch Stoltz Head Security Engineer Netscape Client Products Division

Open Questions Is Open Source software more secure? What are the security advantages of the open source model? What are the disadvantages? How can those disadvantages be overcome?

The Promise of Open Source “Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone. Or, less formally, ‘Given enough eyeballs, all bugs are shallow.’ I dub this: ‘Linus's Law.’” - Eric Raymond, “The Cathedral and the Bazaar”

The Promise of Open Source No organizational bottleneck in the original developer Anyone can download and test Less communication necessary Development, testing/verification, and maintenance can be done by different organizations

The Promise of Open Source Independent verification means not having to trust manufacturers’ claims What is impossible to prove is that proprietary software is more secure than free, without the public and open inspection of the scientific community and users in general. This demonstration is impossible because the model of proprietary software itself prevents this analysis, so that any guarantee of security is based only on promises of good intentions (biased, by any reckoning) made by the producer itself, or its contractors. -Edgar David Villanueva Nunez, Congressman, Peru

The Promise of Open Source Popularity among academics and students increases the pool of knowledgeable reviewers Potential for very fast turnaround time for security fixes

Opposing Views Inherently, the closed nature of proprietary software is its first line of defense regarding security issues… Opening the code to potential attackers provides a free education… -Kenneth Brown, Alexis de Tocqueville Institution People unfamiliar with the open source model are accustomed to keeping their source secret. When their source does become public, it's almost always related to a security breach or the threat of a security breach. -Michael Warfield, LinuxWorld

Opposing Views Open source gives a short-term advantage to attackers Attackers can find and exploit flaws before most users can find out about the problem and apply a fix Security breaches bring negative publicity to a company - there’s an incentive to conceal information about flaws

Misconceptions Too little control over what code goes into a project “If anyone can contribute, how can we trust the result?” The GPL does not require `patches to wander in', a big part of the freedom inherent in it is that the impacted agency has the power to fix a problem, on the spot, and share the fix at essentially no cost with other impacted agencies. Trying to do that with proprietary software is generally illegal. -Leon Brooks

Misconceptions Code that is kept secret is inherently safer Kerchoffs’ Principle: The security of an algorithm should depend only on the key Corollary: Minimize the number of secrets that must be kept to maintain security Public algorithms are designed to be secure even though they are public; that's how they're made. So there's no risk in making them public. -Bruce Schneier, Crypto-Gram

Misconceptions But secrecy is not necessarily unsafe… Minimize the number of secrets in your security system. To the extent that you can accomplish that, you increase the robustness of your security. To the extent you can't, you increase its fragility. Obscuring system details is a separate decision from making your system secure regardless of publication; it depends on the availability of a community that can evaluate those details and the relative communities of "good guys" and "bad guys" that can make use of those details to secure other systems. -Bruce Schneier, Crypto-Gram

Misconceptions Open source software is inherently safer Source availability is no guarantee of effective review Few open source contributors know how to look for security flaws in code simply publishing the code does not automatically mean that people will examine it for security flaws. Security researchers are fickle and busy people. They do not have the time to examine every piece of source code that is published. So while opening up source code is a good thing, it is not a guarantee of security… -Bruce Schneier

Re-Framing the Question “Is open source code more secure than proprietary code?”

Re-Framing the Question “Is open source code more secure than proprietary code?” This is the wrong question.

Re-Framing the Question New Questions: What are the requirements for building and deploying secure software? What aspects of open source development make these requirements easier or harder? What can we do to help the open source model deliver on its promise of security?

Challenges & Solutions Challenge: Responsible Disclosure Early disclosure can lead to increased attacks but people have a right to know the risks of the software they use Those advocating secrecy are right that full disclosure causes damage, in some cases more damage than good. They are also right that those who build attack tools should be held liable for their actions; the defense of "I just built the bomb; I didn't place it or set the fuse" rings hollow. But they are wrong to think they can enforce secrecy. Information naturally disseminates, and strategies that go against that are doomed. -Bruce Schneier

Challenges & Solutions Challenge: Responsible Disclosure Companies conceal vulnerabilities and are slow to provide fixes but some “security researchers” disclose vulnerabilities for personal publicity Someone who releases a harmful program through a press release has a different agenda than to help you. -Bruce Schneier A large portion of security experts go home at night and write tools for the script kiddies. -Marcus Ranum

Challenges & Solutions Solution: Limited Initial Disclosure (A Compromise) Limit technical description of vulnerabilities to a group of experts and stakeholders until bug is fixed Low barrier to entry in the group Reporter, group members keep things honest Full disclosure after fix is distributed

Challenges & Solutions Challenge: Lack of Qualified Reviewers Security problems are subtle and often missed even by expert programmers Solution: Finding, Training, and Incentivizing Bug Hunters Training Reviewers to spot problems Netscape Bug Bounty Program

Challenges & Solutions Challenge: Automating & Systematizing Security Review repeated mistakes no feedback to developers Solution: Tight Feedback Loops Integrate security scanners into build feedback Review past problems and integrate findings into future security evaluations

Challenges & Solutions Challenge: Developer Education Solution: Identify Common Mistakes & Teach Best Practices We need new, innovative forms of developer education

Key Sources “The Cathedral and the Bazaar,” Eric Raymond http://www.tuxedo.org/~esr/writings/cathedral-bazaar “Crypto-Gram,” Bruce Schneier, Sep. 1999, Jan. 2000, Feb. 2000, Sep. 2000, May 2002 http://www.counterpane.com/crypto-gram.html “Opening the Open Source Debate,” Kenneth Brown available at http://www.adti.net “Dispelling Myths about the GPL and Free Software,” John Viega and Bob Fleck http://www.cpi.seas.gwu.edu/oss/cpi_rebuttal.pdf “Why Open Source? Look at the Numbers!” David Wheeler http://www.dwheeler.com/oss_fs_why.html#security

Questions & Comments Welcome