Secure Execution via Program Shepherding
By Vladimir Kiriansky, Derek Bruening, Saman P. Amarasinghe. USENIX Security Symposium, 2002
641 citations recorded by the source corpus.
View Paper: https://www.semanticscholar.org/paper/0e2816ecef02407e166b85989e0f319760fbdeaa
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
- Manuel Costa
- P. Akritidis
- Dawn Song
- James Newsome
- Miguel Oom Temudo de Castro
- Feng Qin
- Mathias Payer
- R. Sekar
Citations in the corpus
- ROPdefender: a detection tool to defend against return-oriented programming attacks (2011, methodology): “, [15, 16, 29, 55, 37]), there exists no proposal addressing Class 2 and 3.”
- Binary stirring: self-randomizing instruction addresses of legacy x86 binary code (2012, methodology): “Systems such as DynInst [31] and program shepherding [35] have the potential to intercept, analyze, and modify instructions at runtime to remove or modify the locations of gadgets, if extended with some form of basic block randomization.”
- Dynamic Taint Analysis for Automatic Detection, Analysis, and SignatureGeneration of Exploits on Commodity Software (2005, methodology): “[23], DynamoRio causes a bzip2 benchmark to run approximately 1.”
- Countering code-injection attacks with instruction-set randomization (2003, background): “Another approach is that of program shepherding [38], where an interpreter is used to verify the source and target of any branch instruction, according to some security policy.”
- LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks (2006, background): “Several security attack detection or prevention methods, such as program randomization [41], program shepherding [27], and statistics-based intrusion detection [21], can also be used for detecting security attacks.”
- SecVisor: a tiny hypervisor to provide lifetime kernel code integrity for commodity OSes (2007, methodology): “However, such attacks can be mitigated by combining SecVisor with techniques that guarantee control flow integrity [6,14].”
- Aurasium: Practical Policy Enforcement for Android Applications (2012, unknown): “Previous work [28, 40, 34] on securely executing untrusted native code provides useful directions for example, by using dynamic binary translation.”
- Vigilante: end-to-end containment of internet worms (2005, background): “There is a large amount of work on host-based detection of vulnerabilities including [47, 10, 23, 21, 16, 2, 4].”
- Enhancing Server Availability and Security Through Failure-Oblivious Computing (2004, background): “Program shepherding uses an efficient binary interpreter to prevent an attacker from executing injected code [39].”
- Argos: an emulator for fingerprinting zero-day attacks for advertised honeypots with automatic signature generation (2006, methodology): “Similar work is presented in [42] which uses a modified version of the Dynamo dynamic optimiser.”
- Baggy Bounds Checking: An Efficient and Backwards-Compatible Defense against Out-of-Bounds Errors (2009, background): “Techniques such as control-flow integrity [20, 1] or taint tracking (e.g. [10, 26, 11, 35]) detect broad classes of errors, but they do not provide general protection from spatial memory errors.”
- WYSINWYX: What you see is not what you eXecute (2010, methodology): “These days many applications are run in nonstandard ways, for example, in a guest virtual machine, using runtime optimization [Bala et al. 2000], or under program shepherding [Kiriansky et al. 2002].”