• Tidak ada hasil yang ditemukan

BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM"

Copied!
27
0
0

Teks penuh

(1)

40

BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Konfigurasi Sistem Operasi pada Server

Dalam tahap ini tidak dibahas proses installasi sistem operasi secara mendalam, sistem operasi yang digunakan adalah Debian 8.7 dengan codename Jessie yang telah dijelaskan pada tahap analisis dan perancangan sistem. Tahap ini menjelaskan konfigurasi dasar setelah proses installasi sistem operasi.

Gambar 22. Sistem Operasi yang Diinstal

4.1.1 Persiapan Sistem (Prerequisites)

Agar pada saat membangun dan konfigurasi sistem identifikasi malware berjalan dengan lancar, maka diperlukan beberapa persiapan sebagai berikut:

1. Instalasi GIT 2. Instalasi Nano

3. Instalasi Kontrol Panel (Optional) 4. Instalasi LAMP

5. Setup SSH Keys 6. Instalasi YARA

7. Instalasi YARA-PYTHON

http://digilib.mercubuana.ac.id/z

(2)

4.2 Konfigurasi Sistem Identifikasi Malware YARA

Dalam tahap konfigurasi ini dijelaskan mengenai kompilasi sistem dalam bentuk source code, installasi dan konfigurasi sistem. Sistem tidak memerlukan installasi dengan cara standar seperti halnya instalasi paket linux lainnya yang menggunakan “make install” agar aplikasi tersebut dapat terinstal. Namun cukup dengan download dan langsung mulai pengaturan (portable). Langkah ini dilakukan pada seluruh server yang digunakan.

4.2.1 Kompilasi Sistem

Dalam tahap kompilasi kode program ini menggunakan bahasa bash dan python. Seluruh kode program dapat dilihat pada halaman Lampiran A Sourcecode Program .

4.2.2 Konfigurasi Pemasangan Sistem

Langkah selanjutnya adalah melakukan instalasi sistem tersebut. Sebelum instalasi, perlu dilakukan tahap update dan upgrade sistem. Setelah update dan upgrade sistem dilakukan, maka dilanjutkan tahap instalasi paket – paket pendukung yang telah dijelaskan sebelumnya hingga instalasi tools YARA. Berikut tahap instalasi sistem identifikasi malware berbasis signature-based YARA.

1. Tentukan path instalasi dan Download Source

#cd /var/www/maldet.muliamedia.com; wget

https://maldet.muliamedia.com/mmi_maldet.tar.gz 2. Ekstrak hasil download

#tar –xvzf mmi_maldet.tar.gz 3. Buat symlink

#cd /usr/sbin;ln –s

/var/www/maldet.muliamedia.com/mmi_maldet mmi_maldet

4. Buat Executable

#chmod +x /usr/sbin/mmi_maldet

(3)

42

4.2.3 Konfigurasi Direktori Sistem

Konfigurasi sistem bertujuan untuk menyesuaikan path setting dengan kondisi server yang ingin diinstal. Tujuannya agar sistem identifikasi berjalan dengan baik.

Berikut adalah tahapan untuk melakukan konfigurasi pada sistem yang sudah di install:

1. Buka file konfigurasi dan ubah konfigurasi path sesuai dengan installation path.

Akan tampil source code dari program, temukan baris berikut:

Gambar 23. Konfigurasi File Sistem Identifikasi

Ubah baris CONFIG_PATH sesuai dengan installation path: /var/www/maldet.muliamedia.com/common.yar.

2. Lalu ubah konfigurasi folder path untuk proses update sesuai dengan installation path.

Gambar 24. Konfigurasi Folder Sistem Identifikasi

3. Pengetesan hasil instalasi dapat dilakukan dengan mengetikkan perintah “mmi_maldet”. Jika sistem berhasil diinstal dan dikonfigurasi dengan benar, maka akan menampilkan informasi penggunaan sistem.

#nano maldet

http://digilib.mercubuana.ac.id/z

(4)

Gambar 25.Pengetesan Instalasi Sistem Identifikasi

Konfigurasi sistem pada server controller dan server client pada prinsipnya sama yang membedakan adalah pengaturan CONFIG_PATH dan CONFIG_DIR. Kedua pengaturan tersebut disesuaikan dengan kondisi masing – masing server client.

4.3 Tampilan dan Cara Kerja Sistem

Sistem identifikasi malware menggunakan signature-based YARA adalah sebuah web-shell sehingga tidak memiliki tampilan GUI (Graphic User Interface). Tampilan yang diberikan untuk saat ini masih terbatas command-line sehingga mungkin akan mengurangi user experience pengguna awam. Namun dari segi fleksibilitas dan kehandalan sistem cukup tinggi.

4.3.1 Tampilan Informasi Sistem

Tampilan informasi memberikan panduan bagaimana menggunakan sistem. Berikut tampilannya:

Gambar 26.Tampilan Awal Sistem Identifikasi Malware

Keterangan gambar:

1. –h, menampilkan opsi bantuan. Penggunaannya sebagai berikut: “mmi_maldet –h”

2. –u, memperbaharui rules sistem dengan server pusat.

Penggunaannya sebagai berikut: “mmi_maldet –u”

(5)

44 3. –q, mengidentifikasi malware lalu memindahkan file malware kedalam folder quarantine dan menonaktifkan file tersebut agar tidak dapat dieksekusi. Penggunaannya sebagai berikut:

“mmi_maldet –q”. Nantinya akan ditanyakan path folder yang akan di scan.

4. –s, fungsi ini hanya mengidentifikasi malware saja dan tidak secara langsung memindahkan ke folder quarantine.

Penggunaannya sebagai berikut: “mmi_maldet –s”. Nantinya akan ditanyakan path folder yang akan di scan.

4.3.2 Tampilan Rules

Penambahan rules untuk data malware bertujuan agar sistem identifikasi malware selalu up-to date. Fitur ini cukup dilakukan oleh controller node saja. Karena client node akan update dari sistem yang sudah terinstal.

Gambar 27.Tampilan Rules

Keterangan gambar:

1. Dari gambar terlihat rules yang dapat dipakai untuk proses identifikasi malware. Rules tersebut didapat dari komunitas YARA di: https://github.com/Yara-Rules/rules

2. Proses penambahan rules sebagai berikut:

“echo "[path to][nama rules]" >>[path to]

common.yar”

Misal:

#echo "latest/rules/Webshells_index.yar" >>

/var/www/maldet.muliamedia.com/common.yar

http://digilib.mercubuana.ac.id/z

(6)

4.3.3 Tampilan Librari Rules

Penambahan librari untuk data malware bertujuan agar sistem identifikasi malware selalu up-to date. Fitur ini cukup dilakukan oleh controller node saja. Karena client node akan update dari sistem yang sudah terinstal.

Gambar 28.Tampilan Librari Rules

Keterangan gambar:

1. Dari gambar terlihat librari yang dapat dipakai untuk proses identifikasi malware. Librari tersebut digunakan oleh sistem identifikasi malware agar dapat berjalan.

2. Proses penambahan librari sebagai berikut:

Gambar 29.Tampilan Penambahan Librari Rules

Pada baris RULES_FILES tambahkan librari yang diinginkan, misalnya wordress.yar yang berisi program CMS wordpress yang sudah di generate dalam bentuk hash.

4.3.4 Tampilan Client

Penambahan klien untuk membatasi proses update sistem nantinya. Tujuannya agar update malware sistem identifikasi

#nano /var/www/maldet.muliamedia.com/maldet

(7)

46 malware selalu up-to date terhadap server tertentu saja. Fitur ini hanya dilakukan oleh controller node.

Gambar 30.Tampilan Tambah Client

Keterangan gambar:

1. Dari gambar terlihat yang diperbolehkan untuk proses update hanya localhost dank lien dengan IP 103.229.74.16. Selain dari IP tersebut maka proses akan ditolak. Proses penambahan rules sebagai berikut:

2. Untuk proses penambahan IP client dapat dilakukan dengan cara berikut:

4.3.5 Tampilan Scan

Scan adalah prosedur untuk mengidentifikasi file apakah malware atau bukan. Hasil dari scan akan ditampilkan pada layar terminal dan juga tersimpan dalam log sistem.

Gambar 31.Tampilan Scan Sistem

Setelah mengetikkan perintah “mmi_maldet –s” maka akan ditanyakan path folder / file yang ingin di identifikasi. Untuk pengujian dapat diunduh beberapa contoh malware yang sudah dikumpulkan.

Repository malware didapat dari github dengan URL:

https://github.com/ytisf/theZoo. Sample malware diletakkan

“echo " allow from [IP Client]" >> [path to system]/latest/.htaccess”

Misal:

#echo " allow from 103.229.74.165" >>

/var/www/maldet.muliamedia.com/latest/.htaccess

http://digilib.mercubuana.ac.id/z

(8)

dipath: /var/www/maldet.muliamedia.com/sample. Berikut tampilan proses scan saat berjalan:

root@srv1:/var/www/maldet.muliamedia.com#

mmi_maldet -s

please input the target path to start scan Enter your path folder/file target [ENTER]:

/var/www/maldet.muliamedia.com scan process is running

DodgyStrings

/var/www/maldet.muliamedia.com/latest/rules/Webshel ls/WShell_APT_Laudanum.yar

DodgyPhp

/var/www/maldet.muliamedia.com/latest/rules/malware /APT_APT29_Grizzly_Steppe.yar

DodgyStrings

/var/www/maldet.muliamedia.com/latest/rules/malware /MALW_Magento_backend.yar

ObfuscatedPhp

/var/www/maldet.muliamedia.com/latest/rules/malware /MALW_Magento_backend.yar

DodgyPhp

/var/www/maldet.muliamedia.com/latest/rules/malware /MALW_Magento_backend.yar

DodgyPhp

/var/www/maldet.muliamedia.com/samples/undetected/s mart.php

SuspiciousEncoding

/var/www/maldet.muliamedia.com/samples/obfuscators/

online_php_obfuscator.php ObfuscatedPhp

/var/www/maldet.muliamedia.com/samples/obfuscators/

online_php_obfuscator.php DodgyPhp

/var/www/maldet.muliamedia.com/samples/obfuscators/

online_php_obfuscator.php ObfuscatedPhp

/var/www/maldet.muliamedia.com/samples/obfuscators/

phpencode.php DodgyPhp

/var/www/maldet.muliamedia.com/samples/obfuscators/

phpencode.php DodgyPhp

/var/www/maldet.muliamedia.com/samples/real/srt.php ObfuscatedPhp

/var/www/maldet.muliamedia.com/samples/real/ice.php DodgyPhp

/var/www/maldet.muliamedia.com/samples/real/ice.php ObfuscatedPhp

/var/www/maldet.muliamedia.com/samples/obfuscators/

cipher_design.php DodgyPhp

/var/www/maldet.muliamedia.com/samples/obfuscators/

cipher_design.php DodgyPhp

/var/www/maldet.muliamedia.com/samples/real/sucuri_

2014_04.php

(9)

48 ObfuscatedPhp

/var/www/maldet.muliamedia.com/samples/artificial/b ypasses.php

DodgyPhp

/var/www/maldet.muliamedia.com/samples/artificial/b ypasses.php

DodgyStrings

/var/www/maldet.muliamedia.com/samples/artificial/d odgy.php

DodgyPhp

/var/www/maldet.muliamedia.com/samples/artificial/d odgy.php

DodgyStrings

/var/www/maldet.muliamedia.com/samples/real/novahot .php

DodgyStrings

/var/www/maldet.muliamedia.com/samples/classic/sosy ete.php

DodgyPhp

/var/www/maldet.muliamedia.com/samples/classic/sosy ete.php

DodgyStrings

/var/www/maldet.muliamedia.com/samples/classic/sima ttacker.php

DangerousPhp

/var/www/maldet.muliamedia.com/samples/classic/sima ttacker.php

Websites

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_samples_artificial_obfuscated .php.suspect

ObfuscatedPhp

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_samples_artificial_obfuscated .php.suspect

DodgyPhp

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_samples_artificial_obfuscated .php.suspect

PasswordProtection

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_samples_freepbx.php.suspect ObfuscatedPhp

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_samples_freepbx.php.suspect DodgyPhp

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_samples_freepbx.php.suspect SuspiciousEncoding

/var/www/maldet.muliamedia.com/samples/classic/ange l.php

DodgyStrings

/var/www/maldet.muliamedia.com/samples/classic/ange l.php

ObfuscatedPhp

/var/www/maldet.muliamedia.com/samples/classic/ange l.php

DodgyPhp

/var/www/maldet.muliamedia.com/samples/classic/ange l.php

DangerousPhp

/var/www/maldet.muliamedia.com/samples/classic/ange l.php

ObfuscatedPhp http://digilib.mercubuana.ac.id/z

(10)

/var/www/maldet.muliamedia.com/samples/cpanel.php SuspiciousEncoding

/var/www/maldet.muliamedia.com/samples/classic/r57.

php

DodgyStrings

/var/www/maldet.muliamedia.com/samples/classic/r57.

php

ObfuscatedPhp

/var/www/maldet.muliamedia.com/samples/classic/r57.

php DodgyPhp

/var/www/maldet.muliamedia.com/samples/classic/r57.

php

DangerousPhp

/var/www/maldet.muliamedia.com/samples/classic/r57.

php

DodgyStrings

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_latest_rules_Webshells_WShell _THOR_Webshells.yar.suspect

Websites

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_latest_rules_Webshells_WShell _THOR_Webshells.yar.suspect

ObfuscatedPhp

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_latest_rules_Webshells_WShell _THOR_Webshells.yar.suspect

DodgyPhp

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_latest_rules_Webshells_WShell _THOR_Webshells.yar.suspect

DangerousPhp

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_latest_rules_Webshells_WShell _THOR_Webshells.yar.suspect

=================================================

You should take a look at the files listed below:

Websites

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_samples_artificial_obfuscated .php.suspect

PasswordProtection

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_samples_freepbx.php.suspect Websites

/var/www/maldet.muliamedia.com/quarantine/_var_www_

maldet.muliamedia.com_latest_rules_Webshells_WShell _THOR_Webshells.yar.suspect

(11)

50 Keterangan gambar:

1. Baris “Enter your path folder/file target [ENTER]:

/var/www/maldet.muliamedia.com” adalah perintah menentukan path yang ingin diidentifikasi apakah ada keberadaan malware atau tidak.

2. Setelah itu proses identifikasi berjalan dengan cara mencocokkan file scan dengan signature yang tersedia. Contoh rules nya: IsPhp, NonPrintableChars, PasswordProtection, ObfuscatedPhp, DodgyPhp, DangerousPhp, HiddenInAFile.

3. Semua hasil identifikasi harus diperhatikan, namun yang menjadi prioritas adalah hasil setelah baris “You should take a look at the files listed below:”. Hasilnya berupa path tempat malware tersebut berada.

4. Hasil dari proses scan belum dipindahkan ke folder quarantine.

4.3.6 Tampilan Karantina

Karantina adalah prosedur untuk memindahkan file yang terinfeksi malware kedalam folder karantina agar malware tidak dapat berjalan.

Gambar 32.Tampilan Karantina

Seluruh file yang dikarantina diletakkan dalam folder

“quarantine”. File tersebut kemudian di chmod 0 dan chattr dan direname, maksudnya agar file tidak dapat diakses juga sebagai bukti atau log karantina. Berikut tampilan proses karantina:

root@srv1:/var/www/maldet.muliamedia.com#

mmi_maldet -q

please input the target path to start scan Enter your path folder/file target [ENTER]:

/var/www/blog.muliamedia.com scan process is running

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/date.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/SimplePie/Parse/Date.php

http://digilib.mercubuana.ac.id/z

(12)

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/bookmark-template.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/js/tinymce/tinymce.min.js

DodgyStrings /var/www/blog.muliamedia.com/wp- includes/post.php

DodgyStrings /var/www/blog.muliamedia.com/wp- includes/class-phpmailer.php

DodgyPhp /var/www/blog.muliamedia.com/wp- includes/class-phpmailer.php

DodgyStrings /var/www/blog.muliamedia.com/wp- includes/class-wp-query.php

DodgyStrings /var/www/blog.muliamedia.com/wp- includes/functions.php

DodgyPhp /var/www/blog.muliamedia.com/wp- includes/functions.php

DangerousPhp /var/www/blog.muliamedia.com/wp- includes/functions.php

DodgyPhp /var/www/blog.muliamedia.com/wp- includes/class-pop3.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/class-wp-tax-query.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/post-template.php

DodgyStrings /var/www/blog.muliamedia.com/wp- includes/media.php

DodgyPhp /var/www/blog.muliamedia.com/wp- includes/load.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/IXR/class-IXR-date.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/class-wp-meta-query.php

DodgyStrings /var/www/blog.muliamedia.com/wp- includes/formatting.php

DodgyStrings /var/www/blog.muliamedia.com/wp- includes/comment.php

DodgyStrings /var/www/blog.muliamedia.com/wp- includes/deprecated.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- includes/deprecated.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/themes/knowledge-base/inc/bbpress.php ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/themes/wp-knowledge-base/inc/bbpress.php ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/themes/wp-knowledge-base/footer.php DodgyStrings /var/www/blog.muliamedia.com/wp- content/ewww/optipng

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/uploads/2016/12/Page-Post-Event.jpg

(13)

52 ObfuscatedPhp /var/www/blog.muliamedia.com/wp-

content/plugins/google-analytics-dashboard-for- wp/tools/gapi.php

DodgyPhp /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/lib/StepProcessing/step-processing.php ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/deprecated/assets/images/screenshots/ss- builder.png

HiddenInAFile /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/deprecated/assets/images/screenshots/ss- builder.png

DodgyPhp /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/deprecated/includes/functions.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/deprecated/includes/fields/calc.php DodgyPhp /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/deprecated/includes/admin/upgrades/class- upgrade-handler.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/deprecated/includes/admin/ajax.php DodgyPhp /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/deprecated/includes/admin/upgrades/upgrade- functions.php

DodgyPhp /var/www/blog.muliamedia.com/wp- content/plugins/ninja-

forms/deprecated/classes/step-processing.php DodgyPhp /var/www/blog.muliamedia.com/wp-

content/plugins/ninja-forms/includes/Helper.php DodgyPhp /var/www/blog.muliamedia.com/wp-

content/plugins/linkedin-master/includes/linkedin- master-admin-table-support-export.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/crayon-syntax-

highlighter/crayon_formatter.class.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/crayon-syntax-

highlighter/crayon_settings_wp.class.php ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/crayon-syntax-

highlighter/util/crayon_util.class.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/crayon-syntax-

highlighter/util/theme-editor/theme_editor.php DodgyStrings /var/www/blog.muliamedia.com/wp- content/plugins/broken-link-

checker/idn/idna_convert.class.php

DodgyPhp /var/www/blog.muliamedia.com/wp-

content/plugins/broken-link-checker/core/core.php DodgyPhp /var/www/blog.muliamedia.com/wp-

content/plugins/broken-link-

checker/includes/utility-class.php

http://digilib.mercubuana.ac.id/z

(14)

DodgyPhp /var/www/blog.muliamedia.com/wp- content/plugins/broken-link-

checker/languages/broken-link-checker-he_IL.po ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/frontend/class- breadcrumbs.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/frontend/class- frontend.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-

seo/admin/google_search_console/class-gsc-platform- tabs.php

NonPrintableChars /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/admin/config-

ui/factories/class-factory-post-type.php ObfuscatedPhp /var/www/blog.muliamedia.com/wp-

content/plugins/wordpress-seo/admin/class-asset.php NonPrintableChars /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/js/dist/wp-seo-post- scraper-480.min.js

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/js/dist/wp-seo-post- scraper-480.min.js

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/admin/taxonomy/class- taxonomy-fields-presenter.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/admin/metabox/class- metabox.php

NonPrintableChars /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/modules/videopress/editor- media-view.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/modules/subscriptions.php ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/modules/shortcodes/archiveo rg.php

NonPrintableChars /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/modules/related-

posts/jetpack-related-posts.php

DodgyStrings /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/class.jetpack.php DangerousPhp /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/class.jetpack.php ObfuscatedPhp /var/www/blog.muliamedia.com/wp- content/plugins/wp-user-avatar/includes/class-wp- user-avatar-functions.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- admin/includes/class-wp-plugins-list-table.php DodgyStrings /var/www/blog.muliamedia.com/wp- admin/includes/template.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- admin/includes/template.php

(15)

54 DodgyStrings /var/www/blog.muliamedia.com/wp-

admin/includes/upgrade.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- admin/includes/media.php

ObfuscatedPhp /var/www/blog.muliamedia.com/wp- admin/includes/class-ftp.php

DodgyStrings /var/www/blog.muliamedia.com/wp- admin/includes/ajax-actions.php

DodgyPhp /var/www/blog.muliamedia.com/wp- admin/includes/schema.php

DodgyPhp

/var/www/blog.muliamedia.com/samples/undetected/sma rt.php

SuspiciousEncoding

/var/www/blog.muliamedia.com/samples/obfuscators/on line_php_obfuscator.php

ObfuscatedPhp

/var/www/blog.muliamedia.com/samples/obfuscators/on line_php_obfuscator.php

DodgyPhp

/var/www/blog.muliamedia.com/samples/obfuscators/on line_php_obfuscator.php

ObfuscatedPhp

/var/www/blog.muliamedia.com/samples/obfuscators/ph pencode.php

DodgyPhp

/var/www/blog.muliamedia.com/samples/obfuscators/ph pencode.php

DodgyPhp

/var/www/blog.muliamedia.com/samples/real/srt.php ObfuscatedPhp

/var/www/blog.muliamedia.com/samples/obfuscators/ci pher_design.php

DodgyPhp

/var/www/blog.muliamedia.com/samples/obfuscators/ci pher_design.php

ObfuscatedPhp

/var/www/blog.muliamedia.com/samples/real/ice.php DodgyPhp

/var/www/blog.muliamedia.com/samples/real/ice.php DodgyPhp

/var/www/blog.muliamedia.com/samples/real/sucuri_20 14_04.php

DodgyStrings

/var/www/blog.muliamedia.com/samples/artificial/dod gy.php

DodgyPhp

/var/www/blog.muliamedia.com/samples/artificial/dod gy.php

ObfuscatedPhp

/var/www/blog.muliamedia.com/samples/artificial/byp asses.php

DodgyPhp

/var/www/blog.muliamedia.com/samples/artificial/byp asses.php

DodgyStrings

/var/www/blog.muliamedia.com/samples/real/novahot.p hp

http://digilib.mercubuana.ac.id/z

(16)

DodgyStrings

/var/www/blog.muliamedia.com/samples/classic/sosyet e.php

DodgyPhp

/var/www/blog.muliamedia.com/samples/classic/sosyet e.php

DodgyStrings

/var/www/blog.muliamedia.com/samples/classic/simatt acker.php

DangerousPhp

/var/www/blog.muliamedia.com/samples/classic/simatt acker.php

SuspiciousEncoding

/var/www/blog.muliamedia.com/samples/classic/angel.

php

DodgyStrings

/var/www/blog.muliamedia.com/samples/classic/angel.

php

ObfuscatedPhp

/var/www/blog.muliamedia.com/samples/classic/angel.

php DodgyPhp

/var/www/blog.muliamedia.com/samples/classic/angel.

php

DangerousPhp

/var/www/blog.muliamedia.com/samples/classic/angel.

php

ObfuscatedPhp

/var/www/blog.muliamedia.com/samples/cpanel.php SuspiciousEncoding

/var/www/blog.muliamedia.com/samples/classic/r57.ph p

DodgyStrings

/var/www/blog.muliamedia.com/samples/classic/r57.ph p

ObfuscatedPhp

/var/www/blog.muliamedia.com/samples/classic/r57.ph p

DodgyPhp

/var/www/blog.muliamedia.com/samples/classic/r57.ph p

DangerousPhp

/var/www/blog.muliamedia.com/samples/classic/r57.ph p

=================================================

You should take a look at the files listed below:

NonPrintableChars /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/admin/config-

ui/factories/class-factory-post-type.php

NonPrintableChars /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/js/dist/wp-seo-post- scraper-480.min.js

NonPrintableChars /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/modules/videopress/editor- media-view.php

NonPrintableChars /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/modules/related-

posts/jetpack-related-posts.php

(17)

56 Keterangan:

1. Proses karantina menjalankan proses scan terlebih dahulu.

Lalu, hasil scan dipindah ke folder karantina.

2. Log karantina disimpan di folder logs/*waktu*.quarantine.logs

'/var/www/blog.muliamedia.com/wp-

content/plugins/wordpress-seo/js/dist/wp-seo-post- scraper-480.min.js' ->

'quarantine/_var_www_blog.muliamedia.com_wp-

content_plugins_wordpress-seo_js_dist_wp-seo-post- scraper-480.min.js.suspect'

'/var/www/blog.muliamedia.com/wp-

content/plugins/jetpack/modules/videopress/editor- media-view.php' ->

'quarantine/_var_www_blog.muliamedia.com_wp-

content_plugins_jetpack_modules_videopress_editor- media-view.php.suspect'

'/var/www/blog.muliamedia.com/wp-

content/plugins/jetpack/modules/related- posts/jetpack-related-posts.php' ->

'quarantine/_var_www_blog.muliamedia.com_wp- content_plugins_jetpack_modules_related- posts_jetpack-related-posts.php.suspect' log quarantine save on logs/2017-05-27- 1495858962.quarantine.logs

We chmod 0 and chattr, let me not walk again on the server..DONE

report quarantine save on

quarantine from /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/admin/config- ui/factories/class-factory-post-type.php to quarantine/_var_www_blog.muliamedia.com_wp- content_plugins_wordpress-seo_admin_config-

ui_factories_class-factory-post-type.php.suspect quarantine from /var/www/blog.muliamedia.com/wp- content/plugins/wordpress-seo/js/dist/wp-seo-post- scraper-480.min.js to

quarantine/_var_www_blog.muliamedia.com_wp-

content_plugins_wordpress-seo_js_dist_wp-seo-post- scraper-480.min.js.suspect

quarantine from /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/modules/videopress/editor- media-view.php to

quarantine/_var_www_blog.muliamedia.com_wp-

content_plugins_jetpack_modules_videopress_editor- media-view.php.suspect

quarantine from /var/www/blog.muliamedia.com/wp- content/plugins/jetpack/modules/related-

posts/jetpack-related-posts.php to

quarantine/_var_www_blog.muliamedia.com_wp- content_plugins_jetpack_modules_related- posts_jetpack-related-posts.php.suspect

http://digilib.mercubuana.ac.id/z

(18)

4.3.7 Tampilan Whitelist

Whitelist adalah prosedur untuk membiarkan skrip yang dianggap sebagai malware namun aktif sebagai bagian dari website.

Beberapa skrip website aktif terkadang menggunakan beberapa fungsi php yang dicurigai sebagai malware, misalnya fungsi allow_url dan sebagainya. Maka dari itu, prosedur whitelist dilakukan agar file yang berisi fungsi tersebut tidak terdeteksi sebagai malware.

Gambar 33.Tampilan Whitelist

Untuk menggunakan whitelist, hal pertama yang dilakukan adalah membuat file hash untuk dimasukkan kedalam file whitelist.yar. Tahapannya sebagai berikut:

Keterangan:

1. Perintah “python” untuk mengeksekusi file

“generate_whitelist.py” lalu diikuti path folder yang ingin dibuat hash.

2. Hasilnya akan muncul hasilnya berbentuk file hash yang disimpan dalam file dipath:

root@srv1:/var/www/maldet.muliamedia.com/utils#

python generate_whitelist.py plugin_googleanalytics /var/www/blog.muliamedia.com/wp-

content/plugins/google-analytics-dashboard-for-wp/

>>

/var/www/maldet.muliamedia.com/whitelists/plugin_go ogleanalytics.yar

import "hash"

rule plugin_googleanalytics {

condition:

/* plugin_googleanalytics */

hash.sha1(0, filesize) ==

"e5735e103d59e7875dafcbf0cda71db8bc27190b" //

/var/www/blog.muliamedia.com/wp-

content/plugins/google-analytics-dashboard-for- wp/tools/gapi.php

}

(19)

58

“/var/www/maldet.muliamedia.com/whitelists/plugin_googlean alytics.yar”

3. Path hash, dimasukkan kedalam file whitelist.yar seperti:

Gambar 34.Tampilan Input Whitelist

4.3.8 Tampilan Setel Direktori

Penyetelan direktori dimaksudkan untuk mengarahkan proses identifikasi lebih efektif. Jadi, sistem bisa menentukan folder tertentu yang akan discan. Proses cepat atau lambatnya identifikasi tergantung dari proses ini. Semakin banyak file atau folder yang ingin diidentifikasi, maka semakin lama prosesnya.

Gambar 35.Tampilan Setel Direktori

Jika salah memasukkan direktori atau direktori yang dituju tidak ada maka akan muncul error sebagai berikut untuk notifikasi agar dapat diperbaiki.

Gambar 36.Notifikasi Error Setel Direktori

http://digilib.mercubuana.ac.id/z

(20)

4.4 Pengujian Sistem

Pengujian sistem identifikasi malware dilakukan dengan 2 (dua) aspek, yaitu:

1. Pengujian Fungsionalitas Sistem

Pengujian dilakukan bertujuan untuk menguji sistem identifikasi malware apakah telah sesuai dengan kebutuhan yang diinginkan.

Metode yang digunakan untuk pengujian adalah black box testing yaitu pengujian terhadap kesesuaian antara fungsionalitas sistem identifikasi malware yang dirancang berdasarkan kebutuhan pengguna dengan sistem identifikasi malware yang diimplementasikan. Pengujian dilakukan dengan cara melakukan pemeriksaan terhadap menu-menu fungsional yang ada pada sistem. Setiap menu harus sesuai keluaraannya dan tidak mendapatkan error.

Pengujian dilakukan oleh 2 penguji yang masing-masing berposisi sebagai staff sysadmin, dan staff technical support. Pengujian dilakukan pada perusahaan PT Master Web Network dalam 2 waktu yang berbeda. Berikut adalah data penguji:

Tabel 15. Data Penguji

No Nama Penguji Jabatan/Posisi Tanggal Pengujian 1 Arie Ibrahim Sys Admin 29 Mei 2017

2 Heru Khairudin Tech. Support 30 Mei 2017

2. Pengujian Quality

Quality of service dilakukan untuk menguji kualitas sistem, pengujian dilakukan dengan cara membandingkan kualitas dari aplikasi yang tidak menggunakan dan sistem identifikasi malware dengan yang menggunakan sistem identifikasi malware. Parameter pengujian kualitas tersebut meliputi pengujian process time dan pengujian akurasi.

(21)

60

4.4.1 Hasil Pengujian Fungsionalitas

Hasil pengujian diawali dengan proses pengumpulan data yang diperoleh berdasaran hasil uji yang telah dilakukan oleh para penguji.

Detail hasil dari pengujian sistem yang dilakukan oleh 2 orang penguji untuk mengetahui bahwa fungsi dari prosedur yang sudah dibuat berjalan sesuai dengan spesifikasi yang telah dibuat sebelumnya. Hasil uji terinci pada tabel 16.

Tabel 16. Pengujian Fungsionalitas Sistem Identifikasi Malware

No Fungsi Hasil yang diharapkan

Status

(√ / X)

P1 P2

1 Tambah Rules

Jika input benar maka sistem jalan, Jika salah input maka muncul error saat eksekusi sistem

2 Tambah Librari

Jika input benar maka sistem jalan, jika salah input maka muncul file tidak akan terupdate

3 Tambah Client

Jika benar maka klien dapat proses update, jika salah input maka muncul error

“Forbidden” disisi klien

4 Hapus Rules

Data rules yang dihapus dapat proses tanpa ada error

5 Hapus Librari Data librari yang

http://digilib.mercubuana.ac.id/z

(22)

dihapus dapat proses tanpa ada error

6 Hapus Client

Jika benar maka klien yang tidak terdaftar akan mendapatkan error

7 Scan Malware

Jika berjalan, maka file sample malware akan terdeteksi

8 Karantina File hasil scan dipindah

ke folder karantina 9 Update Sistem Proses update berjalan

sesuai list library. Jika gagal error

“Forbiddden” berarti klien belum di add

10 Setel Whitelist Aplikasi yang sudah diwhitelist tidak akan terdeteksi malware

X

11 Setel Direktori Jika benar maka sistem identifikasi akan berjalan, jika salah maka ada error

Keterangan tabel:

1. P1 adalah penguji pertama yaitu Arie Ibrahim 2. P2 adalah penguji kedua yaitu Heru Khairudin

(23)

62

4.4.2 Hasil Pengujian Kualitas

Hasil pengujian diawali dengan proses pengumpulan sampel signature malware yang dikelompokan dalam 3 jenis:

1. Dodgy PHP

Merupakan jenis skrip PHP yang umumnya berpotensial sebagai malware. Sampel signature Dodgy PHP:

2. Obfuscated Php

Merupakan jenis skrip PHP yang terlihat tidak beraturan namun fungsi – fungsinya tetap bekerja. Sampel signature Obfuscated PHP:

3. Suspicious Encoding

Merupakan jenis skrip PHP yang sudah dikonversi menjadi data dari sebuah informasi namun output data dicurigai mengandung string exploit.. Sampel signature Suspicious Encoding:

1. /extract\s*\(\s*\$_(GET|POST|REQUEST|COOKIE|S ERVER)/

2. /curl_init\s*\(\s*["']file:\/\// nocase 3. /(eval|assert|passthru|exec|include|system|pc

ntl_exec|shell_execute|base64_decode|`|array_

map|call_user_func(_array)?)\s*\(\s*(base64_d ecode|php:\$

4. /IIS:\/\/localhost\/w3svc/

5. /\(\)\s*{\s*:\s*;\s*}\s*;/

6. /register_[a-

z]+_function\s*\(\s*['"]\s*(eval|assert|passt hru|exec|include|system|shell_execute|`)/

1."'ev'.'al'"

1. /(\$\w+=[^;]*)*;\$\w+=@?\$\w+\(/

2. /\$\w=\$[a-zA-Z]\('',\$\w\);\$\w\(\);/

3. /;\$\w+\(\$\w+(,\s?\$\w+)+\);/

4. /\/\*([^*]|\*[^\/])*\*\/\s*\(/

5. /\$_(GET|POST|COOKIE|REQUEST|SERVER)\s*\[[^\]

]+\]\s*\(/

1. base64 hex strrev Hpack

http://digilib.mercubuana.ac.id/z

(24)

Sistematika pengujian sampel:

Tabel 17. Sistematika Pengujian

Pengujian Jenis Uji Keterangan

1 Stand Alone 5 sampel file malware akan diletakkan diantara file – file aplikasi website

2 Embedded 5 sampel file malware akan dimasukkan diantara file – file aplikasi website

Pengujian hanya akan dilakukan satu kali karena hasil dari signature-based tidak akan berubah seperti halnya metode heuristic.

Sampel Malware

Sampel malware didapat dari repository github yang beralamat di:

https://github.com/nikicat/web-malware- collection/tree/master/Backdoors/PHP

Tabel 18. Sampel Malware

No Nama Jenis

1 smart.php DodgyPhp

2 ice.php ObfuscatedPhp

3 freepbx.php ObfuscatedPhp

4 online_php_obfuscator.php SuspiciousEncoding

5 angel.php ObfuscatedPhp

Sourcecode malware yang akan dicocokkan dengan signature dapat dilhat pada Lampiran B Sourcecode Malware (string signature di highlight).

(25)

64 Hasil Jenis Pengujian Pertama

Pengujian dilakukan dengan meletakkan sampel malware di direktori root website yaitu public_html/samples hasil pengujian dapat dilihat pada gambar 37.

Gambar 37. Hasil Uji Pertama

Dari hasil uji dapat diketahui bahwa 1 sample malware dapat digolongkan dalam beberapa jenis tergantung dari rule yang dibuat dari signature malware.

Intinya, 5 sampel terdeteksi dengan baik dan dapat langsung dipindahkan ke folder karantina. Pemindahan file malware aman karena file sampel malware terpisah dari file – file website.

Hasil Jenis Pengujian Kedua

Pengujian dilakukan dengan meletakkan sampel malware di dalam file website yang aktif. Daftar file website aktif yang akan di infeksi malware dapat dilihat dalam tabel 19.

Tabel 19. Sampel File Yang Disisipkan Malware No Nama File Nama Malware

Yang akan Disisipkan

Keterangan

1 class-ftp.php angel.php class-ftp.php merupakan salah satu file CMS

http://digilib.mercubuana.ac.id/z

(26)

Wordpress yang terletak di /wp- admin/includes/cla ss-ftp.php

2 template.php smart.php template.php merupakan salah satu file CMS Wordpress yang terletak di /wp- admin/includes/tem plate.php

3 class-wp- plugins-list- table.php

freepbx.php class-wp-plugins- list-table.php merupakan salah satu file CMS Wordpress yang terletak di /wp- admin/includes/cla ss-wp-plugins-list- table.php

4 media.php ice.php media.php

merupakan salah satu file CMS Wordpress yang terletak di /wp- admin/includes/me dia.php

5 load.php load.php

merupakan salah satu file CMS Wordpress yang terletak di /wp-

(27)

66 includes/load.php

Hasil dari proses identifikasi dapat dilihat dari gambar 38.

Menunjukkan bahwa file asli wordpress yang disisipkan malware tetap terdeteksi sebagai malware.

Gambar 38. Hasil Uji Kedua

Namun, hasil dari proses identifikasi tidak boleh langsung dikarantina karena akan menyebabkan error pada website.

Harus dianalisa lebih lanjut dan dihapus bagian skrip malwarenya saja.

Analisis Hasil Pengujian

Dari hasil pengujian yang sudah dilakukan, dibuatkan tabel analisa yang dapat dilihat pada tabel 20.

Tabel 20. Analisa Hasil Pengujian

No

Jenis Penguji

an

Jumlah Sampel

Sampel Terdeteksi

%

Akurasi Aksi

1 Stand

Alone 5 5 100% karanti

na 2 Embedd

ed 5 5 100% Analisa

lanjutan

http://digilib.mercubuana.ac.id/z

Gambar

Gambar 22. Sistem Operasi yang Diinstal
Gambar 23. Konfigurasi File Sistem Identifikasi
Gambar 26.Tampilan Awal Sistem Identifikasi Malware
Gambar 27.Tampilan Rules
+7

Referensi

Dokumen terkait

Berdasarkan hasil penelitian variasi pemanis berpengaruh terhadap uji sifat fisik tablet hisap, yaitu pada uji kerapuhan hasilnya berbeda signifikan anatara Formula

Fokus utama penelitian ini adalah mengenai kemampuan pemahaman matematis siswa Sekolah Menengah Pertama (SMP). Rendahnya kemampuan ini disinyalir terjadi antara

Tujuan yang hendak dicapai dalam penelitian ini adalah untuk mendapatkan informasi tentang aktivitas katalitik oksida perovskit LSCF 6428, pengaruh penambahan CeO2

• Melakukan kegiatan pemberian makan koleksi ikan hidup pada 12 aquarium.. 6 •

bahwa berdasarkan ketentuan Pasal 12 ayat (1) Peraturan Pemerintah Nomor 60 Tahun 2014 tentang Dana Desa Yang Bersumber dari Anggaran Pendapatan dan Belanja Negara

Dengan memodelkan tujuan-tujuan tersebut dalam sebuah struktur hirarki keputusan, tim implementasi dapat lebih memahami harapan perusahaan terhadap sistem ERP yang akan dipilih.

Dimensi perencanaan berkaitan dengan proses perencanaan, indikatornya antara lain: adanya perencanaan untuk pengembangan dan pemanfaatan TIK yang dilakukan secara

Tujuan penelitian ini adalah mengetahui unjuk kerja pada pengujian kadar unsur Mn, Mg dan Cr dan ketidakpastian pengukuran dengan metode AANC dalam cuplikan sedimen