Reconstructing Omni-kernel control flow

by Christopher Haugen

Institution: Universitetet i Tromsø
Year: 2014
Keywords: VDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Systemutvikling og ? arbeid: 426; VDP::Mathematics and natural science: 400::Information and communication science: 420::System development and system design: 426
Record ID: 1294110
Full text PDF: http://hdl.handle.net/10037/7613


Today, with the prevalence of many- and multi-core systems has it been sparked a new interest for programming models that permits developer to exploit their resources. This has sparked renewed interest in creating larger event-based systems, systems where stack ripping occurs and with an obfuscated control flow. Both increases the complexity of debugging errors. During the development of the event-based experimental research OS and VMM Vortex saw we the need for tools that could aid developers to handle these challenges. This thesis design and implements two tools that allow users to gain insights into an obfuscated control flow and see when and why a state change was done. We propose a design and implements two tools that are simple, flexible, and lightweight enough to live inside of the critical path of event processing in Vortex. First is a tool to observe the messages being passed to and from one resource, enabling the de-obfuscation of the control flow. The second tool uses the built-in debugging tool in modern CPU to tie state access and change to the processing of one event. Both of these tools creates debug messages that are being visualized in a remote client.