DICE - Dynamic Instrumentation for Configuration Extraction
We are developing a means to analyze applications to automatically discover their configuration parameters. The work is focused on PHP applications operating under a Linux/Apache runtime, and is motivated largely by Metafor, a startup seeking in part to ease the task of migrating large applications to new environments.
DICE will likely perform a variety of analyses to discover such parameters as server addresses/ports, database connection strings, and security settings; using both static and dynamic methods. The latter methods, which will use dynamic binary instrumentation to monitor Apache and infer configuration details, are likely to be the most interesting from a research standpoint, and it is in this area that the initial literature survey will concentrate.
The current survey is focused into two area: dynamic binary instrumentation tools, and automatic configuration management. The first area looks at papers discussing various tools to perform dynamic binary instrumentation, including DIOTA, Valgrind, DynamoRIO, and Pin; as well as some interesting extensions to or applications of those tools. The second area includes papers on topics including automatically diagnosing misconfigurations, and discovering configuration parameters using dynamic taint analysis or static analysis.
- Early Project Proposal with Multiple Approaches
- Project Proposal with Chosen Approach and Phases
- Metafor "Instrumented Discovery Project" Overview
- Architecture Diagram (March 28)
- Full Architecture (Class) Diagram (April 8th)
- Communication Protocol with the Scala Engine
- List of Pintool Capabilities