KEAMANAN KOMPUTER S1SI AMIKOM YOGYAKARTA Pertemuan 3 Aplikasi dan Jaringan Serangan
Serangan pada aplikasi Serangan yang menargetkan aplikasi Kategori serangan terus berkembang Serangan pada aplikasi web Serangan di sisi klien Serangan Buffer overflow Zero day attacks Mengeksploitasi kerentanan yang belum diketahui Korban tidak memiliki waktu untuk mempersiapkan diri atau mempertahankan diri
Serangan Pada Aplikasi Web Saat ini aplikasi berbasis web merupakan elemen penting dari sebuah organisasi Pendekatan untuk mengamankan aplikasi berbasis Web Memperkuat pertahanan server Web Melindungi jaringan
Infrastruktur Aplikasi berbasis Web
Serangan Pada Aplikasi Web Serangan pada aplikasi Web yang umum dilakukan Cross-site scripting SQL injection XML injection Command injection / directory traversal
Keamanan Aplikasi Berbasis Web
Cross-Site Scripting (XSS) Menyuntikkan script ke dalam server aplikasi Web Serangan diarahkan langsung ke klien
XSS Ketika korban mengunjungi situs Web yang telah terinjeksi: Instruksi berbahaya akan dikirim ke browser korban Browser tidak bisa membedakan antara kode yang valid dan script yang berbahaya Persyaratan situs Web yang menjadi target serangan Menerima “user input” tanpa validasi Menggunakan tanggapan “input” tanpa dilakukan encoding pada “input” tersebut Beberapa serangan XSS dirancang untuk mencuri informasi: Disimpan oleh browser
Bookmark yang menerima “user-input” tanpa validasi dan respon tak-di-encode
Input yang digunakan sebagai respon
SQL Injection Mengarahkan serangan ke server SQL dengan menyuntikkan perintah SQL (Structured Query Language) Digunakan untuk memanipulasi data yang disimpan dalam database relasional Contoh: lupa kata sandi Penyerang masuk dengan alamat e-mail yang secara format salah Respon yang diberikan memungkinkan penyerang mengetahui apakah input divalidasi
SQL Injection Contoh: lupa kata sandi (Lanjutan) Penyerang memasukkan “field” email pada pernyataan SQL Pernyataan diproses oleh database Contoh pernyataan: Fieldlist SELECT FROM tabel WHERE field = 'whatever' atau 'a' = 'a' Hasil: Semua alamat email pengguna akan ditampilkan
Statement SQL injection
XML Injection Markup language HTML XML Metode untuk menambahkan “annotations” (penjelasan) ke teks HTML Menggunakan tag yang diberi tanda kurung Memerintahkan browser untuk menampilkan teks dalam format tertentu XML Membawa data yang digunakan untuk menunjukkan bagaimana data tersebut ditampilkan Tidak ada standarisasi untuk sekumpulan tag Pengguna mendefinisikan tag mereka sendiri
XML Injection Serangan XML Xpath injection Mirip dengan serangan injeksi SQL Penyerang mencari situs Web yang tidak menyaring data pengguna Menyuntikkan tag XML dan data ke dalam database Xpath injection Jenis khusus dari serangan XML injection Upaya untuk mengeksploitasi jalur bahasa kueri XML
Command Injection / Directory Traversal Pengguna web server biasanya dibatasi ke direktori root Pengguna mungkin dapat mengakses subdirektori: Tapi tidak parallel atau di tingkat direktori yang lebih tinggi File sensitif dilindungi dari akses pengguna yang tidak sah Cmd.exe dapat digunakan untuk memasukkan perintah berbasis teks Passwd (di Linux) berisi informasi akun pengguna
Command Injection / Directory Traversal Serangan Direktory Traversal Mengambil keuntungan dari kerentanan perangkat lunak Penyerang bergerak dari root direktory ke restricted direktory Serangan Command injection Penyerang memasukkan perintah untuk dieksekusi di server
Client-Side Attacks Serangan pada aplikasi web adalah serangan pada sisi server (server-side) Serangan Client-Side menargetkan pada kerentanan dalam aplikasi client Berinteraksi dengan server yang telah dikompromi Client memulai koneksi dengan server, dimana serangan dapat terjadi
Client-Side Attacks Drive-by download Komputer klien yang digunakan, melihat halaman Web Penyerang menyuntikkan konten ke server Web yang rentan Mendapatkan akses ke sistem operasi server Penyerang merangkai frame zero pixel untuk menghindari deteksi visual Menanamkan dokumen HTML di dalam dokumen utama Browser klien download script berbahaya Memerintahkan komputer untuk men-download malware
Client-Side Attacks Manipulasi Header Contoh manipulasi Header HTTP header berisi field yang menjadi mencirikan data yang ditransmisikan Header dapat berasal dari browser Web Browser biasanya tidak menyertakan header ini Program pendek penyerang memungkinkan melakukan modifikasi Contoh manipulasi Header Referer Accept-language
Client-Side Attacks Field referal menunjuk ke situs yang menghasilkan halaman Web Penyerang dapat memodifikasi field ini untuk menyembunyikan fakta bahwa ia berasal dari situs lain Host halaman Web yang dimodifikasi berasal dari komputer penyerang Accept-language Beberapa aplikasi Web meloloskan isi field ini langsung ke database Penyerang bisa menyuntikkan perintah SQL dengan memodifikasi header ini
Client-Side Attacks Cookies dan Attachment Cookies menyimpan informasi pengguna tertentu pada komputer lokal pengguna Situs web menggunakan cookies untuk mengidentifikasi pengunjung yang datang kembali Contoh informasi yang disimpan dalam cookie Travel web site menyimpan jadwal rencana perjalanan pengguna Informasi personal diberikan ketika mengunjungi situs Hanya situs Web yang membuat cookie dapat membacanya
Client-Side Attacks First-party cookie Third-party cookie Cookie yang dibuat oleh pengguna situs Web saat mengunjungi situs Third-party cookie Site advertisers menempatkan cookie untuk merekam preferensi pengguna Session cookie Disimpan di RAM dan berakhir ketika browser ditutup Persistent cookie Direkam pada hard drive komputer Tidak berakhir saat browser ditutup Cookie aman Hanya digunakan bila browser mengunjungi server melalui koneksi yang aman Selalu dienkripsi Flash Cookie Menggunakan lebih banyak ruang memori dari pada cookie tradisional Tidak dapat dihapus melalui pengaturan konfigurasi browser
Client-Side Attacks Cookies menimbulkan risiko keamanan dan privasi Dapat dicuri dan digunakan untuk menyamar sebagai pengguna Digunakan untuk mengkaitkan iklan Dapat dimanfaatkan oleh penyerang
Client-Side Attacks Session hijacking Malicious add-ons Penyerang mencoba untuk menyamar sebagai pengguna dengan mencuri atau menebak session token Malicious add-ons Ekstensi browser menyediakan konten Web multimedia atau interaktif Active X add-ons memiliki beberapa masalah keamanan
Session hijacking
Client-Side Attacks Buffer overflow attack Proses mencoba untuk menyimpan data ke dalam RAM melampaui fixed-length storage buffer Data meluap ke lokasi memori yang berdekatan Dapat menyebabkan komputer menghentikan fungsi tertentu Penyerang dapat mengubah "return address" Diarahkan ke alamat memori yang berisi kode malware
Serangan Social Engineering Peniruan Penyerang berpura-pura menjadi orang lain Teknisi help desk Teknisi perbaikan Pihak ketiga yang dipercaya Individu yang memiliki otoritas
Buffer overflow attack
Network Attacks Denial of service (DoS) Upaya untuk mencegah sistem melakukan fungsi yang normal Ping flood attack Utilitas Ping yang digunakan untuk mengirim sejumlah besar pesan echo request Menguasai layanan server Web Smurf attack Ping request dengan alamat asal yang diubah Muncul seolah-olah komputer target meminta tanggapan dari semua komputer di jaringan
Network Attacks Denial of service (DoS) (lanjutan). SYN flood attack Mengambil keuntungan dari prosedur untuk membangun koneksi Distributed denial of service (DDoS) Penyerang menggunakan banyak komputer zombie di botnet untuk membanjiri perangkat dengan requests Hampir tidak mungkin untuk mengidentifikasi dan memblokir sumber serangan *
SYN flood attack *
Interception Man-in-the-middle Replay attacks Megintersepsi komunikasi yang sah Menempa respon fiktif ke pengirim Passive attack mencatat data yang ditransmisikan Serangan aktif mengubah isi transmisi sebelum dikirim ke penerima Replay attacks Mirip dengan pasif man-in-the-middle attack *
Interception Replay attacks (Lanjutan.) Penyerang membuat salinan transmisi Menggunakan copy-an tersebut di lain waktu Contoh: menangkap logon sah replay attacks yang lebih canggih Penyerang menangkap pesan jaringan ke server Kemudian mengirimkan pesan asli tersebut ke server Mendapatkan hubungan yang sah antara penyerang dan server *
Poisoning ARP poisoning Penyerang memodifikasi alamat MAC dalam cache ARP untuk menunjuk ke komputer yang berbeda *
Attacks from ARP poisoning
Poisoning DNS poisoning Dua tempat DNS poisoning Domain Name System adalah sistem dasar untuk resolusi nama ke alamat IP DNS poisoning mengganti alamat DNS untuk mengarahkan komputer ke perangkat lain Dua tempat DNS poisoning Local host table External DNS server
DNS poisoning
Attacks on Access Rights Privilege escalation Mengeksploitasi kerentanan perangkat lunak untuk mendapatkan akses ke data Pengguna dengan hak akses lebih rendah, fungsi aksesnya dibatasi terhadap pengguna dengan hak akses tinggi Pengguna dengan tingkatan sama dibedakan hak aksesnya.
Attacks on Access Rights Transitive access Serangan yang melibatkan pihak ketiga untuk mendapatkan hak akses Kredibilitas harus digunakan ketika mengakses layanan. Pengguna yang berbeda memiliki hak akses yang berbeda
Tabel 2-5 Dumpster diving item dan kegunaannya Keamanan + Panduan untuk Jaringan Dasar keamanan, Edisi Keempat * *