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.

Nimrod Partush

dblp:130/9983 · DBLP profile ↗
← Back
7ranked-venue papers
2as first author
0since 2021 · last 2018
—ORCID · none

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

Software engineering, systems software and programming languages · 6 · 2 first-authorSystems, architecture and hardware · 2

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.

Software engineering, system software, and programming languages
6 papers
Program analysis · 75% Software maintenance and evolution · 17% Debugging and program repair · 8%
Network and information security
2 papers
Systems and software security · 100%

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

TopicWeightPapersLastEvidence papers
Program analysis › binary analysis
binary code similarity detection
0.932018
FirmUp: Precise Static Detection of Common Vulnerabilities in Firmware · ASPLOS 2018
Similarity of binaries through re-optimization · PLDI 2017
Statistical similarity of binaries · PLDI 2016
Program analysis
static analysis
0.622018
FirmUp: Precise Static Detection of Common Vulnerabilities in Firmware · ASPLOS 2018
Refining interprocedural change-impact analysis using equivalence relations · ISSTA 2017
Systems and software security
vulnerability discovery
0.622018
FirmUp: Precise Static Detection of Common Vulnerabilities in Firmware · ASPLOS 2018
Statistical similarity of binaries · PLDI 2016
Program analysis
binary analysis
0.522017
Similarity of binaries through re-optimization · PLDI 2017
Statistical similarity of binaries · PLDI 2016
Systems and software security › vulnerability discovery
firmware vulnerability analysis
0.312018
FirmUp: Precise Static Detection of Common Vulnerabilities in Firmware · ASPLOS 2018
Software maintenance and evolution
change impact analysis
0.312017
Refining interprocedural change-impact analysis using equivalence relations · ISSTA 2017
Program analysis › static analysis
interprocedural analysis
0.312017
Refining interprocedural change-impact analysis using equivalence relations · ISSTA 2017
Debugging and program repair
record and replay
0.312017
Engineering Record and Replay for Deployability · USENIX ATC 2017
Software maintenance and evolution
reverse engineering
0.312017
Similarity of binaries through re-optimization · PLDI 2017
Systems and software security › vulnerability discovery › software vulnerability detection
binary vulnerability detection
0.212016
Statistical similarity of binaries · PLDI 2016
Program analysis › differential program analysis
semantic difference detection
0.212014
Abstract semantic differencing via speculative correlation · OOPSLA 2014
Program analysis › static analysis
abstract interpretation
0.112014
Abstract semantic differencing via speculative correlation · OOPSLA 2014

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

static analysis · 0.7procedure correspondence · 0.7statistical similarity · 0.5similarity by composition · 0.5re-optimization · 0.3program dependence analysis · 0.3equivalence relations · 0.3
YearPublicationVenuePosition
2018 FirmUp: Precise Static Detection of Common Vulnerabilities in Firmware
abstract
We present a static, precise, and scalable technique for finding CVEs (Common Vulnerabilities and Exposures) in stripped firmware images. Our technique is able to efficiently find vulnerabilities in real-world firmware with high accuracy. Given a vulnerable procedure in an executable binary and a firmware image containing multiple stripped binaries, our goal is to detect possible occurrences of the vulnerable procedure in the firmware image. Due to the variety of architectures and unique tool chains used by vendors, as well as the highly customized nature of firmware, identifying procedures in stripped firmware is extremely challenging. Vulnerability detection requires not only pairwise similarity between procedures but also information about the relationships between procedures in the surrounding executable. This observation serves as the foundation for a novel technique that establishes a partial correspondence between procedures in the two binaries. We implemented our technique in a tool called FirmUp and performed an extensive evaluation over 40 million procedures, over 4 different prevalent architectures, crawled from public vendor firmware images. We discovered 373 vulnerabilities affecting publicly available firmware, 147 of them in the latest available firmware version for the device. A thorough comparison of FirmUp to previous methods shows that it accurately and effectively finds vulnerabilities in firmware, while outperforming the detection rate of the state of the art by 45% on average.
Yaniv David, Nimrod Partush, Eran Yahav
ASPLOS2
2017 Refining interprocedural change-impact analysis using equivalence relations
abstract
Change-impact analysis (CIA) is the task of determining the set of program elements impacted by a program change. Precise CIA has great potential to avoid expensive testing and code reviews for (parts of) changes that are refactorings (semantics-preserving). However most statement-level CIA techniques suffer from imprecision as they do not incorporate the semantics of the change.
Alex Gyori, Shuvendu K. Lahiri, Nimrod Partush
ISSTA3
2017 Similarity of binaries through re-optimization
abstract
We present a scalable approach for establishing similarity between stripped binaries (with no debug information). The main challenge in binary similarity, is to establish similarity even when the code has been compiled using different compilers, with different optimization levels, or targeting different architectures. Overcoming this challenge, while avoiding false positives, is invaluable to the process of reverse engineering and the process of locating vulnerable code.
Yaniv David, Nimrod Partush, Eran Yahav
PLDI2
2017 Engineering Record and Replay for Deployability
Robert O'Callahan, Nathan Froyd, Kyle Huey, Albert Noll, Nimrod Partush
USENIX ATC6
2016 Statistical similarity of binaries
abstract
We address the problem of finding similar procedures in stripped binaries. We present a new statistical approach for measuring the similarity between two procedures. Our notion of similarity allows us to find similar code even when it has been compiled using different compilers, or has been modified. The main idea is to use similarity by composition: decompose the code into smaller comparable fragments, define semantic similarity between fragments, and use statistical reasoning to lift fragment similarity into similarity between procedures. We have implemented our approach in a tool called Esh, and applied it to find various prominent vulnerabilities across compilers and versions, including Heartbleed, Shellshock and Venom. We show that Esh produces high accuracy results, with few to no false positives -- a crucial factor in the scenario of vulnerability search in stripped binaries.
Yaniv David, Nimrod Partush, Eran Yahav
PLDI2
2014 Abstract semantic differencing via speculative correlation
abstract
We address the problem of computing semantic differences between a program and a patched version of the program. Our goal is to obtain a precise characterization of the difference between program versions, or establish their equivalence. We focus on infinite-state numerical programs, and use abstract interpretation to compute an over-approximation of program differences.
Nimrod Partush, Eran Yahav
OOPSLA1
2013 Abstract Semantic Differencing for Numerical Programs
Nimrod Partush, Eran Yahav
SAS1