CSCE 522 Building Secure Software. CSCE 548 - Farkas2 Reading This lecture – McGraw: Ch. 3 – G. McGraw, Software Security,

Slides:



Advertisements
Similar presentations
Achieve Benefit from IT Projects. Aim This presentation is prepared to support and give a general overview of the ‘How to Achieve Benefits from IT Projects’
Advertisements

Software Development Life Cycle
SAFE Blueprint and the Security Ecosystem. 2 Chapter Topics  SAFE Blueprint Overview  Achieving the Balance  Defining Customer Expectations  Design.
Engineering Secure Software. Does Security Even Matter?  At your table, introduce yourselves: Your name, degree, & app domain What is your favorite software.
Secure Software Development Software Security Touchpoints Chapter 3 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
INDEX  Ethical Hacking Terminology.  What is Ethical hacking?  Who are Ethical hacker?  How many types of hackers?  White Hats (Ethical hackers)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
August 1, 2006 XP Security. August 1, 2006 Comparing XP and Security Goals XP GOALS User stories No BDUF Refactoring Continuous integration Simplicity.
Secure Software Development Security Operations Chapter 9 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
Security Engineering II. Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such.
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Computer Security: Principles and Practice
Comp 8130 Presentation Security Testing Group Members: U Hui Chen U Ming Chen U Xiaobin Wang.
TEST CASE DESIGN Prepared by: Fatih Kızkun. OUTLINE Introduction –Importance of Test –Essential Test Case Development A Variety of Test Methods –Risk.
IS 2620: Developing Secure Systems Building Security In Lecture 2 Jan 15, 2013.
SEC835 Database and Web application security Information Security Architecture.
Secure Software Development SW Penetration Testing Chapter 6 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
S/W Project Management
CSCE 548 Secure Software Development Risk-Based Security Testing.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
CS 325: Software Engineering April 14, 2015 Software Security Security Requirements Software Security in the Life Cycle.
© 2001 Carnegie Mellon University S8A-1 OCTAVE SM Process 8 Develop Protection Strategy Workshop A: Protection Strategy Development Software Engineering.
Information Systems Analysis and Design
CSCE 548 Secure Software Development Test 1 Review.
CSCE 548 Code Review. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 4 – Recommended: Best Practices for Peer Code Review,
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Version 02U-1 Computer Security: Art and Science1 Penetration Testing by Brad Arkin Scott Stender and Gary McGraw.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Web Security for Network and System Administrators1 Chapter 2 Security Processes.
Security Policies and Procedures. cs490ns-cotter2 Objectives Define the security policy cycle Explain risk identification Design a security policy –Define.
CSCE 522 Secure Software Development Best Practices.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
APPLICATION PENETRATION TESTING Author: Herbert H. Thompson Presentation by: Nancy Cohen.
1 ITGD 2202 Supervision:- Assistant Professor Dr. Sana’a Wafa Al-Sayegh Dr. Sana’a Wafa Al-SayeghStudent: Anwaar Ahmed Abu-AlQumboz.
Herbert Thompson, Ph.D., CISSP Chief Security Strategist People Security Software Security.
CSCE 548 Building Secure Software. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 1 – Recommended: CyberInsecurity: The Cost of Monopoly,
M & E TOOLKIT Jennifer Bogle 11 November 2014 Household Water Treatment and Water Safety Plans International and Regional Landscape.
CSCE 548 SDLC. CSCE Farkas2 Reading This lecture – The Software Development Life Cycle (SDLC),
CSCE 522 Secure Software Development Best Practices.
Chapter 11: Policies and Procedures Security+ Guide to Network Security Fundamentals Second Edition.
CSCE 548 Secure Software Development Security Operations.
1 Software Engineering and Security DJPS April 12, 2005 Professor Richard Sinn CMPE 297: Software Security Technologies.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
CSCE 201 Secure Software Development Best Practices.
Slide 1 Security Engineering. Slide 2 Objectives l To introduce issues that must be considered in the specification and design of secure software l To.
Thomas L. Gilchrist Testing Basics Set 3: Testing Strategies By Tom Gilchrist Jan 2009.
Secure Software Development Security Operations Chapter 9 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
By Ramesh Mannava.  Overview  Introduction  10 secure software engineering topics  Agile development with security development activities  Conclusion.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 17 – IT Security.
CSCE 548 Secure Software Development Penetration Testing.
CSCE 548 Secure Software Development Security Operations
Tool Support for Testing
Presented by Rob Carver
CSCE 548 Secure Software Development Risk-Based Security Testing
Security Testing Methods
Execution with Unnecessary Privileges
Business System Development
CSCE 548 Secure Software Development Use Cases Misuse Cases
Software Security ITGD 2202 Supervision:- Assistant Professor
DT249/4 Information Systems Engineering Lecture 0
Quality Management Perfectqaservices.
CSE 403 Software Engineering
CSCE 548 Secure Software Development Test 1 Review
Risk management in Software Engineering
Chapter 27 Security Engineering
Baisc Of Software Testing
Engineering Secure Software
IS2621/TEL3813 Security Management
Presentation transcript:

CSCE 522 Building Secure Software

CSCE Farkas2 Reading This lecture – McGraw: Ch. 3 – G. McGraw, Software Security, – Ted Demopoulos, Worst Practices in Developing Secure Software, Next Lecture – McGraw: Ch. 4 (overview, we’ll cover code review in details later)

CSCE Farkas3 Three Pillars of Software Security Risk Management Software Security Touchpoints Knowledge

CSCE Farkas4 Risk Management How much effort to invest in security Consequences of security breaches Acceptable-level of security Tracking and mitigating risk throughout the full SDLC

CSCE Farkas5 Touchpoints System-wide activity: from design to testing and feedback Focus on security from ground up Touchpoints: 1. Code review 2. Architectural risk analysis 3. Penetration testing 4. Risk-based security testing 5. Abuse cases 6. Security requirements 7. Security operations 8. External Analysis Prioritize activities!

CSCE Farkas6 Knowledge Gathering, encapsulating, and sharing security knowledge Knowledge catalogs: principles, guidelines, rules, vulnerabilities, exploits, attack patterns, historical risks Knowledge categories: – Prescriptive knowledge – Diagnostic knowledge – Historical knowledge Applied along the SDLC Can you give examples?

CSCE Farkas7 Security Engineering Reduce the need for reactive technologies (e.g., intrusion detection) by safer products  Understand software Need for: – Software developers – Operations people – Administrators – Users – Executives Why do these people need Security Engineering?

CSCE Farkas8 Software Security Touchpoints Best Practices Both White Hat (constructive) and Black Hat (destructive) activities Throughout the SDLC How do you think about security? Which is more important? White hat or Black hat type of activities?

CSCE Farkas9 Application of Touchpoints Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field Abuse cases 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas10 Code Review (Tool) Artifact: Code Implementation bugs Static Analysis tools White Hat Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas11 Architectural Risk Analysis Artifact: Design and specification System must be coherent and present a uniform security front Document assumptions and identify possible attacks Both at specification-based architecture stage and class- hierarchy design stage White hat Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas12 Penetration Testing Artifact: system in its environment Understanding fielded software in its environment Information supplied by architectural risk analysis Who does it? Black Hat Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas13 Risk-Based Security Testing Artifact: unit and system Strategies: – Testing of security functionality (standard functional testing) – Risk-based security testing (attack pattern, risk analysis, abuse cases) Attacker’s mindset White Hat + Black Hat Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas14 Abuse Cases Artifact: requirements and use cases Describe system behavior under attack Explicit coverage of – What should be protected – From whom – For how long White Hat + Black Hat Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas15 Security Requirements Artifact: Requirements Security explicitly worked into the requirements level Both functional security and emergent characteristics White Hat Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas16 Security Operations Artifact: fielded system Monitoring system usage Combines both network centric and software specific operations White Hat Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas17 External Analysis Evaluate security by outside members Why? Advantages/disadvantages Requirement and Use cases Architecture and Design Test Plans Code Tests and Test Results Feedback from the Field 5. Abuse cases 6. Security Requirements 2. Risk Analysis External Review 4. Risk-Based Security Tests 1. Code Review (Tools) 2. Risk Analysis 3. Penetration Testing 7. Security Operations

CSCE Farkas18 When to Apply Security? Economical consideration: early is better Effectiveness of touchpoints: – Economics – Which software artifacts are available – Which tools are available – Cultural changes Bad: reactive strategy  need: secure development

CSCE Farkas19 Best Practices Earlier the better Change “operational” view to secure software Best practices: expounded by experts and adopted by practitioners

Worst Practices to Avoid From T. Demopoulos, “Worst Practices in Developing Secure Software 1. Assuming only “important’ SW needs to be secure 2. Emphasizing hitting deadlines over “good code” 3. Having IT make all risk management decisions 4. Not considering security during the entire SDLC 5. Assuming the SW won’t be attacked 6. Not doing any security testing 7. Not planning for failure 8. Counting on “security through obscurity” 9. Disallowing bad input instead of only allowing good input 10. SW that is not secure by default 11. Coding your own cryptography CSCE Farkas20

CSCE Farkas21 Who Should Care? Developers Architects Other builders Operations people Do not start with security people. Start with software people.

CSCE Farkas22 Next Class Code Review