SlideShare a Scribd company logo
1 of 6
Download to read offline
IOSR Journal of Computer Engineering (IOSR-JCE)
e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 17, Issue 3, Ver. II (May – Jun. 2015), PP 34-39
www.iosrjournals.org
DOI: 10.9790/0661-17323439 www.iosrjournals.org 34 | Page
“Software Theft Detection for JavaScript programs based on
dynamic birthmark extracted from runtime heap graph”
Mr.Somanath Janardan Salunkhe, Prof. Umesh Laxman Kulkarni
PG Student, Dept. of CSE, DYPCET, Shivaji University, Kolhapur, India
Department of Computer Engineering, Mumbai University, Mumbai, India
Abstract: Software’s, programs are valuable assets to developer companies. However, the source code of
programs can be theft and JavaScript programs whose code is easily available which is a serious threat to the
industry. There are techniques like watermarking which prove the ownership of the program but it can be
defaced and encryption which changes source code but it may decrypted and also it cannot avoid the source
code being copied. In this paper, we use a new technique, software birthmark, to help detect code theft of
software or program. A birthmark is a unique characteristic of a program which is used to identify the program.
We extract the birthmark of software from the run-time heap by using frequent sub graph mining and search the
same in suspected program.
Keywords: Heap graph, software birthmark, frequent sub graph mining.
I. Introduction
Software theft is a serious issue in the industry. Software theft detection is very important for software
industry. The watermarking is a solution used to prove ownership. Another approach is encryption in which a
source code is transformed in such way that it becomes more difficult to understand. A new technique for
software theft detection is software birthmark which does not insert any code to the software and it depends on
the characteristics of the programs. There are two types of software birthmarks, static birthmarks and dynamic
birthmarks. Static birthmarks are extracted from the syntactic structure of a program. Dynamic birthmarks are
extracted from the dynamic behavior of a program at run-time. We use dynamic birthmark approach for
software theft detection.
A birthmark is used to identify software theft, to detect software theft; the dynamic birthmark of the
original program is first extracted by using frequent sub graph mining. The same software birthmark will be
search in suspected program. If the birthmark is found, the suspected program is a copy of the original program.
II. Related work
[1] A. Monden, H. Iida, K. I.Matsumoto, K. Inoue, and K. Torii have proposed Watermarking based
software theft detection method for java programs.
[2] C. Collberg, E. Carter, S. Debray, A. Huntwork, J. Kececioglu, C. Linn, and M. Step have proposed
Dynamic path-based software watermarking for software theft detection.
[3] X. Wang,Y.-C. Jhi, S. Zhu, and P. Liu have proposed dynamic behavior based software theft detection
[4] G.Myles and C. Collberg have detected software theft via whole program path birthmarks.
[5] D. Schuler, V. Dallmeier, and C. Lindig have shown robust dynamic birthmark for java program software
theft detection.
[6] H. Tamada, K. Okamoto, M. Nakamura, A. Monden, and K. I. Matsumoto have designed and evaluated
dynamic software birthmarks based on API Calls.
[7] P. Chan, L. Hui, and S. Yiu have proposed dynamic JavaScript birthmark based on the run-time
heap(JsBirth).
[8] P. P. F. Chan, L. C. K. Hui, and S.M. Yiu have used heap memory analysis for dynamic software
birthmark formation and comparison for java programs.
III. Proposed algorithm
Based on above discussion proposed work is to implement and analyze birthmark based software theft detecting
system for JavaScript programs. Specifically the proposed work is stated below.
1. Design and implementation of the graph generator and filter-The JavaScript heap profiler will run a
JavaScript program and takes multiple heap snapshots in the course of its execution. The graph generator
and filter will traverse the objects in the heap snapshots and builds heap graphs out of them. Heap Graph
generates for each heap snapshot. Heap snapshot consist arrangement of objects which are created runtime.
Heap graph contains various types of objects and edges. Graph filter is used to filter unwanted objects and
“Software Theft Detection for JavaScript programs based on dynamic birthmark extracted .....
DOI: 10.9790/0661-17323439 www.iosrjournals.org 35 | Page
edges. Object of type OBJECT and CLOSURE are considered and remaining types of objects are discarded.
References of type ELEMENT and PROPERTY are only included other are discarded.
2. Design and implementation of the graph merger –The graph merger will merge the filtered heap graphs
together to form one single graph. According to object id all heap graphs are combined together. We merge
all the graphs one by one by taking the union set of the nodes and edges of the two graphs being merged. In
order to make the resulting superimposition graph also connected, it need to ensure that there is at least one
object in common (with the same object ID) in two graphs before superimposing them.
3. Design and implementation of modified Graph Selector- The sub graph selector will select a sub graph
from the heap graph to form the birthmark of the original program. The modified Graph Selector will use
frequent sub graph mining to get the frequent sub graph that appears in all the heap graphs that are extracted
from the program by graph generator and filter. The proposed modified Graph Selector will be tested for its
suitableness in using it as the more representative birthmark of the program.
4. Design and implementation of the detector –The detector will search for the birthmark of the original
program in the heap graph of the suspected program.
5. Application and analysis of above mentioned scheme for its usefulness, robustness and accuracy in
protecting the intellectual property rights of JavaScript developers.
IV. Simulation Results
Module 1:
1) Graph generator and filter:
Algorithm:
Input: JavaScript heap profile from JavaScript heap profiler
Output: A set of filtered heap graphs captured at different points of time with the annotates nodes in the heap
by its object ID.
I. Graph generator:
For each snapshot taken using the Chromium browser, perform a depth first search traversal of it and print out
the heap graph with annotated nodes by its object ID (objects) and edges (reference) and then pass it to a filter.
II. Graph filter:
Graph Filter working is as follows.
For each JavaScript Objects we do following:
I. If Object is of type INTERNAL or ARRAY or STRING or CODE discard the object.
II. If Object is of type OBJECT or CLOSURE include only ELEMENT and PROPERTY references and
III. Filter out every other reference.
Module 2:
1) Graph merger:
Algorithm:
Input: Multiple labelled connected heap graphs G from Graph generator and filter
Output: A superimposition of multiple labelled connected heap graphs G into a one single graph M that
includes all the nodes and edges appearing in the input heap graphs.
The above algorithm superimposes all the graphs one by one by taking the union set of the nodes and
edges of the two graphs being merged. In order to make the resulting superimposition graph also connected, it
need to ensure that there is at least one object in common (with the same object ID) in two graphs before
superimposing them.
2) Sub graph selector:
Algorithm:
Input: A set of filtered heap graphs captured at different points of time with the annotated nodes in the heap by
its object ID (obtained from module 2- graph generator and filter).
Output: the frequent sub graphs to be used as the birthmark
The modified Graph Selector uses frequent sub graph mining to get the frequent sub graph that appears
in all the heap graphs that are extracted from the program by graph generator and filter. For frequent sub graph
mining gSpan algorithm is used which is complete frequent sub graph mining algorithm on labeled graphs.
gSpan builds a new lexicographic order among graphs, and maps each graph to a unique minimum DFS code as
its canonical label. Based on this lexicographic order, gSpan adopts the depth first search strategy to mine
frequent connected sub graphs efficiently.
This module uses java library ParSeMiS (Parallel and Sequential Graph Mining Suite). The library
searches for frequent, interesting substructures in graph databases. It has implementation of gSpan algorithm for
frequent sub graph mining.
“Software Theft Detection for JavaScript programs based on dynamic birthmark extracted .....
DOI: 10.9790/0661-17323439 www.iosrjournals.org 36 | Page
3) Sub graph detector:
1. Take birthmarks obtained from plaintiff program. Take single large merged graph obtained from suspected
program.
2. For each birthmark
a. Check if birthmark is present in single large merged graph.
b. If birthmark is found report “yes”.
3. If no birthmark is found report “not found”.
Algorithm:
Input: sub graphs from the original program and the entire heap graph of the suspected program
Output: Determines whether the selected sub graphs of the plaintiff program can be found in the heap graph of
the suspected program.
I. Takes sub graphs of the objects under the Window objects from the suspected program
II. Use sub graph monomorphism to check whether the subgraphs of the plaintiff program can be found in
them.
III. If a match is found, raise an alert and reports where the match is found.
Experimental Result
We proposed five modules in this paper, three modules are implemented and result is described in
following section. Sub graph detector and analysis are not implemented. The results of first three modules are
mentioned
We took first heap snapshot of www.google.com and passed it to the Graph Generator. It creates Heap
graph by considering all types of object and all types of edges the result of first heap snapshot is as follows
Figure 1: Results of Graph Generated by first module from sample firstheapdump
We took second heap snapshot of www.google.com and passed it to the Graph Generator. It creates Heap
graph by considering all types of object and all types of edges the result of second heap snapshot is as follows
“Software Theft Detection for JavaScript programs based on dynamic birthmark extracted .....
DOI: 10.9790/0661-17323439 www.iosrjournals.org 37 | Page
Figure 2:Results of Graph Generated by first module from sample secondheapdump
First heap snapshot of www.google.com passed to the Graph Generator which generates heap graph as
shown in figure 1.Then resulting graph passed as input to the Graph Filter which only consider Object of type
OBJECT and CLOSURE and remaining types of objects are discarded. References of type ELEMENT and
PROPERTY are only included other are discarded. The resultant filtered graph is as follows
Figure 3: Results of Graph filtered of graph from fig.1 by second module
Second heap snapshot of www.google.com passed to the Graph Generator which generates heap graph
as shown in figure 2.Then resulting graph passed as input to the Graph Filter which only consider Object of type
OBJECT and CLOSURE and remaining types of objects are discarded. References of type ELEMENT and
PROPERTY are only included other are discarded. The resultant filtered graph is as follows
“Software Theft Detection for JavaScript programs based on dynamic birthmark extracted .....
DOI: 10.9790/0661-17323439 www.iosrjournals.org 38 | Page
Figure 4: Results of Graph filtered of graph from fig.2 by second module.
In the heap graph all objects are assigned a unique id. Two snapshots which are shown in figure 3 and
figure 4 are passed to the Graph Merger which produces single graph and merging done on the basis of object
id. The resultant single graph is s follows
Figure 5: Results of merging of two Graphs from fig.3 and fig 4
Frequent sub graph Mining is applied on single graph generated by Graph Merger as shown in figure 5
which searches subgraph with maximum occurrence in the largest graph. The resultant subgraph of graph
displayed in figure 5 is as follows
“Software Theft Detection for JavaScript programs based on dynamic birthmark extracted .....
DOI: 10.9790/0661-17323439 www.iosrjournals.org 39 | Page
Figure 6: Sub graph selected by sub graph selector module as a software birthmark
The resultant sub graph of graph displayed in figure 6 will be search in suspected program. If birthmark
will found it will display message as birthmark found otherwise it will display as follows in fig.7
Fig 7: Result display after birthmark searching
V. Conclusion
We proposed a robust heap graph based software birthmark system for JavaScript programs. We
evaluated our birthmark system using 50 large-scale websites and the experiment results are promising with
100% accuracy
References
[1]. A. Monden, H. Iida, K. I.Matsumoto, K. Inoue, and K. Torii, “Watermarking java programs,” in Proc. Int. Symp. Future Software
Technol., Nanjing, China, 1999.
[2]. C. Collberg, E. Carter, S. Debray, A. Huntwork, J. Kececioglu, C. Linn, and M. Stepp, “Dynamic path-based software
watermarking,” in Proc. ACM SIGPLAN 2004 Conf. Programming Language Design and Implementation (PLDI ’04), New York,
2004, pp. 107–118, ACM.
[3]. X. Wang,Y.-C. Jhi, S. Zhu, and P. Liu, “Behavior based software theft detection,” in Proc. 16th ACM Conf. Comput.andCommun.
Security (CCS ’09), New York, 2009, pp. 280–290, ACM.
[4]. G.Myles and C. Collberg, “Detecting software theft via whole program path birthmarks,” in Proc. Inf. Security 7th Int. Conf. (ISC
2004), Palo Alto, CA, Sep. 27–29, 2004, pp. 404–415.
[5]. D. Schuler, V. Dallmeier, and C. Lindig, “A dynamic birthmark for java,” in Proc. 22nd IEEE/ACM Int. Conf. Automated Software
Eng. (ASE ’07), New York, 2007, pp. 274–283, ACM.
[6]. H. Tamada, K. Okamoto, M. Nakamura, A. Monden, and K. I. Matsumoto, Design and Evaluation of Dynamic Software Birthmarks
based on API Calls, Nara Institute of Science and Technology, Tech. Rep., 2007. [7] P. Chan, L. Hui, and S. Yiu, “Jsbirth: Dynamic
JavaScript birthmark based on the run-time heap,” in Proc. 2011 IEEE 35th Annu. Comput.Software and Applicat. Conf.
(COMPSAC), Jul. 2011, pp. 407–412.
[7]. P. P. F. Chan, L. C. K. Hui, and S.M. Yiu, “Dynamic software birthmark for java based on heap memory analysis,” in Proc. 12th
IFIP TC 6/TC 11 Int. Conf. Commun. and Multimedia Security (CMS’11), Berlin, Heidelberg, 2011, pp. 94–106, Springer-Verlag.
[8]. Yan, X.,Jiawei Han, “gSpan: graph-based substructure pattern mining,” in 2002 IEEE International Conference on Data Mining,
2002. ICDM 2003.

More Related Content

Similar to “Software Theft Detection for JavaScript programs based on dynamic birthmark extracted from runtime heap graph”

IRJET - Research on Data Mining of Permission-Induced Risk for Android Devices
IRJET - Research on Data Mining of Permission-Induced Risk for Android DevicesIRJET - Research on Data Mining of Permission-Induced Risk for Android Devices
IRJET - Research on Data Mining of Permission-Induced Risk for Android DevicesIRJET Journal
 
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...IJNSA Journal
 
A FRAMEWORK FOR THE DETECTION OF BANKING TROJANS IN ANDROID
A FRAMEWORK FOR THE DETECTION OF BANKING TROJANS IN ANDROIDA FRAMEWORK FOR THE DETECTION OF BANKING TROJANS IN ANDROID
A FRAMEWORK FOR THE DETECTION OF BANKING TROJANS IN ANDROIDIJNSA Journal
 
A hybrid model to detect malicious executables
A hybrid model to detect malicious executablesA hybrid model to detect malicious executables
A hybrid model to detect malicious executablesUltraUploader
 
IRJET- Android Malware Detection using Machine Learning
IRJET-  	  Android Malware Detection using Machine LearningIRJET-  	  Android Malware Detection using Machine Learning
IRJET- Android Malware Detection using Machine LearningIRJET Journal
 
ANDROINSPECTOR: A SYSTEM FOR COMPREHENSIVE ANALYSIS OF ANDROID APPLICATIONS
ANDROINSPECTOR: A SYSTEM FOR COMPREHENSIVE ANALYSIS OF ANDROID APPLICATIONSANDROINSPECTOR: A SYSTEM FOR COMPREHENSIVE ANALYSIS OF ANDROID APPLICATIONS
ANDROINSPECTOR: A SYSTEM FOR COMPREHENSIVE ANALYSIS OF ANDROID APPLICATIONSIJNSA Journal
 
Androinspector a system for
Androinspector a system forAndroinspector a system for
Androinspector a system forIJNSA Journal
 
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
 
MACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROID
MACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROIDMACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROID
MACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROIDIRJET Journal
 
Cryptographic misuse in android applications
Cryptographic misuse in android applicationsCryptographic misuse in android applications
Cryptographic misuse in android applicationsAashish R
 
DMIA: A MALWARE DETECTION SYSTEM ON IOS PLATFORM
DMIA: A MALWARE DETECTION SYSTEM ON IOS PLATFORMDMIA: A MALWARE DETECTION SYSTEM ON IOS PLATFORM
DMIA: A MALWARE DETECTION SYSTEM ON IOS PLATFORMcsandit
 
Permission based Android Malware Detection using Random Forest
Permission based Android Malware Detection using Random ForestPermission based Android Malware Detection using Random Forest
Permission based Android Malware Detection using Random ForestIRJET Journal
 
Android malware detection_using_autoenco (1)
Android malware detection_using_autoenco (1)Android malware detection_using_autoenco (1)
Android malware detection_using_autoenco (1)Zahid Qaisar
 
Automatic reverse engineering of malware emulators
Automatic reverse engineering of malware emulatorsAutomatic reverse engineering of malware emulators
Automatic reverse engineering of malware emulatorsUltraUploader
 
Cryptographic misuse
Cryptographic misuseCryptographic misuse
Cryptographic misuseAashish R
 
Privacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling DataPrivacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling DataDr. Amarjeet Singh
 
Obfuscation and Mutation in Malware
Obfuscation and Mutation in Malware Obfuscation and Mutation in Malware
Obfuscation and Mutation in Malware KADARI SHIVRAJ
 
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...IJCSIS Research Publications
 

Similar to “Software Theft Detection for JavaScript programs based on dynamic birthmark extracted from runtime heap graph” (20)

IRJET - Research on Data Mining of Permission-Induced Risk for Android Devices
IRJET - Research on Data Mining of Permission-Induced Risk for Android DevicesIRJET - Research on Data Mining of Permission-Induced Risk for Android Devices
IRJET - Research on Data Mining of Permission-Induced Risk for Android Devices
 
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
MALWARE DETECTION USING MACHINE LEARNING ALGORITHMS AND REVERSE ENGINEERING O...
 
A FRAMEWORK FOR THE DETECTION OF BANKING TROJANS IN ANDROID
A FRAMEWORK FOR THE DETECTION OF BANKING TROJANS IN ANDROIDA FRAMEWORK FOR THE DETECTION OF BANKING TROJANS IN ANDROID
A FRAMEWORK FOR THE DETECTION OF BANKING TROJANS IN ANDROID
 
H017445260
H017445260H017445260
H017445260
 
A hybrid model to detect malicious executables
A hybrid model to detect malicious executablesA hybrid model to detect malicious executables
A hybrid model to detect malicious executables
 
IRJET- Android Malware Detection using Machine Learning
IRJET-  	  Android Malware Detection using Machine LearningIRJET-  	  Android Malware Detection using Machine Learning
IRJET- Android Malware Detection using Machine Learning
 
ANDROINSPECTOR: A SYSTEM FOR COMPREHENSIVE ANALYSIS OF ANDROID APPLICATIONS
ANDROINSPECTOR: A SYSTEM FOR COMPREHENSIVE ANALYSIS OF ANDROID APPLICATIONSANDROINSPECTOR: A SYSTEM FOR COMPREHENSIVE ANALYSIS OF ANDROID APPLICATIONS
ANDROINSPECTOR: A SYSTEM FOR COMPREHENSIVE ANALYSIS OF ANDROID APPLICATIONS
 
Androinspector a system for
Androinspector a system forAndroinspector a system for
Androinspector a system for
 
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
 
MACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROID
MACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROIDMACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROID
MACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROID
 
Cryptographic misuse in android applications
Cryptographic misuse in android applicationsCryptographic misuse in android applications
Cryptographic misuse in android applications
 
DMIA: A MALWARE DETECTION SYSTEM ON IOS PLATFORM
DMIA: A MALWARE DETECTION SYSTEM ON IOS PLATFORMDMIA: A MALWARE DETECTION SYSTEM ON IOS PLATFORM
DMIA: A MALWARE DETECTION SYSTEM ON IOS PLATFORM
 
Permission based Android Malware Detection using Random Forest
Permission based Android Malware Detection using Random ForestPermission based Android Malware Detection using Random Forest
Permission based Android Malware Detection using Random Forest
 
Android malware detection_using_autoenco (1)
Android malware detection_using_autoenco (1)Android malware detection_using_autoenco (1)
Android malware detection_using_autoenco (1)
 
Automatic reverse engineering of malware emulators
Automatic reverse engineering of malware emulatorsAutomatic reverse engineering of malware emulators
Automatic reverse engineering of malware emulators
 
Cryptographic misuse
Cryptographic misuseCryptographic misuse
Cryptographic misuse
 
Privacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling DataPrivacy Preserving Mining in Code Profiling Data
Privacy Preserving Mining in Code Profiling Data
 
Obfuscation and Mutation in Malware
Obfuscation and Mutation in Malware Obfuscation and Mutation in Malware
Obfuscation and Mutation in Malware
 
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
 
Today
TodayToday
Today
 

More from iosrjce

An Examination of Effectuation Dimension as Financing Practice of Small and M...
An Examination of Effectuation Dimension as Financing Practice of Small and M...An Examination of Effectuation Dimension as Financing Practice of Small and M...
An Examination of Effectuation Dimension as Financing Practice of Small and M...iosrjce
 
Does Goods and Services Tax (GST) Leads to Indian Economic Development?
Does Goods and Services Tax (GST) Leads to Indian Economic Development?Does Goods and Services Tax (GST) Leads to Indian Economic Development?
Does Goods and Services Tax (GST) Leads to Indian Economic Development?iosrjce
 
Childhood Factors that influence success in later life
Childhood Factors that influence success in later lifeChildhood Factors that influence success in later life
Childhood Factors that influence success in later lifeiosrjce
 
Emotional Intelligence and Work Performance Relationship: A Study on Sales Pe...
Emotional Intelligence and Work Performance Relationship: A Study on Sales Pe...Emotional Intelligence and Work Performance Relationship: A Study on Sales Pe...
Emotional Intelligence and Work Performance Relationship: A Study on Sales Pe...iosrjce
 
Customer’s Acceptance of Internet Banking in Dubai
Customer’s Acceptance of Internet Banking in DubaiCustomer’s Acceptance of Internet Banking in Dubai
Customer’s Acceptance of Internet Banking in Dubaiiosrjce
 
A Study of Employee Satisfaction relating to Job Security & Working Hours amo...
A Study of Employee Satisfaction relating to Job Security & Working Hours amo...A Study of Employee Satisfaction relating to Job Security & Working Hours amo...
A Study of Employee Satisfaction relating to Job Security & Working Hours amo...iosrjce
 
Consumer Perspectives on Brand Preference: A Choice Based Model Approach
Consumer Perspectives on Brand Preference: A Choice Based Model ApproachConsumer Perspectives on Brand Preference: A Choice Based Model Approach
Consumer Perspectives on Brand Preference: A Choice Based Model Approachiosrjce
 
Student`S Approach towards Social Network Sites
Student`S Approach towards Social Network SitesStudent`S Approach towards Social Network Sites
Student`S Approach towards Social Network Sitesiosrjce
 
Broadcast Management in Nigeria: The systems approach as an imperative
Broadcast Management in Nigeria: The systems approach as an imperativeBroadcast Management in Nigeria: The systems approach as an imperative
Broadcast Management in Nigeria: The systems approach as an imperativeiosrjce
 
A Study on Retailer’s Perception on Soya Products with Special Reference to T...
A Study on Retailer’s Perception on Soya Products with Special Reference to T...A Study on Retailer’s Perception on Soya Products with Special Reference to T...
A Study on Retailer’s Perception on Soya Products with Special Reference to T...iosrjce
 
A Study Factors Influence on Organisation Citizenship Behaviour in Corporate ...
A Study Factors Influence on Organisation Citizenship Behaviour in Corporate ...A Study Factors Influence on Organisation Citizenship Behaviour in Corporate ...
A Study Factors Influence on Organisation Citizenship Behaviour in Corporate ...iosrjce
 
Consumers’ Behaviour on Sony Xperia: A Case Study on Bangladesh
Consumers’ Behaviour on Sony Xperia: A Case Study on BangladeshConsumers’ Behaviour on Sony Xperia: A Case Study on Bangladesh
Consumers’ Behaviour on Sony Xperia: A Case Study on Bangladeshiosrjce
 
Design of a Balanced Scorecard on Nonprofit Organizations (Study on Yayasan P...
Design of a Balanced Scorecard on Nonprofit Organizations (Study on Yayasan P...Design of a Balanced Scorecard on Nonprofit Organizations (Study on Yayasan P...
Design of a Balanced Scorecard on Nonprofit Organizations (Study on Yayasan P...iosrjce
 
Public Sector Reforms and Outsourcing Services in Nigeria: An Empirical Evalu...
Public Sector Reforms and Outsourcing Services in Nigeria: An Empirical Evalu...Public Sector Reforms and Outsourcing Services in Nigeria: An Empirical Evalu...
Public Sector Reforms and Outsourcing Services in Nigeria: An Empirical Evalu...iosrjce
 
Media Innovations and its Impact on Brand awareness & Consideration
Media Innovations and its Impact on Brand awareness & ConsiderationMedia Innovations and its Impact on Brand awareness & Consideration
Media Innovations and its Impact on Brand awareness & Considerationiosrjce
 
Customer experience in supermarkets and hypermarkets – A comparative study
Customer experience in supermarkets and hypermarkets – A comparative studyCustomer experience in supermarkets and hypermarkets – A comparative study
Customer experience in supermarkets and hypermarkets – A comparative studyiosrjce
 
Social Media and Small Businesses: A Combinational Strategic Approach under t...
Social Media and Small Businesses: A Combinational Strategic Approach under t...Social Media and Small Businesses: A Combinational Strategic Approach under t...
Social Media and Small Businesses: A Combinational Strategic Approach under t...iosrjce
 
Secretarial Performance and the Gender Question (A Study of Selected Tertiary...
Secretarial Performance and the Gender Question (A Study of Selected Tertiary...Secretarial Performance and the Gender Question (A Study of Selected Tertiary...
Secretarial Performance and the Gender Question (A Study of Selected Tertiary...iosrjce
 
Implementation of Quality Management principles at Zimbabwe Open University (...
Implementation of Quality Management principles at Zimbabwe Open University (...Implementation of Quality Management principles at Zimbabwe Open University (...
Implementation of Quality Management principles at Zimbabwe Open University (...iosrjce
 
Organizational Conflicts Management In Selected Organizaions In Lagos State, ...
Organizational Conflicts Management In Selected Organizaions In Lagos State, ...Organizational Conflicts Management In Selected Organizaions In Lagos State, ...
Organizational Conflicts Management In Selected Organizaions In Lagos State, ...iosrjce
 

More from iosrjce (20)

An Examination of Effectuation Dimension as Financing Practice of Small and M...
An Examination of Effectuation Dimension as Financing Practice of Small and M...An Examination of Effectuation Dimension as Financing Practice of Small and M...
An Examination of Effectuation Dimension as Financing Practice of Small and M...
 
Does Goods and Services Tax (GST) Leads to Indian Economic Development?
Does Goods and Services Tax (GST) Leads to Indian Economic Development?Does Goods and Services Tax (GST) Leads to Indian Economic Development?
Does Goods and Services Tax (GST) Leads to Indian Economic Development?
 
Childhood Factors that influence success in later life
Childhood Factors that influence success in later lifeChildhood Factors that influence success in later life
Childhood Factors that influence success in later life
 
Emotional Intelligence and Work Performance Relationship: A Study on Sales Pe...
Emotional Intelligence and Work Performance Relationship: A Study on Sales Pe...Emotional Intelligence and Work Performance Relationship: A Study on Sales Pe...
Emotional Intelligence and Work Performance Relationship: A Study on Sales Pe...
 
Customer’s Acceptance of Internet Banking in Dubai
Customer’s Acceptance of Internet Banking in DubaiCustomer’s Acceptance of Internet Banking in Dubai
Customer’s Acceptance of Internet Banking in Dubai
 
A Study of Employee Satisfaction relating to Job Security & Working Hours amo...
A Study of Employee Satisfaction relating to Job Security & Working Hours amo...A Study of Employee Satisfaction relating to Job Security & Working Hours amo...
A Study of Employee Satisfaction relating to Job Security & Working Hours amo...
 
Consumer Perspectives on Brand Preference: A Choice Based Model Approach
Consumer Perspectives on Brand Preference: A Choice Based Model ApproachConsumer Perspectives on Brand Preference: A Choice Based Model Approach
Consumer Perspectives on Brand Preference: A Choice Based Model Approach
 
Student`S Approach towards Social Network Sites
Student`S Approach towards Social Network SitesStudent`S Approach towards Social Network Sites
Student`S Approach towards Social Network Sites
 
Broadcast Management in Nigeria: The systems approach as an imperative
Broadcast Management in Nigeria: The systems approach as an imperativeBroadcast Management in Nigeria: The systems approach as an imperative
Broadcast Management in Nigeria: The systems approach as an imperative
 
A Study on Retailer’s Perception on Soya Products with Special Reference to T...
A Study on Retailer’s Perception on Soya Products with Special Reference to T...A Study on Retailer’s Perception on Soya Products with Special Reference to T...
A Study on Retailer’s Perception on Soya Products with Special Reference to T...
 
A Study Factors Influence on Organisation Citizenship Behaviour in Corporate ...
A Study Factors Influence on Organisation Citizenship Behaviour in Corporate ...A Study Factors Influence on Organisation Citizenship Behaviour in Corporate ...
A Study Factors Influence on Organisation Citizenship Behaviour in Corporate ...
 
Consumers’ Behaviour on Sony Xperia: A Case Study on Bangladesh
Consumers’ Behaviour on Sony Xperia: A Case Study on BangladeshConsumers’ Behaviour on Sony Xperia: A Case Study on Bangladesh
Consumers’ Behaviour on Sony Xperia: A Case Study on Bangladesh
 
Design of a Balanced Scorecard on Nonprofit Organizations (Study on Yayasan P...
Design of a Balanced Scorecard on Nonprofit Organizations (Study on Yayasan P...Design of a Balanced Scorecard on Nonprofit Organizations (Study on Yayasan P...
Design of a Balanced Scorecard on Nonprofit Organizations (Study on Yayasan P...
 
Public Sector Reforms and Outsourcing Services in Nigeria: An Empirical Evalu...
Public Sector Reforms and Outsourcing Services in Nigeria: An Empirical Evalu...Public Sector Reforms and Outsourcing Services in Nigeria: An Empirical Evalu...
Public Sector Reforms and Outsourcing Services in Nigeria: An Empirical Evalu...
 
Media Innovations and its Impact on Brand awareness & Consideration
Media Innovations and its Impact on Brand awareness & ConsiderationMedia Innovations and its Impact on Brand awareness & Consideration
Media Innovations and its Impact on Brand awareness & Consideration
 
Customer experience in supermarkets and hypermarkets – A comparative study
Customer experience in supermarkets and hypermarkets – A comparative studyCustomer experience in supermarkets and hypermarkets – A comparative study
Customer experience in supermarkets and hypermarkets – A comparative study
 
Social Media and Small Businesses: A Combinational Strategic Approach under t...
Social Media and Small Businesses: A Combinational Strategic Approach under t...Social Media and Small Businesses: A Combinational Strategic Approach under t...
Social Media and Small Businesses: A Combinational Strategic Approach under t...
 
Secretarial Performance and the Gender Question (A Study of Selected Tertiary...
Secretarial Performance and the Gender Question (A Study of Selected Tertiary...Secretarial Performance and the Gender Question (A Study of Selected Tertiary...
Secretarial Performance and the Gender Question (A Study of Selected Tertiary...
 
Implementation of Quality Management principles at Zimbabwe Open University (...
Implementation of Quality Management principles at Zimbabwe Open University (...Implementation of Quality Management principles at Zimbabwe Open University (...
Implementation of Quality Management principles at Zimbabwe Open University (...
 
Organizational Conflicts Management In Selected Organizaions In Lagos State, ...
Organizational Conflicts Management In Selected Organizaions In Lagos State, ...Organizational Conflicts Management In Selected Organizaions In Lagos State, ...
Organizational Conflicts Management In Selected Organizaions In Lagos State, ...
 

Recently uploaded

Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Recently uploaded (20)

Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 

“Software Theft Detection for JavaScript programs based on dynamic birthmark extracted from runtime heap graph”

  • 1. IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 17, Issue 3, Ver. II (May – Jun. 2015), PP 34-39 www.iosrjournals.org DOI: 10.9790/0661-17323439 www.iosrjournals.org 34 | Page “Software Theft Detection for JavaScript programs based on dynamic birthmark extracted from runtime heap graph” Mr.Somanath Janardan Salunkhe, Prof. Umesh Laxman Kulkarni PG Student, Dept. of CSE, DYPCET, Shivaji University, Kolhapur, India Department of Computer Engineering, Mumbai University, Mumbai, India Abstract: Software’s, programs are valuable assets to developer companies. However, the source code of programs can be theft and JavaScript programs whose code is easily available which is a serious threat to the industry. There are techniques like watermarking which prove the ownership of the program but it can be defaced and encryption which changes source code but it may decrypted and also it cannot avoid the source code being copied. In this paper, we use a new technique, software birthmark, to help detect code theft of software or program. A birthmark is a unique characteristic of a program which is used to identify the program. We extract the birthmark of software from the run-time heap by using frequent sub graph mining and search the same in suspected program. Keywords: Heap graph, software birthmark, frequent sub graph mining. I. Introduction Software theft is a serious issue in the industry. Software theft detection is very important for software industry. The watermarking is a solution used to prove ownership. Another approach is encryption in which a source code is transformed in such way that it becomes more difficult to understand. A new technique for software theft detection is software birthmark which does not insert any code to the software and it depends on the characteristics of the programs. There are two types of software birthmarks, static birthmarks and dynamic birthmarks. Static birthmarks are extracted from the syntactic structure of a program. Dynamic birthmarks are extracted from the dynamic behavior of a program at run-time. We use dynamic birthmark approach for software theft detection. A birthmark is used to identify software theft, to detect software theft; the dynamic birthmark of the original program is first extracted by using frequent sub graph mining. The same software birthmark will be search in suspected program. If the birthmark is found, the suspected program is a copy of the original program. II. Related work [1] A. Monden, H. Iida, K. I.Matsumoto, K. Inoue, and K. Torii have proposed Watermarking based software theft detection method for java programs. [2] C. Collberg, E. Carter, S. Debray, A. Huntwork, J. Kececioglu, C. Linn, and M. Step have proposed Dynamic path-based software watermarking for software theft detection. [3] X. Wang,Y.-C. Jhi, S. Zhu, and P. Liu have proposed dynamic behavior based software theft detection [4] G.Myles and C. Collberg have detected software theft via whole program path birthmarks. [5] D. Schuler, V. Dallmeier, and C. Lindig have shown robust dynamic birthmark for java program software theft detection. [6] H. Tamada, K. Okamoto, M. Nakamura, A. Monden, and K. I. Matsumoto have designed and evaluated dynamic software birthmarks based on API Calls. [7] P. Chan, L. Hui, and S. Yiu have proposed dynamic JavaScript birthmark based on the run-time heap(JsBirth). [8] P. P. F. Chan, L. C. K. Hui, and S.M. Yiu have used heap memory analysis for dynamic software birthmark formation and comparison for java programs. III. Proposed algorithm Based on above discussion proposed work is to implement and analyze birthmark based software theft detecting system for JavaScript programs. Specifically the proposed work is stated below. 1. Design and implementation of the graph generator and filter-The JavaScript heap profiler will run a JavaScript program and takes multiple heap snapshots in the course of its execution. The graph generator and filter will traverse the objects in the heap snapshots and builds heap graphs out of them. Heap Graph generates for each heap snapshot. Heap snapshot consist arrangement of objects which are created runtime. Heap graph contains various types of objects and edges. Graph filter is used to filter unwanted objects and
  • 2. “Software Theft Detection for JavaScript programs based on dynamic birthmark extracted ..... DOI: 10.9790/0661-17323439 www.iosrjournals.org 35 | Page edges. Object of type OBJECT and CLOSURE are considered and remaining types of objects are discarded. References of type ELEMENT and PROPERTY are only included other are discarded. 2. Design and implementation of the graph merger –The graph merger will merge the filtered heap graphs together to form one single graph. According to object id all heap graphs are combined together. We merge all the graphs one by one by taking the union set of the nodes and edges of the two graphs being merged. In order to make the resulting superimposition graph also connected, it need to ensure that there is at least one object in common (with the same object ID) in two graphs before superimposing them. 3. Design and implementation of modified Graph Selector- The sub graph selector will select a sub graph from the heap graph to form the birthmark of the original program. The modified Graph Selector will use frequent sub graph mining to get the frequent sub graph that appears in all the heap graphs that are extracted from the program by graph generator and filter. The proposed modified Graph Selector will be tested for its suitableness in using it as the more representative birthmark of the program. 4. Design and implementation of the detector –The detector will search for the birthmark of the original program in the heap graph of the suspected program. 5. Application and analysis of above mentioned scheme for its usefulness, robustness and accuracy in protecting the intellectual property rights of JavaScript developers. IV. Simulation Results Module 1: 1) Graph generator and filter: Algorithm: Input: JavaScript heap profile from JavaScript heap profiler Output: A set of filtered heap graphs captured at different points of time with the annotates nodes in the heap by its object ID. I. Graph generator: For each snapshot taken using the Chromium browser, perform a depth first search traversal of it and print out the heap graph with annotated nodes by its object ID (objects) and edges (reference) and then pass it to a filter. II. Graph filter: Graph Filter working is as follows. For each JavaScript Objects we do following: I. If Object is of type INTERNAL or ARRAY or STRING or CODE discard the object. II. If Object is of type OBJECT or CLOSURE include only ELEMENT and PROPERTY references and III. Filter out every other reference. Module 2: 1) Graph merger: Algorithm: Input: Multiple labelled connected heap graphs G from Graph generator and filter Output: A superimposition of multiple labelled connected heap graphs G into a one single graph M that includes all the nodes and edges appearing in the input heap graphs. The above algorithm superimposes all the graphs one by one by taking the union set of the nodes and edges of the two graphs being merged. In order to make the resulting superimposition graph also connected, it need to ensure that there is at least one object in common (with the same object ID) in two graphs before superimposing them. 2) Sub graph selector: Algorithm: Input: A set of filtered heap graphs captured at different points of time with the annotated nodes in the heap by its object ID (obtained from module 2- graph generator and filter). Output: the frequent sub graphs to be used as the birthmark The modified Graph Selector uses frequent sub graph mining to get the frequent sub graph that appears in all the heap graphs that are extracted from the program by graph generator and filter. For frequent sub graph mining gSpan algorithm is used which is complete frequent sub graph mining algorithm on labeled graphs. gSpan builds a new lexicographic order among graphs, and maps each graph to a unique minimum DFS code as its canonical label. Based on this lexicographic order, gSpan adopts the depth first search strategy to mine frequent connected sub graphs efficiently. This module uses java library ParSeMiS (Parallel and Sequential Graph Mining Suite). The library searches for frequent, interesting substructures in graph databases. It has implementation of gSpan algorithm for frequent sub graph mining.
  • 3. “Software Theft Detection for JavaScript programs based on dynamic birthmark extracted ..... DOI: 10.9790/0661-17323439 www.iosrjournals.org 36 | Page 3) Sub graph detector: 1. Take birthmarks obtained from plaintiff program. Take single large merged graph obtained from suspected program. 2. For each birthmark a. Check if birthmark is present in single large merged graph. b. If birthmark is found report “yes”. 3. If no birthmark is found report “not found”. Algorithm: Input: sub graphs from the original program and the entire heap graph of the suspected program Output: Determines whether the selected sub graphs of the plaintiff program can be found in the heap graph of the suspected program. I. Takes sub graphs of the objects under the Window objects from the suspected program II. Use sub graph monomorphism to check whether the subgraphs of the plaintiff program can be found in them. III. If a match is found, raise an alert and reports where the match is found. Experimental Result We proposed five modules in this paper, three modules are implemented and result is described in following section. Sub graph detector and analysis are not implemented. The results of first three modules are mentioned We took first heap snapshot of www.google.com and passed it to the Graph Generator. It creates Heap graph by considering all types of object and all types of edges the result of first heap snapshot is as follows Figure 1: Results of Graph Generated by first module from sample firstheapdump We took second heap snapshot of www.google.com and passed it to the Graph Generator. It creates Heap graph by considering all types of object and all types of edges the result of second heap snapshot is as follows
  • 4. “Software Theft Detection for JavaScript programs based on dynamic birthmark extracted ..... DOI: 10.9790/0661-17323439 www.iosrjournals.org 37 | Page Figure 2:Results of Graph Generated by first module from sample secondheapdump First heap snapshot of www.google.com passed to the Graph Generator which generates heap graph as shown in figure 1.Then resulting graph passed as input to the Graph Filter which only consider Object of type OBJECT and CLOSURE and remaining types of objects are discarded. References of type ELEMENT and PROPERTY are only included other are discarded. The resultant filtered graph is as follows Figure 3: Results of Graph filtered of graph from fig.1 by second module Second heap snapshot of www.google.com passed to the Graph Generator which generates heap graph as shown in figure 2.Then resulting graph passed as input to the Graph Filter which only consider Object of type OBJECT and CLOSURE and remaining types of objects are discarded. References of type ELEMENT and PROPERTY are only included other are discarded. The resultant filtered graph is as follows
  • 5. “Software Theft Detection for JavaScript programs based on dynamic birthmark extracted ..... DOI: 10.9790/0661-17323439 www.iosrjournals.org 38 | Page Figure 4: Results of Graph filtered of graph from fig.2 by second module. In the heap graph all objects are assigned a unique id. Two snapshots which are shown in figure 3 and figure 4 are passed to the Graph Merger which produces single graph and merging done on the basis of object id. The resultant single graph is s follows Figure 5: Results of merging of two Graphs from fig.3 and fig 4 Frequent sub graph Mining is applied on single graph generated by Graph Merger as shown in figure 5 which searches subgraph with maximum occurrence in the largest graph. The resultant subgraph of graph displayed in figure 5 is as follows
  • 6. “Software Theft Detection for JavaScript programs based on dynamic birthmark extracted ..... DOI: 10.9790/0661-17323439 www.iosrjournals.org 39 | Page Figure 6: Sub graph selected by sub graph selector module as a software birthmark The resultant sub graph of graph displayed in figure 6 will be search in suspected program. If birthmark will found it will display message as birthmark found otherwise it will display as follows in fig.7 Fig 7: Result display after birthmark searching V. Conclusion We proposed a robust heap graph based software birthmark system for JavaScript programs. We evaluated our birthmark system using 50 large-scale websites and the experiment results are promising with 100% accuracy References [1]. A. Monden, H. Iida, K. I.Matsumoto, K. Inoue, and K. Torii, “Watermarking java programs,” in Proc. Int. Symp. Future Software Technol., Nanjing, China, 1999. [2]. C. Collberg, E. Carter, S. Debray, A. Huntwork, J. Kececioglu, C. Linn, and M. Stepp, “Dynamic path-based software watermarking,” in Proc. ACM SIGPLAN 2004 Conf. Programming Language Design and Implementation (PLDI ’04), New York, 2004, pp. 107–118, ACM. [3]. X. Wang,Y.-C. Jhi, S. Zhu, and P. Liu, “Behavior based software theft detection,” in Proc. 16th ACM Conf. Comput.andCommun. Security (CCS ’09), New York, 2009, pp. 280–290, ACM. [4]. G.Myles and C. Collberg, “Detecting software theft via whole program path birthmarks,” in Proc. Inf. Security 7th Int. Conf. (ISC 2004), Palo Alto, CA, Sep. 27–29, 2004, pp. 404–415. [5]. D. Schuler, V. Dallmeier, and C. Lindig, “A dynamic birthmark for java,” in Proc. 22nd IEEE/ACM Int. Conf. Automated Software Eng. (ASE ’07), New York, 2007, pp. 274–283, ACM. [6]. H. Tamada, K. Okamoto, M. Nakamura, A. Monden, and K. I. Matsumoto, Design and Evaluation of Dynamic Software Birthmarks based on API Calls, Nara Institute of Science and Technology, Tech. Rep., 2007. [7] P. Chan, L. Hui, and S. Yiu, “Jsbirth: Dynamic JavaScript birthmark based on the run-time heap,” in Proc. 2011 IEEE 35th Annu. Comput.Software and Applicat. Conf. (COMPSAC), Jul. 2011, pp. 407–412. [7]. P. P. F. Chan, L. C. K. Hui, and S.M. Yiu, “Dynamic software birthmark for java based on heap memory analysis,” in Proc. 12th IFIP TC 6/TC 11 Int. Conf. Commun. and Multimedia Security (CMS’11), Berlin, Heidelberg, 2011, pp. 94–106, Springer-Verlag. [8]. Yan, X.,Jiawei Han, “gSpan: graph-based substructure pattern mining,” in 2002 IEEE International Conference on Data Mining, 2002. ICDM 2003.