race condition attack countermeasures€¦ · race condition page 12 . least privilege principle...

14
Race Condition Attack Countermeasures Topics Race Condition Page 1

Upload: others

Post on 06-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Race Condition Attack Countermeasures

Topics

Race Condition Page 1

Page 2: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

What is Race Condition 

Race Condition Page 2

Page 3: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

A Vulnerable Program 

Race Condition Page 3

Page 4: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Another Vulnerable Program

Race Condition Page 4

Page 5: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

How to Attack

Race Condition Page 5

Page 6: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Attacking Script

Race Condition Page 6

Page 7: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Question 

Here is another piece of code int flag; …… if (flag == 0) { write_to_file(f); } else { // print out eror }    

Race Condition Page 7

Page 8: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Countermeasures

Race Condition Page 8

Page 9: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Make Operation Atomic 

Race Condition Page 9

Page 10: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Check‐Use‐Repeating Approach

Race Condition Page 10

Page 11: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Race Condition Page 11

Page 12: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Ubuntu's Sticky Link Protection 

Turn on the protection

What the protection mean

The result

Race Condition Page 12

Page 13: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Least Privilege Principle

Race Condition Page 13

Page 14: Race Condition Attack Countermeasures€¦ · Race Condition Page 12 . Least Privilege Principle Race Condition Page 13 . Question We are thinking about using the least‐privilege

Question

We are thinking about using the least‐privilege principle to defend against the buffer‐overflow attack. Namely, before executing the vulnerable function, we disable the root privilege; after the vulnerable function returns, we enable the privilege back. 

Does this work? Why or why not?

Race Condition Page 14