keamanan aplikasi web husni [email protected] husni.trunojoyo.ac.id komputasi.wordpress
DESCRIPTION
Keamanan Aplikasi Web Husni [email protected] husni.trunojoyo.ac.id komputasi.wordpress.com. Web Engineering 2010 Pertemuan ke-13. Keamanan Aplikasi Web?. Bukan keamanan jaringan Mengamankan: “ Custom Code ” yang menggerakkan suatu aplikai web Pustaka (library) Sisterm Back-end - PowerPoint PPT PresentationTRANSCRIPT
Keamanan Aplikasi Web
husni.trunojoyo.ac.idkomputasi.wordpress.com
Web Engineering 2010Pertemuan ke-13
2
Keamanan Aplikasi Web?
• Bukan keamanan jaringan• Mengamankan:
– “Custom Code” yang menggerakkan suatu aplikai web
– Pustaka (library)– Sisterm Back-end– Server aplikasi dan Web
3
Ilustrasi MasalahApplication Layer• Penyerang mengirimkan
serangan dalam request HTTP valid
• Kode aplikasi diakali untuk melakukan yang tidak boleh dilakukan
• Keamanan mensyaratkan kepakaran pengembangan software, bukan tanda-tangan.
Network Layer• Firewall, hardening,
patching, IDS & SSL tidak dapat mendeteksi atau menghentikan serangan dalam request HTTP.
• Keamanan bersandar pada database tanda-tangan
4
Server Web yang Paling Biasa Terinfeksi (Januari – Juni 2008)
5
Kebutuhan Mengamankan Aplikasi/Situs Web
• Situs-situs dirusak, sebagaimana banyak dilaporkan di Internet
• Alasan perusakan– Kerentanan (vulnerability) dari aplikasi– Site owner authored (accidental/intentional)– Kesalahan konfigurasi server Web
6
Keamanan Corporate
Internet
Server (Data)
Workstations(Green Segment)
Firewall !!!!!!!!!!!!
Wild Wild West
Keamanan Layer Network & Transport
7
• Mengamankan secara tradisional tidak cukup• Kendali Jaringan – lalu lintas yang salah• Lebih 70% menyerang level aplikasi
8
Aplikasi Web
• Secara umum tersusuan dari himpunan script yang berada pada suatu web server dan berinteraksi dengan database dan sumber content dinamis lain.
• Biasanya berjalan pada port 80/8080
Serangan Tak-Terdeteksi• Data sebagai bagian dari trafik sah pada port 80/8080,
sehingga tak terdeteksi.• Perangkat jaringan & Firewall konvensional tidak dapat
membedakankan data “buruk” dari data yang benar (asli)
9
Keamanan Aplikasi Web
• Merujuk ke kombinasi orang, proses dan teknologi
• Kenali, ukuran dan kelola resiko-resiko• Diperkenalkan oleh Open source dan aplikasi
web “custom”
10
Resiko dalam Aplikasi
• Pengguna jahat dapat login tanpa account sah• Pengguna tak berhak menampilkan,
menambah, mengupdate dan menghapus data• Pengguna sah dapat menambah/mengupdate
data sebagai pengguna lain• Pengguna jahat dapat meng-upload malicious
content.• Pengguna jahat dapat mencuri hak pengguna
valid.
11
Orang, Proses & Teknologi
Orang Kesadaran Pelatihan Pedoman
Proses Pengembangan yang aman
Pemeriksaan kode yang aman
Pengujian keamanan
Teknologi Konfigurasi yang aman
Firewall aplikasi Scanner otomatis
12
Standar Keamanan Aplikasi Web
• OWASP (Open Web Application Security Project)
• WASC ( Web Application Security Consortium)
13
OWASP
• OWASP adalah proyek yang didedikasikan untuk berbagi (share) pengetahuan dan mengembangkan software open source yang mengedepankan pemahaman tentang keamanan aplikasi web.
• Informasi lebih lanjut: http://www.owasp.org– OWASP Top 10
14
WASC
• Sebuah grup pakar, praktisi dan perwakilan organisasi internasional yang membuat open source dan secara luas telah disetujui sebagai standar keamanan praktis terbaik bagi world wide web.
• http://www.webappsec.org• Database peristiwa web hacking • Klasifikasi ancaman keamanan web
15
Proyek OWASP-Top Ten
• Menyediakan standar minimum bagi keamanan aplikasi web.
• OWASP top ten menggambarkan suatu konsensus luas mengenai apa kelemahan aplikasi web yang paling kritis.
• Pengadopsi– US Federal Trade commission, US DOD, VISA– Perusahaan: Sprint, IBM dll...
16
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A1 - Unvalidated Input (Input Tak-Divalidasi)Informasi dari request web tidak divalidasi sebelum digunakan oleh suatu aplikasi web. Penyerang dapat memanfaatkan kekurangan ini untuk menyerang komponen backend melalui aplikasi web.
17
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A2 - Broken Access Control (Kendali Akses Rusak)Pembatasan pada apa pengguna terotentikasi boleh lakukan tidak dengan tepat diterapkan.Penyerang dapat memanfaatkan kerusakan ini untuk mengakses account pengguna lain, nemapilkan file-file sensitif, atau menggunakan fungsi-fungsi yang bukan haknya.
18
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A3 - Broken Authentication & Session Management(Otentikasi dan Manajemen Sesi Rusak)Account pengguna dan session token-nya tidak dilindungi dengan benar.Penyerang yang dapat mengakses password, key (kunci), session cookie atau token lain dapat menghancurkan pembatasan otentikasi dan mengambil itentitas pengguna lain.
19
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A4 – Cacat Cross Site Scripting (XSS)Aplikasi web dapat digunakan sebagai suatu mekanisme untuk mengantarkan serangan ke web browser end-user.Serangan yang berhasil dapat menyingkap session token dari end-user, menyerang mesin lokal atau men-spoof content untuk mempermainkan penguna.
20
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A5 - Buffer Overflow (Meluapnya buffer)Komponen aplikasi web dalam beberapa bahasa yang tidak dengan tepat men-validasi input dapat dibuat crash, dan pada beberapa kasus, digunakan utuk mengambil kendali dari proses. Komponen-komponen ini dapat termasuk CGI, pustaka, driver dan komponen server aplikasi Web.
21
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A6 - Injection Flaws (Cacat Injeksi)Aplikasi web melewatkan beberapa parameter saat mengakses sistem eksternal atau sistem operasi lokal. Jika penyerang dapat melekatkan perintah-perintah “jahat” (malicious) dalam paramemeter ini, sistem eksternal mungkin mengeksekusi perintah tersebut “atas nama” aplikasi web.
22
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A7 - Improper Error Handling (penanganan error tak tepat)Kondisi error yang terjadi selama operasi normal tidak ditangani dengan benar. Jika penyerang dapat menyebabkan terjadinya error yang tak ditangani oleh aplikasi web, penyerang dapat memperoleh informasi detail mengenai sistem, meniadakan layanan, mengakibatkan gagalnya mekanisme keamanan atau server crash (macet).
23
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A8 - Insecure Storage (media simpan tak-aman)Aplikasi web sering menggunakan fungsi kriptografi untuk melindungi informasi dan akun. Fungsi-fungsi ini dan kode untuk mengintegrasikan-nya terbukti sulit dituliskan dengan tepat, sering mengakibatkan proteksi yang lemah.
24
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A9 - Denial of Service (Penolakan Layanan)Penyerang dapat menghabiskan sumber daya aplikasi web untuk suatu titik dimana pengguna sah lain tidak dapat lebih lama mengakses atau menggunakan aplikasi. Penyerang dapat pula mengunci pengguna lain atau bahkan menyebabkan aplikasi lengkap gagal.
25
OWASP: Kelemahan Aplikasi Web Paling Kritis
• A10 - Insecure Configuration Management(Manajemen Konfigurasi Tak-Aman)Memiliki standar konfigurasi server yang tangguh adalah kritis untuk mengamankan aplikasi webServer-server ini mempunyai banyak pilihan konfigurasi yang mempengaruhi keamanan dan tidak mengamankan di luarnya.
26
Peranan Pengembang dalam Keamanan Aplikasi
• Pengembang harus :– Bekerja dengan arsitek solusi dan administrator
sistem untuk memastikan keamanan aplikasi• Berkontribusi untuk keamanan dengan:
– Mengadopsi praktik pengembangan keamanan aplikasi yang baik
– Mengetahui dimana kerentanan keamanan terjadi dan bagaimana menghindarinya
– Menggunakan teknik pemrograman yang aman.
27
Pendekatan Keamanan Holistik
• Keamanan harus dipertimbangkan pada:Semua tahapan suatu proyek– Perancangan – Pengembangan– Penyebaran (deployment)Semua layer– Network– Host– Application
• “Security is only as good as the weakest link”
28
Referensi: Internet
• http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
• http://confluence.ltc.arizona.edu/confluence/display/WEBPRACTICES/Web+Application+Best+Practices
• http://www.webappsec.org/• http://www.microsoft.com/DOWNLOADS/details.aspx?
familyid=84B3AA98 A1E5 4A74 A56B‐ ‐ ‐ ‐7ADDBDED79CC&displaylang=en
• http://security.arizona.edu/appdev
29
Pertanyaan?