Errors in hardware and software lead to vulnerabilities that can be exploited by attackers. Proposed exploit mitigation techniques can be broadly categorized into two: software-only techniques and techniques that propose specialized hardware extensions. Software-only techniques can be implemented on existing hardware, but typically suffer from impractically high overheads. On the other hand, specialized hardware extensions, while improving performance, in practice require a long time to be incorporated into production hardware. In this dissertation, we propose adapting existing processor features to provide novel and low-overhead security solutions. In the first part of the dissertation, we show how modern hardware features can be used to ...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
The proliferation of binary-only program analysis techniques like fuzz testing and symbolic analysis...
Errors in hardware and software lead to vulnerabilities that can be exploited by attackers. Proposed...
The security of a computer system hinges on the trustworthiness of the operating system and the hard...
The security of a computer system hinges on the trustworthiness of the operating system and the hard...
Unpredictable hardware faults and software bugs lead to application crashes, incorrect computations,...
Memory corruption attacks, such as buffer overflow attacks, have been threatening software security ...
Computers today are ubiquitous and closely integrated into our everyday lives. But computers are fic...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
The most common cyber-attack vector is exploit of software vulnerability. Despite much efforts towar...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
The proliferation of binary-only program analysis techniques like fuzz testing and symbolic analysis...
Errors in hardware and software lead to vulnerabilities that can be exploited by attackers. Proposed...
The security of a computer system hinges on the trustworthiness of the operating system and the hard...
The security of a computer system hinges on the trustworthiness of the operating system and the hard...
Unpredictable hardware faults and software bugs lead to application crashes, incorrect computations,...
Memory corruption attacks, such as buffer overflow attacks, have been threatening software security ...
Computers today are ubiquitous and closely integrated into our everyday lives. But computers are fic...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
The most common cyber-attack vector is exploit of software vulnerability. Despite much efforts towar...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
Run-time attacks have plagued computer systems for more than three decades, with control-flow hijack...
The proliferation of binary-only program analysis techniques like fuzz testing and symbolic analysis...