Introduction and Security Principles
CS 161 Fall 2023 - Lecture 1
Computer Science 161
First Half of Today: Introductions and Logistics
2
Computer Science 161
Staff Introductions
3
Computer Science 161
Who Am I? Peyrin (he/him)
4
Actual real picture of me.
Computer Science 161
Our team of talented TAs!
Come back Friday to see this slide. Sorry.
5
Computer Science 161
Course Overview
6
Computer Science 161
Learning Objectives
7
Computer Science 161
Course Outline
8
Computer Science 161
Extra Tools and Skills
9
Computer Science 161
Prerequisites
10
Computer Science 161
Course Logistics
11
Computer Science 161
Enrollment
12
Computer Science 161
Course Structure: Lectures
13
In-person | Synchronous online | Asynchronous online |
|
|
|
Computer Science 161
Course Structure: Discussions
14
In-person | Synchronous online | Asynchronous online |
|
|
|
Computer Science 161
Course Structure: Office Hours
15
Computer Science 161
Course Structure: Exams
16
Computer Science 161
Resources
17
Computer Science 161
Platforms
18
Computer Science 161
Grading Structure
19
Computer Science 161
Class Policies: Extensions
20
Computer Science 161
Class Policies: DSP
21
Computer Science 161
Class Policies: Collaboration
22
Computer Science 161
Class Policies: Academic Honesty
23
Computer Science 161
Class Policies: Academic Honesty
24
Computer Science 161
Ethics
25
Computer Science 161
Stress Management and Mental Health
26
Computer Science 161
Course Climate
27
Computer Science 161
Case Studies and Blue Slides
28
Computer Science 161
What is security?
29
Computer Science 161
What is security?
Enforcing a desired property in the presence of an attacker
data confidentiality
user privacy
data and computation integrity
authentication
availability
…
30
Computer Science 161
Why is security important?
31
Computer Science 161
Why is security important?
32
| |
FBI probe of alleged plane hack sparks worries over flight safety | |
Drew Harwell | May 18, 2015 |
| |
Pacemaker hack can kill via laptop | |
Jeremy Kirk | October 21, 2012 |
Computer Science 161
Why is security important?
33
In 2020, there were over 1001 breaches, affecting the data of 155,000,000 individuals
| |
91 Percent of Healthcare Organizations Suffered Data Breaches in the Past Two Years | |
Jeff Goldman | May 12, 2015 |
| |
Data Breach Tracker: All the Major Companies That Have Been Hacked | |
Karavbrandeisky | October 30, 2014 |
Computer Science 161
Why is security important?
34
| |
America’s Electric Grid Has a Vulnerable Back Door—and Russia Walked Through It | |
Rebecca Smith and Rob Barry | January 10, 2019 |
A Wall Street Journal reconstruction of the worst known hack into the nation’s power system reveals attacks on hundreds of small contractors | |
Computer Science 161
What is hackable?
35
| |
For the First Time, Hackers Have Used a Refrigerator to Attack Businesses | |
Julie Bort | January 17, 2014 |
Computer Science 161
Security Principles
Textbook Chapter 1
36
Computer Science 161
Second Half of Today: Security Principles
37
Computer Science 161
Know Your Threat Model
Textbook Chapter 1.1 & 1.12
38
Computer Science 161
The Parable of the Bear Race
“I don’t have to outrun the bear. I just have to outrun you.”�Takeaway: You often just need to have “good enough” defense to make attackers turn somewhere else.
39
Reminder: blue slides are case studies. Remember the takeaway, not the story!
Computer Science 161
Security Principle: Know Your Threat Model
40
Computer Science 161
Security Principle: Know Your Threat Model
41
Computer Science 161
The National Security Agency (NSA)
42
Computer Science 161
Threat Model: Common Assumptions for Attackers
43
Computer Science 161
Trusted Computing Base
44
Computer Science 161
Consider Human Factors
Textbook Chapter 1.2
45
Computer Science 161
Warning Dialogs
46
When you send information to the Internet, it might be possible for others to see that information. Do you want to continue?
In the future, do not show this message.
Yes
No
Computer Science 161
Warning Dialogs
47
When you see a dialog box like this, click ‘Yes’ to make it go away. If available, click the checkbox first to avoid being bothered by it again.
Yes
No
In the future, do not show this message.
Computer Science 161
Warning Dialogs
48
Examine Certificate...
Accept this certificate permanently
Accept this certificate temporarily for this session
Do not accept this certificate and do not connect to this Web site
Website Certified by an Unknown Authority
Unable to verify the identity of svn.xiph.org as a trusted site.
Possible reasons for this error:
- Your browser does not recognise the Certificate Authority that issued the site’s certificate.
- The site’s certificate is incomplete due to a server misconfiguration.
- You are connected to a site pretending to be svn.xiph.org, possibly to obtain your confidential information.
Please notify the site’s webmaster about this problem.
Before accepting this certificate, you should examine this site’s certificate carefully. Are you willing to accept this certificate for the purpose of identifying the Web site svn.xiph.org?
OK
Cancel
Computer Science 161
Warning Dialogs
49
View Incomprehensible Information
The presence of warning dialogs often represent a failure: How is the user supposed to know what to do?�Takeaway: Consider human factors
Unable to verify the identity of svn.xiph.org as a trusted site.
Blah blah geekspeak geekspeak geekspeak.
Before accepting this certificate, your browser can display a second dialog full of incomprehensible information. Do you want to view this dialog?
Make this message go away permanently
Make this message go away temporarily for this session
Stop doing what you were trying to do
OK
Cancel
Computer Science 161
Security Principle: Consider Human Factors
50
Physical security keys use the fact that humans are trained to safeguard keys
Computer Science 161
Security is Economics
Textbook Chapter 1.3
51
Computer Science 161
Physical Safes
Takeaway: Security is economics
52
TL-15 ($3,000)�15 minutes with common tools
TL-30 ($4,500)�30 minutes with common tools
TRTL-30 ($10,000)�30 minutes with common tools and a cutting torch
TXTL-60 (>$50,000)�60 minutes with common tools, a cutting torch, and up to 4 oz of explosives
Computer Science 161
Security Principle: Security is Economics
53
Computer Science 161
Detect If You Can’t Prevent
Textbook Chapter 1.4
54
Computer Science 161
Burglar Alarms
55
Computer Science 161
Security Principle: Detect if You Can’t Prevent
56
Computer Science 161
Response: Mitigation and Recovery
57
Computer Science 161
Detection but no Response
58
| |
Hacked Bitcoin Exchange Says Users May Share $68 Million Loss | |
Lulu Yilun Chen and Yuji Nakamura | August 5, 2016 |
Computer Science 161
Defense in Depth
Textbook Chapter 1.5
59
Computer Science 161
The Theodosian Walls of Constantinople
60
Computer Science 161
Security Principle: Defense in Depth
61
Computer Science 161
Least Privilege
Textbook Chapter 1.6
62
Computer Science 161
uTorrent
63
Computer Science 161
uTorrent
64
Computer Science 161
uTorrent
65
Computer Science 161
uTorrent
66
Computer Science 161
uTorrent
67
Computer Science 161
Security Principle: Least Privilege
68
Computer Science 161
Separation of Responsibility
Textbook Chapter 1.7
69
Computer Science 161
Welcome to a Nuclear Bunker
70
Computer Science 161
Security Principle: Separation of Responsibility
71
Computer Science 161
Ensure Complete Mediation
Textbook Chapter 1.8 & 1.13
72
Computer Science 161
Spot the Issue
73
Computer Science 161
Security Principle: Ensure Complete Mediation
74
The cars drove around the barrier
Computer Science 161
Time-of-Check to Time-of-Use
75
procedure withdrawal(w)
// contact central server to get balance
1. let b := balance
2. if b < w, abort
// contact server to set balance
3. set balance := b - w
4. give w dollars to user
Suppose you have $5 in your account. How can you trick this system into giving you more than $5?
Computer Science 161
Time-of-Check to Time-of-Use
76
withdrawal(5)�1. let b := balance�2. if b < w, abort
withdrawal(5)�1. let b := balance�2. if b < w, abort�
// contact server to set balance�3. set balance := b - w��4. give w dollars to user
// contact server to set balance�3. set balance := b - w��4. give w dollars to user
The machine gives you $10!
Time
Computer Science 161
Don’t Rely on Security Through Obscurity
Textbook Chapter 1.9
77
Computer Science 161
Accident on Motorway
78
Here’s the hidden computer inside the sign.
Here’s a highway sign.
Here’s the control panel. Most signs use the default password, DOTS.
Computer Science 161
Caution! Zombies Ahead!!!
Note: Do not ever do this. Yes, some former CS 161 students did it once.
79
Computer Science 161
Trapped in Sign Factory! Send Help!
Takeaway: Shannon’s maxim/Don’t rely on security through obscurity
80
Computer Science 161
Security Principle: Shannon’s Maxim
81
Assume the attacker knows where the “secret” control panel is located, and has read the manual with instructions on resetting the password.
Computer Science 161
Use Fail-Safe Defaults
Textbook Chapter 1.10
82
Computer Science 161
Soda Hall
83
Computer Science 161
Security Principle: Use Fail-Safe Defaults
84
Computer Science 161
Design in Security from the Start
Textbook Chapter 1.11
85
Computer Science 161
Security Principle: Design in Security from the Start
86
Computer Science 161
Security Principles: Summary
87
Computer Science 161