SlideShare a Scribd company logo
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Software Birthmark for Detecting Theft of
JavaScript Programs
Patel Swati Jitendrakumar
Guided by
Prof. T. M. Pattewar
ME CE
2012-2013
Seminar-II Presentation
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 1
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Outline of Topics
1 Introduction
2 Literature Survey
3 Methodology
4 Conclusions and Future work
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 2
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Introduction
Software Theft
It is an unauthorized copy and use of computer software.
57 % Computer Users admit that they use pirated
software.
JavaScript programs and their theft
It is an interpreted computer programming language.
Techniques of avoiding Software Theft
• Software Watermarking :
An extra code known as watermark is included as a part
of a program to prove the ownership of the program.
• Code Obfuscation :
code obfuscation is the application of transformations to
the code, which changes the physical appearance of the
code, while preserving the black-box specifications of the
program.
Content of this slide cited from [?] [?] [?] [?] [?] [?]
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 3
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Introduction contd...
Software Birthmark
A birthmark is a unique characteristic a program possesses
that can be used to identify the program.
To detect software theft,
1 The birthmark of the program under protection (the
plaintiff program) extracted.
2 The suspected program is searched against the birthmark.
3 If the birthmark of plaintiff program is found in the code of
suspected one, then it can be claimed as the suspected
program or part of it is a copy of the plaintiff program.
Content of this slide cited from [?]
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 4
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Introduction contd...
Taxonomy of Software Birthmark
Static Birthmark - extracted from the syntactic structure
of a program.
Let p, q be two components of a program or program itself.
Let f be method for extracting the set of characteristics
from a program. Then f(p) is a static birthmark of p if:
1. f(p) is obtainable from p itself.
2. q is copy of p ⇒ f(p) = f(q).
Content of this slide cited from [?] [?]
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 5
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Introduction contd...
Taxonomy of Software Birthmark contd...
Dynamic Birthmark - extracted from the dynamic
behavior of a program at run-time.
Let p,q be two components of a program or program itself.
Let I be the input to p and q. Let f(p,I) the set of
characteristics extracted from a program p with input I.
Then f(p,I) is a dynamic birthmark of p if:
1. f(p,I) is obtainable from p itself when executing p with
input I.
2. q is copy of p ⇒ f(p,I) = f(q,I).
Content of this slide cited from [?] [?]
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 6
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Introduction contd...
Heap Graph based Birthmark
Content of this slide cited from [?]
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 7
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Introduction contd...
The Threat Model
Content of this slide cited from [?]
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 8
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Related Work
Year Author Work
2004 Myles et al. Whole program path birthmarks [?]
2007 Tamada et al. API calls based Birthmarks [?]
2007 Schuler et al. Birthmark for java [?]
2011 Chan et al. Birthmark on the runtime heap [?]
2011 Chan et al. Birthmark on heap memory analysis [?]
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 9
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
System Overview
Figure: System Overview
Content of this slide cited from [?]
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 10
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
System Overview contd...
The JavaScript heap profiler:
runs a JavaScript program and takes multiple
heap snapshots in the course of its execution.
Figure: Heap profile of GMail initialization phase
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 11
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
System Overview contd...
The graph generator and filter:
traverses the objects in the heap snapshots and builds heap
graphs out of them. It also filters out objects.
• Objects in the V8 JavaScript heap are:
INTERNAL, ARRAY, STRING, OBJECT, CODE,
CLOSURE
• References between objects in the V8 JavaScript heap
are:
CONTEXT VARIABLE, ELEMENT, PROPERTY,
INTERNAL
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 12
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
System Overview contd...
The graph merger:
merges the filtered heap graphs to form one single graph.
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 13
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
System Overview contd...
The subgraph selector:
selects a subgraph from the heap graph to form the
birthmark of the plaintiff program. This step is not needed
for the suspected program.
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 14
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
System Overview contd...
The detector:
searches for the birthmark of the plaintiff program in the
heap graph of the suspected program.
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 15
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Conclusions and Future work
Software Birthmark system finds similarities between two
similarly functioning applications and distinguish distinct
applications.
This system is reliable and scalable also it can resist to
reference injection attack.
Future work can be aimed for two major factors
1. Improved Graph Selector
2. Fast Detector
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 16
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
“Ninth annual BSA global software 2011 piracy study,” 5 2012, [accessed on April 14,2013]. [Online].
Available: http://globalstudy.bsa.org/2011/
“Software theft,” [accessed on April 14,2013]. [Online]. Available:
http://www.javvin.com/softwareglossary/SoftwareTheft.html
“Software piracy,” [accessed on April 14,2013]. [Online]. Available:
http://www.fastiis.org/our services/enforcement/software theft/
C. Collberg and C. Thomborson, “Software watermarking:models and dynamic embeddings,”
Department of Computer Science, University of Auckland, Private Bag 92091, Auckland, New
Zealand, Tech. Rep., 2003.
H. I. A. Monden and K. Torii, “Watermarking java programs,” in International Symposium of Future
Software Technology, Nanjing, China, 1999.
C. T. C. Collberg and D. Low, “A taxonomy of obfuscating transformations,” University of Auckland,
Auckland, New Zealand, Tech. Rep. 148, 2003.
E. C. C. Collberg and M. Stepp, “Dynamic path-based software watermarking,” in Programming
Language Design and Implementation (PLDI 04), ACM, Ed., New York, 2004, pp. 107–118.
H. Tamada and A. Monden, “Design and evaluation of birthmarks for detecting theft of java
programs,” in IASTED International Conference of Software Engineering, 2004, pp. 569–575.
G. Myles and C. Collberg, “K-gram based software birthmarks,” in Symposium on Application
Computing (SAC 05), ACM, Ed., 2005, pp. 314–318.
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 16
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
S. P.Chan, L.Hui, “Heap graph based software theft detection,” IEEE Transaction On Information
Forensics and Security, vol. 8, pp. 101–110, January 2013.
G.Myles and C. Collberg, “Detecting software theft via whole program path birthmarks,” in Inf.
Security 7th Int. Conf. (ISC 2004), Palo Alto,CA, September 2004, pp. 404–414.
K. H.Tamada and K.Matsumoto, “Design and evaluation of dynamic software birthmarks based on
API calls,” Graduate School of Information Science, Nara Institute of Science and Technology,
8916-5 Takayama-cho, Ikoma-shi, Nara, 6300101 Japan, Technical Report, 2007.
V. D. D. Schuler and C. Lindig, “A dynamic birthmark for java,” in IEEE/ACM International
Conference of Automated Software Engineering (ASE 07), no. 22, New York, 2007, pp. 274–283.
L. P.Chan and S.Yiu, “Jsbirth: Dynamic javascript birthmark based on the run-time heap,” in 2011
IEEE 35th Annual Computer Software and Application Conference (COMPSAC), July 2011, pp.
407–412.
L. H. P. Chan and S. Yiu, “Dynamic software birthmark for java based on heap memory analysis,” in
IFIP TC 6/TC 11 Int. Conf. Commun. and Multimedia Security (CMS11), Springer-Verlag, Ed.,
no. 12, Berlin, Heidelberg, 2011, pp. 94–106.
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 17
Software
Birthmark for
Detecting
Theft of
JavaScript
Programs
Patel Swati
Jitendrakumar
Outline
Introduction
Literature
Survey
Methodology
Conclusions
and Future
work
Thank You
October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 17

More Related Content

What's hot

Building a Meta-search Engine
Building a Meta-search EngineBuilding a Meta-search Engine
Building a Meta-search Engine
Ayan Chandra
 
A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...
Concordia University
 
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs DocumentationDRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
Sebastiano Panichella
 
Survey on Fraud Malware Detection in Google Play Store
Survey on Fraud Malware Detection in Google Play Store         Survey on Fraud Malware Detection in Google Play Store
Survey on Fraud Malware Detection in Google Play Store
IRJET Journal
 
H017445260
H017445260H017445260
H017445260
IOSR Journals
 
B017441015
B017441015B017441015
B017441015
IOSR Journals
 
The Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge GraphThe Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge Graph
Trey Grainger
 
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)PatternsAre RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Francis Palma
 

What's hot (9)

Building a Meta-search Engine
Building a Meta-search EngineBuilding a Meta-search Engine
Building a Meta-search Engine
 
A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...
 
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs DocumentationDRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
DRONE: A Tool to Detect and Repair Directive Defects in Java APIs Documentation
 
Survey on Fraud Malware Detection in Google Play Store
Survey on Fraud Malware Detection in Google Play Store         Survey on Fraud Malware Detection in Google Play Store
Survey on Fraud Malware Detection in Google Play Store
 
H017445260
H017445260H017445260
H017445260
 
B017441015
B017441015B017441015
B017441015
 
The Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge GraphThe Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge Graph
 
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)PatternsAre RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
 
Resume_Manvendra_1
Resume_Manvendra_1Resume_Manvendra_1
Resume_Manvendra_1
 

Viewers also liked

Announcements: Monday December 19, 2016
Announcements:  Monday December 19, 2016Announcements:  Monday December 19, 2016
Announcements: Monday December 19, 2016
Ken Stayner
 
Functional Movement Screens for the Tennis Professional
Functional Movement Screens for the Tennis ProfessionalFunctional Movement Screens for the Tennis Professional
Functional Movement Screens for the Tennis Professional
EsserHealth
 
Ple pecha kucha
Ple pecha kuchaPle pecha kucha
Ple pecha kucha
mario luengo sanchez
 
Bollettino SIL N. 48 - 16
Bollettino SIL N. 48 - 16Bollettino SIL N. 48 - 16
Bollettino SIL N. 48 - 16
Sil Serviziodinclusionelavorativa
 
El radio
El radioEl radio
El radio
Bobemv
 
Capçelera del tresor
Capçelera del tresorCapçelera del tresor
Capçelera del tresor
Edu Alias
 
[4] rpp pai sma
[4] rpp pai sma[4] rpp pai sma
[4] rpp pai sma
khoirulhuda891
 

Viewers also liked (8)

Announcements: Monday December 19, 2016
Announcements:  Monday December 19, 2016Announcements:  Monday December 19, 2016
Announcements: Monday December 19, 2016
 
Functional Movement Screens for the Tennis Professional
Functional Movement Screens for the Tennis ProfessionalFunctional Movement Screens for the Tennis Professional
Functional Movement Screens for the Tennis Professional
 
Ple pecha kucha
Ple pecha kuchaPle pecha kucha
Ple pecha kucha
 
Bollettino SIL N. 48 - 16
Bollettino SIL N. 48 - 16Bollettino SIL N. 48 - 16
Bollettino SIL N. 48 - 16
 
El radio
El radioEl radio
El radio
 
Capçelera del tresor
Capçelera del tresorCapçelera del tresor
Capçelera del tresor
 
Aurkezpena
AurkezpenaAurkezpena
Aurkezpena
 
[4] rpp pai sma
[4] rpp pai sma[4] rpp pai sma
[4] rpp pai sma
 

Similar to Software Birthmark for Detecting Theft of JavaScript Programs

Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Tao Xie
 
Study of Software Defect Prediction using Forward Pass RNN with Hyperbolic Ta...
Study of Software Defect Prediction using Forward Pass RNN with Hyperbolic Ta...Study of Software Defect Prediction using Forward Pass RNN with Hyperbolic Ta...
Study of Software Defect Prediction using Forward Pass RNN with Hyperbolic Ta...
ijtsrd
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
Trivadis
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
Tao Xie
 
Query expansion using novel use case scenario relationship for finding featur...
Query expansion using novel use case scenario relationship for finding featur...Query expansion using novel use case scenario relationship for finding featur...
Query expansion using novel use case scenario relationship for finding featur...
IJECEIAES
 
CV - DCHATTERJI
CV - DCHATTERJICV - DCHATTERJI
CV - DCHATTERJI
Debarshi Chatterji
 
rishit_jain_resume
rishit_jain_resumerishit_jain_resume
rishit_jain_resumeRishit Jain
 
Sanket 895 presentation
Sanket 895 presentationSanket 895 presentation
Sanket 895 presentationsanketsp
 
MALWARE THREAT ANALYSIS
MALWARE THREAT ANALYSISMALWARE THREAT ANALYSIS
MALWARE THREAT ANALYSIS
Kumar Abhishek Shahi
 
A Literature Review on Plagiarism Detection in Computer Programming Assignments
A Literature Review on Plagiarism Detection in Computer Programming AssignmentsA Literature Review on Plagiarism Detection in Computer Programming Assignments
A Literature Review on Plagiarism Detection in Computer Programming Assignments
IRJET Journal
 
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Mozaic Works
 
Next-Generation Attendance Management
Next-Generation Attendance ManagementNext-Generation Attendance Management
Next-Generation Attendance Management
IRJET Journal
 
Resume bnkr
Resume bnkrResume bnkr
Internshipppt.pptx
Internshipppt.pptxInternshipppt.pptx
Internshipppt.pptx
VishalKumarSingh645583
 
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
Tao Xie
 
Assessment Of Requirement Elicitation Tools And Techniques By Various Parameters
Assessment Of Requirement Elicitation Tools And Techniques By Various ParametersAssessment Of Requirement Elicitation Tools And Techniques By Various Parameters
Assessment Of Requirement Elicitation Tools And Techniques By Various Parameters
Kelly Lipiec
 
CORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSIS
CORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSISCORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSIS
CORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSIS
ijseajournal
 

Similar to Software Birthmark for Detecting Theft of JavaScript Programs (20)

Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
 
Study of Software Defect Prediction using Forward Pass RNN with Hyperbolic Ta...
Study of Software Defect Prediction using Forward Pass RNN with Hyperbolic Ta...Study of Software Defect Prediction using Forward Pass RNN with Hyperbolic Ta...
Study of Software Defect Prediction using Forward Pass RNN with Hyperbolic Ta...
 
Resume
ResumeResume
Resume
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
SoumadeepMazumdarResume
SoumadeepMazumdarResumeSoumadeepMazumdarResume
SoumadeepMazumdarResume
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
 
Query expansion using novel use case scenario relationship for finding featur...
Query expansion using novel use case scenario relationship for finding featur...Query expansion using novel use case scenario relationship for finding featur...
Query expansion using novel use case scenario relationship for finding featur...
 
CV - DCHATTERJI
CV - DCHATTERJICV - DCHATTERJI
CV - DCHATTERJI
 
rishit_jain_resume
rishit_jain_resumerishit_jain_resume
rishit_jain_resume
 
Sanket 895 presentation
Sanket 895 presentationSanket 895 presentation
Sanket 895 presentation
 
MALWARE THREAT ANALYSIS
MALWARE THREAT ANALYSISMALWARE THREAT ANALYSIS
MALWARE THREAT ANALYSIS
 
A Literature Review on Plagiarism Detection in Computer Programming Assignments
A Literature Review on Plagiarism Detection in Computer Programming AssignmentsA Literature Review on Plagiarism Detection in Computer Programming Assignments
A Literature Review on Plagiarism Detection in Computer Programming Assignments
 
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
 
Next-Generation Attendance Management
Next-Generation Attendance ManagementNext-Generation Attendance Management
Next-Generation Attendance Management
 
Resume bnkr
Resume bnkrResume bnkr
Resume bnkr
 
Internshipppt.pptx
Internshipppt.pptxInternshipppt.pptx
Internshipppt.pptx
 
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
Assessment Of Requirement Elicitation Tools And Techniques By Various Parameters
Assessment Of Requirement Elicitation Tools And Techniques By Various ParametersAssessment Of Requirement Elicitation Tools And Techniques By Various Parameters
Assessment Of Requirement Elicitation Tools And Techniques By Various Parameters
 
CORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSIS
CORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSISCORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSIS
CORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSIS
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 

Software Birthmark for Detecting Theft of JavaScript Programs

  • 1. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Guided by Prof. T. M. Pattewar ME CE 2012-2013 Seminar-II Presentation October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 1
  • 2. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Outline of Topics 1 Introduction 2 Literature Survey 3 Methodology 4 Conclusions and Future work October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 2
  • 3. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Introduction Software Theft It is an unauthorized copy and use of computer software. 57 % Computer Users admit that they use pirated software. JavaScript programs and their theft It is an interpreted computer programming language. Techniques of avoiding Software Theft • Software Watermarking : An extra code known as watermark is included as a part of a program to prove the ownership of the program. • Code Obfuscation : code obfuscation is the application of transformations to the code, which changes the physical appearance of the code, while preserving the black-box specifications of the program. Content of this slide cited from [?] [?] [?] [?] [?] [?] October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 3
  • 4. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Introduction contd... Software Birthmark A birthmark is a unique characteristic a program possesses that can be used to identify the program. To detect software theft, 1 The birthmark of the program under protection (the plaintiff program) extracted. 2 The suspected program is searched against the birthmark. 3 If the birthmark of plaintiff program is found in the code of suspected one, then it can be claimed as the suspected program or part of it is a copy of the plaintiff program. Content of this slide cited from [?] October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 4
  • 5. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Introduction contd... Taxonomy of Software Birthmark Static Birthmark - extracted from the syntactic structure of a program. Let p, q be two components of a program or program itself. Let f be method for extracting the set of characteristics from a program. Then f(p) is a static birthmark of p if: 1. f(p) is obtainable from p itself. 2. q is copy of p ⇒ f(p) = f(q). Content of this slide cited from [?] [?] October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 5
  • 6. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Introduction contd... Taxonomy of Software Birthmark contd... Dynamic Birthmark - extracted from the dynamic behavior of a program at run-time. Let p,q be two components of a program or program itself. Let I be the input to p and q. Let f(p,I) the set of characteristics extracted from a program p with input I. Then f(p,I) is a dynamic birthmark of p if: 1. f(p,I) is obtainable from p itself when executing p with input I. 2. q is copy of p ⇒ f(p,I) = f(q,I). Content of this slide cited from [?] [?] October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 6
  • 7. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Introduction contd... Heap Graph based Birthmark Content of this slide cited from [?] October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 7
  • 8. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Introduction contd... The Threat Model Content of this slide cited from [?] October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 8
  • 9. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Related Work Year Author Work 2004 Myles et al. Whole program path birthmarks [?] 2007 Tamada et al. API calls based Birthmarks [?] 2007 Schuler et al. Birthmark for java [?] 2011 Chan et al. Birthmark on the runtime heap [?] 2011 Chan et al. Birthmark on heap memory analysis [?] October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 9
  • 10. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work System Overview Figure: System Overview Content of this slide cited from [?] October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 10
  • 11. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work System Overview contd... The JavaScript heap profiler: runs a JavaScript program and takes multiple heap snapshots in the course of its execution. Figure: Heap profile of GMail initialization phase October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 11
  • 12. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work System Overview contd... The graph generator and filter: traverses the objects in the heap snapshots and builds heap graphs out of them. It also filters out objects. • Objects in the V8 JavaScript heap are: INTERNAL, ARRAY, STRING, OBJECT, CODE, CLOSURE • References between objects in the V8 JavaScript heap are: CONTEXT VARIABLE, ELEMENT, PROPERTY, INTERNAL October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 12
  • 13. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work System Overview contd... The graph merger: merges the filtered heap graphs to form one single graph. October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 13
  • 14. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work System Overview contd... The subgraph selector: selects a subgraph from the heap graph to form the birthmark of the plaintiff program. This step is not needed for the suspected program. October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 14
  • 15. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work System Overview contd... The detector: searches for the birthmark of the plaintiff program in the heap graph of the suspected program. October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 15
  • 16. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Conclusions and Future work Software Birthmark system finds similarities between two similarly functioning applications and distinguish distinct applications. This system is reliable and scalable also it can resist to reference injection attack. Future work can be aimed for two major factors 1. Improved Graph Selector 2. Fast Detector October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 16
  • 17. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work “Ninth annual BSA global software 2011 piracy study,” 5 2012, [accessed on April 14,2013]. [Online]. Available: http://globalstudy.bsa.org/2011/ “Software theft,” [accessed on April 14,2013]. [Online]. Available: http://www.javvin.com/softwareglossary/SoftwareTheft.html “Software piracy,” [accessed on April 14,2013]. [Online]. Available: http://www.fastiis.org/our services/enforcement/software theft/ C. Collberg and C. Thomborson, “Software watermarking:models and dynamic embeddings,” Department of Computer Science, University of Auckland, Private Bag 92091, Auckland, New Zealand, Tech. Rep., 2003. H. I. A. Monden and K. Torii, “Watermarking java programs,” in International Symposium of Future Software Technology, Nanjing, China, 1999. C. T. C. Collberg and D. Low, “A taxonomy of obfuscating transformations,” University of Auckland, Auckland, New Zealand, Tech. Rep. 148, 2003. E. C. C. Collberg and M. Stepp, “Dynamic path-based software watermarking,” in Programming Language Design and Implementation (PLDI 04), ACM, Ed., New York, 2004, pp. 107–118. H. Tamada and A. Monden, “Design and evaluation of birthmarks for detecting theft of java programs,” in IASTED International Conference of Software Engineering, 2004, pp. 569–575. G. Myles and C. Collberg, “K-gram based software birthmarks,” in Symposium on Application Computing (SAC 05), ACM, Ed., 2005, pp. 314–318. October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 16
  • 18. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work S. P.Chan, L.Hui, “Heap graph based software theft detection,” IEEE Transaction On Information Forensics and Security, vol. 8, pp. 101–110, January 2013. G.Myles and C. Collberg, “Detecting software theft via whole program path birthmarks,” in Inf. Security 7th Int. Conf. (ISC 2004), Palo Alto,CA, September 2004, pp. 404–414. K. H.Tamada and K.Matsumoto, “Design and evaluation of dynamic software birthmarks based on API calls,” Graduate School of Information Science, Nara Institute of Science and Technology, 8916-5 Takayama-cho, Ikoma-shi, Nara, 6300101 Japan, Technical Report, 2007. V. D. D. Schuler and C. Lindig, “A dynamic birthmark for java,” in IEEE/ACM International Conference of Automated Software Engineering (ASE 07), no. 22, New York, 2007, pp. 274–283. L. P.Chan and S.Yiu, “Jsbirth: Dynamic javascript birthmark based on the run-time heap,” in 2011 IEEE 35th Annual Computer Software and Application Conference (COMPSAC), July 2011, pp. 407–412. L. H. P. Chan and S. Yiu, “Dynamic software birthmark for java based on heap memory analysis,” in IFIP TC 6/TC 11 Int. Conf. Commun. and Multimedia Security (CMS11), Springer-Verlag, Ed., no. 12, Berlin, Heidelberg, 2011, pp. 94–106. October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 17
  • 19. Software Birthmark for Detecting Theft of JavaScript Programs Patel Swati Jitendrakumar Outline Introduction Literature Survey Methodology Conclusions and Future work Thank You October 24, 2013 SES’s R. C. Patel Institute of Technology, Shirpur, MS, India 17