Software Watermarking Dinamis dengan Algoritme Collberg-Thomborson Dan Parent Pointer Graf pada Aplikasi Android
DOI:
https://doi.org/10.25126/jtiik.2021844500Abstrak
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.
Downloads
Referensi
THE ASCII CODE. 2007. ASCII table, ascii codes. Tersedia di <https://theasciicode.com.ar/>
CHEN, Z., JIA, C. AND XU, D. 2017. Hidden Path: Dynamic Software Watermarking Based on Control Flow Obfuscation.
COLLBERG, C., THOMBORSON, C. AND TOWNSEND, G. M. 2004. Dynamic Graph-Based Software Watermarking.pp. 5–12.
DATABOOKS. 2019. Pengguna Smartphone Di Indonesia 2016-2019. Tersedia di <https://databoks.katadata.co.id/ datapublish/2016/08/08/pengguna-smartphone-di-indonesia-2016-2019>
FATHIYA, S, N., AND MUNIR, R. 2013. Penggunaan Parent Pointer Graph Untuk Software Watermarking Berbasis Graf Dinamis.pp. 1–5.
ROSADI, F, A,. 2009. Studi Tentang Software Watermarking.pp. 1–7.
HE, Y. 2002. Tamperproofing a Software Watermark by Encoding Constants.
INNOVATECHNO. 2019. Home Market. https://github.com/InnovaTechno/HomeMarket.
LUMBANTOBING, B. 2020. Laptop Arena. https://github.com/bryantobing12/Laptop-Arena.
LUMBANTOBING, W. 2020a. Memommond. https://github.com/williamtobing/Memommond.
LUMBANTOBING, W 2020b.Phone Arena. https://github.com/williamtobing/Application-Embedded-Watermark.
MA, H, JIA,C, LI, S, ZHENG, W AND WU, D. 2019. Xmark: Dynamic Software Watermarking Using Collatz Conjecture.
MANURUNG, N. 2019. Film Ku. https://github.com/nick2905/Submission_1.
MARTINEZ, A, G,. 2017. Grocery Store. https://github.com/czyrux/GroceryStore.
MILIJIC, M. 2019. 29+ Smartphone Usage Statistics: Around the World in 2020.
<https://leftronic.com/smartphone-usage-statistics/>
PRATHAPAN, P. 2018. E-CommerceAndroidAppExample. https://github.com/preethzcodez/E-CommerceAndroidAppExample.
SEBASTIAN, A. 2006. Penggunaan Watermarking Pada Penyebaran Software Untuk Perlindungan Hak Cipta.pp. 1–7.
THE VERGE. 2019. There Are Now 2.5 Billion Active Android Devices. Tersedia di <https://www.theverge.com/2019/5/7/18528297/google-io-2019-android-devices-play-store-total-number-statistic-keynote>
ZHANG, YINGJUN, AND CHEN, K,. 2014. AppMark : A Picture-Based Watermark for Android Apps.
Unduhan
Diterbitkan
Terbitan
Bagian
Lisensi
Artikel ini berlisensi Creative Common Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Penulis yang menerbitkan di jurnal ini menyetujui ketentuan berikut:
- Penulis menyimpan hak cipta dan memberikan jurnal hak penerbitan pertama naskah secara simultan dengan lisensi di bawah Creative Common Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) yang mengizinkan orang lain untuk berbagi pekerjaan dengan sebuah pernyataan kepenulisan pekerjaan dan penerbitan awal di jurnal ini.
- Penulis bisa memasukkan ke dalam penyusunan kontraktual tambahan terpisah untuk distribusi non ekslusif versi kaya terbitan jurnal (contoh: mempostingnya ke repositori institusional atau menerbitkannya dalam sebuah buku), dengan pengakuan penerbitan awalnya di jurnal ini.
- Penulis diizinkan dan didorong untuk mem-posting karya mereka online (contoh: di repositori institusional atau di website mereka) sebelum dan selama proses penyerahan, karena dapat mengarahkan ke pertukaran produktif, seperti halnya sitiran yang lebih awal dan lebih hebat dari karya yang diterbitkan. (Lihat Efek Akses Terbuka).