Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 October 30, 2003 Network Security Assurance Lecture.

Slides:



Advertisements
Similar presentations
IP Security have considered some application specific security mechanisms –eg. S/MIME, PGP, Kerberos, SSL/HTTPS however there are security concerns that.
Advertisements

Internet Protocol Security (IP Sec)
IPSec.
Spring 2012: CS419 Computer Security Vinod Ganapathy SSL, etc.
Internet Security CSCE 813 IPsec
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #17-1 Chapter 17: Introduction to Assurance Overview Why assurance? Trust and.
Working Connection Computer and Network Security - SSL, IPsec, Firewalls – (Chapter 17, 18, 19, and 23)
BASIC CRYPTOGRAPHY CONCEPT. Secure Socket Layer (SSL)  SSL was first used by Netscape.  To ensure security of data sent through HTTP, LDAP or POP3.
IPSec: Authentication Header, Encapsulating Security Payload Protocols CSCI 5931 Web Security Edward Murphy.
ECE 454/CS 594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall.
1 Lecture 15: IPsec AH and ESP IPsec introduction: uses and modes IPsec concepts –security association –security policy database IPsec headers –authentication.
IP Security IPSec 2 * Essential Network Security Book Slides. IT352 | Network Security |Najwa AlGhamdi 1.
IP Security. Overview In 1994, Internet Architecture Board (IAB) issued a report titled “Security in the Internet Architecture”. This report identified.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Internet Protocol Security An Overview of IPSec. Outline:  What Security Problem?  Understanding TCP/IP.  Security at What Level?  IP Security. 
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-1 Chapter 18: Introduction to Assurance Overview Why assurance? Trust and.
1 Pertemuan 11 IPSec dan SSL Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
CMSC 414 Computer and Network Security Lecture 26 Jonathan Katz.
Lecture 22 Internet Security Protocols and Standards modified from slides of Lawrie Brown.
K. Salah1 Security Protocols in the Internet IPSec.
What is in Presentation What is IPsec Why is IPsec Important IPsec Protocols IPsec Architecture How to Implement IPsec in linux.
32.1 Chapter 32 Security in the Internet: IPSec, SSL/TLS, PGP, VPN, and Firewalls Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
IS2150/TEL2910: Introduction of Computer Security1 Nov 15, 2005 Assurance.
OV Copyright © 2013 Logical Operations, Inc. All rights reserved. Network Security  Network Perimeter Security  Intrusion Detection and Prevention.
IP Security: Security Across the Protocol Stack
Cosc 4765 SSL/TLS and VPN. SSL and TLS We can apply this generally, but also from a prospective of web services. Multi-layered: –S-http (secure http),
OV Copyright © 2011 Element K Content LLC. All rights reserved. Network Security  Network Perimeter Security  Intrusion Detection and Prevention.
CSCE 715: Network Systems Security
TCP/IP Protocols Contains Five Layers
IPSec IPSec provides the capability to secure communications across a LAN, across private and public wide area networks (WANs) and across the Internet.
1 Security Protocols in the Internet Source: Chapter 31 Data Communications & Networking Forouzan Third Edition.
Karlstad University IP security Ge Zhang
Chapter 18: Introduction to Assurance Dr. Wayne Summers Department of Computer Science Columbus State University
IPsec Introduction 18.2 Security associations 18.3 Internet Security Association and Key Management Protocol (ISAKMP) 18.4 Internet Key Exchange.
IP Security.  In CERTs 2001 annual report it listed 52,000 security incidents  the most serious involving:  IP spoofing intruders creating packets.
IPSec ● IP Security ● Layer 3 security architecture ● Enables VPN ● Delivers authentication, integrity and secrecy ● Implemented in Linux, Cisco, Windows.
1 Virtual Private Networks (VPNs) and IP Security (IPSec) G53ACC Chris Greenhalgh.
IP Security: Security Across the Protocol Stack. IP Security There are some application specific security mechanisms –eg. S/MIME, PGP, Kerberos, SSL/HTTPS.
Chapter 32 Internet Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
IP security Ge Zhang Packet-switched network is not Secure! The protocols were designed in the late 70s to early 80s –Very small network.
IPSec and TLS Lesson Introduction ●IPSec and the Internet key exchange protocol ●Transport layer security protocol.
Securing Data Transmission and Authentication. Securing Traffic with IPSec IPSec allows us to protect our network from within IPSec secures the IP protocol.
1 Lecture 13 IPsec Internet Protocol Security CIS CIS 5357 Network Security.
Internet Security CSCE 813 IPsec. CSCE813 - Farkas2 TCP/IP Protocol Stack Application Layer Transport Layer Network Layer Data Link Layer.
IPSec  general IP Security mechanisms  provides  authentication  confidentiality  key management  Applications include Secure connectivity over.
IPSec – IP Security Protocol By Archis Raje. What is IPSec IP Security – set of extensions developed by IETF to provide privacy and authentication to.
IPSec is a suite of protocols defined by the Internet Engineering Task Force (IETF) to provide security services at the network layer. standard protocol.
1 IPSec: An Overview Dr. Rocky K. C. Chang 4 February, 2002.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Network Layer Security Network Systems Security Mort Anvari.
K. Salah1 Security Protocols in the Internet IPSec.
Securing Access to Data Using IPsec Josh Jones Cosc352.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
1IS 2150/TEL 2810: Introduction of Computer Security November 8, 2005 Network Security Authentication & Identity Lecture 9.
8-1Network Security Virtual Private Networks (VPNs) motivation:  institutions often want private networks for security.  costly: separate routers, links,
Slide #18-1 Introduction to Assurance CS461/ECE422 Fall 2008 Based on slides provided by Matt Bishop for use with Computer Security: Art and Science.
IPSecurity.
Introduction to Assurance
Chapter 18 IP Security  IP Security (IPSec)
Internet and Intranet Fundamentals
IT443 – Network Security Administration Instructor: Bo Sheng
UNIT.4 IP Security.
Chapter 18: Introduction to Assurance
Virtual Private Networks (VPNs)
Introduction to Assurance
Introduction to Network Security
Presentation transcript:

Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 October 30, 2003 Network Security Assurance Lecture 9

INFSCI 2935: Introduction to Computer Security2 ISO/OSI Model SSL: Security at Transport Layer Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Peer-to-peer Flow of bits

INFSCI 2935: Introduction to Computer Security3 Security at the Transport Layer Secure Socket Layer (SSL) Developed by Netscape to provide security in WWW browsers and servers Developed by Netscape to provide security in WWW browsers and servers SSL is the basis for the Internet standard protocol – Transport Layer Security (TLS) protocol (compatible with SSLv3) SSL is the basis for the Internet standard protocol – Transport Layer Security (TLS) protocol (compatible with SSLv3) Key idea: Connections and Sessions Key idea: Connections and Sessions  A SSL session is an association between two peers  An SSL connection is the set of mechanisms used to transport data in an SSL session

INFSCI 2935: Introduction to Computer Security4 Secure Socket Layer (SSL) Each party keeps session information Each party keeps session information  Session identifier (unique)  The peer’s X.503(v3) certificate  Compression method used to reduce volume of data  Cipher specification (parameters for cipher and MAC)  Master secret of 48 bits Connection information Connection information  Random data for the server & client  Server and client keys (used for encryption)  Server and client MAC key  Initialization vector for the cipher, if needed  Server and client sequence numbers Provides a set of supported cryptographic mechanisms that are setup during negotiation (handshake protocol) Provides a set of supported cryptographic mechanisms that are setup during negotiation (handshake protocol)

INFSCI 2935: Introduction to Computer Security5 SSL Architecture Provides a basis for Secure communication Confidentiality + Message authenticity

INFSCI 2935: Introduction to Computer Security6 SSL Record Protocol Operation e.g., HTTP messages Message type, version, length of block

INFSCI 2935: Introduction to Computer Security7 Handshake Protocol The most complex part of SSL The most complex part of SSL Allows the server and client to authenticate each other Allows the server and client to authenticate each other  Based on interchange cryptosystem (e.g., RSA) Negotiate encryption, MAC algorithm and cryptographic keys Negotiate encryption, MAC algorithm and cryptographic keys  Four rounds Used before any application data are transmitted Used before any application data are transmitted

INFSCI 2935: Introduction to Computer Security8 Other protocols SSL Change Cipher Spec Protocol SSL Change Cipher Spec Protocol  A single byte is exchanged  After new cipher parameters have been negotiated (renegotiated) SSL Alert Protocol SSL Alert Protocol  Signals an unusual condition  Closure alert : sender will not send anymore  Error alert: fatal error results in disconnect

INFSCI 2935: Introduction to Computer Security9 ISO/OSI Model IPSec: Security at Network Layer Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Peer-to-peer Flow of bits

INFSCI 2935: Introduction to Computer Security10 IPSec Set of protocols/mechanisms Set of protocols/mechanisms  Encrypts and authenticates all traffic at the IP level Protects all messages sent along a path Intermediate host with IPSec mechanism (firewall, gateway) is called a security gateway  Use on LANs, WANs, public, and private networks Application independent (Transparent to user) Application independent (Transparent to user)  Web browsing, telnet, ftp… Provides at the IP level Provides at the IP level  Access control  Connectionless integrity  Data origin authentication  Rejection of replayed packets  Data confidentiality  Limited traffic analysis confidentiality

INFSCI 2935: Introduction to Computer Security11 Cases where IPSec can be used Internet/ Intranet End-to-end security between two hosts Internet/ Intranet SG End-to-end security between two security gateways

INFSCI 2935: Introduction to Computer Security12 Cases where IPSec can be used (2) Internet SG Intranet Internet SG Intranet End-to-end security between two hosts + two gateways End-to-end security between two hosts during dial-up

INFSCI 2935: Introduction to Computer Security13 IPSec Protocols Authentication header (AH) protocol Authentication header (AH) protocol  Message integrity  Origin authentication  Anti-replay services Encapsulating security payload (ESP) protocol Encapsulating security payload (ESP) protocol  Confidentiality  Message integrity  Origin authentication  Anti-replay services Internet Key Exchange (IKE) Internet Key Exchange (IKE)  Exchanging keys between entities that need to communicate over the Internet  What authentication methods to use, how long to use the keys, etc.

INFSCI 2935: Introduction to Computer Security14 Security Association (SA) Unidirectional relationship between peers (a sender and a receiver) Unidirectional relationship between peers (a sender and a receiver) Specifies the security services provided to the traffic carried on the SA Specifies the security services provided to the traffic carried on the SA  Security enhancements to a channel along a path Identified by three parameters: Identified by three parameters:  IP Destination Address  Security Protocol Identifier Specifies whether AH or ESP is being used  Security Parameters Index (SPI) Specifies the security parameters associated with the SA

INFSCI 2935: Introduction to Computer Security15 Security Association (2) Each SA uses AH or ESP (not both) Each SA uses AH or ESP (not both)  If both required two are SAs are created Multiple security associations may be used to provide required security services Multiple security associations may be used to provide required security services  A sequence of security associations is called SA bundle  Example: We can have an AH protocol followed by ESP or vice versa

INFSCI 2935: Introduction to Computer Security16 Security Association Databases IP needs to know the SAs that exist in order to provide security services IP needs to know the SAs that exist in order to provide security services Security Policy Database (SPD) Security Policy Database (SPD)  IPSec uses SPD to handle messages  For each IP packet, it decides whether an IPSec service is provided, bypassed, or if the packet is to be discarded Security Association Database (SAD) Security Association Database (SAD)  Keeps track of the sequence number  AH information (keys, algorithms, lifetimes)  ESP information (keys, IVs, algorithms, lifetimes)  Lifetime of the SA  Protocol mode  MTU

INFSCI 2935: Introduction to Computer Security17 IPSec Modes Two modes Two modes  Transport mode Encapsulates IP packet data area IP Header is not protected Protection is provided for the upper layers Usually used in host-to-host communications  Tunnel mode Encapsulates entire IP packet in an IPSec envelope Helps against traffic analysis The original IP packet is untouched in the Internet

INFSCI 2935: Introduction to Computer Security18 Authentication Header (AH) Next header Next header  Identifies what protocol header follows Payload length Payload length  Indicates the number of 32-bit words in the authentication header Security Parameters Index Security Parameters Index  Specifies to the receiver the algorithms, type of keys, and lifetime of the keys used Sequence number Sequence number  Counter that increases with each IP packet sent from the same host to the same destination and SA Authentication Data Authentication Data Authentication Data SequenceNumber Security Parameters Index Payload length Next Header parameters

INFSCI 2935: Introduction to Computer Security19 Preventing replay Using 32 bit sequence numbers helps detect replay of IP packets Using 32 bit sequence numbers helps detect replay of IP packets The sender initializes a sequence number for every SA The sender initializes a sequence number for every SA  Each succeeding IP packet within a SA increments the sequence number Receiver implements a window size of W to keep track of authenticated packets Receiver implements a window size of W to keep track of authenticated packets Receiver checks the MAC to see if the packet is authentic Receiver checks the MAC to see if the packet is authentic

INFSCI 2935: Introduction to Computer Security20 Transport Mode AH Internet/ Intranet Original IP Header TCP Header Payload Data Without IPSec Original IP Header TCP Header Payload Data Auth Header Next Header Payload Length SPI Seq. No. MAC

INFSCI 2935: Introduction to Computer Security21 Tunnel Mode AH Internet SG Intranet Original IP Header TCP Header Payload Data Without IPSec Next Header Payload Length SPI Seq. No. MAC Original IP Header TCP Header Payload Data Auth Header New IP Header

INFSCI 2935: Introduction to Computer Security22 ESP – Encapsulating Security Payload Creates a new header in addition to the IP header Creates a new header in addition to the IP header Creates a new trailer Creates a new trailer Encrypts the payload data Encrypts the payload data Authenticates the security association Authenticates the security association Prevents replay Prevents replay Security Parameters Index (SPI) – 32 bits Sequence Number 32 bits Payload Data Padding/ Next Header Authentication Data

INFSCI 2935: Introduction to Computer Security23 Details of ESP Security Parameters Index (SPI) Security Parameters Index (SPI)  Specifies to the receiver the algorithms, type of keys, and lifetime of the keys used Sequence number Sequence number  Counter that increases with each IP packet sent from the same host to the same destination and SA Payload Payload  Application data carried in the TCP segment Padding Padding  0 to 255 bytes of data to enable encryption algorithms to operate properly  To mislead sniffers from estimating the amount of data transmitted Authentication Data Authentication Data  MAC created over the packet

INFSCI 2935: Introduction to Computer Security24 Transport mode ESP Original IP Header TCP Header Payload Data Without IPSec Original IP Header TCP Header Payload Data ESP Header ESP Trailer ESP Auth Encrypted Authenticated

INFSCI 2935: Introduction to Computer Security25 Tunnel mode ESP Original IP Header TCP Header Payload Data Without IPSec Encrypted Authenticated Original IP Header TCP Header Payload Data ESP Header ESP Trailer ESP Auth New IP Header

INFSCI 2935: Introduction to Computer Security26 Perimeter Defense Organization system consists of a network of many host machines – Organization system consists of a network of many host machines –  the system is as secure as the weakest link Use perimeter defense Use perimeter defense  Define a border and use gatekeeper (firewall) If host machines are scattered and need to use public network, use encryption If host machines are scattered and need to use public network, use encryption  Virtual Private Networks (VPNs)

INFSCI 2935: Introduction to Computer Security27 Perimeter Defense Is it adequate? Is it adequate?  Locating and securing all perimeter points is quite difficult Less effective for large border  Inspecting/ensuring that remote connections are adequately protected is difficult  Insiders attack is often the most damaging

INFSCI 2935: Introduction to Computer Security28 Firewalls Total isolation of networked systems is undesirable Total isolation of networked systems is undesirable  Use firewalls to achieve selective border control Firewall Firewall  Is a configuration of machines and software  Limits network access  Come “for free” inside many devices: routers, modems, wireless base stations etc.  Alternate: a firewall is a host that mediates access to a network, allowing and disallowing certain type of access based on a configured security policy

INFSCI 2935: Introduction to Computer Security29 What Firewalls can’t do They are not a panacea They are not a panacea  Only adds to defense in depth If not managed properly If not managed properly  Can provide false sense of security Cannot prevent insider attack Cannot prevent insider attack Firewalls act a particular layer (or layers) Firewalls act a particular layer (or layers)

INFSCI 2935: Introduction to Computer Security30 Virtual Private Networks What is it? It is a private network that is configured within a public network It is a private network that is configured within a public network A VPN “appears” to be a private national or international network to a customer A VPN “appears” to be a private national or international network to a customer The customer is actually “sharing” trunks and other physical infrastructure with other customers The customer is actually “sharing” trunks and other physical infrastructure with other customers Security? Security?

INFSCI 2935: Introduction to Computer Security31 What is a VPN? (2) A network that supports a closed community of authorized users A network that supports a closed community of authorized users The authorized users are allowed to access various network related resources and services The authorized users are allowed to access various network related resources and services There is traffic isolation There is traffic isolation  Contents are secure  Services and resources are secure Use the public Internet as part of the virtual private network Use the public Internet as part of the virtual private network Provide security! Provide security!  Confidentiality and integrity of data  User authentication  Network access control IPSec IPSec

INFSCI 2935: Introduction to Computer Security32 Secure IP VPNs Use the public Internet as part of the virtual private network Use the public Internet as part of the virtual private network Provide security! Provide security!  Confidentiality and integrity of data  User authentication  Network access control IPSec can be used IPSec can be used

INFSCI 2935: Introduction to Computer Security33 Tunneling in VPN

INFSCI 2935: Introduction to Computer Security34 “Typical” corporate network Web Server Mail forwarding Mail server DNS (internal) DNS (DMZ) Internet File Server User machines Web Server Demilitarized Zone (DMZ) Intranet Firewall

INFSCI 2935: Introduction to Computer Security35 Typical network: Terms Network Regions Network Regions  Internet  Intranet  DMZ Network Boundaries Network Boundaries  Firewall Filtering firewall: Based on packet headers Audit mechanism  Proxy Proxy firewall: Gives external view that hides intranet Contents of packets and messages besides attributes of packet headers

INFSCI 2935: Introduction to Computer Security36 Issues IP: Intranet hidden from outside world IP: Intranet hidden from outside world  Internal addresses can be real Proxy maps between real address and firewall  Fake private addresses Network Address Translation protocol maps internal addresses to the Internet addresses (inner firewall) Mail Forwarding Mail Forwarding  Hide internal addresses  Map incoming mail to “real” server  Additional incoming/outgoing checks

INFSCI 2935: Introduction to Computer Security37 Firewalls: Configuration External Firewall External Firewall  What traffic allowed External source: IP restrictions What type of traffic: Ports (e.g., SMTP, HTTP)  Proxy between DMZ servers and internet Internal Firewall Internal Firewall  Traffic restrictions: Ports, From/to IP  Proxy between intranet and outside

INFSCI 2935: Introduction to Computer Security38 DMZ Administration Direct console access required? Direct console access required?  Real hassle “Special” access “Special” access  SSH connections allowed from internal to DMZ “administration” connections  Only from specified internal IPs  Only through internal firewall

Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security39 Assurance

INFSCI 2935: Introduction to Computer Security40 Overview Trust Trust Problems from lack of assurance Problems from lack of assurance Types of assurance Types of assurance Life cycle and assurance Life cycle and assurance Waterfall life cycle model Waterfall life cycle model Other life cycle models Other life cycle models

INFSCI 2935: Introduction to Computer Security41 Trust Trustworthy entity has sufficient credible evidence leading one to believe that the system will meet a set of requirements Trustworthy entity has sufficient credible evidence leading one to believe that the system will meet a set of requirements Trust is a measure of trustworthiness relying on the evidence Trust is a measure of trustworthiness relying on the evidence Assurance is confidence that an entity meets its security requirements based on evidence provided by the application of assurance techniques Assurance is confidence that an entity meets its security requirements based on evidence provided by the application of assurance techniques  Formal methods, design analysis, testing etc.

INFSCI 2935: Introduction to Computer Security42 Relationships Evaluation standards Trusted Computer System Evaluation Criteria Information Technology Security Evaluation Criteria Common Criteria

INFSCI 2935: Introduction to Computer Security43 Problem Sources (Neumann) 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such as wiring and chip flaws 4.Software implementation errors, program bugs, and compiler bugs 5.System use and operation errors and inadvertent mistakes 6.Willful system misuse 7.Hardware, communication, or other equipment malfunction 8.Environmental problems, natural causes, and acts of God 9.Evolution, maintenance, faulty upgrades, and decommissions

INFSCI 2935: Introduction to Computer Security44 Examples Challenger explosion (1986) Challenger explosion (1986)  Sensors removed from booster rockets to meet accelerated launch schedule Deaths from faulty radiation therapy system Deaths from faulty radiation therapy system  Hardware safety interlock removed  Flaws in software design Bell V22 Osprey crashes Bell V22 Osprey crashes  Failure to correct for malfunctioning components; two faulty ones could outvote a third Intel 486 chip bug (trigonometric function) Intel 486 chip bug (trigonometric function)  Cost a lot of time and money

INFSCI 2935: Introduction to Computer Security45 Role of Requirements Requirements are statements of goals that must be met Requirements are statements of goals that must be met  Vary from high-level, generic issues to low- level, concrete issues Security objectives are high-level security issues and business goals Security objectives are high-level security issues and business goals Security requirements are specific, concrete issues Security requirements are specific, concrete issues

INFSCI 2935: Introduction to Computer Security46 Types of Assurance Policy assurance is evidence establishing security requirements in policy is complete, consistent, technically sound Policy assurance is evidence establishing security requirements in policy is complete, consistent, technically sound  To counter threats and meet objectives Design assurance is evidence establishing design sufficient to meet requirements of security policy Design assurance is evidence establishing design sufficient to meet requirements of security policy Implementation assurance is evidence establishing implementation consistent with security requirements of security policy Implementation assurance is evidence establishing implementation consistent with security requirements of security policy  Need to use good engineering practices

INFSCI 2935: Introduction to Computer Security47 Types of Assurance Operational assurance is evidence establishing system sustains the security policy requirements during installation, configuration, and day-to-day operation Operational assurance is evidence establishing system sustains the security policy requirements during installation, configuration, and day-to-day operation  Also called administrative assurance  Example, Do a thorough review of product or system documentation and procedures, to ensure that the system cannot accidentally be placed in a non-secure state.

INFSCI 2935: Introduction to Computer Security48 Assurance steps

INFSCI 2935: Introduction to Computer Security49 Life Cycle Conception Conception Manufacture Manufacture Deployment Deployment Fielded Product Life Fielded Product Life

INFSCI 2935: Introduction to Computer Security50 Conception Idea Idea  Decisions to pursue it Proof of concept Proof of concept  See if idea has merit  Rapid prototyping, analysis, etc. High-level requirements analysis High-level requirements analysis  What does “secure” mean for this concept? Identify threats  Is it possible for this concept to meet this meaning of security?  Is the organization willing to support the additional resources required to make this concept meet this meaning of security?

INFSCI 2935: Introduction to Computer Security51 Manufacture Develop detailed plans for each group involved Develop detailed plans for each group involved  May depend on use; internal product requires no sales  Plans: marketing, sales training, development, testing  Software development and engineering process Implement the plans to create entity Implement the plans to create entity  Includes decisions whether to proceed, for example due to market needs May be the longest stage May be the longest stage

INFSCI 2935: Introduction to Computer Security52 Deployment Delivery Delivery  Assure that correct (assured) masters are delivered to production and protected  Distribute to customers, sales organizations Installation and configuration Installation and configuration  Developers must ensure that the system operates properly in the production environment

INFSCI 2935: Introduction to Computer Security53 Fielded Product Life Routine maintenance, patching Routine maintenance, patching  Responsibility of engineering in small organizations  Responsibility may be in different group than one that manufactures product Customer service, support organizations Customer service, support organizations  Answering questions; recording bugs Retirement or decommission of product Retirement or decommission of product  Migration plans for customers

INFSCI 2935: Introduction to Computer Security54 Waterfall Life Cycle Model Requirements definition and analysis Requirements definition and analysis  Functional and non-functional  General (for customer), specifications System and software design System and software design Implementation and unit testing Implementation and unit testing Integration and system testing Integration and system testing Operation and maintenance Operation and maintenance

INFSCI 2935: Introduction to Computer Security55 Relationship of Stages

INFSCI 2935: Introduction to Computer Security56 Other Models of Software Development Exploratory programming Exploratory programming  Develop working system quickly  Used when detailed requirements specification cannot be formulated in advance, and adequacy is goal  No requirements or design specification, so low assurance Prototyping (Similar to Exploratory) Prototyping (Similar to Exploratory)  Objective is to establish system requirements  Future iterations (after first) allow assurance techniques

INFSCI 2935: Introduction to Computer Security57 Models Formal transformation Formal transformation  Create formal specification  Translate it into program using correctness- preserving transformations  Very conducive to assurance methods System assembly from reusable components System assembly from reusable components  Depends on whether components are trusted  Must assure connections, composition as well  Very complex, difficult to assure  This is common approach to building secure and trusted systems

INFSCI 2935: Introduction to Computer Security58 Models Extreme programming Extreme programming  Rapid prototyping and “best practices”  Project driven by business decisions  Requirements open until project complete  Programmers work in teams  Components tested, integrated several times a day  Objective is to get system into production as quickly as possible, then enhance it  Evidence adduced after development needed for assurance

INFSCI 2935: Introduction to Computer Security59 Key Points Assurance critical for determining trustworthiness of systems Assurance critical for determining trustworthiness of systems Different levels of assurance, from informal evidence to rigorous mathematical evidence Different levels of assurance, from informal evidence to rigorous mathematical evidence Assurance needed at all stages of system life cycle Assurance needed at all stages of system life cycle

INFSCI 2935: Introduction to Computer Security60