Demo Data from EDBT 2026 / reviewers in the wild / expert
Cory F. Cohen
dblp:67/4125
· DBLP profile ↗
4ranked-venue papers
0as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Artificial intelligence and machine learning · 2Security and privacy · 2Databases, data management, data science and information retrieval · 1
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
3 papers |
Systems and software security · 98% Malware analysis · 2% | |
| Software engineering, system software, and programming languages
2 papers |
Program analysis · 100% | |
| Theoretical computer science
1 paper |
Logic in computer science · 100% |
Topics — the 9 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
binary analysis |
0.5 | 2 | 2018 | Using Logic Programming to Recover C++ Classes and Methods from Compiled Executables · CCS 2018 Supervised learning for provenance-similarity of binaries · KDD 2011 |
Systems and software security › exploitation
code reuse attack |
0.4 | 1 | 2020 | A Generic Technique for Automatically Finding Defense-Aware Code Reuse Attacks · CCS 2020 |
Systems and software security
exploitation |
0.4 | 1 | 2020 | A Generic Technique for Automatically Finding Defense-Aware Code Reuse Attacks · CCS 2020 |
Systems and software security › exploitation › code reuse attack
return-oriented programming |
0.4 | 1 | 2020 | A Generic Technique for Automatically Finding Defense-Aware Code Reuse Attacks · CCS 2020 |
Systems and software security › memory safety
control-flow integrity |
0.1 | 1 | 2020 | A Generic Technique for Automatically Finding Defense-Aware Code Reuse Attacks · CCS 2020 |
Systems and software security › binary analysis
binary similarity |
0.1 | 1 | 2011 | Supervised learning for provenance-similarity of binaries · KDD 2011 |
Program analysis › binary analysis
binary code similarity detection |
0.1 | 1 | 2011 | Supervised learning for provenance-similarity of binaries · KDD 2011 |
Logic in computer science
logic programming |
0.1 | 1 | 2018 | Using Logic Programming to Recover C++ Classes and Methods from Compiled Executables · CCS 2018 |
Malware analysis
malware classification |
0.0 | 1 | 2011 | Supervised learning for provenance-similarity of binaries · KDD 2011 |
Methods — techniques the papers use, named apart from their topics
symbolic analysis · 1.0static analysis · 1.0logic programming · 1.0program analysis · 0.4automated attack generation · 0.4supervised classification · 0.2feature engineering · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | A Generic Technique for Automatically Finding Defense-Aware Code Reuse AttacksabstractCode reuse attacks have been the subject of a substantial amount of research during the past decade. This research largely resulted from early work on Return-Oriented Programming (ROP), which showed that the then newly proposed Non-Executable Memory (NX) defense could be bypassed. More recently, the research community has been simultaneously investigating new defenses that are believed to thwart code reuse attacks, such as Control Flow Integrity (CFI), and defense-aware techniques for attacking these defenses, such as Data-Oriented Programming (DOP). Unfortunately, the feasibility of defense-aware attacks are very dependent on the behaviors of the attacked program, which makes it difficult for defenders to understand how much protection a defense such as CFI may provide. To better understand this, researchers have introduced automated defense-aware code reuse attack systems. Unfortunately, the handful of existing systems implement a single fixed, defense-specific strategy that is complex and cannot be used to consider other defenses. Edward J. Schwartz, Cory F. Cohen, Jeffrey Gennari, Stephanie Elzer Schwartz |
CCS | 2 |
| 2018 | Using Logic Programming to Recover C++ Classes and Methods from Compiled ExecutablesabstractHigh-level C++ source code abstractions such as classes and methods greatly assist human analysts and automated algorithms alike when analyzing C++ programs. Unfortunately, these abstractions are lost when compiling C++ source code, which impedes the understanding of C++ executables. In this paper, we propose a system, OOAnalyzer, that uses an innovative new design to statically recover detailed C++ abstractions from executables in a scalable manner. OOAnalyzer's design is motivated by the observation that many human analysts reason about C++ programs by recognizing simple patterns in binary code and then combining these findings using logical inference, domain knowledge, and intuition. We codify this approach by combining a lightweight symbolic analysis with a flexible Prolog-based reasoning system. Unlike most existing work, OOAnalyzer is able to recover both polymorphic and non-polymorphic C++ classes. We show in our evaluation that OOAnalyzer assigns over 78% of methods to the correct class on our test corpus, which includes both malware and real-world software such as Firefox and MySQL. These recovered abstractions can help analysts understand the behavior of C++ malware and cleanware, and can also improve the precision of program analyses on C++ executables. Edward J. Schwartz, Cory F. Cohen, Michael Duggan, Jeffrey Gennari, Jeffrey Havrilla, Charles Hines |
CCS | 2 |
| 2012 | Binary Function Clustering Using Semantic HashesabstractThe ability to identify semantically-related functions, in large collections of binary executables, is important for malware detection. Intuitively, two pieces of code are similar if they have the same effect on a machine's state. Current state-of-the-art tools employ a variety of pair wise comparisons (e.g., template matching using SMT solvers, Value-Set analysis at critical program points, API call matching, etc.) However, these methods are unshakable for clustering large datasets, of size N, since they require O(N2) comparisons. In this paper, we present an alternative approach based upon "hashing". We propose a scheme that captures the semantics of functions as semantic hashes. Our approach treats a function as a set of features, each of which represent the input-output behavior of a basic block. Using a form of locality-sensitive hashing known as Min Hashing, functions with many common features can be quickly identified, and the complexity of clustering is reduced to O(N). Experiments on functions extracted from the CERT malware catalog indicate that we are able to cluster closely related code with a low false positive rate. Wesley Jin, Sagar Chaki, Cory F. Cohen, Arie Gurfinkel, Jeffrey Havrilla, Charles Hines, Priya Narasimhan |
ICMLA (1) | 3 |
| 2011 | Supervised learning for provenance-similarity of binariesabstractUnderstanding, measuring, and leveraging the similarity of binaries (executable code) is a foundational challenge in software engineering. We present a notion of similarity based on provenance -- two binaries are similar if they are compiled from the same (or very similar) source code with the same (or similar) compilers. Empirical evidence suggests that provenance-similarity accounts for a significant portion of variation in existing binaries, particularly in malware. We propose and evaluate the applicability of classification to detect provenance-similarity. We evaluate a variety of classifiers, and different types of attributes and similarity labeling schemes, on two benchmarks derived from open-source software and malware respectively. We present encouraging results indicating that classification is a viable approach for automated provenance-similarity detection, and as an aid for malware analysts in particular. Sagar Chaki, Cory F. Cohen, Arie Gurfinkel |
KDD | 2 |