全部产品
Search
文档中心

Application Real-Time Monitoring Service:Serangan dan Solusi

更新时间:Jun 27, 2025

Topik ini menjelaskan serangan yang tercakup dalam statistik serangan serta menyediakan solusi yang sesuai.

Jenis SeranganDeskripsiSolusi
Injeksi JNDIJika aplikasi memulai Kueri JNDI tetapi URL kueri dikendalikan oleh penyerang, penyerang dapat menginduksi server tempat aplikasi berjalan untuk menanyakan tautan jahat dan memuat kelas jahat, sehingga mengakibatkan eksekusi kode sewenang-wenang di server.
  • Jika kerentanan ini disebabkan oleh komponen pihak ketiga, tingkatkan komponen tersebut sesegera mungkin.
  • Jika kerentanan ini disebabkan oleh kode buatan sendiri untuk kueri JNDI, batasi URL kueri untuk melarang kueri melalui protokol tidak aman.
Injeksi JNIJava Native Interface (JNI) injection adalah metode umum untuk melewati teknologi Runtime Application Self-Protection (RASP). Jika seorang penyerang mendapatkan izin untuk mengeksekusi kode, mereka dapat menggunakan fungsi JNI untuk memanggil perpustakaan dinamis jahat eksternal, sehingga melewati perlindungan keamanan lapisan Java dan menyembunyikan perilaku jahat tertentu.Server Anda mungkin memiliki kerentanan eksekusi kode. Periksa lokasi kerentanan dan batasi izin untuk mengeksekusi kode.
Pengikut file JSTLJavaServer Pages Standard Tag Library (JSTL) adalah sekumpulan tag JavaServer Pages (JSP), mencakup fitur inti umum dari aplikasi JSP. Jika parameter yang dikontrol pengguna langsung digabungkan ke dalam JSTL tanpa pembatasan apa pun pada parameter, penyerang dapat membuat skrip khusus yang menyebabkan pembacaan file sewenang-wenang dan serangan pemalsuan permintaan sisi server (SSRF).Kami sarankan agar Anda tidak langsung menggabungkan parameter yang dikontrol pengguna ke dalam JSTL. Jika diperlukan, lakukan kontrol daftar putih yang ketat pada isi parameter.
Injeksi SQLSerangan injeksi SQL menyisipkan Pernyataan SQL ke dalam string kueri permintaan web atau formulir web dan menginduksi server untuk mengeksekusi pernyataan SQL tersebut. Penyerang dapat memperoleh data di situs web dengan kerentanan keamanan dengan menyisipkan pernyataan SQL ke dalam formulir web.Injeksi SQL disebabkan oleh penggabungan pernyataan SQL. Prakompilasi parameter input atau gunakan daftar putih dan daftar hitam untuk membatasi parameter yang digabungkan.
XXEInjeksi XXE adalah singkatan dari XML external entity injection. Jika file XML merujuk entitas eksternal, penyerang dapat membuat konten jahat yang menyebabkan pembacaan file sewenang-wenang, injeksi perintah, dan serangan jaringan internal.Periksa apakah aplikasi Anda perlu memuat entitas eksternal saat mem-parsing file XML. Jika tidak, nonaktifkan entitas eksternal dalam konfigurasi parsing XML.
XSSSerangan Cross-site scripting (XSS) menyuntikkan skrip jahat ke situs web. Saat pengguna menjelajahi situs web, skrip yang disuntikkan ke situs web dieksekusi.Mirip dengan serangan injeksi HTML, serangan XSS memungkinkan penyerang menyuntikkan kode HTML ke halaman web. Untuk melindungi aplikasi Anda terhadap serangan XXS, Anda harus secara ketat menyaring dan meloloskan data masukan saat kode yang dikirimkan oleh pengguna ditampilkan di halaman web.
  1. Filter data masukan dan periksa karakter berikut secara ketat: ', ", <, >, on*, script, dan iframe. Periksa data masukan yang ditentukan oleh pengguna, variabel dalam cookie permintaan HTTP, dan variabel dalam header permintaan HTTP.
  2. Periksa tipe, format, panjang, rentang, dan isi data.
  3. Periksa dan filter data baik di sisi klien maupun di sisi server.
  4. Enkode dan ubah data masukan yang ditampilkan di halaman web. Misalnya, enkode data menjadi entitas HTML atau data JavaScript. Periksa data keluaran. Nilai dalam database mungkin ditampilkan beberapa kali di situs web. Bahkan jika Anda meng-enkode nilai masukan, Anda juga harus memeriksa semua nilai keluaran.
Injeksi bahasa ekspresi (EL)Ekspresi menyediakan berbagai macam fitur, seperti kueri data dan pemrosesan selama waktu proses. Beberapa ekspresi juga menyediakan fitur yang memerlukan izin tingkat lanjut seperti panggilan fungsi. Jika fitur-fitur ini tidak dibatasi, penyerang dapat memodifikasi isi ekspresi dan mengeksekusi kode sewenang-wenang.Batasi secara ketat isi ekspresi dan nonaktifkan panggilan fungsi Java. Jika kerentanan ini disebabkan oleh komponen pihak ketiga, tingkatkan komponen tersebut sesegera mungkin.
API Attach jahatAPI Attach adalah teknologi Java yang dapat digunakan untuk memodifikasi bytecode aplikasi yang sedang berjalan secara dinamis. Penyerang dapat menggunakan teknologi ini untuk menyuntikkan agen jenis kuda Trojan memori. Metode ini sangat menyesatkan.Server Anda mungkin memiliki kerentanan eksekusi kode. Periksa lokasi kerentanan dan batasi izin untuk mengeksekusi kode.
Pengikatan bean jahatBeberapa framework Java mendukung pengikatan properti bean saat aplikasi berjalan. Jika tipe properti bean yang dapat diikat tidak dibatasi, penyerang dapat memodifikasi nilai properti bean sensitif untuk mengganggu operasi aplikasi atau bahkan mengeksekusi kode sewenang-wenang.Anda harus membatasi tipe properti bean yang dapat diikat untuk mencegah nilai properti bean seperti class dan class loader diubah. Jika kerentanan ini disebabkan oleh komponen pihak ketiga, tingkatkan komponen tersebut sesegera mungkin.
Kueri DNS jahatPenyerang dapat menggunakan beberapa metode untuk mengeksploitasi kueri DNS jahat. Penyerang kemungkinan besar akan menggunakan protokol DNS untuk membawa informasi sensitif keluar dari jaringan internal. Penyerang juga dapat menggunakan protokol DNS untuk mendeteksi apakah sistem jaringan internal memiliki kerentanan seperti SSRF dan injeksi JNDI.Kueri DNS jahat disebabkan ketika server mengirim permintaan ke parameter yang dikontrol pengguna. Periksa pengaturan parameter dan konfigurasikan daftar putih.
Pemanggilan refleksi jahatModul perlindungan diri RASP melarang penyerang menggunakan refleksi untuk memodifikasi data RASP selama waktu proses.Server Anda mungkin memiliki kerentanan eksekusi kode. Periksa lokasi kerentanan dan batasi izin untuk mengeksekusi kode.
Pemuatan kelas jahatKerentanan zero-day dan web shell bergantung pada pemuatan kelas jahat. Jika kelas jahat dimuat, penyerang dapat menginisialisasi kelas jahat, mendapatkan izin untuk mengeksekusi kode, dan melakukan operasi jahat.
  • Jika kelas jahat dimuat menggunakan web shell, hapus web shell sesegera mungkin.
  • Jika kelas jahat dimuat karena kerentanan framework, tingkatkan framework sesegera mungkin.
SSRFServer-side request forgery (SSRF) adalah kerentanan keamanan web yang memungkinkan penyerang menyerang sistem internal situs web dengan menginduksi aplikasi sisi server untuk membuat permintaan HTTP.SSRF disebabkan ketika server mengirim permintaan ke parameter masukan. Periksa pengaturan parameter dan konfigurasikan daftar putih.
Baca dan tulis file jahatJava menyediakan kelas RandomAccessFile untuk operasi baca dan tulis file. Saat Anda menggunakan kelas ini untuk membaca dan menulis file tetapi tidak membatasi jalur file dan isi file, penyerang mungkin membaca file sistem sensitif dan mengunggah file trojan.Periksa apakah Anda dapat membaca dan mengunggah file sesuai harapan. Jika terjadi pengecualian, periksa kode fungsi dan konfigurasikan daftar hitam.
Unggah file jahatUntuk fitur unggah file yang disediakan oleh situs web, jika tipe file tidak dibatasi, penyerang dapat memperoleh izin lebih tinggi di server dengan mengunggah file trojan. Ini menyebabkan kerusakan serius.Batasi tipe file yang akan diunggah dan larang mengunggah file dengan izin eksekusi, seperti file JSP.
Serangan deserialisasiDeserialisasi Java adalah proses mengembalikan urutan byte menjadi objek Java. Jika objek Java berisi kode yang dapat menyebabkan risiko tinggi, penyerang dapat mengontrol variabel anggota objek Java untuk memulai serangan selama proses deserialisasi.
  1. Tingkatkan komponen tempat kerentanan terdeteksi sesegera mungkin.
  2. Jika versi resmi komponen yang memiliki kerentanan diperbaiki belum dirilis, nonaktifkan sementara deserialisasi.
Injeksi perintahKerentanan injeksi perintah memungkinkan penyerang mengeksekusi perintah sistem sewenang-wenang di server.Dalam banyak kasus, eksekusi perintah jarak jauh disebabkan oleh web shell atau kode berisiko di server. Periksa lokasi di mana perintah dieksekusi. Jika eksekusi perintah disebabkan oleh web shell, hapus web shell tepat waktu. Jika perintah dieksekusi untuk mengimplementasikan fitur normal di server, konfigurasikan daftar putih untuk membatasi perintah yang dapat dieksekusi.
Penelusuran direktoriDirektori situs web mungkin ditelusuri secara sewenang-wenang karena cacat konfigurasinya. Ini mengakibatkan pengungkapan informasi privasi. Penyerang dapat menggunakan informasi yang diungkapkan untuk menyerang situs web.Periksa apakah direktori situs web dapat ditelusuri sesuai harapan. Jika terjadi pengecualian, periksa kode fungsi dan konfigurasikan daftar hitam untuk membatasi perintah terkait, seperti "./" dan "../".
Injeksi memory horseKuda Trojan memori adalah teknik kuda Trojan baru. Penyerang dapat menyuntikkan kuda Trojan ke memori dengan beberapa cara teknis khusus, yang dapat secara efektif melewati deteksi WAF dan pertahanan host.Server Anda mungkin memiliki kerentanan eksekusi kode. Periksa lokasi kerentanan dan batasi izin untuk mengeksekusi kode.
Penghapusan file sewenang-wenangUntuk fitur penghapusan file yang disediakan oleh situs web, jika file dihapus menggunakan jalur absolut atau karakter penelusuran direktori dan jalur file tidak dibatasi, penyerang dapat mengeksploitasi kerentanan ini untuk memperoleh informasi sensitif dan menyerang server.Periksa apakah Anda dapat menghapus file sesuai harapan. Jika terjadi pengecualian, periksa kode fungsi dan konfigurasikan daftar hitam untuk membatasi parameter masukan, seperti "./" dan "../".
Pembacaan file sewenang-wenangUntuk fitur unduhan dan pembacaan file yang disediakan oleh situs web, jika file dibaca dan diunduh menggunakan jalur absolut atau karakter penelusuran direktori, penyerang dapat mengeksploitasi kerentanan ini untuk memperoleh informasi sensitif dan menyerang server.Periksa apakah Anda dapat membaca file sesuai harapan. Jika terjadi pengecualian, periksa kode fungsi dan konfigurasikan daftar hitam untuk membatasi parameter masukan, seperti "./" dan "../".
Kata sandi database lemahJika kata sandi database lemah, penyerang mungkin memperoleh kata sandi dengan memulai serangan brute-force. Dalam hal ini, penyerang dapat mencuri data dari database dan memperoleh izin sistem.Gunakan kata sandi yang lebih kompleks.
Injeksi threadInjeksi thread adalah metode umum untuk melewati teknologi RASP. Jika penyerang mendapatkan izin untuk mengeksekusi kode, penyerang dapat membuat thread sehingga RASP kehilangan konteks lingkungan runtime. Dalam hal ini, kemampuan pertahanan RASP terganggu.Server Anda mungkin memiliki kerentanan eksekusi kode. Periksa lokasi kerentanan dan batasi izin untuk mengeksekusi kode.
Penggunaan protokol tidak amanJika URL yang diakses oleh server dikendalikan pengguna dan protokol URL tidak dibatasi pada aplikasi Anda, penyerang dapat membaca file sensitif di server melalui protokol tidak aman seperti File dan NetDoc.Batasi protokol URL.
Injeksi mesinJava menyediakan berbagai mesin JavaScript pihak ketiga (seperti Rhino dan Nashorn) dan mesin template (seperti Apache Velocity dan FreeMarker). Dalam banyak kasus, mesin-mesin ini menyediakan fitur yang memerlukan izin tingkat lanjut seperti panggilan fungsi. Jika fitur-fitur ini tidak dibatasi, penyerang dapat memodifikasi konten yang dieksekusi oleh mesin dan mengeksekusi kode sewenang-wenang.Batasi secara ketat konten yang diimpor ke mesin dan nonaktifkan panggilan fungsi Java. Jika kerentanan ini disebabkan oleh komponen pihak ketiga, tingkatkan komponen tersebut sesegera mungkin.