Mendeteksi ancaman baru menggunakan Microsoft Azure Sentinel dengan Azure Web Application Firewall

Aplikasi web menghadapi serangan berbahaya yang sering mengeksploitasi kerentanan terkenal, seperti Injeksi Kode dan Serangan Traversal Jalur. Serangan ini sulit dicegah dalam kode aplikasi, karena memerlukan pemeliharaan, patching, dan pemantauan konstan di beberapa tingkat arsitektur aplikasi. Solusi Web Application Firewall (WAF) dapat memberikan keamanan yang lebih cepat dan terpusat dengan menambal kerentanan yang diketahui untuk semua aplikasi web, daripada mengamankan masing-masing satu per satu. Azure Web Application Firewall adalah layanan cloud-native yang melindungi aplikasi web dari teknik peretasan web umum. Ini dapat disebarkan dengan cepat untuk mendapatkan visibilitas penuh ke dalam lalu lintas aplikasi web dan memblokir serangan web berbahaya.

Dengan mengintegrasikan Azure WAF dengan Microsoft Sentinel (solusi SIEM asli cloud), Anda dapat mengotomatiskan deteksi dan respons terhadap ancaman/insiden/pemberitahuan dan menghemat waktu dan upaya memperbarui kebijakan WAF. Artikel ini memperlihatkan kepada Anda cara membuat aturan/deteksi Analitik di Microsoft Azure Sentinel untuk serangan seperti Injeksi Kode.

Kueri deteksi untuk serangan aplikasi web

Repositori GitHub Azure Network Security berisi kueri bawaan berikut yang dapat Anda gunakan untuk membuat aturan analitik di Microsoft Azure Sentinel. Aturan analitik ini membantu deteksi dan respons otomatis untuk serangan seperti Injeksi Kode, Path Traversal, dan serangan berbasis pemindai.

  • Serangan Injeksi Kode (Application Gateway dan Front Door WAF)

    Serangan injeksi kode adalah jenis serangan cyber yang melibatkan menyuntikkan kode berbahaya ke dalam aplikasi. Aplikasi kemudian menginterpretasikan atau menjalankan kode, memengaruhi performa dan fungsi aplikasi.

  • Serangan Path Traversal (Application Gateway dan Front Door WAF)

    Serangan traversal jalur adalah jenis serangan cyber yang melibatkan manipulasi jalur file aplikasi untuk mengakses file dan direktori yang disimpan di luar folder akar web. Penyerang dapat menggunakan urutan karakter khusus, seperti …/ atau …\, untuk meningkatkan hierarki direktori dan mengakses data sensitif atau rahasia, seperti file konfigurasi, kode sumber, atau file sistem.

  • Serangan berbasis pemindai (Application Gateway WAF)

    Serangan web berbasis pemindai adalah jenis serangan cyber yang melibatkan penggunaan pemindai kerentanan web untuk menemukan dan mengeksploitasi kelemahan keamanan dalam aplikasi web. Pemindai kerentanan web adalah alat yang secara otomatis memindai aplikasi web untuk kerentanan umum, seperti injeksi SQL, XSS, CSRF, dan traversal jalur. Penyerang dapat menggunakan pemindai untuk mengidentifikasi target yang rentan dan meluncurkan serangan untuk membahayakannya.

Menyiapkan aturan analitik di Sentinel untuk serangan aplikasi web

Prasyarat berikut diperlukan untuk menyiapkan aturan analitik:

Gunakan langkah-langkah berikut untuk mengonfigurasi aturan analitik di Sentinel.

  1. Navigasi ke Microsoft Azure Sentinel dan pilih tab Analitik . Pilih Buat lalu pilih Aturan kueri terjadwal. Screenshot showing creating a scheduled query rule.

    Taktik dan teknik yang disediakan di sini hanya informasional dan bersumber dari Pangkalan Pengetahuan Serangan MITRE Ini adalah basis pengetahuan taktik dan teknik musuh berdasarkan pengamatan dunia nyata.

  2. Anda dapat menggunakan wizard aturan Analitik untuk mengatur tingkat keparahan untuk insiden ini. Karena ini adalah serangan besar, Tingkat Keparahan Tinggi dipilih.

    Screenshot showing the analytics rule wizard.

  3. Pada halaman Atur logika aturan, masukkan kueri Injeksi Kode bawaan berikut ini: Anda bisa menemukan kueri ini di repositori GitHub Keamanan Jaringan Azure. Demikian juga, Anda dapat menggunakan kueri lain yang tersedia di repositori untuk membuat aturan Analitik dan mendeteksi pola serangan masing-masing.

     let Threshold = 3; 
    
     AzureDiagnostics
     | where Category == "ApplicationGatewayFirewallLog"
     | where action_s == "Matched"
     | where Message has "Injection" or Message has "File Inclusion"
     | where ruleGroup_s == "REQUEST-932-APPLICATION-ATTACK-RCE" or ruleGroup_s ==    "REQUEST-931-APPLICATION-ATTACK-RFI" or ruleGroup_s == "REQUEST-932-APPLICATION-ATTACK-RCE" or    ruleGroup_s == "REQUEST-933-APPLICATION-ATTACK-PHP" or ruleGroup_s ==    "REQUEST-942-APPLICATION-ATTACK-SQLI" or ruleGroup_s == "REQUEST-921-PROTOCOL-ATTACK" or ruleGroup_s    == "REQUEST-941-APPLICATION-ATTACK-XSS"
     | project transactionId_g, hostname_s, requestUri_s, TimeGenerated, clientIp_s, Message,    details_message_s, details_data_s
     | join kind = inner(
    
     AzureDiagnostics
    
     | where Category == "ApplicationGatewayFirewallLog"
     | where action_s == "Blocked") on transactionId_g
     | extend Uri = strcat(hostname_s,requestUri_s)
     | summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), TransactionID = make_set   (transactionId_g,100), Message = make_set(Message,100), Detail_Message = make_set(details_message_s,   100), Detail_Data = make_set(details_data_s,100), Total_TransactionId = dcount(transactionId_g) by    clientIp_s, Uri, action_s
     | where Total_TransactionId >= Threshold
    

    Screenshot showing the rule query.

    Catatan

    Penting untuk memastikan bahwa log WAF sudah ada di Ruang Kerja Analitik Log sebelum Anda membuat aturan Analitik ini. Jika tidak, Sentinel tidak akan mengenali beberapa kolom dalam kueri dan Anda harus menambahkan input tambahan seperti | extend action_s = column_ifexists(“action_s”, “”), transactionId_g = column_ifexists(“transactionId_g”, “”) untuk setiap kolom yang memberikan kesalahan. Input ini membuat nama kolom secara manual dan menetapkannya nilai null. Untuk melewati langkah ini, kirim log WAF ke ruang kerja terlebih dahulu.

  4. Pada halaman Pengaturan Insiden, Aktifkan Buat insiden dari pemberitahuan yang dipicu oleh aturan analitik ini. Pengelompokan pemberitahuan dapat dikonfigurasi sesuai kebutuhan.

  5. Secara opsional, Anda juga dapat menambahkan respons otomatis terhadap insiden jika diperlukan. Lihat Deteksi dan respons otomatis untuk Azure WAF dengan Microsoft Sentinel untuk informasi selengkapnya tentang konfigurasi respons otomatis.

  6. Terakhir, pilih Simpan pada tab Tinjau dan buat .

Aturan analitik ini memungkinkan Sentinel membuat insiden berdasarkan log WAF yang merekam serangan Injeksi Kode apa pun. Azure WAF memblokir serangan ini secara default, tetapi pembuatan insiden memberikan lebih banyak dukungan bagi analis keamanan untuk merespons ancaman di masa mendatang.

Anda dapat mengonfigurasi Aturan Analitik di Sentinel untuk berbagai serangan aplikasi web menggunakan kueri deteksi bawaan yang tersedia di repositori GitHub Azure Network Security. Kueri ini akan ditambahkan langsung ke Templat Deteksi Sentinel. Setelah ditambahkan, kueri ini akan langsung tersedia di bagian Templat Aturan Analitik di Sentinel.

Langkah berikutnya