Minggu, 19 April 2009

Software Pengintip Tunnel SSL


SSL (Secure Socket Layer) dan TLS (Transport Layer Security) merupakan kelanjutan dari protokol kriptografi yang menyediakan komunikasi yang aman di internet. Baik SSL dan TLS melibatkan beberapa langkah dasar:
- Negosiasi dengan ujung klien atau server untuk dukungan algoritma
- Public key, encryption-based-key, dan certificate-based-authentication.
- Enkripsi lalu lintas symmetric-cipher-based

SSL dan TLS berjalan pada layer di bawah application protocol seperti http, SMTP, NNTP dan di atas layer TCP Transport Protocol, yang juga merupakan bagian dari TCP/IP protocol. Jadi dapat dikatakan kalau SSL merupakan protokol yang aman karena dapat menjamin kerahasiaan data dari endpoint ke endpoint. Data apapun yang dilewatkan melalui SSL dijamin aman dari pengintip ditengah jalan karena semua data dikirim dalam keadaan terenkripsi. Karena itu SSL sering di jadikan Tunnel untuk membuat protokol lain yang tidak secure menjadi secure. Contoh pemakaian SSL sebagai tunnel adalah https. Https merupakan protokol yang sering di sebut-sebut dalam internet banking maupun e-commerce. Http asalnya adalah protokol cleartext, artinya semua request dan response http yang lewat tidak terenkripsi dan bisa disadap siapa aja yang minat. Makanya untuk web-web yang memerlukan jaminan kerahasiaan seperti bank dan e-commerce, protokol http ini di bungkus dan dilewatkan melalui tunnel SSL, dan jadi https yaitu http tunneled over SSL. Bukan http saja protokol yang bisa dilewatkan SSL, masih banyak protokol lain yang bisa dilewatkan melalui SSL, diantaranya IMAP, SMTP, POP, LPAD, dll.

Sniffing at Endpoint
SSL emang menjamin keamanan sepanjang perjalanan dari titik asal (server) menuju titik tujuan (client) karena terenkripsi. Tapi itukan sepanjang perjalanan, gimana kalau sniffing di salah satu endpoint? Endpoint-endpoint tersebut adalah aplikasi-aplikasi yang berjalan diatas OS. Seperti browser, instan messenger, outlook, dll. Aplikasi-aplikasi tersebut ada yg berfungsi sebagai server ataupun klien. Agar data yang dikirimkan aman, aplikasi tersebut harus melakukan enkripsi data terlebih dulu sebelum mengirimkan data ke tujuan. Begitu pula titik penerian, data yang diterima harus melewati proses dekripsi agar bisa diterima dan diproses.

Misalnya aja, kalau yg jadi titik klien adalah browser, dan web server sebagai titik server. Pada saat paket data di serahkan dari aplikasi ke network adapter (ethernet, WiFi adapter, dll), paket tersebut sudah dalam keadaan terenkripsi, tapi ketika berada dalam aplikasinya data masih dalam keadaan tidak terenkripsi. Jadi data hanya aman ketika berada diluar 'rumah', ketika di luar rumah data justru 'telanjang'. Dan hal ini memberikan peluang bagi aplikasi atau proses lain yang memiliki hak akses yang cukup untuk melakukan sniffing. Misalkan aja pada sistem operasi multi user seperti linux dan windows, dimana ada satu user yang digunakan beberapa orang. Jika ada user yang sedang browsing, maka orang lain dengan user yang sama bisa mengintip isi browser korban. Hal ini dimungkinkan karena kedua orang tersebut login dengan user yang sama.

Jadi walaupun korban sedang login menggunakan http (SSL) di browser tersebut, attacker tetap bisa melakukan sniffing dengan cara masuk langsung ke dalam titik proses browser korban.

Apalagi ada sebuah software yang dapat membantu kamu ngelakuin itu semua. Software bernama oSpy ini dapat di gunakan untuk mengintip komunikasi SSL yang dilakukan sebuah proses atau aplikasi. Dengan cara menginjeksi agen 'mata-mata' ke dalam sebuah proses, software tersebut melakukan peng-capture-an informasi. Dengan syarat kamu harus memiliki akses penuh dalam sebuah komputer, tanpa perlu berada dalam komputer yang sama. oSpy juga bisa meng-capture request post yang biasanya berisi username dan password yang masih berbentuk plaintext atau data yang belum di enkrip, sebelum data tersebut diubah ke dalam bentuk cipher text.

oSpy berbeda dengan network sniffer seperti wireshark (ethereal), komunikasi SSL tidak dapat diintip oleh sniffer walaupun dijalankan di komputer yang sama. Karena network sniffer bekerja di layer physical dengan mengubah network adapter ke modus promiscious. Data yang di kirimkan melalui physical layer (network layer) adalah hasil dari fungsi EncryptData(), yang artinya data tersebut sudah dalam bentuk enkrip.

Wah, ternyata SSL ngga se-aman itu ya? Emang deh, dimana ada yang bangun, pasti ada juga yang ngancurin.. Tapi bagus juga ko..biar kita terus membangun..sip??


CU next post, keep blogging..



.::ria::.

Tidak ada komentar:

Posting Komentar