29
Keamanan Aplikasi Web Husni [email protected] husni.trunojoyo.ac.id komputasi.wordpress.com Web Engineering 2010 Pertemuan ke-13

Keamanan Aplikasi Web Husni [email protected] husni.trunojoyo.ac.id komputasi.wordpress

  • Upload
    newman

  • View
    71

  • Download
    5

Embed Size (px)

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 Presentation

Citation preview

Page 1: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

Keamanan Aplikasi Web

[email protected]

husni.trunojoyo.ac.idkomputasi.wordpress.com

Web Engineering 2010Pertemuan ke-13

Page 2: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

2

Keamanan Aplikasi Web?

• Bukan keamanan jaringan• Mengamankan:

– “Custom Code” yang menggerakkan suatu aplikai web

– Pustaka (library)– Sisterm Back-end– Server aplikasi dan Web

Page 3: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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

Page 4: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

4

Server Web yang Paling Biasa Terinfeksi (Januari – Juni 2008)

Page 5: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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

Page 6: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

6

Keamanan Corporate

Internet

Server (Data)

Workstations(Green Segment)

Firewall !!!!!!!!!!!!

Wild Wild West

Page 7: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

Keamanan Layer Network & Transport

7

• Mengamankan secara tradisional tidak cukup• Kendali Jaringan – lalu lintas yang salah• Lebih 70% menyerang level aplikasi

Page 8: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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)

Page 9: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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”

Page 10: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 11: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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

Page 12: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

12

Standar Keamanan Aplikasi Web

• OWASP (Open Web Application Security Project)

• WASC ( Web Application Security Consortium)

Page 13: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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

Page 14: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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

Page 15: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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...

Page 16: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 17: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 18: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 19: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 20: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 21: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 22: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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).

Page 23: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 24: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 25: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 26: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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.

Page 27: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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”

Page 28: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

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

Page 29: Keamanan Aplikasi Web Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id komputasi.wordpress

29

Pertanyaan?