Using software metrics for estimating code similarities in binaries Saša Stojanović, Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering,

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

Introduction to Digital Communications
Why to learn OSI reference Model? The answer is too simple that It tells us that how communication takes place between computers on internet but how??
Data Communication Topics to be discussed:  Data Communication Terminology.  Data Transmission Signals.  Data Transmission Circuits.  Serial & Parallel.
Layer 1 of the TCP/IP protocol stack: Network Access Layer (NAL). Functions, performed on the layer. МАС address in Ethernet networks. Layer 1 of the TCP/IP.
Csc333 Data communication & Networking Credit: 2.
Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm
Architectural Investigation of XCTL by URCA Miloš Cvetanović, Dragan Bojić Faculty of Electrical Engineering University of Belgrade {cmilos,
Implementation Of The Discrete Event Simulator Based On Distributed Processing Zaharije Radivojević 1, Ljubomir Samarđić, Miloš Cvetanović 1 1 Elektrotehnički.
King Fahd University of Petroleum &Minerals Electrical Engineering Department EE-400 presentation CDMA systems Done By: Ibrahim Al-Dosari Mohammad.
COE Data and Computer Communications Data Communications & Networking Overview.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Transfer of Learning. Transfer Transfer may be: Positive Positive Negative Negative Zero Zero Learning of new skill or performance in new situation influenced.
Sep 06, 2005CS477: Analog and Digital Communications1 Introduction Analog and Digital Communications Autumn
Information Theory Eighteenth Meeting. A Communication Model Messages are produced by a source transmitted over a channel to the destination. encoded.
1 Chapter 1 Introduction. 2 Outline 1.1 A Very Abstract Summary 1.2 History 1.3 Model of the Signaling System 1.4 Information Source 1.5 Encoding a Source.
Information and Communication Unit 5, Lesson 4 Explanation Presentation © 2011 International Technology and Engineering Educators Association, STEM.
Chapter 8 COMMUNICATION AND COMPUTER NETWORK
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
Implementation of Distributed Air Traffic Control Simulator Ranko Radovanović, Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering,
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Data Communications and Networks
Communication Networks
Introduction.
Introduction to Data communication
RET 2013: INFORMATION IN RADIO WAVES Ken Jacobs Tim Scaduto.
Characteristics of Communication Systems
Detecting software clones in binaries Zaharije Radivojević, Saša Stojanović, Miloš Cvetanović School of Electrical Engineering, Belgrade University 14th.
COMMUNICATIONPROTOCOL Kumar Vipul Shrivastawa and Abhinash. Regd.No:050 and 279 Branch: ETC A technical Seminar presented by.
Network Architecture & Standards
Teaching Database Courses Using Educational System ADVICE Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University.
 An ISO is a multi national body dedicated to worldwide agreement on international standards.  An ISO standard that covers all aspects of network communications.
The OSI Model.
CODED COOPERATIVE TRANSMISSION FOR WIRELESS COMMUNICATIONS Prof. Jinhong Yuan 原进宏 School of Electrical Engineering and Telecommunications University of.
Introduction to Grid Computing to students attending Concurrent and Distributed Programming courses Zaharije Radivojević School of Electrical Engineering.
COMPUTER COMMUNICATION & NETWORKS Presented by MUTAASA AHMED.
Introduction to Digital and Analog Communication Systems
Coding Theory Efficient and Reliable Transfer of Information
Introduction to Information Technologies Chapter 1 - Introduction
Prof. Brian L. Evans Dept. of Electrical and Computer Engineering The University of Texas at Austin EE445S Real-Time Digital Signal Processing Lab Fall.
Teaching the simulator design in Java Zaharije Radivojević, Miloš Cvetanović 11th Workshop “Software Engineering Education and Reverse Engineering” Ohrid,
3.2 Software Fundamentals. A protocol is a formal description of digital message formats and the rules for exchanging those messages in or between computing.
Prepared by Engr.Jawad Ali BSc(Hons)Computer Systems Engineering University of Engineering and Technology Peshawar.
Network Protocols and Standards (Part 2). The OSI Model In 1984, the International Organization for Standardization (ISO) defined a standard, or set of.
Chapter 2 Network Models
Digital Modulation Technique
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
1 Chap. 2 Protocol. 2 Communication model Simplified communication model  source node  gather data from sensor or switch using ADC (analog-to-digital.
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
Department of Communication Engineering, NCTU 1 Instructions on Programming Programmable Array Logic Devices.
I.S 512 TOPIC 1 COMMUNICATIONS AND NETWORKS. DEFINING COMMUNICATION Communication refers to a process whereby a signal is transmitted from a sender to.
Professional Development of Software Engineers First day summary.
Chapter 1. SIGNAL PROCESSING:  Signal processing is concerned with the efficient and accurate extraction of information in a signal process.  Signal.
Communication Technology. Telephone There is not much difference between the way a string telephone and a real telephone work except that electric current.
Friday, 23 August 2013 Session Work out Presented By: Abhijit Pal.
Data Communication Network Models
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
TCP/IP Protocol Suite Suresh Kr Sharma 1 The OSI Model and the TCP/IP Protocol Suite Established in 1947, the International Standards Organization (ISO)
Mr. Sathish Kumar. M Department of Electronics and Communication Engineering I’ve learned that people will forget what you said, people will forget what.
DIGITAL COMMUNICATION. Introduction In a data communication system, the output of the data source is transmitted from one point to another. The rate of.
INTRODUCTION. Electrical and Computer Engineering  Concerned with solving problems of two types:  Production or transmission of power.  Transmission.
Importance of Wireless Processes of Wireless Internet Known now as WiFi Very similar to how radio and television signals work Information gets coded.
Electrical Engineering
Digital Subscriber Line
Introduction to Micro Controllers & Embedded System Design Stored Program Machine Department of Electrical & Computer Engineering Missouri University.
Congestion Control, Internet transport protocols: udp
Layer 1 of the TCP/IP protocol stack: Network Access Layer (NAL)
Chapter 3: Open Systems Interconnection (OSI) Model
This Presentation carries model and explanation..
Chapter Five: Network Software Protocol Hierarchies
Presentation transcript:

Using software metrics for estimating code similarities in binaries Saša Stojanović, Miloš Cvetanović, Zaharije Radivojević School of Electrical Engineering, Belgrade University 15th Workshop “Software Engineering Education and Reverse Engineering” Bohinj, Slovenija August 2015

15th Workshop SEE and RE 2/34 Agenda Estimating Code Similarities in Binaries Theory of Communication Mapping to Code Similarity Results Conclusions

15th Workshop SEE and RE 3/34 Estimating Code Similarities How to find if some binary code originates from particular source code?

15th Workshop SEE and RE 4/34 Estimating Code Similarities

15th Workshop SEE and RE 5/34 Estimating Code Similarities Source code Device

15th Workshop SEE and RE 6/34 Estimating Code Similarities

15th Workshop SEE and RE 7/34 Estimating Code Similarities Live chip

15th Workshop SEE and RE 8/34 Estimating Code Similarities Connection device Live chip

15th Workshop SEE and RE 9/34 Estimating Code Similarities

15th Workshop SEE and RE 10/34 Estimating Code Similarities

15th Workshop SEE and RE 11/34 Estimating Code Similarities Binary code!

15th Workshop SEE and RE 12/34 Estimating Code Similarities CompilerSource code Binary code What compiler?

15th Workshop SEE and RE 13/34 Estimating Code Similarities Compiler 2Source code Binary code 2 Compiler 1Binary code 1 Compiler 3Binary code 3

15th Workshop SEE and RE 14/34 Problem schema CompilerSource code Destination code

15th Workshop SEE and RE 15/34 Problem schema DisturbanceSourceDestination

15th Workshop SEE and RE 16/34 Problem schema NoiseSourceDestination Information theory!

15th Workshop SEE and RE 17/34 Information theory Information Source TransmitterNoise Source ReceiverDestination Message Signal Received Signal Message

15th Workshop SEE and RE 18/34 Information theory An information source that produces a message A transmitter that operates on the message to create a signal which can be sent through a channel A channel, which is the medium over which the signal, carrying the information that composes the message, is sent A receiver, which transforms the signal back into the message intended for delivery A destination, which can be a person or a machine, for whom or which the message is intended Wikipedia

15th Workshop SEE and RE 19/34 Information theory Information Source TransmitterNoise Source ReceiverDestination Message Signal Received Signal Message

15th Workshop SEE and RE 20/34 Information theory & Code detection MessageSymbolProcedure Instruction Measure of Information – Entropy Measure of Information – Entropy!

15th Workshop SEE and RE 21/34 Information theory & Code detection How to solve the code detection problem? Increase amount of information with positive influence Decrease amount of information with negative influence

15th Workshop SEE and RE 22/34 Approach

15th Workshop SEE and RE 23/34 Information theory & Code detection MessageSymbol Lossy Compression ProcedureInstruction Metrics Measure of Information – Entropy

15th Workshop SEE and RE 24/34 Approach

15th Workshop SEE and RE 25/34 Inline Optimization

15th Workshop SEE and RE 26/34 Opcode Sequences

15th Workshop SEE and RE 27/34 Filtering Stack Instructions

15th Workshop SEE and RE 28/34 Filtering Transfer Instructions

15th Workshop SEE and RE 29/34 Approach

15th Workshop SEE and RE 30/34 Results (STAMP + Busy Box)

15th Workshop SEE and RE 31/34 Results (STAMP + Busy Box)

15th Workshop SEE and RE 32/34 Results (STAMP + Busy Box)

Code similarities can be viewed from Information theory perspective Code similarities using software metrics can be observed as a lossy compression Filters stack instructions has the largest contribution to ranking. 15th Workshop SEE and RE 33/34 Conclusion

Thank you! Radivojevic Zaharije