Patrick McDaniel
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Research Subjects
Patrick McDaniel has a total of 171 co-authors. Here are the top co-authors by number of shared publications:
- Thomas F. La Porta
Department of Computer Science and Engineering, The Pennsylvania State University, University Park, PA, USA
16 shared publications Nicolas Papernot
Stanford University Google Brain Pennsylvania State University Google Brain Stanford University Pennsylvania State University
12 shared publications- Quinn Burke
Computer Sciences, University of Wisconsin-Madison
12 shared publications - Yohan Beugin
University of Wisconsin-Madison Madison Wisconsin USA
11 shared publications - Ryan Sheatsley
Computer Sciences, University of Wisconsin-Madison
10 shared publications - Patrick Traynor
College of Computing
9 shared publications
Latest Publications
- Open Access
- 12 October 2026
- Published by Association for Computing Machinery (ACM)
- p. 75-89
Honey Configs: Measuring The Emerging Exploitation of Cloud IP Address Reuse
- 12 October 2026
- Published by Association for Computing Machinery (ACM)
- p. 75-89
Open AccessHoney Configs: Measuring The Emerging Exploitation of Cloud IP Address Reuse
- Open Access
- 19 May 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 44 (4) , 1-34
Fast Integrity Checking for Secure Cloud Storage: A Quantitative Approach
Merkle hash trees are the standard method to protect the integrity and freshness of stored data. However, hash trees introduce additional compute and I/O costs on the I/O critical path, and prior efforts have not fully characterized these costs. In this paper, we quantify performance overheads of storage-level hash trees in realistic settings. We identify that hashing (CPU) costs are the primary performance bottleneck, and develop an analytical model demonstrating why this occurs. We then design an optimized tree structure called Dynamic Merkle Trees (DMTs) that exploits patterns in workloads to reduce tree traversal costs. We implement DMTs in a block device driver and a file system and through extensive evaluation show that DMTs can exploit patterns in workloads to deliver up to a 2.2 × throughput and latency improvement over the state of the art. Our novel approach provides a promising new direction to achieve integrity guarantees in storage efficiently and at scale.
- 19 May 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 44 (4) , 1-34
Open AccessFast Integrity Checking for Secure Cloud Storage: A Quantitative Approach
Merkle hash trees are the standard method to protect the integrity and freshness of stored data. However, hash trees introduce additional compute and I/O costs on the I/O critical path, and prior efforts have not fully characterized these costs. In this paper, we quantify performance overheads of storage-level hash trees in realistic settings. We identify that hashing (CPU) costs are the primary performance bottleneck, and develop an analytical model demonstrating why this occurs. We then design an optimized tree structure called Dynamic Merkle Trees (DMTs) that exploits patterns in workloads to reduce tree traversal costs. We implement DMTs in a block device driver and a file system and through extensive evaluation show that DMTs can exploit patterns in workloads to deliver up to a 2.2 × throughput and latency improvement over the state of the art. Our novel approach provides a promising new direction to achieve integrity guarantees in storage efficiently and at scale.
- Open Access
Technical Report: The Need for a (Research) Sandstorm through the Privacy Sandbox
The Privacy Sandbox, launched in 2019, is a series of proposals from Google to reduce ``cross-site and cross-app tracking while helping to keep online content and services free for all''. Over the years, Google implemented, experimented, and deprecated some of these APIs into their own products (Chrome, Android, etc.) which raised concerns about the potential of these mechanisms to fundamentally disrupt the advertising, mobile, and web ecosystems. As a result, it is paramount for researchers to understand the consequences that these new technologies, and future ones, will have on billions of users if and when deployed. In this report, we outline our call for privacy, security, usability, and utility evaluations of these APIs, our efforts materialized through the creation and operation of Privacy Sandstorm (https://privacysandstorm.github.io); a research portal to systematically gather resources (overview, analyses, artifacts, etc.) about such proposals. We find that our inventory provides a better visibility and broader perspective on the research findings in that space than what Google lets show through official channels.
Open AccessTechnical Report: The Need for a (Research) Sandstorm through the Privacy Sandbox
The Privacy Sandbox, launched in 2019, is a series of proposals from Google to reduce ``cross-site and cross-app tracking while helping to keep online content and services free for all''. Over the years, Google implemented, experimented, and deprecated some of these APIs into their own products (Chrome, Android, etc.) which raised concerns about the potential of these mechanisms to fundamentally disrupt the advertising, mobile, and web ecosystems. As a result, it is paramount for researchers to understand the consequences that these new technologies, and future ones, will have on billions of users if and when deployed. In this report, we outline our call for privacy, security, usability, and utility evaluations of these APIs, our efforts materialized through the creation and operation of Privacy Sandstorm (https://privacysandstorm.github.io); a research portal to systematically gather resources (overview, analyses, artifacts, etc.) about such proposals. We find that our inventory provides a better visibility and broader perspective on the research findings in that space than what Google lets show through official channels.
- Open Access
- 21 October 2025
- Published by IOS Press
- p. 2898-2905
Synthetic Texture Datasets: Challenges, Creation, and Curation
Texture data serves as a valuable tool for interpreting the high-level features models learn, uncovering biases, and identifying security vulnerabilities. However, works in this space have been limited by small texture datasets and synthesis methods that struggle to scale in the diversity and specificity required for these tasks. In this work, we introduce an extensible methodology for generating high-quality, diverse texture images, which we use to create the Prompted Textures Dataset (PTD), a new texture dataset spanning 246,285 images across 56 texture classes. Our comparison against real texture data demonstrates that PTD is more diverse while maintaining quality. Additionally, human evaluations confirm that every stage in our methodology enhances texture quality, yielding a 3.4% increase in quality and a 4.5% increase in representativeness overall. Our dataset is available for download at https://zenodo.org/records/15359142.
- 21 October 2025
- Published by IOS Press
- p. 2898-2905
Open AccessSynthetic Texture Datasets: Challenges, Creation, and Curation
Texture data serves as a valuable tool for interpreting the high-level features models learn, uncovering biases, and identifying security vulnerabilities. However, works in this space have been limited by small texture datasets and synthesis methods that struggle to scale in the diversity and specificity required for these tasks. In this work, we introduce an extensible methodology for generating high-quality, diverse texture images, which we use to create the Prompted Textures Dataset (PTD), a new texture dataset spanning 246,285 images across 56 texture classes. Our comparison against real texture data demonstrates that PTD is more diverse while maintaining quality. Additionally, human evaluations confirm that every stage in our methodology enhances texture quality, yielding a 3.4% increase in quality and a 4.5% increase in representativeness overall. Our dataset is available for download at https://zenodo.org/records/15359142.
- Open Access
LibIHT: A Hardware-Based Approach to Efficient and Evasion-Resistant Dynamic Binary Analysis
Dynamic program analysis is invaluable for malware detection, debugging, and performance profiling. However, software-based instrumentation incurs high overhead and can be evaded by anti-analysis techniques. In this paper, we propose LibIHT, a hardware-assisted tracing framework that leverages on-CPU branch tracing features (Intel Last Branch Record and Branch Trace Store) to efficiently capture program control-flow with minimal performance impact. Our approach reconstructs control-flow graphs (CFGs) by collecting hardware generated branch execution data in the kernel, preserving program behavior against evasive malware. We implement LibIHT as an OS kernel module and user-space library, and evaluate it on both benign benchmark programs and adversarial anti-instrumentation samples. Our results indicate that LibIHT reduces runtime overhead by over 150x compared to Intel Pin (7x vs 1,053x slowdowns), while achieving high fidelity in CFG reconstruction (capturing over 99% of execution basic blocks and edges). Although this hardware-assisted approach sacrifices the richer semantic detail available from full software instrumentation by capturing only branch addresses, this trade-off is acceptable for many applications where performance and low detectability are paramount. Our findings show that hardware-based tracing captures control flow information significantly faster, reduces detection risk and performs dynamic analysis with minimal interference.
Open AccessLibIHT: A Hardware-Based Approach to Efficient and Evasion-Resistant Dynamic Binary Analysis
Dynamic program analysis is invaluable for malware detection, debugging, and performance profiling. However, software-based instrumentation incurs high overhead and can be evaded by anti-analysis techniques. In this paper, we propose LibIHT, a hardware-assisted tracing framework that leverages on-CPU branch tracing features (Intel Last Branch Record and Branch Trace Store) to efficiently capture program control-flow with minimal performance impact. Our approach reconstructs control-flow graphs (CFGs) by collecting hardware generated branch execution data in the kernel, preserving program behavior against evasive malware. We implement LibIHT as an OS kernel module and user-space library, and evaluate it on both benign benchmark programs and adversarial anti-instrumentation samples. Our results indicate that LibIHT reduces runtime overhead by over 150x compared to Intel Pin (7x vs 1,053x slowdowns), while achieving high fidelity in CFG reconstruction (capturing over 99% of execution basic blocks and edges). Although this hardware-assisted approach sacrifices the richer semantic detail available from full software instrumentation by capturing only branch addresses, this trade-off is acceptable for many applications where performance and low detectability are paramount. Our findings show that hardware-based tracing captures control flow information significantly faster, reduces detection risk and performs dynamic analysis with minimal interference.
- Open Access
- 13 October 2025
- Published by Association for Computing Machinery (ACM)
- p. 89-101
LibIHT: A Hardware-Based Approach to Efficient and Evasion-Resistant Dynamic Binary Analysis
- 13 October 2025
- Published by Association for Computing Machinery (ACM)
- p. 89-101
Open AccessLibIHT: A Hardware-Based Approach to Efficient and Evasion-Resistant Dynamic Binary Analysis
- 11 September 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Security & Privacy
- Vol. 23 (6) , 51-57
Clouds Are Where the (Security) Action Is: Have Honeypots Been Left in the Dust?
Honeypots are essential to measuring and defending network services, but the shift to public clouds has eroded their effectiveness visibility over the past decade. By adapting to new deployment realities, we can regain this visibility and defend real-world deployments.
- 11 September 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Security & Privacy
- Vol. 23 (6) , 51-57
Clouds Are Where the (Security) Action Is: Have Honeypots Been Left in the Dust?
Honeypots are essential to measuring and defending network services, but the shift to public clouds has eroded their effectiveness visibility over the past decade. By adapting to new deployment realities, we can regain this visibility and defend real-world deployments.
- Open Access
A Practical Guideline and Taxonomy to LLVM's Control Flow Integrity
Memory corruption vulnerabilities remain one of the most severe threats to software security. They often allow attackers to achieve arbitrary code execution by redirecting a vulnerable program's control flow. While Control Flow Integrity (CFI) has gained traction to mitigate this exploitation path, developers are not provided with any direction on how to apply CFI to real-world software. In this work, we establish a taxonomy mapping LLVM's forward-edge CFI variants to memory corruption vulnerability classes, offering actionable guidance for developers seeking to deploy CFI incrementally in existing codebases. Based on the Top 10 Known Exploited Vulnerabilities (KEV) list, we identify four high-impact vulnerability categories and select one representative CVE for each. We evaluate LLVM's CFI against each CVE and explain why CFI blocks exploitation in two cases while failing in the other two, illustrating its potential and current limitations. Our findings support informed deployment decisions and provide a foundation for improving the practical use of CFI in production systems.
Open AccessA Practical Guideline and Taxonomy to LLVM's Control Flow Integrity
Memory corruption vulnerabilities remain one of the most severe threats to software security. They often allow attackers to achieve arbitrary code execution by redirecting a vulnerable program's control flow. While Control Flow Integrity (CFI) has gained traction to mitigate this exploitation path, developers are not provided with any direction on how to apply CFI to real-world software. In this work, we establish a taxonomy mapping LLVM's forward-edge CFI variants to memory corruption vulnerability classes, offering actionable guidance for developers seeking to deploy CFI incrementally in existing codebases. Based on the Top 10 Known Exploited Vulnerabilities (KEV) list, we identify four high-impact vulnerability categories and select one representative CVE for each. We evaluate LLVM's CFI against each CVE and explain why CFI blocks exploitation in two cases while failing in the other two, illustrating its potential and current limitations. Our findings support informed deployment decisions and provide a foundation for improving the practical use of CFI in production systems.
- 27 June 2025
- Published by Springer Nature
- p. 110-134
ProvPredictor: Utilizing Provenance Information for Real-Time IoT Policy Enforcement
- 27 June 2025
- Published by Springer Nature
- p. 110-134
ProvPredictor: Utilizing Provenance Information for Real-Time IoT Policy Enforcement
- Open Access
Deserialization Gadget Chains are not a Pathological Problem in Android:an In-Depth Study of Java Gadget Chains in AOSP
Inter-app communication is a mandatory and security-critical functionality of operating systems, such as Android. On the application level, Android implements this facility through Intents, which can also transfer non-primitive objects using Java's Serializable API. However, the Serializable API has a long history of deserialization vulnerabilities, specifically deserialization gadget chains. Research endeavors have been heavily directed towards the detection of deserialization gadget chains on the Java platform. Yet, there is little knowledge about the existence of gadget chains within the Android platform. We aim to close this gap by searching gadget chains in the Android SDK, Android's official development libraries, as well as frequently used third-party libraries. To handle this large dataset, we design a gadget chain detection tool optimized for soundness and efficiency. In a benchmark on the full Ysoserial dataset, it achieves similarly sound results to the state-of-the-art in significantly less time. Using our tool, we first show that the Android SDK contains almost the same trampoline gadgets as the Java Class Library. We also find that one can trigger Java native serialization through Android's Parcel API. Yet, running our tool on the Android SDK and 1,200 Android dependencies, in combination with a comprehensive sink dataset, yields no security-critical gadget chains. This result opposes the general notion of Java deserialization gadget chains being a widespread problem. Instead, the issue appears to be more nuanced, and we provide a perspective on where to direct further research.
Open AccessDeserialization Gadget Chains are not a Pathological Problem in Android:an In-Depth Study of Java Gadget Chains in AOSP
Inter-app communication is a mandatory and security-critical functionality of operating systems, such as Android. On the application level, Android implements this facility through Intents, which can also transfer non-primitive objects using Java's Serializable API. However, the Serializable API has a long history of deserialization vulnerabilities, specifically deserialization gadget chains. Research endeavors have been heavily directed towards the detection of deserialization gadget chains on the Java platform. Yet, there is little knowledge about the existence of gadget chains within the Android platform. We aim to close this gap by searching gadget chains in the Android SDK, Android's official development libraries, as well as frequently used third-party libraries. To handle this large dataset, we design a gadget chain detection tool optimized for soundness and efficiency. In a benchmark on the full Ysoserial dataset, it achieves similarly sound results to the state-of-the-art in significantly less time. Using our tool, we first show that the Android SDK contains almost the same trampoline gadgets as the Java Class Library. We also find that one can trigger Java native serialization through Android's Parcel API. Yet, running our tool on the Android SDK and 1,200 Android dependencies, in combination with a comprehensive sink dataset, yields no security-critical gadget chains. This result opposes the general notion of Java deserialization gadget chains being a widespread problem. Instead, the issue appears to be more nuanced, and we provide a perspective on where to direct further research.