Fungsionalitas sistem keamanan aplikasi modern (WAF) seharusnya lebih luas daripada daftar kerentanan dari 10 Besar OWASP

retrospektif

Skala, komposisi, dan komposisi ancaman siber terhadap aplikasi berkembang pesat. Selama bertahun-tahun, pengguna telah mengakses aplikasi web melalui Internet menggunakan browser web populer. Hal ini diperlukan untuk mendukung 2-5 browser web pada waktu tertentu, dan serangkaian standar untuk pengembangan dan pengujian aplikasi web sangat terbatas. Misalnya, hampir semua database dibangun menggunakan SQL. Sayangnya, setelah beberapa saat, peretas belajar menggunakan aplikasi web untuk mencuri, menghapus, atau mengubah data. Mereka memperoleh akses ilegal dan menyalahgunakan kemampuan aplikasi menggunakan berbagai teknik, termasuk penipuan pengguna aplikasi, injeksi, dan eksekusi kode jarak jauh. Segera, alat keamanan aplikasi web komersial yang disebut Web Application Firewall (WAFs) memasuki pasar, dan komunitas menanggapinya dengan membuat proyek keamanan aplikasi web terbuka, Open Web Application Security Project (OWASP), untuk menentukan dan memelihara standar dan metodologi pengembangan. .aplikasi yang aman.

Perlindungan aplikasi dasar

Daftar 10 Teratas OWASP adalah titik awal untuk mengamankan aplikasi dan berisi daftar ancaman paling berbahaya dan kesalahan konfigurasi yang dapat menyebabkan kerentanan aplikasi, serta taktik untuk mendeteksi dan mengalahkan serangan. OWASP Top 10 adalah tolok ukur yang diakui dalam industri keamanan siber aplikasi di seluruh dunia dan mendefinisikan daftar kemampuan inti yang harus dimiliki sistem keamanan aplikasi web (WAF).

Selain itu, fungsionalitas WAF harus memperhitungkan serangan umum lainnya pada aplikasi web, termasuk pemalsuan permintaan lintas situs (CSRF), clickjacking, web scraping, dan penyertaan file (RFI/LFI).

Ancaman dan tantangan untuk memastikan keamanan aplikasi modern

Saat ini, tidak semua aplikasi diimplementasikan dalam versi jaringan. Ada aplikasi cloud, aplikasi seluler, API, dan arsitektur terbaru, bahkan fungsi perangkat lunak khusus. Semua jenis aplikasi ini perlu disinkronkan dan dikontrol saat membuat, memodifikasi, dan memproses data kita. Dengan munculnya teknologi dan paradigma baru, kompleksitas dan tantangan baru muncul di semua tahap siklus hidup aplikasi. Ini termasuk integrasi pengembangan dan operasi (DevOps), container, Internet of Things (IoT), alat sumber terbuka, API, dan banyak lagi.

Penyebaran aplikasi yang terdistribusi dan keragaman teknologi menciptakan tantangan yang kompleks dan kompleks tidak hanya bagi para profesional keamanan informasi, namun juga bagi vendor solusi keamanan yang tidak dapat lagi mengandalkan pendekatan terpadu. Langkah-langkah keamanan aplikasi harus mempertimbangkan spesifikasi bisnisnya untuk mencegah kesalahan positif dan gangguan kualitas layanan bagi pengguna.

Tujuan utama peretas biasanya adalah mencuri data atau mengganggu ketersediaan layanan. Penyerang juga mendapatkan keuntungan dari evolusi teknologi. Pertama, perkembangan teknologi baru menciptakan lebih banyak potensi kesenjangan dan kerentanan. Kedua, mereka memiliki lebih banyak alat dan pengetahuan untuk melewati langkah-langkah keamanan tradisional. Hal ini sangat meningkatkan apa yang disebut “permukaan serangan” dan paparan organisasi terhadap risiko baru. Kebijakan keamanan harus terus berubah sebagai respons terhadap perubahan teknologi dan aplikasi.

Oleh karena itu, aplikasi harus dilindungi dari beragam metode dan sumber serangan, dan serangan otomatis harus dilawan secara real-time berdasarkan keputusan yang tepat. Dampaknya adalah peningkatan biaya transaksi dan tenaga kerja manual, ditambah dengan melemahnya postur keamanan.

Tugas #1: Mengelola bot

Lebih dari 60% lalu lintas Internet dihasilkan oleh bot, setengahnya adalah lalu lintas “buruk” (menurut Laporan Keamanan Radware). Organisasi berinvestasi dalam meningkatkan kapasitas jaringan, yang pada dasarnya melayani beban fiktif. Membedakan secara akurat antara lalu lintas pengguna sebenarnya dan lalu lintas bot, serta bot “baik” (misalnya, mesin pencari dan layanan perbandingan harga) dan bot “buruk” dapat menghasilkan penghematan biaya yang signifikan dan peningkatan kualitas layanan bagi pengguna.

Bot tidak akan membuat tugas ini mudah, dan mereka dapat meniru perilaku pengguna sebenarnya, melewati CAPTCHA dan hambatan lainnya. Terlebih lagi, jika terjadi serangan menggunakan alamat IP dinamis, perlindungan berdasarkan penyaringan alamat IP menjadi tidak efektif. Seringkali, alat pengembangan sumber terbuka (misalnya, Phantom JS) yang dapat menangani JavaScript sisi klien digunakan untuk meluncurkan serangan brute force, serangan pengisian kredensial, serangan DDoS, dan serangan bot otomatis. .

Untuk mengelola lalu lintas bot secara efektif, diperlukan identifikasi unik dari sumbernya (seperti sidik jari). Karena serangan bot menghasilkan banyak catatan, sidik jarinya memungkinkannya mengidentifikasi aktivitas mencurigakan dan memberikan skor, yang menjadi dasar sistem perlindungan aplikasi membuat keputusan yang tepat - blokir/izinkan - dengan tingkat positif palsu yang minimum.

Fungsionalitas sistem keamanan aplikasi modern (WAF) seharusnya lebih luas daripada daftar kerentanan dari 10 Besar OWASP

Tantangan #2: Melindungi API

Banyak aplikasi mengumpulkan informasi dan data dari layanan yang berinteraksi dengannya melalui API. Saat mengirimkan data sensitif melalui API, lebih dari 50% organisasi tidak memvalidasi atau mengamankan API untuk mendeteksi serangan siber.

Contoh penggunaan API:

  • Integrasi Internet of Things (IoT).
  • Komunikasi mesin-ke-mesin
  • Lingkungan Tanpa Server
  • Mobile Apps
  • Aplikasi Berbasis Peristiwa

Kerentanan API mirip dengan kerentanan aplikasi dan mencakup injeksi, serangan protokol, manipulasi parameter, pengalihan, dan serangan bot. Gateway API khusus membantu memastikan kompatibilitas antara layanan aplikasi yang berinteraksi melalui API. Namun, mereka tidak memberikan keamanan aplikasi end-to-end seperti WAF dengan alat keamanan penting seperti penguraian header HTTP, daftar kontrol akses (ACL) Lapisan 7, penguraian dan inspeksi muatan JSON/XML, dan perlindungan terhadap semua kerentanan dari Daftar 10 Teratas OWASP Hal ini dicapai dengan memeriksa nilai-nilai API utama menggunakan model positif dan negatif.

Tantangan #3: Penolakan Layanan

Vektor serangan lama, penolakan layanan (DoS), terus membuktikan efektivitasnya dalam menyerang aplikasi. Penyerang memiliki serangkaian teknik yang berhasil mengganggu layanan aplikasi, termasuk banjir HTTP atau HTTPS, serangan rendah dan lambat (misalnya SlowLoris, LOIC, Torshammer), serangan menggunakan alamat IP dinamis, buffer overflow, serangan brute force, dan banyak lainnya. . Dengan berkembangnya Internet of Things dan munculnya botnet IoT, serangan terhadap aplikasi telah menjadi fokus utama serangan DDoS. Kebanyakan WAF stateful hanya dapat menangani beban dalam jumlah terbatas. Namun, mereka dapat memeriksa arus lalu lintas HTTP/S dan menghapus lalu lintas serangan dan koneksi berbahaya. Setelah serangan teridentifikasi, tidak ada gunanya melewati kembali lalu lintas ini. Karena kapasitas WAF untuk menangkis serangan terbatas, solusi tambahan diperlukan di perimeter jaringan untuk memblokir paket "buruk" berikutnya secara otomatis. Untuk skenario keamanan ini, kedua solusi harus dapat berkomunikasi satu sama lain untuk bertukar informasi tentang serangan.

Fungsionalitas sistem keamanan aplikasi modern (WAF) seharusnya lebih luas daripada daftar kerentanan dari 10 Besar OWASP
Gambar 1. Organisasi perlindungan jaringan dan aplikasi yang komprehensif menggunakan contoh solusi Radware

Tantangan #4: Perlindungan Berkelanjutan

Aplikasi sering berubah. Metodologi pengembangan dan penerapan seperti pembaruan berkelanjutan berarti bahwa modifikasi terjadi tanpa campur tangan atau kendali manusia. Dalam lingkungan yang dinamis seperti ini, sulit untuk mempertahankan kebijakan keamanan yang berfungsi dengan baik tanpa adanya banyak kesalahan positif. Aplikasi seluler diperbarui lebih sering daripada aplikasi web. Aplikasi pihak ketiga dapat berubah tanpa sepengetahuan Anda. Beberapa organisasi mencari kontrol dan visibilitas yang lebih besar untuk tetap mengetahui potensi risiko. Namun, hal ini tidak selalu dapat dicapai, dan perlindungan aplikasi yang andal harus menggunakan kekuatan pembelajaran mesin untuk memperhitungkan dan memvisualisasikan sumber daya yang tersedia, menganalisis potensi ancaman, dan membuat serta mengoptimalkan kebijakan keamanan jika terjadi modifikasi aplikasi.

Temuan

Karena aplikasi memainkan peran yang semakin penting dalam kehidupan sehari-hari, aplikasi menjadi target utama para peretas. Potensi imbalan bagi pelaku kejahatan dan potensi kerugian bagi dunia usaha sangatlah besar. Kompleksitas tugas keamanan aplikasi tidak dapat dilebih-lebihkan mengingat jumlah dan variasi aplikasi serta ancaman.

Untungnya, kita berada pada titik di mana kecerdasan buatan dapat membantu kita. Algoritme berbasis pembelajaran mesin memberikan perlindungan adaptif dan real-time terhadap ancaman cyber paling canggih yang menargetkan aplikasi. Mereka juga secara otomatis memperbarui kebijakan keamanan untuk melindungi aplikasi web, seluler, dan cloud—dan API—tanpa kesalahan positif.

Sulit untuk memprediksi dengan pasti seperti apa ancaman siber aplikasi generasi berikutnya (mungkin juga berdasarkan pembelajaran mesin). Namun organisasi pasti dapat mengambil langkah untuk melindungi data pelanggan, melindungi kekayaan intelektual, dan memastikan ketersediaan layanan dengan manfaat bisnis yang besar.

Pendekatan dan metode efektif untuk memastikan keamanan aplikasi, jenis dan vektor serangan utama, area risiko dan kesenjangan dalam perlindungan cyber aplikasi web, serta pengalaman global dan praktik terbaik disajikan dalam studi dan laporan Radware “Keamanan Aplikasi Web di Dunia yang Terhubung Secara Digital".

Sumber: www.habr.com

Tambah komentar