Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)

Slides:



Advertisements
Similar presentations
Internal Control–Integrated Framework
Advertisements

© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
8.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
Chapter 1 The Systems Development Environment
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
Chapter 10 Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
SEC835 Database and Web application security Information Security Architecture.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences between requirements activities and design activities.
The Design Discipline.
UML - Development Process 1 Software Development Process Using UML (2)
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Architecting secure software systems
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Understand Application Lifecycle Management
OHT 11.1 © Marketing Insights Limited 2004 Chapter 9 Analysis and Design EC Security.
ETICS2 All Hands Meeting VEGA GmbH INFSOM-RI Uwe Mueller-Wilm Palermo, Oct ETICS Service Management Framework Business Objectives and “Best.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
OCTAVE-S on TradeSolution Inc.. Introduction Phase 1: Critical Assets and threats Phase 2: Critical IT Components Phase 3: Changes Required in current.
Chapter 7 System models.
Lecture 7: Requirements Engineering
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 4 Intranets and Extranets. Awad –Electronic Commerce 2/e © 2004 Pearson Prentice Hall 2 OBJECTIVES Introduction Technical Infrastructure Planning.
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.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
Control and Security Frameworks Chapter Three Prepared by: Raval, Fichadia Raval Fichadia John Wiley & Sons, Inc
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
E-Commerce E-Commerce Security?? Instructor: Safaa S.Y. Dalloul E-Business Level Try to be the Best.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
By Ramesh Mannava.  Overview  Introduction  10 secure software engineering topics  Agile development with security development activities  Conclusion.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
1 The XMSF Profile Overlay to the FEDEP Dr. Katherine L. Morse, SAIC Mr. Robert Lutz, JHU APL
Abstract descriptions of systems whose requirements are being analysed
Chapter 22 Object-Oriented Systems Analysis and Design and UML
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Software Development Process Using UML Recap
Presentation transcript:

Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)

Introduction WWW has evolved from static info dispatcher to full blown distributed computing environment E-commerce: Business to Customer Transactions Business to Business Transactions E-commerce systems are built on top of the WWW and internet, which are well known for their exposure to security threats of various kinds

Security Design and Software Development Process SSE-CMM (Systems Security Engineering Capability Maturity Model) Security Engineering: Risk Process: identifies and prioritizes dangers inherent to the developed product or system Engineering Process: Works with the other engineering disciplines to determine and implement solutions to the problems presented by the dangers Assurance Process: Establishes confidence in the security solutions and conveys this confidence to users or customers

SSE-CMM provides a concrete framework in the design and development of a secured system. designed to be generic applied to different domains. defines “what” but not “how”. SSE-CMM is going to be used as a framework to specify SDPSS by further defining details of how to design and develop secured e-commerce systems for different application domains.

SDPSS Risk Process SSE-CMM requires assessment of 4 entities: Impact Security risk Threats Vulnerabilities

Risk Data Repository Information Security Model (RDR) Focuses on risk documentation and captures risk information about the entities and their linkages Entities are grouped under 3 domains: Environment domain: entities that host or support the operation of the information processing system Platform domain: Covers the description of the information processing system and its related threats and countermeasures Asset domain: Represents information assets that are of certain value.

RDR concept used…but adapted select entities that are relevant in software development and represent them as an object oriented design pattern entities are modeled as classes and the links between entities are represented as associations between classes in an object oriented design

Security Design Pattern Entities are represented as classes which contain attributes describing the properties and methods defining operations that can be performed on the classes. Vulnerabilities, Threats, Risks, and Impacts Asset – represents a unit of the e-commerce system being designed that has a value and loss of it may have an impact, financially or otherwise. Deployment – a combination of hardware/software on which the asset operates. Vulnerabilities are then classified into 2 main categories: asset vulnerabilities and deployment vulnerabilities.

Example A function in an e-commerce system, which is responsible to send out purchase orders in the form of . This function is an asset and the purchase order being intercepted is the vulnerability. The cost of damage to the company if the purchase orders are tempered is the impact. The potential of being intercepted is represented as the risk attribute in the link class threat and one of the countermeasures is to perform encryption before the purchase order is sent.

Software Development Process as the Engineering Process The software process used to reengineer three-tier client/server systems to Web- based systems is adopted and extended with security design considerations. It is based on unified modeling language (UML).

UML and SDPSS To facilitate communication between designers, five types of diagrams are selected to support SDPSS: Use case Class Collaboration Component Deployment diagrams

4 steps The proposed SDPSS has 4 major steps: Object and collaboration modeling Tier Identification Component Identification Deployment Specification

SDPSS is designed to… Model e-commerce applications in a well-defined manner Provide a generic model Security design will be meaningful and applicable across different application domains Document the architecture of e-commerce application with clear and precise definition of security perimeters Give flexibility to designers to perform trade-off in security design on top of functional design according to defined design goals

Object and Collaboration Modeling Object modeling Capture the functional requirements of the system using use case diagrams Establish the general layout of the system design in terms of class diagrams. Collaboration Modeling Analyze how objects or classes interact with each other. Goal: to ensure all functional requirements are met by step-wise refinement and going through all identified use cases.

Specifying Security Needs Through Tier Identification Objects are first grouped into tiers according to functional requirements and deployment considerations. Tiers are examined according to vulnerabilities, risks and impacts to identify assets. Regrouping may be necessary corresponding countermeasures, risks and impact could be specified and documented The mapping of tiers to assets therefore brings together the risk process and the engineering process.

Component Identification Component – identifies sets of objects that are coherent in terms of functional requirements and are reused. Criteria to identify components: A component serves as the basic unit of security perimeter Components are derived from objects coming from the same tier Components are derived from objects coming from the same physical deployment, i.e. same technological platform.

Deployment Specification and Platform Security Possible to deploy different parts of the system on more than one platform. In UML notation deployment diagrams describe physical machines used to run components. Too restrictive for e-commerce applications Semantics of node in UML extended to include deployment technology specification. Identify a set of known vulnerabilities for that platform. The risk of deploying a tier of components can be evaluated and suitable countermeasures can be built into the design.

Deployment (continued) A link between a deployment and an asset representing the software components of that asset would be run in the deployment platform. Before the coding phase of a project starts: designers can model different deployment scenarios balance the pros and cons make a trade-off to arrive at an optimal solution.

Example An internet server provides web services to external clients and the intranet server provides database access and internal inventory control operations. Security design considerations for the 2 servers are quite different. The intranet server should have very stringent security needs and should be protected behind a firewall Internet server has to be opened to the Internet and other countermeasures should be employed.

The Assurance Process With the assistance of CASE (computer aided software engineering) tools All security related design information would be accessible as a central repository Possible to perform various assurance exercises with the model Whether security needs are met and can be checked by verifying that assets are actually linked to the correct vulnerabilities, tiers and components are correctly aggregated into assets and linked to deployment properly.

Example It is the company policy to require that any order information sent to a supplier must be encrypted. To verify this, a cross-reference report could be generated from CASE tools and see if the vulnerability association of the place order component actually points to the repudiation vulnerability.

Conclusion All vulnerabilities, impacts, threats and risks could be continuously monitored and updated. Countermeasures could be improved and verified through feedback from actual deployment or security alerts issued by vendors. By separating the risk and the engineering process, any updated countermeasures can be easily implemented without intensive modification of the application system. Dedicated teams with clear responsibilities can be separately assigned to the risk, engineering and assurance process sharing the centralized model built from the SDPSS.

Chan, M.T. and L.F. Kwok, "Integrating Security Design Into the Software Development Process for E- Commerce Systems", Information Management & Computer Security, Volume 9, No Pages