This shows you the differences between two versions of the page.
so:cursuri:curs-13 [2013/01/31 21:57] 127.0.0.1 external edit |
so:cursuri:curs-13 [2017/02/23 16:34] (current) razvan.deaconescu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Curs 13 - Android ====== | + | ====== Curs 13 - Securitatea sistemului ====== |
+ | |||
+ | * [[http://elf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf|Curs 13 - Securitatea sistemului (PDF)]] | ||
+ | * Suport curs | ||
+ | * Operating System Concepts Essentials | ||
+ | * Capitolul 13 -- Protection | ||
+ | * Capitolul 14 -- Security | ||
+ | * Secțiunile 14.1, 14.2, 14.5 | ||
+ | * Modern Operating Systems, 3rd Edition | ||
+ | * Capitolul 9 -- Security | ||
+ | * Mai puțin secțiunea 9.6: Exploiting Code Bugs | ||
<html> | <html> | ||
- | <iframe src="https://docs.google.com/present/embed?id=dgbccfz4_821fvvzr9gj&size=m" frameborder="0" width="555" height="451"></iframe> | + | <center> |
+ | <iframe src="https://docs.google.com/viewer?url=http://elf.cs.pub.ro/so/res/cursuri/SO_Curs-13.pdf&embedded=true" width="600" height="480" style="border: none;"> | ||
+ | </iframe> | ||
+ | </center> | ||
</html> | </html> | ||
- | *[[https://docs.google.com/present/view?id=dgbccfz4_821fvvzr9gj | Curs 13 - Android]] | + | ===== Demo-uri ===== |
- | *[[https://docs.google.com/present/edit?id=0AXh5Op_iFi3jZGdiY2NmejRfODIxZnZ2enI5Z2o | Curs 13 - Editare]] | + | |
+ | Pentru parcurgerea demo-urilor, folosiți [[http://elf.cs.pub.ro/so/res/cursuri/curs-13-demo.zip|arhiva aferentă]]. | ||
+ | |||
+ | - Bitul de set-user-ID-on-execution | ||
+ | * Consultați fișierul ''test.c''. | ||
+ | * Scopul acestui program este de a genera un fișier de log care să conțină timestamp-uri aferente fiecărei rulări a sa, de forma ''user: time''. | ||
+ | * Numai owner-ul fișierului are drept de scriere asupra fișierului. | ||
+ | * Folosiți fișierul ''prep_users.sh'' pentru a genera cei doi utilizatori de test. | ||
+ | * Trebuie să aveți drept de sudo pentru a reuși întreg procesul. | ||
+ | * Ca utilizatorul ''master'' (''su - master'') compilați fișierul folosind comanda ''make''. | ||
+ | * Folosiți ''ls -l'' pentru a obține informații complete despre executabilul ''test''. | ||
+ | * Observați că executabiul este deținut de ''master'' și că are bitul de set-user-ID activat.<code bash> | ||
+ | -rwsr-xr-x 1 master master 12315 2014-05-12 22:33 test | ||
+ | </code> | ||
+ | * Ca utilizatorul ''worker'' (''su - worker'') rulați executabilul:<code bash> | ||
+ | ./test | ||
+ | </code> | ||
+ | * Observați cele două tipuri de identificatori de utilizatori: //user id//, //effective user ID//.<code> | ||
+ | worker@erathia:~$ ~master/test | ||
+ | |||
+ | Process started | ||
+ | |||
+ | Setuid on | ||
+ | Effective user name: master; UID: 1002 | ||
+ | Real user name: worker; UID: 1003 | ||
+ | |||
+ | |||
+ | Giving up setuid until opening the file | ||
+ | |||
+ | Setuid off | ||
+ | Effective user name: worker; UID: 1003 | ||
+ | Real user name: worker; UID: 1003 | ||
+ | |||
+ | |||
+ | Wanting to open the file | ||
+ | |||
+ | Setuid on | ||
+ | Effective user name: master; UID: 1002 | ||
+ | Real user name: worker; UID: 1003 | ||
+ | |||
+ | |||
+ | File opened, giving up setuid | ||
+ | |||
+ | Setuid off | ||
+ | Effective user name: worker; UID: 1003 | ||
+ | Real user name: worker; UID: 1003 | ||
- | *Suport curs | ||
- | *Analysis of Dalvik-VM | ||
- | *http://imsciences.edu.pk/serg/wp-content/uploads/2010/10/1st_Analysis-of-Dalvik-VM.pdf | ||
- | *A Survey on Android vs. Linux | ||
- | *http://handycodeworks.com/wp-content/uploads/2011/02/linux_versus_android.pdf | ||
+ | File closed, process done | ||
+ | </code> | ||
+ | * Detalii în [[http://man7.org/linux/man-pages/man7/credentials.7.html|pagina de manual credentials]]. | ||
+ | * Conform principiului least privilege, doar în momentul deschiderii fișierului pentru scriere sunt folosite drepturile utilizatorului owner. | ||
+ | * Observați că se poate reveni la utilizatorul owner al fișierului (//temporary privilege drop//). |