2002 · 495 citations · 4 references
ComputingComputer ScienceComputer SystemsComputer SecurityOperating SystemsSecurity ArchitectureDiversity TechniquesMemory ManagementOperating System SecurityRandomized ComputationSystem SecurityBuffer Overflow AttacksCode DiversificationDiversity In System DesignRandomizationSoftware Diversification
Biological systems rely on diversity for robustness, whereas computers are largely homogeneous, and this lack of diversity has been largely ignored in computing security. The authors propose software diversity techniques that randomize program behavior while preserving functional correctness. Randomization can enhance software robustness with little cost, and, for example, varying stack frame memory allocation can thwart simple buffer overflow attacks.
Diversity is an important source of robustness in biological systems. Computers, by contrast, are notable for their lack of diversity. Although homogeneous systems have many advantages, the beneficial effects of diversity in computing systems have been overlooked, specifically in the area of computer security. Several methods of achieving software diversity are discussed based on randomizations that respect the specified behavior of the program. Such randomization could potentially increase the robustness of software systems with minimal impact on convenience, usability, and efficiency. Randomization of the amount of memory allocated on a stack frame is shown to disrupt a simple buffer overflow attack.
4
Near-optimal intraprocedural branch alignment
Cliff Young, David S. Johnson, Michael D. Smith et al. · 1997 · 46 citations · Full text
Network security under siege: the timing attack
Erin English, Stephen S. Hamilton · Computer · 1996 · 22 citations
Near-optimal intraprocedural branch alignment
Cliff Young, David S. Johnson, Michael D. Smith et al. · ACM SIGPLAN Notices · 1997 · 11 citations · Full text