IMPLEMENTASI TEKNIK OBFUSCATION PADA SOURCE CODE
PHP HYPERTEXT PREPROCESSOR (PHP)
Ahmad Sirojul Miftakh1, Maskur, S.Kom.,M.Kom.2 Ali Sofyan Kholimi, S.Kom.,M.Kom.3 Program Studi Teknik Informatika Universitas Muhammadiyah Malang [email protected], [email protected], [email protected]
Abstrak
Tindakan reverse engineering menjadi rawan disalahgunakan untuk mendapatkan source code perangkat lunak oleh orang lain yang tidak bertanggung jawab. Akibatnya source code dengan mudah dimanipulasi, disebarluaskan, bahkan disusupi malicious code yang berbahaya ketika perangkat lunak dioperasikan. Kasus ini sering ditemukan pada source code aplikasi berbasis website yang tidak dikompilasi menjadi executable file. Dalam penelitian ini diberikan usulan metode sebagai solusi untuk mengamankan perangkat lunak dari tindakan kejahatan atau penyalahgunaan seperti yang telah disebutkan diatas, maka diterapkan teknik obfuscation untuk melakukan pengacakan terhadap source code agar lebih sulit dipahami oleh manusia namun aplikasi masih dapat dioperasikan dan diproses pada web server. Pengacakan dilakukan dengan pendekatan redistribusi ciphertext dengan tujuan untuk memecah string ciphertext menjadi bentuk acak namun tetap menyesuaikan kaidah pemrograman dalam bahasa php. Teknik obfuscation dilakukan dengan membangun loader yang merupakan ekstensi baru dalam web server untuk memproses source code yang telah teracak.
Kata Kunci : Obfuscation, PHP Loader, Cryptography, Text Redistribution
Abstract
Reverse engineering being prone to be abused to get the source code of a software by another person. So the source code easily manipulated, disseminated, even malicious code that compromised when malicious software to operate. The case is often found in the source code of application-based websites that are not compiled into the executable file. In this study given the proposed method as a solution for securing software from the crimes or abuse as has been mentioned above, then applied the techniques of obfuscation to do the randomization against the source code to make it more difficult to understand by humans but applications can still operate and are processed on a web server. Randomization is performed with the ciphertext with the goal of redistribution approach to break up the ciphertext string into a form of random but customizing rules programming in php language. Obfuscation techniques performed by building a new extension which is the loader in the web server to process source code which had mixed reviews.
Keywords: Obfuscation, PHP Loader, Cryptography, Text Redistribution 1. PENDAHULUAN
1.1. Latar Belakang
Teknologi open source yang digunakan dalam pengembangan perangkat lunak khususnya berbasis website dengan yang cukup biaya yang murah dalam pengembangannya. Tetapi yang perlu diperhatikan bahwa teknologi open source membuka peluang celah keamanan yang dapat disalahgunakan oleh pihak yang tidak bertanggungjawab disebabkan
source code dari perangkat lunak yang dibangun diikutsertakan dalam penyebaran perangkat lunak tersebut[6][10]. Source code perangkat lunak berbasis website yang tidak dikompilasi menjadi executable file memudahkan orang lain dapat memanipulasi bahkan menyisipi malicious code pada aplikasi yang akan dibangun atau dikembangkan.
Source code aplikasi berbasis website yang diproses atau dieksekusi tanpa ditransformasi menjadi executable file menyebabkan source code mudah diketahui oleh orang lain tanpa izin[6][10], sehingga rawan terhadap tindakan manipulasi, penggandaan, penyerbarluasan tanpa izin, bahkan tanpa diketahui dapat disisipkan kode yang berbahaya bagi sistem ketika aplikasi dioperasikan. Untuk mengatasi kasus keamanan perangkat lunak tersebut, diusulkan sebuah pendekatan dalam teknik obfuscation dengan melakukan distribusi ciphertext yang merupakan hasil dari tahap pengacakan data atau string dalam bentuk tertentu.
Dalam penelitian ini diberikan solusi melalui pengembangan sebuah perangkat lunak Wanna Crypt menggunakan pendekatan distribusi teks terhadap ciphertext yang dihasilkan melalui proses obfuscation sesuai dengan aturan eksekusi kode PHP agar source code tetap dapat diproses oleh web server. Selain itu dibangun sebuah loader yang merupakan ekstensi baru dalam web server sebagai pendukung pemrosesan source code yang telah di-obfuscation
menggunakan aplikasi Wanna Crypt.
Krisma Pradana [11], dalam penelitiannya merancang sebuah aplikasi encoder dan decoder yang ditujukan untuk melakukan obfuscation terhadap sebuah perangkat lunak berbasis website, namun berfokus pada source code yang murni tidak bercampur dengan script selain bahasa pemrograman php, hal ini menyebabkan terjadinya permasalahan apabila source code telah bercampur dengan tag-tag lain seperti tag HTML, JavaScript maupun CSS yang merupakan kode-kode pembangun sebuah perangkat lunak berbasis website.
Oki Setiawan [6], yang juga dalam penelitiannya menerapkan algoritma kriptografi rivest cipher untuk mengamankan source code bahasa pemrograman php dengan teknik obfuscation
menghasilkan waktu eksekusi sebesar 199.86 %.
Wanna Crypt dirancang dan dibangun pada teknologi berbasis web, dengan harapan agar dapat diakses secara online disetiap platform mobile. Wanna Crypt versi 1.0.0 dibangun menggunakan framework PHP yakni Codeigniter yang mengacu pada pendekatan pemrograman berbasis object oriented programming dan desain pola Model-View-Controller. Wanna Crypt merupakan hasil dari Test Case Code Execution dengan mengamati cara evaluasi dan eksekusi kode PHP oleh web server. Wanna Crypt juga dirancang dengan membangun ekstensi baru yang akan diintegrasikan pada web server.
1.2. Rumusan Masalah
Dalam rangka menyusun tugas akhir, maka penulis menyusun serangkaian rumusan masalah yang merupakan kerangka berfikir dalam penyusunan tugas akhir ini yaitu : a. Membangun loader untuk memproses source code hasil obfuscation.
b. Menerapkan obfuscation pada source code PHP baik yang bersifat PHP Procedural maupun PHP Object Oriented.
c. Perbaikan metode obfuscation terhadap source code bahasa pemrograman php yang bercampur dengan tag-tag html.
d. Menerapkan kriptografi rivest cipher 4 dalam loader sebagai fungsi tambahakan dalam proses obfuscation.
1.3. Batasan Masalah
Dalam pengerjaan tugas akhir ini, maka penulis memberikan beberapa batasan masalah dengan tujuan agar topik yang dibahas dapat terarah sesuai dengan yang diharapkan sebagai inti atas apa yang dibahas yaitu :
a. Perangkat lunak dibangun menggunakan dukungan framework PHP Codeigniter. b. Loader dibangun menggunakan bahasa pemrograman C.
c. Perangkat lunak digunakan untuk mengacak source code aplikasi berbasis website yang berekstensi php.
1.4. Tujuan Penelitian
Penelitian ini dikerjakan dengan tujuan untuk :
a. Menghasilkan perangkat lunak yang dapat mengamankan source code aplikasi berbasis
website dengan teknik obfuscation.
b. Menerapkan obfuscation pada source code aplikasi berbasis website yang bercampur dengan tag-tag HTML sebagai perbaikan metode obfuscation dalam penelitian sebelumnya[3].
c. Menghasilkan loader yang terintegrasi dengan web server pada sistem operasi sebagai metode eksekusi terhadap obfuscated code.
d. Membantu software developer untuk mengamankan source code aplikasi berbasis
2. METODE PENELITIAN
Perancangan dan pembuatan aplikasi obfuscation Wanna Crypt dilakukan dengan melakukan serangkaian metodologi penelitian untuk menunjang proses penelitian ini. Metodologi penelitian yang dilakukan untuk membangun aplikasi Wanna Crypt sebagai berikut : 2.1. Studi Literatur
Studi literatur dilakukan dengan mencari sumber-sumber terkait baik berupa teori maupun implementasi yang sedang ataupun pernah dilakukan pada penelitian sebelumnya terkait topik yang relevan dengan kasus dibahas. Sumber-sumber literatur yang digunakan dapat ditemukan dari buku, publikasi/jurnal/artikel ilmiah, penelitian yang pernah dilakukan sebelumnya, maupun sumber-sumber lain baik itu berupa buku elektronik, maupun buku non eletronik.
Obfuscation merupakan teknik pengamanan yang diterapkan pada source code dari sebuah perangkat lunak khususnya aplikasi berbasis website. Pengacakan source code dengan teknik obfuscation dilakukan dengan tetap memelihara isi data dan alur program yang dibangun dalam sebuah perangkat lunak agar tetap dapat dieksekusi oleh web server selayaknya perangkat lunak asli.
PHP Hypertext Preprocessor (PHP) sebagai bahasa pemrograman berbasis website
yang dapat dijalankan pada web server berbasis Microsoft Windows, Linux/Unix, maupun MacOS. PHP tidak dikompilasi menjadi executable file melainkan berjalan secara interpreter dalam web server. Hal ini menyebabkan source code asli dari perangkat lunak berbasis website rawan dimanipulasi tanpa izin dari pengembang perangkat lunak.
2.2. Analisis Kebutuhan
Analisis kebutuhan dilakukan untuk mengidentifikasi setiap kebutuhan yang dibutuhkan oleh sistem yang akan dibangun. Identifikasi kebutuhan dapat berupa analisis kebutuhan fungsional terkait fungsi/fitur yang nantinya disediakan oleh sistem yang dibangun, maupun analisis kebutuhan non fungsional terkait komponen-komponen lain berupa perangkat lunak maupun perangkat keras yang digunakan untuk mendukung pengembangan dan penerapan sistem yang akan dibangun.
2.3. Perancangan Sistem
Perancangan sistem dilakukan untuk mengidentifikasi kerangka atau cetak biru yang dapat digunakan sebagai acuan dalam pembuatan sistem. Perancangan sistem dilakukan dengan menggunakan pendekatan diagram alir atau flowchart untuk menyusun kerangka sistem. Diagram alir yang digunakan untuk membangun aplikasi Wanna Crypt menggunakan skema Unified Modeling Language (UML) untuk menyusun skema cetak biru fungsionalitas sistem yang akan dibangun. Skema UML yang dipakai diantaranya adalah (1) Use Case Diagram, (2) Activity Diagram, (3) Component Diagram, dan (4) Sequence Diagram.
2.4. Implementasi Sistem
Implementasi sistem dilakukan dengan melakukan pengkodean atau penulisan script menggunakan bahasa pemrograman PHP, HTML, JavaScript, CSS untuk membangun aplikasi Wanna Crypt berbasis website. Implementasi dilakukan dengan melakukan teknik pengkodean berbasis Object Oriented Programming (OOP) menggunakan framework Codeigniter yang mengacu pada desain pola Model-View-Controller (MVC).
Selain itu, untuk membangun loader dilakukan dengan melakukan pengkodean menggunakan bahasa pemrograman C dan aplikasi Visual Studio untuk proses kompilasi menjadi pustaka Dinamic Link Library (DLL). Implementasi sistem dilakukan dengan mengacu pada hasil rancangan sistem yang dilakukan sebelumnya.
2.5. Pengujian Sistem
Pengujian sistem Wanna Crypt dilakukan dengan menerapkan teknik pengujian blackbox dan pengujian whitebox. Pengujian blackbox dilakukan untuk memastikan fungsionalitas dari aplikasi Wanna Crypt telah berjalan dengan baik dan benar. Selanjutnya dilakukan pengujian whitebox untuk memastikan bahwa source code hasil obfuscation dapat dieksekusi kembali oleh web server. Loader dipasang pada web server dimana source code tersebut akan dieksekusi. Pengujian menghasilkan perbandingan waktu eksekusi serta ukuran file antara
3. HASIL PENELITIAN DAN PEMBAHASAN
Pengujian aplikasi Wanna Crypt dilakukan dengan menerapkan teknik pengujian black box dan white box. Teknik pengujian black box dilakukan untuk memastikan bahwa fungsionalitas yang dibangun dalam aplikasi Wanna Crypt telah berjalan dengan baik dan benar. Selanjutnya dilakukan pengujian white box untuk menguji apakah ciphertext yang dihasilkan dari proses obfuscation dapat dibaca atau dieksekusi kembali oleh web server. Hal-hal lain yang diamati adalah melihat perbandingan waktu eksekusi antara source code dalam bentuk plaintext dan ciphertext untuk melihat perbandingan performa antara aplikasi website
yang telah di-obfuscation maupun tidak di-obfuscation. 3.1. Tahapan Obfuscation
Tahapan ini merupakan serangkaian proses transformasi dan pemaketan kembali ciphertext yang dihasilkan oleh Wanna Crypt dalam pengacakan source code sesuai dengan struktur bahasa pemrograman php. Sskema proses obfuscation yang dirancang dalam aplikasi Wanna Crypt dapat dilihat pada Gambar 1 dibawah ini.
Gambar 1. Skema proses obfuscation dalam aplikasi Wanna Crypt
Pada Gambar 1 menjelaskan tentang alur dari tahapan obfuscation yang dirancang dalam aplikasi Wanna Crypt. Proses obfuscation dilakukan dengan (1) melakukan pembacaan isi file source code, (2) melakukan tokenisasi terhadap source code untuk memperoleh token-token dari kode php yang ditulis, (3) melakukan pemetaan terhadap string yang mengandung konten html, (4) mendapatkan nilai ascii dari setiap karakter, (5) melakukan inisialisasi state array sepanjang 256 bit, (7) menjalankan metode key scheduling, (8) menjalankan metode
pseudo random generation, (9) melakukan exclusive or encryption (10) penyusunan alur eksekusi kode php, (10) melakukan encoding base64, dan (11) penulisan kembali source code php hasil obfuscation kedalam file berekstensi php.
3.2. Tahapan Pemrosesan Kode Terobfuscation
Tahapan ini merupakan serangkaian proses eksekusi kode terhadap source code hasil obfuscation oleh aplikasi Wanna Crypt. Berikut ini adalah skema proses eksekusi kode hasil obfuscation menggunakan aplikasi Wanna Crypt. Skema pemrosesan kode hasil obfuscaition
dijelaskan dalam pada Gambar 2 berikut ini :
Gambar 2. Skema eksekusi kode hasil obfuscation menggunakan aplikasi Wanna Crypt
Pada Gambar 2 menjelaskan tentang metode eksekusi source code hasil obfuscation menggunakan Wanna Crypt dengan alur berikut : (1) pembacaan source code hasil obfuscation, (2) melakukan decoding menggunakan base64, (3) memperoleh nilai ascii dari setiap karakter, (4) inisialisasi state array sepanjang 256 bit, (5) menjalankan metode key scheduling, (6) menjalankan metode pseudo random generation, (7) menjalankan metode exclusive or,
(8) mengeksekusi source code ciphertext.
3.3. Algoritma Rivest Cipher 4
3.3.1. Metode Enkripsi a. Inisialisasi Array
Pada tahapan ini disediakan 2 buah array yang masing-masing merupakan kunci keamanan dan substitution box. Array substitution box ini diinisialisasi pada awalnya dengan nilai 0 hingga 255 sedangkan array kunci keamanan diisi dengan nilai decimal dari masing-masing karakter pada kunci keamanan hingga terisi secara penuh dalam array tersebut.
b. Metode Key Scheduling
Pada tahapan ini dilakukan proses inisialisasi ulang pada array substitution box atau sbox dengan nilai sepanjang 1 hingga 256 bit yang merupakan pengisian secara berulang kunci keamanan yang diinput atau digunakan. Hasil dari tahapan ini nantinya akan digunakan kembali dalam proses pembangkitan kunci enkripsi. Perhitungan metode ini dapat dilihat pada Tabel 1 berikut ini :
Tabel 1. Proses perhitungan metode key scheduling
j = 0
i = 0
j = (j + sbox[i] + kunci[i]) % 256
temporary = sbox[i]
sbox[i] = sbox[j]
sbox[i] = temporary
Pada Tabel 1 dijelaskan mengenai proses substitusi pembangkitan kunci enkripsi yang nantinya digunakan untuk proses transformasi karakter dalam source code php. c. Metode Pseudo Random Generation
Pada tahapan ini dilakukan pembangkitan kunci enkripsi yang nantinya akan diproses menggunakan metode exclusive or dengan masing-masing karakter pada plaintext. Hasil dari tahapan ini nantinya akan digunakan sebagai kunci enkripsi secara
exclusive or terhadap setiap karakter yang terdapat didalam plaintext atau source code. Tabel 2. Proses perhitungan metode pseudo random generation
a = 0
j = 0
i = 0
a = ( a + 1 ) % 256
j = ( j + sbox[a] ) $ 256
temporary = sbox[a]
sbox[a] = sbox[j]
sbox[j] = temporary
Pada Tabel 2 menjelaskan tentang proses modifikasi state pembangkitan kunci keamanan.
d. Metode Exclusive Or
Setelah dilakukan pembangkitan keystream dari kunci keamanan yang ditetapkan, setiap karakter pada plaintext akan diproses byte per byte atau karakter per karakter terhadap masing-masing keystream yang telah dibangkitkan secara exclusive or sehingga diperoleh ciphertext dari masing-masing plaintext.
Tabel 3. Proses perhitungan metode exclusive or
k = sbox[ ((sbox[a] + sbox[j])) % 256 ]
ciphertext = ascii(data[i] ^ k)
Pada Tabel 3 dijelaskan mengenai perhitungan metode exclusive or yang bertujuan untuk melakukan proses transformasi plaintext menjadi ciphertext dengan menggunakan logika xor terhadap bit-bit dari setiap karakter yang terdapat dalam
plaintext menggunakan kunci keamanan yang telah dibangkitkan sebelumnya.
3.3.2. Metode Dekripsi
Metode dekripsi atau pengembalian ciphertext menjadi plaintext dalam algoritm rivest cipher 4 menggunakan alur yang sama seperti dalam proses enkripsinya. Kunci keamanan yang digunakan dalam proses dekripsi juga sama persis menggunakan kunci keamanan yang digunakan dalam proses enkripsi.
3.4. Pengujian Perbandingan Waktu Eksekusi
Pengujian ini dilakukan untuk melihat perbandingan performa waktu eksekusi kode dalam sebuah perangkat lunak yang menggunakan source code asli dengan perangkat lunak yang menggunakan source hasil obfuscation.
Tabel 4. Data perbandingan waktu eksekusi source code
No Halaman Waktu Eksekusi (ms) %
PT CT
1 home 0.000476 0.000634 33.19%
2 profile-kami 0.000507 0.000661 30.37%
3 cara-pemesanan 0.000603 0.000611 1.33%
4 hubungi-kami 0.000557 0.000608 9.16%
5 Pencarian tiket tujuan 0.000709 0.000849 19.75%
6 Pencarian jadwal berangkat 0.000568 0.000753 32.57%
7 dashboard 0.001199 0.001761 46.87%
8 kategori layanan 0.001455 0.002078 42.82%
9 data jadwal 0.001669 0.002744 64.41%
10 data pemesanan 0.017214 0.024211 40.65%
Rata-rata 32.11%
Berdasarkan data pada Tabel 4 dengan mengamati 10 halaman yang dieksekusi dalam sebuah aplikasi yang merupakan hasil obfuscation menggunakan Wanna Crypt memperlihatkan perubahan performa waktu eksekusi antara source code yang tidak ter-obfuscation dengan
source code yang ter-obfuscation menghasilkan nilai rata-rata kenaikan waktu pemrosesan kode sebesar 32.11%.
Gambar 3. Grafik perbandingan waktu eksekusi source code
Berdasarkan grafik yang divisualisasikan pada Gambar 3 menunjukkan visualisasi dari hasil perbandingan waktu eksekusi kode yang ditunjukkan dengan grafik berwarna biru
menandakan waktu eksekusi plaintext atau source code yang belum di-obfuscation sementara grafik berwarna orange menandakan waktu eksekusi ciphertext atau source code yang telah
di-obfuscation. Dalam grafik tersebut menunjukkan terjadinya peningkatan lama proses eksekusi kode disetiap halaman yang diproses.
3.5. Pengujian Perbandingan Ukuran File
Pengujian ini dilakukan untuk melihat perbandingan pemakaian kapasitas ruangan penyimpanan kode dalam sebuah perangkat lunak yang menggunakan source code asli dengan perangkat lunak yang menggunakan source hasil obfuscation. Pengujian ini dilakukan dengan melakukan pengamatan terhadap load page rendering terhadap beberapa halaman aplikasi website yang dijalankan. Aplikasi website yang diuji menggunakan aplikasi yang menggunakan source code asli dan aplikasi yang merupakan hasil obfuscation menggunakan Wanna Crypt.
Tabel 5. Data perbandingan ukuran file source code
No
File
Ukuran File (bytes)
%
PT
CT
1
cek_login.php
1076
2660
147.21%
2
content.php
3083
6123
98.61%
3
index.php
1160
2814
142.59%
4
media.php
2870
5892
105.30%
5
aksi_kelas.php
1069
2644
147.33%
6
laporan.php
1204
2887
139.78%
7
aksi_order.php
1268
3009
137.30%
8
pdf_toko.php
2930
5998
104.71%
9
aksi_modul.php
1630
3657
124.36%
10
hubungi.php
2531
5281
108.65%
Rata-rata
125.58%
Berdasarkan data pada Tabel 5 dengan melakukan pengamatan terhadap 10 file hasil obfuscation diperoleh data yang menunjukkan kenaikan jumlah ukuran file antara source code
yang tidak ter-obfuscation dengan source code yang ter-obfuscation menghasilkan nilai rata-rata kenaikan ukuran file sebesar 125.58%.
Gambar 4. Grafik perbandingan ukuran file source code
Berdasarkan grafik yang divisualisasikan pada Gambar 4 memperlihatkan hasil perbandingan kenaikan jumlah ukuran file source code yang ditunjukkan dengan grafik berwarna biru menandakan ukuran file plaintext atau source code yang belum di-obfuscation
sementara grafik berwarna orange. Hasil yang diperoleh dari pengamatan terhadap perubahan ukuran file ciphertext atau source code yang dihasilkan dari proses obfuscation menunjukkan
terjadinya peningkatan atau perubahan ukuran file terhadap masing-masing berkas source code asli.
3.6. Pengujian Fitur Obfuscation
Dalam tahap ini dilakukan obfuscation sebuah source code php yang bercampur dengan tag-tag HTML dengan tujuan untuk melihat keberhasilan proses eksekusi kode. Source code
yang telah diobfuscation menggunakan Wanna Crypt ditempatkan kembali ke dalam we server kemudian diamati apakah source code yang telah terobfuscation berhasil diproses dan dieksekusi oleh web server layaknya source code asli ataukah menyebabkan source code
menjadi tidak dapat dibaca oleh web server.
Gambar 5. Source code asli perangkat lunak
Pada Gambar 5 menunjukkan source code asli sebuah perangkat lunak yang akan diacak menggunakan Wanna Crypt. Pengujian obfuscation dilakukan dengan menggunakan
source code php yang bercampur dengan tag-tag html.
Gambar 6. Hasil eksekusi terhadap source code asli
Pada Gambar 6 menunjukkan output yang dihasilkan setelah source code asli dieksekusi pada web server. Source code asli yang ditunjukkan pada Gambar 5 dari sebuah program berbasis bahasa php yang bercampur dengan tag html selanjutnya diacak menggunakan teknik
Gambar 7. Source code hasil obfuscation menggunakan Wanna Crypt
Pada Gambar 7 menunjukkan hasil dari proses obfuscation menggunakan Wanna Crypt menghasilkan source code php yang telah teracak. Source code tersebut kemudian akan dieksekusi kembali pada web server.
Gambar 8. Hasil eksekusi sourco code yang telah teracak
Pada Gambar 8 menunjukkan hasil eksekusi terhadap source code yang telah teracak menghasilkan output yang sama persis sesuai dengan source code asli yang tidak teracak. Hal tersebut menunjukkan bahwa Wanna Crypt dapat mengacak source code dengan baik tanpa merusak atau mengubah alur program yang disusun dalam perangkat lunak yang asli.
4. KESIMPULAN
Teknik obfuscation yang diterapkan dalam perangkat lunak Wanna Crypt berhasil melakukan pengacakan terhadap source code aplikasi berbasis website. Wanna Crypt juga berhasil melakukan pengacakan terhadap source code php yang bercampur dengan tag-tag HTML, JavaScript, maupun CSS sebagai sebuah capaian untuk memberikan solusi terhadap permasalahan yang dihadapi pada pengembangan sebelumnya[1].
Penerapan teknik obfuscation dengan pendekatan distribusi teks terhadap ciphertext yang dihasilkan dari proses obfuscation membantu dalam pengamanan dan pengacakan
source code tanpa merusak alur program yang dirancang didalamnya. Selain itu, dengan penambahan ekstensi baru yang juga diterapkan algoritma kriptografi didalamnya dapat menambah fungsi baru dalam bahasa pemrograman PHP yang tidak dimiliki oleh orang lain atau web server pada umumnya dengan harapan dapat melindungi perangkat lunak dari ancaman reverse engineering.
Teknik obfuscation yang diterapkan pada aplikasi Wanna Crypt masih menghasilkan perubahan ukuran file dengan rata-rata 125.58% dan rata-rata kenaikan waktu eksekusi kode sebesar 32.11%. Dengan teknik obfuscation diharapkan source code perangkat lunak berbasis
website dapat terlindungi dari bahaya reverse engineering agar tidak dapat dibuka atau dibongkar oleh pihak yang tidak bertanggung jawab.
5. UCAPAN TERIMA KASIH
Sebagai wujud ungkapan rasa syukur dan apresiasi atas dukungan yang diberikan, tak lupa penulis mengucap syukur atas Rahmat Tuhan YME atas nikmat ilmu yang diberikan, kepada kedua orang tua atas setiap doa dan dukungannya yang tiada henti, kepada bapak/ibu dosen dan pembimbing yang telah mengarahkan dan menghantarkan penulis untuk senantiasa belajar, serta rekan-rekan mahasiswa/i program studi Teknik Informatika di Universitas Muhammadiyah Malang atas bantuan dan dukungannya.
REFERENSI:
1. Ristić N, Jevremović A. AN OPEN SOURCE SOLUTION FOR PROTECTING PHP SOURCE CODE. In: Proceedings of the 1st International Scientific Conference - Sinteza
2014 [Internet]. 2014. p. 616–9. Available from:
http://portal.sinteza.singidunum.ac.rs/paper/221
2. Kurniadi, Irwansyah F. PENERAPAN ALGORITMA RC4 UNTUK ENKRIPSI KEAMANAN DATA ( Studi kasus : Dinas Pendidikan dan Kebudayaan Kota Sekayu ). J Ilm R B. 2015;8(12):1–13.
3. Suehring S, Valade J. PHP MYSQL JAVASCRIPT HTML5 ALL IN ONE FOR DUMMIES. John Wiley & Sons, Inc. 2013. 724 p.
4. Miles E, Sahai A, Weiss M. Protecting Obfuscation Against Arithmetic Attacks. Eprint [Internet]. 2014;878:221–38. Available from: http://dx.doi.org/10.1007/978-3-642-55220-5_13
5. Halim Dermawan DA. Penerapan Algoritma RC4 untuk Enkripsi dan Dekripsi SMS Berbasis Android. In: Seminar Perkembangan dan Hasil Penelitian Ilmu Komputer (SPHP-ILKOM). 2014. p. 79–87.
6. Setiawan O, Fiati R, Listyorini T. ALGORITMA ENKRIPSI RC4 SEBAGAI METODE OBFUSCATION SOURCE CODE PHP. In: Seminar Nasional Teknologi Industri dan Informatika. 2014. p. 113–20.
7. Cimato S, Santis A De, Petrillo UF. Overcoming the Obfuscation of Java Programs by Identifier Renaming. 2005;78:60–72.
8. Han S, Ryu M, Cha J, Choi BU. HOTDOL: HTML Obfuscation With Text Distribution To Overlapping Layers. In: Proceedings - 2014 IEEE International Conference on Computer and Information Technology, CIT 2014. 2014. p. 399–404.
9. Nugroho PS, Ariwibowo E. PENGEMBANGAN MODUL ENKRIPSI DAN DEKRIPSI PADA PHP DENGAN MODIFIKASI METODE KRIPTOGRAFI VIGENERE CIPHER DAN CIPHER BLOCK CHAINING (Studi Kasus pada geekybyte.com). In: Jurnal Sarjana Teknik Informatika Universitas Ahmad Dahlan. 2014. p. 1004–12.
10. Rahmatulloh A, Munir R. PENCEGAHAN ANCAMAN REVERSE ENGINEERING SOURCE CODE PHP DENGAN TEKNIK OBFUSCATION CODE PADA EXTENSION PHP. In: Konferensi Nasional Informatika. 2015.
11. Pradana K. APLIKASI PHP ENCODER DAN DECODER MENGGUNAKAN ALGORITMA BASE64 DAN KUNCI KEAMANAN. 2015;