Systems and Internet Infrastructure Security (SIIS) Laboratory Page
Systems and Internet Infrastructure Security
Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA
1
Attack Graphs Systems and Internet Infrastructure Security (SIIS) - - PowerPoint PPT Presentation
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Attack Graphs Systems and Internet Infrastructure Security (SIIS)
Systems and Internet Infrastructure Security (SIIS) Laboratory Page
Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA
1
Penn State Systems and Internet Infrastructure Security Lab Page
2
Systems and Internet Infrastructure Security (SIIS) Laboratory Page
Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA
3
Penn State Systems and Internet Infrastructure Security Lab Page
4
such defenses and (2) process firewall that protects system call interface
Penn State Systems and Internet Infrastructure Security Lab Page
5
attacks
system services
Penn State Systems and Internet Infrastructure Security Lab Page
6
separated daemons (OpenSSH)
BSD)
in separate processes (Chrome, OP browsers)
content from modifying system (MIC, antivirus)
ports (host firewalls, labeled networking)
Penn State Systems and Internet Infrastructure Security Lab Page
the system
TrustedBSD, SELinux, AppArmor, Windows MIC*, etc)
7
OS Reference Monitor Security Server
a b q p r
Policy
User Space Kernel Space
Penn State Systems and Internet Infrastructure Security Lab Page
8
security requirements
comprehensively
Secmark Firewall)
Penn State Systems and Internet Infrastructure Security Lab Page
in mind
9
Penn State Systems and Internet Infrastructure Security Lab Page
integrity data at others
integrity data at others
multiple, independent components, connecting them to external resources
components corresponds to their defenses
problem
10
Penn State Systems and Internet Infrastructure Security Lab Page
take to compromise a system
programs and system MAC policies
adversaries
11
Penn State Systems and Internet Infrastructure Security Lab Page
take to compromise a system
programs and system MAC policies
adversaries
12
Penn State Systems and Internet Infrastructure Security Lab Page
access (i.e., contains an error) is a compliance problem:
goal policy
the goal policy
13
Penn State Systems and Internet Infrastructure Security Lab Page
14
etc_t var_t sbin_t installer_t read,write read,write read,write kernel_t read,write read,write read ftpd_t read read read
var_t installer_t kernel_t ftpd_t etc_t sbin_t
read read,write
Penn State Systems and Internet Infrastructure Security Lab Page
15
graph
var_t installer_t kernel_t ftpd_t etc_t sbin_t
Penn State Systems and Internet Infrastructure Security Lab Page
16
graph
rules that guarantee the integrity of the system
High Low
Penn State Systems and Internet Infrastructure Security Lab Page
17
graph
rules that guarantee the integrity of the system
var_t installer_t kernel_t ftpd_t etc_t sbin_t
High Low
Penn State Systems and Internet Infrastructure Security Lab Page
18
graph
rules that guarantee the integrity of the system
var_t installer_t kernel_t ftpd_t etc_t sbin_t
High Low
Do all flows meet the requirements defined by the goal ?
High Low
Penn State Systems and Internet Infrastructure Security Lab Page
as Jif, Sif, SELinks, FlowCaml
19
Penn State Systems and Internet Infrastructure Security Lab Page
20
policies
ways
allow httpd_t self:tcp_socket create_stream_socket_perms; allow httpd_t self:udp_socket create_socket_perms; # Allow httpd_t to put files in /var/cache/httpd etc manage_dirs_pattern(httpd_t, httpd_cache_t, httpd_cache_t) manage_files_pattern(httpd_t, httpd_cache_t, httpd_cache_t) manage_lnk_files_pattern(httpd_t, httpd_cache_t, httpd_cache_t) # Allow the httpd_t to read the web servers config files allow httpd_t httpd_config_t:dir list_dir_perms; allow httpd_t self:tcp_socket create_stream_socket_perms; allow httpd_t self:udp_socket create_socket_perms; # Allow httpd_t to put files in /var/cache/httpd etc manage_dirs_pattern(httpd_t, httpd_cache_t, httpd_cache_t) manage_files_pattern(httpd_t, httpd_cache_t, httpd_cache_t) manage_lnk_files_pattern(httpd_t, httpd_cache_t, httpd_cache_t) # Allow the httpd_t to read the web servers config files allow httpd_t httpd_config_t:dir list_dir_perms;VMM OS Net App App OS Net App Web Server VMM OS Net App DB Server
Penn State Systems and Internet Infrastructure Security Lab Page
21
specified
the size of the goal increases with the size of the distributed system
to error
VMM OS Net App App OS Net App Web Server VMM OS Net App DB Server
Penn State Systems and Internet Infrastructure Security Lab Page
adversaries [Howard of Microsoft]
22
httpd_t Read line 357 Pread line 421 Read line 256 Readahead line 559 Readv line 987 file file
Penn State Systems and Internet Infrastructure Security Lab Page
questionable
23
Penn State Systems and Internet Infrastructure Security Lab Page
24
Penn State Systems and Internet Infrastructure Security Lab Page
conservative set of security constraints, little is known about what function is permissible
solution that complies with a goal policy (security only)
25
Penn State Systems and Internet Infrastructure Security Lab Page
26
component1
…
componentn Compliant System-Wide MAC Policy Optional Specification
Penn State Systems and Internet Infrastructure Security Lab Page
27
Hierarchical Data Flow Graph
Task Two: Bulld System-Wide Information Flow Model Task One: Build System-Wide Data Flow Graph
Information Flow Model
Task Three: Generate System-Wide MAC Policy
System-WIde MAC Policy (DIFC-Flume)
MAC Policies Integrity Requirements
+
System Components
Penn State Systems and Internet Infrastructure Security Lab Page
28
Server Host
DB VM
Priv VM VMM Network Servers (DNS, DHCP) App Client
Web VM
MAC MAC MAC MAC
Penn State Systems and Internet Infrastructure Security Lab Page
29
Server Server VM Backend VM
httpd process
app process
Expr
Host Responsibility (VMM) Some Responsibility (VM/OS) Less Responsibility (Process) Client
Process
Network
Some Responsibility (OS)
Other External
Penn State Systems and Internet Infrastructure Security Lab Page
components in distributed systems are
mediated by MAC policy
parent
multiple times
structure defined by Alur et al. [Alur2004] to concisely represent data flows
30
component1
…
Construct Data Flow Graph componentn
Penn State Systems and Internet Infrastructure Security Lab Page
31
A hierarchical state machine K is a tuple (K1, ...Kn) of modules, where each module Ki has the following compo- nents:
each box of the i-th module to an index greater than i. That is, if Yi(b) = j for box b of module Ki, then b can be viewed as a reference to the definition of module Kj.
j
source u is either a node or a return of Ki and v is either a node or a call of Ki. The key concept in HSM is a module, which represents
Penn State Systems and Internet Infrastructure Security Lab Page
32
Secmark Host Firewall Policies: Web VM: iptables -t mangle -A OUTPUT -p tcp --dport
3306 -s <srcIP> -d <tgtIP> -j SECMARK --selctx system_u:object_r:db_client_port_t:s0
DB VM: iptables -t mangle -A INPUT -p tcp --dport
3306 -s <srcIP> -d <tgtIP> -j SECMARK --selctx system_u:object_r:db_server_port_t:s0
apache_t Web VM mysqld_t ...
Web VM DB VM
db_ client_port
VMM
db_server_ port DB VM
SELinux OS MAC Policies Xen Security Modules Flask/sHype Policies
Penn State Systems and Internet Infrastructure Security Lab Page
33
System policy: Goal: Mapping function: Compliance: Information Flow Errors:
k-db
... ... u v ... ... ...
ext k-web k-db k-dom0 VMM ext db web
G = (V, E) L = (L, ) map : V ′ → L, V ′ ⊆ V
∃u, v ∈ V. u ֒ →G v ∧ map(u) ֒ →L map(v)
∀u, v ∈ V. (u ֒ →G v) → (map(u) ֒ →L map(v))
Penn State Systems and Internet Infrastructure Security Lab Page
information
annotate manually
34
Penn State Systems and Internet Infrastructure Security Lab Page
information
annotate manually
kernel objects and (VMM) modify VMM objects
particular application in mind
applications depend on DB
35
k-web k-db k-dom0 VMM ext db web
Penn State Systems and Internet Infrastructure Security Lab Page
information
annotate manually
kernel objects and (VMM) modify VMM objects
particular application in mind
applications depend on DB
36
k-web k-db k-dom0 VMM ext db web
Penn State Systems and Internet Infrastructure Security Lab Page
information
annotate manually
kernel objects and (VMM) modify VMM objects
particular application in mind
applications depend on DB
37
k-web k-db k-dom0 VMM ext db web
Penn State Systems and Internet Infrastructure Security Lab Page
information
annotate manually
kernel objects and (VMM) modify VMM objects
particular application in mind
applications depend on DB
38
k-web k-db k-dom0 VMM ext db web
Penn State Systems and Internet Infrastructure Security Lab Page
39
Examples Level/Mapping inference:
map(VM, boot_t,ID),ID=‘k-’+VM map(webvm,boot_t,k-webvm) Lattice inference:
VMs depend on the underlying VMM flow(H,L):- component(L,H,_) flow(VMM,k-webvm)
Integrity Goal ext ext k-webvm apache_t webvm db_client_ port http_server _port boot_t bootloader_ t dns_ port apache_ config_t web VMM k-webvm ext web
Mapping Order
Penn State Systems and Internet Infrastructure Security Lab Page
40
so the integrity of the data raises (endorsement)
k-web k-db k-dom0 VMM db web ext db k-db k-dom0
m1
... ... ... ... ...
m2
ext mediators k-db k-dom0
Penn State Systems and Internet Infrastructure Security Lab Page 41
Penn State Systems and Internet Infrastructure Security Lab Page
42
is a multicut problem for directed graphs which is NP-hard
k-web k-db k-dom0 VMM ext db web db k-db k-dom0
m1
... ... ... ... ...
m2
ext mediators
Penn State Systems and Internet Infrastructure Security Lab Page
43
db k-db k-dom0
s ... ... ... ... ... ...
ext k-web k-db k-dom0 VMM ext db web k-dom0
Penn State Systems and Internet Infrastructure Security Lab Page
structure of the components
44
db k-db k-dom0
s ... ... ... ... r ...
ext k-dom0 ^[k-db]
Root VMM VM App
k-web k-db k-dom0 VMM ext db web
Penn State Systems and Internet Infrastructure Security Lab Page
45
cutset(k-dom0) = {s} cutset(k-db)={}
db k-db k-dom0
s ... ... ... ... ... ...
ext k-dom0
Penn State Systems and Internet Infrastructure Security Lab Page
mediation
46
Penn State Systems and Internet Infrastructure Security Lab Page
tags)
47
{kernel,appx} {appx} Client Ic={appx} Server Is={serverx,appx} Ds={serverx} {appx} {serverx,appx}
request answer
request: answer:
Penn State Systems and Internet Infrastructure Security Lab Page
48
Ls=k-dom0 Ds={k-dom0,db,ext }
db k-db k-dom0
s ... ... ... ... ... ...
ext k-dom0
Penn State Systems and Internet Infrastructure Security Lab Page
49
Penn State Systems and Internet Infrastructure Security Lab Page
50
Penn State Systems and Internet Infrastructure Security Lab Page
accessible to adversaries
mediations at same interface)
51
k-db k-dom0
s ... ... ... ... ...
k-dom0 db ext
Read line 56 Pread line 216 Read line 296 Readv line 456 Read line 897
Penn State Systems and Internet Infrastructure Security Lab Page
VMM policies; (2) MAC policy; and (3) information flow model (semi-automated)
model using program mediation (or revise model or MAC policy)
use in remote attestations also (for tomorrow’s talk)
52
Penn State Systems and Internet Infrastructure Security Lab Page
governing network communications
policies according to the applications the VMs would run:
53
VMM OS Net App App OS Net App Web Server OS Net App DB server
Penn State Systems and Internet Infrastructure Security Lab Page
system
deployment compliant ?
results ?
54
Penn State Systems and Internet Infrastructure Security Lab Page
1.
How many interfaces do developers need to adjust to make this deployment compliant ?
(insmod_t for kernel_dom0, kernel_dbsrv, etc.)
55
Sub Int 32 1069 3 91 6 469 3 288 6 101 50 2018 Sink Kernel-dom0 Kernel-dbsrv dbdata Kernel-uservm Kernel-websrv webdata Total Static
Big Effort!
TCB subjects APP subjects
Penn State Systems and Internet Infrastructure Security Lab Page
2.
How do changes to functional requirements affect the mediation results ?
in the MAC policy
56
Sub Int Sub Int 32 1069 23 197 3 91 2 22 6 469 7 138 3 288 2 104 6 101 1 37 50 2018 35 498 Sink Kernel-dom0 Kernel-dbsrv dbdata Kernel-uservm Kernel-websrv webdata Total Static policy Runtime data
Reduction. Runtime could guide policy tightening!
Penn State Systems and Internet Infrastructure Security Lab Page
57
HSM GCM Cut DIFC 18.7 1.0 32.6 8.2 18.7 0.8 13.7 4.9
VMs nodes edges Q1 4 8905 77091 Q2 4 8610 35105 System Configurations Time (sec)
Penn State Systems and Internet Infrastructure Security Lab Page
relevant policies in OpenStack cloud system?
solution composition, for cloud systems
(approximately)?
to determine which permissions to authorize?
testing on real cloud deployments
58
Penn State Systems and Internet Infrastructure Security Lab Page
ten years, but we are still reactive
the deployment
comply with information flow requirements automatically
systems that system administrators and remote parties can verify automatically – proactive evaluation end-to-end
59
Hierarchical Data Flow Graph
Task Two: Bulld System-Wide Information Flow Model Task One: Build System-Wide Data Flow Graph
Information Flow Model
Task Three: Generate System-Wide MAC Policy
System-WIde MAC Policy (DIFC-Flume)
MAC Policies Integrity Requirements
+
System Components
Penn State Systems and Internet Infrastructure Security Lab Page
60