Dalam materi kami yang berkaitan dengan cloud di masa lalu, kami berbicara tentang bagaimana melindungi sumber daya TI di cloud publik dan mengapa antivirus tradisional tidak cukup cocok untuk tujuan ini. Dalam posting ini kita akan melanjutkan topik keamanan cloud dan berbicara tentang evolusi WAF dan apa yang lebih baik untuk dipilih: perangkat keras, perangkat lunak atau cloud.
Apa itu WAF?
Lebih dari 75% serangan peretas ditujukan untuk kerentanan dalam aplikasi dan situs web: serangan semacam itu biasanya tidak terlihat oleh infrastruktur keamanan informasi dan layanan keamanan informasi. Kerentanan dalam aplikasi web membawa, pada gilirannya, risiko kompromi dan penipuan akun pengguna dan data pribadi pengguna, kata sandi, nomor kartu kredit. Selain itu, kerentanan dalam situs web berfungsi sebagai titik masuk bagi penjahat cyber di jaringan perusahaan.
Web Application Firewall (WAF) adalah firewall yang memblokir serangan pada aplikasi web: injeksi SQL, skrip lintas situs, eksekusi kode jarak jauh, brute force, dan bypass auth. Termasuk serangan menggunakan kerentanan zero-day. Firewall aplikasi memberikan perlindungan dengan memantau konten halaman web, termasuk HTML, DHTML dan CSS, dan memfilter permintaan yang berpotensi berbahaya melalui HTTP / HTTPS.
Apa keputusan pertama?
Upaya pertama untuk membuat Aplikasi Web Firewall dilakukan pada awal 90-an. Setidaknya tiga insinyur yang bekerja di bidang ini dikenal. Yang pertama adalah Gene Spafford, profesor ilmu komputer di Purdue University. Dia menggambarkan arsitektur aplikasi firewall dengan proxy dan pada tahun 1991 menerbitkannya dalam buku
"Keamanan UNIX dalam Praktek" .
Yang kedua dan ketiga - adalah spesialis keamanan informasi William Cheswick dan Marcus Ranum dari Bell Labs. Mereka mengembangkan salah satu prototipe pertama firewall aplikasi. DEC bergerak dalam distribusinya - produk dirilis dengan nama SEAL (Secure External Access Link).
Tapi SEAL bukan solusi WAF lengkap. Itu adalah firewall jaringan klasik dengan fungsionalitas canggih - kemampuan untuk memblokir serangan pada FTP dan RSH. Untuk alasan ini, solusi WAF pertama hari ini dianggap sebagai produk Perfecto Technologies (kemudian Sanctum). Pada 1999, dia
memperkenalkan sistem AppShield. Pada saat itu, Perfecto Technologies sedang mengembangkan solusi keamanan informasi untuk e-commerce, dan toko online menjadi target audiens untuk produk baru mereka. AppShield mampu menganalisis permintaan HTTP dan memblokir serangan berdasarkan kebijakan keamanan informasi dinamis.
Sekitar waktu yang sama dengan AppShield (tahun 2002), WAF open source pertama kali muncul. Mereka menjadi
ModSecurity . Itu dibuat untuk mempopulerkan teknologi WAF dan masih didukung oleh komunitas TI (di sini adalah
repositori di GitHub ). ModSecurity memblokir serangan pada aplikasi berdasarkan seperangkat standar ekspresi reguler (tanda tangan) - alat untuk memeriksa kueri terhadap suatu pola -
OWASP Core Rule Set .
Akibatnya, para pengembang berhasil mencapai tujuan mereka - solusi WAF baru mulai muncul di pasar, termasuk yang dibangun berdasarkan ModSecurity.
Tiga generasi adalah sejarah
Sudah menjadi kebiasaan untuk membedakan tiga generasi sistem WAF yang telah berkembang seiring perkembangan teknologi.
Generasi pertama . Bekerja dengan ekspresi reguler (atau tata bahasa). Ini termasuk ModSecurity. Pemasok sistem memeriksa jenis serangan pada aplikasi dan menghasilkan pola yang menggambarkan permintaan yang sah dan berpotensi jahat. WAF memeriksa daftar ini dan memutuskan apa yang harus dilakukan dalam situasi tertentu - memblokir lalu lintas atau tidak.
Contoh penemuan ekspresi reguler adalah proyek sumber terbuka
Core Rule Set yang telah disebutkan. Contoh lain adalah
Naxsi , yang juga merupakan open source. Sistem dengan ekspresi reguler memiliki beberapa kelemahan, khususnya, ketika kerentanan baru ditemukan, administrator harus membuat aturan tambahan secara manual. Dalam kasus infrastruktur TI skala besar, mungkin ada beberapa ribu aturan. Mengelola begitu banyak ekspresi reguler cukup sulit, belum lagi dengan memeriksanya dapat mengurangi kinerja jaringan.
Ekspresi reguler juga memiliki tingkat false positive yang cukup tinggi. Ahli bahasa terkenal Noam Chomsky mengusulkan klasifikasi tata bahasa, di mana ia membagi mereka menjadi empat tingkat kesulitan bersyarat. Menurut klasifikasi ini, ekspresi reguler hanya bisa menggambarkan aturan firewall yang tidak menyiratkan penyimpangan dari pola. Ini berarti bahwa penyerang dapat dengan mudah "menipu" WAF generasi pertama. Salah satu metode untuk memerangi ini adalah menambahkan karakter khusus ke permintaan aplikasi yang tidak memengaruhi logika data berbahaya, tetapi melanggar aturan tanda tangan.
Generasi kedua . Untuk mengatasi masalah kinerja dan akurasi dengan WAF, firewall aplikasi generasi kedua telah dikembangkan. Parser muncul di dalamnya yang bertanggung jawab untuk mengidentifikasi jenis serangan yang didefinisikan secara ketat (HTML, JS, dll.). Parser ini bekerja dengan token khusus yang menggambarkan permintaan (misalnya, variabel, string, tidak diketahui, nomor). Urutan yang berpotensi berbahaya dari token ditempatkan di daftar terpisah yang dengannya sistem WAF diperiksa secara teratur. Pendekatan ini pertama kali ditunjukkan pada konferensi Black Hat 2012 dalam bentuk
perpustakaan libinjection C / C ++, yang memungkinkan mendeteksi injeksi SQL.
Dibandingkan dengan WAF generasi pertama, parser khusus dapat bekerja lebih cepat. Namun, mereka tidak menyelesaikan kesulitan yang terkait dengan konfigurasi sistem secara manual ketika serangan jahat baru muncul.
Generasi ketiga . Evolusi dalam logika deteksi generasi ketiga terdiri dari penerapan metode pembelajaran mesin, yang memungkinkan untuk membuat tata bahasa deteksi sedekat mungkin dengan tata bahasa SQL / HTML / JS nyata dari sistem yang dilindungi. Logika pendeteksian ini dapat mengadaptasi mesin Turing untuk mencakup tata bahasa yang didata secara rekursif. Selain itu, sebelumnya tugas membuat mesin Turing yang dapat diadaptasi tidak dapat diselesaikan sampai studi pertama dari mesin Turing neural diterbitkan.
Pembelajaran mesin memberikan peluang unik untuk mengadaptasi tata bahasa apa pun untuk mencakup semua jenis serangan tanpa membuat daftar tanda tangan secara manual, seperti yang diperlukan saat mendeteksi generasi pertama, dan tanpa mengembangkan tokenizers / parser baru untuk jenis serangan baru, seperti Memcached, Redis, Cassandra, SSRF, seperti yang dipersyaratkan oleh metodologi generasi kedua.
Menggabungkan ketiga generasi logika deteksi, kita dapat menggambar diagram baru di mana generasi ketiga deteksi diwakili oleh garis merah (Gbr. 3). Generasi ini mencakup salah satu solusi yang kami terapkan di cloud bersama dengan Onsek, pengembang platform perlindungan adaptif untuk aplikasi web dan Valarm API.
Sekarang, logika deteksi menggunakan umpan balik dari aplikasi self-tuning. Dalam pembelajaran mesin, umpan balik ini disebut penguatan. Biasanya, ada satu atau lebih jenis bala bantuan seperti itu:
- Analisis perilaku respons aplikasi (pasif)
- Pindai / Fuzzer (Aktif)
- Laporkan file / interceptor / trap prosedur (post factum)
- Manual (ditentukan oleh penyelia)
Akibatnya, logika deteksi generasi ketiga juga memecahkan masalah akurasi yang penting. Sekarang dimungkinkan tidak hanya untuk menghindari positif palsu dan negatif palsu, tetapi juga untuk mendeteksi hasil negatif benar yang valid, seperti mendeteksi penggunaan elemen perintah SQL di panel kontrol, memuat template halaman web, permintaan AJAX terkait dengan kesalahan JavaScript, dan lainnya.



Selanjutnya, kami mempertimbangkan kemampuan teknologi dari berbagai opsi implementasi WAF.
Besi, perangkat lunak, atau cloud - apa yang harus dipilih?
Salah satu opsi untuk menerapkan firewall aplikasi adalah solusi perangkat keras. Sistem tersebut adalah perangkat komputasi khusus yang dipasang perusahaan secara lokal di pusat datanya. Tetapi dalam kasus ini, Anda harus membeli peralatan Anda sendiri dan membayar uang kepada integrator untuk pengaturan dan debugging (jika perusahaan tidak memiliki departemen TI sendiri). Pada saat yang sama, peralatan apa pun menjadi usang dan memburuk, sehingga pelanggan terpaksa mengeluarkan anggaran untuk memperbarui perangkat keras.
Opsi penyebaran WAF lainnya adalah implementasi perangkat lunak. Solusi ini diinstal sebagai add-on untuk perangkat lunak apa pun (misalnya, ModSecurity dikonfigurasi di atas Apache) dan berjalan pada server yang sama dengannya. Biasanya, solusi semacam itu dapat digunakan baik di server fisik maupun di cloud. Kekurangan mereka adalah skalabilitas dan dukungan terbatas dari vendor.
Opsi ketiga adalah mengkonfigurasi WAF dari cloud. Solusi semacam itu disediakan oleh penyedia cloud sebagai layanan berlangganan. Perusahaan tidak perlu membeli dan mengatur perangkat keras khusus, tugas-tugas ini berada di pundak penyedia layanan. Poin penting adalah bahwa WAF berbasis cloud modern tidak menyiratkan migrasi sumber daya ke platform penyedia. Sebuah situs dapat digunakan di mana saja, bahkan di tempat.
Mengapa sekarang semakin sering melihat ke arah WAF berawan, kami akan memberi tahu lebih lanjut.
Apa yang bisa WAF di cloud
Dalam hal kemampuan teknologi:
- Penyedia bertanggung jawab atas pembaruan . WAF disediakan dengan berlangganan, sehingga penyedia layanan memantau relevansi pembaruan dan lisensi. Pembaruan tidak hanya menyangkut perangkat lunak, tetapi juga perangkat keras. Penyedia meningkatkan armada server dan terlibat dalam pemeliharaannya. Ia juga bertanggung jawab atas penyeimbangan muatan dan redundansi. Jika server WAF gagal, lalu lintas segera dialihkan ke mesin lain. Distribusi lalu lintas yang rasional memungkinkan Anda menghindari situasi ketika firewall memasuki mode buka gagal - tidak mengatasi beban dan berhenti menyaring permintaan.
- Tambalan virtual Tambalan virtual membatasi akses ke bagian aplikasi yang disusupi hingga kerentanan ditutup oleh pengembang. Akibatnya, pelanggan penyedia cloud mendapat kesempatan untuk menunggu dengan tenang sampai pemasok dari satu atau perangkat lunak lain menerbitkan "tambalan" resmi. Melakukan ini secepat mungkin adalah prioritas bagi penyedia perangkat lunak. Misalnya, dalam platform Valarm, modul perangkat lunak terpisah bertanggung jawab atas penambalan virtual. Administrator dapat menambahkan ekspresi reguler khusus untuk memblokir permintaan berbahaya. Sistem ini memungkinkan untuk menandai beberapa permintaan dengan bendera Data Rahasia. Kemudian parameter mereka ditutupi, dan mereka sendiri dalam keadaan apa pun tidak ditransfer di luar area kerja firewall.
- Perimeter built-in dan pemindai kerentanan . Ini memungkinkan Anda menentukan sendiri batas jaringan infrastruktur TI menggunakan data kueri DNS dan protokol WHOIS. Setelah WAF secara otomatis menganalisis layanan yang berjalan di dalam perimeter (melakukan pemindaian port). Firewall mampu mendeteksi semua jenis kerentanan umum - SQLi, XSS, XXE, dll. - dan mendeteksi kesalahan dalam konfigurasi perangkat lunak, misalnya, akses tidak sah ke repositori Git dan BitBucket dan panggilan anonim ke Elasticsearch, Redis, MongoDB.
- Serangan dimonitor oleh sumber daya cloud . Sebagai aturan, penyedia cloud memiliki daya komputasi yang besar. Ini memungkinkan Anda untuk menganalisis ancaman dengan akurasi dan kecepatan tinggi. Di cloud, sekelompok node penyaringan dikerahkan di mana semua lalu lintas berlalu. Situs-situs ini memblokir serangan pada aplikasi web dan mengirim statistik ke Pusat Analytics. Menggunakan algoritma pembelajaran mesin untuk memperbarui aturan pemblokiran untuk semua aplikasi yang dilindungi. Implementasi skema seperti itu ditunjukkan pada Gambar. 4. Aturan keamanan yang disesuaikan tersebut meminimalkan jumlah positif palsu untuk firewall.

Sekarang sedikit tentang fitur WAF berawan dalam hal masalah organisasi dan manajemen:
- Transisi ke OpEx . Dalam hal WAF berbasis cloud, biaya implementasi akan menjadi nol, karena semua perangkat keras dan lisensi telah dibayar oleh penyedia, pembayaran untuk layanan dilakukan dengan berlangganan.
- Paket tarif berbeda . Pengguna layanan cloud dapat dengan cepat mengaktifkan atau menonaktifkan opsi tambahan. Manajemen fungsi diimplementasikan dari panel kontrol tunggal, yang juga dilindungi. Akses ke sana adalah melalui HTTPS, ditambah ada mekanisme otentikasi dua faktor berdasarkan protokol TOTP (Algoritma Sandi Satu Kali Berbasis Waktu).
- Koneksi DNS . Anda dapat mengubah DNS sendiri dan mengonfigurasi perutean di jaringan. Untuk mengatasi masalah ini, tidak perlu merekrut dan melatih spesialis individu. Sebagai aturan, dukungan teknis dari penyedia dapat membantu dengan konfigurasi.
Teknologi WAF telah berkembang dari firewall sederhana dengan aturan empiris ke sistem keamanan yang kompleks dengan algoritma pembelajaran mesin. Sekarang aplikasi firewall memiliki berbagai fungsi yang sulit untuk diimplementasikan di tahun 90-an. Dalam banyak hal, kemunculan fungsionalitas baru dimungkinkan berkat teknologi cloud. Solusi WAF dan komponennya terus berkembang. Serta bidang keamanan informasi lainnya.
Teks tersebut disiapkan oleh Alexander Karpuzikov, Manajer Pengembangan Produk penyedia cloud IS #CloudMTS.