CS 360 Lecture 9.  The security goal:  To make sure that agents (people or external systems) who interact with a computer system, its data and resources,

Slides:



Advertisements
Similar presentations
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Advertisements

Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 21 Reliability 3.
SECURITY IN E-COMMERCE VARNA FREE UNIVERSITY Prof. Teodora Bakardjieva.
Crime and Security in the Networked Economy Part 4.
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Information Security Policies and Standards
Security+ Guide to Network Security Fundamentals
Mar 12, 2002Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities SSL/TLS.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
Client/Server Computing Model of computing in which very powerful personal computers (clients) are connected in a network with one or more server computers.
6/4/2015National Digital Certification Agency1 Security Engineering and PKI Applications in Modern Enterprises Mohamed HAMDI National.
CS 501: Software Engineering Fall 2000 Lecture 14 System Architecture I Data Intensive Systems.
8.1 © 2007 by Prentice Hall 8 Chapter Securing Information Systems.
8.1 © 2007 by Prentice Hall 8 Chapter Securing Information Systems.
8.1 © 2007 by Prentice Hall 8 Chapter Securing Information Systems.
Mar 4, 2003Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities.
CS CS 5150 Software Engineering Lecture 24 Reliability 4.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 20 Reliability 2.
Lecture 11 Reliability and Security in IT infrastructure.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 20 Reliability 2.
Security Overview. 2 Objectives Understand network security Understand security threat trends and their ramifications Understand the goals of network.
CS CS 5150 Software Engineering Lecture 19 Reliability 1.
Network Infrastructure Security. LAN Security Local area networks facilitate the storage and retrieval of programs and data used by a group of people.
Network security policy: best practices
Alter – Information Systems 4th ed. © 2002 Prentice Hall 1 E-Business Security.
SSH Secure Login Connections over the Internet
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
OV Copyright © 2011 Element K Content LLC. All rights reserved. System Security  Computer Security Basics  System Security Tools  Authentication.
Chapter 13 Network Security. Contents Definition of information security Role of network security Vulnerabilities, threats and controls Network security.
Lecture 12 Electronic Business (MGT-485). Recap – Lecture 11 E-Commerce Security Environment Security Threats in E-commerce Technology Solutions.
Chapter 10: Authentication Guide to Computer Network Security.
CS CS 5150 Software Engineering Lecture 18 Program Design 3.
BUSINESS B1 Information Security.
Tutorial Chapter 5. 2 Question 1: What are some information technology tools that can affect privacy? How are these tools used to commit computer crimes?
CS CS 5150 Software Engineering Lecture 18 Security.
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin Business Plug-In B6 Information Security.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
E-Commerce Security Professor: Morteza Anvari Student: Xiaoli Li Student ID: March 10, 2001.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
John Carpenter & lecture & Information Security 2008 Lecture 1: Subject Introduction and Security Fundamentals.
Chapter 1 Overview The NIST Computer Security Handbook defines the term Computer Security as:
SESSION 14 INFORMATION SYSTEMS SECURITY AND CONTROL.
McGraw-Hill/Irwin ©2008 The McGraw-Hill Companies, All Rights Reserved INFORMATION SECURITY SECTION 4.2.
1 Network and E-commerce Security Nungky Awang Chandra Fasilkom Mercu Buana University.
IT Security. What is Information Security? Information security describes efforts to protect computer and non computer equipment, facilities, data, and.
Internet Security and Firewall Design Chapter 32.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
CPT 123 Internet Skills Class Notes Internet Security Session B.
CS 5150 Software Engineering Lecture 17 Program Design 4/ Security & Privacy.
Policies and Security for Internet Access
Fall 2006CS 395: Computer Security1 Key Management.
1 © 2004, Cisco Systems, Inc. All rights reserved. Wireless LAN (network) security.
IS3220 Information Technology Infrastructure Security
Vijay V Vijayakumar.  Implementations  Server Side Security  Transmission Security  Client Side Security  ATM’s.
Security Issues CS 560. Security in the software development process The security goal:  To make sure that agents (people or external systems) who interact.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Engineering Secure Software. A Ubiquitous Concern  You can make a security mistake at every step of the development lifecycle  Requirements that allow.
Security Issues in Information Technology
Chapter 40 Internet Security.
INFORMATION SYSTEMS SECURITY AND CONTROL.
Secure Sockets Layer (SSL)
INFORMATION SECURITY The protection of information from accidental or intentional misuse of a persons inside or outside an organization Comp 212 – Computer.
Security in Networking
Security Issues CS 560 Lecture 9.
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
INFORMATION SYSTEMS SECURITY and CONTROL
Security.
Exam 1 review CS 360 Lecture 20.
Presentation transcript:

CS 360 Lecture 9

 The security goal:  To make sure that agents (people or external systems) who interact with a computer system, its data and resources, are those who the owner of the system would wish to have such interactions.  Security considerations need to be part of the software development process. 2

 Develop security requirements:  Security requirements developed along with other requirements  Functional, user, legal, etc.  Risk analysis  Identify all threats  Develop security policies  Used as guidelines for requirements 3

 Develop:  Threat models  Security models  Security architectures  Secure communication models 4

 Implementation of security features  From the requirements  Using good design and coding practices 5

 Testing of the code developed in the previous stage  Creation and validation of security tests  Security vulnerability tracking  Code reviews 6

 Monitoring security requirements  Upgrade/update security procedures when needed 7

 Causes for system security maintenance:  Customer feedback  Security incident details and vulnerability reports  Types of maintenance:  Introduction of new security functionality  Upgrade existing security based on technology trends 8

 Needs:  Secrecy: control of who gets to read information  Integrity: control of how information changes or resources are used.  Availability: providing prompt access to information and resources  Accountability: knowing who has had access to resources  Dangers:  Damage to information: Integrity  Disruption of service:Availability  Theft of money:Integrity  Theft of information:Secrecy  Loss of privacy:Secrecy 9

 How secure should your system be?  Building secure systems adds cost and time to software development  “practical security balances the cost of protection and the risk of loss. When a risk is less than the cost of recovering, it’s better to accept it as a cost of doing business..than to pay for better security.” Butler W. Lampson,

 Example: Credit card system  Option A:  The card is plastic with all data (name, number, expiration data, etc.) readable by anyone who has access to the card. A copy of the signature is written on the card.  This is a cheap system to implement, but does little to discourage fraud.  Banks in the USA use this system.  Option B (Chip and PIN):  The card has an embedded security chip. To use the card, the security chip must be read by a special reader and the user must type in a secret 4-digit number.  This provides greater protection against fraud, but is more expensive and slightly less convenient for both merchant and user.  Banks in Europe use this system. 11

 People are inherently insecure  Careless (leaving computer logged on, sharing passwords)  Dishonest (stealing, lying)  How is this working out for Volkswagen?  Malicious (denial of service attacks)  Many security problems come from inside the organization  In a large organization, there will be some disgruntled and dishonest employees  Security relies on trusted individuals. What if they are dishonest? 12

 Make it easy for responsible people to use your system  Make security procedures simple  Make it hard for dishonest or careless people to use your system  Password management, malicious users  Train people/users/employees in responsible behavior  Test the security of your system thoroughly and often, particularly after changes  Do not hide security violations 13

 The software development challenge  Develop secure and reliable components  Protect the system so that security problems in parts of it do not spread to the entire system  A large system will have many agents and components  Each is potentially unreliable and insecure  Components acquired from third parties may have unknown security problems  The commercial off-the-shelf (COTS) problem  Developers of COTS software have considerable incentives to supply software that has many options and features  In developing such software rapidly, they have fewer incentives to be thorough about security 14

 Place barriers that separate different parts of a complex system:  Isolate components  EX: some computers are not connected to a network  Firewalls  Require authentication to access certain systems or parts of the system 15

 A firewall is a component at the junction of two network segments that:  Inspects every packet that attempts to cross the boundary  Rejects any packet that does not satisfy certain criteria  An incoming request to open a TCP connection  An unknown packet type  Firewalls provide increased security at a loss of flexibility, inconvenience for users, and extra system administration. 16

 Authentication: establishes the identity of an agent:  What does the agent know? (password, url)  What does the agent possess? (smart card)  What does the agent have physical access to? (network, computer)  What are the physical properties of the agent? (fingerprint)  Authorization: establishes what an authenticated agent may do  Access control lists  Manager  administrator  Group memberships  Sudoers group  WebDev group 17

 Allows data to be stored and transmitted securely, even when the bits are viewed by unauthorized agents, and the encryption algorithms are known  Public/Private key encryption 18

 Also known as asymmetric cryptography  User (Alice) generates a key value which they make public  Alice then use the public key (plus additional info) to generate a private key  Only Alice knows the private key  Others can use Alice’s public key to encrypt a message for Alice  Alice can use the private key to decrypt the message  Example: RSA (used extensively)  Select two very large prime numbers, P and Q.  Compute the product M = P * Q, and make M publically available. (Public Key)  RSA recommends M that’s at least 768 bits long  Next compute T = (P-1) * (Q-1)  The user maintains the value of T, P, and Q as a secret. (Private Key) 19

 Programs that interface with the outside world (websites, mail servers, etc.) need to be written in a manner that resists intrusion.  Insecure interactions between components  Risky resource management  Porous defences  Project management and test procedures must ensure that programs avoid these errors.  For the top 25 programming errors, see:  20

 The following list is from the SANS security institute, Essential Skills for Secure Programmers Using Java/JavaEE,  Input handling  Authentication & session management  Access control (authorization)  Java types & JVM management  Application faults & logging  Encryption services  Concurrency and threading  Connection patterns 21

 Butler W. Lampson, “Computer Security in the Real World”. IEEE Computer, June  PDF posted on the course website 22

 Materials (Today’s lecture is excluded from Exam 0):  Feasibility documentation and purpose  Software processes  Project management  Requirements analysis  Scenarios and diagrams (UML)  System architectures  Textbook chapters: 1, 2, 4, 5, 23  Supplemental readings  Exam: five questions, one to omit, graded out of four.  Each question equally weighted (25% each)  Detailed answers must be legible (marked incorrect if I can’t read your answer)  Answer quality/detail will determine your score for each question  Possible multiple section questions; a, b, c,..  One hour to complete the exam in class (1:50pm – 2:50pm)  You may use one 3 x 5 note card on the exam. (front and back) 23