CS 5150 1 CS 5150 Software Engineering Lecture 18 Security.

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.
Access Control Methodologies
McGraw-Hill/Irwin ©2009 The McGraw-Hill Companies, All Rights Reserved CHAPTER 4 ETHICS AND INFORMATION SECURITY Business Driven Information Systems 2e.
VM: Chapter 5 Guiding Principles for Software Security.
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Building Your Own Firewall Chapter 10. Learning Objectives List and define the two categories of firewalls Explain why desktop firewalls are used Explain.
Course ILT Security overview Unit objectives Discuss network security Discuss security threat trends and their ramifications Determine the factors involved.
Security+ Guide to Network Security Fundamentals
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.
Chapter 12 Network Security.
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.
CS CS 5150 Software Engineering Lecture 22 Reliability 3.
8.1 © 2007 by Prentice Hall 8 Chapter Securing Information Systems.
8.1 © 2007 by Prentice Hall 8 Chapter Securing Information Systems.
Chapter 1  Introduction 1 Overview  What is a secure computer system?  Concerns of a secure system o Data: Privacy, Integrity, Availability o Users:
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.
CSE 4482, 2009 Session 21 Personal Information Protection and Electronic Documents Act Payment Card Industry standard Web Trust Sys Trust.
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.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
Lesson 19: Configuring Windows Firewall
Lesson 9-Securing a Network. Overview Identifying threats to the network security. Planning a secure network.
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.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
Network Infrastructure Security. LAN Security Local area networks facilitate the storage and retrieval of programs and data used by a group of people.
Alter – Information Systems 4th ed. © 2002 Prentice Hall 1 E-Business Security.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
OV Copyright © 2011 Element K Content LLC. All rights reserved. System Security  Computer Security Basics  System Security Tools  Authentication.
Lecture 12 Electronic Business (MGT-485). Recap – Lecture 11 E-Commerce Security Environment Security Threats in E-commerce Technology Solutions.
SEC835 Database and Web application security Information Security Architecture.
Network Security Policy Anna Nash MBA 737. Agenda Overview Goals Components Success Factors Common Barriers Importance Questions.
CS CS 5150 Software Engineering Lecture 18 Program Design 3.
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin Business Plug-In B6 Information Security.
The Protection of Information in Computer Systems Part I. Basic Principles of Information Protection Jerome Saltzer & Michael Schroeder Presented by Bert.
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,
FIREWALLS Vivek Srinivasan. Contents Introduction Need for firewalls Different types of firewalls Conclusion.
E-Commerce Security Professor: Morteza Anvari Student: Xiaoli Li Student ID: March 10, 2001.
Information Systems Security
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:
1 Class 15 System Security. Outline Security Threats (External: malware, spoofing/phishing, sniffing, & data theft: Internal: unauthorized data access,
Lecture 19 Page 1 CS 236 Online 16. Account Monitoring and Control Why it’s important: –Inactive accounts are often attacker’s path into your system –Nobody’s.
IT in Business Issues in Information Technology Lecture – 13.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 1 “Overview”. © 2016 Pearson.
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.
06/02/06 Workshop on knowledge sharing using the new WWW tools May 30 – June 2, 2006 GROUP Presentation Group 5 Group Members Ambrose Ruyooka Emmanuel.
Chap1: Is there a Security Problem in Computing?.
CSCE 548 Secure Software Development Security Operations.
Database security Diego Abella. Database security Global connection increase database security problems. Database security is the system, processes, and.
CS 5150 Software Engineering Lecture 17 Program Design 4/ Security & Privacy.
Security Issues CS 560. Security in the software development process The security goal:  To make sure that agents (people or external systems) who interact.
Unit 2 Personal Cyber Security and Social Engineering Part 2.
Securing Information Systems
CS457 Introduction to Information Security Systems
Securing Information Systems
Computer Data Security & Privacy
Securing Information Systems
Security in Networking
Malware, Phishing and Network Policies
Security Issues CS 560 Lecture 9.
INFORMATION SYSTEMS SECURITY and CONTROL
Presentation transcript:

CS CS 5150 Software Engineering Lecture 18 Security

CS Topics for Next Presentation Every project is different, but here are some suggestions: General topics for every project A precise description of what you have agreed to deliver to your client (a shared definition of success). Summary of progress since last presentation. Test plan and test cases. Discussion of unexpected events and risks. Overview of plan to complete and deliver the project. Topics that apply to many projects Results of user testing (if usability is important). Technical issues (if you have a technical client). A demonstration is always welcome

CS Security in the Software Development Process The security goal The security goal is to make sure that the agents (people or external systems) who interact with a computer system, its data, and its resources, are those that the owner of the system would wish to have such interactions. Security considerations need to be part of the entire software development process. They may have a major impact on the architecture chosen. Example. Integration of Internet Explorer into Windows

CS Agents and Components 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 commercial off-the-shelf (COTS) problem The software development challenge: develop secure and reliable components protect whole system so that security problems in parts of it do not spread to the entire system

CS Security Needs and Dangers 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 Butler W. Lampson, 2004

CS Security Techniques: Barriers Place barriers that separate parts of a complex system: Isolate components, e.g., do not connect a computer to a network Firewalls Require authentication to access certain systems or parts of systems Every barrier imposes restrictions on permitted uses of the system Barriers are most effective when the system can be divided into subsystems with simple boundaries

CS Barriers: Firewall Public network Private network Firewall A firewall is a computer 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, e.g., an incoming request to open a TCP connection an unknown packet type Firewalls provide security at a loss of flexibility and a cost of system administration.

CS Security Techniques: Authentication & Authorization Authentication establishes the identity of an agent: What does the agent know (e.g., password)? What does the agent possess (e.g., smart card)? Where does the agent have physical access to (e.g., crt-alt-del)? What are the physical properties of the agent (e.g., fingerprint)? Authorization establishes what an authenticated agent may do: Access control lists Group membership

CS Example: An Access Model for Digital Content Digital material Attributes Authentication Role Actions Operations Authorization Policies User

CS Security Techniques: Encryption Allows data to be stored and transmitted securely, even when the bits are viewed by unauthorized agents and the algorithms are known. Private key and public key Digital signatures Encryption Decryption X Y Y X

CS Security and People People are intrinsically insecure: Careless (e.g., leave computers logged on, leave passwords where others can read them) Dishonest (e.g., stealing from financial systems) Malicious (e.g., denial of service attack) 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 ?

CS Design for Security: People Make it easy for responsible people to use the system (e.g., make security procedures simple) Make it hard for dishonest or careless people (e.g., password management) Train people in responsible behavior Test the security of the system thoroughly and repeatedly, particularly after changes Do not hide violations

CS Programming Secure Software Programs that interface with the outside world (e.g., Web sites) need to be written in a manner that resists intrusion. For the top 25 programming errors, see: Common Weakness Evaluation: A Community-Developed Dictionary of Software Weakness Types. Insecure Interaction Between Components Risky Resource Management Porous Defenses Project management must ensure that programs avoid these errors.

CS Programming Secure Software 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

CS How Secure Should Your System Be? "Practical security balances the cost of protection and the risk of loss, which is the cost of recovering from a loss times its probability... When the 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." "Many companies have learned that although people may complain about inadequate security, they won’t spend much money, sacrifice many features, or put up with much inconvenience to improve it." Butler W. Lampson, 2004

CS Suggested Readings Butler W. Lampson, Computer Security in the Real World. IEEE Computer, June Trust in Cyberspace, Committee on Information Systems Trustworthiness, National Research Council (1999) [Fred Schneider, Cornell Computer Science, was the chair of this study].