PENGEMBANGAN METRIK KEAMANAN JARINGAN...
-
Upload
nguyentuyen -
Category
Documents
-
view
249 -
download
0
Transcript of PENGEMBANGAN METRIK KEAMANAN JARINGAN...
PENGEMBANGAN METRIK KEAMANAN JARINGAN KOMPUTER
BERBASIS GRAF UNTUK MENINGKATKAN KEAMANAN
JARINGAN KOMPUTER
DISERTASI
Karya tulis sebagai salah satu syaratuntuk memperoleh gelar Doktor dari
Institut Teknologi Bandung
Oleh
TITO WALUYO PURBOYO
NIM : 33210002
(Program Studi S3 Teknik Elektro dan Informatika)
INSTITUT TEKNOLOGI BANDUNG2015
i
ABSTRAK
PENGEMBANGAN METRIK KEAMANAN JARINGAN
KOMPUTER BERBASIS GRAF UNTUK MENINGKATKAN
KEAMANAN JARINGAN KOMPUTER
Oleh
Tito Waluyo Purboyo
NIM : 33210002
Suatu jaringan komputer dapat terdiri dari host klien maupun host server. Padasetiap host dapat ditemukan satu vulnerabilitas atau lebih. Konektivitas antar hostdinyatakan dalam bentuk matriks keterhubungan. Vulnerabilitas pada setiap hostdapat dinyatakan dalam bentuk himpunan. Kemudian attack rules dapatdinyatakan dalam bentuk matriks. Privilege penyerang pada setiap host dapatdinyatakan dalam bentuk ruang privilege status.
Pada disertasi ini dihasilkan sebuah algoritma untuk menghasilkan graf seranganstatus. Algoritma graf serangan status ini menghasilkan tabel perhitungan statuskinerja jaringan. Dari tabel perhitungan status kinerja jaringan ini dapatdikonstruksi tiga jenis graf serangan yaitu graf serangan status, graf serangan hostdan graf serangan vulnerabilitas. Ketiga jenis graf serangan ini dikonstruksi secaramanual menggunakan graphviz. Hasil perhitungan status dalam bentuk tabeldibaca oleh program Matlab sehingga dapat dihitung metrik-metrik keamananjaringan berbasis graf.
Dalam disertasi ini dikembangkan metrik keamanan jaringan berbasis grafserangan yang dapat digunakan untuk mengevaluasi keamanan suatu jaringan.Metrik keamanan jaringan berbasis graf serangan ini digunakan secara bersamaansehingga membentuk grup metrik keamanan jaringan berbasis graf serangan.Selanjutnya, grup metrik keamanan jaringan berbasis graf serangan inilah yangdigunakan untuk mengevaluasi suatu jaringan komputer.
Proses evaluasi terhadap suatu jaringan komputer dilakukan dengan mengukurmetrik keamanan jaringan. Dalam penelitian ini digunakan metode untukmenghasilkan graf serangan yang mempertimbangkan kinerja jaringan dan dapatdipakai sebagai alat untuk menganalisis vulnerabilitas jaringan. Metode inimembuat graf serangan memiliki kemampuan tambahan dalam hal mengukur efekserangan yang dilihat dari penurunan kinerja jaringan. Selanjutnya pemilihankombinasi countermeasure dilakukan berdasarkan kebutuhan pengguna.Banyaknya kombinasi countermeasure meningkat secara eksponensial jikabanyaknya vulnerabilitas pada tiap host meningkat.
ii
Pada penelitian disertasi ini telah dihasilkan algoritma untuk menghasilkan grafserangan status, graf serangan host dan graf serangan vulnerabilitas. Metrikkeamanan jaringan berbasis graf juga telah dihasilkan. Framework untukmengevaluasi dan meningkatkan keamanan jaringan yang dihasilkan dalampenelitian disertasi digunakan sebagai acuan dalam melaksanakan percobaan.
Beberapa kesimpulan telah dihasilkan berdasarkan percobaan yang dilakukandalam penelitian disertasi ini. Grup metrik keamanan berbasis graf serangan dapatdigunakan untuk mengevaluasi keamanan jaringan dari suatu jaringan komputer.Peningkatan jumlah host dan vulnerabilitas pada jaringan menyebabkanpenurunan keamanan jaringan. Graf host dan graf vulnerabilitas dapat dihasilkanmenggunakan model dalam disertasi ini.
Kata kunci: Network Security Metrics, Attack Graph, Network Hardening.
iii
ABSTRACT
DEVELOPMENT OF COMPUTER NETWORK SECURITY
METRIC BASED ON ATTACK GRAPH USED TO IMPROVE
COMPUTER NETWORK SECURITY
By
Tito Waluyo Purboyo
NIM : 33210002
A computer network can consist of client hosts and server hosts. On each host canbe found one or more vulnerabilities. Connectivity between hosts expressed in theform of connectedness matrix. Vulnerability on any host can be expressed interms of the set. Then attack rules can be include expressed in the form of aconnectedness matrix. Attacker privilege on any host can be expressed in the formof status privileged space.
In this dissertation we produce an algorithm to generate an attack graph. Thisattack graph algorithm generate calculation table of network performance status.From this calculation table of network performance status, it can be constructedthree types of attack graph these are status attack graph, host attack graph andvulnerability attack graph. These types of attack graphs are constructed manuallyusing graphviz. Status calculation results in tabular form readable by a Matlabprogram so that the attack graph-based network security metrics can be calculated.
In this dissertation, the attack graph-based network security metrics weredeveloped that can be used to evaluate the security of a network. Attack graph-based network security metrics are used simultaneously so it form a group ofattack graph-based network security metrics. Furthermore, group of attack graph-based network security metrics are used to evaluate a computer network.
The evaluation process of a computer network is performed by measuring networksecurity metrics. In this study, the method used to produce the attack graph thattake into account the network performance and can be used as a tool to analyzenetwork vulnerabilities. This method makes attack graph have additionalcapabilities in terms of measuring the effect of the attack seen from the decline innetwork performance. Furthermore, the choosing of countermeasures combinationis done based on user requirements. If the number of vulnerabilities on each hostincreases, then the number of countermeasures combination increasesexponentially.
iv
In this research dissertation we produce an algorithm to produce a status attackgraph, host attack graphs and vulnerability attack graphs. Attack graph-basednetwork security metrics have also been produced. Framework to evaluate andimprove the security of the network resulting in this research is used as areference in carrying out the experiment.
Some conclusions have been generated based on experiments conducted in thisresearch dissertation . Security Metrics Group based on Attack Graph can be usedto evaluate the network security of a computer network. Increasing the number ofhosts and vulnerabilities on the network led to a decrease in the level of networksecurity. Hosts graph and vulnerabilities graph can be generated using a model inthis dissertation.
Kata kunci : Network Security Metrics, Attack Graph, Network Hardening.
v
PENGEMBANGAN METRIK KEAMANAN JARINGAN
KOMPUTER BERBASIS GRAF UNTUK MENINGKATKAN
KEAMANAN JARINGAN KOMPUTER
Oleh
Tito Waluyo Purboyo
NIM : 33210002
(Program Studi S3 Teknik Elektro dan Informatika)
Institut Teknologi Bandung
Menyetujui
Tim Pembimbing
Tanggal ………………………..
Ketua
___________________________
(Prof. Dr. Ir. Kuspriyanto)
Anggota Anggota
_______________________ _______________________
(Dr. Ir. Budi Rahardjo) (Dr. Intan Detiena)
vi
Dipersembahkan kepada Ultah Dianawati, Rafi dan Ghani
vii
PEDOMAN PENGGUNAAN DISERTASI
Disertasi Doktor yang tidak dipublikasikan terdaftar dan tersedia di Perpustakaan
Institut Teknologi Bandung, dan terbuka untuk umum dengan ketentuan bahwa
hak cipta ada pada pengarang dengan mengikuti aturan HaKI yang berlaku di
Institut Teknologi Bandung. Referensi kepustakaan diperkenankan dicatat, tetapi
pengutipan atau peringkasan hanya dapat dilakukan seizin pengarang dan harus
disertai dengan kebiasaan ilmiah untuk menyebutkan sumbernya.
Memperbanyak atau menerbitkan sebagian atau seluruh disertasi haruslah seizin
Direktur Program Pascasarjana, Institut Teknologi Bandung.
viii
UCAPAN TERIMA KASIH
Dengan menyebut nama Allah SWT Penulis memanjatkan syukur tak terhingga
atas terselesaikannya buku disertasi ini. Sebuah proses belajar yang panjang sejak
mencari landasan teori untuk berpijak dan memulai langkah, menyusun bangunan
logika, penyusunan dan pengolahan data, hingga pengambilan kesimpulan,
menjadi sesuatu yang tidak mungkin dilakukan tanpa izin dan kekuasaan-Nya.
Penulis sangat berterima kasih pada Prof. Dr. Ir. Kuspriyanto sebagai ketua Tim
Pembimbing dan Ir. Budi Rahardjo, M.Sc, Ph.D dan Dr. Muchtadi Intan Detiena
sebagai anggota Tim Pembimbing atas segala saran, bimbingan dan nasehatnya
selama penelitian berlangsung dan selama penulisan disertasi ini.
Penulis juga berterima kasih atas saran, kritik dan nasihat dari Prof. Armein Z.R.
Langi, Dr. Yoga Priyana, Dr. Emir Mauludi Husni, Dr. Maman Abdurohman
sebagai reviewer dan penguji .
Terima kasih disampaikan kepada Institut Teknologi Bandung atas bantuan
Beasiswa Voucher ITB pada semester 3 s.d. semester 6 yang diterima selama
pendidikan program doktor ini.
Terima kasih disampaikan kepada semua pihak yang telah memotivasi dan
mendukung penulis dalam penyusunan disertasi ini. Penulis menyadari bahwa
masih banyak kekurangan dalam penyampaian disertasi ini sehingga kritik dan
saran yang membangun sangat dibutuhkan untuk pengembangan ilmu penulis.
Demikian, semoga disertasi ini bermanfaat.
Bandung, Desember 2015
Tito Waluyo Purboyo
ix
DAFTAR ISI
ABSTRAK ............................................................................................................... i
ABSTRACT........................................................................................................... iii
PEDOMAN PENGGUNAAN DISERTASI......................................................... vii
UCAPAN TERIMA KASIH................................................................................ viii
DAFTAR ISI.......................................................................................................... ix
DAFTAR GAMBAR DAN ILUSTRASI ............................................................. xii
DAFTAR TABEL................................................................................................ xiii
DAFTAR DEFINISI ............................................................................................ xiv
DAFTAR SINGKATAN DAN LAMBANG........................................................ xv
Bab I Pendahuluan ........................................................................................... 16
I.1 Latar Belakang ....................................................................................... 16
I.2 Rumusan Masalah .................................................................................. 18
I.2.1 Metrik Keamanan Jaringan Berbasis Graf Serangan ...................... 18
I.2.2 Peningkatan Keamanan Jaringan Komputer ................................... 18
I.3 Tujuan Penelitian.................................................................................... 19
I.4 Kontribusi Penelitian.............................................................................. 19
I.5 Batasan Penelitian .................................................................................. 19
I.6 Premis dan Hipotesis .............................................................................. 19
I.6.1 Premis.............................................................................................. 19
I.6.2 Hipotesis.......................................................................................... 20
I.7 Metodologi Penelitian ............................................................................ 20
I.8 Sistematika Disertasi .............................................................................. 20
Bab II Studi Pustaka .......................................................................................... 22
II.1 Beberapa Definisi ................................................................................... 22
II.1.1 Keamanan........................................................................................ 22
II.1.2 Metrik dan Measurement ................................................................ 24
II.1.3 Metrik Keamanan............................................................................ 25
II.1.4 Metrik Keamanan Jaringan ............................................................. 26
II.1.5 Graf ................................................................................................. 27
II.2 Peta Jalan Penelitian............................................................................... 27
II.3 Konsep Network Hardening ................................................................... 35
x
II.4 Dataset/Database Vulnerabilitas ........................................................... 35
II.5 Vulnerabilitas Jaringan Komputer.......................................................... 37
II.5.1 Definisi Vulnerabilitas .................................................................... 37
II.5.2 Sumber Vulnerabilitas..................................................................... 38
II.6 Model Jaringan ....................................................................................... 38
Bab III Metrik Keamanan Jaringan................................................................. 42
III.1 Pengembangan Metrik Keamanan Jaringan ........................................... 42
III.1.1 Exploited Vulnerability Percentage (EVP)..................................... 42
III.1.2 Vulnerable Host Percentage (VHP)................................................ 42
III.2 Penentuan Grup Metrik Keamanan Berbasis Graf Serangan ................. 42
III.3 Kelebihan dan Kekurangan Metode Metrik yang Dikembangkan ......... 43
III.4 Tiga Jenis Graf yang Digunakan Dalam Penelitian Disertasi ................ 44
III.5 Framework Penelitian............................................................................. 44
III.6 Model Graf Serangan ............................................................................. 46
III.7 Biaya dan Resiko.................................................................................... 49
III.8 Perbandingan Metode Metrik ................................................................. 55
Bab IV Simulasi Penguatan Jaringan .............................................................. 57
IV.1 Jaringan Eksperimen........................................................................... 57
IV.2 Pemilihan Kombinasi Countermeasure .............................................. 72
IV.3 Beberapa Kasus Lain .......................................................................... 75
IV.3.1 Kasus I, Countermeasure: Vulnerabilitas V1 dihilangkan ............... 75
IV.3.2 Kasus II, Countermeasure: Vulnerabilitas V3 dan V4 dihilangkan .. 77
IV.3.3 Kasus III, Countermeasure: Vulnerabilitas V5 dihilangkan ............ 78
IV.3.4 Kasus IV, Countermeasure: Vulnerabilitas V6 dihilangkan ............ 80
IV.4 Diskusi dan Analisa ............................................................................ 80
IV.4.1 Kasus I, Vulnerabilitas V=0............................................................ 80
IV.4.2 Kasus II, Vulnerabilitas diantara Nol dan Tak Terhingga 0<V<∞ . 81
IV.4.3 Kasus III, Vulnerabilitas V=∞ ........................................................ 81
Bab V Kesimpulan dan Tindak Lanjut .............................................................. 82
V.1 Kesimpulan............................................................................................. 82
V.2 Tindak Lanjut ......................................................................................... 83
Daftar Pustaka ....................................................................................................... 85
RIWAYAT HIDUP............................................................................................... 88
xi
DAFTAR LAMPIRAN
Lampiran 1 Flowchart Inisiasi Data...................................................................... 90Lampiran 2 Flowchart Implementasi Attack Rules .............................................. 91Lampiran 3 Keluaran Program Komputer............................................................. 92Lampiran 4 Listing Program Komputer................................................................ 93
xii
DAFTAR GAMBAR DAN ILUSTRASI
Gambar I.1. Jaringan Komputer............................................................................ 16Gambar II.1 Kerangka Kerja Percobaan (Idika, 2010) ......................................... 31Gambar II.2. Model Jaringan Flat ......................................................................... 39Gambar II.3. Model Jaringan Eksternal-internal .................................................. 39Gambar II.4. Model Jaringan Eksternal DMZ Internal ........................................ 39Gambar II.5: Model Graf Serangan ...................................................................... 40Gambar II.6. Contoh Graf Akses Host dan Nilai Metrik ...................................... 41Gambar III.1. Framework Evaluasi dan Peningkatan Keamanan Jaringan .......... 45Gambar III.2. Penjelasan Data Jaringan................................................................ 46Gambar IV.1. Jaringan Eksperimen...................................................................... 57Gambar IV.2. Attack Graph untuk Jaringan Eksperimen ..................................... 61Gambar IV.3. Tabel Vulnerabilitas untuk Jaringan Eksperimen .......................... 62Gambar IV.4. Matriks Keterhubungan untuk Jaringan Eksperimen..................... 62Gambar IV.5. Matriks Attack Rules untuk Jaringan Eksperimen ......................... 63Gambar IV.6. Status pada Attack Graph untuk Jaringan Eksperimen.................. 63Gambar IV.7. Attack Graph untuk Jaringan Eksperimen ..................................... 64Gambar IV.8. Grafik Biaya Total terhadap Konfigurasi Countermeasure ........... 74Gambar IV.9. Grafik Resiko terhadap Konfigurasi Countermeasure .................. 74Gambar IV.10. Grafik TC ternormalisasi dan R ternormalisasi terhadap
konfigurasi countermeasure ..................................................... 75Gambar IV.11. Graf Serangan Status jika vulnerabilitas V1 dihilangkan ............. 76Gambar IV.12. Graf Serangan Host jika vulnerabilitas V1 dihilangkan ............... 76Gambar IV.13. Graf Serangan Vulnerabilitas jika vulnerabilitas V1 dihilangkan 77Gambar IV.14. Graf Serangan Status jika vulnerabilitas V3 dan V4 dihilangkan.. 77Gambar IV.15. Graf Serangan Host jika vulnerabilitas V3 dan V4 dihilangkan.... 77Gambar IV.16. Graf Serangan Vulnerabilitas jika vulnerabilitas V3 dan V4
dihilangkan ............................................................................... 78Gambar IV.17. Graf Serangan Status jika vulnerabilitas V5 dihilangkan ............. 79Gambar IV.18. Graf Serangan Host jika vulnerabilitas V5 dihilangkan ............... 79Gambar IV.19. Graf Serangan Vulnerabilitas jika vulnerabilitas V5 dihilangkan 79Gambar IV.20. Graf Serangan Status jika vulnerabilitas V6 dihilangkan ............. 80Gambar IV.21. Graf Serangan Host jika vulnerabilitas V6 dihilangkan ............... 80
xiii
DAFTAR TABEL
Tabel II.1. Peta Jalan Penelitian Metrik Keamanan Berbasis Graf Serangan....... 30Tabel II.2. Contoh Grup Metrik Keamanan Berbasis Graf Serangan (Idika, 2010)
.................................................................................................. 31Tabel II.3. Vulnerabilitas Remote-To-Root yang Ditemukan oleh Oval (Ingols, K.,
Chu, M. Lippmann, R., Webster, S., Boyer, S., 2009) ............. 36Tabel III.1. Aturan Klasifikasi untuk VPN ........................................................... 48Tabel III.2. Nilai peluang Lji ................................................................................. 51Tabel III.3. Vulnerabilitas, Bugtraq ID dan informasi dampak Ii ......................... 53Tabel III.4. Daftar generik dari security countermeasure untuk vulnerabilitas dan
threat yang teridentifikasi (Viduto, V.; Maple, C.; Huang, W.and López-Peréz, D., 2012) ...................................................... 54
Tabel III.5. Nilai zLi .............................................................................................. 54Tabel III.6. Keterkaitan antara Threat dan Vulnerabilitas .................................... 55Tabel III.7. Perbandingan Metode Metrik............................................................. 56Tabel IV.1. Vulnerabilitas pada Jaringan Eksperimen.......................................... 58Tabel IV.2. VPN untuk Jaringan Eksperimen....................................................... 59Tabel IV.3. Status Tiap Node pada Graf Serangan ............................................... 60Tabel IV.4. Data Vulnerabilitas dan Dampak Terhadap CIA............................... 66Tabel IV.5. Data Threat dan Vulnerabilitas yang Dapat Dieksploitasi ................ 67Tabel IV.6. Nilai Kemungkinan Lji bahwa Threat akan Mengeksploitasi
Vulnerabilitas............................................................................ 68Tabel IV.7. Data Countermeasure ........................................................................ 68Tabel IV.8. Data Countermeasure dan Vulnerabilitas.......................................... 69Tabel IV.9. Data Biaya untuk Setiap Countermeasure yang Diterapkan ............. 69Tabel IV.10. Data yang digunakan untuk menghitung TIR .................................. 70Tabel IV.11. Proses Perhitungan Resiko Awal Total (TIR).................................. 70Tabel IV.12. Proses Perhitungan Faktor Pengurang Resiko ................................. 70Tabel IV.13. Proses Perhitungan Biaya Total dan Resiko.................................... 71Tabel IV.14. Beberapa Himpunan Countermeasure, Biaya Total dan Resiko ..... 73
xiv
DAFTAR DEFINISI
Attack graph Suatu abstraksi yang mewakili cara penyerang dalammenggunakan saling ketergantungan di antara ancaman untukmelanggar kebijakan keamanan.
Attack path Sebuah urutan langkah-langkah yang dimulai dari keadaanawal penyerang untuk menyerang host tujuan (pelanggarankebijakan keamanan) dalam graf serangan.
Breach Pelanggaran kebijakan keamanan.
Countermeasure Tindakan yang dilakukan untuk menghilangkan setidaknya satuancaman dari sistem.
Entity Sebuah sistem komputer, proses, orang, atau koleksi darientitas yang ada.
Exploit Contoh ancaman menentukan prasyarat dan syarat sebuahancaman dengan rincian dari jaringan yang diteliti.
Hardening Memberikan perlindungan untuk entitas
Security Proses penyediaan kenyamanan, integritas dan ketersediaanuntuk entitas berdasarkan kebijakan-kebijakan keamanan yangberlaku.
Security control Pengendalian keamanan.
Security metric Nilai yang dihasilkan dari pengukuran dapat mengidentifikasientitas atribut mempengaruhi keamanan fisik, personil, IT, atauoperasional.
Security policy Persyaratan yang spesifik untuk keadaan jaringan yang aman.
Vulnerability Kelemahan dalam sistem yang dapat dieksploitasi olehpenyerang.
xv
DAFTAR SINGKATAN DAN LAMBANG
SINGKATAN Nama Pemakaianpertama kalipada halaman
TC
TI
TIR
ROI
NVD
OSVDB
CVE
SHP
SVP
SWPP
EVP
VHP
Total cost
Teknologi informasi
Resiko awal total
Return on investment
National vulnerability database
Open system vulnerability database
Common vulnerability exposure
(Shortest Host Path) Metric.
(Shortest Vulnerability Path) Metric.
(Shortest Worst Performance Path) Metric.
(Exploited Vulnerability Percentage) Metric.
(Vulnerable Host Percentage) Metric.
16
16
17
21
27
27
27
41
41
41
41
41
16
Bab I Pendahuluan
I.1 Latar Belakang
Dalam suatu jaringan komputer (Gambar 1.1) terdapat banyak host (workstation,
laptop, file server, database server dan lainnya) yang mungkin memiliki banyak
lubang keamanan. Berbagai lubang keamanan ini dapat dimanfaatkan oleh
penyusup untuk masuk ke dalam jaringan. Akibatnya dapat terjadi kecelakaan
keamanan (security incidents) yang dapat menyebabkan kehilangan (losses) yang
besar bagi suatu organisasi (bukan hanya direct losses tetapi juga kehilangan
reputasi dan hubungan baik outsourcing). Dalam disertasi ini akan dilakukan
pengembangan metrik untuk mengukur keamanan jaringan. Metrik keamanan
jaringan yang akan dikembangkan terdiri dari dua jenis metrik yaitu metrik yang
tidak berbasis graf serangan dan metrik berbasis graf serangan. Secara lebih detil
tentang metrik ini akan dibahas pada bagian selanjutnya.
Gambar I.1. Jaringan Komputer
17
Salah satu jenis metrik keamanan yang berkaitan erat dengan analisis keamanan
suatu organisasi adalah metrik keamanan berbasis graf serangan (Idika, 2010).
Graf serangan merupakan sebuah abstraksi yang menggambarkan cara penyerang
dalam melanggar kebijakan keamanan dengan cara memanfaatkan saling
ketergantungan diantara berbagai vulnerabilitas yang ada. Walaupun sejumlah
metrik keamanan berbasis graf serangan telah diajukan dalam literatur yang ada
(Idika, 2010) (Wang, L. Islam, T. Long, T. Singhal, A. Jajodia, S., 2008), namun
belum ada penelitian dan analisis tentang bagaimana metrik keamanan berperilaku
terhadap perubahan ukuran jaringan (jumlah host). Pada penelitian disertasi ini
diteliti bagaimana metrik keamanan berbasis graf serangan berperilaku dalam
merespon perubahan jumlah host (ukuran jaringan) pada beberapa model jaringan.
Perilaku setiap metrik akan digambarkan dalam bentuk sebuah grafik. Setiap
grafik yang dihasilkan akan dinyatakan dalam bentuk persamaan matematika.
Dalam disertasi ini juga dipaparkan bagaimana proses untuk mendapatkan metrik
yang akan diajukan sebagai kebaruan. Metrik keamanan berbasis graf serangan
yang baru ini dihasilkan berdasarkan kriteria penentuan metrik yang baik.
Beberapa metrik yang telah dihasilkan sebelumnya (misalnya Network
Compromise Percentage Metric) juga mengilhami bagaimana metrik keamanan
berbasis graf serangan yang baru ini dapat ditemukan.
Metrik-metrik keamanan berbasis graf serangan yang baru merupakan kombinasi
dari berbagai metrik yang berbeda. Kombinasi metrik keamanan berbasis graf
serangan yang dipilih ini berdasarkan kesederhanaan bentuknya dan kemudahan
dalam menganalisis metrik tersebut.
Dalam disertasi ini juga dilakukan penelitian mengenai bagaimana cara
menentukan suatu evaluasi terhadap keamanan suatu jaringan. Proses evaluasi
keamanan jaringan ini menggunakan metrik-metrik keamanan berbasis graf
serangan. Selain evaluasi keamanan terhadap suatu jaringan, dapat juga dilakukan
evaluasi terhadap dua jaringan atau lebih sehingga keamanan jaringan dari dua
buah konfigurasi jaringan dapat dibandingkan.
18
Pada bagian akhir dari penelitian disertasi ini akan dilakukan peningkatan
keamanan jaringan yang dilakukan dengan menggunakan prinsip menghilangkan
atau mengurangi vulnerabilitas pada jaringan. Prinsip penghilangan atau
pengurangan vulnerabilitas ini dilakukan dengan menggunakan metode kombinasi
countermeasure.
Setiap jenis countermeasure yang diterapkan untuk menghilangkan suatu
vulnerabilitas membutuhkan biaya tertentu. Dari berbagai jenis countermeasure
ini akan dilakukan pemilihan yang paling optimal sesuai dengan kebutuhan
pengguna. Jadi masalah yang diselesaikan adalah permasalahan prioritas untuk
memilih kelompok countermeasure yang paling optimal berdasarkan kebutuhan
pengguna untuk melakukan peningkatan keamanan jaringan (network hardening).
I.2 Rumusan Masalah
I.2.1 Metrik Keamanan Jaringan Berbasis Graf Serangan
Pada jaringan komputer terdapat vulnerabilitas yang ada pada host di jaringan.
Vulnerabilitas ini memungkinkan penyusup untuk masuk ke dalam jaringan
komputer. Urutan vulnerabilitas yang dilalui oleh penyusup dapat digambarkan
menjadi suatu graf serangan. Metrik keamanan jaringan yang diukur dari graf
serangan disebut metrik keamanan berbasis graf serangan. Bagaimana mengukur
keamanan jaringan menggunakan metrik keamanan berbasis graf serangan
merupakan masalah yang diteliti dalam disertasi ini. Metrik keamanan berbasis
graf serangan perlu dikembangkan untuk melengkapi metrik-metrik keamanan
yang bisa digunakan untuk mengukur keamanan jaringan.
I.2.2 Peningkatan Keamanan Jaringan Komputer
Pada suatu jaringan komputer terdapat berbagai vulnerabilitas yang tersebar pada
host-host di jaringan. Berkaitan dengan berbagai vulnerabilitas ini perlu penelitian
mengenai kaitannya dengan peningkatan keamanan jaringan komputer.
Bagaimana proses peningkatan keamanan jaringan komputer berkaitan dengan
19
adanya berbagai vulnerabilitas ini menjadi bahan kajian dalam penelitian disertasi
ini.
I.3 Tujuan Penelitian
Tujuan dari penelitian disertasi ini adalah mengembangkan framework, metode,
metrik untuk mengevaluasi keamanan jaringan komputer dan meningkatkan
keamanan jaringan komputer.
I.4 Kontribusi Penelitian
Kontribusi disertasi ini adalah sebagai berikut.
1. Framework evaluasi keamanan jaringan.
2. Membangun graf serangan melalui proses pemodelan jaringan yang
ditinjau, matriks vulnerabilitas, matriks konektivitas.
3. Metrik-metrik keamanan jaringan.
4. Analisis tentang perilaku metrik terhadap perubahan jumlah host dan
vulnerabilitas.
5. Algoritma untuk membangun graf serangan status.
I.5 Batasan Penelitian
Disertasi ini difokuskan pada pencarian metrik-metrik keamanan jaringan yang
berkaitan dengan keberadaan vulnerabilitas pada jaringan. Metrik-metrik
keamanan yang diusulkan tersebut terdiri dari dua jenis metrik yaitu metrik tidak
berbasis pada graf serangan dan metrik berbasis graf serangan. Metrik-metrik
keamanan ini digunakan sebagai bagian dari metode evaluasi keamanan jaringan.
I.6 Premis dan Hipotesis
I.6.1 Premis
1. Graf serangan merupakan abstraksi yang menggambarkan cara penyerang
memanfaatkan vulnerabilitas yang ada pada setiap host di jaringan
komputer.
20
2. Metrik keamanan berbasis graf serangan dapat digunakan untuk
mengevaluasi keamanan jaringan.
I.6.2 Hipotesis
1. Peningkatan jumlah host dan vulnerabilitas pada jaringan menyebabkan
penurunan tingkat keamanan jaringan.
2. Graf host dan graf vulnerabilitas dapat dihasilkan menggunakan model
graf status.
3. Grup Metrik Keamanan berbasis Graf Serangan dapat digunakan untuk
mengevaluasi keamanan jaringan komputer.
I.7 Metodologi Penelitian
Metodologi penelitian disertasi sebagai berikut:
1. Studi pustaka yang berkaitan dengan metode untuk mengevaluasi
keamanan jaringan, metrik keamanan khususnya metrik keamanan
berbasis graf serangan, serta mempelajari penelitian sebelumnya yang
berkaitan dengan keamanan jaringan.
2. Menyusun framework untuk mengevaluasi keamanan jaringan.
3. Melakukan pengujian melalui simulasi.
4. Melakukan analisis pengujian dan membuktikan hipotesis.
5. Merumuskan kontribusi penelitian.
I.8 Sistematika Disertasi
Disertasi ini disusun menurut sistematika sebagai berikut:
Bab I Pendahuluan
Bab ini menguraikan tentang latar belakang topik penelitian, permasalahan,
batasan masalah, premis dan hipotesis, metodologi penelitian dan sistematika
disertasi.
Bab II Studi Pustaka
21
Bab ini memuat studi pustaka dari berbagai sumber yaitu buku, jurnal dan paper.
Beberapa definisi penting yang berkaitan dengan keamanan, graf, peta jalan
penelitian juga dibahas dalam bab ini.
Bab III Metrik Keamanan Jaringan
Bab ini menguraikan metrik keamanan jaringan yang diajukan dan konsep-konsep
lain yang diperlukan.
Bab IV Simulasi Penguatan Jaringan
Bab ini membahas tentang simulasi yang dilakukan mulai dari jaringan
eksperimen dan representasinya sampai dengan proses penguatan jaringan.
Bab V Kesimpulan dan Tindak Lanjut
Bab ini berisi kesimpulan tentang hasil-hasil yang diperoleh dari penelitian
disertasi ini dan tindak lanjut untuk penelitian tahap berikutnya.
Pada bab pertama ini telah dibahas latar belakang penelitian, rumusan masalah,
batasan masalah, premis dan hipotesis, metodologi penelitian dan sistematika
disertasi. Pembahasan telah mencakup berbagai hal mendasar sebagai tahap awal
dalam penelitian disertasi yang dikerjakan.
22
Bab II Studi Pustaka
II.1 Beberapa Definisi
II.1.1 Keamanan
Keamanan adalah suatu proses menyediakan confidentiality (kerahasiaan),
integritas dan availability (ketersediaan) terhadap suatu entitas berdasarkan suatu
policy (kebijakan) (Hayden, 2010).
Aspek / servis dari keamanan secara lebih lengkap yaitu (Rahardjo, 2005):
1. Privacy/confidentiality
Inti utama aspek privacy atau confidentiality adalah usaha untuk menjaga
informasi dari orang yang tidak berhak mengakses. Privacy lebih kearah data-
data yang sifatnya privat sedangkan confidentiality biasanya berhubungan
dengan data yang diberikan ke pihak lain untuk keperluan tertentu (misalnya
sebagai bagian dari pendaftaran sebuah servis) dan hanya diperbolehkan untuk
keperluan tertentu tersebut.
2. Integrity
Aspek ini menekankan bahwa informasi tidak boleh diubah tanpa seijin
pemilik informasi. Adanya virus, trojan horse, atau pemakai lain yang
mengubah informasi tanpa ijin merupakan contoh masalah yang harus
dihadapi.
3. Authentication
Aspek ini berhubungan dengan metoda untuk menyatakan bahwa informasi
betul-betul asli, orang yang mengakses atau memberikan informasi adalah
betul-betul orang yang dimaksud, atau server yang kita hubungi adalah betul-
betul server yang asli.
4. Availability
Aspek availability atau ketersediaan berhubungan dengan ketersediaan
informasi ketika dibutuhkan. Sistem informasi yang diserang atau dijebol
dapat menghambat atau meniadakan akses ke informasi. Contoh hambatan
adalah serangan yang sering disebut dengan “denial of service attack” (DoS
attack), dimana server dikirimi permintaan (biasanya palsu) yang bertubi-tubi
23
atau permintaan yang diluar perkiraan sehingga tidak dapat melayani
permintaan lain atau bahkan sampai down, hang, crash.
5. Access Control
Aspek ini berhubungan dengan cara pengaturan akses kepada informasi. Hal
ini biasanya berhubungan dengan klasifikasi data (public, private,
confidential, top secret) & user (guest, admin, top manager, dsb.), mekanisme
authentication dan juga privacy.
6. Non-Repudiation
Aspek ini menjaga agar seseorang tidak dapat menyangkal telah melakukan
sebuah transaksi. Sebagai contoh, seseorang yang mengirimkan email untuk
memesan barang tidak dapat menyangkal bahwa dia telah mengirimkan email
tersebut.
Keamanan berkaitan erat dengan threat (ancaman) dan vulnerabilitas. Dalam
(Furnell, S.M.; Katsikas, S.; Lopez, J. and Patel, A., 2008), pengertian threat dan
vulnerabilitas adalah sebagai berikut.
Ancaman adalah suatu kondisi lingkungan yang mempunyai potensi
menyebabkan kehilangan atau kemacetan.
Jenis threat dapat dibedakan menjadi:
1. Ancaman fisik (misalnya kebakaran, banjir, kegagalan bangunan atau
kegagalan daya).
2. Ancaman peralatan (misalnya CPU, jaringan, atau kegagalan media
penyimpanan).
3. Ancaman manusia (misalnya kesalahan operator atau desain, pencurian
sumber daya).
Vulnerabilitas adalah pengaruh kemungkinan suatu ancaman menjadi kenyataan
dan berhubungan dengan kelemahan pada sistem yang mungkin tereksploitasi dan
menyebabkan kehilangan atau kemacetan.
Jenis vulnerabilitas dapat dibedakan menjadi:
1. Vulnerabilitas infrastruktur atau lingkungan:
24
a. Kurangnya perlindungan fisik bangunan, pintu dan jendela (dapat
dieksploitasi oleh pencuri);
b. Ketidakcukupan access control pada ruangan (dapat dieksploitasi oleh
yang tidak berhak);
c. Grid daya tidak stabil (dapat menghasilkan kegagalan daya).
2. Vulnerabilitas hardware:
a. Ketidaktahanan terhadap perubahan temperatur (dapat menyebabkan
kelebihan panas);
b. Kurangnya perawatan media penyimpanan (dapat menyebabkan kerusakan
media);
c. Kurangnya kendali perubahan secara efisien (dapat dieksploitasi oleh staf
operasonal).
3. Vulnerabilitas software:
a. Rumitnya user interface (dapat menyebabkan kesalahan user);
b. Kurangnya otentikasi (dapat dieksploitasi oleh yang tidak berhak);
c. Kurangnya audit (dapat dieksploitasi oleh pengguna software yang tidak
berhak).
4. Vulnerabilitas komunikasi:
a. Jalur komunikasi tidak terlindungi (dapat dieksploitasi oleh penyusup);
b. Lalu lintas sensitif tidak terlindungi (dapat dieksploitasi oleh penyusup);
c. Koneksi jaringan publik tidak terlindungi (dapat dieksploitasi oleh
pengguna yang tidak berhak).
5. Vulnerabilitas pegawai:
a. Pekerjaan tidak terawasi oleh pekerja luar (dapat dieksploitasi oleh
pencuri);
b. Tidak cukupnya pelatihan keamanan (dapat menyebabkan kesalahan
pengguna).
II.1.2 Metrik dan Measurement
Definisi metrik menurut (Idika, 2010) adalah nilai yang memfasilitasi
pengambilan keputusan dan diturunkan dari pengukuran.
25
Menurut (Hayden, 2010) metrik adalah hasil sedangkan measurement adalah
aktivitas. Pengukuran adalah aktivitas suatu pelaksanaan observasi dan
pengumpulan data dalam usaha untuk memperoleh pandangan praktis terhadap
apa yang sedang dicoba untuk dipahami. Pengumpulan data keamanan sangatlah
penting untuk melaksanakan program keamanan yang efektif. Namun jika tanpa
konteks untuk data tersebut dan ide tentang alasan mengapa data itu dikumpulkan
dan untuk tujuan apa data itu dikumpulkan, maka keterbatasan dalam
menggambarkan pengukuran tersebut akan terbatas hanya pada istilah terabytes
dari data log dan volume rak yang ditempati oleh laporan auditor.
Dalam (Jaquith, 2007 dan Purboyo, T.W.; Rahardjo, B.; Kuspriyanto, 2011),
metrik adalah standar yang konsisten untuk suatu pengukuran. Metrik yang baik
seharusnya dapat diukur secara konsisten, murah memperolehnya, dinyatakan
dalam bilangan kardinal atau persentase, dinyatakan oleh sedikitnya satu satuan
pengukuran, spesifik kontekstual (cukup relevan dengan pengambil keputusan
sehingga dapat diambil suatu keputusan).
Dalam (Swanson, M.; Bartol, N.; Sabato, J.; Hash, J. and Graffo, L.i, 2003),
metrik adalah tools yang didesain untuk memfasilitasi pengambilan keputusan dan
mengembangkan kinerja dan akuntabilitas melalui pengumpulan, analisis dan
pelaporan data yang relevan.
II.1.3 Metrik Keamanan
Idika dalam (Idika, 2010) menyatakan bahwa metrik keamanan adalah nilai-nilai
yang dihasilkan dari pengukuran suatu atribut entitas (yang telah diidentifikasi)
yang mempengaruhi keamanan fisik, personil, IT atau operasional.
Krautsevich dalam (Krautsevich, L.; Martinelli, F.; Yautsiukhin, A.; 2010)
menyatakan bahwa metrik keamanan adalah tools untuk menyediakan informasi
yang benar dan terkini tentang keadaan (state) dari keamanan. Informasi ini
sangat penting untuk mengelola keamanan secara efisien.
Metrik keamanan dapat diklasifikasikan menjadi beberapa kategori yaitu
(Herrmann, 2002):
26
Return on investment (ROI) metric.
Resiliency metric.
Compliance metric.
ROI metric mengukur keuntungan moneter suatu organisasi melalui sumber daya
yang didedikasikan terhadap kendali keamanan.
Resiliency metric mengukur kemampuan suatu organisasi untuk memelihara
layanan yang dapat diterima dengan kehadiran suatu serangan atau kegagalan.
Compliance metric mengukur seberapa baiknya suatu organisasi dalam mematuhi
aturan atau standar.
II.1.4 Metrik Keamanan Jaringan
Metrik keamanan jaringan adalah nilai-nilai yang dihasilkan dari pengukuran
suatu atribut entitas (yang dapat diidentifikasi) pada suatu jaringan yang
mempengaruhi keamanan fisik, personil, IT atau operasional (Idika, 2010).
Metrik keamanan jaringan dapat dibagi menjadi dua kategori (Idika, 2010) yaitu
kelas primer dan kelas sekunder.
Kelas primer dari metrik keamanan jaringan adalah architectural-based metric
dan performance-based metric.
Kelas sekunder dari metrik keamanan jaringan yaitu time-based metric,
probability-based metric dan complexity-based metric.
Architectural-based metric mengukur atribut internal dari suatu jaringan. Atribut
internal jaringan misalnya layanan yang tersedia pada jaringan, konektivitas dari
host-host pada jaringan, dan vulnerabilitas. Metric keamanan berbasis graf
serangan termasuk ke dalam kategori architectural-based metrics.
Performance-based network security metrics mengukur atribut eksternal jaringan.
Atribut eksternal jaringan misalnya kinerja manusia (human performance).
27
Probability-based network security metrics menggunakan probabilitas untuk
memperoleh hasil yang diinginkan. Probabilitas dapat menyatakan suatu
kemungkinan jaringan diserang, penyerang memilih suatu aksi, penyerang
berhasil menembus kebijakan keamanan, atau penyerang mengeksploitasi
vulnerabilitas tertentu. Probabilitas tersebut boleh memasukkan faktor sulitnya
mengeksploitasi suatu vulnerabilitas. Kemungkinan ini menyebabkan mengapa
perlu dibahas probabilitas dan kompleksitas secara bersamaan.
Time-based network security metrics menghasilkan suatu nilai waktu sebagai
hasil. Time-based network security metrics digunakan untuk mengukur seberapa
cepat suatu jaringan atau organisasi dapat ditembus atau seberapa cepat jaringan
atau organisasi dapat merespon suatu serangan.
II.1.5 Graf
Graf adalah struktur diskrit yang berisi titik-titik dan sisi-sisi dimana sisi-sisi
tersebut menghubungkan titik-titik yang bersesuaian. Jadi, sebuah graf dinyatakan
oleh dua himpunan yaitu himpunan titik (V) dan himpunan sisi (E).
Sebuah graf G=(V,E) yang terdiri dari V, himpunan tak kosong berisi titik-titik
(nodes) dan E, himpunan yang berisi sisi-sisi (edges). Setiap sisi memiliki satu
atau dua titik yang berasosiasi dengan sisi tersebut yang disebut titik akhir
(endpoints). Sebuah sisi menghubungkan titik-titik akhirnya.
Graf yang berisi infinite vertices V disebut infinite graph sedangkan graf yang
berisi finite vertices V disebut finite graph. Pada disertasi ini digunakan finite
graph.
Graf berarah (directed graph) atau graf (V,E) berisi himpunan tidak kosong titik-
titik V dan himpunan sisi-sisi berarah (atau arc) E. Setiap sisi berarah berasosiasi
dengan pasangan terurut titik-titik. Sisi berarah yang diasosiasikan dengan
pasangan terurut (u,v) dikatakan berawal di u dan berakhir di v.
II.2 Peta Jalan Penelitian
Peta Jalan Penelitian Metric Keamanan Berbasis Graf Serangan dapat dilihat pada
Tabel II.1. Network Compromise Percentage (NCP) didefinisikan sebagai
28
prosentase host pada jaringan yang dapat diakses oleh penyerang menggunakan
akses level user atau administrator (Lippmann, R.; Ingols, K.; Scott, C.;
Piwowarski,; Kratkiewicz, K.; Artz, M. and Cunningham, R., 2006).
Pada (Wang, L.; Singhal, A. and Jajodia, S., 2007) diajukan metrik Attack
Resistance untuk mengevaluasi dan membandingkan dua jaringan dengan
konfigurasi yang berbeda. Attack Resistance (AR) dari suatu konfigurasi jaringan
didefinisikan sebagai komposisi dari pengukuran exploit individu (Wang, L.;
Singhal, A. and Jajodia, S., 2007). Wang dkk. dalam (Wang, L.; Singhal, A. and
Jajodia, S., 2007) menjelaskan bahwa sistem komputer masa kini menghadapi
intrusi dimana berbagai vulnerabilitas dapat dikombinasikan untuk mencapai
tujuan penyerangan. Keamanan secara menyeluruh pada suatu sistem komputer
tidak bisa secara sederhana ditentukan berdasarkan banyaknya vulnerabilitas.
Untuk mengukur keamanan suatu sistem jaringan, hal pertama yang harus
dimengerti adalah bagaimana vulnerabilitas dikombinasikan untuk menghasilkan
sebuah serangan. Pemahaman seperti ini dimungkinkan dengan adanya pemodelan
komposisi vulnerabilitas sebagai graf serangan.
Attack Graph-based Probabilistic (AGP) didefinisikan sebagai graf serangan yang
mempunyai nilai pada setiap exploit atau kondisi dimana nilai ini menyatakan
kemungkinan penyerang memanfaatkan suatu exploit (Wang, L.; Islam, T.; Long,
T.; Singhal, A. and Jajodia, S., 2008). Dalam (Wang, L.; Islam, T.; Long, T.;
Singhal, A. and Jajodia, S., 2008), Wang dkk. menjelaskan bahwa untuk
melindungi sumber daya yang penting dalam lingkungan jaringan, maka
diperlukan cara untuk mengkuantifikasi kemungkinan multi-step attack yang
potensial untuk dikombinasikan berbagai vulnerabilitas. Hal ini dimungkinkan
dengan adanya graf serangan. Paper ini mengajukan attack graph-based
probabilistic metric untuk keamanan jaringan dan meneliti komputasinya secara
efisien.
Expected Risk (ER) untuk suatu layanan didefinisikan sebagai hasil kali dari
peluang terjadinya sedikitnya satu dari vulnerabilitas baru akan mempengaruhi
29
layanan pada periode waktu berikutnya dan nilai harapan dari keriskanan
(severity) vulnerabilitas (Ahmed, M. S.; Al-Shaer, E. and Khan, E., 2008).
Security Risk (SR) didefinisikan sebagai metrik yang diukur berdasarkan faktor-
faktor banyaknya lintasan serangan, jarak lintasan serangan dan banyaknya jenis
exploit dalam lintasan serangan (Chen, F.; Liu, A.; Zhang, Y. and Su, J., 2010).
Shortest Path (SP) didefinisikan sebagai lintasan serangan terpendek yang bisa
dieksploitasi oleh penyerang untuk mencapai tujuan. Number of Path (NP)
didefinisikan sebagai banyaknya lintasan serangan yang terdapat pada suatu graf
serangan. Normalized Mean of Path Length (NMPL) didefinisikan sebagai rerata
panjang lintasan serangan yang dinormalisasi (dibagi oleh banyaknya lintasan
serangan). Standard Deviation of Path Length (SDPL) didefinisikan sebagai
standar deviasi dari panjang lintasan serangan yang terdapat pada suatu graf
serangan. Mode of Path Length (MoPL) didefinisikan sebagai modus dari panjang
lintasan serangan yang terdapat pada suatu graf serangan. Median of Path Length
(MePL) didefinisikan sebagai median dari panjang lintasan serangan yang
terdapat pada suatu graf serangan. K-step Capability Accumulation (KCA)
didefinisikan sebagai daya yang didapat oleh penyerang terhadap jaringan dalam
K langkah (Idika, 2010).
Exploited Vulnerability Percentage (EVP) didefinisikan sebagai prosentase
vulnerabilitas yang tereksploitasi pada jaringan. Vulnerable Host Percentage
(VHP) didefinisikan sebagai prosentase vulnerable host pada jaringan (Purboyo,
T.W., Rahardjo B., Kuspriyanto, Detiena I.M., 2012).
Pada disertasi (Idika, 2010) dibahas grup Metric Keamanan Berbasis Graf
Serangan digunakan untuk mengevaluasi keamanan suatu jaringan dan melakukan
peningkatan keamanan jaringan. Tabel II.2 berisi klasifikasi dari Metric
Keamanan Berbasis Graf Serangan yang diajukan dalam disertasi (Idika, 2010).
30
Tabel II.1. Peta Jalan Penelitian Metrik Keamanan Berbasis Graf Serangan
No. Peneliti/Tahun PenelitianMetrik yang
diajukan
Metode
Network
Hardening
Algoritma Kompleksitas
1.
Lippmann, R.; Ingols, K.;
Scott, C.; Piwowarski;
Kratkiewicz, K.; Artz, M.
and Cunningham, R., 2006)
Network
Compromise
Percentage
(NCP)
2.(Wang, L. Singhal, A.
Jajodia, S., 2007)
Attack
Resistance
(AR)
breadth-first O(| E |2
)
3.
(Wang, L. Islam, T. Long,
T. Singhal, A. Jajodia, S.,
2008)
Attack
Graph-based
Probabilistic
(AGP)
modified
breadth-first
search
(BFS)
5.(Ahmed, M. S.; Al-Shaer,
E. and Khan, E., 2008)
Expected
Risk (ER)
Network risk
measurement
framework
7.
(Ingols, K.; Chu, M.;
Lippmann, R.; Webster, S.
and Boyer, S., 2009)
NetSPA Reachability
8.(Chen, F.; Liu, A.; Zhang,
Y. and Su, J., 2010)Security Risk
Weighted
Greedy
Recursive,
weighted-
greedy
Recursive:
O(Mn-1
)
9. (Idika, 2010)
SP, NP,
NMPL,
SDPL,
MoPL,
MePL, K-
step
Capability
Accumulatio
n (KCA)
Program
Dinamis
Depth-first
search
O(nH2B)
O(nHKB)
10.(N. Idika, B. Marshall, and
B. Bhargava., Apr. 2009.)KCA
Program
Dinamis
Depth-first
search
O(nH2B)
O(nHKB)
11.
(Noel, S.; Jajodia, S.;
O’Berry, B. and Jacobs, M.,
2003)
Low Order
Polynomial
12.
(Purboyo, T.W.; Rahardjo,
B.; Kuspriyanto dan
Detiena, M.I., 2015)
SP, NMPL,
MePL, EVP,
VHP
User Based
Network
Hardening
Depth-first
search
31
Tabel II.2. Contoh Grup Metrik Keamanan Berbasis Graf Serangan (Idika, 2010)
Type MetricDecision SP Shortest Path
NP Number of PathsNMPL Normalized Mean of Path LengthsNCP Network Compromise PercentageWA Weakest AdversaryKCA K-step condition Accumulation
Assistive MPL Mean of Path LengthsSDPL Standard Deviation of Path LengthsMoPL Mode of Path LengthsMePL Median of Path Lengths
Gambar II.1 Kerangka Kerja Percobaan (Idika, 2010)
Pada Gambar II.1 dapat dilihat kerangka kerja percobaan (experiment framework)
yang dilakukan pada penelitian disertasi Idika (Idika, 2010). Pembangkit masukan
(Input Generator) menghasilkan file masukan untuk Mulval. Tiap masukan yang
dihasilkan yaitu input1.P, input2.P, input3.P,...,inputK.P, input(K+1).P,
32
input(K+2).P, ..., input(N-1).P, inputN.P masing-masing dimasukkan ke MulVal
untuk dibuatkan graf serangan yang bersesuaian. Pembangkit masukan ini
melakukan generate vulnerabilitas pada tiap host di jaringan. Setiap graf serangan
diukur menggunakan metrik keamanan jaringan berbasis graf. Metrik keamanan
berbasis graf ini dihitung oleh AG-based Security Metric Engine. Untuk setiap
graf serangan, nilai metrik keamanan berbasis graf disimpan dalam database.
Dalam (Lippmann, R.; Ingols, K.; Scott, C.; Piwowarski; Kratkiewicz, K.; Artz,
M. and Cunningham, R., October 2006) dijelaskan bahwa pertahanan secara
mendalam (Defense in depth) merupakan strategi umum yang menggunakan
beberapa lapis pertahanan untuk melindungi subnet kendali pengawasan dan
akuisisi data (Supervisory Control and Data Acquisition-SCADA) dan sumber
daya penting lainnya pada jaringan enterprise. Tools yang disebut NetSPA juga
dibahas. Tools ini dapat menganalisa aturan firewall dan vulnerabilitas yang
digunakan untuk mengkonstruksi graf serangan. Graf serangan ini dapat
menunjukkan bagaimana attacker dapat mengeksploitasi vulnerable host yang
terlihat dengan tujuan mencapai target. NetSPA menghasilkan graf serangan dan
secara otomatis menganalisanya untuk menghasilkan sekumpulan prioritas
rekomendasi untuk mengembalikan pertahanan secara mendalam. Percobaan
pada jaringan dengan jumlah host 3400 menunjukkan bahwa firewall seringkali
tidak menyediakan pertahanan secara mendalam yang disebabkan oleh kesalahan
konfigurasi dan vulnerabilitas yang tidak dihilangkan pada host. Pada semua
kasus, sejumlah kecil rekomendasi disajikan untuk mengembalikan pertahanan
secara mendalam. Simulasi pada jaringan yang memiliki 50.000 host
menunjukkan bahwa pendekatan ini terskalakan dengan baik untuk jaringan-
jaringan sebesar jaringan enterprise.
Dalam (Chen, F.; Liu, A.; Zhang, Y. and Su, J., 2010), Chen dkk. menjelaskan
bahwa graf serangan yang kompak secara implisit menunjukkan ancaman (threat)
dari multi-step attack dengan mencoba urutan yang mungkin dari eksploitasi yang
menyebabkan terkomprominya sumber daya yang penting pada jaringan
enterprise dengan ribuan host. Pada paper ini didiskusikan bagaimana
menganalisa graf serangan yang kompleks untuk mempertahankan keamanan
33
jaringan. Pengukuran resiko keamanan dari sumber daya kritis dijelaskan pada
paper ini. Solusi untuk menghilangkan vulnerabilitas agar sumber daya kritis tidak
bisa dikompromisasi dengan biaya minimal juga dibahas. Pendekatan terskala
dibuktikan mempunyai kompleksitas waktu polinomial dan dapat digunakan pada
graf serangan yang memiliki ribuan host pada jaringan enterprise.
Dalam (Ingols, K.; Chu, M.; Lippmann, R.; Webster, S. and Boyer, S., 2009),
Ingols dkk. menjelaskan bahwa dengan pengukuran secara akurat pada jaringan
enterprise, graf serangan memungkinkan defender jaringan untuk memahami
ancaman kritis dan memilih countermeasure yang paling efektif. Paper ini
menjelaskan peningkatan terhadap sistem graf serangan NetSPA yang diperlukan
untuk memodelkan ancaman terkini (eksploitasi zero day dan client-side attack)
dan countermeasure (sistem pencegahan intrusi, firewall proxy, firewall personal,
dan host-based vulnerability scan). Analisis terhadap jaringan dengan 85 host
menunjukkan bahwa client-side attack menemui ancaman serius. Waktu yang
dibutuhkan untuk menganalisis jaringan dengan 40.000 host yang dilindungi oleh
firewall personal adalah kurang dari dua menit.
Pada (Patel, 2009), Patel menjelaskan bahwa keamanan jaringan dan informasi
sangat krusial dalam menjaga infrastruktur informasi yang besar agar tetap aman.
Graf serangan merupakan tool untuk memodelkan keamanan jaringan yang
meninjau vulnerabilitas individu pada sudut pandang global dimana host individu
saling terhubung. Analisis terhadap informasi peringatan intrusi sangat penting
untuk mengevaluasi sistem. Karena sebagian besar peringatan muncul dari
intrusion detection system, maka menjadi sulit bagi ahli keamanan untuk
menganalisis peringatan individu (individual alerts). Para peneliti menangani
masalah ini dengan membuat cluster untuk peringatan individu seperti alamat IP
sumber, alamat IP tujuan, nomor port dan lainnya. Pada paper ini diajukan
metode yang berbeda untuk pengklasteran. Barisan peringatan intrusi disiapkan
dengan membagi peringatan berdasarkan pada interval waktu tertentu. Barisan
peringatan intrusi ditinjau sebagai graf serangan sementara. Barisan diklasterkan
mengggunakan teknik pengklasteran graf yang meninjau kemiripan dalam barisan
sebagai faktor untuk menentukan kedekatan barisan. Pendekatan yang disarankan
34
mengkombinasikan konsep graf serangan dan clustering pada barisan peringatan
menggunakan teknik pengklasteran graf.
Dalam (Homer, J., Varikuti, A.; Ou, X. and McQueen, M. A., 2008), Homer dkk.
menjelaskan bahwa berbagai tool yang ada untuk menganalisis sistem jaringan
perusahaan dan untuk menghasilkan graf serangan yang menggambarkan
bagaimana penyerang dapat menembus ke dalam sistem. Paper ini menyajikan
metodologi yang dapat 1) secara otomatis mengidentifikasi bagian dari graf
serangan yang tidak membantu pengguna untuk memahami masalah utama
keamanan, dan 2) secara otomatis mengelompokkan langkah serangan yang
serupa sebagai titik virtual pada model jaringan, untuk segera memudahkan
pemahaman terhadap data. Kedua metode tersebut sangat penting untuk
mengembangkan visualisasi graf serangan agar lebih berguna dalam manajemen
konfigurasi untuk jaringan perusahaan yang besar.
Dalam (Ahmed, M. S.; Al-Shaer, E. and Khan, E., 2008), Ahmed dkk.
menjelaskan bahwa evaluasi terhadap keamanan jaringan merupakan langkah
esensial dalam mengamankan jaringan. Evaluasi ini dapat membantu profesional
keamanan dalam menentukan keputusan yang optimal tentang bagaimana
mendesain countermeasure, memilih arsitektur keamanan alternatif, dan secara
sistematis mengubah konfigurasi keamanan agar keamanan meningkat.
Bagaimana pun, keamanan jaringan tergantung pada sejumlah faktor yang
berubah secara dinamis seperti penemuan vulnerabilitas dan ancaman baru,
struktur kebijakan dan lalu lintas jaringan. Identifikasi, kuantifikasi dan validasi
faktor-faktor tersebut menggunakan metrik keamanan adalah tantangan utama
dalam bidang tersebut. Pada paper ini diajukan kerangka kerja metrik keamanan
yang mengidentifikasi dan mengkuantifikasi faktor risiko keamanan yang paling
signifikan secara obyektif. Faktor-faktor ini mencakup vulnerabilitas yang ada,
kecenderungan historis vulnerabilitas dari layanan yang bisa diakses secara
remote, prediksi vulnerabilitas potensial untuk layanan jaringan umum, hingga
ketahanan kebijakan terhadap rambatan serangan pada jaringan. Selanjutnya
dibahas percobaan validasi secara menyeluruh menggunakan data vulnerabilitas
dari National Vulnerability Database (NVD) untuk menunjukkan akurasi yang
35
baik dari metrik yang diajukan. Beberapa penelitian terdahulu meninjau
vulnerabilitas menggunakan analisis kode. Bagaimana pun, penelitian ini adalah
yang pertama kali menggunakan informasi vulnerabilitas dan konfigurasi
kebijakan keamanan publik.
II.3 Konsep Network Hardening
Network hardening merupakan proses yang ditujukan pada vulnerabilitas security
jaringan dengan mengimplementasikan software patch, memperkenalkan sistem
security baru dan mengadopsi konfigurasi dan kebijakan operasi yang lebih baik.
Pada sesuatu yang bersifat dinamis, maka perubahan merupakan sesuatu yang
tidak dapat dihindari. Demikian halnya dengan lingkungan jaringan komputer.
Upgrade atau modifikasi pada arsitektur jaringan kadang-kadang dapat
mengekspos (atau menciptakan) lubang keamanan. Oleh karena itu, sangatlah
penting untuk mengevaluasi integritas infrastruktur jaringan secara teratur.
Sejalan dengan berkembangnya lingkungan jaringan, ancaman internal dan
eksternal juga akan muncul. Proses evaluasi terhadap keamanan perangkat keras
dan perangkat lunak jaringan dan prosesnya serta melakukan penyesuaian untuk
meningkatkan security jaringan disebut network hardening.
Hal utama dalam konsep network hardening adalah konsisten dalam mengevaluasi
layout dan konfigurasi jaringan. Ancaman keamanan selalu mengarah pada
pengeksploitasian vulnerabilitas pada lingkungan dengan perangkat keras,
perangkat lunak dan protokol keamanan yang usang (out-of-date).
Pemahaman tentang letak lubang keamanan pada jaringan merupakan langkah
esensial yang pertama menuju network hardening. Masalah pertama adalah
mengidentifikasi bahwa lubang keamanan itu ada. Tentu saja bukan hal yang bijak
menunggu sampai jaringan kita ditembus oleh penyusup.
II.4 Dataset/Database Vulnerabilitas
Pada Tabel II.3 disajikan data CVE ID yang diambil dari (Ingols, K.; Chu, M.;
Lippmann, R.; Webster, S., and Boyer, S., 2009).
36
Tabel II.3. Vulnerabilitas Remote-To-Root yang Ditemukan oleh Oval (Ingols, K.,Chu, M. Lippmann, R., Webster, S., Boyer, S., 2009)
CVEID
Description Client-side?
CVE-2004-0963
Buffer overflow in Microsoft Word 2002 (10.6612.6714) SP3, and possibly otherversions, allows remote attackers to cause a denial of service (applicationexception) and possibly execute arbitrary code in winword.exe via certainunexpected values in a .doc file, including (1) an offset that triggers an out-of-bounds memory access, (2) a certain value that causes a large memory copy astriggered by an integer conversion error, and other values.
Yes
CVE-2004-1153
Format string vulnerability in Adobe Acrobat Reader 6.0.0 through 6.0.2 allowsremote attackers to cause a denial of service (application crash) and possiblyexecute arbitrary code via an .ETD document containing format string specifiers in(1) title or (2) baseurl fields.
Yes
CVE-2006-2372
Buffer overflow in the DHCP Client service for Microsoft Windows 2000 SP4,Windows XP SP1 and SP2, and Server 2003 up to SP1 allows remote attackers toexecute arbitrary code via a crafted DHCP response.
Yes
CVE-2006-4691
Stack-based buffer overflow in the NetpManageIPCConnect function in theWorkstation service (wkssvc.dll) in Microsoft Windows 2000 SP4 and XP SP2allows remote attackers to execute arbitrary code via NetrJoinDomain2 RPCmessages with a long hostname.
No
CVE-2007-0065
Heap-based buffer overflow in Object Linking and Embedding (OLE) Automation inMicrosoft Windows 2000 SP4, XP SP2, Server 2003 SP1 and SP2, Vista, Office2004 for Mac, and Visual basic 6.0 SP6 allows remote attackers to execute arbitrarycode via a crafted script request.
Yes
CVE-2007-1204
Stack-based buffer overflow in the Universal Plug and Play (UPnP) service inMicrosoft Windows XP SP2 allows remote attackers on the same subnet to executearbitrary code via crafted HTTP headers in request or notification messages, whichtrigger memory corruption.
No
CVE-2008-0082
An ActiveX control (Messenger.UIAutomation.1) in Windows Messenger 4.7 and 5.1is marked as safe-for-scripting, which allows remote attackers to control theMessenger application, and "change state," obtain contact information, andestablish audio or video connections without notification via unknown vectors.
Yes
CVE-2008-0102
Unspecified vulnerability in Microsoft Office Publisher 2000, 2002, and 2003 SP2allows remote attackers to execute arbitrary code via a crafted .pub file, related toinvalid "memory values," aka "Publisher Invalid Memory Reference Vulnerability."
Yes
CVE-2008-3009
Microsoft Windows Media Player 6.4, Windows Media Format Runtime 7.1 through11, and Windows Media Services 4.1, 9, and 2008 do not properly use the ServicePrincipal Name (SPN) identifier when validating replies to authentication requests,which allows remote servers to execute arbitrary code via vectors that employNTLM credential reflection, aka "SPN Vulnerability."
Yes
CVE-2008-3010
Microsoft Windows Media Player 6.4, Windows Media Format Runtime 7.1 through11, and Windows Media Services 4.1 and 9 incorrectly associate ISATAP addresseswith the Local Intranet zone, which allows remote servers to capture NTLMcredentials, and execute arbitrary code through credential-reflection attacks, bysending an authentication request, aka "ISATAP Vulnerability."
Yes
Database vulnerabilitas diperlukan untuk keperluan analisis jalur serangan oleh
penyerang. Database vulnerabilitas juga diperlukan agar pengelolaan
vulnerabilitas dapat dilakukan. Pengelolaan vulnerabilitas misalnya dengan cara
mencari patch terhadap vulnerabilitas yang bersangkutan.
Database vulnerabilitas yang digunakan oleh para peneliti berbeda-beda. Hal ini
disebabkan model yang digunakan oleh para peneliti itu tidak sama. Alasan lain
37
digunakannya database vulnerabilitas adalah kesesuaian format database
vulnerabilitas dengan kebutuhan analisis pada masing-masing penelitian yang
berbeda.
Database vulnerabilitas yang digunakan dalam disertasi ini yaitu Bugtraq
Vulnerability Database yang dikeluarkan oleh vendor Security Focus.
Adapun Database vulnerabilitas yang dapat digunakan adalah:
1. National Vulnerability Database (NVD).
2. Open System Vulnerability Database (OSVDB).
3. Bugtraq Vulnerability Database.
4. Common Vulnerability Exposure (CVE).
II.5 Vulnerabilitas Jaringan Komputer
II.5.1 Definisi Vulnerabilitas
Vulnerabilitas sistem adalah kelemahan pada suatu software atau hardware pada
server atau client yang dapat dieksploitasi oleh penyusup untuk memperoleh akses
pada atau mematikan suatu jaringan. Donald Pipkin mendefinisikan vulnerabilitas
sistem sebagai suatu kondisi, kelemahan dari atau sebuah ketiadaan prosedur
keamanan, atau teknis, fisik atau kendali lainnya yang dapat dieksploitasi oleh
suatu ancaman (threat) (Hayden, 2010).
Vulnerabilitas tidak hanya ada pada hardware atau software yang mengatur
sistem komputer tetapi juga ada pada kebijakan dan prosedur, khususnya
kebijakan dan prosedur keamanan yang digunakan dalam sistem jaringan
komputer dan pada pengguna dan pegawai dari suatu sistem jaringan komputer.
Karena vulnerabilitas dapat ditemukan pada berbagai area sistem jaringan, maka
dapatlah dikatakan bahwa vulnerabilitas keamanan merupakan segala sesuatu
pada jaringan komputer yang mempunyai potensi untuk menyebabkan
tereksploitasi untuk memperoleh keuntungan tertentu. Selanjutnya dapat dilihat
berbagai sumber vulnerabilitas yang mungkin.
38
II.5.2 Sumber Vulnerabilitas
Vulnerabilitas software dapat dikategorikan menjadi:
1. Vulnerabilitas sistem operasi: Sistem operasi adalah sumber utama dari
semua vulnerabilitas yang dilaporkan. Berdasarkan pada SANS
(SysAdmin, Audit, Network, Security) Institute, organisasi pendidikan dan
kerjasama penelitian yang melayani professional security, auditor, sistem
administrator dan administrator jaringan, bersama dengan National
Infrastructure Protection Center (NIPC) milik FBI, diperoleh keterangan
bahwa 10 peringkat teratas dan 20 peringkat teratas tahunan dari
vulnerabilitas paling banyak disebabkan oleh sistem operasi yang sudah
populer. Hal ini dapat terjadi karena penyusup biasanya menggunakan rute
termudah dengan mengeksploitasi kelemahan yang paling dikuasai dan
menggunakan tool yang paling efektif dan paling banyak digunakan.
Berdasarkan pada laporan SANS/FBI tentang dua puluh satu laporan
teratas dinyatakan bahwa system operasi yang paling banyak diserang
adalah UNIX, LINUX, WINDOWS, OS/2 dan MacOS.
2. Vulnerabilitas Port-based: Selain sistem operasi, port layanan jaringan
menempati urutan kedua sumber vulnerabilitas sistem. Bagi para sistem
administrator, mengetahui daftar port yang paling vulnerable dapat
membantu proses meningkatkan keamanan sistem dengan cara menutup
port tersebut oleh firewall. Operasi tersebut, walaupun tidak
komprehensif, menambah lapisan keamanan tambahan pada jaringan. Pada
kenyataannya sangat disarankan agar memonitor semua port termasuk port
yang diblok untuk mengetahui kemungkinan penyusup dapat memasuki
sistem. Nomor port yang vulnerable dapat dilihat pada daftar 20 teratas
yang dikeluarkan oleh SANS/FBI di: http://www.sans.org/
3. Kesalahan (error) yang disebabkan oleh perangkat lunak aplikasi.
4. Software protocol system seperti browser server dan client.
II.6 Model Jaringan
Pengembangan model graf serangan akan digunakan untuk men-generate graf
serangan, menganalisis graf serangan dan meningkatkan status keamanan
39
jaringan. Pengembangan model graf serangan secara lebih detil dibahas pada Bab
IV.
Model-model jaringan yang dapat digunakan dapat dilihat pada gambar berikut
(Idika, 2010).
1. Model Jaringan Flat
Gambar II.2. Model Jaringan Flat
2. Model Jaringan Eksternal-internal
Gambar II.3. Model Jaringan Eksternal-internal
3. Model Jaringan Eksternal DMZ Internal
Gambar II.4. Model Jaringan Eksternal DMZ Internal
Model graf serangan yang digunakan dalam disertasi ini dijelaskan pada Bab III.
Setiap titik (node) menyatakan status (pada tipe graf status). Setiap titik (node)
menyatakan host (pada tipe graf akses host). Setiap titik (node) menyatakan
vulnerabilitas yang dieksploitasi (pada tipe graf vulnerabilitas). Setiap sisi (edge)
menyatakan host awal, host tujuan dan vulnerabilitas yang dieksploitasi (pada tipe
graf status). Setiap sisi (edge) menyatakan vulnerabilitas yang dieksploitasi (pada
40
tipe graf akses host). Setiap sisi (edge) menyatakan host awal menuju ke host
tujuan (pada tipe graf vulnerabilitas). Host dapat berupa komputer maupun
networking device. Model graf serangan tersebut dapat dilihat pada Gambar II.5.
Gambar II.5: Model Graf Serangan
Contoh graf akses host (graf jenis kedua yang digunakan dalam disertasi ini) dan
perhitungan metrik yang didasarkan pada graf akses host dapat dilihat pada
Gambar II.6. Ada dua lintasan dari attacker menuju ke target yaitu lintasan
pertama attacker-h1-h3-target dan lintasan kedua attacker-h2-h4-target. Lintasan
pertama mempunyai panjang 3 sisi yaitu e1+e3+e5 dengan asumsi panjang tiap
sisi adalah 1 satuan. Lintasan kedua mempunyai panjang 3 sisi yaitu e2+e4+e6
dengan asumsi panjang tiap sisi adalah 1 satuan. Jadi lintasan terpendeknya (SP)
adalah 3 satuan.
Rerata panjang lintasan (MPL) dari lintasan pertama dan kedua adalah jumlah
panjang kedua lintasan dibagi 2 yaitu 3 satuan.
Rerata panjang lintasan ternormalisasi (NMPL) yaitu rerata panjang lintasan
(MPL) dibagi oleh banyaknya lintasan. Jadi diperoleh NMPL sebesar 3/2.
Nilai tengah (median) MePL dari panjang lintasan pertama (panjang 3 satuan) dan
lintasan kedua (panjang 3 satuan) adalah 3 satuan. Jadi, MePL sebesar 3 satuan.
Asumsi yang digunakan untuk menghitung EVP dan VHP yaitu pada host h1, h2,
h3, h4 dan target masing-masing terdapat satu vulnerabilitas yang bisa
dieksploitasi secara remote. Karena setiap host pada graf serangan dilalui oleh
attacker, maka setiap vulnerabilitas yang ada pada setiap host dieksploitasi. Ada 5
vulnerabilitas yang dieksploitasi dari 5 buah vulnerabilitas. Jadi diperoleh EVP
sebesar 100% yaitu dengan cara membagi banyaknya vulnerabilitas tereksploitasi
(ada 5 vulnerabilitas masing-masing 1 vulnerabilitas di tiap host) dengan
banyaknya vulnerabilitas pada jaringan (dalam hal ini ada 5 vulnerabilitas).
Node 1 Node 2
Edge
41
Gambar II.6. Contoh Graf Akses Host dan Nilai Metrik
VHP dihitung sebagai berikut. Ada 5 host yang vulnerable pada jaringan yang
terdiri dari 5 host (tidak termasuk host attacker). Jadi VHP dihitung dengan
membagi banyaknya host yang vulnerable dengan banyaknya host pada jaringan.
Arti dari singkatan-singkatan pada Gambar II.6 adalah sebagaimana tercatum
dalam tanda kurung berikut. SP (Shortest Path), MPL (Mean of Path Length),
NMPL (Normalized Mean of Path Length), EVP (Exploited Vulnerability
Percentage), VHP (Vulnerable Host Percentage). Penentuan vulnerabilitas di host
menggunakan software Nessus sedangkan penentuan Exploited vulnerability di
host menggunakan Intrusion Detection System (IDS). Nilai-nilai metrik dari graf
serangan pada Gambar II.7 diperoleh melalui perhitungan secara manual dari
gambar. Untuk lintasan terpendek SP (Shortest Path) diperoleh SP=3 edges.
Metrik rerata panjang lintasan MPL (Mean of Path Length) diperoleh dengan
menjumlahkan kedua nilai panjang lintasan kemudian hasil penjumlahannya
dibagi dua (karena ada dua nilai panjang lintasan). Metrik NMPL (Normalized
Mean of Path Length) diperoleh dengan cara membagi MPL dengan banyaknya
lintasan (ada 2 lintasan). Metrik EVP (Exploited Vulnerability Percentage) dan
VHP (Vulnerable Host Percentage) dihitung dengan menggunakan rumus 3.1 dan
3.2.
Attacker
h1
e2
h2
Target
h3
e4
e1 e5
e6
h4
e3
SP = 3 edges, MPL = 3 edgesNMPL = 3/2, MePL = 3 edgesEVP = (5/5) x 100% = 100%VHP = (5/5) x 100% = 100%
42
Bab III Metrik Keamanan Jaringan
III.1 Pengembangan Metrik Keamanan Jaringan
Pada tahap ini dilakukan pengembangan Metrik Keamanan berbasis Graf
Serangan yang akan diajukan sebagai salah satu kebaruan. Metrik Keamanan
berbasis Graf Serangan yang akan diajukan sebagai salah satu kebaruan dapat
ditelaah pada penjelasan berikut.
III.1.1 Exploited Vulnerability Percentage (EVP)
Exploited Vulnerability Percentage dapat dihitung dengan menggunakan rumus
berikut:
ܧ =௨ ௨௧௦௧௦௧௦
௨ ௨௧௦௧௧∗ 100% (3.1)
EVP ini menggambarkan jumlah vulnerabilitas yang tereksploitasi pada suatu
jaringan. Semakin kecil EVP suatu jaringan maka semakin aman jaringan
tersebut.
III.1.2 Vulnerable Host Percentage (VHP)
Vulnerable Host Percentage dapat dihitung dengan menggunakan rumus berikut:
ܪ =௨ ௨ு௦௧
#ு௦௧௧௧∗ 100% (3.2)
VHP ini menggambarkan jumlah vulnerable host pada suatu jaringan. Semakin
kecil VHP suatu jaringan maka semakin aman jaringan tersebut.
III.2 Penentuan Grup Metrik Keamanan Berbasis Graf Serangan
Pada tahap ini dilakukan penentuan kelompok Metrik Keamanan Berbasis Graf
Serangan yang akan diajukan sebagai salah satu novelty. Kelompok baru ini terdiri
dari lima metrik baru (SHP, SVP, SWPP, EVP dan VHP). Kelompok Metrik
Keamanan Berbasis Graf Serangan yang akan diajukan sebagai salah satu
kebaruan yaitu:
1. SHP (Shortest Host Path) Metric.
2. SVP (Shortest Vulnerability Path) Metric.
3. SWPP (Shortest Worst Performance Path) Metric.
4. EVP (Exploited Vulnerability Percentage) Metric.
43
5. VHP (Vulnerable Host Percentage) Metric.
SHP Metric yaitu lintasan terpendek antar host yang dilalui penyerang untuk
mencapai host target. SHP Metric ini dihitung dengan menggunakan satuan edge.
SVP Metric yaitu lintasan terpendek antar vulnerabilitas yang dilalui penyerang
untuk mencapai host target. SVP Metric ini dihitung dengan menggunakan satuan
edge.
SWPP (Shortest Worst Performance Path) Metric yaitu lintasan terpendek pada
graf serangan status yang menyatakan kinerja jaringan terburuk.
EVP Metric yaitu prosentase dari exploited vulnerability pada suatu jaringan. EVP
ini menunjukkan perbandingan banyaknya vulnerabilitas yang tereksploitasi pada
suatu jaringan terhadap jumlah vulnerabilitas total pada suatu jaringan.
VHP Metric yaitu prosentase dari vulnerable host pada suatu jaringan. VHP ini
menunjukkan perbandingan banyaknya vulnerable host pada suatu jaringan
terhadap banyaknya host total pada jaringan tersebut.
III.3 Kelebihan dan Kekurangan Metode Metrik yang Dikembangkan
Kelebihan dari metode metrik yang dikembangkan oleh penulis adalah sebagai
berikut. Metode pembuatan graf serangan sudah melibatkan vulnerabilitas remote
maupun vulnerabilitas lokal. Berbeda dengan metode yang dikembangkan pada
disertasi (Idika, 2010) yang mengasumsikan bahwa vulnerabilitas yang ada pada
host merupakan vulnerabilitas remote. Jadi, metode yang dikembangkan oleh
penulis bersifat lebih umum jika dibandingkan dengan metode yang
dikembangkan pada disertasi (Idika, 2010). Kelebihan lain dari metode metrik
pada penelitian disertasi ini dapat dilihat dari graf serangan yang dihasilkan. Graf
serangan status yang dihasilkan pada disertasi ini menggambarkan kinerja
jaringan komputer pada saat tertentu. Jadi pada setiap titik pada graf serangan
status itu menunjukkan kondisi kinerja jaringan komputer.
44
Kekurangan metode metrik yang dikembangkan dalam penelitian disertasi ini
yaitu metode metrik yang dikembangkan masih berupa metode gabungan antara
metode komputasi menggunakan komputer dan metode perhitungan manual.
III.4 Tiga Jenis Graf yang Digunakan Dalam Penelitian Disertasi
Pada penelitian disertasi ini digunakan tiga jenis graf yang ditinjau dari arti titik
dan garis pada graf. Adapun ketiga jenis graf yang digunakan yaitu:
1. Graf Status
Pada graf status, setiap titik pada graf menyatakan status jaringan pada
saat tertentu. Setiap sisi pada graf menyatakan IP awal dan IP akhir yang
dilalui oleh attacker. Contoh graf status dapat dilihat pada Bab IV.
2. Graf Akses Host (Graf Host)
Pada graf akses host, setiap titik pada graf menyatakan host. Setiap sisi
pada graf akses host menyatakan vulnerabilitas yang dieksploitasi. Contoh
graf akses host dapat dilihat pada Bab IV.
3. Graf Vulnerabilitas
Pada graf vulnerabilitas, setiap titik pada graf menyatakan vulnerabiltas
yang dieksploitasi. Setiap sisi pada graf menyatakan host awal dan host
akhir dari setiap eksploitasi terhadap vulnerabilitas. Contoh graf
vulnerabilitas dapat dilihat pada Bab IV.
III.5 Framework Penelitian
Framework penelitian yang dihasilkan didasarkan pada reasoning sebagai berikut.
Threat adalah sesuatu yang dapat terjadi atau hasil dari serangan terhadap satu
atau lebih aset. Vulnerabilitas adalah karakteristik dari aset yang dituju yang
membuat aset tersebut lebih rentan diserang oleh threat atau membuat suatu
serangan lebih berpeluang untuk berhasil atau memiliki dampak. Threat
mengeksploitasi vulnerabilitas yang menyebabkan tereksposnya suatu aset.
Countermeasure didesain untuk mencegah suatu threat terjadi atau mengurangi
dampak dari suatu threat jika threat itu terjadi. Aset merupakan target dari suatu
45
threat untuk diekspos. Aset merupakan penerima dari suatu countermeasure. Aset
adalah sesuatu yang harus dilindungi.
Berdasarkan pada reasoning yang dikemukakan pada paragraf di awal Sub Bab
III.4, pada penelitian disertasi ini telah dihasilkan suatu framework (Purboyo &
Kuspriyanto, 2013) evaluasi dan peningkatan keamanan jaringan yang dapat
dilihat pada Gambar III.1.
Gambar III.1. Framework Evaluasi dan Peningkatan Keamanan Jaringan
Framework (Purboyo & Kuspriyanto, 2013) yang diajukan tersebut
diimplementasikan dengan menggunakan metode yang dikembangkan oleh para
peneliti lain (Zhao, Wang, Zhang, & Zheng, 2009) (Idika, 2010) (Viduto, 2012)
dengan beberapa improvisasi dan penambahan oleh penulis. Penjelasan tentang
data jaringan dapat dilihat pada Gambar III.2.
AttackGraph
Generator
OptimalNetwork
Hardening
NetworkSecurityHardener
NetworkTopology Data
FirewallRules
AttackGraph
Reducer
NetworkVulnerability
Data
NetworkSecurityExtractor
NetworkSecurityEvaluator
NetworkAsset Data
NetworkModel
NetworkData
46
Gambar III.2. Penjelasan Data Jaringan
III.6 Model Graf Serangan
Graf serangan digunakan untuk menggambarkan semua status keamanan yang
mungkin pada jaringan dan hubungan diantara status-status keamanan tersebut.
Graf serangan dinyatakan oleh sekumpulan titik dan sisi.
Misalkan G adalah graf serangan, S adalah himpunan dari semua status yang
mungkin, E adalah himpunan dari attack path yang mungkin. Suatu graf serangan
dapat dinotasikan sebagai
ܩ = { ௧ݏ,ݏ|ܧ, {ܣ, (3.3)
dimana A={V,R,K} adalah attack action yang merupakan komposisi dari
vulnerabilitas (V), attack rules (R), dan konektivitas (K) diantara host, so adalah
status awal, st adalah status hasil pada suatu tahap attack.
Berdasarkan asumsi monotonicity, state hasil lebih baik dari state awal ditinjau
dari sudut pandang penyerang. Privilege penyerang terdiri dari tiga tingkat yaitu
“access”, “user”, dan “root”. Seseorang tidak mempunyai privilege terhadap suatu
host yang tidak bisa dicapai (unreachable).
Definisi 1
FirewallRule
VulnerabilityDatabase
NetworkTopology
Data
NetworkAsset Data
NetworkVulnerability
DataNetwork
Data
CVE OSVDB NVD
Reachability
Connectivity
IP Data
Adjacency
OVAL
Nessus Retina
McAfee Foundscan
Asset Inventory
Altiris
Symantec Discovery
Secure Sidewinder
Checkpoint
47
(Ruang Status Privilege) Himpunan privilege penyerang pada semua host (n host)
pada jaringan dinyatakan sebagai status privilege penyerang dan dinotasikan
sebagai
= ,ଶ,ଵ} … {, (3.4)
Semua status privilege yang dilewati penyerang membentuk ruang status privilege
(RSP) penyerang.
Definisi 2
(Matriks Koneksi) Matriks koneksi (K) digunakan untuk menggambarkan
keterhubungan (konektivitas) diantara host-host pada jaringan, dinotasikan
sebagai
ܭ = ൦
ଵଵ ଵଶ ⋯ ଵ
ଶଵ ଶଶ ⋯ ଶ
⋮ ⋮ ⋱ ⋮
ଵ ଶ ⋯
൪ (3.5)
dimana kij bernilai 1 jika host i dan host j terhubung, selain itu kij bernilai 0.
Elemen diagonal dalam matriks K selalu bernilai 1 yang berarti bahwa titik
tersebut terkoneksi dengan dirinya sendiri.
Definisi 3
(Attack Rules) Attack Rules (R) adalah kelompok elemen yang menggambarkan
preconditions, difficulties dan effects. Sebuah Attack Rules dinotasikan sebagai
= ൛{ݑݒ ݑݏݒݎ, ݓ ݑݐݒݎ, ݓ ݑݐݒݎ, ݎ}{ ݑݏ ݏ ݐݏ}{ݏ _ݏݑݐ ℎ ൟ{ݏݑݎ_
(3.6)
Dimana nvul adalah nomor vulnerabilitas, privsumaw dan privtujaw adalah
privilege terendah yang harus dimiliki oleh penyerang pada host awal dan host
tujuan untuk melakukan attack. Privtujak adalah peningkatan privilege pada host
tujuan, probsukses adalah probabilitas sukses dari serangan tersebut,
status_chg_rules menggambarkan perubahan rules untuk status-status pada
jaringan.
48
Definisi 4
(Virtual Performance Node) Kinerja jaringan bisa berubah karena adanya intrusi
atau serangan. Dengan mempertimbangkan loss of performance untuk mengukur
attack effect, maka Virtual Performance Node (VPN) didefinisikan sebagai
= } ,ଵݎ ,ଶݎ … , {ݎ (3.7)
Klasifikasi performance peri mengacu pada Symantec threat level definition
sebagaimana dapat dilihat pada Tabel III.1.
Tabel III.1. Aturan Klasifikasi untuk VPN
Value Loss of Performance Attack Effect Levels
-1 <10% Low
0 10%-25% Medium
1 25%-85% High
2 >85% Extreme
Dengan menentukan VPN sebagai titik pada graf serangan, maka setiap atomic
attack dibangun berdasarkan attack yang terjadi sebelumnya. Dengan demikian
setiap lintasan pada graf serangan merupakan lintasan terpendek dan ruang status
graf serangan menjadi lebih sederhana.
Algoritma untuk membangun graf serangan berdasarkan pada VPN tersebut
adalah sebagai berikut (Zhao, Wang, Zhang, & Zheng, 2009).
Algoritma: Membangun_Graf_Serangan (H,R,s0)
Input: atribut host (H), attack rules (R), status awal (s0)
Output: Graf Serangan
01 | Begin
02 | Status_que ← s0 (Buat antrian status jaringan Status_que)
03 | For i:=1 to n
04 | For j:=1 to n
05 | If i=!j then
06 | Check R (Periksa attack rules R)
49
07 | s0 ← s0
08 | Plot edge and node
09 | End
Algoritma membangun graf serangan dalam bentuk narasi adalah sebagai berikut.
Mulai
1. Langkah 1. Buat antrian status jaringan, sebutlah status_que dan
tambahkan s0 ke dalam status_que.
2. Langkah 2. Ambil status selanjutnya dari status_que. Pindah ke langkah 3
jika status berikutnya belum ada, atau keluar.
3. Langkah 3.
a. Ambil setiap host sebagai sumber serangan, dan setiap host sebagai
target serangan pada suatu waktu.
b. Jika nilai dalam matriks keterhubungan untuk kedua host (mungkin
kedua host itu adalah host yang sama) bernilai 1, periksa attack rules
dan identifikasi attack rules yang harus dilaksanakan.
c. Eksekusi serangan berdasarkan attack rules yang bersesuaian
kemudian buatlah status baru. Jika status baru itu tidak ada dalam
antrian, maka tambahkan status itu ke dalam antrian.
d. Buatlah code graphviz untuk memplot graf serangan dari status
sebelumnya ke status baru. Probabilitas dari serangan ini dapat
diketahui dari attack rules (R).
e. Pindah ke langkah 2 setelah setiap host dicoba.
Selesai
Algoritma baru dalam bentuk flowchart untuk mengimplementasikan attack rules
dapat dilihat pada Lampiran A dan Lampiran B.
III.7 Biaya dan Resiko
Dalam penelitian ini, fungsi obyektif ditentukan untuk memfasilitasi pemilihan
security countermeasure. Pemilihan security countermeasure ini merupakan tahap
akhir dari proses penilaian resiko (risk assessment). Proses pemilihan security
50
countermeasure ini dinyatakan sebagai persoalan dengan dua fungsi obyektif
yaitu biaya total (TC) dan resiko (R). Parameter-parameter berikut digunakan
dalam menyelesaikan persoalan pemilihan security countermeasure untuk suatu
sistem teknologi informasi (TI). Parameter-parameter tersebut dinyatakan secara
matematis:
S –himpunan security countermeasure {S1, ..., Sk},
T–himpunan ancaman (threats) yang teridentifikasi oleh sistem T = {T1, ..., Tm},
V –himpunan vulnerabilitas yang teridentifikasi dalam organisasi V = {V1, ...Vn},
Lji –kemungkinan bahwa suatu ancaman (threat) j akan mengeksploitasi
vulnerabilitas i,
Ii –dampak vulnerabilitas i terhadap kerahasiaan (confidentiality), integritas
(integrity), ketersediaan (availability) – CIA, yang dapat memiliki tingkat sebagai
berikut: complete (C), partial (P) and none (N),
CL–biaya total untuk suatu countermeasure L, ∋ܮ {1, 2, … , }
CLp –sub-cost ke-p untuk countermeasure L, yang menyatakan jenis cost yang
dibutuhkan untuk mengimplementasikan countermeasure, yaitu man-power, biaya
pembelian,
zLi –menyatakan bagaimana countermeasure L berkaitan dengan vulnerabilitas i.
Diberikan sebuah vektor yang terdiri dari k countermeasure
= ( ଵ, ଶ, … , ) (3.8)
yang membentuk himpunan berhingga dari solusi-solusi feasible X, dan dua
obyektif yaitu biaya total TC and resiko R, tinjau persoalan optimisasi
multiobjective kombinatorial:
ଵ൫ ൯= ൫ܥ ൯ dan ଶ൫ ൯= ൫ ൯ ∈ , TC=biaya total,
R=resiko.
Pernyataan matematika dari obyektif I yang berkorespondensi dengan biaya total
TC selanjutnya didefinisikan sebagai berikut.
Definisi Biaya Total (TC)
51
Diberikan sebuah himpunan k security countermeasure, masing-masing
mempunyai biaya CL, 1 ≤ L ≤ k dan tinjau vektor = { 1, . . . , } , SL ∈ {0,
1}∀L, 1 ≤ L≤ k, biaya total TC didefinisikan sebagai:
൫ܥ ൯= {∑ ܥ ୀଵ : ܥ > 0 {ܮ∀ (3.9)
= ൜1, ݐݑ ݎ ݎݑݏ ܮ ℎ ݏ ݏݑ0, ݕ
(3.10)
Untuk obyektif kedua yang berkaitan dengan resiko R selanjutnya didefinisikan
sebagai berikut.
Tabel III.2. Nilai peluang Lji
V1 V2 V3 V4 V5 V6
T1 0 0.1 0 0 0 0.1
T2 0 0.1 0 0 0 0.1
T3 0 0.1 0 0 0 0.1
T4 0.5 0 0 0 0 0
T5 0.5 0 0 0 0 0
T6 0 0.1 0 0 0 0.1
T7 0 0 0.1 0.1 0.1 0.1
T8 0.5 0 0 0 0 0
T9 0 0 0.1 0.1 0.1 0
T10 0 0.5 0.5 0.5 0.5 0.5
T11 0 0.5 0 0 0 0.5
T12 0.1 1 0 0 0 1
T13 0.5 0 0 0 0 0
T14 0.5 0 0 0 0 0
T15 0.5 0 0 0 0 0
Definisi Resiko Awal Total (TIR)
Resiko Awal Total (TIR) didefinisikan sebagai jumlah dari resiko-resiko awal
pada organisasi, pada saat tidak ada security countermeasure yang diterapkan.
Resiko Awal Total (TIR) dinyatakan dalam bilangan real. Resiko awal total dapat
dihitung sebagai berikut.
52
ܫ = ∑ ∑ ∗ܮ ∗ܫ ୀଵ
ୀଵ (3.11)
Definisi Resiko (R)
Diberikan resiko awal total TIR, vektor = { 1, . . . , } , SL ∈ {0, 1}∀L, 1 ≤ L ≤ k
dan matriks kecocokan (matching matrix) zLi yang menyatakan keterkaitan antara
vulnerabilitas dan countermeasure. Resiko R dirumuskan sebagai:
൫ ൯= ܫ} − ∑ ∑ ∑ ∗ܮ ∗ܫ ∗ݖ ୀଵ
ୀଵ
ୀଵ } (3.12)
Lji menyatakan nilai kemungkinan suatu threat Tj mengeksploitasi vulnerabilitas
Vi. Nilai Lji dinyatakan dalam bentuk matriks sebagaimana dapat dilihat pada
Tabel III.2.
Ii adalah nilai yang menyatakan dampak vulnerabilitas i terhadap kerahasiaan
(confidentiality), integritas (integrity), ketersediaan (availability) – CIA, yang
dapat memiliki level sebagai berikut: complete (C), partial (P) and none (N).
Nilai Ii dapat dilihat pada Tabel III.3.
Vl adalah vulnerabilitas individu yang merupakan anggota dari himpunan
vulnerabilitas {V1, ..., Vn}. Himpunan vulnerabilitas pada organisasi dapat dilihat
pada Tabel III.3.
SL adalah himpunan security countermeasure {S1, ..., Sk}. Daftar generik dari
security countermeasure untuk vulnerabilitas dan threat yang teridentifikasi dapat
dilihat pada Tabel III.4.
zLi menyatakan bagaimana countermeasure L (SL) berkaitan dengan vulnerabilias i
(Vi).
53
Tabel III.3. Vulnerabilitas, Bugtraq ID dan informasi dampak Ii
Representation VulnerabilityBugtraq
IDImpact on
CIA
V1
Multiple Vendor SSH2Implementation Null CharacterHandling Vulnerabilities. ID:6410 PPPExists in Windows 95/98/2000/NT andLinux. (Remote attack).
V2
Linux Kernel NCPFS ncp_lookup()Unspecified Local PrivilegeEscalation Vulnerability. ID:9691 CCCExists in RedHat Linux 8.0 andRedHat Linux 7.2. (Local attack)
V3
RhinoSoft Serv-U FTP Server MDTMCommand Time Argument
ID:9751 PPPBuffer Overflow Vulnerability.(Remote attack).
V4
RhinoSoft Serv-U FTP Server LISTParameter .
ID:10181 PPPBuffer Overflow Vulnerability.(Remote attack)
V5
GoodTech Systems Telnet Server forWindows NT/2000/XP/2003
ID:12815 PPPRemote Buffer OverflowVulnerability. (Remote attack).
V6
Apple QuickTime for Java MultipleUnspecified
ID:26339 CCCRemote Privilege EscalationVulnerabilities. (Remote attack).
Nilai zLi ini dapat dilihat pada Tabel III.4. Setiap kombinasi countermeasure–
vulnerabilitas zLi dapat memiliki satu dari lima kemungkinan nilai konsekuensi,
yaitu:
=ݖ
⎩⎪⎨
⎪⎧
1, ݏ ݎ ݑݏ ݑݐ ݑ ;0,5, ݏ ݎ ݐ ݑݏ ݑݐ ݑ ;0, ݐ ݏ ݎ ݐ ;− 0,5, ݏ ݎ ݐ ݑݏ ݐ ;− 1, ݏ ݎ ݑݏ ݐ
(3.13)
54
Tabel III.4. Daftar generik dari security countermeasure untuk vulnerabilitas danthreat yang teridentifikasi (Viduto, V.; Maple, C.; Huang, W. and López-Peréz,
D., 2012)
Category Type Countermeasure RepresentationSupport Identification S1
Cryptographic key management S2
Security administration S3
Technical System protection S4
Prevent Authentication S5
Authorization S6
Access control enforcement S7
Non-repudiation S8
Protected communication S9
Transaction privacy S10
Audit S11
Detect and recover Intrusion detection and containment S12
Virus detection and eradication S13
Assign security responsibilities S14
Preventive Implement separation of duties,least privilege and PC accessregistration and termination
S15
Management Conduct security awareness andtechnical training and PC accessregistration and termination
S16
Detection Conduct periodic system audits S17
Recovery Periodic system audits S18
Provide continuity of support andtest, maintain it
S19
Control data media access anddisposal
S20
Control software viruses S21
Operational Preventive Safeguard computing facility (e.g.biometric access control)
S22
Protect laptops, personalcomputers, workstations
S23
Detection Provide physical security (e.g.motion detectors)
S24
Tabel III.5. Nilai zLi
Vuln/Coun S1 S2 S3 S4 S5 S6
V1 0.5 1 1 0.5 0 0.5V2 -0.5 1 0.5 0.5 0.5 0.5V3 0 0.5 0 0.5 0 0.5V4 0 0.5 0 0.5 0 0.5V5 0 0.5 0 0.5 0 0.5V6 -0.5 1 0.5 0.5 0.5 0.5
55
Keterkaitan antara threat dan vulnerabilitas sebagai acuan untuk menentukan nilaiLji dapat dilihat pada Tabel III.6.
Tabel III.6. Keterkaitan antara Threat dan Vulnerabilitas
Threat Souces Threats/actions Representation MatchedVulnerability
Incompetent user Unauthorised user gets accessto resources
T1 V2,V6
Physical attack T2 V2,V6
Hacker Social Engineering T3 V2,V6
Tamper the protection relevantmechanisms
T4 V1
Reckless networkadministration
T5 V1
Tactical attack Improper management T6 V2,V6
Viruses, Trojans, Worms T7 V3,V4,V5,V6
Architecture, design andimplementation flaws
T8 V1
DoS attack T9 V3,V4,V5
IndustrialEspionage
BoF attack T10 V2,V3,V4,V5,V6
No audits T11 V2,V6
Serviceadministrator
Elevation of privileges T12 V1,V2,V6
Password and compromisethrough plain textcommunication
T13 V1
Dictionary/Brute Force attack T14 V1
Arbitraty cde execution T15 V1
III.8 Perbandingan Metode Metrik
Perbandingan metode metrik yang dikembangkan dalam penelitian disertasi inidengan penelitian disertasi lain dapat dilihat pada Tabel III.7.
56
Tabel III.7. Perbandingan Metode Metrik
PenelitianDisertasi
Graf SeranganAsumsi
VulnerabilitasMetode Komputasi
(Idika,2010)
Tidak meninjauKinerja Jaringan
VulnerabilitasRemote
Metode Perhitunganmenggunakan
komputer
(Viduto,2012)
Tidak meninjaukinerja jaringan
VulnerabilitasRemote dan
Vulnerabilitas Lokal
Metode Perhitunganmenggunakan
komputer
Disertasi Graf Serangan Statusmeninjau kinerja
jaringan, Graf Host,Graf Vulnerabilitas
VulnerabilitasRemote dan
Vulnerabilitas Lokal
Metode KomputasiManual danKomputer
57
Bab IV Simulasi Penguatan Jaringan
IV.1 Jaringan Eksperimen
Jaringan Eksperimen yang digunakan dapat dilihat pada Gambar IV.1.
Gambar IV.1. Jaringan Eksperimen
Pada Gambar IV.1, penyerang memiliki privilege root pada komputer miliknya
sendiri IP0 (host awal). Komputer IP1 menggunakan Mac OS dan terdapat Quick
Time terinstal pada Mac OS terebut. Komputer IP2 adalah server Linux RedHat
yang menyediakan layanan SSH. Komputer IP3 adalah host yang menggunakan
Windows XP dan terdapat instalasi Serv-U sebagai FTP server. IP4 adalah telnet
server pada Windows NT. Firewall Rule menjamin bahwa user di luar firewall
hanya dapat melakukan akses remote menuju IP1.
Vulnerabilitas yang terdapat pada jaringan eksperimen dapat dilihat pada Tabel
IV.1. Deskripsi dari setiap vulnerabilitas mengacu pada database Bugtraq.
Himpunan vulnerabilitas dinyatakan sebagai matriks V yaitu,
=
⎣⎢⎢⎢⎡ܫ ݑ ݑ_1 {6}
2 {1,2}
3 {3,4}
4 {5} ⎦⎥⎥⎥⎤
(4.1)
58
Tabel IV.1. Vulnerabilitas pada Jaringan Eksperimen
Vulnerabilitas Deskripsi
V1 Multiple Vendor SSH2 Implementation Null Character Handling
Vulnerabilities. Exists in Windows 95/98/2000/NT and Linux.
(Remote attack). Bugtraq ID:6410
V2 Linux Kernel NCPFS ncp_lookup() Unspecified Local Privilege
Escalation Vulnerability. Exists in RedHat
Linux 8.0 and RedHat Linux 7.2. (Local attack) Bugtraq ID:9691
V3 RhinoSoft Serv-U FTP Server MDTM Command Time Argument
Buffer Overflow Vulnerability. (Remote attack). Bugtraq ID:9751
V4 RhinoSoft Serv-U FTP Server LIST Parameter Buffer Overflow
Vulnerability. (Remote attack). Bugtraq ID:10181
V5 GoodTech Systems Telnet Server for Windows NT/2000/XP/2003
Remote Buffer Overflow Vulnerability. (Remote attack). Bugtraq
ID:12815
V6 Apple QuickTime for Java Multiple Unspecified Remote Privilege
Escalation Vulnerabilities. (Remote attack). Bugtraq ID:26339
Kolom pertama pada matriks vulnerabilitas V menyatakan komputer dan kolom
kedua menyatakan vulnerabilitas yang ada pada komputer pada baris matriks yang
bersesuaian.
Elemen pada kolom ke-1 menyatakan IP sedangkan kolom kedua menyatakan
nomor vulnerabilitas.
Keterhubungan diantara host pada jaringan komputer eksperimen dinyatakan
sebagai matriks K yaitu
ܭ =
⎣⎢⎢⎢⎢⎡
ܫ 0 ܫ 1 ܫ 2 ܫ 3 ܫ 4ܫ 0 1 1 0 0 0ܫ 1 1 1 1 1 1ܫ 2 0 1 1 1 1ܫ 3 0 1 1 1 1ܫ 4 0 1 1 1 1 ⎦
⎥⎥⎥⎥⎤
(4.2)
59
Attack Rule
=
⎣⎢⎢⎢⎢⎢⎢⎡ݑݒ ݎ ݏݏ
{1 1 0 1} {0.35} {1 0 1 0}{2 1 1 2} {0.30} {0 1 0 0}{3 1 0 1} {0.45} {0 0 1 1}{4 1 0 1} {0.45} {0 0 1 1}{5 1 0 2} {0.60} {1 1 0 0}{6 1 0 1} {0.30} {1 0 0 0} ⎦
⎥⎥⎥⎥⎥⎥⎤
(4.3)
Probabilitas suksesnya suatu serangan di-generate secara acak dengan nilai antara
0,3 sampai dengan 0,6. Aturan perubahan status {per1, per2, per3, per4} sesuai
dengan model yang dijelaskan pada Tabel IV.2. peri=1 berarti bahwa performance
loss ke-i mencapai tingkat yang lebih tinggi.
Tabel IV.2. VPN untuk Jaringan Eksperimen
Notasi Performance Keterangan
per1 System response time
System time required
from receiving the request
to providing the service.
per2 System recovery timeTime required from
system fault to recovery.
per3 Throughput rate
The amount of data
transmitted successfully
between nodes.
per4Message transmission
delay
The largest transmission
delay of network
messages or packets.
Initial Status
ݏ = ݑ_ݏ ݐݏ_ ݏݑݐ ݎ ݒ
{0} {− 1 − 1 − 1 − 1} {2 0 − 1 − 1 − 1}൨ (4.4)
Kolom pertama (s_num) pada matriks s0 adalah nomor vulnerabilitas. Kolom
kedua (VPN_status) menunjukkan status awal dari VPN. Kolom ketiga
menunjukkan privilege awal yang dimiliki oleh attacker pada setiap host.
60
Tabel IV.3. Status Tiap Node pada Graf Serangan
Status
Num
Status Attacker privilege
VPN1 VPN2 VPN3 VPN4 IP0 IP1 IP2 IP3 IP4
0 -1 -1 -1 -1 2 0 -1 -1 -1
1 0 -1 -1 -1 2 1 0 0 0
2 1 -1 0 -1 2 1 1 0 0
3 0 -1 0 0 2 1 0 1 0
4 1 0 -1 -1 2 1 0 0 2
5 1 -1 1 0 2 1 1 1 0
6 2 0 0 -1 2 1 1 0 2
7 1 0 0 -1 2 1 2 0 0
8 1 0 0 0 2 1 0 1 2
9 2 0 1 0 2 1 1 1 2
10 1 0 1 0 2 1 2 1 0
11 2 1 0 -1 2 1 2 0 2
12 2 1 1 0 2 1 2 1 2
Algoritma untuk membuat attack graph menggunakan persamaan (4.1)-(4.4)
sebagai input. Output dari algoritma berupa attack graph dapat dilihat pada
Gambar IV.2. Node segiempat menyatakan root privilege untuk attacker. Garis
berwarna biru menyatakan attack step untuk node segiempat. Graf mempunyai 13
status yang diperoleh dengan menggunakan algoritma attack graph. Status pada
attack graph dapat dilihat pada Tabel IV.3.
61
Gambar IV.2. Attack Graph untuk Jaringan Eksperimen
62
Screenshot dari program komputer untuk menggambar attack graph dapat dilihat
pada Gambar IV.3. s.d. Gambar IV.7.
Gambar IV.3. Tabel Vulnerabilitas untuk Jaringan Eksperimen
Gambar IV.4. Matriks Keterhubungan untuk Jaringan Eksperimen
63
Gambar IV.5. Matriks Attack Rules untuk Jaringan Eksperimen
Gambar IV.6. Status pada Attack Graph untuk Jaringan Eksperimen
64
Gambar IV.7. Attack Graph untuk Jaringan Eksperimen
Pada Gambar IV.7., Shortest Path Metric dihitung dengan menggunakan rumus
SP(G)=min(L(P1), L(P2), …, L(Pk), dimana
L(P1) menyatakan panjang lintasan P1,
L(P2) menyatakan panjang lintasan P2,
L(Pk) menyatakan panjang lintasan Pk.
Number of Path Metric dihitung berdasarkan rumus NP(G)=|P1, P2, …,Pk|,
dimana
P1 menyatakan lintasan ke-1,
P2 menyatakan lintasan ke-2,
Pk menyatakan lintasan ke-k,
Mean of Path Length Metric dihitung dengan menggunakan rumus
(ܩ)ܮܯ =∑ ()ೖసభ
ே()(4.5)
dimana
∑ ()ܮୀଵ menyatakan jumlah dari setiap panjang lintasan pada attack graph,
(ܩ) menyatakan banyaknya lintasan pada attack graph.
65
Standard Deviation of Path Length Metric dihitung dengan menggunakan rumus
(ܩ)ܮܦ = ට∑ (()ெ ())మೖసభ
ே()(4.6)
dimana
()ܮ menyatakan panjang lintasan ,
(ܩ) menyatakan banyaknya lintasan pada attack graph,
(ܩ)ܮܯ menyatakan rerata dari panjang lintasan pada attack graph.
Median dari panjang lintasan pada attack graph dihitung dengan menggunakan
rumus
ܯ (ܩ)ܮ = ቐ
ቒೖ()ܮమቓ
ݑݐݑ,
ଵ
ଶೖ()ܮ)
మ
+ ೖ()ܮమାଵ
) ݑݐݑ, (4.7)
Terdapat perbedaan asumsi antara disertasi ini dengan disertasi (Idika, 2010) yaitu
semua vulnerabilitas pada (Idika, 2010) diasumsikan dapat dieksploitasi secara
remote. Pada disertasi ini, vulnerabilitas diasumsikan secara lebih umum yaitu ada
vulnerabilitas yang dapat dieksploitasi secara remote dan ada vulnerabilitas yang
dapat diekspoitasi secara lokal.
Attack graph yang dihasilkan pada disertasi ini juga berbeda dengan attack graph
pada (Idika, 2010). Pada disertasi ini setiap titik pada graf menyatakan status pada
jaringan. Status pada graf menyatakan kinerja jaringan pada titik tersebut.
Berbagai algoritma dapat digunakan untuk mencari lintasan terpendek dari status
awal ke status yang dituju. Algoritma yang dapat digunakan untuk mencari
lintasan terpendek misalnya metode BFS (Breadth First Search), Bellman-Ford,
Acyclic dan Dijkstra.
Pada algoritma Bellman-Ford diasumsikan bobot untuk setiap sisi merupakan
koefisien-koefisien tak nol pada matriks sparse G. Kompleksitas waktu untuk
algoritma Bellman-Ford adalah O(N x E), dimana N menyatakan jumlah node dan
E menyatakan banyaknya sisi.
66
Tabel IV.4. Data Vulnerabilitas dan Dampak Terhadap CIA
Representation VulnerabilityBugtraq
IDImpact on
CIA
V1Multiple Vendor SSH2 ImplementationNull Character Handling Vulnerabilities.
ID:6410 PPP
Exists in Windows 95/98/2000/NT andLinux. (Remote attack).
V2
Linux Kernel NCPFS ncp_lookup()Unspecified Local Privilege EscalationVulnerability.
ID:9691 CCC
Exists in RedHat Linux 8.0 and RedHatLinux 7.2. (Local attack)
V3RhinoSoft Serv-U FTP Server MDTMCommand Time Argument
ID:9751 PPP
Buffer Overflow Vulnerability. (Remoteattack).
V4RhinoSoft Serv-U FTP Server LISTParameter .
ID:10181 PPP
Buffer Overflow Vulnerability. (Remoteattack)
V5GoodTech Systems Telnet Server forWindows NT/2000/XP/2003
ID:12815 PPP
Remote Buffer Overflow Vulnerability.(Remote attack).
V6Apple QuickTime for Java MultipleUnspecified
ID:26339 CCC
Remote Privilege EscalationVulnerabilities. (Remote attack).
Pada algoritma BFS diasumsikan bobot untuk semua sisinya sama dan merupakan
koefisien tak nol pada matriks sparse G. Kompleksitas waktu untuk algoritma
BFS adalah O(N+E), dimana N menyatakan jumlah node dan E menyatakan
banyaknya sisi.
Pada algoritma Acyclic diasumsikan G adalah graf berarah acyclic dan setiap
bobot untuk setiap sisinya merupakan bilangan tak nol pada matriks sparse G.
Kompleksitas waktunya yaitu O(N+E), dimana N menyatakan jumlah node dan E
menyatakan banyaknya sisi.
Pada algoritma Dijkstra diasumsikan bahwa setiap bobot untuk sisinya merupakan
bilangan positif dalam matriks sparse G. Kompleksitas waktu untuk algoritma ini
adalah O(log(N) x E), dimana N menyatakan jumlah node dan E menyatakan
banyaknya sisi.
67
Tabel IV.5. Data Threat dan Vulnerabilitas yang Dapat Dieksploitasi
ThreatSources
Threats/actions RepresentationMatched
VulnerabilityIncompetent
userUnauthorised user gets access toresources
T1 V2,V6
Physical attack T2 V2,V6
Hacker Social Engineering T3 V2,V6
Tamper the protection relevantmechanisms
T4 V1
Reckless network administration T5 V1
Tactical attack Improper management T6 V2,V6
Viruses, Trojans, Worms T7 V3,V4,V5,V6
Architecture, design andimplementation flaws
T8 V1
DoS attack T9 V3,V4,V5
IndustrialEspionage
BoF attack T10 V2,V3,V4,V5,V6
No audits T11 V2,V6
Serviceadministrator
Elevation of privileges T12 V1,V2,V6
Password and compromisethrough plain textcommunication
T13 V1
Dictionary/Brute Force attack T14 V1
Arbitraty code execution T15 V1
Selanjutnya akan dihitung resiko dan cost untuk tiap kombinasi countermeasure.
Data yang digunakan dalam eksperimen dapat dilihat pada Tabel IV.4.
Data yang digunakan pada studi kasus diambil dari (Viduto, V., Maple, C.,
Huang, W., López-Peréz, D., 2012). Nilai 1 pada Tabel IV.8. berarti jika
countermeasure diterapkan akan secara langsung menghilangkan vulnerabilitas.
Nilai 0,5 berarti jika countermeasure diterapkan akan secara tidak langsung
menghilangkan vulnerabilitas. Nilai 0 berarti countermeasure tidak berkaitan
dengan vulnerabilitas.
68
Tabel IV.6. Nilai Kemungkinan Lji bahwa Threat akan MengeksploitasiVulnerabilitas
V1 V2 V3 V4 V5 V6
T1 0 0.1 0 0 0 0.1
T2 0 0.1 0 0 0 0.1
T3 0 0.1 0 0 0 0.1
T4 0.5 0 0 0 0 0
T5 0.5 0 0 0 0 0
T6 0 0.1 0 0 0 0.1
T7 0 0 0.1 0.1 0.1 0.1
T8 0.5 0 0 0 0 0
T9 0 0 0.1 0.1 0.1 0
T10 0 0.5 0.5 0.5 0.5 0.5
T11 0 0.5 0 0 0 0.5
T12 0.1 1 0 0 0 1
T13 0.5 0 0 0 0 0
T14 0.5 0 0 0 0 0
T15 0.5 0 0 0 0 0
Tabel IV.7. Data Countermeasure
Deskripsi Countermeasure
S1 Maintain use of password to identify users
S2 System administrator
S3 Enable SSHv2
S4 E-Z Audit license
S5 Assign security responsibilities
S6 Generate periodic audit reports
Nilai -0,5 berarti jika countermeasure diterapkan, secara tidak langsung
menciptakan vulnerabilitas. Nilai -1 berarti jika countermeasure diterapkan akan
secara langsung menciptakan vulnerabilitas lain.
69
Tabel IV.8. Data Countermeasure dan Vulnerabilitas
Vuln/Coun S1 S2 S3 S4 S5 S6
V1 0.5 1 1 0.5 0 0.5V2 -0.5 1 0.5 0.5 0.5 0.5V3 0 0.5 0 0.5 0 0.5V4 0 0.5 0 0.5 0 0.5V5 0 0.5 0 0.5 0 0.5V6 -0.5 1 0.5 0.5 0.5 0.5
Tabel IV.9. Data Biaya untuk Setiap Countermeasure yang Diterapkan
Countermeasureexample
Operationalcost ($)
Manpower(e.g.If 50$/h)
Purchasecost ($)
Trainingcost ($)
Total costx102 ($)
S1
Maintain use ofpasswords toidentify users
0 0 0 2500 25
S2Systemadministrator
200 1000 0 0 12
S3 Enable SSHv2 100 50 0 0 1,5S4 E-Z Audit license 100 0 155 300 5,5
S5Assign securityresponsibilities
0 2500 0 0 25
S6Generate periodicaudit reports
150 1000 0 0 11,5
Resiko Awal Total dihitung pada saat tidak ada countermeasure yang diterapkan
pada vulnerabilitas.
Definisi Resiko Awal Total (TIR)
Resiko Awal Total (TIR) didefinisikan sebagai jumlah dari resiko-resiko awal
pada organisasi, pada saat tidak ada security countermeasure yang diterapkan.
Resiko awal total dapat dihitung sebagai berikut.
ܫ = ∑ ∑ ∗ܮ ∗ܫ ୀଵ
ୀଵ (4.8)
70
Tabel IV.10. Data yang digunakan untuk menghitung TIR
Lji T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15Ii
(Impact)Ii
angka
V1 0 0 0 0.5 0.5 0 0 0.5 0 0 0 0.1 0.5 0.5 0.5 PPP 50
V2 0.1 0.1 0.1 0 0 0.1 0 0 0 0.5 0.5 1 0 0 0 CCC 100
V3 0 0 0 0 0 0 0.1 0 0.1 0.5 0 0 0 0 0 PPP 50
V4 0 0 0 0 0 0 0.1 0 0.1 0.5 0 0 0 0 0 PPP 50
V5 0 0 0 0 0 0 0.1 0 0.1 0.5 0 0 0 0 0 PPP 50
V6 0.1 0.1 0.1 0 0 0.1 0.1 0 0 0.5 0.5 1 0 0 0 CCC 100
Tabel IV.11. Proses Perhitungan Resiko Awal Total (TIR)
TIR=ΣΣLji*Ii*Vi
j=1i=1..10 j=2 j=3 j=4 j=5 j=6 j=7 j=8 j=9 j=10 j=11 j=12 j=13 j=14 j=15
L11*I1*V1 0 0 0 25 25 0 0 25 0 0 0 5 25 25 25L12*I2*V2 10 10 10 0 0 10 0 0 0 50 50 100 0 0 0L13*I3*V3 0 0 0 0 0 0 5 0 5 25 0 0 0 0 0L14*I4*V4 0 0 0 0 0 0 5 0 5 25 0 0 0 0 0L15*I5*V5 0 0 0 0 0 0 5 0 5 25 0 0 0 0 0L16*I6*V6 10 10 10 0 0 10 10 0 0 50 50 100 0 0 0
20 20 20 25 25 20 25 25 15 175 100 205 25 25 25750
Tabel IV.12. Proses Perhitungan Faktor Pengurang Resiko
ΣΣΣLji*Ii*zli*Sl
l=1j=1i=1..6
l=1j=2
l=1j=3
l=1j=4
l=1j=5
l=1j=6
l=1j=7
l=1j=8
l=1j=9
l=1j=10
l=1j=11
l=1j=12
l=1j=13
l=1j=14
l=1j=15
L11*I1*z11*S1 0 0 0 12.5 12.5 0 0 12.5 0 0 0 2.5 12.5 12.5 12.5
L12*I2*z12*S1 -5 -5 -5 0 0 -5 0 0 0 -25 -25 -50 0 0 0
L13*I3*z13*S1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
L14*I4*z14*S1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
L15*I5*z15*S1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
L16*I6*z16*S1 -5 -5 -5 0 0 -5 -5 0 0 -25 -25 -50 0 0 0
Definisi Resiko (R)
Diberikan resiko awal total TIR, vektor = { ଵ, ଶ, … , }∈ {0, 1}∀L, 1 ≤ L ≤ k
dan matriks kecocokan (matching matrix) zLi yang menyatakan keterkaitan antara
vulnerabilitas dan countermeasure. Resiko R dirumuskan sebagai:
൫ ൯= ܫ} − ∑ ∑ ∑ ∗ܮ ∗ܫ ∗ݖ ୀଵ
ୀଵ
ୀଵ } (4.9)
71
Tabel IV.13. Proses Perhitungan Biaya Total dan Resiko
S1 S2 S3 S4 S5 S6 C1 C2 C3 C4 C5 C6 TC R norm TC norm R0 0 0 0 0 0 2500 1200 150 550 2500 1150 0 750.0 1 0 0.8174390 0 0 0 0 1 2500 1200 150 550 2500 1150 1150 672.5 2 0.142857 0.732970 0 0 0 1 0 2500 1200 150 550 2500 1150 2500 505.0 3 0.310559 0.5504090 0 0 0 1 1 2500 1200 150 550 2500 1150 3650 427.5 4 0.453416 0.465940 0 0 1 0 0 2500 1200 150 550 2500 1150 550 375.0 5 0.068323 0.4087190 0 0 1 0 1 2500 1200 150 550 2500 1150 1700 297.5 6 0.21118 0.3242510 0 0 1 1 0 2500 1200 150 550 2500 1150 3050 130.0 7 0.378882 0.1416890 0 0 1 1 1 2500 1200 150 550 2500 1150 4200 52.5 8 0.521739 0.0572210 0 1 0 0 0 2500 1200 150 550 2500 1150 150 350.0 9 0.018634 0.3814710 0 1 0 0 1 2500 1200 150 550 2500 1150 1300 272.5 10 0.161491 0.2970030 0 1 0 1 0 2500 1200 150 550 2500 1150 2650 105.0 11 0.329193 0.1144410 0 1 0 1 1 2500 1200 150 550 2500 1150 3800 27.5 12 0.47205 0.0299730 0 1 1 0 0 2500 1200 150 550 2500 1150 700 -25.0 13 0.086957 -0.027250 0 1 1 0 1 2500 1200 150 550 2500 1150 1850 -102.5 14 0.229814 -0.111720 0 1 1 1 0 2500 1200 150 550 2500 1150 3200 -270.0 15 0.397516 -0.294280 0 1 1 1 1 2500 1200 150 550 2500 1150 4350 -347.5 16 0.540373 -0.378750 1 0 0 0 0 2500 1200 150 550 2500 1150 1200 52.5 17 0.149068 0.0572210 1 0 0 0 1 2500 1200 150 550 2500 1150 2350 -25.0 18 0.291925 -0.027250 1 0 0 1 0 2500 1200 150 550 2500 1150 3700 -192.5 19 0.459627 -0.209810 1 0 0 1 1 2500 1200 150 550 2500 1150 4850 -270.0 20 0.602484 -0.294280 1 0 1 0 0 2500 1200 150 550 2500 1150 1750 -322.5 21 0.217391 -0.35150 1 0 1 0 1 2500 1200 150 550 2500 1150 2900 -400.0 22 0.360248 -0.435970 1 0 1 1 0 2500 1200 150 550 2500 1150 4250 -567.5 23 0.52795 -0.618530 1 0 1 1 1 2500 1200 150 550 2500 1150 5400 -645.0 24 0.670807 -0.7030 1 1 0 0 0 2500 1200 150 550 2500 1150 1350 -347.5 25 0.167702 -0.378750 1 1 0 0 1 2500 1200 150 550 2500 1150 2500 -425.0 26 0.310559 -0.46322
72
Definisi Biaya Total (TC)
Diberikan sebuah himpunan berisi k security countermeasure, masing-masing
mempunyai biaya CL, 1 ≤ L ≤ k dan tinjau vektor Sሬ= { ଵ, ଶ, … , } , SL ∈ {0,
1}∀L, 1 ≤ L≤ k, biaya total TC didefinisikan sebagai:
൫ܥ ൯= {∑ ܥ ୀଵ : ܥ > 0 {ܮ∀ (4.10)
= ൜1, ݏ ݕݐݎݑ ݎݑݏ ܮ ℎ ݏ ݏݑ0, ݕ
(4.11)
Diberikan sebuah vektor yang terdiri dari k countermeasure
ሬሬ = ( ଵ, ଶ, … , ) (4.12)
yang membentuk himpunan berhingga dari solusi-solusi feasible X, dan dua
obyektif yaitu biaya total TC and resiko R, tinjau persoalan optimisasi
multiobjective kombinatorial:
ଵ൫ ൯= ൫ܥ ൯ dan ଶ൫ ൯= ൫ ൯ ∈ , TC=biaya total,
R=Resiko
IV.2 Pemilihan Kombinasi Countermeasure
Untuk setiap himpunan countermeasure yang diterapkan maka dihitung nilai dari
fungsi biaya dan fungsi resikonya menggunakan rumus-rumus yang dibahas pada
subbab IV.1. Hasil perhitungan nilai biaya dan resiko untuk setiap kombinasi
countermeasure yang diterapkan dapat dilihat pada Tabel IV.14.
73
Tabel IV.14. Beberapa Himpunan Countermeasure, Biaya Total dan Resiko
S1 S2 S3 S4 S5 S6 C1 C2 C3 C4 C5 C6 TC R
0 0 0 0 0 0 2500 1200 150 550 2500 1150 0 750.0
0 0 0 0 0 1 2500 1200 150 550 2500 1150 1150 672.5
0 0 0 0 1 0 2500 1200 150 550 2500 1150 2500 505.0
0 0 0 0 1 1 2500 1200 150 550 2500 1150 3650 427.5
0 0 0 1 0 0 2500 1200 150 550 2500 1150 550 375.0
0 0 0 1 0 1 2500 1200 150 550 2500 1150 1700 297.5
0 0 0 1 1 0 2500 1200 150 550 2500 1150 3050 130.0
0 0 0 1 1 1 2500 1200 150 550 2500 1150 4200 52.5
0 0 1 0 0 0 2500 1200 150 550 2500 1150 150 350.0
0 0 1 0 0 1 2500 1200 150 550 2500 1150 1300 272.5
0 0 1 0 1 0 2500 1200 150 550 2500 1150 2650 105.0
0 0 1 0 1 1 2500 1200 150 550 2500 1150 3800 27.5
0 0 1 1 0 0 2500 1200 150 550 2500 1150 700 -25.0
0 0 1 1 0 1 2500 1200 150 550 2500 1150 1850 -102.5
0 0 1 1 1 0 2500 1200 150 550 2500 1150 3200 -270.0
0 0 1 1 1 1 2500 1200 150 550 2500 1150 4350 -347.5
0 1 0 0 0 0 2500 1200 150 550 2500 1150 1200 52.5
0 1 0 0 0 1 2500 1200 150 550 2500 1150 2350 -25.0
0 1 0 0 1 0 2500 1200 150 550 2500 1150 3700 -192.5
0 1 0 0 1 1 2500 1200 150 550 2500 1150 4850 -270.0
0 1 0 1 0 0 2500 1200 150 550 2500 1150 1750 -322.5
0 1 0 1 0 1 2500 1200 150 550 2500 1150 2900 -400.0
0 1 0 1 1 0 2500 1200 150 550 2500 1150 4250 -567.5
0 1 0 1 1 1 2500 1200 150 550 2500 1150 5400 -645.0
Grafik dari biaya total untuk setiap himpunan countermeasure dapat dilihat pada
Gambar IV.8.
74
Gambar IV.8. Grafik Biaya Total terhadap Konfigurasi Countermeasure
Grafik yang menunjukkan nilai resiko untuk setiap konfigurasi countermeasure
yang dipilih dapat dilihat pada Gambar IV.9.
Gambar IV.9. Grafik Resiko terhadap Konfigurasi Countermeasure
Sebagai bahan pertimbangan bagi yang berkepentingan dalam memilih
konfigurasi countermeasure S, maka dibuatlah grafik biaya total dan R
ternormalisasi terhadap konfigurasi countermeasure. Grafik TC ternormalisasi dan
R ternormalisasi terhadap konfigurasi countermeasure dapat dilihat pada Gambar
IV.10.
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64
Series1
Series2
-1500.0
-1000.0
-500.0
0.0
500.0
1000.0
1500.0
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64
Series1
Series2
75
Gambar IV.10. Grafik TC ternormalisasi dan R ternormalisasi terhadapkonfigurasi countermeasure
Dari Gambar IV.10 dapat dipilih konfigurasi countermeasure ke-14 yang
memiliki nilai TC=0,400546448 dan R=0,138882756.
IV.3 Beberapa Kasus Lain
Tinjau jaringan eksperimen pada Gambar IV.1. Tabel IV.1 menunjukkan bawa
pada jaringan eksperimen terdapat enam (6) vulnerabilitas. Matriks konektivitas
jaringan eksperimen dinyatakan sebagai persamaan 4.1. Beberapa kasus berikut
diselesaikan dengan cara yang sama dengan cara yang dijelaskan pada Sub Bab
IV.1.
IV.3.1 Kasus I, Countermeasure: Vulnerabilitas V1 dihilangkan
Untuk kasus vulnerabilitas V1 dihilangkan, diperoleh graf serangan status pada
Gambar IV.11, graf serangan host pada Gambar IV.12 dan graf serangan
vulnerabilitas pada Gambar IV.13. Dari Gambar IV.11, Gambar IV.12 dan
Gambar IV.13 dapat dilihat bahwa metrik SHP (Shortest Host Path) bernilai 3,
SVP (Shortest Vulnerability Path) bernilai 2, SWPP (Shortest Worst Performance
Path) bernilai 3. Semakin besar nilai SHP, SVP dan SWPP maka semakin aman
kondisi jaringan komputer. Untuk kasus V1 dihilangkan, maka nilai
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
76
EVP=(5/5)x100% dan nilai VHP=(4/4)x100%. Semakin besar nilai EVP dan
VHP, semakin tidak aman kondisi jaringan komputer.
Gambar IV.11. Graf Serangan Status jika vulnerabilitas V1 dihilangkan
Gambar IV.12. Graf Serangan Host jika vulnerabilitas V1 dihilangkan
77
Gambar IV.13. Graf Serangan Vulnerabilitas jika vulnerabilitas V1 dihilangkan
IV.3.2 Kasus II, Countermeasure: Vulnerabilitas V3 dan V4 dihilangkan
Untuk kasus vulnerabilitas V3 dan V4 dihilangkan, diperoleh graf serangan status
pada Gambar IV.14, graf serangan host pada Gambar IV.15 dan graf serangan
vulnerabilitas pada Gambar IV.16.
Gambar IV.14. Graf Serangan Status jika vulnerabilitas V3 dan V4 dihilangkan
Gambar IV.15. Graf Serangan Host jika vulnerabilitas V3 dan V4 dihilangkan
78
Gambar IV.16. Graf Serangan Vulnerabilitas jika vulnerabilitas V3 dan V4
dihilangkan
Dari Gambar IV.14, Gambar IV.15 dan Gambar IV.16 dapat dilihat bahwa metrik
SHP (Shortest Host Path) bernilai 3, SVP (Shortest Vulnerability Path) bernilai 2,
SWPP (Shortest Worst Performance Path) bernilai 3. Semakin besar nilai SHP,
SVP dan SWPP maka semakin aman kondisi jaringan komputer. Untuk kasus V3
dan V4 dihilangkan, maka nilai EVP=(4/4)x100% dan nilai VHP=(3/4)x100%.
Semakin besar nilai EVP dan VHP, semakin tidak aman kondisi jaringan
komputer.
IV.3.3 Kasus III, Countermeasure: Vulnerabilitas V5 dihilangkan
Untuk kasus vulnerabilitas V5 dihilangkan, diperoleh graf serangan status pada
Gambar IV.17, graf serangan host pada Gambar IV.18 dan graf serangan
vulnerabilitas pada Gambar IV.19.
79
Gambar IV.17. Graf Serangan Status jika vulnerabilitas V5 dihilangkan
Gambar IV.18. Graf Serangan Host jika vulnerabilitas V5 dihilangkan
Gambar IV.19. Graf Serangan Vulnerabilitas jika vulnerabilitas V5 dihilangkan
Dari Gambar IV.17, Gambar IV.18 dan Gambar IV.19 dapat dilihat bahwa metrik
SHP (Shortest Host Path) bernilai 2, SVP (Shortest Vulnerability Path) bernilai 1,
SWPP (Shortest Worst Performance Path) bernilai 3. Semakin besar nilai SHP,
SVP dan SWPP maka semakin aman kondisi jaringan komputer. Untuk kasus V5
dihilangkan, maka nilai EVP=(5/5)x100% dan nilai VHP=(3/4)x100%. Semakin
besar nilai EVP dan VHP, semakin tidak aman kondisi jaringan komputer.
80
IV.3.4 Kasus IV, Countermeasure: Vulnerabilitas V6 dihilangkan
Untuk kasus vulnerabilitas V6 dihilangkan, diperoleh graf serangan status pada
Gambar IV.20, graf serangan host pada Gambar IV.21. Graf serangan
vulnerabilitas tidak ada karena tidak ada vulnerabilitas yang bisa dimanfaatkan
oleh attacker.
Gambar IV.20. Graf Serangan Status jika vulnerabilitas V6 dihilangkan
Gambar IV.21. Graf Serangan Host jika vulnerabilitas V6 dihilangkan
Karena Vulneabilitas V6 dihilangkan, maka tidak ada graf vulnerabilitas yang
dapat dihasilkan. Attacker tidak dapat bergerak masuk ke dalam jaringan internal
melalui IP0 karena pada IP0 sudah tidak terdapat vulnerabilitas V6, maka tidak ada
nilai SWPP, SHP dan SVP. Untuk kasus V6 dihilangkan, maka nilai
EVP=(5/5)x100% dan nilai VHP=(3/4)x100%. Semakin besar nilai EVP dan
VHP, semakin tidak aman kondisi jaringan komputer.
IV.4 Diskusi dan Analisa
Berdasarkan eksperimen yang dilakukan pada Sub Bab IV.1 dan Sub Bab IV.2,
jika ditinjau dari vulnerabilitas yang ada pada jaringan maka ada tiga kasus yang
bisa ditinjau. Kasus pertama yaitu tidak ada vulnerabilitas pada jaringan Kasus
kedua yaitu jumlah vulnerabilitas diantara nol dan tak hingga. Kasus ketiga yaitu
jumlah vulnerabilitas sangat banyak sehingga dapat diasumsikan banyaknya
vulnerabilitas berjumlah tak hingga.
IV.4.1 Kasus I, Vulnerabilitas V=0
Untuk kasus tidak ada vulnerabilitas pada jaringan, maka V=0 sehingga diperoleh
metrik-metrik EVP=0 dan VHP=0 demikian juga dengan metrik-metrik lainnya
81
akan bernilai nol sehingga bisa disimpulkan kondisi keamanan jaringan sangat
aman.
IV.4.2 Kasus II, Vulnerabilitas diantara Nol dan Tak Terhingga 0<V<∞
Untuk kasus banyaknya vulnerabilitas pada jaringan bernilai 0<V<∞ maka
diperoleh metrik-metrik keamanan jaringan sebagaimana dibahas pada Sub Bab
IV.1 dan Sub Bab IV.2.
IV.4.3 Kasus III, Vulnerabilitas V=∞
Untuk kasus vulnerabilitas V=∞, maka diperoleh metrik-metrik keamanan
jaringan sebagai berikut. Metrik Exploited Vulnerability Percentage EVP=b,
dimana 0<b<∞ dan Vulnerable Host Percentage VHP=1 dengan asumsi pada
semua host terdapat vulnerabilitas. Nilai metrik SP=a, dimana 0<a<∞. Nilai
metrik Number of Path NP=∞.
Berdasarkan eksperimen yang dilakukan pada Sub Bab IV.3, dapat disimpulkan
bahwa keamanan maksimal jaringan diperoleh dengan menghilangkan
vulnerabilitas V6 yang terdapat pada host IP1. Attacker tidak dapat menembus
jaringan internal jika vulnerabilitas V6 dihilangkan karena aturan firewall
menyebabkan attacker hanya dapat mengakses host IP1 pada jaringan internal.
82
Bab V Kesimpulan dan Tindak Lanjut
V.1 Kesimpulan
Dalam penelitian disertasi ini telah dihasilkan:
1. Grup metrik keamanan untuk mengukur keamanan jaringan yaitu:
1. SHP (Shortest Host Path) Metric.
2. SVP (Shortest Vulnerability Path) Metric.
3. SWPP (Shortest Worst Performance Path) Metric.
4. EVP (Exploited Vulnerability Percentage) Metric.
5. VHP (Vulnerable Host Percentage) Metric.
Metrik-metrik keamanan berbasis graf serangan telah dihasilkan pada
penelitian disertasi ini. Dalam menggambarkan derivasi dari metrik ini,
penelitian yang dilakukan telah mengidentifikasi keterbatasan dari kelas
metrik-metrik keamanan ini. Metrik-metrik keamanan ini diusulkan untuk
melengkapi metrik keamanan berbasis graf yang sudah ada sebelumnya.
Penerapan metrik keamanan baik secara terpisah maupun secara berkelompok
untuk mengevaluasi keamanan jaringan juga dibahas.
2. Framework untuk mengevaluasi keamanan jaringan
Penelitian ini bertujuan membuat suatu framework untuk mengevaluasi dan
meningkatkan keamanan jaringan komputer yang lebih komprehensif.
Framework ini tidak hanya menganalisis langkah-langkah serangan oleh
penyusup pada suatu jaringan komputer dan menghasilkan grafnya saja.
Namun juga menganalisis berbagai kombinasi countermeasure yang akan
diterapkan dan menghitung resiko dan biaya total dari penerapan
countermeasure itu. Kombinasi countermeasure ini dipilih berdasarkan
kebutuhan pengguna.
3. Algoritma untuk membangun graf serangan
Dalam penelitian disertasi ini juga dihasilkan suatu algoritma untuk
membangun graf serangan status, graf serangan host dan graf serangan
83
vulnerabilitas. Graf status kinerja jaringan, graf akses host dan graf
vulnerabilitas dibangun sebagai alat bantu untuk menghitung metrik-metrik
keamanan jaringan pada suatu jaringan komputer.
Pada penelitian disertasi ini telah berhasil dilakukan studi simulasi untuk berbagai
kasus. Dalam penelitian simulasi pertama ditunjukkan bukti yang mendukung
klasifikasi tentang metrik keamanan berbasis graf serangan. Studi simulasi juga
memberikan wawasan tentang bagaimana dan kapan metrik-metrik keamanan
jaringan ini sebaiknya digunakan untuk mengevaluasi keamanan jaringan.
Dalam menerapkan metrik keamanan jaringan berbasis graf serangan pada
program keamanan suatu organisasi, disertasi ini telah mengadopsi metrik-metrik
secara praktis. Pada pembahasan mengenai keterbatasan metrik-metrik keamanan,
disertasi ini menyajikan panduan yang dapat membantu para analis keamanan
menggunakan metrik-metrik keamanan berbasis graf.
V.2 Tindak Lanjut
Sebagai tindak lanjut penelitian yaitu membuat model formal yang bisa
menghasilkan graf serangan pada host secara individu. Dengan menyajikan
model seperti itu akan mempermudah dalam mengevaluasi metrik keamanan
jaringan pada sistem real. Dengan mengakses pada satu host, peneliti akan
mempunyai kemampuan untuk menilai seberapa baik metrik keamanan yang
berbeda bersesuaian dengan kecelakaan keamanan tanpa harus membangun
jaringan secara keseluruhan.
Berdasarkan hasil-hasil yang sudah diperoleh dan dijelaskan sebelumnya, penulis
menyarankan beberapa hal yang dapat dijadikan tindak lanjut dari disertasi ini:
1. Perlu penelitian lebih lanjut dalam menganalisis cost dan benefit dari
penerapan berbagai kombinasi countermeasure. Penelitian lanjutan ini dapat
memberikan rekomendasi yang lebih komprehensif dalam memilih kombinasi
countermeasure.
2. Perlu penelitian lebih lanjut dalam mengimplementasikan framework
termasuk metrik-metrik keamanan jaringan komputer dalam bentuk aplikasi.
Aplikasi ini bisa didesain agar dapat men-scan vulnerabilitas yang ada pada
84
jaringan komputer dan selanjutnya melakukan analisis jalur serangan dan
pemilihan kombinasi countermeasure.
3. Mengembangkan metode untuk menghitung benefit-cost rasio dari penerapan
security countermeasure.
85
Daftar Pustaka
Ahmed, M. S., Al-Shaer, E., Khan, E. (2008). A novel quantitative approach formeasuring network security. Proceedings of IEEE INFO COM 2008.
Chen, F., Liu, A., Zhang, Y., Su, J. (2010). A Scalable Approach to AnalyzingNetwork Security using Compact Attack Graph. JOURNAL OFNETWORKS, VOL. 5, NO. 5.
Furnell, S.M., Katsikas, S., Lopez, J., Patel, A. (2008). Securing Information andCommunications Systems: Principles, Technologies, and Applications.Artech House, Inc.
Hayden, L. (2010). IT Security Metrics. New York: The McGraw-HillCompanies.
Hemanidhi, A., Chimmanee, S., Sanguansat, P. (2014). Network Risk Evaluationfrom Security Metric of Vulnerability Detection Tools. TENCON 2014 -2014 IEEE Region 10 Conference. Bangkok.
Herrmann, D. (2002). A Practical Guide to Security Engineering and InformationAssurance. . Auerbach Publications.
Homer, J., Varikuti, A., Ou, X. McQueen, M. A. (2008). Improving Attack GraphVisualization Through Data Reduction and Attack Grouping. . Workshopon Visualization for Computer Security (VizSEC).
Hopkin, P. (2010). Fundamentals of Risk Management: Understanding,Evaluating and Implementing. The Institute of Risk Management.
Husni, E. Kuspriyanto, Basjaruddin, N., Purboyo, T.W., Purwantoro, S., Ubaya,H. (2011). Efficient Tag-to-Tag Near Field Communication(NFC)Protocol for Secure Mobile Payment. Instrumentation, Communications,Information Technology, and Biomedical Engineering (ICICI-BME).
Idika, N. C. (2010). Characterizing and Aggregating Attack Graph-BasedSecurity Metrics. . PhD Dissertation. Purdue University. West Lafayette.Indiana.
Ingols, K., Chu, M. Lippmann, R., Webster, S., Boyer, S. (2009). ModelingModern Network Attacks and Countermeasures Using Attack Graphs.Annual Computer Security Applications Conference (ACSAC) 25th.
Jaquith, A. (2007). Security metrics : replacing fear, uncertainty, and doubt.Pearson Education, Inc.
Krautsevich, L., Martinelli, F., Yautsiukhin, A. (2010). Formal approach tosecurity metrics: What does “more secure” mean for you? IEEE Paper.IEEE/ASME International Conference on Mechatronic and EmbeddedSystems and Application.
Langweg, H. (2007). Software Security Metrics for Malware Resilience. PhDDissertation. Bonn University.
Lippmann, R., Ingols, K., Scott, C., Piwowarski, Kratkiewicz, K., Artz, M.,Cunningham, R. (October 2006). Validating and restoring defense in depthusing attack graphs. Military Communications Conference.
Liu, M. Y. (2008). Quantitative Security Analysis for Service-Oriented SoftwareArchitectures. . PhD Dissertation. Department of Electrical and ComputerEngineering. University of Victoria.
86
Matoušek, J., Bernd Gärtner, B. (2007). Understanding and Using LinearProgramming. Springer Verlag.
N. Idika, B. Marshall, and B. Bhargava. (Apr. 2009.). Maximizing Security givena Limited Budget. Proc. TAPIA ’09: Richard Tapia Celebration ofDiversity in Computing,.
Noel, S., Jajodia, S., O’Berry, B. and Jacobs, M. (2003). Efficient minimum-costnetwork hardening via exploit dependency graphs. In Proceedings of the19th Annual Computer Security Applications Conference (ACSAC 2003).
Ozment, A. (2007). Vulnerability Discovery & Software Security. PhDDissertation. University of Cambridge.
Patel, H. (2009). Intrusion Alerts Analysis Using Attack Graphs and Clustering.San Jose State University.
Purboyo, T. W., Kuspriyanto. (2013, November 26-28). Methods forStrengthening a Computer Network Security. International Conference onRural Information & Communication Technology and Electric-VehicleTechnology (rICT & ICeV-T).
Purboyo, T. W., Kuspriyanto. (2012, August). Some Algorithms for GeneratingAttack Graph. International Journal of Advanced Research in ComputerScience and Software Engineering, Volume 2(Issue 8).
Purboyo, T. W., Kuspriyanto. (2013). A Review of Network Security Metrics.International Journal of Advanced Research in Computer Science andSoftware Engineering, Vol. 3(Issue 9).
Purboyo, T.W. Rahardjo, B. (2012, August). Attack Graph Based SecurityMetrics: State of the Art. International Journal of Science andEngineering Investigations, vol. 1(issue 7).
Purboyo, T.W. Rahardjo, B. Kuspriyanto. (2012, September 11-12). SomeFramework, Architecture and Approach for Analysis A NetworkVulnerability. International Conference on System Engineering andTechnology.
Purboyo, T.W., Rahardjo B., Kuspriyanto., Detiena I.M. (March 2012.). (2012): ANew Metrics for Predicting Network Security Level. Journal of GlobalResearch in Computer Science (JGRCS), Vol. 3 No. 3 p. 68-72.
Purboyo, T.W., Rahardjo, B., Kuspriyanto. (2011). Security Metrics: A BriefSurvey. International Conference on Instrumentation, Communication,Information Technology and Biomedical Engineering. Bandung,Indonesia.
Purboyo, T.W., Rahardjo, B., Kuspriyanto. (Nov.2011). Security Metrics: A BriefSurvey. International Conference ICICI-BME 8-9.
Puri, S. (2010). A risk assessment framework to reduce risk level and optimizesoftware quality. , A Journal of Physical Sciences, Engineering andTechnology, vol. 1, no. 1, pp. 33–39.
Rahardjo, B. (2005). Keamanan Sistem Informasi Berbasis Internet, versi 5.4. PT.Insan Infonesia-Bandung & PT. Indocisc-Jakarta.
Rosen, K. (2006). Discrete Mathematics and Its Applications. Sixth Edition. Mc-Graw Hill International Edition.
Schechter, S. E. (2004). Computer Security Strength & Risk: A QuantitativeApproach. PhD Dissertation. The Division of Engineering and AppliedSciences. Harvard University.
87
Swanson, M., Bartol, N., Sabato, J., Hash, J., Graffo, L.i. (2003). Security metricsguide for information technology systems. Technical Report 800-55,National Institute of Standards and Technology, available viahttp://csrc.nist.gov/publications/nistpubs/800-55/sp800-55.pdf.
Viduto, V., Maple, C., Huang, W., López-Peréz, D. (2012). A novel riskassessment and optimisation model for a multi-objective network securitycountermeasure selection problem. Decision Support Systems 53, pp.599–610.
Wang, L. Islam, T. Long, T. Singhal, A. Jajodia, S. (2008). An attack graph-basedprobabilistic security metric. DAS 2008, LNCS 5094, pp. 283–296.
Wang, L. Singhal, A. Jajodia, S. (August 2007). Measuring overall security ofnetwork con-figurations using attack graphs. Data and ApplicationsSecurity XXI, vol. 4602, pp. 98–112.
Yautsiukhin, A. (2009). A Framework for Quantitative Security Analysis ofComplex Business Systems. PhD Dissertation. International DoctorateSchool in Information and Communication Technologies (DIT).University of Trento.
88
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 7 November 1973 di
Purwokerto. Ia lulus dari SMA Negeri I Cianjur pada tahun
1992.
Ia memperoleh gelar Sarjana Fisika pada tahun 1998 di
Jurusan Fisika Institut Teknologi Bandung dan gelar Sarjana
Teknik Sipil pada tahun 2001 di Jurusan Teknik Sipil Universitas Gadjah Mada.
Ia memperoleh gelar Magister pada tahun 2009 di Jurusan Matematika Institut
Teknologi Bandung. Sejak tahun 2014 ia menjadi anggota staf pengajar di
Program Studi Sistem Komputer Universitas Telkom.
Penulis menikah dengan Ultah Dianawati pada tahun 2003 dan mempunyai dua
orang anak Rafi Athalla, 10 tahun, dan Ghani Naufal, 4 tahun.
Daftar publikasi:
Jurnal Internasional:
1. Irawati, Purboyo, TW., Developing Computer Program for Computing
Eigen pairs of 2x2 Matrices and 3x3 Upper Triangular Matrices Using The
Simple Algorithm, Far East Journal of Mathematical Sciences (FJMS),
Volume 56, Issue 2, p. 185-200, September 2011.
2. Purboyo, TW., Rahardjo, B., Kuspriyanto, I. M. Alamsyah, A New
Metrics for Predicting Network Security Level, Journal of Global
Research in Computer Science, Volume 3, No. 3, March 2012.
3. Purboyo, TW., Kuspriyanto, New Non Path Metrics for Evaluating
Network Security Based on Vulnerability, International Journal of
Computer Science Issues, Vol. 9, Issue 4, No 1, July 2012.
4. Purboyo, TW., Rahardjo, B., A Review of Key Length Selection Formula
for Elliptic Curve Cryptosystems, International Journal of Advanced
Research in Computer Science, Volume 3, No. 4, July- August 2012.
89
5. Purboyo, TW., Kuspriyanto, Attack Graph Based Security Metrics: State
of The Art, International Journal of Science and Engineering
Investigations, Vol. 1, Issue 7, August 2012.
6. Purboyo, TW., Kuspriyanto, Some Algorithms for Generating Attack
Graph, International Journal of Advanced Research in Computer Science
and Software Engineering, Volume 2, Issue 8, August 2012.
7. Purboyo, TW., Kuspriyanto, A Survey on Network Security Hardening
Models, International Journal of Application or Innovation in Engineering
& Management, Volume 2, Issue 7, July 2013.
8. Purboyo, TW., Kuspriyanto, A Review of Network Security Metrics,
International Journal of Advanced Research in Computer Science and
Software Engineering, Volume 3, Issue 9, September 2013.
9. Purboyo, TW., Kuspriyanto, A Framework for Analysis A Network
Vulnerability, International Journal of Emerging Trends & Technology in
Computer Science, Volume 2, Issue 4, July – August 2013.
10. Ardana, IGM., Purboyo, TW., Kuspriyanto, A Review on Voter
Anonimity Methods, International Journal of Advanced Research in
Computer Science and Software Engineering, Volume 3, Issue 5, May
2013.
Konferensi Internasional :
1. Purboyo, TW., Rahardjo, B., Kuspriyanto. Security Metrics: A Brief
Survey. 2011 International Conference on Instrumentation,
Communication, Information Technology and Biomedical Engineering,
Bandung, Indonesia, 8-9 November 2011.
2. Emir Husni, Kuspriyanto, Purboyo, TW., Efficient Tag-to-Tag Near Field
Communication (NFC) Protocol for Secure Mobile Payment. 2011
International Conference on Instrumentation, Communication, Information
Technology and Biomedical Engineering, Bandung, Indonesia, 8-9
November 2011.
90
Lampiran 1 Flowchart Inisiasi Data
Start
N, L, V, R
i = 1 .. N
VPN[i] = –1
i = 0 .. N
PRIV[i] = –1
s = 0
src = 0
PRIV[src] = 2
i = 1 .. N
PRIV[i] = PRIV[i] + L[src,i]
1
1
STAT[s, 0]= s
i = 1 .. N
STAT[s, i] = VPN[i]
i = 0 .. N
STAT[s, N + 1 + i] = PRIV[i]
i = src
j = rand(1, N)
j = L[i, j]
j = 1
dest = j
Y
N
2 3
91
Lampiran 2 Flowchart Implementasi Attack Rules
Rules = V[j, 2]
2
r = rand(1, 2)
PRIV[j] = R[r, 4]
i = 1 .. N
VPN[i] = VPN[i] + R[r, 5 + i]
PRIVs<
MaxPriv
Y
N
3
STATs
End
92
Lampiran 3 Keluaran Program Komputer
Results# s vpn1 vpn2 vpn3 vpn4 ip0 ip1 ip2 ip3 ip4 S D R sprev0 -1 -1 -1 -1 2 0 -1 -1 -1 -1 -1 0 -11 0 -1 -1 -1 2 1 0 0 0 0 1 6 02 1 0 -1 -1 2 1 0 0 2 1 4 5 13 1 0 0 0 2 1 0 1 2 1 3 3 24 2 0 1 0 2 1 1 1 2 1 2 1 35 2 1 1 0 2 1 2 1 2 1 2 2 46 0 -1 0 0 2 1 0 1 0 1 3 3 17 1 0 0 0 2 1 0 1 2 1 4 5 68 2 0 1 0 2 1 1 1 2 1 2 1 79 0 -1 0 0 2 1 0 1 0 1 3 4 110 1 -1 1 0 2 1 1 1 0 1 2 1 911 1 0 -1 -1 2 1 0 0 2 1 4 5 112 2 0 0 -1 2 1 1 0 2 1 2 1 1113 2 1 0 -1 2 1 2 0 2 1 2 2 1214 2 1 1 0 2 1 2 1 2 1 3 3 1315 0 -1 0 0 2 1 0 1 0 1 3 4 116 1 0 0 0 2 1 0 1 2 1 4 5 1517 2 0 1 0 2 1 1 1 2 1 2 1 1618 2 1 1 0 2 1 2 1 2 1 2 2 1719 1 0 0 0 2 1 0 1 2 3 4 5 620 2 0 1 0 2 1 1 1 2 3 2 1 1921 1 0 -1 -1 2 1 0 0 2 1 4 5 122 2 0 0 -1 2 1 1 0 2 1 2 1 2123 2 0 1 0 2 1 1 1 2 1 3 4 2224 1 0 -1 -1 2 1 0 0 2 1 4 5 125 2 0 0 -1 2 1 1 0 2 1 2 1 2426 2 0 1 0 2 1 1 1 2 1 3 3 2527 1 -1 0 -1 2 1 1 0 0 1 2 1 128 1 0 0 -1 2 1 2 0 0 1 2 2 2729 1 0 1 0 2 1 2 1 0 1 3 3 2830 2 1 1 0 2 1 2 1 2 1 4 5 2931 1 -1 0 -1 2 1 1 0 0 1 2 1 132 2 0 0 -1 2 1 1 0 2 1 4 5 3133 2 1 0 -1 2 1 2 0 2 1 2 2 3234 2 1 1 0 2 1 2 1 2 1 3 4 3335 1 0 0 0 2 1 0 1 2 4 3 4 236 1 -1 0 -1 2 1 1 0 0 1 2 1 137 2 0 0 -1 2 1 1 0 2 1 4 5 3638 2 1 0 -1 2 1 2 0 2 1 2 2 3739 2 1 1 0 2 1 2 1 2 1 3 4 3840 2 0 1 0 2 1 1 1 2 2 3 3 2241 1 0 -1 -1 2 1 0 0 2 1 4 5 142 1 0 0 0 2 1 0 1 2 1 3 4 4143 2 0 1 0 2 1 1 1 2 1 2 1 4244 1 0 0 0 2 1 0 1 2 4 3 3 21
Some statuses are still duplicates from other status. Removing the duplicatedstatus should also reorder the status number s and its reference sprev. Theduplications are leaving here to show the link between statuses.
93
Lampiran 4 Listing Program Komputer
/*agvpn.cppAttack Graph based on Virtual Performance Node
Sparisoma Viridi | [email protected] Waluyo Purboyo | [email protected]
Compile: g++ agvpn.cpp -o agvpnExecute: ./agvpnNote: Following files are required:
attack-rules.txtvpns.txtlinks.txtip-vuls.txtvulnerabilities.txt
History:20150627
Create this program (struct, array, vector)20150628
Add vulnerability 0 for attacker.Change program name from vpn-simul to agvpnNotification where *.txt not available isnot yet implementedSimulation results stuck if there is noavailable IP. It still can not go back inthe search tree.
20150822Try to understand (again) the code :-p.Found the problem, that using iteration of ip,
alwaysthe last ip chosen. Try to change it with random
ip.Simplify output style, comments uncecessary verboseoutput.Solve poblem finding dest_ip using random function
[1604].Problem by loosing ip to IP_NONE and randomly
choose therenew one, vpn and priv should be loaded from status.Create overload operator == for status struct.
*/
# include <iostream># include <cmath># include <cstring># include <cstdlib># include <fstream># include <sstream># include <vector># include <ctime>
using namespace std;
94
# define V_ROOT 0
# define P_DISC -1# define P_ACCS 0# define P_USER 1# define P_ROOT 2
# define IP_NONE -1
# define VERBOSE false
struct vulnerability {public:
int id;string text;vulnerability(void);~vulnerability(void);
};
vulnerability::vulnerability(void) {id = -1;text = "";
}
vulnerability::~vulnerability(void) {id = -1;text = "";
}
struct vpn {public:
int id;string text;vpn(void);~vpn(void);
};
vpn::vpn(void) {id = -1;text = "";
}
vpn::~vpn(void) {id = -1;text = "";
}
struct ipvuls {int ip;vector<int> vuls;ipvuls(void);~ipvuls(void);
};
95
ipvuls::ipvuls(void) {int ip = -1;vuls.clear();
}
ipvuls::~ipvuls(void) {int ip = -1;vuls.clear();
}
struct attackrule {int vid;int src;int desti;int destf;double prob;vector<int> vpn;attackrule(void);~attackrule(void);string strval(void);
};
attackrule::attackrule(void) {vid = -1;src = -1;desti = -1;destf = -1;prob = 0.0;vpn.clear();
}
attackrule::~attackrule(void) {vid = -1;src = -1;desti = -1;destf = -1;prob = 0.0;vpn.clear();
}
string attackrule::strval(void) {stringstream ss;ss << vid << "\t";ss << src << "\t";ss << desti << "\t";ss << destf << "\t";ss << prob << "\t";for(int iv = 0; iv < vpn.size(); iv++) {
ss << vpn[iv];if(iv < vpn.size() - 1) ss << "\t";
}return ss.str();
}
96
struct status {int cur;int prev;vector<int> vpn;vector<int> priv;int src;int dest;int rule;status(void);~status(void);string strval(void);
};
bool operator ==(const status si, const status sj) {bool value = true;bool e_src = (si.src == sj.src);bool e_dest = (si.dest == sj.dest);bool e_rule = (si.rule == sj.rule);value = value && e_src && e_dest && e_rule;for(int i = 0; i < si.vpn.size(); i++) {
bool e_vpn = (si.vpn[i] == sj.vpn[i]);value = value && e_vpn;
}for(int i = 0; i < si.priv.size(); i++) {
bool e_priv = (si.priv[i] == sj.priv[i]);value = value && e_priv;
}return value;
}
status::status(void) {cur = -1;prev = -1;vpn.clear();priv.clear();src = -1;dest = -1;rule = 0;
}
status::~status(void) {cur = -1;prev = -1;vpn.clear();priv.clear();src = -1;dest = -1;rule = 0;
}
string status::strval(void) {stringstream ss;//ss << prev << "\t";for(int i = 0; i < vpn.size(); i++) {
ss << vpn[i];
97
ss << "\t";}for(int i = 0; i < priv.size(); i++) {
ss << priv[i];ss << "\t";
}ss << src << "\t";ss << dest << "\t";ss << rule << "\t";ss << prev;return ss.str();
}
struct sag {vector<status> list;sag(void);~sag(void);string content(void);
};
sag::sag(void) {list.clear();
}
sag::~sag(void) {list.clear();
}
string sag::content(void) {stringstream ss;//ss << "# cur\tprev\t";ss << "# s\t";for(int i = 0; i < list[0].vpn.size(); i++) {
int j = i + 1;ss << "vpn" << j << "\t";
}for(int i = 0; i < list[0].priv.size(); i++) {
ss << "ip" << i;ss << "\t";
}ss << "S\tD\tR\tsprev" << endl;for(int i = 0; i < list.size(); i++) {
ss << i << "\t";ss << list[i].strval();ss << endl;
}return ss.str();
}
int main(int argc, char *argv[]) {srand(time(NULL));
if(VERBOSE) {cout << "# agvpn" << endl;
98
}
// Read vulnerabilities description fileconst char *vulsfn = "vulnerabilities.txt";ifstream vulsf;vulsf.open(vulsfn);int numvul = 0;while(vulsf.good()) {
string line;getline(vulsf, line);if(line.length() > 0) numvul++;
}vulsf.close();vulsf.clear();numvul /= 2;vulnerability vuls[numvul];vulsf.open(vulsfn);int i = 0;while(vulsf.good()) {
string line;getline(vulsf, line);if(line.length() > 0) {
stringstream ss1;ss1 << line << endl;ss1 >> vuls[i].id;stringstream ss2;getline(vulsf, line);ss2 << line;vuls[i].text = ss2.str();i++;
}}vulsf.close();if(VERBOSE) {
cout << "Number of vulnerability types = ";cout << numvul << endl;for(int i = 0; i < numvul; i++) {
cout << vuls[i].id << endl;cout << vuls[i].text << endl;
}cout << endl;
}
// Read VPN description fileconst char *vpnfn = "vpns.txt";ifstream vpnf;vpnf.open(vpnfn);int numvpn = 0;while(vpnf.good()) {
string line;getline(vpnf, line);if(line.length() > 0) numvpn++;
}vpnf.close();vpnf.clear();numvpn /= 2;
99
vpn vpns[numvpn];vpnf.open(vpnfn);i = 0;while(vpnf.good()) {
string line;getline(vpnf, line);if(line.length() > 0) {
stringstream ss1;ss1 << line << endl;ss1 >> vpns[i].id;stringstream ss2;getline(vpnf, line);ss2 << line;vpns[i].text = ss2.str();i++;
}}vpnf.close();if(VERBOSE) {
cout << "Number of VPN types = ";cout << numvpn << endl;for(int i = 0; i < numvpn; i++) {
cout << vpns[i].id << endl;cout << vpns[i].text << endl;
}cout << endl;
}
// Read IP vulnerabilities rule fileconst char *ivfn = "ip-vuls.txt";ifstream ivf;ivf.open(ivfn);int numip = 0;while(ivf.good()) {
string line;getline(ivf, line);if(line.length() > 0) numip++;
}ivf.close();ivf.clear();ipvuls V[numip];ivf.open(ivfn);i = 0;while(ivf.good()) {
string line;getline(ivf, line);if(line.length() > 0) {
stringstream ss;ss << line;int ip;ss >> ip;V[i].ip = ip;ss >> line;char str[256];strcpy(str, line.c_str());char *vrule = strtok(str, ",");
100
while(vrule != NULL) {stringstream st;st << vrule;int rule;st >> rule;V[i].vuls.push_back(rule);vrule = strtok(NULL, ",");
}i++;
}}ivf.close();if(VERBOSE) {
cout << "Number of involved IPs = ";cout << numip << endl;for(int i = 0; i < numip; i++) {
cout << V[i].ip << "\t{";for(int j = 0; j < V[i].vuls.size(); j++){
cout << V[i].vuls[j];if(j < V[i].vuls.size() - 1)
cout << ",";}cout << "}" << endl;
}cout << endl;
}
// Read link matrix fileconst char *lfn = "links.txt";ifstream lf;lf.open(lfn);int links = 0;while(lf.good()) {
string line;getline(lf, line);if(line.length() > 0) links++;
}lf.close();lf.clear();const int N = links;int L[N][N];lf.open(lfn);i = 0;while(lf.good()) {
string line;getline(lf, line);if(line.length() > 0) {
stringstream ss;ss << line;for(int j = 0; j < N; j++) {
ss >> L[i][j];}i++;
}}lf.close();
101
if(VERBOSE) {cout << "Number of possible links = ";cout << N * N << endl;for(int i = 0; i < N; i++) {
for(int j = 0; j < N; j++) {cout << L[i][j] << "\t";
}cout << endl;
}cout << endl;
}
// Read attack rules fileconst char *atfn = "attack-rules.txt";ifstream atf;atf.open(atfn);int numatr = 0;while(atf.good()) {
string line;getline(atf, line);if(line.length() > 0) numatr++;
}atf.close();atf.clear();attackrule R[numatr];atf.open(atfn);i = 0;while(atf.good()) {
string line;getline(atf, line);if(line.length() > 0) {
stringstream ss;ss << line;ss >> R[i].vid;ss >> R[i].src;ss >> R[i].desti;ss >> R[i].destf;ss >> R[i].prob;for(int iv = 0; iv < numvpn; iv++) {
int avpn;ss >> avpn;R[i].vpn.push_back(avpn);
}i++;
}}atf.close();if(VERBOSE) {
cout << "Number of attack rules = ";cout << numatr << endl;for(int i = 0; i < numatr; i++) {
cout << R[i].strval() << endl;}cout << endl;
}
102
// Define array attacker privilege on all IPsint priv[numip];for(int i = 0; i < numip; i++) {
// Initialize with default privilegepriv[i] = P_DISC;
}
// Find attacker IPfor(int ip = 0; ip < numip; ip++) {
for(int iv = 0; iv < V[ip].vuls.size(); iv++) {int vid = V[ip].vuls[iv];if(vid == V_ROOT) {
priv[ip] = P_ROOT;}
}}
// Find available destination IP using link matrixfor(int ip = 0; ip < numip; ip++) {
int src_ip = IP_NONE;for(int i = 0; i < numip; i++) {
if(priv[i] == P_ROOT) {src_ip = i;
}}int link = L[src_ip][ip];if(link == 1 && ip != src_ip) {
priv[ip] = P_ACCS;}
}
// Initiate first statusstatus s;s.cur = 1;s.prev = -1;for(int i = 0; i < numvpn; i++) {
s.vpn.push_back(-1);}for(int ip = 0; ip < numip; ip++) {
s.priv.push_back(priv[ip]);}sag table;table.list.push_back(s);int prev = 0;
// Statusstatus ss = s;
// Initial IPint src_ip = IP_NONE;int dest_ip = IP_NONE;
// Maximum can not finding target IPint max_no_ip = 100;int no_ip = 0;
103
// Iterating attack processint tmax = 10000;for(int t = 0; t < tmax; t++) {
while(src_ip == IP_NONE) {int ip = rand() % numip;if(priv[ip] > P_ACCS) {
src_ip = ip;}
}
int ip = rand() % numip;int link = L[src_ip][ip];while(dest_ip == IP_NONE|| dest_ip == src_ip|| link == 0) {
link = L[src_ip][ip];if(priv[ip] > P_DISC&& priv[ip] <= priv[src_ip]&& ip != src_ip&& link == 1) {
dest_ip = ip;}no_ip++;if(no_ip > max_no_ip) {
no_ip = 0;break;
}ip = rand() % numip;link = L[src_ip][ip];
}
if(src_ip == 0 && dest_ip > 1) {cout << prev << " ";cout << src_ip << " " << dest_ip << endl;cout << L[src_ip][dest_ip] << endl;
}
vector<int> rules;rules.clear();for(int ip = 0; ip < numip; ip++) {
if(V[ip].ip == dest_ip) {for(int iv = 0; iv < V[ip].vuls.size();
iv++) {rules.push_back(V[ip].vuls[iv]);
}}
}
// Choose among multipe rules using randomint Nir = rules.size();int ir = rand() % Nir;int rulenum = rules[ir];
// Get appropriate attack ruleattackrule rule;
104
for(int ir = 0; ir < numatr; ir++) {if(R[ir].vid == rulenum) {
rule = R[ir];}
}
// Update statusbool SRC_OK = (priv[src_ip] >= rule.src);bool DEST_OK = (priv[dest_ip] == rule.desti);if(SRC_OK && DEST_OK) {
ss.src = src_ip;ss.dest = dest_ip;ss.rule = rules[ir];ss.prev = prev;
// Change VPN in statusfor(int iv = 0; iv < ss.vpn.size(); iv++) {
ss.vpn[iv] += rule.vpn[iv];}priv[dest_ip] = rule.destf;
if(t == 0) {src_ip = dest_ip;for(int ip = 0; ip < numip; ip++) {
int link = L[src_ip][ip];if(link == 1
&& ip != src_ip&& priv[ip] < P_ACCS) {priv[ip] = P_ACCS;
}}
}
// Change PRIV in statusss.priv.clear();for(int ip = 0; ip < numip; ip++) {
ss.priv.push_back(priv[ip]);}
// Check whether it is already have the sameor not
bool NEW_STATUS = true;for(int is = 0; is < table.list.size(); is++)
{status ssi = table.list[is];if(ss == ssi) {
NEW_STATUS = false;}
}
//if(NEW_STATUS) {ss.cur = table.list.size();table.list.push_back(ss);prev = ss.cur;
//} else {
105
// cout << "duplicate" << endl;//}
// Loose destination ipdest_ip = IP_NONE;
} else {no_ip++;
// Loose source ipif(no_ip > max_no_ip) {
src_ip = IP_NONE;no_ip = 0;
while(src_ip == IP_NONE) {int Ns = table.list.size();int is = 1 + rand() % (Ns - 2);ss = table.list[is];int ip = ss.dest;if(priv[ip] > P_ACCS) {
src_ip = ip;
// Get a status from tablefor(int ip = 0; ip < numip;
ip++) {priv[ip] =
ss.priv[ip];}prev = ss.cur;
}}
}}
}
// Removing duplicate status
// Show the resultscout << table.content();cout << endl;
return 0;
}