3-Aplikasi dan Jaringan Serangan - E

advertisement
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
– 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
– 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
– 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
– 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
– 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
–
–
–
–
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
– 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
*
Download