BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable...

13
5 BAB II LANDASAN TEORI 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai perangkat dan platform karena kemudahan dalam pemakaian serta dapat menyertakan file multimedia, akses langsung URL serta komunikasi HTTP. File PDF memiliki standar publikasi ISO 32000-1:2008 yang dipakai sebagai referensi pada penelitian ini. Sintaksisnya terdiri dari 4 elemen utama yaitu [8]: 1. Objects Objects adalah dasar dalam pembuatan blok pada pdf. 2. File Structure File Structure menentukan bagaimana objects dirubah dan ditata dalam file pdf 3. Document Structure Document Structure menentukan objects terorganisir secara logis untuk mewakili konten (teks, grafik, dan lain-lain). 4. Content Streams Content Streams menyediakan cara pengefisiensi penyimpanan berbagai bagian dari konten dokumen. Gambar 2.1. Representasi Struktur PDF [13]

Transcript of BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable...

Page 1: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

5

BAB II

LANDASAN TEORI

2.1. Portable Document Format (PDF)

PDF merupakan file dokumen yang banyak dipakai pada berbagai

perangkat dan platform karena kemudahan dalam pemakaian serta dapat

menyertakan file multimedia, akses langsung URL serta komunikasi HTTP. File

PDF memiliki standar publikasi ISO 32000-1:2008 yang dipakai sebagai referensi

pada penelitian ini. Sintaksisnya terdiri dari 4 elemen utama yaitu [8]:

1. Objects

Objects adalah dasar dalam pembuatan blok pada pdf.

2. File Structure

File Structure menentukan bagaimana objects dirubah dan ditata dalam

file pdf

3. Document Structure

Document Structure menentukan objects terorganisir secara logis untuk

mewakili konten (teks, grafik, dan lain-lain).

4. Content Streams

Content Streams menyediakan cara pengefisiensi penyimpanan berbagai

bagian dari konten dokumen.

Gambar 2.1. Representasi Struktur PDF [13]

Page 2: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

6

Pada Gambar 2.1 dapat dijelaskan pada bagian kiri adalah tata letak fisik

struktur PDF, pada bagian tengah adalah struktur logikanya, dan pada bagian

kanan adalah jumlah set jalur struktural. Struktur dasar dari pdf memiliki 4 bagian

yaitu [7]:

1. Header

Baris pertama adalah header yaitu informasi tentang nomor versi

dari spesifikasi PDF yang digunakan, berikut adalah contoh sintak xxd

dari header:

2. Body

Pada baris body berisikan beberapa tipe objek yaitu text stream,

image, file multimedia lainnya dan lain-lain. Dalam artian pada bagian

ini berisikan apapun yang akan ditampilkan pada file PDF.

3. ‘xref’ Table

Tabel xref berisikan tentang informasi dari blok referensi yang

dipakai sebagai penghubung antar blok. Berikut adalah contoh dari

penulisan tabel xref:

# xxd temp.pdf | head –n 1 0000000: 2550 4446 2d31 2e33 0a25 c4e5 f2e5 eba7 %PDF-1.3%.....

xref 01 00000000023 65535 f 31 0000025324 00000 n 21 4 0000025518 00002 n 0000025632 00000 n 00000000024 00001 f 0000000000 00001 f 36 1 0000026900 00000 n

Page 3: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

7

4. Trailer

Trailer menentukan bagaimana aplikasi pembaca dokumen PDF

harus menemukan tabel referensi silang dan objek khusus lainnya. Semua

aplikasi pembaca PDF harus memulai membaca dari akhir bagian file.

Berikut adalah contoh dari trailer:

Dibawah ini adalah contoh hasil ekstraksi dari struktur PDF:

Gambar 2.2. Hasil Ekstraksi Struktur PDF

2.1.1. Malicious PDF

Seiring dengan banyaknya pemakaian file berformat PDF maka banyak

pula penyebaran malware melalui PDF. File PDF yang telah terjangkit malware,

dapat secara langsung mengganggu kinerja dari suatu sistem jika file tersebut

dijalankan. Dampak dari hal tersebut sering kali tidak disadari oleh pengguna

awam. Dengan beberapa faktor diatas maka tidak dapat dianggap sepele agar

penyebaran dapat dicegah.

Dalam kasus ini dokumen PDF memiliki beberapa cara untuk

menanamkan data didalam file dokumen PDF. Sebagai contoh penyalahgunaan

dalam penanaman kode yang berbahaya adalah terdapat aliran konten “content

Trailer << /Size 22 /Root 2 0 R /Info 1 0 R >> Startxref 24212 %%EOF

Page 4: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

8

stream” yang merujuk tidak kepada isi atau konten dari dokumen yang asli

melainkan merujuk pada tautan video, audio, maupun URL. Hal ini juga dapat

didukung oleh JavaScript sebagai teknik untuk penyebaran kode berbahaya.

Berikut adalah contoh teknik yang digunakan dalam penyebaran malware [5]:

1. Menanamkan aplikasi seperti aplikasi font, aplikasi flash atau JavaScript

yang dapat diakses melalui file PDF. Fitur ini juga dapat digunakan oleh

pengguna yang berbahaya untuk menyamarkan serangan dan tindakan

berbahaya lainnya. Saat pengguna membuka file PDF, PDF Reader juga

dapat menampilkan aplikasi flash secara langsung. Selain menanamkan

beberapa file diatas, juga memungkinkan dapat ditanamkan virus, worm, dan

juga kode berbahaya lainnya.

2. Eksploitasi Kerentanan sistem, ini berarti penyerang mengeksekusi kode

shell selayaknya pengguna resmi dari file PDF tersebut. Eksploitasi file PDF

memiliki dua jenis:

Berbasis JavaScript

Metode berbasis JavaScript lebih umum dan populer digunakan,

karena PDF berbasis JavaScript yang tertanam malware biasanya

hanya berupa teks dan lebih mudah untuk melewati kontrol

keamanan.

Berbasis Non-JavaScript

Metode ini juga biasa disebut metode berbasis flash yaitu

penanaman flash pada file PDF.

Dibawah ini adalah contoh penanaman JavaScript pada file PDF:

2 0 obj << /Type /Action /S /JavaScript /JS {app.a:ert({cMsg:’PDF JavaScript’ ,cTitle:})) >> endobj 3 0 obj << /Type /Catalog /Pages 1 0 R /OpenAction 2 0 R >>

Page 5: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

9

File PDF memiliki fitur yang sangat penting yaitu dapat dimodifikasi secara

keseluruhan, hal ini juga berarti sangat berbahaya apabila disalahgunakan

sebagaimana penjelasan diatas. Setiap pengguna yang tidak sah dapat memulihkan

beberapa informasi rahasia yang tersembunyi pada file PDF. Berikut adalah

gambaran dari file PDF yang telah dimodifikasi:

Gambar 2.3. Kiri adalah struktur file PDF asli, kanan adalah struktur file PDF yang

sudah dimodifikasi [2].

2.1.2. Fitur Malicious PDF

Dalam penelitian ini dibutuhkan fitur-fitur yang mendukung

pengidentifikasian file PDF malware. Fitur tersebut didapat dari ekstraksi

menggunakan program Pdfid.py. Fitur-fitur tersebut dibagi antara 2 kelompok,

antara lain[4]:

Page 6: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

10

1. Berdasarkan kelengkapan struktur

a) Obj dan EndObj

Kedua fitur ini seharusnya berjumlah sama untuk membuktikan

bahwa file tersusun sempurna.

b) Stream dan Endstream

Kedua fitur ini sama seperti Obj dan Endobj yang seharusnya

berjumlah sama.

c) Xref dan StartXref

Untuk kedua fitur ini haruslah ada nilainya unutk menandakan

bahwa file aman selain harus berjumlah sama.

d) Trailer

Apabila dalam fitur Trailer tidak ditemukan jumlah nilainya

menandakan file tidak sempurna dan berbahaya.

2. Berdasarkan fitur malicious PDF

a) Page

Hampir semua file PDF berbahaya hanya memiliki 1 halaman

bahkah tidak ada halaman dalam suatu file menjadikan fitur ini

sebagai patokan yang cukup tinggi untuk pengklasifikasian.

b) Encrypt

Untuk menyembunyikan kode yang berbahaya pada suatu file

ada beberapa cara salah satunya dengan cara dienkripsi, maka

ketika suatu file dienkripsi kemungkinan terdapat kode

berbahaya yang ditanamkan.

c) ObjStm

Object Stream pada suatu file dapat digunakan untuk

menyembunyikan tanda yang terkait dengan file PDF

berbahaya.

d) JS

Dalam beberapa contoh penyerangan dapat juga menggunakan

Java Script yang ditanamkan pada file PDF. Nilai fitur JS

adalah jumlah pernyataan Java Script satu baris dalam suatu

PDF.

Page 7: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

11

e) JavaScript

Nilai fitur JavaScript adalah jumlah blok pernyataan Java

Script dalam suatu PDF.

f) AA

AA merupakan fitur yang menandakan bahwa ketika file PDF

dijalankan maka dibutuhkan respon user untuk menjalankan

suatu perintah contohnya panel dengan tombol atau dengan link

URL.

g) OpenAction

Untuk fitur ini ada penggabungan dengan Java Script, ketika

file PDF dibuka maka Java Script langsung berjalan tanpa ada

respon dari user.

h) Acroform

Acroform dapat berisikan Java Script yang dijalankan tanpa

respon user ketika PDF dibuka.

i) JBIG2Decode

Fitur ini menandakan berapa kali filter JBIG2Decode

digunakan dalam suatu file. Filter ini digunakan dalam

serangan zero day pada file PDF.

j) RichMedia

RichMedia menandakan berapa jumlah blok konten Flash yang

ditanamkan pada file PDF.

k) Launch

Berapa banyak tempat dilakukannya upaya untuk menjalankan

sebuah program / script pada file PDF.

l) EmbeddedFile

Fitur EmbeddedFile menandakan berapa banyak file yang

ditanamkan pada PDF.

m) XFA

Fitur XFA menandakan berapa banyak XML digunakan pada

file PDF.

n) Colors>224

Page 8: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

12

Hasil deteksi jumlah nilai /Colors melebihi dari 224

pada file

PDF.

Berdasarkan fitur-fitur diatas dapat diambil nilai dari metadata sebagai

bahan pembuatan dataset, berikut adalah contoh proses ekstraksi metadata:

1. Proses pertama adalah pengumpulan file, dibawah ini adalah

beberapa contoh file PDF yang terjangkit malware.

Gambar 2.4. Contoh File PDF yang terjangkit malware.

2. Setelah file PDF terkumpul maka dapat dilakukan ekstraksi

menggunakan program Pdfid.py.

Gambar 2.5. Perintah ekstraksi file PDF menggunakan pdfid.py.

3. Hasil yang didapat dari ekstraksi metadata menggunakan pdfid.py

adalah nilai dari fitur yang dipakai sebagai pembuatan dataset.

Page 9: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

13

Gambar 2.6. Hasil ekstraksi file PDF menggunakan pdfid.py.

2.2. Klasifikasi

Dalam identifikasi file PDF malware pada penelitian ini menggunakan

metode klasifikasi file berdasarkan fitur-fitur PDF malware. Teknik klasifikasi

yang dipakai adalah menggunakan Machine Learning, dalam pembuatan Machine

Learning dapat menggunakan tool salah satu contohnya adalah Weka. Proses

klasifikasi juga membutuhkan data latih serta data uji yang memiliki total jumlah

500 data. Metode klasifikasi yang dipakai ada 2 macam yaitu Support Vector

Machine dan Random Forest.

2.2.1. Support Vector Machine (SVM)

Gambar 2.7. Ilustrasi Penentuan Hyperplane

Support Vector adalah data yang paling berdekatan dari kedua kelas yang

berbeda sebagaimana dijelaskan pada Gambar 2.7. Disini didapat 2 Support

Vector dari kelas a dan kelas b, bisa disebut S1 dan S2. Melihat dari posisi data

tersebut kita dapat menentukan nilai masing-masing Support Vector:

Page 10: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

14

( ) (

). Setelah posisi Support Vector ditemukan dapat ditentukan

dengan menambahkan nilai bias (b) 1: ( ) (

). Selanjutnya

ditambahkan 2 parameter berdasarkan jumlah S yaitu untuk

mendeskripsikan kelas[8][9]:

(karena Support Vector 1 berada pada kelas -1) (1)

(karena Support Vector 1 berada pada kelas +1) (2)

Berikut adalah penjelasan rumus diatas:

1. adalah nilai dari sudut garis.

2. adalah nilai bias dari subset yang mewakili suatu kelas.

Dari persamaan diatas dapat dimasukan nilai dari masing-masing bias:

( ) (

) (

) (

)

( ) (

) (

) (

)

2 persamaan diatas didapat nilai , selanjutkan

dapat dihitung letak dari hyperplane dengan rumus [10] [11]:

∑ (3)

Berikut adalah penjelasan rumus diatas:

1. adalah nilai bias dari persamaan garis.

2. adalah nilai dari sudut garis.

3. adalah nilai bias dari subset yang mewakili suatu kelas.

Subtitusi nilai yang didapat kedalam rumus tersebut:

( ) (

) ( ) (

) ( ) (

)

(

) (

) (

)

Page 11: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

15

Untuk menentukan garis hyperplane dihitung menggunakan rumus persamaan

garis[10]:

(4)

Berikut adalah penjelasan rumus diatas:

1. adalah nilai dari poros garis y.

2. adalah nilai dari persamaan garis.

3. adalah nilai dari poros garis x.

4. adalah nilai bias.

(

)

2.2.2. Random Forest

Random Decision Forest merupakan kombinasi dari banyak pohon

keputusan, dan keakuratan algoritma ini tergantung dengan individu pohon

keputusan tersebut [3]. Secara sederhana, algoritma pembentukan Random Forest

sebagaimana dijelaskan dibawah ini:

Gambar 2.8. Pembagian secara acak dari Tabel Data Besar

Dari Gambar 2.8 dijelaskan sejumlah data besar yang akan digunakan

sebagai data klasifikasi, dan dibagi secara acak untuk dijadikan Subset Random

Forest. Didapatkan 3 subset tree yang diambil secara acak sebagai pembentukan

Random Forest:

[

]

[

]

[

]

Page 12: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

16

Jumlah daun dari tree bergantung dari jumlah fitur yang akan dipakai,

sebagai contoh digunakan 4 fitur sebagaimana yg ada dalam Gambar 2.8. Setiap

Subset (S) digunakan untuk pembentukan 1 tree.

2.3. Metode Pengujian

Setelah proses klasifikasi dari metode Support Vector Machine dan

Random Forest didapat hasil klasifikasi dari file yang tertanam malware dan

tidak. Setelah itu dicari akurasi untuk masing-masing klasifikasi. Rumus

perhitungan yang digunakan untuk menghitung akurasi hasil klasifikasi

menggunakan Confusion Matrix [6] yang terdiri dari:

1. Accuracy (AC)

Accuracy adalah perbandingan kasus yang diidentifikasi benar

dengan jumlah semua kasus.

(5)

2. Recall atau True positive rate (TPR)

Recall adalah proporsi kasus positif yang diidentifikasi dengan

benar.

(6)

3. False positive rate (FPR)

False positive rate adalah kasus positif yang diidentifikasi dengan

salah.

(7)

4. True negative rate (TNR)

True negative rate adalah kasus negatif yang diidentifikasi dengan

benar.

(8)

5. False negative rate (FNR)

False negative rate adalah kasus negatif yang diidentifikasi dengan

salah.

(9)

Page 13: BAB II LANDASAN TEORIeprints.umm.ac.id/47758/3/BAB II.pdf · 5 BAB II LANDASAN TEORI. 2.1. Portable Document Format (PDF) PDF merupakan file dokumen yang banyak dipakai pada berbagai

17

6. Precision (P)

Precision adalah proporsi kasus dengan hasil positif yang benar.

(10)

Dibawah ini adalah penjelasan dari nilai rumus-rumus diatas:

1. AC adalah nilai dari accuracy

2. TPR adalah nilai dari rata-rata hasil benar dari prediksi positif.

3. FPR adalah nilai dari rata-rata hasil salah dari prediksi positif.

4. TNR adalah nilai dari rata-rata hasil benar dari prediksi negatif.

5. FNR adalah nilai rata-rata hasil salah dari prediksi negatif.

6. P adalah nilai dari precision.

7. TP adalah nilai benar dari prediksi positif.

8. FP adalah nilai salah dari prediksi positif.

9. TN adalah nilai benar dari prediksi negatif.

10. FN adalah nilai salah dari prediksi negatif.

Tabel 2.1. Tabel Confusion Matrix

Prediksi

Positif Negatif

Aktual Positif TP FN

Negatif FP TN