Protecting Information Assets - Week 13 - Application Development Security. MIS 5206 Protecting Information Assets

Similar documents
Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Information Systems Development

Pertemuan 2. Software Engineering: The Process

03. Perspective Process Models

Introduction to Software Engineering

SDLC Models- A Survey

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Information Technology Services Project Management Office Operations Guide

A New Divide & Conquer Software Process Model

MINGGU Ke 1 Analisa dan Perancangan Sistem Informasi

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Introduction to Systems Analysis and Design

CHAPTER 4 PRODUCT DEVELOPMENT LIFE CYCLE

2009 McGraw Hill Ryerson Limited. Kwantlen and Richardson Chpt 6 slide number 1

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Chapter 3 Software Process Model

Redesigning the Organization with Information Systems

SWE 211 Software Processes

Chapter 1 Systems Development in an Organization Context

Software Testing Life Cycle

Chapter. Redesigning The Organization With Information Systems

Audit Analytics. Delivered. Why Work With Us? CONSULTING. Leading analytics software. Fast, reliable service. We speak your language

Installation and Maintenance of Health IT Systems

ALTIRIS Implementing an Asset and Contract Management System

PART THREE: Work Plan and IV&V Methodology (RFP 5.3.3)

Harry J. Rosenblatt. (2014). Systems Analysis and Design, 10 th Edition, International Edition. Course Technology, Cengage Learning.

Security Monitoring Service Description

Evolutionary Differences Between CMM for Software and the CMMI

HP Quality Center 10 Overview

2 Why is systems development difficult and risky? 3 How do businesses use the systems development life cycle (SDLC) process?

Chapter 2: The Project Management and Information Technology Context

SOLUTION BRIEF RSA IDENTITY GOVERNANCE & LIFECYCLE SOLUTION OVERVIEW ACT WITH INSIGHT TO DRIVE INFORMED DECISIONS TO MITIGATE IDENTITY RISK

Fulfilling CDM Phase II with Identity Governance and Provisioning

An Overview of the AWS Cloud Adoption Framework

Digital and Technology Solutions Specialist Degree Apprenticeship standard (Level 7)

Tough Math for Desktop TCO

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

Analyze, Design, and Develop Applications

E-PROCUREMENT OPERATIONS

REQUEST FOR PROPOSALS: INFORMATION TECHNOLOGY SUPPORT SERVICES

ENTERPRISE OPERATIONS SERVICES

IBM ICE (Innovation Centre for Education) Welcome to: Unit 1 Overview of delivery models in Cloud Computing. Copyright IBM Corporation

Windows Server 2003 migration: Your three-phase action plan to reach the finish line

SOLUTION BRIEF EU GENERAL DATA PROTECTION REGULATION COMPLIANCE WITH RSA ARCHER

ORACLE ADVANCED FINANCIAL CONTROLS CLOUD SERVICE

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes

CERTIFIED SOFTWARE QUALITY ENGINEER

Audit of Shared Services Canada s Information Technology Asset Management

HYBRID FAX CRITICAL BUSINESS CONSIDERATIONS

Software Development Life Cycle:

SLIDE TITLE. PRC product overview. Susan Joslyn SJ+ Systems Associates, Inc. U2 University 2012

TABLE OF CONTENTS DOCUMENT HISTORY

Software Assurance Marketplace Use Case

Fundamentals of Business Analysis including BCS Requirements Engineering

Oracle Systems Optimization Support

CIP 2017 Project Outline

SOX 404 & IT Controls

Case Study: How to Eliminate Flaws of Waterfall and Agile Development Processes Using a Hybrid Model

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Discussion Paper on the Validation of Pharmacovigilance Software provided via SaaS

The Product Creation Process

Enterprise Content Management & SharePoint 2013 As ECM Solution

Competency Area: Business Continuity and Information Assurance

HCM Project Planning SUN October 1, 2017

CHAPTER 2: IMPLEMENTATION PHASES AND OFFERINGS

Module 1 Study Guide

Secure Integration of the PersoApp-Open-Source-Library

Summary of TL 9000 R4.0 Requirements Beyond ISO 9001:2000

INTELLECTUAL PROPERTY MANAGEMENT ENTERPRISE ESCROW BEST PRACTICES REPORT

IT Alignment and The Cloud. How Cloud Computing Can Help Your Organization s Technology Management

Key Benefits of Novell ZENworks 10 Configuration Management. Enterprise Edition

Chapter 8. Systems Development. Ralph M. Stair George W. Reynolds

BENEFITS OF AN EFFECTIVE OUTSOURCING STRATEGY. March 1, 2017

Analysis of Spiral Model in Software Projects for the Software Houses of Pakistan

This topic focuses on how to prepare a customer for support, and how to use the SAP support processes to solve your customer s problems.

Network maintenance evolution and best practices for NFV assurance October 2016

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

LIST OF TABLES. Table Applicable BSS RMF Documents...3. Table BSS Component Service Requirements... 13

Compiere ERP Starter Kit. Prepared by Tenth Planet

GOVERNANCE AES 2012 INFORMATION TECHNOLOGY GENERAL COMPUTING CONTROLS (ITGC) CATALOG. Aut. / Man. Control ID # Key SOX Control. Prev. / Det.

The Benefits of a Unified Enterprise Content Management Platform. An Oracle White Paper February 2007

Quantifying the Value of Software Asset Management

Continuous Quality Assurance

Title: HP OpenView Configuration Management Overview Session #: 87 Speaker: Loic Avenel Company: HP

System-of-Systems Influences on Acquisition Strategy Development

Information Lifecycle Management Solution from IBM

Conclusion.

TEN. The TOP. Managed IT Services. reasons for. AMA Networks presents the.

The Contact Center Performance Company WHITE PAPER

I D C M A R K E T S P O T L I G H T. S i l o s a n d Promote Business Ag i l i t y

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

DevOps Guide: How to Use APM to Enhance Performance Testing

Effective Change Management Strategies A Maintenance Strategy for

Command and Control Software Development Lessons Learned. Lt Col Michael D. Sarchet Deputy Director, Space Systems Command and Control Division

Supply-Chain Risk Analysis

DISASTER PREPAREDNESS Guide & Template

To provide professional expertise and skills in the planning, implementation and support of delivered IT Services.

Using Software Measurement in SLAs:

Transcription:

Protecting Information Assets - Week 13 - Application Development Security

MIS5206 Week 13 Team Presentations Application Development Security Test Taking Tip Quiz

Team Presentations < 30 minutes total including setup For example: 3 minutes setup 15 minutes for presentation 10 minutes Q & A

Team Presentations Deliverables: PowerPoint presentation Handout(s) Email 360 o review What I contributed to the presentation? What each other member of the team contributed?

Team Presentations - 701 Team 1 Shi Yu, Brent, Rommel, Christie Team 6 Anthony, Vince, Andrew

Team Presentations - 001 Team 3 Jing, Adam, Somayeh, Yijiang Team 6 Mengting, Mustafa, Vittorio, Hanqing

Application Development Security As applications become more accessible though the web, cloud and mobile devices, organizations are being forced to abandon their reactive approach to security and, instead, to take a proactive approach by minimizing risk directly in the software they buy, create and use to serve themselves and their customers

Usual trend Harris, S. and Maymi F. (2016) CISSP All-in-One Exam Guide, McGraw-Hill Education, p. 1080

Perimeter security solutions are often relied on as a solution to insecure application development practices

Perimeter security solutions are often relied on as a solution to insecure application development practices Application Server(s) Data Server(s) File Server(s)

Past and current situation. Developers are not security professionals Software vendors skip proper security architecture, design and testing steps as they race to beat competitors to market with new features Secure application development practices have not historically been taught in computer science and other academic departments, and are only recently being considered and adopted by developers Development projects scope and budgets focus on functionality, not security Security professionals typically not software developers Often lack insight for understanding of software vulnerabilities IT customers Trained to expect to receive flawed software needing upgrades and patches Unable to control flaws in software they purchase, so they rely on perimeter protection

Best Practice: Build Security In Security Architecture Software Development Life Cycle Procurement Standards Creation, use and enforcement of System Architecture standards provides the basic building blocks for developing, implementing and maintaining secure applications Attention to security throughout the Software Development Life Cycle (SDLC) is the key to creating secure, manageable applications regardless of platform or technologies Describing the process and detailed criteria that will be used to assess the security level of third party software enables companies to make strategic, security-sensitive decisions about purchased software purchases

Software Development Life Cycle Requirements Why the software was created (i.e. goals) Who the software was created for What the software is intended to do Design Specifications identifying how software and data will be formed to accomplish goals and used to meet requirements Development Programming software code implemented and integrated to meet specifications Testing-Validation Assuring software and data works as planned to meet the goals Release-Maintenance Deploying software and data, and assuring they are properly configured, patched and monitored

Classic software development

Waterfall model missed requirements identified too late in the project after budget spent

Modified waterfall model incorporating feedback from subsequent steps

V model added testing throughout the development process Like the waterfall model, V-model is very rigid and does not allow for flexible evolution of user requirements formal handling of risk

Rapid prototyping Connell, J.L. and Shafer, L.B. (1989) Structured Rapid Prototyping, Yourdon Press Involves the users/stakeholders in an incremental, interactive, iterative process of validating and evolving requirements

Iterative development Incremental development Spiral development Rapid application development (RAD) Agile development

Iterative development Incremental development Spiral development Rapid application development (RAD) Agile development

Iterative development Incremental development Spiral development Rapid application development (RAD) Agile development

Iterative development Incremental development Spiral development Rapid application development (RAD) Agile development Incremental software design and development Provide a more agile process Agile development breaks the product application into individual features that are incrementally delivered and constantly evolved

Application development methodologies Break and fix No real planning up front. Flaws reactively dealt with after release with the creation of updates and patches Waterfall Very rigid, sequential approach that requires each phase to complete before the next one can begin. Inflexibility make it difficult to integrate changes V-model Emphasizes verification and validation at each phase and testing to take place throughout the project, not just at the end Prototyping Creating a model or sample of the application to elicit user feedback and for proof-of-concept purposes Incremental Multiple development cycles are carried out on a piece of software throughout its development stages. Each phase provides a usable version of software Spiral Iterative approach that emphasizes risk analysis per iteration. Allows for customer feedback to be integrated through a flexible evolutionary approach Rapid Application Development (RAD) Combines prototyping and iterative development procedures with the goal of accelerating the software development process Agile Iterative and incremental development processes that encourage team-based collaboration. Flexibility and adaptability are used instead of a strict process structure

Security Architecture Security strategy needs to be a consideration at each level of the architecture BUSINESS Business Process and Operations APPLICATIONS User Access - Multiple Technologies DATA Databases and File Repositories INFRASTRUCTURE Device and Configurations

Software Development Life Cycle (SDLC) 1. Requirements analysis 2. Design 3. Develop ( make ) / Implement ( buy ) 4. Testing/Validation 5. Release/Maintenance

Software Development Life Cycle (SDLC) 1. Requirements analysis Informational, functional, behavioral, and performance specifications 2. Design Data models and data dictionary, work process and status transition models, input/output models, data flow models, flow of control models 3. Develop ( make ) / Implement ( buy ) Source code control system, code reviews, daily builds, automated CASE tools 4. Testing/Validation Unit testing and integration testing (daily builds), manual and regression testing, user acceptance testing 5. Release/Maintenance Release testing

SDLC and Security 1. Requirements analysis Informational, functional, behavioral, and performance specifications + CIA risk assessment, + Risk-level acceptance, 2. Design Data models and data dictionary, work process and status transition models, input/output models, data flow models, flow of control models + Threat modeling, + Attack surface analysis, 3. Develop ( make ) / Implement ( buy ) Source code control system, code reviews, daily builds, automated CASE tools + Developer security training, + Static analysis, + Secure code repositories, 4. Testing/Validation Unit testing and integration testing (daily builds), manual and regression testing, user acceptance testing + Dynamic analysis, + Fuzzing, 5. Release/Maintenance Release testing + Separation of duties, +Change management,

SDLC and Security Requirements analysis Informational, functional, behavioral, and performance specifications + CIA risk assessment, + Risk-level acceptance,

Software requirements often specified with 1. Information model Type and content of information that will be processed and how it will be processed 2. Functional model Tasks and functions the application needs to carry out 3. Behavioral model States the application will be in and transition among

Software requirements specifications documents help support: Validation Did they build the right application? In large complex applications it is easy to lose sight of the main goal? Does the application/system provide the solution for the intended problem? Verification Did they build the application right? Applications can be built that do not match the original specifications Often not designed/developed with security requirements in mind Determines if the application accurately represent and meets the specifications Ensures that the specifications were met properly

1. Informational Model PK FK1 OPERATOR_OWNER OPERATOR_OWNER_ID NAV_UNIT_GUID OPERATOR_OWNER_BOTH ORGANIZATION PUBLIC_OR_PRIVATE CURRENT_OR_PRIOR FACILITY_WEBSITE_URL NAME NAVUNIT_OR_VESSEL MASTER_OPERATOR_ID CONTACT PK FK1 CONTACT_ID OPERATOR_OWNER_ID OFFICIAL_TITLE NAME_TITLE FIRST_NAME MIDDLE_INITIAL LAST_NAME PHONE FAX DEPARTMENT ROOM_NUMBER STREET_ADDRESS_CONTACT PO_BOX CITY STATE_CONTACT ZIPCODE_CONTACT EMAIL

Informational Model Entity-Relational or UML Data Model Entity Data dictionary

Verification Did they build the application right? Does it match the data model?

Functional model Validation Did they build the right application?

2. Functional model Validation Did they build the right application?

3. Behavioral models swim lane model Validation Did they build the right application? Verification Did they build the application right?

3. Behavioral model Validation Did they build the right application? Verification Did they build the application right?

Behavioral model Illustration of status transition model throughout the workflow among departments For the example: PIF = Project Information Form SIF = Study Information Form WSSPU = Water and Sewer Planning Unit

3. Behavioral model workflow/status transition model PIF/SIF Draft Created Released SM-Approved Recommended DD-Approved Transmitted to Design FM-Rejected SM-Rejected DD-Rejected Delayed For the example: PIF = Project Information Form SIF = Study Information Form

SDLC and Security Requirements analysis Design Informational, functional, behavioral, and performance specifications + CIA risk assessment, + Risk-level acceptance, Data models and data dictionary, work process and status transition models, input/output models, data flow models, flow of control models + Threat modeling, + Attack surface analysis,

SDLC Design Security Threat modeling is a systematic approach for understanding how different threats could be realized and a successful attack could take place Microsoft s Threat Modeling Process

SDLC Design Security Attack surface is what is available to be used by an attacker against the application itself Goal of attack surface analysis is to identify and reduce the amount of code and functionality accessible to untrusted users Development team should reduce the attack surface as much as possible to remove resources that can be used as avenues for the attacker to use

MITRE s Common Application Vulnerabilities

MITRE s Common Weakness Enumeration

SDLC and Security Requirements analysis Design Informational, functional, behavioral, and performance specifications + CIA risk assessment, + Risk-level acceptance, Data models and data dictionary, work process and status transition models, input/output models, data flow models, flow of control models + Threat modeling, + Attack surface analysis, Develop ( make ) / Implement ( buy ) Source code control system, code reviews, daily builds, automated CASE tools + Developer security training, + Static analysis, + Secure code repositories,

Code Repositories

SDLC and Security Requirements analysis Informational, functional, behavioral, and performance specifications + CIA risk assessment, + Risk-level acceptance, Design Data models and data dictionary, work process and status transition models, input/output models, data flow models, flow of control models + Threat modeling, + Attack surface analysis, Develop ( make ) / Implement ( buy ) Source code control system, code reviews, daily builds, automated CASE tools + Developer security training, + Static analysis, + Secure code repositories, Testing/Validation Unit testing and integration testing (daily builds), manual and regression testing, user acceptance testing + Dynamic analysis, + Fuzzing,

Testing/validation issue finder developer issue finder developer

Testing/validation

Application security testing tool providers

Dynamic code testing result reports Applications should not accepted until all high and medium issues resolved!

Dynamic code testing result reports Applications should not accepted until all high and medium issues resolved!

SDLC and Security Requirements analysis Informational, functional, behavioral, and performance specifications + CIA risk assessment, + Risk-level acceptance, Design Data models and data dictionary, work process and status transition models, input/output models, data flow models, flow of control models + Threat modeling, + Attack surface analysis, Develop ( make ) / Implement ( buy ) Source code control system, code reviews, daily builds, automated CASE tools + Developer security training, + Static analysis, + Secure code repositories, Testing/Validation Unit testing and integration testing (daily builds), manual and regression testing, user acceptance testing + Dynamic analysis, + Fuzzing, Release/Maintenance Release testing + Separation of duties, +Change management, +Operational practices

Separation of Duties Different environments (development, testing, and production) should be separated, without overlapping access to code, applications and systems The access and ability of developers to modify application code make them the most powerful insider threats and vulnerabilities to information systems Developers should not have access to modify code used in production Code should be tested, submitted to a library, and then sent to the production environment

Releases/Maintenance COTS products should have their security patches Installation programs should be removed from production File and program settings and privileges should be reviewed

Operational concerns Commercial Off The Shelf (COTS) software sources of risk Open source libraries sources of risk Operational Practices System Security Plan (SSP) updates Contingency Plan (BCP/DRP) updates Awareness and training updates Documentation updates

Operational Practices Support training classes User administration and access privileges Backup and restoration Data, applications, configurations, restart instructions and procedures Performing backups: How often? In which ways? Performing backups Offsite storage Testing restoration Ensure implementation of only approved and accredited systems Cryptography keys Generation and Use Protection and storage Audit logs How collected? Where stored? How protected? How analyzed?

Operational Assurance Activities Review Interdependencies among applications and systems Runtime operation Technical controls Verify documentation Of access permissions Is current and accurate Verify proper deregistration i.e. removal of users and privileges Is availability and distribution of output products secure? Are software & hardware licenses fulfilled and warrantees in place?

Other topics: Disposal Storage and protection of cryptographic keys Legal requirements of records retention Archiving federal information Sanitize media

Other topics: COTS Software Clout is key to gain and keep attention of COTS vendors Big markets get attention: U.S. Government? Major vendors starting to see the light Security requirements definition in RFP is important Possible product differentiator Contract security language Growing importance and emphasis

Other topics: Outsourcing Define security goals and policies for software as well as services and hosting Ensure outsourcing maintains the same level of compliance Beware of sub-outsourcing Software security and vendor requirements need to be specific and detailed Education of vendors may be necessary Security requirements definition in RFP is important Possible product differentiator Ongoing patching and support is important

Other topics: Software as a service Who controls the data? Is security adequate for all types of data? Evaluate controls by mapping to data classification Ensure service maintains compliance with policies and security goals Don't forget e-discovery

Test Taking Tip Focus on addressing each question individually As you take the test, if you don't know an answer, don't obsess over it Answer the best way you can or skip over the question and come back to it after you've answered other questions 65

Quiz 66