150 likes | 284 Views
Constant Gardener. Technical Design Sam Lightbody. Overview. Server focused security tool The clients primary goal is to prevent privilege escalation attacks. We’ll achieve this using the DynamoRIO API to modify processes as they run . Designed for system administrators. Design Pattern.
E N D
ConstantGardener Technical Design Sam Lightbody
Overview • Server focused security tool • The clients primary goal is to prevent privilege escalation attacks. • We’ll achieve this using the DynamoRIO API to modify processes as they run. • Designed for system administrators.
Design Pattern • Event Driven Architecture • Necessitated by DynamoRIO • Once initialized Constant Gardener waits for external events
Data Structures • Object dump results • Holds line by line objdump results for target binary • Records previous and next lines, memory address of line, opcode, and operands • Control Flow Graph • Holds constructed control-flow graph. • Records start and end of basic block, parent block, and child block(s).
Roadmap • The CFG and Interception aspects of Constant Gardener must be built sequentially • Memory protection will be worked on throughout the course of the project when time allows
Milestone 1 – 30% • Successful construction of Control Flow Graph • Thorough testing on validity of CFG • Begin work on stack trace implementation
Milestone 2 – 70% • Implemented path-matching algorithm • Client uses algorithm to accurately compare a stack trace with the Control Flow Graph • Client allows or denies system calls based on above • Basic memory write checks in place
Milestone 3 – 80% • Performance impact analysis of path-matching and escalation denial • Optimization of path-matching and denials • Optimization and analysis of memory checks
Milestone 4 – 90% • Final performance impact analysis on memory checks • Add visual output to real time identification process
Milestone 5 – 100% • Final clean up and optimization of code base • Scenario testing • Basic logging capabilities implemented