Funded by the U.S. Department of Energy and the U.S. Department of Homeland Security | cred-c.org
Mitigating and Preventing Vulnerabilities with ELFbac
Ira Ray Jenkins, Dartmouth College
Mitigating and Preventing Vulnerabilities with ELFbac Ira Ray - - PowerPoint PPT Presentation
Mitigating and Preventing Vulnerabilities with ELFbac Ira Ray Jenkins, Dartmouth College Funded by the U.S. Department of Energy and the U.S. Department of Homeland Security | cred-c.org Code to Process Common object file formats source
Funded by the U.S. Department of Energy and the U.S. Department of Homeland Security | cred-c.org
Ira Ray Jenkins, Dartmouth College
cred-c.org | 2
Compiler (gcc) Static linker (ld) Runtime linker/loader (ld.so)
hello.c hello.o hello
source code ELF relocatable objects ELF executable shared libraries running process
cred-c.org | 3
(ELF) files contain the code and data for a given executable, as well as metadata necessary for the creation of a process address space.
data of a program.
distinct units of code and data
sections.
into the process address space
Programmer intent is discarded in the packing of sections into segments!
cred-c.org | 4
discarded by a “forgetful” loader
linked with ELFbac policy
builds the process address space with the policy, creating the desired isolation
policy during runtime
cred-c.org | 5
program execution driven by a given section of code, e.g., input parsing, network code, or cryptographic code
memory accesses (“data transitions”) and function calls (“call transitions”)
in simple JSON.
controls, and any intersectional relationships
be read by parsing functions”
compiler pragmas:
"name": "Parse", "sections" : [{ "name": "inputs", "description": "*(. .data.secret) ", "flags": rw } ] "call_transitions": [ { "from": "Parse", "to": "Calculate", "address": "GoToCalculate()" }]
cred-c.org | 6
diversified collection of “shadow” contexts, each representing a single policy state.
in the current state according to the policy.
trapped, leading to error handling code or ultimately a segmentation fault.
Process View Kernel View
cred-c.org | 7
(SSH) network protocols
”The company believes that its optional access to the Linux operating system through a secure shell (SSH) will be of particular interest to OEMs.”
cred-c.org | 8
experimental and undocumented "roaming" feature.
sessions, e.g., in the case of unexpected network termination.
implementation of OpenSSH’s roaming feature.
cred-c.org | 9
cryptographic keys and the roaming buffer.
ELFbac Policy FSM In total, 27 annotations in 4 files were all that was necessary to achieve the critical isolation.
cred-c.org | 10
cred-c.org | 11
cred-c.org | 12
Thanks!
Funded by the U.S. Department of Energy and the U.S. Department of Homeland Security
cred-c.org | 14
coded-ssh-and-tls-private-keys.html
em__91brings_future_to_the_present_92.html
pencil-clip-art-images-and-4-download/
physical_address_space_relationship.svg