Identifikasi Trafik Terenkripsi dengan Deep Packet Inspection
1. TASMI
09042681519004
Supervisor
Deris Stiawan, M.T,. Ph.D
IDENTIFIKASI TRAFIK TERENKRIPSI
MENGGUNAKAN METODE DEEP PACKET
INSPECTION (DPI)
Megister Teknik Informatika Fakultas Ilmu Komputer Universitas Sriwijaya 2017.
2. BAB I
Latar Belakang
Perumusan Masalah
Tujuan Penelitian
Batasan Masalah
Magister Teknik Informatika Fakultas Ilmu Komputer Universitas Sriwijaya 2017.
3. Latar Belakang
SSL/TLS
( HTTPS)
Menyatakan tidak semua protokol
bisa diidentifikasi terutama jenis
trafik yang terenkripsi (HTTPS), hal
ini dikarenakan jenis paket HTTPS
terlalu kompleks
Aplikasi HTTPS sudah banyak
digunakan untuk menggantikan
aplikasi yang menggunakan HTTP
seperti sending tweets, messages to
mobile, posting, dan search..
Ada 95.4% untuk jenis traffik HTTPS di
internet.
Ada serangan untuk jenis paket
terenkripsi yaitu : 0.58% untuk SSL GET
Floods, dan 0.96 % untuk SSL POST
Floods
Deri, Martinelli, Bujlow, & Cardigliano, 2014
Husák, Cermák, Jirsík, & Celeda, 2016
Nazief, Sabastian, Presekal, & Guarddin, 2014
(Bhople, 2012)
4. Latar Belakang
menggunakan metode DPI untuk
mengidentifikasi jenis trafik dan
membuat decision making terhadap
trafik tersebut
Menggunakan DPI untuk
mendapatkan informasi jenis trafik
menggunakan metode DPI untuk
mendeteksi trafik inbound dan
outbound
Smallwood & Vance, 2011 Parvat & Chandra, 2015
(Bendrath, 2009) dan (C. Xu, Chen, Su, Yiu, & Hui, 2016)
Deep Packets Inspection
Multi Layer Packets
5. Latar Belakang
mengidentifikasi jenis trafik dengan cara mengenali
data payload secara Real-time
menggunakan ip address dan port
number untuk mendeteksi dan
memilah paket data
menggabungkan metode
Machine Learning dan Artificial
Intelligent untuk mengidentifikasi
jenis trafik
Arndt & Zincir-Heywood, 2011
Jesudasan, Branch, & But, 2010 dan
Alshammari & Zincir-Heywood, 2010
Amoli & Hamalainen Timo, 2013
6. Perumusan Masalah
• Bagaimana Memproses Capture Packet, Extrac
Data
• Bagaimana melakukan proses Validasi data
• Bagaimana melakukan proses IDENTIFIKASI
paket data terenkripsi dengan menggunakan
metode DPI
7. Tujuan Penelitian
Dapat IDENTIFIKASI paket data Terenkripsi
Melakukan proses Visualisasi Paket Data
Terenkripsi
Mengimplementasikan metode Deep
Packet Inspection (DPI) untuk IDENTIFIKASI
paket data terenkripsi
8. Mekanisme deteksi berdasaskan knowledge
dengan penggunaan HTTPS Inspect
Preprocessor dan Rule Options.
Jenis trafik terenkripsi diujikan hanya pada
SSL version TLSv1.0 dan TLSv1.2.
Tidak menjelaskan proses decision making
dan proses pencegahan paket terenkripsi.
Proses visualisasi data tidak dilakukan secara
real-time
Batasan Masalah
9. BAB II
Protokol Data Enkripsi
SSL Handshake
TLS Handshake
Feature Extraction
Feature Selection
Deep Paket Inspection
10. Protokol Data Enkripsi
1.Aplikasi Peer to Peer .
2. Keamanan dan Privacy (Security Socket Layer (SSL), Virtual Private Network
(VPN), dan Secure Shell (SSH)
(Cao, Xiong, Zhao, Li, & Guo, 2014)
• Privacy atau Confidentiality, mencakup kerahasiaan informasi. Inti aspek privacy
adalah bagaimana menjaga informasi agar tidak dilihat atau diakses oleh orang
yang tidak berhak
• Message Integrity, atau integritas mencakup keutuhan informasi. Inti aspek
integrity adalah bagaimana menjaga informasi agar tetap utuh atau dapat
dikatakan apa yang diterima harus sama dengan apa yang dikirim
• Authentication, atau otentikasi berkaitan dengan keabsahan pemilik informasi
(Panwar & Kumar, 2012)
12. SSL Handshake
1. Browser connects to a web server (website) secured with SSL (https). Browser requests that the server
identify itself.
2. Server sends a copy of its SSL Certificate, including the server’s public key.
3. Browser checks the certificate root against a list of trusted CAs and that the certificate is unexpired,
unrevoked, and that its common name is valid for the website that it is connecting to. If the browser trusts
the certificate, it creates, encrypts, and sends back a symmetric session key using the server’s public key.
4. Server decrypts the symmetric session key using its private key and sends back an acknowledgement
encrypted with the session key to start the encrypted session.
5. Server and Browser now encrypt all transmitted data with the session key.
13. TLS Handshake
1. TLS record protocol
bekerja dengan
melakukan koneksi
yang privat antara klien
dan server.
2. TLS Handshake Protocol
memberikan izin
komunikasi yang telah
ter-autentikasi untuk
memulai koneksi antara
client dan server.
14. Feature Extraction
• Tujuan
• Human Readable
• Pola-pola sebuah paket
FEATURE
EXTRACTION
(Davis & Clark, 2011) menjelaskan tipe-tipe jenis data yang diperlu dalam proses preprocessing
(Song, Takakura, &
Kwon, 2008) untuk
mengidentifikasi pola
untuk mengenali paket
serangan
(X. Xu, 2006) feature
extraction merupakan dasar
dari IDS dengan
menggunakan machine
learning untuk
mengoptimalkan model deteksi
(Alshammari & Zincir-Heywood, 2011)
menyatakan ada dua bagian pada panjang
variabel paket data, pertama adalah header
yang berisi antara 20 sampai 60 byte
(Vasudevan, Harshini, & Selvakumar, 2011)
berhasil mengekstraks paket sebanyak tujuh fitur,
(1) Jumlah paket UDP, (2) Jumlah Koneksi Host,
(3) Jumlah Paket ICMP, (4) Jumlah SYN yang
salah, (5) Windows Size, (6) Flag dan (7) Jenis
Layanan
15. Feature Selection (Feature Rangking)
Tujuan penggunaan seleksi fitur (feature selection) untuk membersihkan fitur-fitur yang tidak relevan. feature
Rangking adalah satu metode yang menghasilkan nilai untuk tiap-tiap atribut, masing-masing atribut dihitung
dan diurutkan berdasarkan skor, dimana skor adalah derajat relevansi yang bergantung pada aplikasi
(Ruiz, Riquelme, & Aguilar-Ruiz, 2005) dan (Novakovid, Strbac, & Bulatovid, 2011)
menggunakan FR untuk proses selection attribut. Ada lima metode yang digunakan
untuk mencari rangking dari atribut yaitu Information Gain (IG), Gain Ratio (GR),
Symmetrical Uncertainty (SU), Relief-F (RF) dan One R yang berbasis entropy
(Slocum, 2012) menyatakan bahwa pada dasarnya entropy digunakan untuk
menafsirkan ketidakpastian dari beberapa atribut dari sebuah data set
16. 𝐻 𝑌 = − 𝑝 𝑦 𝑙𝑜𝑔2(𝑝 𝑦 )
𝑦𝜖𝑌
(𝐻 𝑌 𝑋 = − 𝑝 𝑥 𝑝 𝑦 𝑥 𝑙𝑜𝑔2𝑦𝜖𝑌 𝑝( 𝑦 𝑥 )𝑥𝜖𝑋
Feature Selection (Feature Rangking)
p(y|x) adalah probabilitas dari y terhadap x
Persamaan entropy
18. Feature Selection (Feature Rangking)
Relief-F
Relief-F adalah algortima feature selection yang digunakan untuk mengukur
kualitas atribut berdasarkan besarnya perbedaan nilai atribut. Atribut akan
memberikan nilai pada masing-masing fitur berdasarkan kemampuan fitur
untuk membedakan nilai antara atribut. Perhitungan nilai didasarkan pada
probabilitas tetangga terdekat dari dua kelas yang berbeda yang juga memiliki
nilai yang berbeda
One R
One-R adalah algortima akan membangkitkan sebuah rule dengan membuat
satu aturan untuk masing-masing atribut dan kemudian memilih aturan
dengan kesalahan terkecil.
19. (Bendrath, 2009) dan (Xu et al.,
2016)
Beberapa fungsi dari DPI diantaranya:
• Network security
• Network management
• Surveillance
• Content regulation
• Copyright enforcement
• Ad injection
Aplikasi DPI untuk manajemen bandwidth dan
keamanan jaringan (Xu et al., 2016)
DEEP PACKET INSPECTION (DPI)
20. • Tingkatan Packet Inspesction
Level Inspeksi Paket. (Moon & Kim, 2014) dan (Wandhare & Gujar, 2014)
DEEP PACKET INSPECTION (DPI)
22. • Metode DPI
Metode pada Deep Packet Inspection (Xu et al., 2016)
Penelitian oleh (Stiawan, Abdullah, &
Idris, 2010), (Parvat & Chandra, 2015) dan
(Najam et al., 2015) menggunakan DPI
dengan pendekatan regular expression
(regex)
DEEP PACKET INSPECTION (DPI)
23. Deterministic Finite Automata
Definisi 2.9.1 Sebuah finite automata terdiri dari lima komponen
𝑀 = (𝑄, Σ, 𝛿, 𝑞0, 𝐹)
di mana :
1. Q adalah himpunan set berhingga yang disebut dengan himpunan states.
2. Σ adalah himpunan berhingga alfabet dari simbol .
3. δ : Q × Σ adalah fungsi transisi, merupakan fungsi yang mengambil states dan alfabet input
sebagai argumen dan menghasilkan sebuah state. Fungsi transisi sering dilambangkan dengan δ.
4. q0 ϵ Q adalah states awal.
5. F ⊆ Q adalah himpunan states akhir.
Definisi 2.9.2 Suatu finite automata M = (Q,Σ,δ,q0,F) akan menerima sebuah string w jika kumpulan
states r0r1 · · · rn dalam Q memenuhi tiga kondisi :
1. r0 = q0.
2. δ(ri, wi+1) = ri+1 untuk i = 0, · · · , n – 1.
3. rn ϵ F.
dengan w = w1w2...wn adalah string masing-masing wi adalah anggota alphabet Σ
24. Deterministic Finite Automata
δ q0, a = q0 δ q0, b = q1 δ q1, a = q1
δ q1, b = q2 δ q2, a = q1 δ q2, b = q2
Q={q0, q1, q2}
Σ={a,b}
S=q0
F={q2}
25. Regular Expression ( Regex )
Sintak Keterangan
^ Jika diletakkan di depan pattern, akan cocok dengan awal sebuah string
[] ekspresi kurung. cocok dengan satu karakter yang berada dalam kurung
? cocok dengan nol atau satu karakter sebelumnya
[^] cocok dengan sebuah karakter yang tidak ada dalam kurung, berlawanan dengan
yang diatas
* cocok dengan nol atau lebih karakter sebelumnya
Pola dari Regular Expressions (Wandhare & Gujar, 2014)
DFA untuk Regex .*AB.*CD | .*EF.*GH (Antonello, Fernandes, Santos, Sadok, & Szab, 2012)
26. BAB III
IDE PENELITIAN
FRAMEWORK PENELITIAN
TAHAP I PERANCANGAN SISTEM
TAHAP II SNIFFING PAKET
TAHAP III FEATURE EXTRACTION
TAHAP IV FEATURE SELECTION
(FEATURE RANGKING)
TAHAP V IDENTIFIKASI REAL-TIME
37. BAB IV
Hasil Sniffing Paket
Hasil Feature Extraction
Hasil Klasifikasi Paket Data
Hasil Identifikasi Paket
Terenkripsi
Hasil Klasifikasi Paket
Terenkripsi
Hasil Feature Selection
Hasil Engine Real-Time
38. • Dilakukan secara real-time “dev_handle =
pcap_open_live(dev_in,65536,1,0,errbuff)“
– dev_in adalah nama interface yang digunakan untuk proses sniffing,
– 65536 adalah adalah jumlah data maksimum data yang akan disniffing,
– 1 digunakan untuk mengaktifikan perangkat dalam bentuk modus
promiscuous,
– 0 mendefenisikan waktu timeout,
– errbuff adalah buffer yang digunakan untuk menyimpan pesan error
Sniffing Paket
40. TCP, Fri Jan 6 10:04:58 2017, 103.241.4.11 10.100.115.9, 58 704 ,80,49734, AP—F, 5793, 339 ,122,0, -----http------
3
4
5
6
7
8
9
10
11
12
13
14
ROUTER LINUX DEBIAN +
DPI SYSTEM
INTERNET
REAL TIME
MONITORING
USER
B
A
1
2
Sniffing Paket
Normal Paket
Feature Extraction
No Atribut No Atribut
1 no_packets 14 src_port
2 protokol 15 dst_port
3 time 16 flags
4 epoch_time 17 ack_number
5 ip_src 18 seq_number
6 ip_dst 19 windows
7 TTL 20 Urg_Pointer
8
Panjang
DataCapture
21
Checksum_Protokol
9 Length_header 22 service
10 Total_lenght 23 SSL_Version
11 IdentifikasiHeader 24 Algoritma
12 Checksum_Header
13 Fragment_Offset
41. SERVICE COUNT
PACKETS
JUMLAH
PAKET
DHCP 2 684
NETBIOS 18 1656
DNS 112 18896
HTTP 3025 1754362
HTTPS 3342 2986699
OTHER 133 61569
SERVICE
COUNT
PACKETS
JUMLAH
PAKET
DHCP 2 701
NETBIOS 30 2760
DNS 342 53989
HTTP 1159 530048
HTTPS 8500 5082748
OTHER 7168 5469257
SERVICE COUNT
PACKETS
JUMLAH
PAKET
DHCP 4 1385
NETBIOS 69 6564
DNS 249 37423
HTTP 1903 1294666
HTTPS 10384 7665580
OTHER 8834 7193215
SERVICE
COUNT
PACKETS
JUMLAH
PAKET
DHCP 4 1368
NETBIOS 45 4140
DNS 335 60068
HTTP 1352 808545
HTTPS 20932 14649250
OTHER 7646 6191058
SERVICE
COUNT
PACKETS
JUMLAH
PAKET
DHCP 6 1596
NETBIOS 379 36236
DNS 589 89320
HTTP 3218 2112231
HTTPS 19246 13254859
OTHER 14704 12128140
Hasil Klasifikasi Paket Data
Hasil Klasifikasi Service 20s
Hasil Klasifikasi Service 40s
Hasil Klasifikasi Service 60s
Hasil Klasifikasi Service 80s
Hasil Klasifikasi Service 100s
48. Metode Features Ranking :
1) Information Gain (IG),
2) Gain Ratio (GR),
3) Symmetrical Uncertainty (SU),
4) Relief-F (RF),
5) One-R (OR)
Hasil
Validasi
Validasi dengan metode Bayesian Network
24 atribut hasil FE :
no_packets, protocol, time , epoch_time, ip_src
, ip_dst, TTL, Panjang DataCapture, Length_header, Total_length,
IdentifikasiHeader , src_port, dst_port, ack_number, seq_number,
windows, Urg_Pointer, Checksum_Protokol, service, SSL_Version,
Algoritma
Pre-processing
• Menghapus atribut yang tidak mempunyai
pengaruh
• Membagi data menjadi dua : data training &
testing
Hasil Feature Selection (Feature Rangking)
52. Hasil Validasi
Testing secara offline didapatkan tujuh dan sembilan atribut yang akan digunakan
knowledge untuk engine real time
Tujuh attribut tersebut :
1. TTL,
2. Panjang_data_capture,
3. total_lengt,
4. windows,
5. Flags,
6. Protokol,
7. offset
Sembilan attribut adalah :
1. TTL,
2. Panjang_data_capture,
3. total_lengt,
4. windows,
5. Flags,
6. Protokol,
7. offset,
8. Port_source,
9. Port_Dest.
54. Hasil Engine Real-Time
Respon dan validasi data
Testing Jumlah
Paket
IG OneR Regex Paketdrop
Testing I 10579 40.24% 39.81% 10.10% 9.86%
Testing II 3689 2.95% 2.36% 56.57% 38.11%
Testing III 373 2.68% 2.68% 39.95% 54.69%
Testing IV 2160 8.19% 3.84% 57.96% 30.00%
55. Hasil Engine Real-Time
Respon SSL_Version
No Jenis Paket
SSL
Testing
I
Testing
II
Testing III Testing
IV
1 TLSv1.0 20 18 4 41
2 TLSv1.2 21 19 0 42
Rule IG
No Jenis Paket
SSL
Testing
I
Testing
II
Testing
III
Testing
IV
1 TLSv1.0 8 6 4 16
2 TLSv1.2 50 19 0 37
Rule OneR
No Jenis Paket
SSL
Testing
I
Testing
II
Testing
III
Testing
IV
1 TLSv1.0 82 96 37 104
2 TLSv1.2 601 937 80 498
Rule Regex
56. Nilai Atribut
Hasil Engine Real-Time
No Atribut Rule IG Rule OneR
TLS v1.0 TLS v1.0 TLS v1.2 TLS v1.2
1 TTL 127 dan 62 127 dan 62 127 dan 46 127 dan 46
2 Panjang_data_capture 211 dan 583 112 dan 1484 211 dan 583 112 dan 1484
3 total_lengt 111 dan 569 98 dan 1470 111 dan 569 98 dan 1470
4 windows 237 dan 22 2046 dan 1622 237 dan 22 2046 dan 1622
5 Flags AP dan A AP dan A AP dan A AP dan A
6 Protokol TCP TCP TCP TCP
7 offset 16384 0 dan 16384 16384 0 dan 16384
8 Port_Dst - - 443 443
9 Port_Src - - 443 443
57. 1) Karakter | (garis lurus vertikal) digunakan untuk memilih satu dari dua atau lebih pilihan yang
ada.
2) Karakter ( ) digunakan untuk mengelompokan sebuah rule
3) Karakter . (dot) symbol regex cocok dengan karakter tunggal
4) Karakter (karakter escape) untuk menjelaskan karakter yang tepat dibelangan escape menjadi
sebuah karakter literal
5) Karakter ^ (karakter jangkar) digunakan menentukan posisi awal karakter atau string yang akan
dicocokan
6) String x0301 adalah string untuk mendefinisikan SSL_Version 1.0
7) String x0302 adalah string untuk mendefinisikan SSL_Version 1.1
8) String x0303 adalah string untuk mendefinisikan SSL_Version 1.2
Hasil Engine Real-Time
62. KESIMPULAN
1. Sistem sniffing dengan mendefinisikan buffer berfungsi sebagai penyimpanan data error dapat mengurangi paket
yang hilang pada saat sniffing data.
2. Pada proses feature extraction didapatkan nilai payload yaitu TLS 1.0 dan TLS 1.2 dengan nilai sebagai berikut TLS
1.0 adalah 16 03 01 sedangkan TLS 1.2 adalah 16 03 03.
3. Feature selection dengan menggunakan metode rangking dapat menghasilkan rangking atribut yang digunakan
sebagai knowledge. Hasil dari lima metode rangking didapatkan atribut TTL mempunyai nilai akurasi tertinggi yaitu
97.2944 persen dan tiga atribut (protokol, Lenght_Header Urg_Pointer) mempunyai akurasi 0.000 persen dianggap
tidak mempunyai pengaruhi oleh ke lima metode rangking.
4. Hasil engine real-time dengan tiga rule yang dirancang menggunakan metode Deep Packet Inspection (DPI)
menghasilkan rule regex lebih baik dibandingkan dengan rule information gain dan OneR, dimana akurasi yang
didapat rule IG rata-rata 13.52 persen, Rule OneR didapatkan rata-rata 12.17 persen dan rule regex didapatkan rata-
rata 41.14 persen.
5. Hasil respon untuk SSL_Version dari tiga rule yang dikembangkan semua menghasilkan akurasi rule regex untuk
TLS V1.0 menghasilkan 11,35 persen, TLS V1.2 sebesar 48,66 persen. Rule IG didapatkan TLS V1.0 20.04 persen
dan TLS V1.2 10.41%, sedangkan rule One R untuk TLS V1.0 16.59 persen serta TLS V1.2 sebesar 16.90 %.
63. SARAN
1. Dapat menggunakan device tapping yang bersifat no delay yang akan
menguragi paket drop.
2. Pada penelitian selanjutnya dapat lebih memfokuskan pada proses
feature selection dengan membandingkan beberapa algortima feature
selection agar didapat akurasi yang baik.
3. Penelitian selanjutnya dapat lebih menekankan pada rule yang
dibangun sehingga akurasi yang didapat akan lebih baik.
4. Dapat mengembangan sistem visualisasi data secara real-time
64. PUBLIKASI
Scopus ID 57190935110
ORCID 0000-0001-7175-7607
Publikasi
Tahun Judul Tempat
2015 Pengenalan Pola pada Lalu Lintas Data dengan Deep
Packet Inspection (ARS 2015)
Fakultas Ilmu Komputer
Universitas Sriwijaya
2016 Klasifikasi Trafik Terenkripsi Menggunakan Metode Deep
Packet Inspection (ARS 2016)
Fakultas Ilmu Komputer
Universitas Sriwijaya
2016 Monitoring and Indetification Packet in Wireless With
Deep Packet Inspection Method (EECSI 2016)
Magister Teknik Elektro,
FakultasTeknologi Industri,
Universitas Islam Sultan
Agung Semarang