You are on page 1of 20

6.

033 Spring 2018


Lecture #20

• Introduction to security
• Threat models, policy
• Guard model

6.033 | spring 2018 | Katrina LaCurts


© Condé Nast. All rights reserved. This content is excluded from our Creative Commons license. For more
information, see https://ocw.mit.edu/help/faq-fair-use.
2
© Condé Nast. All rights reserved. This content is excluded from our Creative Commons license. For more
information, see https://ocw.mit.edu/help/faq-fair-use.
3
© Condé Nast. All rights reserved. This content is excluded from our Creative Commons license. For more
information, see https://ocw.mit.edu/help/faq-fair-use.
4
© Xudong Zheng. All rights reserved. This content is excluded
5 from our Creative Commons license. For more information,
see https://ocw.mit.edu/help/faq-fair-use.
© Condé Nast. All rights reserved. This content is excluded from our Creative Commons license. For more
information, see https://ocw.mit.edu/help/faq-fair-use.
6
© Insider Inc. All rights reserved. This content is excluded from our Creative Commons license. For more
information, see https://ocw.mit.edu/help/faq-fair-use.
7
© Condé Nast. All rights reserved. This content is excluded from our Creative Commons license. For more
information, see https://ocw.mit.edu/help/faq-fair-use.
8
© Condé Nast. All rights reserved. This content is excluded from our Creative Commons license. For more
information, see https://ocw.mit.edu/help/faq-fair-use.
9
what makes computer security
special?

10

6.033 | spring 2018 | Katrina LaCurts


why is security difficult?

11

6.033 | spring 2018 | Katrina LaCurts


steps towards building a
more secure system:

1. be clear about goals (policy)


2. be clear about assumptions
(threat model)

12

6.033 | spring 2018 | Katrina LaCurts


complete mediation: every request for
resource goes through the guard

server

request
principal guard resource

(identifies client on
server)

authentication: is the principal who they claim to be?


authorization: does principal have access to
perform request on resource?

13

6.033 | spring 2018 | Katrina LaCurts


what can go wrong with the guard
model?

14

6.033 | spring 2018 | Katrina LaCurts


sql injection demo

username | email | public?


karen | karen@fake.com | yes
peter | peter@fake.com | yes
katrina | no

SELECT username, email FROM users WHERE


username='<username>' AND public='yes'

Let <username> = katrina' OR username='

15

6.033 | spring 2018 | Katrina LaCurts


sql injection demo

username | email | public?


karen | karen@fake.com | yes
peter | peter@fake.com | yes
katrina | no

SELECT username, email FROM users WHERE


username='katrina' OR username='' AND
public='yes'

16

6.033 | spring 2018 | Katrina LaCurts


> cd /mit/bob/project
> cat ideas.txt
Hello world.
...
> mail alice@mit.edu < ideas.txt

17

6.033 | spring 2018 | Katrina LaCurts


what can go wrong with the guard
model?

18

6.033 | spring 2018 | Katrina LaCurts


• Adversarial attacks are different from “normal” failures.
They’re targeted, rarely random, and rarely independent.
Just one successful attack can bring down a system.

• Securing a system starts by specifying our goals (policy)


and assumptions (threat model).

• The guard model provides complete mediation. Even


though things can still go wrong, systems that use this
model avoid common pitfalls.

19

6.033 | spring 2018 | Katrina LaCurts


MIT OpenCourseWare
https://ocw.mit.edu

6.033 Computer System Engineering


Spring 2018

For information about citing these materials or our Terms of Use, visit: https://ocw.mit.edu/terms.

20

You might also like