Anda di halaman 1dari 16

1

Keamanan SSL dalam Serangan Internet


Deasy Ramadiyan Sari

Teknik Informatika
Sekolah Teknik Elektro dan Informatika
Institut Teknologi Bandung
Jalan Ganesha 10 Bandung 40132

Email: if13008@students.if.itb.ac.id

Abstrak
SSL merupakan protokol yang digunakan untuk browsing web secara aman. Banyak fitur yang
disediakan pada SSL merupakan bentuk dari keamanan dalam browsing Internet. Paper ini
menjelaskan mengenai keamanan yang disediakan oleh SSL untuk menciptakan web yang aman pada
saat melakukan browsing. Penjelasan yang dilakukan meliputi fitur-fitur keamanan yang disertakan
dalam setiap komponen pesan yang ada pada saat negosiasi pelayanan keamanan yang dibentuk antara
client dan server. Selain itu dijelaskan pula mengenai isu–isu serangan yang memungkinkan ada pada
Internet yang mampu diatasi oleh SSL, peluang penyerang melakukan serangan terhadap suatu web
melalui SSL, serta sub protokol yang ada pada SSL untuk menjaga keamanan web pada saat browsing.

Kata kunci :SSL, keamanan, serangan Internet

SSL dikembangkan oleh Netscape


Communations pada tahun 1994. Ada
1. Pendahuluan beberapa versi SSL, versi 2 dan versi 3, tetapi
versi 3 paling banyak digunakan saat ini.
1.1 Sejarah
Untuk memastikan apakah Internet Explorer
Secure Socket Layer (SSL) adalah protokol sudah siap menjalankan protokol SSL, klik
yang digunakan untuk browsing web secara dari IE :
aman. SSL bertindak sebagai protokol yang
mengamankan komunikasi antara client dan Tools Æ Internet Option Æ Advanced
server. Protokol ini memfasilitasi penggunaan
enkripsi untuk data yang rahasia dan Lalu cari pilihan Security, kemudian periksa
membantu menjamin integritas informasi yang apakah SSL versi 2.0 atau SSL versi 3.0 yang
dipertukarkan antara website dan web browser. telah diberikan tanda √ (lihat Gambar 1).
2

Gambar 1 Penandaan SSL Aktif

komunikasi dilakukan oleh client, client


2. Operasi SSL mempunyai tanggung jawab untuk
mengajukan sekumpulan pilihan SSL yang
akan digunakan dalam pertukaran. Server
2.1 Peran SSL hanya memilih dari pilihan yang disediakan
SSL mempunyai dua buah peran yang berbeda oleh client, lalu memilih apa yang akan
untuk di gunakan dalam komunikasi. Satu digunakan dalam kedua sistem ini.
sistem selalu menjadi client, sementara system
yang lain akan terus menjadi server. Perbedaan
dari dua peran ini sangat penting, karena 2.2 Pesan SSL
kelakuan dari setiap peran tersebut juga sangat
berbeda. Client merupakan sistem yang
menginisiasikan komunikasi yang aman, Ketika SSL client dan server berkomunikasi,
sementara server hanya merespon request dari mereka melakukan komunikasi tersebut
client tersebut. dengan bertukaran pesan SSL. Tabel di bawah
ini menunjukkan pesan SSL pada setiap level
Untuk SSL sendiri, perbedaan yang paling pada protocol:
penting dari client dan server adalah aksi yang
mereka lakukan ketika negosiasi mengenai
parameter keamanan. Ketika inisiasi
3

Tabel 2-1 Pesan SSL

Pesan Deskripsi 2.3 Menciptakan Komunikasi


Alert Menginformasikan
pihak lain akan yang Terenkripsi
kegagalan komunikasi
atau pelanggaran 2.3.1 ClientHello
keamanan Pesan ClientHello memulai komunikasi SSL
Application Data Informasi yang antara dua buah pihak. Client menggunakan
dipertukarkan oleh pesan ini untuk menanyakan kepada server
kedua belah pihak, yang untuk memulai negosiasi pelayanan keamanan
terenkripsi, dengan menggunakan SSL. Tabel dibawah ini
terotentikasi, dan menjelaskan komponen-komponen pada
terverifikasi oleh SSL ClientHello :
Certificate Pesan yang membawa
sertifikat kunci publik Tabel 2-2 Komponen Pesan ClientHello
dari pengirim
CertificateRequest Permintaan oleh server Komponen Kegunaan
agar client Version Mengidentifikasi versi
menyediakan sertifikat terbaru dari protokol
kunci publiknya SSL yang dapat
CertificateVerify Pesan dari client yang didukung oleh client
memverifikasi bahwa ia RandomNumber 32 byte nomer acak
mengetahui kunci privat yang digunakan untuk
bersesuaian dengan perhitungan
sertifika kunci publik kriptografi
ChangeCipherSpec Indikasi untuk mulai SessionID Mengidentifikasi
menggunakan session spesifik SSL
pelayanan keamanan CipherSuites List dari parameter
ClientHello Pesan dari client yang kriptografi yang dapat
menandakan keperluan didukung oleh client
pelayanan keamanan CompressionMethods Mengidentifikasi
dan kemampuan untuk metoda data kompresi
mendukungnya yang didukung oleh
ClientKeyExchange Pesan dari client yang client
membawa kunci
kriptografi untuk
berkomunikasi 2.3.2 ServerHello
Finished Indikasi bahwa seluruh Ketika server menerima pesan ClientHello,
negosiasi sudah maka server akan membalas dengan
terlaksana dan ServerHello. Jika pada ClienHello, Client
komunikasi yang aman memberikan saran, maka pada ServerHello
sudah terbentuk keputusan akhir dibuat oleh server. Berikut
HelloRequest Permintaan oleh server adalah komponen dari pesan ServerHello :
bahwa, client memulai
proces neogosiasi SSL Tabel 2-3 Komponen Pesan ServerHello
ServerHello Pesan dari server yang
menandakan pelayanan Komponen Kegunaan
keamanan yang mana Version Mengidentifikasi versi
yang akan digunakan terbaru dari protokol
untuk komunikasi SSL yang akan
ServerHelloDone Indikasi dari server digunakan pada
bahwa server sudah komunikasi
menyelesaikan seluruh RandomNumber 32 byte nomer acak
permintaan client untuk yang digunakan untuk
membentuk komunikasi perhitungan
ServerKeyExchange Pesan dari server yang kriptografi
membawa kunci SessionID Mengidentifikasi
kriptografi untuk session spesifik SSL
berkomunikasi CipherSuites List dari parameter
4

kriptografi yang akan negosiasi SSL sudah terpenuhi. Pada titik ini,
digunakan pada kedua belah pihak sudah siap untuk
komunikasi mengguanakn pelayanan keamanan yang
CompressionMethods Mengidentifikasi sudah dinegosiasikan tersebut. Protokol SSL
metoda data kompresi mendefinisikan sebuah pesan
akan digunakan pada ChangeCipherSpec yang mengindikasikan
komunikasi bahwa pelayanan keamanan sudah dapat
dilaksanakan. Pesan ChangeCipherSpec
2.3.3 ServerKeyExchange disediakan sebagai penanda pada sebuah
sistem untuk mulai menggunakan keamanan
Pesan ini mengandung ChiperSuite field pada informasinya.
ServerHello. Ketika ChiperSuite field
mengindikasikan algoritma kriptografi dan
ukuran kunci, pesan ini mengandung informasi 2.3.7 Finished
kunci publiknya. ServerKeyExchange dikirim Segera setelah mengakhiri pesan
tanpa ada enkripsi, sehingga hanya informasi ChangeCipherSpec, setiap sistem juga
kunci publik yang dapat secara aman mengirimkan pesan Finished. Pesan Finished
dikirimkan didalamnya. membolehkan kedua belah pihak untuk
memverifiaksi bahwa negosiasi telah berhasil
2.3.4 ServerHelloDone dan keamanan belum dikompromikan. Ada
dua aspek keamanan yang dikontribusikan dari
Pesan ini menyampaikan kepada Client bahwa pesan Finished ini, yaitu:
server sudah menyelesaikan pesan inisial 1. Pesan Finished merupakan sebuah
negosiasi. Pesan ini sendiri tidak mengandung subjek yang diperlukan pada saat
informasi yang lain, tapi merupakan pesan negosiasi cipher.
yang penting bagi Client karena, jika Client Yang artinya enkripsi dan otentikasi
telah menerima pesan ini maka Client dapat bergantung padanya. Jika pihak
meneruskan ke fase berikutnya dalam penerima tidak berhasil mendekrip
membentuk komunikasi yang aman dan memverifikasi pesan, sudah tentu
ada kejanggalan pada negosiasi
keamanan.
2.3.5 ClientKeyExchange 2. Content dari pesan Finished juga
Ketika server sudah menyelesaikan bagin mengandung kemampuan untuk
inisiasi dari negosiasi SSL, Client akan melindungi keamanan pada saat
merespon dengan pesan ClientKeyExchange. negosiasi SSL. Setiap pesan Finished
Seperti fungsi ServerKeyExchange pada server mengandung kriptografi hash dari
yang membawa informasi key untuk server, informasi penting mengenai negosiasi
pesan ClientKeyExchange memberitahukan yang baru saja selesai dilakukan. Ini
server kunci informasi yang dimiliki oleh melindungi dari penyerang yang
Client. Dalam kasus ini, kunci informasi menyerang dengan memasukkan
adalah untuk algoritma enkripsi simetris yang pesan fiktif atau memindahkan pesan
akan digunakan oleh kedua belash pihak dalam yang sah dari komuniakasi.
session. Jikaseorang penyrang melakukannya,
maka perhitungan kriptografi hash
Enkripsi melindungi kunci inforamasi ketika pada Client dan server akan berbeda
berada dalam jaringan, server tidak akan maka akan mudah terdeteksi.
mungkin bisa untuk mendekripsikan pesan
tersebut. Operasi ini merupakan perlindungan 2.4 Mengakhiri Komunikasi
penting jika ada penyerang yang menahan
pesan dari server yang sah dan berpura=pura
yang Aman
menjadi server tersebut dengan meneruskan SSL mempunyai prosedur aman untuk
pesan ke Client yang tidak menyadari apapun. mengakhiri komunikasi aman yang melibatkan
dua buah pihak. Gambar 2 dibawah ini
menunjukkan bagaimana caranya.
2.3.6 ChangeCipherSpec
Setelah Client mengirimkan kunci inforamsi
pada pesan ClientKeyExchange, persiapan
5

Tabel dibawah ini menunjukkan alur


bagaimana sistem dapat mengotentikasi server

Tabel 2-4 Alur Otentikasi Server oleh


Sistem

Aksi
1 Client mengirim pesan ClienHello menawarkan
pilihan SSL
Gambar 2 Mengakhiri Komunikasi yang
2 Server merespon dengan mengirimkan pesan
Aman
ServerHello memilih pilihan SSL
3 Server mengirimkan sertifikat kunci publiknya
Kedua buah sistem bersama-sama
dalam pesan Certificate
mengirimkan ClosureAlert kepada satu sama
lain. Penutupan secara eksplisit dari sebuah 4 Server mengakhiri bagian negosiasinya dengan
session melindungi dari truncation attack, mengirim pesan ServerHelloDone
yang merupakan serangan dimana penyerang 5 Client mengirimkan kunci informasi Session
mempunyai kemampuan untuk berkompromi dalam pesan ClinetKeyExchange
dengan keamanan untuk secara prematur 6 Client mengirimkan pesan ChangeCipherSpec
menyudahi komunikasi. untuk mengaktifkan pilihan negosiasi untuk
pesan kedepannya yang akan dikirim
7 Client mengirim pesan Finished untuk
2.5 Otentitkasi Identitas membiarkan server memeriksa pilihan aktivas
Server yang terbaru
Alasan penggunaan enkripsi adalah untuk 8 Server mengirim pesan ChangeCipherSpec
menjaga kerahasiaan informasi dari pihak untuk mengaktivasi pilihan negosiasi pesan
ketiga. Namun, jika pihak ketiga berhasil yang akan dikirim nantinya
menyamar sebagai pihak yang menerima 9 Server mengirim pesan Finished untuk
informasi, maka enkripsi tidak lagi dapat membiarkan Client memeriksa pilihan aktivas
diharapkan. Data mungkin saja terenkripsi, yang terbaru
namun penyerang akan tetap saja mendapatkan
seluruh data untuk mendekrispsinya. 2.6 Otentikasi Identitas
Unutuk mencegah serangan ini, SSL
Client
menyediakan mekanisme yang membolehkan Karena SSL mempunyai mekanisme untuk
setiap pihak untuk saling mengotentikasi pihak mengotentikasi identitas server, sudah
lain. Dengan mekanisme ini, setiap pihak akan selayaknya kita mengharapkan mekanisme
yakin bahwa pihak yang satu lagi adalah pihak untuk mengotentikasi identitas Client.
yang sebenarnya dan bukan pihak penyamar. Mekanismenya hapir sama dengan otentikasi
Untuk mengotentikasi identitas server, dapat identitas server. Mekanismenya dapat dilihat
dilihat seperti Gambar 3 dibawah ini. pada Gambar 4 dibawah ini

Gambar 3 Otentikasi Identitas Server


6

Gambar 4 Otentikasi Identitas Client


Tabel 2-5 Langkah Mendapat Session
2.7 Mendapatkan Session Kembali
Sebelumnya Aksi
Membentuk session SSL mungkin kompleks, 1 Client mengirim pesan ClientHello yang
memerlukan perhitungan kriptografi yang baik mengandung SessionID yang pernah
dan beberapa pesan protokol. Untuk terbentuk sebelumnya
meminimalkan biaya dari kalkulasi dan pesan. 2 Server merspon dengan serverHello
SSL membuat suatu mekanisme dimana dua menyetujui SessionID tersebut
buah pihak dapat menggunakan kembali SSL 3 Server mengirim pesan ChangeCipherSpec
sebelumnya yang sudah dinegosiasikan. untuk membuat pilihan akif kembali
Dengan metode ini, pihak tersebut tidak perlu keamanan session untuk pesan yang akan
lagi untuk mengulang negosiasi keriptografi dikirim
atau kalkulasi otentikasi, kedua pihak hanya 4 Server mengirim pesan Finsihed agar
perlu melanjutkan apa yang mereka tinggalkan Client dapat memeriksa pilihan yang baru
sebelumnya. teraktivasi kembali tersebut
5 Client mengirim pesan ChangeCipherSpec
Table berikut menunjukkan langkah-langkah untuk mengaktivkan kembali pilihan
untuk mendapatkan kembali session yang negosiasi untuk pesan yang akan dikirim
sebelumnya. nantinya
6 Client mengirm pesan Finished untuk
membolehkan server memeriksa pilihan
yang baru diaktivkan kembali tersebut

Berikut adalah gambar dari langkah-langkah


tersebut diatas
7

Gambar 5 Mendapatkan Session Sebelum

Kunci dari mendapatkan session sebelumnya


adalah pesan ClientHello. Client mengajukan 3.1.1 TCP/IP
untuk menggunakan session sebalumnya
dengan menyertakan SessionID di dalam SSL beroperasi antara protokol komunikasi
ClientHello. Meskipun, mendapatkan kembali TCP/IP (Transmission Control
session yang pernah terbentuk merupakan Protocol/Internet Protocol) dan aplikasi (lihat
kesepakatan yang sangat bagus,dari segi Gambar 6).
kenyamanan dan efisiensi dari sistem yang
menggunakannya, sistem tersebut harus lebih
berhati-hati dalam penanganannya. Ketika
sebuah kunci dibentuk, enkripsi pasti akan
menjadi lebih tidak aman, semakin banyak
informasi yang dilindungi, semakin banyak
pula waktu yang digunakan, sehingga,
penyerang mempunyai waktu yang lebih lama
juga untuk menganalisis kelemahan.
Gambar 6 Protokol Komunikas SSL

SSL seolah-olah berlaku sebagai lapisan


3. Format Pesan (layer) baru antara lapisasan transpor (TCP)
dan lapisan aplikasi. TCP/IP adalah standard
3.1 Kebutuhan Transport protokol yang digunakan untuk
menghubungkan komputer dan jaringan
SSL merupakan protokol yang bergantung dengan jaringan dari jaringan yang lebih besar,
pada lower level protokol untuk memindahkan yaitu Internet.
pesan antar peers. Protokol SSL membutuhkan
lower layer yang reliable, yang dapat
memastikan bahwa transmisi dari pesan SSL
akan sukses tanpa ada error dan berjalan 3.1.2 Cara kerja TCP/IP (tanpa
dengan urutan yang semestinya. Oleh karena SSL)
itu, SSL bergantung pada Transmission Kebanyakan transmisi pesan di Internet
Control Protocol (TCP) untuk memenuhi dikirim sebagai kumpulan potongan pesan
kebutuhannya. yang disebut paket. IP bertanggung jawab
untuk merutekan paket (lintasan yang dilalui
oleh paket).
8

Pada sisi penerima, TCP memastikan bahwa SSL membangun hubungan (connection) yang
suatu paket sudah sampai, menyusunnya sesuai aman antara dua socket, sehingga pengiriman
nomor urut, dan menentukan apakah paket tiba pesan antara dua entitas dapat dijamin
tanpa mengalami perubahan. Jika paket keamanannya.
mengalami perubahan atau ada data yang Perlu dicatat bahwa SSL adalah protokol
hilang, TCP meminta pengiriman ulang. Client-server, yang dalam hal ini web browser
TCP/IP tidak memiliki pengamanan adalah Client dan website adalah server. Client
komunikasi yang bagus. TCP/IP tidak dapat yang memulai komunikasi, sedangkan server
mengetahui jika pesan diubah oleh pihak memberi respon terhadap permintaan Client.
ketiga (man-in-the-middle attack).

3.2 Sub Protokol Record

Gambar 7 Sub Protokol SSL Record

Gambar 8 Format Record

Di tempat penerima, sub-protokol SSL dekompresinya, lalu merakitnya. Protokol


Record melakukan proses berkebalikan: SSL membuat kominkasi menjadi lebih
mendekripsi data yang diterima, lambat. Piranti keras, seperti kartu
mengotentikasinya (dengan MAC), men- peripheral component interconnect (PCI)
9

dapat dipasang ke dalam web server untuk berkomunikasi. Protokol ini merupakan bagian
memproses transaksi SSL lebih cepat yang paling kompleks dari SSL. Melalui
sehingga mengurangi waktu pemrosesan. protocol ini, server dan Client dapat saling
melakukan otentikasi satu sama lain.
3.3 Protokol Handshake Menegosiasikan enkripsi, algoritma MAC dan
kunci kriptografi. Digunakan sebelum aplikasi
SSL handshaking, yaitu sub-protokol untuk lain dikirim.
membangun koneksi (kanal) yang aman untuk

Gambar 9 Sub Protokol Handshake

Sampai di sini, proses pembentukan kanal sudah terbentuk, maka http:// pada URL
yang aman sudah selesai. Bila sub-protokol ini berubah menjadi https:// (http secure)
10

Gambar 10 Hasil dari HTTPS

Ada beberapa isu dari otentikasi SSL


4. SSL Security Check diselesaikan dengan sertifikat x.509.
Walaubagaimanapun, beberapa isu otentikasi
List dikhusukan dengan SSL yang terpisah dari
sertifikat kunci publik. Diantaranya adalah:
Spesialis dari bidang keamanan telah banyak
mempelajari hubungan antara SSL dengan 4.1.1 Otentikasi sertifikat
aspek lain dari sistem yang Otentikasi sertifikat atau yang dikenal dengan
mengimplementasikan SSL. Pada CA (Certificate Authority) ditandai dengan
kenyataannya, walaupun tidak ada kecacatan sertifikat x.509, dan semua penerapan SSL
dari segi keamanan yang diketahui pada harus menetapkan apakah akan mempercayai
protocol SSL, kelemahan lain dalam sistem CA sebagai peer dari komunikasi. Secara
yang menggunakan SSL, banyak ditemukan. umum, penerapan membandingkan peer yang
dimiliki oleh CA dengan internal list dari
wewenang yang diketahui oleh penerapan
4.1 Isu Otentikasi sebagai yang ’dapat dipercaya’. Dengan
Otentikasi sepertinya berada pada bagian pendekatan ini, sangat penting bagi
terbelakang dari enkripsi dalam diskusi penerapannya menggunakan kunci publik dari
keamanan, terutama dalam pemberitaan, simpanan internal untuk memverifikasi
dimana laporan dari pemecahan (cracking) sertifikat, daripada menggunakan kunci umum
algoritma kriptografi menerima ulasan utama. yang disediakan oleh sertifikat CA pada peer.
Otentikasi lebih penting daripada keamanan. Penyerang dapat membuat sertikat CA yang
Tidak ada sejumlah enkripsi yang dapat palsu yang sangat serupa dengan sertifikat CA
mencegah pihak yang tidak seharusnya yang sebenarnya dalam segala hal kecuali
mengirim kepada penyerang yang tidak kunci umum, dengan menukarkan kunci umum
terotentikasi sebuah kunci session. Meskipun disesuaikan dengan kunci pribadi yang dimiliki
menarik untuk melihatnya kembali, oleh penyerang. Hanya dengan
menentukan alamat isu otentikasi adalah mengembalikan kunci umum CA dari
penting dalam keamanan komunikasi. penyimapanan internal dapat diterapkan untuk
mencegah serangan seperti ini.
11

4.1.6 Diffie-Hellman
Jika penerapannya menetapkan untuk
menyimpan list internal dari CA yang
Trapdoors
dipercaya, maka harus sangat hat-hati Ketika implementasi SSL menggunakan
memikirkan caranya, jika tidak, penerapan metode pertukaran key Diffie-Hellman, server
tersebut akan memperbolehkan pengguna akan menspesifikasikan sekumpulan parameter
untuk mengupdate list tersebut. Diffie-Hellman. Client yang mensupport
metode ini harus memeriksa parameter yang
diterima dari server. Client harus memastikan
bahwa server telah memilih nilai yang akan
4.1.2 Tandatangan Sertifikat mendukung keamanan yang memadai.
Hal ini sangat jelas, tapi hal ini sangat mudah
ditinjau; sebuah penerapan SSL harus
memvalidasi semua sertifikat yang diterimanya
4.1.7 Algoritma Rollback
dengan memverifikasi tandatangan CA dengan Sebuah pesan ServerKeyExchange
yang dimiliki olehnya. memungkinkan server SSL untuk
mengirimkan informasi kunci publik kepada
Client. Client perlu melakukan enkripsi
terhadap rahasia premaster untuk server.
4.1.3 Waktu Valid Sertifikat Informasi kunci publik tersebut ditandatangani
Semua penerapan SSL harus juga memerikas oleh server menggunakan kunci private yang
waktu valid dari semua sertifikat. Perioda berkorespondensi dengan kunci publik yang
validitas melibatkan waktu ”not before” dan ada pada pesan sertifikat server. Algoritma
”not after”, keduanya harus di verifikasi. kunci publik yang digunakan oleh Client tidak
terspesifikasi secara eksplisit pada pesan
ServerKeyExchange. Oleh karena itu informasi
4.1.4 Penarikan Kembali tesebut tidak ditandatangani oleh server. Hal
Status Sertifikat ini dapat membuat protokol SSL rentan
terhadap algoritma rollback attack.
Penerapan SSL yang beroperasi pada
lingkungan yang mendukung penarikan Dalam algoritma rollback attack, penyerang
sertifikat harus memeriksa status penarikan memaksakan kedua belah pihak untuk
dari setiap sertifikat sebelum menerimanya. memiliki pendapat yang berbeda dalam
Sayangnya, tidak semua lingkungan menentukan algoritma kunci publik yang
mendukung penarikan kembali status dari digunakan untuk menandatangani rahasia
sertifikat secara efektif. Dalam hal seperti ini, premaster. Contohnya, Client mengira
penerapan SSL mungkin akan menyediakan menggunakan algoritma RSA, sementara
alternatif lain bagi pengguna, mungkin dengan server mengira Diffie-Hellman. David Wagner
membolehkan pengiriman list dari sertifikat dan Bruce Schneier menunjukkan bagaimana
yang sudah di tarik kembali secara manual. skenario ini dapat menghancurkan proteksi
kriptografi. Jika penyerangan ini terjadi maka
4.1.5 Subjek Sertifikat penyerang dapat membaca semua informasi
Implementasi tidak hanya memastikan bahwa yang mungkin atau membuat data palsu
sertifikat valid, namun juga memastikan bahwa dengan mengatasnamakan salah satu pihak.
sertifikat tersebut mensertifikasi pihak yang Agar terlindung dari algoritma rollback attack,
tepat. Penyerang dapat memperoleh sertifikat implementasi Client SSL harus memverifikasi
dari pihak pengeluar sertifikat yang panjang dan jumlah parameter dari pesan
berwenang, sehingga pemeriksaan apakah ServerKeyExchange. Contohnya, RSA
sertifikat yang dimiliki oleh user adalah memiliki dua parameter sementara Diffie-
sertifikat yang benar, sangat diperlukan. Hellman menggunakan tiga parameter. Jika
Cara implementasi memverifikasi sertifikat ada pesan yang diterima maka jumlah
untuk subjek yang tepat bergantung pada parameter harus diperiksa. Jika jumlah
kebijakan dari pihak yang mengeluarkan parameter tidak sama maka Client harus
sertifikat. Contoh: VeriSign Class 3 menolak session dan membangkitkan
menempatkan nama host dari website yang peringatan.
tersertifikasi pada field commonName dari
subjek sertifikat. Browser seperti Netscape
Navigator atau Internet Explorer akan
memeriksa field ini terhadap nama host yang
dimasukkan user melalui URL.
12

4.1.8 Dropped meskipun penyerang tidak dapat melakukan


dekripsi informasinya. Analisis lalu lintas
ChangeCipherSpec merupakan sebuah bentuk serangan yang sulit
Messages untuk dicegah apalagi di lingkungan yang
Protokol SSl tdak mengikutsertakan pesan terbuka seperti Internet.
ChangeChiperSpec pada kode autentikasi
handshake yang dibawah oleh pesan finished. Walau bagaimanapun, dalam setiap
Pesan ChangeChiperSpec dihilangkan karena lingkungan, protokol SSL sendiri
SSL tidak menganggap bahwa pesan memperkenalkan analisis lalu lintas tambahan
ChangeChiperSpec adalah pesan protokol yang mudah diserang. Ketika SSL
handshake. Penghilangan ini membuat menggunakan stream cipher untuk melakukan
implementasi SSL rentan terhadap serangan enkripsi, ukuran dari hasil pesan yang di
tertentu ketika implementasi menggunakan enkripsi tersebut dapat menunjukkan ukuran
session authentication-only (tanpa enkripsi). dari pesan yang belum di enkripsikan;
Untuk mengambil keuntungan terhadap penyerang hanya perlu mengurangi dengan
kerentanan ini, penyerang akan menghapus ukuran kode pesan otentikasi. Namun
pesan ChangeChiperSpec dari stream demikian, kelemahan ini tidak muncul ketika
komunikasi. Kedua belah pihak (server dan enkripsi dilakukan dengan menggunakan block
Client) akan menerima pesan finished yang cipher, karena padding yang diterapkan pada
valid dan mulai melakukan pertukaran data block cipher telah secara efektif dapat
tanpa pernah mengaktifkan chiper suite yang menyembunyikan ukuran plaintext yang
pernah dinegosiasikan (serangan ini tidak sebenarrnya. Implementasi SSL hanya memilih
dapat dilakukan jika session menggunakan untuk mendukung enkripsi block cipher agar
enkripsi. Pada kasus tersebut, pihak yang dapar mencegah serangan analisis lalu lintas.
mengirim pesan finished akan mengenkripsi
pesan tersebut, dan pihak yang menerima
pesan finished, dengan melihat bahwa pesan 4.2.3 Serangan
ChangeChiperSpec tidak hilang, berharap
bahwa pesan tersebut tidak terenkripsi).
Bleinchenbacher
Pada tahun 1998, Daniel Bleichenbacher,
Untungnya, penolakan terhadap serangan ini seorang peneliti dari Laboratorium Lucent
cukup mudah. Implementasi SSL seharusnya Bell, melaporkan mengenai sebuah serangan
tidak akan menerima pesan finished yang tidak terhadap protokol keamanan yang
disertai dengan pesan ChangeChiperSpec. menggunakan enkripsi RSA, termasuk protol
SSL. Serangan tersebut mengambil
keuntungan dari cara algoritma enkripsi RSA
4.2 Isu Enkripsi menyandikan data sebelum melakukan
SSL sangat efektif dalam menjaga kerahasiaan enkripsi terhadapnya. Data sandi selalu
dari informasi. Hanya beberapa hal kecil saja dimulai dengan dua byte 00 dan 02.
yang dapat dipertimbangkan pada isu enkripsi
ini, diantaranya adalah: Ada beberapa langkah yang dapat dilakukan
dalam implementasi SSL untuk mengurangi
4.2.1 Ukuran key dari enkripsi dampak dari serangan ini. Diantaranya adalah
dengan memeriksa dengan sangat teliti
Kekuatan dari enkripsi yang ditawarkan oleh plaintext hasil dari dekripsi sebelum
SSL merupakan isu yang penting. Kekuatan itu menerimanya sebagai hasil dekripsi yang
bergantung secara langsung dari ukuran kunci
valid.
yang digunakan dari algoritma kriptografi
simetrik, seperti RC4 dan DES. Secara teori,
pengembang dapat menciptakan penerapan
dari SSL dengan menggunakan panjang kunci 4.3 Isu Umum
yang cukup besar, dan implementasi yang
seperti itu sudah pasti akan sulit dipecahkan. Masih banyak isu-isu lain yang tidak dapat
dikategorikan sebagai isu otentikasi atau isu
enkripsi. Isu-isu tersebut dapat dianggap
4.2.2 Analisis Lalu Lintas sebagai isu umum,diantaranya adalah:
Penyerang dapat mempelajari banyak hal
mengenai target yang akan diserang hanya
dengan melakukan observasi mengenai lalu
lintas dari dan menuju target tersebut,
13

4.3.1 Ukuran Kunci RSA kemungkinan terjadinya pengakhiran yang


belum pada waktunya.
Sebagian besar dari penerapan SSL adalah
dengan menggunakan algoritma enkripsi RSA
untuk digital signature dan enkripsi kunci
public. Kekuatan dari algoritma RSA ini 4.3.4 Nilai ID dari Session
bergantung dengan ukuran kunci public dari Spesifikasi SSL memberikan server
RSA. Semakin panjang kunci, semakin aman fleksibilitas secara lengkap dalam memilih
implementasinya. nilai ID dari session. Dalam membuat
pemilihan, server harus dengan hati-hati
menerapkan dengan tidak mengikutsertakan
4.3.2 Versi Serangan Rollback informasi yang penting. Nilai ID dari session
ditransfer dalam pesan ClientHello dan
SSL versi 3.0 memperkanalkan banyak
ServerHello sebelum enkripsi di aktifkan.
peningkatan daripada versi 2.0, termasuk
Nilainya akan sangat terbuka untuk dilihat oleh
peningkatan dalam hal keamanan protokol.
penyerang.
Spesifikasi SSL menetapkan pendekatan yang
sangat spesifik untuk melindungi dari serangan
yang memaksa versi rollback. Meskipun
demikian, ada satu area yang tidak ditetapkan 4.3.5 Generasi Nomer Acak
dalam spesifikasi, yaitu pembukaan kembali Nomer acak merupakan operasi yang cukup
session yang sebelumnya. Secara sepintas, penting dalam SSL. Nomer acak dipertukarkan
penerapan SSL membolehkan sebuah session pada pesan ClientHello dan ServerHello
yang sebelumnya di bentuk dengan sangat menunjukkan kunci dari enkripsi pada
menggunakan versi 3.0 untuk dilanjutkan session. Nomer acak, bagaimanapun juga,
dengan menggunakan versi 2.0. Hati-hati memberikan tantangan menarik bagi sistem
dengan penerapannya, jangan membolehkan komputer, perangkat lunak tidak dapat
perilaku ini. Jika sebuah session terbentuk melakukan apapun secara acak. Penerapan dari
dengan menggunakan versi 3.0, maka perangkat lunak hanya bergantung ke
penerapannya harus memastikan bahwa semua algoritma yang dikenal sebagai pseudorandom
usaha untuk melanjutkan session harus tetap number generators. Algoritma ini
menggunakan versi 3.0. mensimulasikan pengacakan secara sebenarnya
dengan perhitungan matematik.

4.3.3 Pengkahiran yang Ada dua buah masalah yang ada pada
pseudorandom number generators yang harus
Belum Pada Waktunya dipikirkan SSL dan penerapan dari keamanan
Ancaman dari serangan pemotongan yang lain. Masalah yang pertama adalah
berdasarkan pada pengakhiran yang belum keefektifan dari algoritmanya sendiri.
pada waktunya dari sebuah session SSL Kebanyakan dari library perangkat lunak
merupakan salah satu isu keamanan umum. membangkitkan pesudorandum number
Jika seorang penyerang dapat menghapus dengan menggunakan algoritma linear
pesan pada protokol ketika sedang terkirim, congruential generator. Meskipun algoritma
penyerang itu dapat membuat skenario dimana seperti diatas dapat menjadi pseudorandom
satu atau dua pihak yang saling berkomunikasi number generators yang efektif, algoritma
hanya menerima sebagian informasi. Jika tersebut juga bisa menjadi kurang efektif.
informasi yang hilang sangat penting dalam Ditambah lagi, banyak pengembang yang
komunikasi, penyerang dapat membahayakan mencari pembuktian pada algoritma dasar
keamanan secara keseluruhan dari pertukaran. dengan cara yang diperoleh, pada kenyataanya,
Protokol SSL menyediakan pesan ClosureAlert malah menbawa malapetaka.
untuk melindungi dari serang yang bertipe
seperti ini. Sayangnya, tidak semua lingkungan Masalah yang lebih serius dengan linear
dapat bergantung pada ClosureAlert. Pengguna congruential generators adalah mereka
web browsing contohnya, hanya dengan sequential , dan dapat diprediksikan secara
mematikan komputer mereka setelah lengkap. Jika parameter dari algoritma
menyelesaikan transaksi, sebelum komputer diketahui dan satu dari nilai yang spesifik,
tersebut sempat mengirimkan pesan sangat mudah untuk memprediksikan semua
ClosureAlert. Perlindungan yang lebih baik nilai dimasa yang akan datang yang akan
jika aplikasi yang menggunakan keamanan dibangkitkan oleh algoritma. Nomer acak yang
SSL lebih teliti dalam menangani dapat diprediksi merupakan masalah yang
serius bagi sebuah protokol keamanan., seperti
14

mereka mengizinkan penyerang untuk


merencanakan dan menyiapkan diri meraka
dengan baik untuk menyerang, menunggu
mungkin sebuah nilai yang membahayakan
untuk mucul. Penerapan SSL bagaimanapun
harus sangat berhati-hati. Apalagi dengan
penggunaan library pseudorandom number
generators. Standard algoritma kriptografi
termasuk enkripsi dan algoritma hash dapat
dimodifikasi untuk menyediakan nomer acak
yang efektif.

4.3.6 Benih Nomer Acak


Tanpa menghiraukan penerapan algoritma
yang digunakan untuk pembangkitan nomer
acak, penerapan pada umumnya harus
menyediakan algoritma tersebut dengan
inisiasi titik mulai atau benih. Dalam aplikasi Gambar 11 IDS Dikalahkan oleh SSL
selain daripada keamanan, kebutuhan utama
dari titik mulai ini adalah ia akan berbeda
setiap kali pembangkitan dilakukan. Dalam 5.1 Melancarkan Serangan
aplikasi keamanan, titik mulai yang dimaksud
tidak saja harus acak, tapi juga tidak dapat
Melalui Jalur SSL
diprediksi. Menggunakan browser untuk melancarkan
serangan HTTP melalui SSL adalah mudah.
Satu-satunya yang harus dilakukan oleh
penyerang adalah menggunakan URL dengan
5. Hacking yang Aman awalan HTTPS bukan HTTP. Browserlah yang
Melalui SSL akan menangani session negosiasi SSL dan
enkripsinya. Tetapi, jika penyerang ingin
menjalankan script atau tools untuk mengirim
Dalam hal pendeteksi gangguan pada IDS serangan melalui HTTP, namun tidak memiliki
(Intrusion Detection Sytem), yang merupakan fungsi SSL padanya, maka ia akan
system pendeteksi gangguan, SSL merupakan menggunakan teknik yang disebut tunneling.
halangan terbesar. Kebanyakan IDS Tunneling SSL memerlukan program penerus
berpedoman pada paket sniffing jaringan port yang terhubung pada port 80 untuk
untuk mengumpulkan aktivitas data. Jika itu request HTTP standar dan meneruskan ke host
sendiri terenkripsi, maka tidak bisa dianalisis tertentu pada koneksi SSL terenkripsi. Dengan
untuk bisa menentukan apakah aktivitas itu cara ini, serangan yang dilancarkan terhadap
mencurigakan atau tidak.. Semua IDS yang SSL tunnel secara otomatis terenkripsi dan
berdasar pada paket sniffing pasti akan diteruskan ke sistem target.
mengabaikan serangan yang lewat pada SSL.
Gambar 11 menggambarkan bagaimana IDS
tidak efektif melawan serangan melalui jalur
SSL.

Gambar 12 Tunnel SSL, Menggunakan


Inetd dan OpenSSL

Mengkonstruksi sebuah tunnel SSL dengan


OpenSSL adalah sangat mudah, khususnya
pada sistem UNIX yang menggunakan inetd.
15

5.2 Mendeteksi Gangguan 5.3 Mendeteksi Lalu Lintas


Melalui SSL SSL
Untuk mendeteksi gangguan melalui SSL, Jika session key dapat dipulihkan, aliran data
menggunakan reverse HTTP merupakan dapat didekripsi jika bisa ditangkap. Satu-
sebuah solusi terbaik. Gambar dibawah ini satunya cara untuk memulihkan session key
menunjukkan bagaimana reverse HTTP dapat SSL adalah sewaktu ia dalam pertukaran
dipakai untuk menangkap lalu lintas SSL antara server dan browser. Tetapi pertukaran
sebelum ia mencapai ke server dan ini dilakukan dengan enkripsi kunci publik,
melewatkan lalu intas HTTP teks biasa ke Dengan demikian untuk mendekripsi kunci
webserver. IDS diletakkan antara reverse session, penyerang perlu akses ke sertifikat
HTTP proxy dan web server. Dengan cara ini, SSL server dan Client, bila salah satunya
IDS dapat mengambil signature dalam lalu digunakan.
lintas HTTP.
Dengan mengetahui kunci privat server SSL,
Satu-satunya kekurangan dari sistem ini adalah penyerang bisa mendekripsikan data dari
bahwa sumber alamat IP dari sestem koleksi SSL jika pendeteksi atau sniffer SSL
penyerang diganti dengan alamat IP sistem dimulai sebelum koneksi SSL dibuat. Sniffer
reverse HTTP proxy. Untuk melacak sumber menjadi ssldump, yang merupakan program
alamat IP, penyerang harus menghubungkan tcpdump SSL-enabled sudah tersedia. Untuk
log reverse HTTP proxy dengan catatan waktu rincian bagaimana ssldumb berkerja dan
pada log IDS. dipakai, dapat dilihat pada Gambar 13 dibawah
ini.

Gambar 13 Reverse HTTP Proxy dan IDS

menjalankan dekripsi SSL atau untuk


5.4 Dekripsi SSL menerapkan reverse HTTP proxy yang bisa
mendekripsikan lalu lintas SSL kemudian
Dalam hubungannya dengan pendeteksian
melewatkannya ke Web server backend. Pada
gangguan pada lalu lintas Web, SSL menjadi
situasi selanjutnya, IDS bisa diposisikan
rintangan yang terbesar. Jika menggunakan
diantara reverse HPPT proxy dan web server
IDS, yang diharapkan menjadi penengah yang
beckend.
menangkap lalu lintas jaringan sebelum
mencapai titik akhir dan menganalisis apakah
ada signature yang berisi serangan, dan SSL 6. Daftar Pustaka
yang didesain dengan tujuan untuk
menemukan apakah ada penangkapan lalu
[01] Stuart McClure, Web Hacking Serangan
lintas data yang tidak efektif, maka mendesain
dan Pertahanannya, Penerbit ANDI
IDS yang bisa mengolah SSL merupakan
Yogyakarta
latihan yang bsia mengalahkan tujuan utama
dari SSL itu sendiri.
[02] Munir Rinaldi, Diktat Kuliah IF5054
Kriptografi, Program Studi Teknik Informatika
Tetapi, seperti yang telah disebutkan
sebelumnya, menerapkan IDS dengan setifikat
dan kunci privat SSL dari sisi server untuk
16

[03] Stephen Thomas, SSL and TSL Essential


Securing the Web, Wiley Computing
Publishing

[04] Bruce Schneier. Applied Cryptography


Second Edition. John Wiley and Sons, Inc.,
1996

Anda mungkin juga menyukai