Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Michele Co

dblp:10/1361 · DBLP profile ↗
← Back
5ranked-venue papers
2as first author
0since 2021 · last 2017
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 2 · 1 first-authorSecurity and privacy · 2Software engineering, systems software and programming languages · 2 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
1 paper
Systems and software security · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Processor architecture and microarchitecture · 70% Energy-efficient computing · 30%

Topics — the 7 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Systems and software security
code randomization
0.112012
ILR: Where'd My Gadgets Go? · IEEE Symposium on Security and Privacy 2012
Processor architecture and microarchitecture
instruction fetch
0.112006
Evaluating trace cache energy efficiency · ACM Trans. Archit. Code Optim. 2006
Energy-efficient computing › energy-efficient architecture
processor energy efficiency
0.112006
Evaluating trace cache energy efficiency · ACM Trans. Archit. Code Optim. 2006
Processor architecture and microarchitecture › instruction fetch
trace cache
0.112006
Evaluating trace cache energy efficiency · ACM Trans. Archit. Code Optim. 2006
Systems and software security
exploitation mitigation
0.012012
ILR: Where'd My Gadgets Go? · IEEE Symposium on Security and Privacy 2012
Systems and software security
return-oriented programming defense
0.012012
ILR: Where'd My Gadgets Go? · IEEE Symposium on Security and Privacy 2012
Processor architecture and microarchitecture
branch prediction
0.012006
Evaluating trace cache energy efficiency · ACM Trans. Archit. Code Optim. 2006

Methods — techniques the papers use, named apart from their topics

binary rewriting · 0.1address space randomization · 0.1cycle-accurate simulation · 0.1ED2 analysis · 0.1
YearPublicationVenuePosition
2017 Zipr: Efficient Static Binary Rewriting for Security
abstract
To quickly patch security vulnerabilities there has been keen interest in securing binaries in situ. Unfortunately, the state of the art in static binary rewriting does not allow the transformed program to be both space and time efficient. A primary limitation is that leading static rewriters require that the original copy of the code remains in the transformed binary, thereby incurring file size overhead of at least 100%. This paper presents Zipr, a static binary rewriter that removes this limitation and enables both space and time efficient transformation of arbitrary binaries. We describe results from applying Zipr in the DARPA Cyber Grand Challenge (CGC), the first fully automated cyber-hacking contest. The CGC rules penalized competitors for producing a patched binary whose on-disk size was 20% larger than the original, whose CPU utilization was 5% more than the original, and whose memory use was 5% more than the original. Zipr's efficiency enabled our automated system, Xandra, to apply both code diversity and control flow integrity security techniques to secure challenge binaries provided by DARPA, resulting in Xandra having the best security score in the competition, remaining within the required space and time performance envelope, and winning a $1M cash prize.
William Hawkins 0001, Jason Hiser, Michele Co, Anh Nguyen-Tuong, Jack W. Davidson
DSN3
2012 Defense against Stack-Based Attacks Using Speculative Stack Layout Transformation
Benjamin D. Rodes, Anh Nguyen-Tuong, Jason Hiser, John C. Knight, Michele Co, Jack W. Davidson
RV5
2012 ILR: Where'd My Gadgets Go?
abstract
Through randomization of the memory space and the confinement of code to non-data pages, computer security researchers have made a wide range of attacks against program binaries more difficult. However, attacks have evolved to exploit weaknesses in these defenses. To thwart these attacks, we introduce a novel technique called Instruction Location Randomization (ILR). Conceptually, ILR randomizes the location of every instruction in a program, thwarting an attacker's ability to re-use program functionality (e.g., arc-injection attacks and return-oriented programming attacks). ILR operates on arbitrary executable programs, requires no compiler support, and requires no user interaction. Thus, it can be automatically applied post-deployment, allowing easy and frequent re-randomization. Our preliminary prototype, working on 32-bit x86 Linux ELF binaries, provides a high degree of entropy. Individual instructions are randomly placed within a 31-bit address space. Thus, attacks that rely on a priori knowledge of the location of code or derandomization are not feasible. We demonstrated ILR's defensive capabilities by defeating attacks against programs with vulnerabilities, including Adobe's PDF viewer, acroread, which had an in-the-wild vulnerability. Additionally, using an industry-standard CPU performance benchmark suite, we compared the run time of prototype ILR-protected executables to that of native executables. The average run-time overhead of ILR was 13% with more than half the programs having effectively no overhead (15 out of 29), indicating that ILR is a realistic and cost-effective mitigation technique.
Jason Hiser, Anh Nguyen-Tuong, Michele Co, Jack W. Davidson
IEEE Symposium on Security and Privacy3
2006 Evaluating trace cache energy efficiency
abstract
Future fetch engines need to be energy efficient. Much research has focused on improving fetch bandwidth. In particular, previous research shows that storing concatenated basic blocks to form instruction traces can significantly improve fetch performance. This work evaluates whether this concatenating of basic blocks translates to significantenergy-efficiencygains. We compare processor performance and energy efficiency in trace caches compared to instruction caches. We find that, although trace caches modestly outperform instruction cache only alternatives, it is branch-prediction accuracy that really determines performance and energy efficiency. When access delay and area restrictions are considered, our results show that sequential trace caches achieve very similar performance and energy efficiency results compared to instruction cache-based fetch engines and show that the trace cache's failure to significantly outperform the instruction cache-based fetch organizations stems from the poorer implicit branch prediction from the next-trace predictor at smaller areas. Because access delay limits the theoretical performance of the evaluated fetch engines, we also propose a novel ahead-pipelined next-trace predictor. Our results show that an STC fetch organization with a three-stage, ahead-pipelined next-trace predictor can achieve 5--17% IPC and 29% ED2improvements over conventional, unpipelined organizations.
Michele Co, Dee A. B. Weikle, Kevin Skadron
ACM Trans. Archit. Code Optim.1
2001 The effects of context switching on branch predictor performance
abstract
This paper shows that context switching is not a significant factor to be considered when performing general branch prediction studies. Branch prediction allows for speculative execution by increasing available instruction level parallelism (ILP) and hiding the time required to resolve branch conditions. Accurate simulation of branch prediction is important because branch prediction strongly influences the behavior of processor structures. For this study, a timesharing framework was developed by modifying SimpleScalar's branch predictor simulator. A thorough characterization of the effects of branch predictor configuration, branch predictor area, and time slice length is provided. As further verification, branch predictor performance with and without flushing the predictor structures is compared. Experiments show that operating system context switches have little effect on branch prediction rate when using time slices representative of today's operating systems. Our findings show that this results from the fact that time slices are much larger than the training time required by the branch predictor structures. For all predictor configurations tested, the predictors train in under 128K instructions with or without flushing the branch predictor structures.
Michele Co, Kevin Skadron
ISPASS1