Lecture 13 Page 1 CS 236 Online Secure Programming CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Advertisements

Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
Evaluating a Software Architecture By Desalegn Bekele.
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.
CSCD 555 Research Methods for Computer Science
User studies. Why user studies? How do we know security and privacy solutions are really usable? Have to observe users! –you may be surprised by what.
Lecture 19 Page 1 CS 111 Online Security for Operating Systems: Cryptography, Authentication, and Protecting OS Resources CS 111 On-Line MS Program Operating.
Lecture 7 Page 1 CS 236 Online Password Management Limit login attempts Encrypt your passwords Protecting the password file Forgotten passwords Generating.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
Lecture 4 Page 1 CS 236 Online Prolog to Lecture 4 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 10 Page 1 CS 236 Online Prolog to Lecture 10 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Lecture 13 Page 1 CS 136, Fall 2014 Secure Programming Computer Security Peter Reiher December 2, 2014.
Lecture 15 Page 1 CS 236 Online Evaluating System Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 15 Page 1 Advanced Network Security Perimeter Defense in Networks: Firewalls Configuration and Management Advanced Network Security Peter Reiher.
Lecture 1 Page 1 CS 188, Winter 2011 Introduction CS 188 Secure Design for Embedded Systems Peter Reiher January 3, 2011.
Software Project Management Lecture 11. Outline Brain Storming session  Some simple discussion on questions and their answers  Case studies related.
Lecture 16 Page 1 Advanced Network Security Perimeter Defense in Networks: Virtual Private Networks Advanced Network Security Peter Reiher August, 2014.
Social Media Roundup Bad social media: 7 Ways to lose your audience.
INTRO TO USABILITY Lecture 12. What is Usability?  Usability addresses the relationship between tools and their users. In order for a tool to be effective,
Lecture 13 Page 1 Advanced Network Security Authentication and Authorization in Local Networks Advanced Network Security Peter Reiher August, 2014.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
An Introduction to Software Engineering
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
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 19 Page 1 CS 236 Online Securing Your System CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 7 Page 1 CS 236 Online Authentication CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
In Search of Usable Security: Five Lessons from the Field Presentation by 王志誠.
CS 5150 Software Engineering Lecture 2 Software Processes 1.
Evaluating Architectures. Quality Control Rarely fun, but always necessary 1.
Lecture 2 Page 1 CS 236 Online Prolog to Lecture 2 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
CSCD 330 Network Programming Winter 2015 Lecture 1 - Course Details.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
OPIM 3801: Principles of Project Management Last Day of Class.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Lecture 17 Page 1 CS 236 Online Prolog to Lecture 17 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 16 Page 1 CS 236 Online Exploiting Statelessness HTTP is designed to be stateless But many useful web interactions are stateful Various tricks.
Lecture 3 Page 1 CS 236 Online Prolog to Lecture 3 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 14 Page 1 CS 136, Fall 2012 Secure Programming CS 136 Computer Security Peter Reiher November 15, 2012.
Lecture 1 Page 1 CS 236 Online Introduction CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
First week. Catalog Description This course explores basic cultural, social, legal, and ethical issues inherent in the discipline of computing. Students.
Lecture 15 Page 1 CS 236 Online Evaluating Running Systems Evaluating system security requires knowing what’s going on Many steps are necessary for a full.
Lecture 3 Page 1 CS 236 Online Introduction to Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 8 Page 1 CS 236 Online Prolog to Lecture 8 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 3 Page 1 CS 236 Online Security Mechanisms CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 13 Page 1 CS 236 Online Intrusion Detection Systems CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 10 Page 1 CS 111 Online Memory Management CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 4 Page 1 CS 111 Summer 2013 Scheduling CS 111 Operating Systems Peter Reiher.
Lecture 12 Page 1 CS 136, Spring 2009 Network Security: Firewalls CS 136 Computer Security Peter Reiher May 12, 2009.
CSE403 Software Engineering Autumn 2001 Gary Kimura Lecture #2 October 3, 2001.
Lecture 18 Page 1 CS 236 Online Prolog to Lecture 18 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
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.
Outline Basic concepts in computer security
DDoS In the Real World Do DDoS attacks really happen?
Outline Properties of keys Key management Key servers Certificates.
Secure Software and the Law
E 96 Introduction to Engineering Design Peter Reiher UCLA
Outline What does the OS protect? Authentication for operating systems
Putting It All Together
Putting It All Together
Outline Introduction Principles for secure software
DDoS In the Real World Do DDoS attacks really happen?
Outline Introduction Characteristics of intrusion detection systems
Outline What does the OS protect? Authentication for operating systems
Professor John Canny Fall 2001 Oct 16, 2001
Mandatory Access Control and the Real World
Secure Programming CS 136 Computer Security Peter Reiher March 2, 2010
Welcome to the CSBM workshop:
Presentation transcript:

Lecture 13 Page 1 CS 236 Online Secure Programming CS 236 On-Line MS Program Networks and Systems Security Peter Reiher

Lecture 13 Page 2 CS 236 Online Outline Introduction Principles for secure software Choosing technologies Major problem areas Evaluating program security

Lecture 13 Page 3 CS 236 Online Introduction How do you write secure software? Basically, define security goals And use techniques that are likely to achieve them Ideally, part of the whole process of software development –Not just some tricks programmers use

Lecture 13 Page 4 CS 236 Online Designing for Security Often developers design for functionality –“We’ll add security later” Security retrofits have a terrible reputation –Insecure designs offer too many attack opportunities Designing security from the beginning works better

Lecture 13 Page 5 CS 236 Online For Example, Windows 95 and its descendants Not designed with security in mind Security professionals assume any networked Windows 95 machine can be hacked –Despite later security retrofits

Lecture 13 Page 6 CS 236 Online Defining Security Goals Think about which security properties are relevant to your software –Does it need limited access? –Privacy issues? –Is availability important? And the way it interacts with your environment –Even if it doesn’t care about security, what about the system it runs on?

Lecture 13 Page 7 CS 236 Online Security and Other Goals Security is never the only goal of a piece of software Usually not the primary goal Generally, secure software that doesn’t meet its other goals is a failure Consider the degree of security required as an issue of risk

Lecture 13 Page 8 CS 236 Online Managing Software Security Risk How much risk can this software tolerate? What compromises can you make to minimize that risk? –Often other goals conflict with security –E.g., should my program be more usable or require strong authentication? Considering tradeoffs in terms of risks can clarify what you need to do

Lecture 13 Page 9 CS 236 Online Risk Management and Software Development Should consider security risk as part of your software development model E.g., in spiral model, add security risk analysis phase to the area of spiral where you evaluate alternatives Considering security and risks early can avoid pitfalls later Returning to risk when refining is necessary

Lecture 13 Page 10 CS 236 Online Incorporating Security Into Spiral Model of SW Development Include security in the risks you consider At all passes through the spiral

Lecture 13 Page 11 CS 236 Online But How Do I Determine Risk? When you’re just thinking about a big new program, how can you know about its risks? Well, do the best you can –Apply your knowledge and experience –Really think about the issues and problems –Use a few principles and tools we’ll discuss That puts you ahead of 95% of all developers You can’t possibly get it all right, but any attention to risk is better than none

Lecture 13 Page 12 CS 236 Online Design and Security Experts Someone on a software development team should understand security –The more they understand it, the better –Ideally, someone on team should have explicit security responsibility Experts should be involved in all phases –Starting from design