dbpd: a dynamic birthmark-based software plagiarism detection tool zhenzhou tian...

11
DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian [email protected] MOE Key Lab for Intelligent Networks and Network Security Xi’an Jiaotong University, China 22/7/3 1

Upload: brittney-may

Post on 01-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

DBPD: A Dynamic Birthmark-based Software

Plagiarism Detection Tool

DBPD: A Dynamic Birthmark-based Software

Plagiarism Detection Tool

Zhenzhou Tian

[email protected]

MOE Key Lab for Intelligent Networks and Network Security

Xi’an Jiaotong University, China

23/4/20

1

Page 2: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

2

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

Page 3: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

3

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 Static Java bytecode

Birthmarking Dynamic Java bytecode

JPlag Static Source code

Page 4: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

4

Framework of DBPD Software BirthmarkA 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

Dynamic Analysis Module

Similarity Calculator & Decision Maker

Plaintiff Binary

Defendant Binary

Input

DKISB Generator

SODB Generator

SCSSB Generator

Birthmark Generator

Page 5: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

5

Three Dynamic Birthmarks Three Birthmark Approaches Implemented DKISB: Dynamic Key Instruction Sequence BirthmarkGenerated using k-gram algorithm from dynamic key instructions

(instructions that are both value updating and input correlated).

SCSSB: System Call Short Sequence BirthmarkExtracted by splitting system call sequence into short sub-sequences

SODB: Stack Operation Dynamic BirthmarkGenerated by analyzing the behavior of stack operations, utilizing

the law of push and pop operation of call stack to uniquely identify a program

Page 6: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

6

Demonstration

Independently implemented software with similar functionalities

Page 7: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

7

Demonstration

Plagiarism Using Different Compilers and Optimization Levels

Page 8: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

8

Demonstration

Plagiarism Using Specific Obfuscation Tools

Page 9: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

9

Demonstration

Cross-Platform Plagiarism Scenario

Page 10: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

10

Some Definitions

Page 11: DBPD: A Dynamic Birthmark-based Software Plagiarism Detection Tool Zhenzhou Tian zztian@stu.xjtu.edu.cn MOE Key Lab for Intelligent Networks and Network

11

Some Definitions