Proceedings of the 8th ACM SIGPLAN/SIGOPS Conference on Virtual Execution Environments 2012
DOI: 10.1145/2151024.2151043
|View full text |Cite
|
Sign up to set email alerts
|

Transparent dynamic instrumentation

Abstract: Process virtualization provides a virtual execution environment within which an unmodified application can be monitored and controlled while it executes. The provided layer of control can be used for purposes ranging from sandboxing to compatibility to profiling. The additional operations required for this layer are performed clandestinely alongside regular program execution. Software dynamic instrumentation is one method for implementing process virtualization which dynamically instruments an application such… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
27
0
1

Year Published

2013
2013
2021
2021

Publication Types

Select...
4
4
1

Relationship

0
9

Authors

Journals

citations
Cited by 79 publications
(29 citation statements)
references
References 32 publications
1
27
0
1
Order By: Relevance
“…Binary mutation is an example of binary rewriting, which can be performed either statically (i.e., producing a modified executable file) or dynamically (producing new code as the program executes). Tools like Pin [27] for x86 binaries and DynamoRIO [8] for x86 and ARM allow the control flow [42], [39] to be changed at runtime. Dynamic binary translation tools that use an intermediate representation (IR), such as QEMU and Valgrind, can also be modified to implement mutations, though the flexibility of an IR is less important for simple mutations, and uses of an IR tends to make the translated code less efficient.…”
Section: B Binary Rewritingmentioning
confidence: 99%
“…Binary mutation is an example of binary rewriting, which can be performed either statically (i.e., producing a modified executable file) or dynamically (producing new code as the program executes). Tools like Pin [27] for x86 binaries and DynamoRIO [8] for x86 and ARM allow the control flow [42], [39] to be changed at runtime. Dynamic binary translation tools that use an intermediate representation (IR), such as QEMU and Valgrind, can also be modified to implement mutations, though the flexibility of an IR is less important for simple mutations, and uses of an IR tends to make the translated code less efficient.…”
Section: B Binary Rewritingmentioning
confidence: 99%
“…For instance, IDA Pro [24] and OllyDbg [51] are popular debuggers that run alongside malware samples. DynamoRIO [10] uses process virtualization that executes on the OS and admits user-built dynamic instrumentation tools. These options require running software inside the target OS, which is easily detected by malware.…”
Section: A Malware Analysis and Debuggingmentioning
confidence: 99%
“…We fix this situation by allocating space for the edge code from a separate memory pool. This allows better icache locality for frequently executed code in the 7 The cost of this synchronization is small because additions to the code cache are relatively rare in steady state. This synchronization could have been avoided by using multiple per-CPU code caches but that results in poor icache performance as also discussed in Section 4.2. code cache.…”
Section: Code Cache Layoutmentioning
confidence: 99%
“…http://dx.doi.org/10.1145/2517349.2522718 sandboxing [12], dynamic optimizations [4], and more. DBT can be implemented both at user-level [7] and at system-level [2,10]. Current system-level binary translators exhibit large performance overheads on kernelintensive workloads.…”
Section: Introductionmentioning
confidence: 99%