Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.

Slides:



Advertisements
Similar presentations
Secure Design Principles  secure the weakest link  reduce the attack surface  practice defense in depth  minimize privilege  compartmentalize  fail.
Advertisements

Lecture 2 Page 1 CS 236, Spring 2008 Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
INTERNET SAFETY FOR STUDENTS
Presented by Manager, MIS.  GRIDCo’s intentions for publishing an Acceptable Use Policy are not to impose restrictions that are contrary to GRIDCo’s.
Viruses & Security Threats Unit 1 – Understanding Computer Systems JMW 2012.
Internet Safety By Stephanie Jarrard. What is the Internet?  “Internet” is a shortened name for “Interconnected networks”  The internet is a global.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
MOBILE DEVICE SECURITY. WHAT IS MOBILE DEVICE SECURITY? Mobile Devices  Smartphones  Laptops  Tablets  USB Memory  Portable Media Player  Handheld.
Csci5233 Computer Security1 Bishop: Chapter 27 System Security.
Lecture 17 Page 1 CS 111 Spring 2015 Operating System Security CS 111 Operating Systems Peter Reiher.
CMSC 414 Computer (and Network) Security Lecture 14 Jonathan Katz.
Safe Use of Social Media Cadets – Air Force’s Future.
Lecture 15 Page 1 Advanced Network Security Perimeter Defense in Networks: Firewalls Configuration and Management Advanced Network Security Peter Reiher.
GOLD UNIT 4 - IT SECURITY FOR USERS (2 CREDITS) Rebecca Pritchard.
Phishing scams Phishing is the fraudulent practice of sending s purporting to be from reputable companies in order to induce individuals to reveal.
3.05 Protect Your Computer and Information Unit 3 Internet Basics.
Linux Security. Authors:- Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel, of CodeSourcery LLC published by New Riders Publishing.
Security CS Introduction to Operating Systems.
Computer security By Isabelle Cooper.
Lecture 13 Page 1 CS 236 Online Principles for Secure Software Following these doesn’t guarantee security But they touch on the most commonly seen security.
Lecture 18 Page 1 CS 111 Online OS Use of Access Control Operating systems often use both ACLs and capabilities – Sometimes for the same resource E.g.,
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Cyber Safety Mohammad Abbas Alamdar Teacher of ICT STS Ajman – Boys School.
Computer Security By Duncan Hall.
Basic Security Concepts University of Sunderland CSEM02 Harry R Erwin, PhD.
Lecture 17 Page 1 Advanced Network Security Network Denial of Service Attacks Advanced Network Security Peter Reiher August, 2014.
Confidentiality, Integrity, Awareness What Does It Mean To You.
Lecture 3 Page 1 CS 236 Online Security Mechanisms CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Outline of this module By the end of this module, you will be able to: Identify the benefits of using social networking to communicate with family and.
Lecture 2 Page 1 CS 136, Spring 2016 Security Principles, Policies, and Tools CS 136 Computer Security Peter Reiher March 31, 2016.
Lecture 12 Page 1 CS 136, Spring 2009 Network Security: Firewalls CS 136 Computer Security Peter Reiher May 12, 2009.
Lecture 2 Page 1 CS 236 Online Security Policies Security policies describe how a secure system should behave Policy says what should happen, not how you.
Lecture 14 Page 1 CS 236 Online Secure Programming CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 9 Page 1 CS 236 Online Firewalls What is a firewall? A machine to protect a network from malicious external attacks Typically a machine that sits.
7/10/20161 Computer Security Protection in general purpose Operating Systems.
Internet Safety.
Creating your online identity
Outline Security design principles Security policies Basic concepts
Outline Security terms and concepts Security policies Basic concepts
Outline Basic concepts in computer security
Unit 4 IT Security.
Outline Designing secure protocols Key exchange protocols
Firewall Configuration and Administration
Password Management Limit login attempts Encrypt your passwords
Outline What does the OS protect? Authentication for operating systems
Putting It All Together
Putting It All Together
Introduction to Computer Security
Certificates An increasingly popular form of authentication
Outline Security design principles Security policies Basic concepts
SQL Injection Attacks Many web servers have backing databases
Outline Introduction Characteristics of intrusion detection systems
Safe Online Dating – Tips Every Women Should Know
Outline What does the OS protect? Authentication for operating systems
Computer Security Computer viruses Hardware theft Software Theft Unauthorized access by hackers Information Theft Computer Crimes.
Computer Security for Businesses
Risk of the Internet At Home
Web Security Advanced Network Security Peter Reiher August, 2014
Certificates An increasingly popular form of authentication
How to Mitigate the Consequences What are the Countermeasures?
Topic 5: Communication and the Internet
Engineering Secure Software
What Are Our Security Goals?
Computer Security Protection in general purpose Operating Systems
Certificates An increasingly popular form of authentication
6. Application Software Security
Outline The concept of perimeter defense and networks Firewalls.
Founded in 2002, Credit Abuse Resistance Education (CARE) educates high school and college students on the responsible use of credit and other fundamentals.
Presentation transcript:

Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher

Outline Security terms and concepts Security policies Basic concepts Security policies for real systems

Security and Protection Security is a policy E.g., “no unauthorized user may access this file” Protection is a mechanism E.g., “the system checks user identity against access permissions” Protection mechanisms implement security policies

Policy vs. Mechanism That’s a mechanism That’s a policy People shouldn’t drive that fast in my neighborhood! That’s a mechanism That’s a policy That’s a different type of mechanism

Trust An extremely important security concept You do certain things for those you trust You don’t do them for those you don’t Seems simple, but . . .

Problems With Trust How do you express trust? Why do you trust something? How can you be sure who you’re dealing with? What if trust is situational? What if trust changes?

An Important Example Consider a typical home computer Let’s say it only has one user What’s trust got to do with this case? What if it connects to the Internet? Do we treat everything out on the Internet as trusted? If not, how do we tell what to trust? And just how much?

Continuing Our Example Main() { . . . } Main() { . . . } Main() { . . . } Main() { . . . } Main() { . . . } Main() { . . . } And what about the software it runs? Is it all equally trusted? If not, how do we determine exactly what each program should be allowed to do?

Trust Is Not a Theoretical Issue Most vulnerabilities that are actually exploited are based on trust problems Attackers exploit overly trusting elements of the computer From the access control model to the actual human user Taking advantage of trust that shouldn’t be there Such a ubiquitous problem that some aren’t aware of its existence

A Trust Problem A user is fooled into downloading a Trojan horse program He runs it and it deletes a bunch of files on his computer Why was this program trusted at all? Why was it trusted to order the deletion of unrelated files?

Another Example of Trust Problems Phishing Based on fooling users into clicking on links leading to bad sites Usually resulting in theft of personal information Why does the user (or his computer) trust those sites? Or the email message telling him to go there?

A Third Example of Trust Problems Buffer overflows A mechanism for taking control of a running program Allows attacker to tell the program to do things it wasn’t designed to Why should that program be able to do arbitrary things, anyway? Why did we trust it to do things it didn’t need to do?

Transitive Trust I trust Alice Alice trusts Bob David trusts Carol Bob So do I trust Carol? I trust Alice Alice trusts Bob Should I? David trusts Carol Bob trusts David

Examples of Transitive Trust Trust systems in peer applications Chains of certificates But also less obvious things Like a web server that calls a database The database perhaps trusts the web server itself But does it necessarily trust the user who invoked the server? Programs that call programs that call programs are important cases of transitive trust

Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least common mechanism Acceptability Fail-safe defaults

Economy in Security Design Economical to develop And to use And to verify Should add little or no overhead Should do only what needs to be done Generally, try to keep it simple and small

Complete Mediation Apply security on every access to a protected object E.g., each read of a file, not just the open Also involves checking access on everything that could be attacked

Open Design Don’t rely on “security through obscurity” Assume all potential attackers know everything about the design And completely understand it This doesn’t mean publish everything important about your security system Though sometimes that’s a good idea Obscurity can provide some security, but it’s brittle When the fog is cleared, the security disappears

Separation of Privileges Provide mechanisms that separate the privileges used for one purpose from those used for another To allow flexibility in security systems E.g., separate access control on each file

Least Privilege Give bare minimum access rights required to complete a task Require another request to perform another type of access E.g., don’t give write permission to a file if the program only asked for read

Least Common Mechanism Avoid sharing parts of the security mechanism among different users among different parts of the system Coupling leads to possible security breaches

Acceptability Mechanism must be simple to use Simple enough that people will use it without thinking about it Must rarely or never prevent permissible accesses

Fail-Safe Designs Default to lack of access So if something goes wrong or is forgotten or isn’t done, no security lost If important mistakes are made, you’ll find out about them Without loss of security But if it happens too often . . .

Thinking About Security When considering the security of any system, ask these questions: What assets are you trying to protect? What are the risks to those assets? How well does the security solution mitigate those risks? What other security problems does the security solution cause? What tradeoffs does the security solution require? (This set of questions was developed by Bruce Schneier, for his book Beyond Fear)

An Example Access to computers in the graduate workstation room Current security solution Entry to room requires swipe card Must provide valid CS department user ID and password to log in

Think About the Questions What assets are we trying to protect? What are the risks to those assets? How well does the security solution mitigate those risks? What other security problems does the security solution cause? What tradeoffs does the security solution require?