Steven H. H. Ding presents a MapReduce-based assembly clone search engine designed to identify subgraph clones in large assembly repositories.
Title: Kam1n0: MapReduce-based Assembly Clone Search for Reverse Engineering
Authors:
Steven H. H. Ding, McGill University
Benjamin C. M. Fung*, McGill University
Philippe Charland, Defence Research and Development Canada
Abstract:
Assembly code analysis is one of the critical processes for detecting and justifying software plagiarism and software patent infringements when the source code is unavailable. It is also a common practice to discover exploits and vulnerabilities in existing software. However, it is a manually intensive and time-consuming process even for experienced reverse engineers. An effective and efficient assembly code clone search engine can greatly reduce the effort of this process, since it can identify the cloned parts that have been previously analyzed. The assembly code clone search problem belongs to the field of software engineering. However, it strongly depends on practical nearest neighbor search techniques in data mining and database. By closely collaborating with reverse engineers and Defence Research and Development Canada (DRDC), we study the concerns and challenges that make existing assembly code clone approaches not practically applicable from the perspective of data mining. We propose a new variant of LSH scheme and incorporate it with graph matching to address these challenges. We implement an integrated assembly clone search engine called Kam1n0. It is the first clone search engine that can efficiently identify the given query assembly function’s subgraph clones from a large assembly code repository. Kam1n0 is built upon the Apache Spark computation framework and Cassandra-like key-value distributed storage. The deployed system is publicly available and readers can try out its beta version on Google Cloud. Extensive experimental results suggest that Kam1n0 is accurate, efficient, and scalable for handling large volume of assembly code.
More on kdd.org/kdd2016/
KDD2016 Conference will be recorded and published on videolectures.net/
Why it's here
1 person recommends this
What people say. Shared as an efficient tool and approach for identifying cloned assembly functions during reverse engineering.
Map Reduce-based Assembly Clone Search for Reverse Engineering: here's Kam1n0, the first clone search engine that can efficiently identify the given query assembly function’s subgraph clones from a large assembly code repository