CS111, Lecture 17�Trust and Operating Systems
Benjamin Xie, Ph.D.
Embedded EthiCS Fellow�benjixie@stanford.edu | benjixie.com
Do Now:
This document is copyright (C) Stanford Computer Science and Nick Troccoli, licensed under Creative Commons Attribution 2.5 License. All rights reserved.�Based on slides and notes created by John Ousterhout, Jerry Cain, Chris Gregg, and others. NOTICE RE UPLOADING TO WEBSITES: This content is protected and may not be shared, uploaded, or distributed. (without expressed written permission)
1
Who/What do you trust? How do you warrant that trust?
2
CS111 Ethics Topic: Trust
Synchronization
Thread Dispatcher
Trust
Locks, Condition Vars, & Trust
Assign 2
Assign 3
This (mini)
Lecture
Assign 4
3
Learning Goals
Understand how trust emerges and manifests with operating systems
4
Plan For Today
5
Plan For Today
6
Trust in OS for Standardization
7
Plan For Today
8
Trust as an unquestioning attitude
9
Trusting software is extending agency
CT Nguyen: Trust as an unquestioning attitude
10
Risk: Agential Gullibility
11
Takeaway: Trust is powerful, necessary, risky
If I trust people or things (e.g. SW), I …
=> Trust (by extending agency) with great care!
12
Self-assessment on trust
Think back to the person/thing/service you trusted…
How does trusting them extend your agency/functioning?
How might/did you exhibit agential gullibility? (trust more than is warranted)
What would be/was the result of your trust being violated?
13
Self-assessment on trust
Think back to the person/thing/service you trusted… TurboTax Tax Preparation Software
How does trusting them extend your agency/functioning?
> Able to complete taxes more efficiently and had more confidence I did it correctly.
How might/did you exhibit agential gullibility? (trust more than is warranted)
> Tricked into paying for service even though it was legally supposed to be free.
What would be/was the result of your trust being violated?
> Feeling of betrayal. Stopped using software. �
14
Plan For Today
15
Three paths to trust
Paul B. de Laat: How can contributors to open-source communities be trusted? On the assumption, inference, and substitution of trust
16
Self-assessment on how trust manifests
Identify one person/thing/service that you trust by…
Assumption (trust absent clues to warrant it)
Inference (trust from evidence of past performance, characteristics, institutions)
Substitution (structural arrangement to partly decrease the need for trust)
17
Self-assessment on how trust manifests
Identify one person/thing/service that you trust by…
Assumption (trust absent clues to warrant it)
> Anyone warning me about imminent danger (e.g. “look out for the car!”)
Inference (trust from evidence of past performance, characteristics, institutions)
> Password management service (inferred trust based on online reviews, review of privacy policy)
Substitution (structural arrangement to partly decrease the need for trust)
> Keep some important passwords stored locally and not on app
18
Plan For Today
19
Linux is hard to trust
1.1 million commits
13.9k contributors
8+ million lines of code
20
Users Trusting Linux
21
App Developers Trusting Linux
22
OS Developers Trusting Linux
“I don’t like the idea of having developers do their own updates in my kernel source tree. (...) �“there really aren’t that many people that I trust enough to give write permissions to the kernel tree.” �– Linus Torvalds
23
Trusting systems involves trusting people
Thompson, Ken. "Reflections on trusting trust." Communications of the ACM 27.8 (1984): 761-763.
24
Recap
Ethics takeaway: Trust is often required, powerful, and dangerous. Key design challenge is how we design structures that enable us to substitute trust.
Benjamin Xie, Ph.D.
Embedded EthiCS Fellow�benjixie@stanford.edu | benjixie.com
25
Interaction between apps and OSs
Operating Systems
Technology built over OS
26
Examples of OS and app interactions
Changes to OS can affect applications
Example: Windows 95 disabled competitors’ apps
Changes to applications can affect OS usage
Example: virtual desktop introduces vulnerabilities
Eric Roberts, CS181
27