Handling large search space in pattern-based reverse engineering

Author(s):  
J. Niere ◽  
J.P. Wadsack ◽  
L. Wendehals
2021 ◽  
Vol 5 (OOPSLA) ◽  
pp. 1-29
Author(s):  
Sándor Bartha ◽  
James Cheney ◽  
Vaishak Belle

Programming or scripting languages used in real-world systems are seldom designed with a formal semantics in mind from the outset. Therefore, developing well-founded analysis tools for these systems requires reverse-engineering a formal semantics as a first step. This can take months or years of effort. Can we (at least partially) automate this process? Though desirable, automatically reverse-engineering semantics rules from an implementation is very challenging, as found by Krishnamurthi, Lerner and Elberty. In this paper, we highlight that scaling methods with the size of the language is very difficult due to state space explosion, so we propose to learn semantics incrementally. We give a formalisation of Krishnamurthi et al.'s desugaring learning framework in order to clarify the assumptions necessary for an incremental learning algorithm to be feasible. We show that this reformulation allows us to extend the search space and express rules that Krishnamurthi et al. described as challenging, while still retaining feasibility. We evaluate enumerative synthesis as a baseline algorithm, and demonstrate that, with our reformulation of the problem, it is possible to learn correct desugaring rules for the example source and core languages proposed by Krishnamurthi et al., in most cases identical to the intended rules. In addition, with user guidance, our system was able to synthesize rules for desugaring list comprehensions and try/catch/finally constructs.


IoT ◽  
2021 ◽  
Vol 2 (3) ◽  
pp. 375-400
Author(s):  
Amy Vennos ◽  
Kiernan George ◽  
Alan Michaels

This paper explores the security of a single-stage residue number system (RNS) pseudorandom number generator (PRNG), which has previously been shown to provide extremely high-quality outputs when evaluated through available RNG statistical test suites or in using Shannon and single-stage Kolmogorov entropy metrics. In contrast, rather than blindly performing statistical analyses on the outputs of the single-stage RNS PRNG, this paper provides both white box and black box analyses that facilitate reverse engineering of the underlying RNS number generation algorithm to obtain the residues, or equivalently key, of the RNS algorithm. We develop and demonstrate a conditional entropy analysis that permits extraction of the key given a priori knowledge of state transitions as well as reverse engineering of the RNS PRNG algorithm and parameters (but not the key) in problems where the multiplicative RNS characteristic is too large to obtain a priori state transitions. We then discuss multiple defenses and perturbations for the RNS system that fool the original attack algorithm, including deliberate noise injection and code hopping. We present a modification to the algorithm that accounts for deliberate noise, but rapidly increases the search space and complexity. Lastly, we discuss memory requirements and time required for the attacker and defender to maintain these defenses.


2008 ◽  
Vol 45 ◽  
pp. 161-176 ◽  
Author(s):  
Eduardo D. Sontag

This paper discusses a theoretical method for the “reverse engineering” of networks based solely on steady-state (and quasi-steady-state) data.


2004 ◽  
Vol 62 (12) ◽  
pp. 1057-1063
Author(s):  
A. V. Agranovskiy ◽  
R. E. Agafonov ◽  
R. A. Khadi

Author(s):  
Jeremiah Vanderlaan ◽  
Josh Richert ◽  
James Morrison ◽  
Thomas Doyle

We are a group of engineering students, in our first year of undergraduate study. We have been selected from one thousand first year students and have competed and won the PACE competition. All engineers share a common general first year, but we have been accepted into Civil and Mechanical engineering. This project was assigned as the final project in the Design and Graphics course. The project we are tasked with, called the Cornerstone Design Project, is to first dissect a product, discover how it works, dimension each part and create a fully assembled model using CAD software (Solid Edge V20 in our case). As part of discovering how it works we must benchmark it so the device can be compared with competing products. The goal of the project is to develop a full understanding of part modeling and assembly in Solid Edge, learn proper measurement techniques, and learn the process of reverse engineering and product dissection. All of these tasks were stepping stones to help us fully understand how the device, and all its components, work.


Author(s):  
Johnatan Highlander Câmara Pereira ◽  
Yale Santos ◽  
Nícolas M. F. T. S. Araújo

Author(s):  
Raditya Faisal Waliulu ◽  
Teguh Hidayat Iskandar Alam

At this paper focus on Malicous Software also known as Malware APT1 (Advance Persistent Threat) codename WEBC2-DIV the most variants malware has criteria consists of Virus, Worm, Trojan, Adware, Spyware, Backdoor either Rootkit. Although, malware could avoidance scanning antivirus but reverse engineering could be know how dangerous malware infect computer client. Lately, malware attack as a form espionage (cyberwar) one of the most topic on security internet, because of has massive impact. Forensic malware becomes indicator successfull user to realized about malware infect. This research about reverse engineering. A few steps there are scanning, suspected packet in network and analysis of malware behavior and dissambler body malware.Keyword : forensic malware, Analysis, Advance Presistent Threat, Cyberwar, dissambler


2010 ◽  
Vol 105 (6) ◽  
pp. 606-610
Author(s):  
Christine Schöne ◽  
Ralph Stelzer ◽  
Dietmar Süße ◽  
Ulf Schmidt
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document