Hidup itu pilihan, maka jalani sebaik mungkin


Sepuluh Celah Kerawanan Pada Aplikasi Web

10/11/2009 12:45

Suatu organisasi non-profit “Open Web Application Security Project” (OWASP) telah merilis satu buah daftar berisi 10 celah teratas yang dapat mengancam website anda, OWASP adalah sebuah situs yang didedikasikan untuk komunitas yang punya perhatian dalam keamanan dalam aplikasi web.

 

Didalamnya terdapat banyak informasi dan resources tentang berbagai aspek keamaanan aplikasi web, diantaranya berbentuk referensi, artikel, aplikasi, forum diskusi, projek dan presentasi.Secara ringkas berikut ini adalah hal-hal yang termasuk dalam “OWASP Top Ten Project 2007″:

1. Cross Site Scripting (XSS), para attackers memanfaatkan web aplikasi untuk dijadikan sebagai mekanisme yang menghubungkan serangan pada web browser penggunanya. Seperti yang kita tahu web browser dapat menjalankan code yang dikirim dari web site server seperti javascript atau flash sehingga memungkinkan untuk di attack seperti dengan mengirimkan isinya ke pemakai lain. Kata kuncinya adalah jangan membiarkan lubang untuk attacker mencuri isi web yang masih aktif karena saat pengguna web aplikasi dapat memasukkan data dan mengirimkan ke web browser tanpa harus melakukan validasi dan encoding terhadap isi data tersebut, sehingga mengakibatkan penyerang dapat menjalankan potongan kode script miliknya di browser target, dan memungkinkan untuk mencuri user session milik target, bahkan sampai menciptakan Worm.

2. Injection Flows, aplikasi web dapat melewatkan informasi dari pengguna ke sistem lain ataupun ke system operasi lokal. Jika penyusup dapat melewatkan perintah yang tidak diantisipasi oleh aplikasi web maka dia mungkin dapat masuk dalam sistem operasi lokal. Secara umum penggunaan parameter atau perintah dalam bentuk SQL jangan dilakukan dalam parameter konstan sehingga dapat diketahui oleh attackers. Karena celah injeksi umumnya injeksi terhadap SQL (database) dari suatu aplikasi web. Hal ini mungkin terjadi apabila pengguna memasukkan data sebagai bagian dari perintah (query) yang menipu interpreter untuk menjalankan perintah tersebut atau merubah suatu data.

Key Points: - Use extreme care when invoking an interpreter, -Use limited interfaces where possible (PreparedStatement), - Check return values

3. Malicious File Execution, Celah ini mengakibatkan penyerang dapat secara remote membuat file yang berisi kode dan data untuk di eksekusi, salah satunya adalah Remote file inclusion (RFI).

4. Insecure Direct Object Reference, Adalah suatu celah yang terjadi saat pembuat aplikasi web merekspos referensi internal penggunaan objek, seperti file,direktori, database record, dll

5. Cross Site Request Forgery (CSRF), Celah ini akan memaksa browser target yang sudah log-in untuk mengirimkan “pre-authenticated request” terhadap aplikasi web yang diketahui memiliki celah, dan memaksa browser target untuk melakukan hal yang menguntungkan penyerang.

6. Information Leakage and Improper Error Handling, penyerang menggunakan informasi yang didapatkan dari celah yang diakibatkan oleh informasi yang diberikan oleh web aplikasi seperti pesan kesalahan (error) serta konfigurasi yang bisa di lihat. Kondisi error yang tidak ditangani secara benar dapat digunakan untuk memperoleh informasi dari sistem atau bahkan dapat membuat suatu sistem “crash”. Jadi penanganan masalah harus dilakukan dengan benar sehingga tidak meimbulkan efek lainnya yang membahayakan seperti Out of memory, too many users, timeout, db failure, authentication failure, access control failure, bad input. Kuncinya adalah perancangan skema penanganan errors yang benar dan juga konfigurasi server yang tepat.

7. Broken Authentication and Session Management, account dan token session tidak terproteksi dengan baik. Celah ini merupakan akibat buruknya penanganan proses otentikasi dan manajemen sesi, sehingga penyerang bisa mendapatkan password, atau key yang di gunakan untuk otentikasi.

Key Points: - Keep credentials secret at all times, - Use only the random sessionid provided by your environment

8. Insecure Cryptographic Storage, aplikasi web umumnya jarang menggunakan fungsi kriptografi untuk melindungi data penting yang dimiliki karena memiliki kelemahan. Pada umumnya fungsi tersebut dan juga bagian kode untuk mengintegrasikannya sulit untuk dituliskan secara benar, dan ini menghasilkan proteksi yang lemah. Sebaiknya menggunakan algoritma yang mudah digunakan dan terintegrasi dengan baik.

Key Points: - Do not even think about inventing a new algorithm, - Be extremely careful storing keys, certs, and passwords, - Rethink whether you need to store the information, - Don’t store user passwords, – use a hash like SHA-256

9. Insecure Communications, sedikit sekali aplikasi web yang mengamankan jalur komunikasinya, hal inilah yang dimanfaatkan oleh penyerang sebagai celah untuk mendapatkan informasi berharga.

10. Failure to Restrict URL Access, Seringkali, aplikasi web hanya menghilangkan tampilan link (URL) dari pengguna yang tidak berhak, tetapi hal ini dengan sangat mudah dilewati dengan mengakses URL tersebut secara langsung.

Daftar ini pertama kali di rilis OWASP pada tahun 2004. Di tahun 2007 kemarin daftar ini telah berkembang, teknologi web (2.0) baru seperti AJAX dan RIA (Rich Internet Application) yang membuat tampilan website semakin menarik dan mengakibatkan timbul berbagai jenis celah baru juga telah diikutkan juga.

Sepuluh daftar kelemahan pada aplikasi web yang perlu diperhatikan para designer atau pembuat web tersebut di atas, semoga bermanfaat dan dapat dijadikan rujukan dalam menguji coba tingkat keamanan suatu aplikasi web.Sehingga dalam membuat web, keamanan web harus tetap diprioritaskan tidak lagi dikategorikan sebagai suatu hal yang hanya perlu dipikirkan setelah web itu jadi atau siap digunakan oleh user. Karena tidak sedikit ahli keamanan web menyatakan bahwa, pada umumnya keseluruhan website yang ada di internet rentan untuk dikuasai oleh penyerang, dan celah tersebut umumnya relatif gampang ditemukan bahkan untuk di eksploitasi.

Sumber :

https://www.owasp.org/index.php/Top_10_2007

https://kolmsteen.web.id

—————

Back