Analisa Protokol SRTP Secure Real Time Protocol Pada WebRTC Dalam Upaya Menghindari Penyadapan Audio
Analisa Protokol SRTP Secure Real Time Protocol Pada WebRTC Dalam Upaya Menghindari Penyadapan Audio
PROPOSAL SKRIPSI
Disusun oleh:
Mohammad Vicky Agassi
NIM: 125150207111004
DAFTAR ISI.....................................................................................ii
DAFTAR TABEL..............................................................................iii
DAFTAR GAMBAR..........................................................................iv
BAB 1 PENDAHULUAN...................................................................1
1.1 Latar belakang...............................................................1
1.2 Rumusan masalah..........................................................2
1.3 Tujuan.............................................................................2
1.4 Manfaat..........................................................................2
1.5 Batasan masalah............................................................2
1.6 Sistematika pembahasan...............................................2
BAB 2 LANDASAN KEPUSTAKAAN..................................................4
BAB 3 METODOLOGI......................................................................8
3.1 Tahapan Penelitian.........................................................8
3.2 Penjelasan Tahapan Penelitian.......................................9
3.2.1 Studi Literatur.........................................................9
3.2.2 Identifikasi Masalah................................................9
3.2.3 Identifikasi Data......................................................9
3.2.4 Perancangan Sistem...............................................9
3.2.5 Implementasi........................................................10
3.2.6 Pengujian dan Evaluasi.........................................11
DAFTAR PUSTAKA........................................................................13
DAFTAR TABEL
1
mediastream dari penyadapan pihak ketiga. Penulis akan
melakukan beberapa serangan terhadap webRTC maupun
server yang dipakai untuk signaling yang bertujuan untuk
mendapatkan data-data terkait dengan otentikasi antar peer
dan juga memperlihatkan delay dan packet loss pada saat
terjadi serangan sebagai parameter pengujian.
1.2 Tujuan
1 Tujuan dari analisa protokol SRTP pada webRTC ini adalah :
1. Dapat mengetahui tingkat keamanan pada protokol SRTP.
2. Dapat mengetahui kelemahan atau kelebihan dari webRTC.
1.3 Manfaat
Semoga dengan penelitian ini penulis berharap dapat
bermanfaat bagi berbagai pihak, khususnya pengembang
webRTC. Manfaat yang penulis harapkan antara lain :
1. Dapat mengetahui celah-celah yang dapat di tembus oleh
attacker.
2. Dapat mengetahui kinerja protokol SRTP pada webRTC.
2
1.5 Sistematika pembahasan
Sistematika penulisan yang penulis kerjakan menggunakan
kerangka sebagai berikut :
a) BAB I PENDAHULUAN
Didalam BAB I memuat latar belakang, rumusan masalah,
tujuan, manfaat, batasan masalah, dan sistematika
penulisan.
b) BAB II TINJAUAN PUSTAKA
Menguraikan kajian pustaka dan dasar teori yang berkaitan
dengan kinerja webRTC, analisa protokol SRTP dalam
mengatasi penyadapan dari pihak ke tiga, teknik MITM
(Man-In-The-Middle).
c) BAB III METODOLOGI PENELITIAN
Membahas tentang metodologi yang akan digunakan untuk
menganalisa tingkat keamanan protokol SRTP pada webRTC
untuk menghindari penyadapan dan cara untuk menyadap
audio dengan teknik MITM.
d) BAB IV Analisis Kebutuhan
Bagian ini berisi kebutuhan-kebutuhan untuk mewujudkan
Implementasi webRTC dengan memanfaatkan Socket.io
sebagai signaling.
e) BAB V Implementasi
Membahas tentang implementasi dari sistem.
f) BAB VI Pengujian dan Analisa
Memuat proses dan hasil pengujian terhadap sistem yang
telah direalisasikan.
g) BAB VII Penutup
Memuat kesimpulan serta saran yang diperoleh dari
pembuatan dan pengujian sistem untuk pengembangan
lebih lanjut.
3
PROSES BULAN DAN MINGGU KE :
N
PENELITIA Bulan I Bulan II Bulan III Bulan IV
O
N 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Studi
1
Literatur
Analisis
2
Kebutuhan
Implement
3
asi
Pengujian
4 dan
Analisa
Penulisan
5
Laporan
BAB 2 LANDASAN KEPUSTAKAAN
4
dengan melakukan
simulasi penyadapan
penyerangan terhadap
pada audio dan
WebRTC. pencurian
data pada
saat proses
signaling.
2 Case Study 1 Stephen Menganalisa Melakukan
Report : WebRTC Farrell potensi Serangan
serangan pada WebRTC
pada WebRTC yang
serta bertujuan
melakukan untuk
beberapa mencuri data
teknik dan
serangan menyadapan
pada WebRTC percakapan
dan antar peer
melakukan pada
upaya untuk WebRTC.
meningkatka
n keamanan
dari WebRTC.
5
(Stephen Farrell, 2014) melakukan penelitian dan analisa
terhadap arsitektur WebRTC serta keamanan pada WebRTC. Dan
hasil dari penelitian ini adalah WebRTC mempunyai arsitektur
yang kompleks, meskipun WebRTC merupakan peer-to-peer
namun terdapat server sebagai layanan untuk proses signaling.
Jika dilihat dari segi keamanannya Stephen Farrel telah
mengidentifikasi beberapa kerentanan sehingga dibutuhkan
pengembangan lebih lanjut terhadap WebRTC yang bertujuan
untuk mengurangi dampak serangan dari pihak luar.
6
Gambar 2.2.1.1 Proses Signaling
(1)Klien A membuka koneksi dan mengirimkan permintaan
ke signaling server untuk berkomunikasi dengan klien B.
Permintaan komunikasi dari klien A ini memberikan
informasi tentang kemampuan klien untuk melakukan
komunikasi, isi dari informasi tersebut seperti (codec
media yang tersedia, versi API, dll) serta kode kode unik
dari klien A seperti :
a. Unique session
b. Session waktu mulai/akhir
c. Versi session
d. Media stream (audio atau video)
e. Ice ufrag/ ice pwd
Nilai-nilai diatas akan dikirimkan ke server signaling dan
setelah koneksi tersambung, maka nilai-nilai tersebut
digunakan sebagai otentikasi antar kedua klien yang
7
bertujuan untuk memastikan bahwa klien A dapat
memastikan bahwa yang dihubunginya adalah klien B
(2)Signaling server mengotentikasi pesan dari klien A dan
meneruskannya ke klien B.
(3)Klien B dapat menyetujui atau menolak permintaan
komunikasi dari klien A. Jika klien B menyetujui
permintaan dari klien A, maka klien B membuka saluran
komunikasinya dan mengirimkan respon ke server
signaling.
(4)Server signaling meneruskan pesan dari klien B ke klien
A.
(5)Dengan asumsi klien B menyetujui permintaan dari klien
A, maka mereka langsung melakukan pertukaran
informasi komunikasi, termasuk IP yang digunakan
untuk melakukan komunikasi, jenis komunikasi
(TCP/UDP), dan informasi traversal seperti NAT (IP / Port
Binding).
(6)Kedua klien memulai direct komunikasi antar peer.
Proses signaling diatas menggunakan protokol SIP (Session
Initiation Protocol). (Ansuman Kar) SIP bertujuan untuk menjadi
protokol universal yang dapat mengintegrasikan suara dan data
pada jaringan. SIP adalah protokol kontrol sesi atau panggilan
yang didefinisikan oleh IETFRFC 3261. Pada protokol SIP ini tidak
terdapat keamanan untuk mengamankan datanya, ini
merupakan salah satu celah bagi penyerang, karena SIP ini
digunakan untuk proses signaling. Berikut ini adalah daftar
serangan terhadap SIP :
a) Registration Hijacking : attacker meniru user agen yang
sah yang akan mendaftar ke SIP, lalu attacker
menggantikan pendaftaran yang sah dengan alamatnya
sendiri, sehingga semua panggilan masuk akan dikirim
kepada attacker.
b) Peniruan SIP Proxy : sebuah trik dari attacker untuk
mendapatkan data-data dari SIP user agen yang sah
dan memiliki akses kesemua pesan SIP.
8
c) Message Tampering : attaker menyadap dan
memodifikasi paket data yang dipertukarkan pada
proses signaling yang menggunakan SIP.
d) Banyak implementasi SIP masih menggunakan UDP
untuk mentransfer pesan ke SIP. Perlu diingat bahwa
UDP tidak menggunakan re-transmisi atau nomor urut
saat proses transfer data, sehingga dengan
menggunakan teknik spoofing paket pada UDP dapat di
sadap.
9
yang ditransmisikan dengan cara apapun (misal
melakukan panggilan video dan suara).
WebRTC merupakan aplikasi berbasis web yang lambat
laun akan mengalami kerentanan pada keamanannya seperti
serangan XSS. Oleh karena itu penting untuk melihat segi
keamanan WebRTC (Stephen Farrell, 2014). Berikut adalah
skenario serangan pada WebRTC menurut Stephen Farrell :
10
aplikasi, attacker mampu memanipulasi kode yang bertanggung
jawab untuk membangun saluran signaling. Oleh karena itu
(Cross-Site Scripting) XSS attacker mampu memanipulasi
pertukaran pesan dan dapat memberikan informasi palsu pada
RTCPeerConnection. Akibatnya attacker mampu mengendalikan
host dari aplikasi web yang menghubungkan antar peer dan
attacker berhasil melakukan MITM (Stephen Farrell, 2014).
XSS adalah serangan dimana seorang attacker dapat
menginjeksi kode javascript ke aplikasi yang ada. Serangan XSS
ini seolah-olah datang dari situs webnya sendiri sehingga
penyerang dapat mem-bypass keamanan keamanan dari sisi
klien, mendapatkan informasi yang sensitif (Stephen Farrell,
2014).
Dalam skenario diatas Stephen Farrrell menganggap attaker
telah mampu menginjeksi kode javascript kedalam aplikasi
WebRTC.
1. Serangan Third-Party XSS
Third-Party XSS adalah attacker yang mampu
menginjeksi malicious payload melalui kerentanan XSS
yang ada. Dalam upaya untuk melakukan serangan,
attacker menciptakan payload untuk memancing korban
ke sebuah situs web attacker.
2. Malicious aplikasi WebRTC
Malicious aplikasi WebRTC memberikan layanan kepada
korban untuk berkomunikasi melalui WebRTC, tetapi
bertujuan untuk menyadap komunikasi korban.
3. Malicious User/Browser
Jika aplikasi web tidak ada celah untuk melakukan XSS,
masih ada kemungkinan untuk memanipulasi javascript
yang terdapat pada situs web tersebut. Misalnya
pengguna yang ingin merekam panggilan tanpa
persetujuan dari rekan satunya, dapat menggunakan
konsol javascript untuk menambahkan record script pada
komunikasi tersebut atau dapat juga menginjeksi script
11
ke halaman web untuk merekam atau menyadap
panggilan WebRTC.
Dari model penyerangan yang dijelaskan diatas, dapat
disimpulkan bahwa untuk melakukan penyerangan terdapat
beberapa titik pada waktu tertentu untuk melakukan
penyerangan pada payload :
1. Ketika payload mngeksekusi
2. Ketika pengguna memberikan izin untuk aplikasi
3. Ketika melakukan proses signaling pada saluran yang
digunakan
4. Ketika koneksi antar dibuat
Penjelasan diatas merupakan empat skenario serangan yang
diterapkan oleh Stephen Farrell dalam hal melakukan serangan
pada WebRTC (Stephen Farrell, 2014).
12
mengurangi serangan MITM (Man-In-The-Middle) yang
memalsukan identitas, sehingga untuk memalsukan identitas
attacker perlu memecahkan enkripsi SSL ke server signaling (Ben
Feher, et. al, 2016).
13
BAB 3 METODOLOGI
Mulai
Studi Literatur
Analisis Kebutuhan
Perancangan Sistem
Implementasi
Implementasi Berhasil?
Kesimpulan
Selesai
14
Gambar 3.1 Desain Enkripsi
15
Server
(2) (3)
(1)
User A User B
(4)
Gambar 3.1 Skema Komunikasi pada
WebRTC
16
4. Untuk menghentikan proses signaling pada server
menggunakan kode seperti berikut $kill -9 `pidof node `
Untuk pembuktian dari serangan penyadapan Penulis
akan menggunakan teknik MITM dengan memanfaatkan
wireshark sebagai software untuk memonitoring jaringannya.
Spesifikasi Keterangan
Software benchmark 2.0, Chrome 28.0,
firefox 22.0, Wireshark. VM
Virtualbox, Xampp, Mysql,
Socket.io
Sistem Operasi Ubuntu 14.04 LTS
RAM 2GB DDR3 Memory
CPU Intel Celeron
Tabel 7 Spesifikasi Perangkat
3.2.4 Implementasi
Pada tahap impplementasi dilakukan untuk
mewujudkan webRTC sebagai video conference. Pada tahap
ini akan dijelaskan tentang hasil komunikasi antara dua user
yang menggunakan webRTC.
3.2.5 Pengujian dan Analisa
Pengujian dan Analisa pada penelitian ini bertujuan
untuk mengetahui bahwa Protokol SRTP dapat menghindari
penyadapan. Teknik MITM yang digunakan untuk pengujian
penyadapan pada webRTC adalah Sniffing dan juga
memperlihatkan delay dan packet loss sebagai parameter dari
serangan.
3.2.6 Kesimpulan
Setelah tahap Pengujian dan Analisa selesai penulis
akan membuat kesimpulan tentang seberapa amankah
protokol SRTP ini untuk mengamankan data mediastream
pada webRTC serta apabila pihak ketiga berhasil menyadap
penulis akan memberikan kesimpulan sebab akibat yang
membuat protokol SRTP ini dapat disadap oleh pihak ketiga.
17
DAFTAR PUSTAKA
Ben Feher, Lior Sidi, Asaf Shabtai, Rami Puzis, 2016. The Security
of WebRTC. {feherb, liorsid, sabtaia, puzis}@bgu.ac.il,
http://arxiv.org/abs/1601.00184 (diakses pada 16
februari 2016)
Stephen Farrell, 29 september 2014. Case Study 1 Report :
WebRTC. http://www.strews.eu/ (diakses pada 02
februari 2016).
Mattias Erikson. An Example of a Man-In_The-Middle Attack
Against Server Authenticated SSL-sessions.
mattias.eriksson@simovits.com
http://www.simovits.com/sites/default/files/simovits_art
ikel_maninthemiddle.PDF (diakses pada 02 februari
2016).
Ansuman Kar. Secure Real-Time Communication.
https://courses.cs.washington.edu/courses/csep590/06wi/finalproj
ects/kar.doc (diakses pada 12 februari 2016)
18