DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool

Slides:



Advertisements
Similar presentations
HL7 V2 Conformance Testing Robert Snelick NIST January 20 th, 2004
Advertisements

Protecting Software Code By Guards - by Hoi Chang and Mikhail J. Atallah “Many software-based mechanisms for protecting program code are too weak[…] or.
Using Instruction Block Signatures to Counter Code Injection Attacks Milena Milenković, Aleksandar Milenković, Emil Jovanov The University of Alabama in.
A Survey of Botnet Size Measurement PRESENTED: KAI-HSIANG YANG ( 楊凱翔 ) DATE: 2013/11/04 1/24.
FSE’14 Semantics-Based Obfuscation-Resilient Binary Code Similarity Comparison with Application to Software Plagiarism Detection Lannan Luo, Jiang Ming,
Dynamic Self-Checking Techniques for Improved Tamper Resistance Bill Horne, Lesley Matheson, Casey Sheehan, Robert E. Tarjan STAR Lab, InterTrust Technologies.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
AndroidCompiler. Layout Motivation Literature Review AndroidCompiler Future Works.
.NET IL Obfuscation Presented by: Sarath Chandra Dorbala.
Hiperspace Lab University of Delaware Antony, Sara, Mike, Ben, Dave, Sreedevi, Emily, and Lori.
IPT Readings on Instrumentation, Profiling, and Tracing Seminar presentation by Alessandra Gorla University of Lugano December 7, 2006.
1 System: Mecano Presenters: Baolinh Le, [Bryce Carder] Course: Knowledge-based User Interfaces Date: April 29, 2003 Model-Based Automated Generation of.
The Superdiversifier: Peephole Individualization for Software Protection Mariusz H. Jakubowski Prasad Naldurg Chit Wei (Nick) Saw Ramarathnam Venkatesan.
Software Uniqueness: How and Why? Puneet Mishra Dr. Mark Stamp Department of Computer Science San José State University, San José, California.
1 Project Planning CIS 375 Bruce R. Maxim UM-Dearborn.
Deploying Dynamics Applications Thomas Hansen – Director, appSolutions a|s
Automated malware classification based on network behavior
Lucent Technologies – Proprietary Use pursuant to company instruction Learning Sequential Models for Detecting Anomalous Protocol Usage (work in progress)
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Vulnerability-Specific Execution Filtering (VSEF) for Exploit Prevention on Commodity Software Authors: James Newsome, James Newsome, David Brumley, David.
University of Palestine Department of Information Technology Done by: Montaser El sabea Supervisors: yassmen El Bobo Unified Modeling Language.
SCOTT KURODA ADVISOR: DR. FRANZ KURFESS Encouraging Secure Programming Practice in Academia.
Detecting Software Theft via System Call Based Birthmarks Xinran Wang, Yoon-Chan Jhi, Sencun Zhu, Peng Liu ACSAC 2009.
A Framework for Automated Web Application Security Evaluation
Michael Ernst, page 1 Collaborative Learning for Security and Repair in Application Communities Performers: MIT and Determina Michael Ernst MIT Computer.
Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University.
Carnegie Mellon Selected Topics in Automated Diversity Stephanie Forrest University of New Mexico Mike Reiter Dawn Song Carnegie Mellon University.
Secure Cloud Solutions Open Government Forum Abu Dhabi April 2014 Karl Chambers CISSP PMP President/CEO Diligent eSecurity International.
Plagiarism Detection for Multithreaded Software Based on Thread-Aware Software Birthmarks Zhenzhou Tian MOE Key Lab for Intelligent.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Design and Implementation.
The Daikon system for dynamic detection of likely invariants MIT Computer Science and Artificial Intelligence Lab. 16 January 2007 Presented by Chervet.
Malware Analysis Jaimin Shah & Krunal Patel Vishal Patel & Shreyas Patel Georgia Institute of Technology School of Electrical and Computer Engineering.
Trusted ILLIAC - A Configurable, Application-Aware, High-Performance Platform for Trustworthy Computing Ravishankar Iyer, Wen-mei Hwu, Klara Nahrstedt,
Christopher Kruegel University of California Engin Kirda Institute Eurecom Clemens Kolbitsch Thorsten Holz Secure Systems Lab Vienna University of Technology.
Cryptography and Network Security (CS435) Part One (Introduction)
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
RIVERSIDE RESEARCH INSTITUTE Deobfuscator: An Automated Approach to the Identification and Removal of Code Obfuscation Eric Laspe, Reverse Engineer Jason.
1 Diversifying Sensors to Improve Network Resilience Wenliang (Kevin) Du Electrical Engineering & Computer Science Syracuse University.
Hassen Grati, Houari Sahraoui, Pierre Poulin DIRO, Université de Montréal Extracting Sequence Diagrams from Execution Traces using Interactive Visualization.
©2009 Mladen Kezunovic. Improving Relay Performance By Off-line and On-line Evaluation Mladen Kezunovic Jinfeng Ren, Chengzong Pang Texas A&M University,
Programming language. Definition Programming language is a formal language designed to communicate instructions to a computer. Programming languages can.
Protecting Software Code By Guards The George Washington University Cs297 YU-HAO HU.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology A Plagiarism Detection Technique for Java Program Using.
Embedded Lab. Park Yeongseong.  Introduction  State of the art  Core values  Design  Experiment  Discussion  Conclusion  Q&A.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.
1 University of California, Irvine Done By : Ala Khalifeh (Note : Not Presented)
Design and Implementation of Geometric and Texture-Based Flow Visualization Techniques Robert S. Laramee Markus Hadwiger Helwig Hauser.
CISC Machine Learning for Solving Systems Problems Presented by: Satyajeet Dept of Computer & Information Sciences University of Delaware Automatic.
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
90-723: Data Structures and Algorithms for Information Processing Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 1: Introduction Data.
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
Exploiting Instruction Streams To Prevent Intrusion Milena Milenkovic.
Virtualized Execution Realizing Network Infrastructures Enhancing Reliability Application Communities PI Meeting Arlington, VA July 10, 2007.
1 Architecture and Behavioral Model for Future Cognitive Heterogeneous Networks Advisor: Wei-Yeh Chen Student: Long-Chong Hung G. Chen, Y. Zhang, M. Song,
Security Codesign Steve Dawson and Victoria Stavridou Bruno Dutertre, Josh Levy, Bob Riemenschneider, Hassen Saidi, Tomas Uribe System Design Laboratory.
Application Communities Phase 2 (AC2) Project Overview Nov. 20, 2008 Greg Sullivan BAE Systems Advanced Information Technologies (AIT)
哈工大信息检索研究室 HITIR ’ s Update Summary at TAC2008 Extractive Content Selection Using Evolutionary Manifold-ranking and Spectral Clustering Reporter: Ph.d.
A Framework For Trusted Instruction Execution Via Basic Block Signature Verification Milena Milenković, Aleksandar Milenković, and Emil Jovanov Electrical.
Techniques, Tools, and Research Issues
EPANET-MATLAB Toolkit An Open-Source Software for Interfacing EPANET with MATLAB™ Demetrios ELIADES, Marios KYRIAKOU, Stelios VRACHIMIS and Marios POLYCARPOU.
ECET 370 HELPS Education Your Life-- ecet370helps.com.
ECET 370 HELPS Lessons in Excellence- -ecet370helps.com.
ECET 370 HELPS Education for Service- - ecet370helps.com.
“just-in-time” compilation (JIT) technique prepared by - Harshada Hole
Introduction to Data Structures
Data Structures and Algorithms for Information Processing
String Analysis for JavaScript Programs Using JSAI
Presentation transcript:

DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network Security Xi’an Jiaotong University, China 2017/4/23

Introduction Software plagiarism has been a serious threat to the healthy development of software industry Violate licenses for commercial interests or unwittingly Weak code protection awareness Powerful automated code obfuscation tools Distributed in binary form

Introduction Many software birthmark based techniques are proposed Static Birthmarks: CVFV,SMC,IS,UC… Dynamic Birthmarks: WPP, SCSSB, SCDG, DKISB… Seldom tools are publically available Dynamic birthmarks are believed to perform better than static birthmarks Tool Static/Dynamic Language Sandmark Static Java bytecode Stigmata Birthmarking Dynamic JPlag Source code constant values in field variables, sequence of method calls, inheritance structure and used classes

Framework of DBPD Software Birthmark Design Overview A set of characteristics extracted from a program that reflects intrinsic properties of the program, and which can be used to identify the program uniquely. Design Overview

Three Dynamic Birthmarks Three Birthmark Approaches Implemented DKISB: Dynamic Key Instruction Sequence Birthmark Generated using k-gram algorithm from dynamic key instructions (instructions that are both value updating and input correlated). SCSSB: System Call Short Sequence Birthmark Extracted by splitting system call sequence into short sub-sequences SODB: Stack Operation Dynamic Birthmark Generated by analyzing the behavior of stack operations, utilizing the law of push and pop operation of call stack to uniquely identify a program

Independently implemented software with similar functionalities Demonstration Independently implemented software with similar functionalities

Plagiarism Using Different Compilers and Optimization Levels Demonstration Plagiarism Using Different Compilers and Optimization Levels

Plagiarism Using Specific Obfuscation Tools Demonstration Plagiarism Using Specific Obfuscation Tools

Cross-Platform Plagiarism Scenario Demonstration Cross-Platform Plagiarism Scenario

Some Definitions

Some Definitions