Pelajari Daftar OWASP Top Ten yang Dapat Membantu Melindungi Anda dari Ancaman Keamanan Paling Berbahaya

jaga keamanan web pada situs anda dengan daftar 10 teratas owasp – owasp top ten list

Keamanan web adalah bidang yang seringkali berubah-ubah dan ancaman tidak pernah berakhir. Jika satu ancaman dihentikan, maka hanya ada masalah waktu sampai ancaman lain muncul kembali. Tetapi dengan banyaknya ancaman yang mengintai di dunia maya, bagaimana Anda tahu ancaman mana yang paling kritikal dan paling umum?  Nah, hari ini hari keberuntungan Anda karena Open Web Application Security Project (OWASP) telah membuat daftar OWASP Top Ten (10 teratas) dari ancaman terbesar yang dihadapi situs web Anda.

Diperbarui setiap beberapa tahun, daftar ini adalah dokumen industri yang diterima secara luas dan harus dibaca oleh siapa pun yang menjalankan keamanan web pada situsnya. Tanpa ini, situs Anda dapat terpapar kerentanan paling berbahaya yang mengurangi risiko selama pengembangan dan penerapan situs ataupun web aplikasi.

Apa sajakah 10 kerentanan teratas dan bagaimana Anda dapat melindungi diri sendiri dari kerentanan tersebut? Dan apa tindakan terbaik Anda jika Anda menjadi korban salah satunya?

Mari kita bahas.

Apakah OWASP Itu?

Sebelum kita mencapai daftar OWASP Top Ten, mari kita bahas tentang OWASP sendiri. Yayasan OWASP didirikan pada 1 Desember 2001, dan mereka didirikan sebagai organisasi nirlaba di Amerika Serikat pada 21 April 2004. Dalam hampir dua dekade sejak diluncurkan, mereka telah berkembang menjadi hampir 32.000 sukarelawan di seluruh dunia. Mereka adalah nama yang terkenal dan tepercaya di industri ini, dengan lebih dari 275 cabang lokal di seluruh dunia.

open web application security project adalah repository nirlaba keamanan web untuk publik

Pada dasarnya OWASP adalah gudang untuk segala hal yang berhubungan dengan keamanan aplikasi web, didukung oleh beragam pengetahuan dan pengalaman dari keanggotaan komunitas terbuka mereka. Grup ini berkomitmen untuk membantu organisasi membuat, mengembangkan, menyebarkan, mengoperasikan, dan memelihara situs web dan aplikasi yang aman. Selain menyediakan berbagai artikel, metodologi, dokumentasi, dan teknologi keanggotaan OWASP juga melakukan penilaian dan penelitian keamanan.

Apa Itu Daftar OWASP Top Ten?

Fokus dari Daftar OWASP Top Ten adalah pada kerentanan yang instan, memeriksa risiko serta dampaknya, dan tindakan pencegahan terbaik untuk memeranginya. Disusun oleh tim ahli keamanan dari seluruh dunia, daftar ini bertujuan untuk menciptakan kesadaran akan ancaman terbesar yang dihadapi organisasi. OWASP merekomendasikan agar semua perusahaan memasukkan segala temuan laporan ke dalam proses dan praktik keamanan mereka sehingga mereka dapat meminimalkan keberadaan kerentanan ini dalam produk.

Adapun kerentanan itu sendiri, dinilai berdasarkan empat kriteria berbeda:

  • Prevalensi – seberapa terkenal kerentanan terhadap agensi ancaman ini (mis. peretas).
  • Deteksi – seberapa mudah agensi ancaman menemukan kerentanan dalam aplikasi.
  • Kemudahan eksploitasi – seberapa mudah bagi agen ancaman untuk benar-benar mengeksploitasi kerentanan begitu mereka menemukannya.
  • Dampak bisnis – seberapa parah perusahaan yang mengoperasikan aplikasi akan terpengaruh oleh eksploitasi.

Pentingnya OWASP Top 10 List

Aspek paling berguna dari Daftar OWASP Top Ten terletak pada informasi yang dapat ditindaklanjuti di dalamnya, yang membantu perusahaan memfokuskan upaya keamanan web mereka pada area yang paling penting dan efektif.

Serangan pada web aplikasi dan situs telah menjadi penyebab paling umum dari pelanggaran data yang dikonfirmasi, menurut Laporan Investigasi Pelanggaran Data Verizon 2018. Sayangnya, banyak organisasi masih kesulitan dalam membuat dan memelihara program keamanan web aplikasi yang efektif karena mereka tidak tahu harus mulai dari mana. Bahkan tim keamanan tidak selalu memiliki gagasan paling akurat tentang apa yang sebenarnya diperlukan oleh keamanan aplikasi. Daftar OWASP Top Ten dapat membantu mengisi kesulitan tersebut dan dengan memperbaikinya, Anda akan sangat mengurangi risiko pelanggaran yang merugikan.

Sekarang kita telah membahas apa daftar itu dan bagaimana seharusnya digunakan, mari kita lihat lebih dekat kerentanan yang mengganggu itu!

Kerentanan OWASP Top 10

# 1 INJEKSI

Serangan injeksi dapat terjadi pada hal-hal seperti database (SQL, noSQL), sistem operasi, atau server (melalui protokol seperti LDAP). Mereka terjadi ketika data yang tidak bersahabat dikirim ke interpreter sebagai bagian dari kueri atau perintah. Data ini kemudian mengelabui interpreter agar menjalankan perintah yang seharusnya terlarang bagi orang luar. Itu juga dapat digunakan untuk mengakses data pribadi tanpa otentikasi yang tepat.

Misalkan, Anda menjalankan sebuah e-commerc, dan cara mengakses item tertentu adalah dengan memasukkan yang berikut ini ke bilah alamat browser Anda:

  • http://www.yourstore.com/catalog/item.asp?itemid=999

Di mana “999” menghasilkan kueri SQL untuk menampilkan item apa pun yang sesuai dengan “999”. Seorang penyerang dapat memanipulasi ini dengan memasukkan sesuatu seperti ini:

  • http://www.yourstore.com/items/item.asp?itemid=999 atau 1 = 1

Kueri SQL yang dihasilkan adalah:

kueri SQL manipulasi yang telah diinjeksi oleh penjahat

Tetapi karena 1 selalu sama dengan 1, setiap nama dan deskripsi produk akan dikembalikan (bahkan yang mungkin tidak ingin Anda lihat oleh pemiliknya).

Anda dapat melangkah lebih jauh dengan memasukkan:

  • http://www.estore.com/items/iteam.asp?itemid=999; DROP TABLE

Kueri SQL sekarang menjadi:

kueri SQL untuk menghapus tabel yang terkena serangan siber

Hasil akhirnya? Penghapusan table Anda.

Bagaimana cara untuk melindunginya?

  • Validasi dan / atau bersihkan data yang dikirimkan pengguna (validasi menolak entri. yang mencurigakan, dan sanitasi membersihkan bagian yang mencurigakan).
  • Tetapkan kontrol untuk meminimalkan jumlah informasi yang terungkap.
  • Gunakan API yang aman yang menghindari penggunaan penerjemah.
  • Gunakan kontrol SQL seperti LIMIT dan lainnya untuk mencegah pengungkapan data secara massal

# 2 KERUSAKAN AUTENTIKASI

Autentikasi yang rusak mengacu pada contoh ketika fungsi autentikasi dan sesi manajemen diterapkan secara tidak benar. Kredensial seperti kata sandi, kunci, atau token sesi dapat dicegat dan mengasumsikan identitas pengguna lain. Serangan bahkan dapat memperoleh akses ke akun admin yang dapat membahayakan seluruh sistem.

Credential Stuffing adalah contoh serangan autentikasi yang rusak. Ini terjadi ketika penyerang menggunakan daftar kata sandi yang diketahui (memperolehnya dari pelanggaran data) untuk mencoba dan mendapatkan akses dengan aplikasi bertindak sebagai mekanisme validasi untuk setiap upaya kata sandi.

Bagaimana melindungi situs ataupun web aplikasi dari ancamana ini?

  • Gunakan autentikasi multi-faktor (2F Authentication)
  • Menerapkan pembatasan tingkat untuk membatasi jumlah upaya login yang gagal.
  • Jangan gunakan kredensial default sistem.
  • Pilih kata sandi berdasarkan standar NIST 800-63Bbagian 5.1.1.
  • Gunakan manajer sesi sisi server built-in.

# 3 TERPAPARNYA DATA YANG BERSIFAT SENSITIF

Eksposur data sensitif terjadi ketika aplikasi web dan API gagal melindungi data sensitif seperti informasi keuangan atau perawatan kesehatan. Data yang terlindungi secara lemah ini dapat dengan mudah dicuri oleh penyerang untuk melakukan penipuan, pencurian identitas, dan kejahatan lainnya.

data rahasia yang terpapar karena keamanan web yang ditembusJika situs web tidak menggunakan sertifikat SSL/TLS berkualitas untuk semua halaman, maka penyerang dapat memantau lalu lintas, mengubah koneksi dari HTTPS ke HTTP, dan kemudian mencuri sesi cookie untuk mendapatkan akses. Contoh lainnya adalah hash yang kurang. Jika hash sederhana digunakan untuk menyimpan kata sandi dan penyerang memperoleh akses ke database, hash dapat dengan mudah dirusak.

Bagaimana untuk mengamankan data dari aksi eskposur?

  • Identifikasi data sensitif dan terapkan kontrol yang sesuai.
  • Enkripsi semua data sensitif, baik saat transit maupun saat istirahat dengan sertifikat SSL/TLS.
  • Nonaktifkan cache informasi sensitif apa pun dan jangan simpan semua itu secara tidak perlu.
  • Simpan kata sandi menggunakan fungsi hashing yang kuat dan akurat seperti scrypt, bcrypt, dan Argon2.

# 4 XML EXTERNAL ENTITIES (XXE)

Serangan semacam ini menargetkan aplikasi web yang mengurai input XML. Prosesor XML yang lebih lama atau tidak dikonfigurasi dengan benar dapat mengevaluasi referensi entitas eksternal (seperti hard drive) dalam dokumen XML. Hal ini dapat mengelabui pengurai XML agar mengirimkan data ke entitas eksternal yang tidak sah, yang kemudian dapat mengirim data sensitif langsung ke peretas.

Dan penyerang juga bisa mendapatkan informasi tentang jaringan pribadi dengan mengubah baris ENTITY.

Amankan dengan cara:

  • Tutup XML parsers versi yang lama apa pun.
  • Nonaktifkan penggunaan entitas eksternal dalam aplikasi XML.
  • Hanya izinkan aplikasi web untuk menerima jenis data yang kurang kompleks (seperti JSON).
  • Hindari serialisasi.
  • Validasi XML menggunakan XSD atau alat validasi lainnya.
  • Izinkan dan bersihkan masukan XML sisi server.

# 5 KONTROL AKSES RUSAK

Ini terjadi ketika pembatasan tentang apa yang diizinkan/tidak diizinkan oleh pengguna yang diberlakukan autentikasi secara tidak benar. Serangan kemudian dapat memanfaatkan untuk mendapatkan fungsionalitas yang tidak sah, termasuk mengakses dan mengubah akun pengguna, file sensitif, data pengguna, hak akses, dan banyak lagi.

Apa yang harus dilakukan untuk mencegahnya?

  • Tolak akses secara default untuk semua hal kecuali sumber daya publik
  • Buat mekanisme kontrol akses yang kuat dan gunakan di mana saja
  • Jangan izinkan pengguna membuat, membaca, atau menghapus rekaman apa pun
  • Nonaktifkan daftar direktori server, dan jangan simpan metadata di root folder
  • Catat upaya akses yang gagal dan buat peringatan
  • Nilai batas akses API

# 6 KESALAHAN KONFIGURASI KEAMANAN

Ini adalah kerentanan paling umum pada Daftar OWASP Top Ten dan biasanya disebabkan oleh penggunaan konfigurasi/kredensial default atau menampilkan pesan kesalahan yang panjang dan tidak perlu. Pesan-pesan ini berpotensi mengungkapkan kerentanan dalam aplikasi.

Contohnya akan menampilkan pesan atau notifikasi error seperti di bawah ini:

notifikasi eror situs web yang menerapkan kesalahan konfigurasi

Seperti yang Anda lihat, detail kode aplikasi terungkap, yang dapat dimanfaatkan oleh pihak ketiga yang tidak bertanggung jawab.

Perbaiki kesalahan tersebut dengan:

  • Hapus semua fitur yang tidak digunakan dalam kode.
  • Hanya tampilkan pesan kesalahan umum yang tidak mengungkapkan terlalu banyak informasi.
  • Gunakan program Static Application Security Testing (SAST) untuk mengidentifikasi risiko paparan informasi dari pesan atau notifikais error.

# 7 CROSS-SITE SCRIPTING (XXS)

kode berbahaya yang tidak berasal memungkinkan terjadi kerentanan pada situs webJenis kerentanan ini merupakan hasil dari sesi manajemen yang lemah dan terjadi saat aplikasi web memungkinkan pengguna menambahkan kode khusus ke URL atau situs yang akan ditampilkan kepada orang lain. Kode JavaScript berbahaya kemudian dapat dijalankan di browser mereka. Seorang peretas yang berpura-pura dari bank tepercaya dapat mengirim email kepada seseorang, termasuk tautan ke situs web bank di dalam email. Tautan tersebut, bagaimanapun, mungkin memiliki kode berbahaya yang ditambahkan ke akhir URL. Jika situs bank tidak diamankan dengan baik, maka kode berbahaya akan dijalankan di browser korban setelah mereka mengkliknya.

Bagaimana untuk mencegahnya?

  • Gunakan sebuah Web Application Web (WAF), yang akan menggunakan pemfilteran berbasis tanda tangan untuk mengidentifikasi dan memblokir permintaan dari penyerang.
  • Gunakan kerangka kerja yang lolos dari XSS dengan desain dan pelajari batasan perlindungan XSS mereka sehingga Anda dapat menangani kasus yang tidak tercakup.
  • Terapkan pengkodean peka konteks saat melakukan modifikasi dokumen browser sisi klien.

# 8 DESERIALISASI YANG TIDAK AMAN

Serialisasi adalah ketika objek dari kode aplikasi diubah menjadi format yang dapat digunakan untuk tujuan lain, seperti streaming. Deserialization adalah kebalikannya, dan ini memungkinkan peretas untuk mengeksekusi kode berbahaya di server. Meskipun kerentanan tidak mengakibatkan eksekusi kode jarak jauh, penyerang masih dapat menggunakannya untuk melakukan tindakan seperti serangan berulang, serangan injeksi, dan serangan eskalasi hak istimewa.

Analoginya adalah saat Anda bergerak. Serialisasi adalah saat Anda mengemas kotak dengan semua harta benda Anda. Deserialisasi terjadi saat Anda membukanya di tempat baru. Deserialisasi yang tidak aman akan terjadi jika penggerak menambahkan, melepas, dan mengatur ulang barang sebelum dibongkar.

Lakukan tindakan preventif dari deserialisasi ini untuk mengamankan web aplikasi Anda:

  • Pantau deserialisasi.
  • Menerapkan tipe pemeriksaan.
  • Larang deserialisasi data dari sumber yang tidak tepercaya.

# 9 PENGGUNAAN KOMPONEN DENGAN KERENTANAN YANG TIDAK DIKETAHUI

Web developer sering menggunakan komponen yang ada dalam aplikasi untuk menghindari pekerjaan yang berlebihan sambil menyediakan fungsionalitas yang dibutuhkan. Penyerang akan mencari kerentanan di dalam komponen ini yang dapat mereka manfaatkan untuk melakukan serangan pada aplikasi itu sendiri. Komponen populer dapat digunakan di ratusan ribu situs, dan satu kerentanan dapat membuat semuanya berisiko.

Pelanggaran Equifax pada tahun 2017 adalah contoh sempurna dari jenis kerentanan ini. Disebabkan oleh penggunaan versi Apache Struts yang memiliki kerentanan yang ditemukan enam bulan sebelum serangan. Andai saja mereka membaca OWASP Top 10 List  terlebih dahulu, maka 700 juta USD mereka bisa diselamatkan.

Amankan kompones web aplikasi Anda dengan menerapkan tindakan-tindakan berikut:

  • Selalu pastikan untuk memiliki patch keamanan terbaru dan pembaruan untuk komponen Anda.
  • Hapus komponen yang tidak digunakan dari proyek Anda.
  • Hanya dapatkan komponen dari sumber tepercaya.
  • Gunakan Software Composition Analysis (SCA) untuk mengidentifikasi komponen yang sudah usang atau tidak aman.

# 10 PENCATATAN & PEMANTAUAN YANG TIDAK MEMADAI

Pencatatan (logging) dan pemantauan harus dilakukan secara rutin untuk membantu memastikan keamanan web bekerja maksimal. Kegagalan mampu meningkatkan risiko serangan yang dapat terjadi dan menghambat waktu respons situs Anda. Hal ini pada gilirannya memberi penyerang cukup banyak waktu untuk merusak, mengekstrak, atau menghancurkan data, beralih ke sistem lain, dan mengacak-acak semua yang ada di dalamnya.

pencatatan dan pemantauan tidak rutin menghilangkan fungsionalitas komponen web hingga kerentanan serius

Seperti aksi credential stuffing, di mana penyerang berulang kali mencoba menggunakan nama pengguna dan pasangan kata sandi yang bocor. Katakanlah setelah 100 percobaan, mereka akhirnya mencapai kombinasi yang tepat untuk akun tertentu. Karena tidak ada logging atau pemantauan di tempat, tidak ada yang pernah diberitahu tentang tingginya jumlah upaya login pada akun tersebut. Jika tidak, aktivitas tersebut akan dianggap mencurigakan dan pelanggaran dapat dengan mudah dicegah.

Apa tindakan terbaik untuk masalah ini?

  • Menerapkan logging dan pemantauan untuk semua aspek aplikasi web Anda
  • Buat rencana respons insiden yang menyertakan peringatan sehingga Anda segera mengetahui adanya serangan
  • Pastikan log Anda dalam format yang dapat dengan mudah digunakan oleh solusi manajemen log terpusat
  • Siapkan log Anda agar berisi konteks yang memadai untuk mengidentifikasi akun yang mencurigakan

 

Daftar OWASP Top Ten – Alat Berharga bagi Keamanan Web Anda

daftar owasp top ten ini adalah dasar perbaikan yang dapat dipraktikan bagi pengguna untuk memaksimalkan keamanan webnya

Seperti yang telah kita lihat, OWASP Top 10 bertindak sebagai dasar yang sangat baik untuk langkah-langkah keamanan Anda. Melindungi dari item di OWASP Top 10 harus menjadi minimal, dan idealnya langkah pertama menuju kerangka keamanan yang lebih komprehensif untuk perusahaan Anda. Dengan melindungi diri Anda dari kerentanan yang paling umum, Anda secara drastis dan segera menurunkan risiko Anda.

super
super