Thursday, December 29, 2011

Keamanan Sistem World Wide Web

Bismillah...

 
Kali ini kita akan membahas tentang Keamanana Sistem World Wide Web. Mungkin sudah tidak asing lagi bukan mendengar kalimat tersebut? Ya, karena pada era modern ini, intertenet sudah seperti jamur di musim penghujan, begitupun dengan penggunanya yang membludak. Siapa yang tak kenal internet? Dari tua sampai muda, dari sabang sampai maurauke dan dari pelosok sampai perkotaan, hampir semua kenal dengan kata tersebut. Lalu, ketika kita memulai untuk berseluncur dalam dunia tersebut, bukan tidak mungkin kan terdapat resiko dan konsekuensi dari penggunaannya sehari-hari? Bukankah sejatinya apapun yang kita kerjakan, tidak luput dari yang namanya RESIKO? Untuk itu, agar keamanan Sistem Worl Wide Web kita tetap aman, yuk pelajari hal-hal yang bersangkutan dengannya dan bagaimana cara mengamankan atau paling tidak mencegah dari resiko-resiko tersebut!

Copas dari Tutun Juhana - STEI ITB, dalam Slide Persentasinya beliau mengemukakan sebagai berikut (dengan beberapa modifikasi dari Penulis)...

Web Browser Risks
  • Web bisa jadi tidak aman untuk itu batasi pengiriman data sensitif ke web server yang tidak aman
  • Browser  menjalankan malcode dalam bentuk scripts atau executables 
  • Penyerang bisa menyadap trafik jaringan untuk itu Resiko penyadapan dapat dikurangi melalui penggunaan Secure Socket Layer (SSL) untuk meng-enkripsi data yang ditransmisikan (Pembahasan tentang SSL akan dibahas selanjutnya)
  • Penyerang dapat menjalankan serangan man in the middle attack untuk itu Aplikasi web yang sessionless sangat potensial untuk menjadi korban serangan man in the middle attacks seperti hijacking and replay
Cara Kerja Web Browser
  • Protokol utama yang digunakan Web Browser adalah HTTP (Hypertext Transfer Protocol)
  • HTTP merupakan protokol layer aplikasi yang memungkinkan Web browser untuk meminta halaman web dari dan mengirimkan informasi ke Web Server 
  • Web server akan merespons dengan mengirimkan : kode HTML, Gambar, Scripts, Executables
  • HTTP adalah protokol stateless : tidak mengingat session sebelumnya
Cookies
  • Cookies adalah sarana penyimpanan informasi yang dibuat oleh suatu Web Site untuk menyimpan informasi tentang user yang mengunjungi situs yang bersangkutan. Penyimpanan informasi ini demi kenyamanan user maupun website. Informasi sensitif dan pribadi merupakan perhatian dari sisi keamanan
  • Cookie merupakan file ASCII yang dikirimkan server ke client, lalu client menyimpannya di sistem lokal
  • Ketika request baru dikirimkan, server dapat meminta browser untuk mencek apakah ada cookie? Jika ada, web server dapat meminta web browser untuk mengirimkan cookie ke web server dan cookie ini bisa berasal dari manapun
  • Isi cookie dikendalikan oleh Web Server dan bisa mengandung informasi mengenai kebiasaan kita ketika mengakses internet 
  • Informasi yang diperoleh Web Server berasal dari Web Browser. Hal ini diperoleh ketika user mengisi form yang mengharuskan memasukkan nama dan email address (informasi ini dapat disimpan di cookie untuk keperluan di masa datang)
Macam-macam Cookie 
1.       Persistent Cookies
        Bertahan di local system untuk waktu yang lama (walaupun sistem sudah direboot)
        Tersimpan di dalam hard disk dalam bentuk file cookies.txt
          File ini dapat dibaca dan diedit oleh user atau system administrator
          File ini bisa mengandung informasi yang sensitif
          Jika suatu saat seorang penyerang dapat masuk ke dalam workstation tempat menyimpan cookie maka penyerang dapat menggunakannya untuk melakukan serangan berikut
          Karena bisa dimodifikasi maka file cookies dapat digunakan untuk melakukan penyerangan hijacking atau replay attack.
        Kelemahan:
          File cookies bisa memenuhi hard disk
          Riwayat kebiasaan surfing dapat digunakan oleh pihak lain
  1. Nonpersistent cookies
   Karena kelemahan persistent cookies, banyak situs yang sekarang menggunakan nonpersistent cookie
  nonpersistent cookie disimpan di memori sehingga bila komputer dimatikan cookies nya juga akan hilang
  Tidak ada jaminan bahwa setiap browser akan dapat menangani nonpersistent cookies secara benar
  1. Cookies pada umumnya mengandung informasi yang memungkinkan suatu web site dapat mengingat user yang mengunjungi situs tersebut
  2. Informasi yang paling sering disimpan di cookies adalah sbb:
        Session ID
          Digunakan untuk memaintain state atau membawa informasi otorisasi antar request yang dilakkan web browser
        Waktu dan tanggal dikeluarkannya cookie
        Waktu dan tanggal kadaluarsa cookies
          Digunakan oleh Web site untuk menentukan pengabaian cookies yang lama
        IP address dari browser
          Dapat dianggap sebagai uji tambahan terhadap otentikasi request


Caching

    Bila anda mengakses suatu Web site, browser yang anda gunakan bisa jadi menyimpan halaman web dan gambar di dalam cache
    Web browsers melakukan ini untuk kenyamanan user dengan cara mempercepat akses kepada suatu halaman web
   Ini bisa jadi merupakan masalah keamanan karena bila workstation berhasil ditembus, penyerang dapat mempelajari kegiatan browsing yang dilakukan user
    Web browser juga menyimpan sejarah situs yang pernah anda kunjungi

Secure Socket Layer (SSL)

  SSL dikembangkan oleh Netscape untuk menyediakan layanan keamanan pada pengiriman informasi melalui Internet
   SSL memandaatkan asymmetric maupun symmetric key encryption untuk membentuk dan mentransfer data pada link komunikasi yang aman pada jaringan yang tidak aman
    Bila digunakan pada browser di client, SSL membentuk suatu koneksi yang aman antara browser pada client dengan server
        Biasanya berbentuk HTTP over SSL (HTTPS)
        Proses ini membentuk suatu encrypted tunnel antara browser dengan Web server yang dapat digunakan untuk mengirimkan data
  Pihak yang berusaha menyadap koneksi antara browser dengan server tidak dapat men-dekripsi informasi yang dipertukarkan di antara keduanya
    Integritas informasi dibentuk menggunakan algoritma hashing
    Confidentiality dijamin oleh enkripsi

Session SSL yang Tipikal

  1. Browser atau client meminta sertifikat server
  2. Server mengirimkan sertifikat ke browser
  3. Setelah menerima sertifikat server, browser akan mencek apakah sertifkat berasal dari certificate authority (CA) yang dapat dipercaya
          Web browser mengirimkan challenge ke server untuk menjamin bahwa server memiliki private key yang sesuai dengan public key yang ada di dalam sertifikat
          Challenge ini mengandung kunci simetris yang akan digunakan untuk mengenkripsi trafik SSL traffic
          Hanya pemiliki private key yang dapat mendekripsi challenge.
  1. Web server merespon challenge dengan suatu pesan pendek yang dienkripsi menggunakan kunci simetris yang diperoleh dari challenge. Setelah menerima message ini, browser yakin bahwa dia berkomunikasi dengan organisasi yang tepat
  2. Sekarang browser dan server memiliki kunci simteris yang sama
  3. Setiap message dari browser dapat dienkripsi menggunakan kunci simetris
          Web server menggunakan kunci simteris yang sama untuk mendekripsi trafik
  1. Dengan proses yang serupa, setiap response dari server akan dienkripsi menggunakan kunci simetris
Session SSL Tipikal

          Netscape Navigator dan Internet Explorer mendukung HTTPS
          Pada umumnya software Web server mendukung HTTPS
          Situs-situs e-commerce biasanya menggunakan HTTPs juga untuk memperoleh informasi rahasia user
          Server diotentikasi oleh client melalui sebuah digital certificate
          Kekuatan enkripsi biasanya ditentukan oleh server tetapi biasanya dipilih berdasarkan kemampuan browser client
          Tipe enkripsi yang digunakan di dalam browser tergantung kepada apakah browser tersebut akan dijual di USA atau di luar USA
          Versi enkripsi untuk pemakaian di luar USA menggunakan weak encryption
          Pemakaian enkripsi untuk di dalam USA menggunakan strong encryption
          Weak encryption: 40-bit or 56-bit encryption
          Strong encryption : 128-bit encryption
        128-bit encryption adalah 300,000,000,000,000,000,000,000,000 lebih kuat daripada 40-bit encryption.
          Netscape menyediakan dua versi browser : strong (in USA) and weak encryption (outside USA)
          Internet explorer default-nya menyediakan weak encryption
        Kalau ingin strong encryption harus di-patch