Pages

Sunday, May 18, 2014

Heap Graph Based Software Theft Detection



Objective:
The objective of the project is our birthmark system brings to the industry a practical solution to protect their intellectual property right. Although software birthmark is a relatively new and less focused research area for the time being.

Features:

  •  A dynamic birthmark is one that is extracted when the program is executing.
  •  It also gives the definition of graph isomorphism as follows.
  • JavaScript Heap Profiler
  • Graph Generator and Filter

Scope of Project:
The scope of the project is to proposed a robust heap graph based software birthmark system for JavaScript programs and against reference injection attacks and streamlined every process of the system to make it scalable

Limitations:

  • There are 3 kinds of potential attacks to our birthmark system
  • The attacker can inject objects or references that are of no use into the program. There will be addition nodes and edges on the resulting heap graph
  • The attacker can purposely remove classes or references from the program. The resulting heap graph will have some nodes and edges missing
  • Class refactoring refers to the process of restructuring classes. It is commonly used to improve the design of object oriented programs.


Abstract:
As JavaScript is becoming more and more popular, JavaScript programs are valuable assets to many companies. However, the source code of JavaScript programs can be easily obtained and plagiarism of JavaScript programs is a serious threat to the industry. There are techniques like code obfuscation and watermarking which can make the source code of a program difficult to understand by humans and prove the ownership of the program. However, code obfuscation cannot avoid the source code being copied and a watermark can be defaced. In this paper, we use a relatively new technique, software birthmark, to help detect code theft of JavaScript programs. A birthmark is a unique characteristic a program possesses that can be used to identify the program. We extend two recent birthmark systems that extract the birthmark of software from the run-time heap. We propose a redesigned system with improved robustness and performed extensive experiments to justify the effectiveness and robustness of it. Our evaluation based on 200 large-scale websites showed that our birthmark system exhibits 100% accuracy. We remark that it is solid and ready for practical use.

No comments:

Post a Comment