Software Watermarking Dinamis dengan Algoritme Collberg-Thomborson Dan Parent Pointer Graf pada Aplikasi Android
Authors: Turnip Togu Novriansyah , Lumbantobing William Suarez , Sitorus David Christian , Sianturi Friska Laurenzia 
Published: July 2021

Smartphone merupakan alat umum yang digunakan masyarakat dalam kehidupan sehari-hari. Sistem operasi yang paling banyak digunakan pada smartphone adalah Android. Aplikasi pada Android dapat diperoleh tidak hanya di Play Store saja, namun juga dapat ditemukan secara bebas di website-website yang berada di internet. Oleh karena itu aplikasi Android rentan terhadap pembajakan. Software watermarking merupakan metode umum yang biasanya digunakan untuk mengantisipasi pembajakan perangkat lunak dengan menyisipkan informasi pengenal ke dalam suatu program. Tujuan dari software watermarking adalah untuk membuktikan kepemilikan dari sebuah program. Salah satu teknik watermarking adalah dynamic watermarking. Teknik ini akan men-generate watermark ketika program dieksekusi. Dynamic Graph Watermarking (DGW) merupakan salah satu metode dalam software watermarking. Dalam penyisipan watermark, metode ini menggunakan struktur graf yang dibuat berdasarkan enumerasi graf. Salah satu algoritma dalam DGW adalah Colberg-Thomborson (CT) algorithm. Algoritma tersebut menggunakan code yang dapat membentuk watermark saat runtime program. Pemberian watermark terhadap sebuah aplikasi dilakukan dengan menggunakan CT algorithm dan enumerasi Parent Pointer Graph (PPG). Untuk menyisipkan watermark terhadap aplikasi Android, dibuat sebuah library Java dan sebuah simulator berbasis desktop untuk mengekstrak watermark. Dari hasil pengujian dapat disimpulkan bahwa PPG dapat digunakan sebagai enumerasi pada metode DGW dan memiliki tingkat ketahanan yang tinggi terhadap distortive attack namun tidak pada subtractive dan additive attack. Dari penelitian juga diperoleh hasil bahwa pemberian watermark memberikan penambahan size pada apk Android namun tidak mempengaruhi peningkatan penggunaan memory dan processor aplikasi. Abstract Smartphones are common tools in people’s daily life. The most common operating in smartphone is Android. Our android application can be obtained not only in the Play Store, but also free websites on the internet. Therefore, Android applications are vulnerable to piracy. Software watermarking is a common method used to anticipate software piracy by inserting identifying information into a program. The purpose of software watermarking is to prove ownership of a program. One of the watermarking techniques is dynamic watermarking that generates watermarks when the program is executed. Dynamic Graph Watermarking (DGW) is one of the software watermarking methods. This method uses a graph structure which created based on graph enumeration in inserting the watermark. One of the DGW algorithm is Colberg-Thomborson (CT) which use code that can form a watermark at program run time. For watermarking an application, we use CT algorithm and Parent Pointer Graph (PPG) enumeration.   To embed watermark to the android application we create a Java library and a desktop-based simulator to extract watermark from android application. Our result shows that PPG can be used as an enumeration and has robustness in defending against distortive attack but not to subtractive and additive attacks. we also get that watermark gives an additional size to an android apk but it does not affect the increase in memory and processor usage.