Introduction and Security Principles
CS 161 Summer 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? Madison (she/hers)
4
Computer Science 161
Who Am I? Ana (she/hers)
5
Computer Science 161
Our team of talented staff!
6
Abhi Ganesh
he/him
Andrei Tan
he/him
Derek Awender
he/him
Eric Huang
he/him
Medhaav Mahesh
he/him
Henry Zeng
he/him
Minjune Kim
he/him
Kenneth Lien
he/him
Lawrence Shieh
he/him
Levy Deng
he/him
Hari Vallabhaneni
he/him
Imran Khaliq-Baporia
he/him
Nicholas Ngai
he/him
Phillip Chen
he/him
Pradyun Kumar
he/him
Sai Achalla
he/him
Sora Kanosue
he/him
Vibha Tantry
she/hers
Vron Vance
they/them
Ryan Cottone
he/him
Lyna Jiang
she/hers
EvanBot
any/all
Trader Joe’s, likes writing
cryptography fan
El Psy Congroo
saw Hachiko at 5am
Computer Science 161
Course Overview
7
Computer Science 161
Learning Objectives
8
Computer Science 161
Course Outline
9
Computer Science 161
Extra Tools and Skills
10
Computer Science 161
Prerequisites
11
Computer Science 161
Course Logistics
12
Computer Science 161
Enrollment
13
Computer Science 161
Course Structure: Lectures
14
In-person | Synchronous online | Asynchronous online |
|
|
|
Computer Science 161
Course Structure: Discussions
15
In-person | Synchronous online | Asynchronous online |
|
|
|
Computer Science 161
Course Structure: Office Hours
16
Computer Science 161
Course Structure: Exams
17
Computer Science 161
Resources
18
Computer Science 161
Platforms
19
Computer Science 161
Grading Structure
20
Computer Science 161
Class Policies: Extensions
21
Computer Science 161
Class Policies: DSP
22
Computer Science 161
Class Policies: Collaboration
23
Computer Science 161
Class Policies: Academic Honesty
24
Computer Science 161
Class Policies: Academic Honesty
25
Computer Science 161
Ethics
26
Computer Science 161
Stress Management and Mental Health
27
Computer Science 161
Course Climate
28
Computer Science 161
Case Studies and Blue Slides
29
Computer Science 161
What is security?
30
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
…
31
Computer Science 161
Why is security important?
32
Computer Science 161
Why is security important?
33
| |
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?
34
In 2020, there were over 1001 breaches, affecting the data of 155,000,000 individuals
Computer Science 161
Why is security important?
35
| |
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?
36
| |
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
37
Computer Science 161
Second Half of Today: Security Principles
38
Computer Science 161
Know Your Threat Model
Textbook Chapter 1.1 & 1.12
39
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.
40
Reminder: blue slides are case studies. Remember the takeaway, not the story!
Computer Science 161
Security Principle: Know Your Threat Model
41
Computer Science 161
Security Principle: Know Your Threat Model
42
Computer Science 161
The National Security Agency (NSA)
43
Computer Science 161
Threat Model: Common Assumptions for Attackers
44
Computer Science 161
Trusted Computing Base
45
Computer Science 161
TCB example
Goal: only authorized users are allowed to log into a system using SSH
What is the TCB:
Examples of what is not in the TCB:
46
Computer Science 161
Consider Human Factors
Textbook Chapter 1.2
47
Computer Science 161
Warning Dialogs
48
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
49
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
50
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
51
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
52
Physical security keys use the fact that humans are trained to safeguard keys
Computer Science 161
Security is Economics
Textbook Chapter 1.3
53
Computer Science 161
Physical Safes
Takeaway: Security is economics
54
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
55
Computer Science 161
Detect If You Can’t Prevent
Textbook Chapter 1.4
56
Computer Science 161
Burglar Alarms
57
Computer Science 161
Security Principle: Detect if You Can’t Prevent
58
Computer Science 161
Response: Mitigation and Recovery
59
Computer Science 161
Detection but no Response
60
| |
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
61
Computer Science 161
The Theodosian Walls of Constantinople
62
Computer Science 161
Security Principle: Defense in Depth
63
Computer Science 161
Least Privilege
Textbook Chapter 1.6
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