CS2S562 Secure Software Development

Slides:



Advertisements
Similar presentations
h Protection from cyber attacks is achieved by acting on several levels: first, at the physical and material, placing the server in a place as safe as.
Advertisements

A Joint Code of Practice Objectives and Summary Presentation
System Integration Verification and Validation
Software Quality Assurance Plan
1 SOFTWARE TESTING Przygotował: Marcin Lubawski. 2 Testing Process AnalyseDesignMaintainBuildTestInstal Software testing strategies Verification Validation.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
GReening business through the Enterprise Europe Network EN Giovanni FRANCO European Commission Enterprise and Industry EN
Internal Control Concepts Knowledge. Best Practices for IT Governance IT Governance Structure of Relationship Audit Role in IT Governance.
SWE Introduction to Software Engineering
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Geneva, Switzerland, September 2014 ITU-T CYBEX standards for cybersecurity and data protection Youki Kadobayashi, NICT Japan Rapporteur, ITU-T Q.4/17.
Introduction to Systems Analysis and Design
Quality Manual for Interoperability Testing Morten Bruun-Rasmussen Presented by Jos Devlies, Eurorec.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
Software Security Course Course Outline Course Overview Introduction to Software Security Common Attacks and Vulnerabilities Overview of Security.
Presentation on Integrating Management Systems
Welcome ISO9001:2000 Foundation Workshop.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Secure Software Development Mini Zeng University of Alabama in Huntsville 1.
Software Engineering for Secure Systems Individual Research Project Hiram Garcia.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Basics of OHSAS Occupational Health & Safety Management System
Configuring Electronic Health Records Privacy and Security in the US Lecture f This material (Comp11_Unit7f) was developed by Oregon Health & Science University,
ETICS2 All Hands Meeting VEGA GmbH INFSOM-RI Uwe Mueller-Wilm Palermo, Oct ETICS Service Management Framework Business Objectives and “Best.
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
GCSE ICT Systems Analysis. Systems analysis Systems analysis is the application of analytical processes to the planning, design and implementation of.
Chapter 1 The Software Security Problem. Goals of this course Become aware of common pitfalls. Static Analysis and tools.
Introduction and Overview of Information Security and Policy By: Hashem Alaidaros 4/10/2015 Lecture 1 IS 332.
Engineering and Management of Secure Computer Networks School of Engineering © Steve Woodhead 2009 Corporate Governance and Information Security (InfoSec)
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
Non Functional Testing. Contents Introduction – Security Testing Why Security Test ? Security Testing Basic Concepts Security requirements - Top 5 Non-Functional.
MANAGEMENT INFORMATION SYSTEM

Principles Identified - UK DfT -
Medical Device Software Development
SE-1021 Software Engineering II
Security Autodesk DevDays rEvolution
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
CSCE 548 Secure Software Development Risk-Based Security Testing
Outline Basic concepts in computer security
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Systems Planning and Analysis
Lecture 1 What is Software Engineering? CSC 4700 Software Engineering
Chapter 18 Maintaining Information Systems
Preventing Medical Device Recalls
Outline What does the OS protect? Authentication for operating systems
SE604: Software Testing and QA Secure SW Development for QA Lecture#3
Software Configuration Management
Security mechanisms and vulnerabilities in .NET
Module 1 Assemble the WSP team
Outline What does the OS protect? Authentication for operating systems
Standards for success in city IT and construction projects
HSE Case: Risk Based Approach.
Engineering Processes
ONR Regulatory Core Training and Competence
Chapter 13 Quality Management
EMS Checklist (ISO model)
Software Verification, Validation, and Acceptance Testing
Chapter 29: Program Security
Chapter 8 Software Evolution.
Web Information Systems Engineering (WISE)
Data collection and validation support for the management of the ESF
Chapter 6: Integrity Policies
Security and JavaScript
Presentation transcript:

CS2S562 Secure Software Development Trustworthy Software Initiative

Today Trusted Software Initiative (TSI) What is the TSI? Why TSI? How does it work – basic overview Some example of resources provided

What is the TSI? UK Government Initiative UK Government sponsored, part of £850m ‘National Cyber Security Program’ Run on behalf of UK Government by ‘Cyber Security Centre’ at Warwick University Aim: to improve software in terms of: Safety Security Reliability Availability Resilience Not to be confused with Microsoft ’Trustworthy Computing’ (deceased 2014, 2100 jobs gone)

Why is TSI important Software engineering now = mechanical engineering ca. 1800 It works but things explode quite often, trial and error approach Not engineering, dabbling Only few and emerging standards  few interchangeable components Is now part of HE curriculum (i.e. this module) Employers will expect you to know it (e.g. interview)

The Effect of Standards Guess what happened here Yes, standard was introduced.

Real Life Example DFUPS (Diabetic Foot Ulcer Prevention System, 2015) Engineering: 2 months (hard- and software design, production) Regulatory: 12 months standard compliance, testing paperwork, forms, … ca. 800 pages in total

A Few Definitions Some of them we know already... TERM TRUSTED TRUSTWORTHY Safety (operate without causing harm) Must Security (operate protected against accidents or attacks) Availability (ability to deliver when requested) Should Resilience (ability to transform, renew or recover) Reliability (deliver services as specified) Privacy (not observing or disturbing, free of attention) May Lecture 10

What does TSI do? The CWE Create, publish and update resources such as the ‘Common Weakness Enumerator’ (CWE) (sounds horrible but is in fact a very useful list of coding error sources) Instrumental in developing standards, most importantly BS PAS 754:2014 Lecture 22

Standards Why? Make things interchangeable Save costs & time Promote best practice Level the playing field Accreditation of products (lowers insurance cost, improves marketing, usually a legal requirement, e.g. CE marking, medical devices directive, …)

BS PAS 754:2014 The standard applies to: BS PAS 754:2014, Figure 2 BS= British Standard, PAS=Publicly Available Standard, 754=number, 2014= year of publication

BS PAS 754:2014 Used throughout software life cycle System specification Component specification Module RISK ANALYSIS test System System validation VERIFICATION Validation Plan Specification User: Overall system Requirements BS PAS 754:2014 Used throughout software life cycle BS PAS 754:2014, Figure 5 TSMS = Trustworthy Software Management System

BS PAS 754:2014 In order to achieve this: The PAS implements it own definitions and references existing standards: BS ISO/IEC 27001:2013, Information technology Security techniques, Information security management systems – Requirements BS ISO/IEC/IEEE 42010, Systems and software engineering – Architecture description ISO/IEC 15288, Systems and software engineering – System life cycle processes BS EN ISO 9000:2005, Quality management systems Several others

BS PAS 754:2014 The Trustworthy Software Framework BS PAS 754:2014, Figure 3

BS PAS 754:2014 Level 1: Concepts Governance Risk Controls (on risk) Management arrangements (e.g. ISO 9001) Risk Risk identification, minimisation and mitigation Controls (on risk) On personnel, physical artefacts (i.e. the software itself), processes, technical issues Compliance (using controls) A regime to ensure the above are implemented & maintained

BS PAS 754:2014 Level 2: Principles Applicability Governance Controls Only where relevant (see next slide) Governance Understanding: general environment, trust environment, general & trustworthiness risks Controls Maintaining competence, manage people risk, code protection, defect management, “hygienic” coding, … Compliance Verifications, reviews

BS PAS 754:2014 It’s not one size fits all, it’s scalable IMPACT ROLE None Routine Significant Critical Paramount N/A Level 3 Level 4 Explicit Implicit Level 2 Ancillary Level 0 Level 1 Trustworthiness delivered by: Level 0: (no process required) Level 1: due diligence Level 2: managed processes Level 3: established processes Level 4: predictable and optimised processes

BS PAS 754:2014 Level 3: Techniques

BS PAS 754:2014 Level 4: Repository http://www.uk-tsi.org/ (work in progress) CWE: the ‘Common Weakness Enumerator’ http://cwe.mitre.org/ A list of currently over 1000 common software bugs Very useful for programmers (“how not to…”) Especially the top 25 list

CWE (Top 10 from the top 25 list) hyperlink Rank ID Name [1] CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') [2] CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') [3] CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') [4] CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') [5] CWE-306 Missing Authentication for Critical Function [6] CWE-862 Missing Authorization [7] CWE-798 Use of Hard-coded Credentials [8] CWE-311 Missing Encryption of Sensitive Data [9] CWE-434 Unrestricted Upload of File with Dangerous Type [10] CWE-807 Reliance on Untrusted Inputs in a Security Decision hyperlink

Case Study Austerity – how did it happen?

Case Study Austerity – how did it happen?

Core of Trusted Component Case Study Austerity – how did it happen? From lecture 4 (Formatted I/O): Unformatted input Trusted Component Canonicalise Output sanitisation Output Normalise Core of Trusted Component Sanitise Validate

Further Reading http://www.uk-tsi.org/ http://cwe.mitre.org/ PPT by director of TSI The BS PAS 754:2014 standard document (normally £55)