SIIS Lab - Spring 2007 - Sandra Rueda Page 1
Sandra Rueda - ruedarod@cse.psu.edu Boniface Hicks, Trent Jaeger, Patrick McDaniel Systems and Internet Infrastructure Security Lab Department of Computer Science and Engineering
Integrating SELinux and Security-typed Languages Sandra Rueda - - - PowerPoint PPT Presentation
Integrating SELinux and Security-typed Languages Sandra Rueda - ruedarod@cse.psu.edu Boniface Hicks, Trent Jaeger, Patrick McDaniel Systems and Internet Infrastructure Security Lab Department of Computer Science and Engineering SIIS Lab -
SIIS Lab - Spring 2007 - Sandra Rueda Page 1
Sandra Rueda - ruedarod@cse.psu.edu Boniface Hicks, Trent Jaeger, Patrick McDaniel Systems and Internet Infrastructure Security Lab Department of Computer Science and Engineering
SIIS Lab - Spring 2007 - Sandra Rueda Page 2
SIIS Lab - Spring 2007 - Sandra Rueda Page 3
SELinux: Policy management tools
secadm, load_policy, setrans, setfiles, semanage, restorecon, newrole
Startup utilities
bootloader, initrc, init, local_login
File tools
dpkg_script, dpkg, rpm, mount, fsadm
Network utilities
iptables, sshd, remote_login, NetworkManager
Auditing, logging services
logrotate, klogd, auditd, auditctl
Hardware, device mgmt
hald, dmidecode, udev, kudzu
Miscellaneous services
passwd, tmpreaper, insmod, getty, consoletype, pam_console
SIIS Lab - Spring 2007 - Sandra Rueda Page 4
Secret Secret Public In Out
SIIS Lab - Spring 2007 - Sandra Rueda Page 5
Secret Secret Public In Out
SIIS Lab - Spring 2007 - Sandra Rueda Page 6
SIIS Lab - Spring 2007 - Sandra Rueda Page 7
SIIS Lab - Spring 2007 - Sandra Rueda Page 8
SIIS Lab - Spring 2007 - Sandra Rueda Page 9
single domain and among domains
SIIS Lab - Spring 2007 - Sandra Rueda Page 10
Require additional resources, more complex management
Prone to error
No guarantee of completeness We are still subject to manual inspection
SIIS Lab - Spring 2007 - Sandra Rueda Page 11
SIIS Lab - Spring 2007 - Sandra Rueda Page 12
SIIS Lab - Spring 2007 - Sandra Rueda Page 13
– High level configurable policy – Connected with existing system
SIIS Lab - Spring 2007 - Sandra Rueda Page 14
SIIS Lab - Spring 2007 - Sandra Rueda Page 15
SELinux socket label SELinux file label
SIIS Lab - Spring 2007 - Sandra Rueda Page 16
getfd() fsetfilecon() getsockopt() Label Mapping: Jif runtime environment was extended OS functions supporting the extension
SIIS Lab - Spring 2007 - Sandra Rueda Page 17
jif_input {p1} jif_output {p3}
SELinux Domain Jif Domain Jif guarantees p1 ≤ p2 and p2 ≤ p3 (p3 is at least as secret as p2 and p2 is at least as secret as p1) s1 ≤ s2 ? jif_intermediate {p2}
SIIS Lab - Spring 2007 - Sandra Rueda Page 18
user_u:object_r:jpmail_t:s1 ←→ {.*:.*:.*:p1} user_u:object_r:jpmail_t:s2 ←→ {.*:.*:.*:p3} SELinux Jif Label Mapping:
Application flows: {p1 -> p2, p2 -> p3, p1 -> p3} 2. renaming shared levels: p2 is not shared p1 -> p3 becomes s1 -> s2
jif_in {p1} jif_out {p3}
SELinux Jif jif_int {p2}
SIIS Lab - Spring 2007 - Sandra Rueda Page 19
Code for SELinux Policy Code for Jif Policy XSB Engine yes / no XSB Engine
get all OS-relevant flows verify flows
SIIS Lab - Spring 2007 - Sandra Rueda Page 20
type jpmail_t typeattribute jpmail_t mlsnetreadtoclr typeattribute jpmail_t mlsnetwritetoclr allow jpmail_t self:tcp_socket relabelfrom relabelto allow jpmail_t self:association recvfrom sendto spdadd addr1 addr2 any -ctx 1 1 “user_u:object_r:jpmail_t:s1”
SIIS Lab - Spring 2007 - Sandra Rueda Page 21
1. Application is developed in security-typed language 2. Developer defines high-level policy for the application 3. Application is invoked 4. The operating system checks policy compliance 5. Application is initiated
SIIS Lab - Spring 2007 - Sandra Rueda Page 22
SIIS Lab - Spring 2007 - Sandra Rueda Page 23
SIIS Lab - Spring 2007 - Sandra Rueda Page 24
SIIS Lab 07].
2007,CSE SIIS Lab 07], [USENIX Annual 07 - to appear].
SIIS Lab - Spring 2007 - Sandra Rueda Page 25
Out x