All Products
Search
Document Center

Security Center:Apa itu perlindungan aplikasi

Last Updated:Mar 12, 2026

Fitur perlindungan aplikasi menggunakan teknologi Runtime Application Self-Protection (RASP) untuk mendeteksi dan melindungi aplikasi dari serangan selama waktu proses tanpa perlu memodifikasi kode. Cukup pasang agen RASP di lingkungan host atau kontainer aplikasi Anda untuk memperoleh perlindungan keamanan yang kuat terhadap sebagian besar teknik serangan yang memanfaatkan kerentanan yang belum diketahui.

Cara kerjanya

Perlindungan aplikasi menggunakan teknologi RASP untuk mengaitkan (hook) fungsi-fungsi kritis dalam aplikasi serta memantau secara real time interaksi aplikasi dengan sistem lain. Ketika perilaku mencurigakan terdeteksi, perlindungan aplikasi mengidentifikasi dan memblokir serangan berdasarkan konteks saat ini, sehingga secara efektif melindungi aplikasi web Anda dari kerentanan aplikasi, kerentanan nol hari, dan serangan webshell dalam memori.

Skenario dan manfaat

  • Melindungi komponen internal aplikasi: Fokus pada perilaku aplikasi—bukan sumber lalu lintas—untuk melawan ancaman Utara-Selatan maupun timur-barat. Fitur ini berjalan otomatis saat aplikasi dimulai dan berfungsi sebagai garis pertahanan terakhir guna memastikan aplikasi aman secara bawaan.

  • Menangani pengkodean kompleks dan lalu lintas terenkripsi: RASP memiliki visibilitas penuh terhadap konteks aplikasi secara keseluruhan. Terlepas dari seberapa tersembunyi permintaan tersebut, tindakan akhir yang dilakukan aplikasi tetap tidak berubah. Jika identitas dan perilaku tidak sesuai, RASP akan mendeteksi anomali tersebut. Berbeda dengan perangkat perimeter jaringan yang tidak mampu memeriksa lalu lintas terenkripsi, RASP dapat mengakses data permintaan yang telah didekripsi sepenuhnya dari dalam aplikasi.

  • Melindungi dari kerentanan nol hari dengan tingkat false positive dan false negative yang rendah: RASP menganalisis data yang ditangani oleh fungsi-fungsi kritis dari dalam aplikasi, sekaligus mengabaikan serangan yang tidak dapat dieksekusi. Hal ini secara signifikan mengurangi false positive dan false negative. Untuk kerentanan nol hari, terlepas dari bagaimana titik masuk serangan berubah atau seberapa tersembunyinya tekniknya, pelaku tidak dapat menghindari eksekusi fungsi-fungsi kritis—sehingga RASP mampu mengintersepnya secara efektif.

  • Memungkinkan pelacakan sumber serangan, identifikasi kerentanan, dan perbaikan: RASP menyediakan tim keamanan dan pengembangan dengan rantai serangan yang detail, termasuk muatan serangan asli dan tumpukan panggilan kode. Ini memudahkan penelusuran, reproduksi, dan perbaikan kerentanan.

  • Beban operasional rendah: Penerapan sangat sederhana karena Anda hanya perlu menghubungkan aplikasi melalui Konsol. Tidak diperlukan pemeliharaan aturan atau pembaruan.

Batasan

Fitur ini hanya mendukung aplikasi Java dan PHP. Anda dapat menggunakan fitur ini pada instans Alibaba Cloud Elastic Compute Service (ECS), server cloud pihak ketiga, serta server lokal (on-premises) yang telah terinstal agen Security Center. Sistem operasi yang didukung tercantum dalam tabel berikut:

Jenis sistem operasi

Sistem operasi yang didukung

Windows (64-bit)

  • Windows Server 2025

  • Windows Server 2022

  • Windows Server 2019

  • Windows Server 2016

  • Windows Server 2012

  • Windows Server 2008

  • Windows 11

  • Windows 10

Linux (64-bit)

  • Alibaba Cloud Linux

  • AlmaLinux

  • Anolis OS

  • CentOS 6, 7, 8

  • CentOS Stream

  • Debian 8 atau versi lebih baru

  • Gentoo

  • OpenSUSE

  • RHEL 6, 7, 8, 9

  • Rocky Linux

  • SUSE Linux Enterprise Server

  • Ubuntu 14.04 atau versi lebih baru

  • NeoKylin V7, Kylin V10

  • TencentOS

  • Oracle Linux 7, 8, 9

  • openEuler 20.03, 22.03

  • EulerOS

  • Amazon Linux 2, 2023

Kemampuan

Deteksi serangan (aplikasi Java)

Tabel berikut mencantumkan jenis serangan yang dapat dideteksi dan diblokir oleh perlindungan aplikasi, serta rekomendasi perlindungan yang disarankan.

Jenis Serangan

Deskripsi

Rekomendasi Perlindungan

Injeksi JNI

Injeksi JNI merupakan teknik umum yang digunakan untuk menghindari Runtime Application Self-Protection (RASP). Setelah memperoleh hak istimewa eksekusi kode, pelaku dapat menggunakan fungsi Java Native Interface (JNI) untuk memuat pustaka taut-dinamis (dynamic-link library) berbahaya, sehingga menghindari perlindungan keamanan di lapisan Java dan menyamarkan perilaku berbahaya.

Server Anda kemungkinan memiliki kerentanan eksekusi kode. Identifikasi lokasi rentan dan batasi kemampuan eksekusi kode.

Injeksi SQL

Injeksi SQL melibatkan penyisipan perintah SQL ke dalam permintaan halaman atau string kueri formulir web guna menipu server agar mengeksekusi pernyataan SQL sembarang. Pelaku dapat mengekstrak data dari situs web rentan dengan memasukkan pernyataan SQL ke dalam formulir web.

Injeksi SQL umumnya disebabkan oleh penggabungan string dalam pernyataan SQL. Gunakan pernyataan pra-kompilasi (precompiled statements) untuk parameter input bila memungkinkan. Alternatifnya, batasi penggabungan parameter menggunakan daftar putih atau blacklist.

XXE

Injeksi XML External Entity (XXE) terjadi ketika parser XML memproses entitas eksternal. Pelaku dapat memanfaatkan hal ini untuk membaca file sembarang, mengeksekusi perintah, atau meluncurkan serangan terhadap jaringan internal.

Periksa apakah aplikasi Anda memerlukan pemuatan entitas eksternal saat melakukan parsing XML. Jika tidak, nonaktifkan pemrosesan entitas eksternal dalam konfigurasi parser XML Anda.

Kueri DNS berbahaya

Kueri DNS berbahaya dapat dimanfaatkan dengan berbagai cara. Pelaku mungkin menggunakan protokol DNS untuk menghindari pembatasan jaringan internal dan mengirimkan informasi sensitif keluar. Mereka juga dapat menggunakan kueri DNS untuk memindai sistem internal demi menemukan kerentanan seperti server-side request forgery (SSRF) atau injeksi JNDI.

Kueri DNS berbahaya terjadi ketika server mengirimkan permintaan ke parameter yang dikontrol pengguna. Tinjau parameter-parameter tersebut dan batasi dengan daftar putih.

Panggilan balik reflektif berbahaya

Modul perlindungan diri RASP memblokir pelaku dari memodifikasi data runtime RASP melalui refleksi.

Server Anda kemungkinan memiliki kerentanan eksekusi kode. Identifikasi lokasi rentan dan batasi kemampuan eksekusi kode.

Koneksi keluar berbahaya

Server-side request forgery (SSRF) memungkinkan pelaku membuat permintaan palsu dari server untuk menyerang sistem internal.

Untuk mengurangi risiko SSRF, batasi rentang alamat tujuan permintaan yang diinisiasi server. Izinkan akses hanya ke sumber daya internal tepercaya menggunakan daftar putih. Nonaktifkan akses jaringan eksternal yang tidak diperlukan.

Pembacaan dan penulisan file berbahaya

Java menyediakan kelas RandomAccessFile untuk operasi I/O file. Jika jalur atau konten file tidak divalidasi dengan benar, pelaku dapat membaca file sistem sensitif atau mengunggah malware.

Verifikasi bahwa pembacaan dan pengunggahan file berfungsi sebagaimana mestinya. Jika terjadi anomali, periksa kode fungsi terkait dan terapkan pembatasan daftar hitam.

Pengunggahan file berbahaya

Jika situs web tidak membatasi jenis file yang diunggah, pelaku dapat mengunggah malware untuk memperoleh hak istimewa server yang lebih tinggi dan menyebabkan kerusakan serius.

Batasi jenis file yang diizinkan. Blokir pengunggahan file yang dapat dieksekusi, seperti JSP.

Eksekusi perintah

Kerentanan eksekusi perintah terjadi ketika server gagal menyaring perintah yang disediakan pengguna, sehingga memungkinkan pengguna menjalankan perintah sistem sembarang.

Eksekusi perintah jarak jauh sering kali berasal dari webshell atau kode server yang tidak aman. Temukan lokasi eksekusi perintah. Hapus webshell segera. Jika fitur tersebut sah, batasi perintah yang diizinkan menggunakan daftar putih.

Penelusuran direktori

Konfigurasi situs web yang salah dapat memungkinkan penelusuran direktori situs web tanpa batas, sehingga mengekspos informasi pribadi. Pelaku dapat memanfaatkan informasi ini untuk meluncurkan serangan lanjutan.

Verifikasi bahwa operasi penelusuran direktori berfungsi sebagaimana mestinya. Jika terjadi anomali, periksa kode fungsi terkait dan gunakan daftar hitam untuk membatasi pola berbahaya seperti ./ dan ../.

Injeksi webshell dalam memori

Webshell dalam memori merupakan jenis malware baru. Pelaku menyuntikkannya langsung ke memori menggunakan teknik khusus untuk menghindari deteksi oleh WAF dan pertahanan berbasis host.

Server Anda kemungkinan memiliki kerentanan eksekusi kode. Identifikasi lokasi rentan dan batasi kemampuan eksekusi kode.

Membaca File Sembarang

Jika situs web mengizinkan pengunduhan atau pembacaan file menggunakan jalur mutlak atau karakter penelusuran direktori tanpa memvalidasi jalur file, pelaku dapat mengambil informasi sensitif dan mengkompromikan server.

Verifikasi bahwa pembacaan file berfungsi sebagaimana mestinya. Jika terjadi anomali, periksa kode fungsi terkait dan gunakan daftar hitam untuk membatasi parameter input seperti ./ dan ../.

Injeksi thread

Injeksi thread merupakan teknik umum untuk menghindari RASP. Setelah memperoleh hak istimewa eksekusi kode, pelaku membuat thread baru untuk mengganggu konteks runtime RASP dan melemahkan perlindungannya.

Server Anda kemungkinan memiliki kerentanan eksekusi kode. Identifikasi lokasi rentan dan batasi kemampuan eksekusi kode.

Lampiran Berbahaya

API Attach Java memungkinkan modifikasi bytecode secara dinamis pada waktu proses. Pelaku sering menggunakannya untuk menyuntikkan webshell dalam memori bergaya agen, yang sangat sulit terdeteksi.

Server Anda kemungkinan memiliki kerentanan eksekusi kode. Identifikasi lokasi rentan dan batasi kemampuan eksekusi kode.

Injeksi JNDI

Selama pencarian JNDI, jika pelaku mengendalikan URL pencarian, mereka dapat memaksa server mengambil dan memuat kelas berbahaya, sehingga memungkinkan eksekusi kode sembarang.

  • Jika kerentanan berasal dari komponen pihak ketiga, segera tingkatkan ke versi yang telah diperbaiki.

  • Jika Anda menulis kode pencarian JNDI, batasi URL pencarian dan blokir protokol berbahaya.

Penggunaan protokol berbahaya

Jika server mengakses URL yang dikendalikan pengguna tanpa membatasi protokol yang digunakan, pelaku dapat membaca file sensitif menggunakan protokol berbahaya seperti file atau netdoc.

Batasi protokol yang diizinkan dalam URL.

Serangan deserialisasi

Deserialisasi Java merekonstruksi objek Java dari urutan karakter terserialisasi. Jika objek yang direkonstruksi berisi kode berisiko tinggi, pelaku dapat memanipulasi variabel anggota selama proses deserialisasi untuk memicu perilaku berbahaya.

  • Segera tingkatkan komponen rentan ke versi yang telah diperbaiki.

  • Jika tidak tersedia patch, nonaktifkan sementara fungsionalitas yang terkena dampak.

Penghapusan file sembarang

Jika antarmuka penghapusan file situs web tidak memvalidasi jalur file, pelaku dapat menghapus file apa pun menggunakan jalur mutlak atau karakter penelusuran direktori, sehingga mengkompromikan server.

Verifikasi bahwa penghapusan file berfungsi sebagaimana mestinya. Jika terjadi anomali, periksa kode fungsi terkait dan gunakan daftar hitam untuk membatasi parameter input seperti ./ dan ../.

Injeksi ekspresi

Pustaka ekspresi menawarkan fitur kaya, termasuk kueri dan pemrosesan data pada waktu proses. Namun, banyak pula yang mendukung operasi berhak istimewa tinggi seperti pemanggilan fungsi. Tanpa pembatasan yang memadai—dan jika pelaku mengendalikan konten ekspresi—mereka dapat mengeksekusi kode sembarang.

Batasi input ekspresi secara ketat. Blokir sebagian besar pemanggilan fungsi Java. Jika masalah berasal dari komponen pihak ketiga, segera tingkatkan ke versi yang telah diperbaiki.

Injeksi engine

Java menawarkan banyak engine pihak ketiga—seperti Rhino dan Nashorn (engine JavaScript) serta Velocity dan FreeMarker (engine templat). Engine-engine ini sering mendukung operasi berhak istimewa tinggi seperti pemanggilan fungsi. Tanpa pembatasan—andaikan pelaku mengendalikan input engine—mereka dapat mengeksekusi kode sembarang.

Batasi input engine secara ketat. Blokir sebagian besar pemanggilan fungsi Java. Jika masalah berasal dari komponen pihak ketiga, segera tingkatkan ke versi yang telah diperbaiki.

Binding Beans berbahaya

Beberapa framework Java mendukung pengikatan (binding) Beans runtime ke parameter permintaan. Jika tipe Bean tidak dibatasi, pelaku dapat memodifikasi Bean sensitif untuk mengganggu perilaku aplikasi—atau bahkan mengeksekusi kode sembarang.

Batasi tipe Bean yang boleh diikat. Blokir modifikasi terhadap tipe sensitif seperti Class dan ClassLoader. Jika masalah berasal dari komponen pihak ketiga, segera tingkatkan ke versi yang telah diperbaiki.

Pemuatan kelas berbahaya

Banyak eksploitasi kerentanan nol hari dan webshell mengandalkan pemuatan kelas berbahaya. Setelah dimuat, pelaku dapat memperoleh hak istimewa eksekusi kode selama inisialisasi kelas dan melakukan tindakan berbahaya lanjutan.

  • Jika pemuatan kelas berbahaya dipicu oleh webshell, hapus webshell segera.

  • Jika berasal dari framework, segera tingkatkan ke versi yang telah diperbaiki.

Inklusi file sembarang JSTL

JavaServer Pages Standard Tag Library (JSTL) adalah kumpulan tag JSP yang menyatukan logika aplikasi umum. Jika parameter yang dikontrol pengguna langsung digabungkan ke dalam tag JSTL tanpa validasi, pelaku dapat membuat skrip berbahaya untuk membaca file sembarang atau meluncurkan serangan SSRF.

Hindari penggabungan langsung parameter yang dikontrol pengguna ke dalam tag JSTL. Jika tidak dapat dihindari, terapkan validasi daftar putih yang ketat terhadap konten parameter.

Deteksi serangan (aplikasi PHP)

Jenis Serangan

Deskripsi

Rekomendasi Perlindungan

Inklusi File Berbahaya

Kerentanan inklusi file pada PHP merupakan kerentanan keamanan umum. Kerentanan ini memungkinkan pelaku menyertakan dan mengeksekusi file sembarang dengan memanipulasi input. Kerentanan ini biasanya terjadi saat menggunakan fungsi seperti include(), require(), include_once(), atau require_once() untuk menyertakan file lain dalam skrip.

Validasi dan batasi jalur file yang disediakan pengguna. Izinkan hanya file yang telah ditentukan sebelumnya dari direktori aplikasi Anda untuk mencegah pelaku menyisipkan jalur berbahaya.

Koneksi Keluar Berbahaya

Server-side request forgery (SSRF) memungkinkan pelaku membuat permintaan palsu dari server untuk menyerang sistem internal.

Perbaiki SSRF dengan membatasi rentang alamat tujuan untuk permintaan yang diinisiasi server. Gunakan daftar putih untuk mengizinkan akses hanya ke sumber daya internal tepercaya. Nonaktifkan akses jaringan keluar yang tidak diperlukan.

Deserialisasi

Kerentanan deserialisasi pada PHP merupakan masalah keamanan kritis. Kerentanan ini memungkinkan pelaku mengeksekusi fungsi sembarang dengan memanipulasi data terserialisasi. Kerentanan ini umumnya terjadi saat menggunakan fungsi unserialize().

Hindari deserialisasi langsung terhadap data tidak tepercaya. Gunakan json_decode() atau alternatif aman lainnya. Jika deserialisasi diperlukan, validasi dan filter sumber data secara ketat.

Eksekusi Fungsi Callback

Fungsi callback pada PHP mencakup array_map() dan array_filter(). Jika pelaku dapat mengendalikan parameternya, mereka mungkin mengeksekusi fungsi sembarang dan bahkan mengambil kendali penuh atas sistem.

Untuk mencegah penyalahgunaan fungsi callback pada PHP, pastikan nama fungsi callback yang diteruskan ke array_map(), array_filter(), dan fungsi serupa tidak dikendalikan oleh input pengguna. Validasi semua fungsi callback yang diizinkan menggunakan daftar putih.

Pembacaan/Penulisan File Berbahaya

Jika fungsi pembacaan/pengisian file tidak membatasi jalur atau konten file, pelaku dapat membaca file sistem sensitif atau mengunggah malware.

Untuk mencegah kerentanan pembacaan/pengisian file, validasi dan batasi jalur file secara ketat. Izinkan akses hanya ke direktori yang telah ditentukan sebelumnya. Pindai konten file untuk kode berbahaya sebelum diunggah.

Eksekusi Kode Sembarang

Kerentanan eksekusi kode sembarang bersifat kritis. Kerentanan ini memungkinkan pelaku menjalankan kode sembarang di server, memperoleh kendali penuh, membaca atau memodifikasi data sensitif, membocorkan data, merusak tampilan situs web, atau menginstal malware. Hal ini biasanya terjadi ketika aplikasi gagal memvalidasi input pengguna secara memadai, sehingga memungkinkan pelaku menyuntikkan kode berbahaya.

Gunakan validasi input yang ketat dan pengkodean output. Hindari penggunaan eval() atau include() untuk memproses input pengguna secara langsung. Pastikan semua pustaka dan framework selalu diperbarui.

Pembacaan File Sembarang

Jika antarmuka pembacaan file tidak memiliki penyaringan dan pembatasan jalur, pelaku dapat menggunakan jalur mutlak atau urutan penelusuran direktori (seperti ../) untuk membaca dan mengunduh file. Hal ini mengekspos informasi sensitif dan memungkinkan serangan lanjutan.

Terapkan validasi input dan pembatasan jalur yang ketat pada antarmuka pembacaan file. Izinkan akses hanya ke file yang telah diverifikasi oleh daftar putih. Blokir pola input berbahaya (seperti ./ dan ../) menggunakan daftar hitam.

Penghapusan File Sembarang

Jika antarmuka penghapusan file tidak memiliki pembatasan jalur, pelaku dapat menggunakan jalur mutlak atau urutan penelusuran direktori untuk menghapus file apa pun. Hal ini dapat merusak server.

Terapkan validasi input dan pembatasan jalur yang ketat pada antarmuka penghapusan file. Izinkan penghapusan hanya untuk file yang telah diverifikasi. Blokir pola input berbahaya (seperti ./ dan ../) menggunakan daftar hitam.

Eksekusi Perintah

Kerentanan eksekusi perintah memungkinkan pelaku menyuntikkan perintah sistem operasi atau kode langsung ke server backend, sehingga memperoleh kendali penuh.

Validasi dan filter semua input pengguna secara ketat. Jangan pernah membangun perintah sistem operasi langsung dari input yang belum diproses. Gunakan API aman sebagai ganti eksekusi perintah sistem bila memungkinkan.

Penelusuran Direktori

Konfigurasi situs web yang buruk dapat memungkinkan pelaku menelusuri direktori situs web secara bebas, yang dapat menyebabkan kebocoran informasi pribadi dan memungkinkan serangan lanjutan.

Konfigurasikan izin server yang tepat dan gunakan file seperti .htaccess untuk membatasi akses direktori. Pastikan direktori sensitif tidak dapat dijelajahi secara publik.

Pengunggahan File Berbahaya

Jika fungsionalitas pengunggahan file tidak membatasi jenis file, pelaku dapat mengunggah malware untuk memperoleh hak istimewa yang lebih tinggi dan menyebabkan kerusakan serius.

Batasi dan validasi jenis file yang diunggah secara ketat. Izinkan hanya ekstensi file yang aman. Blokir ekstensi yang dapat dieksekusi seperti .php. Periksa ulang konten file di server untuk memastikan keamanannya.

Pertahanan terhadap kerentanan aplikasi

Perlindungan aplikasi secara efektif mempertahankan aplikasi dari kerentanan aplikasi, eksploitasi kerentanan nol hari, dan webshell dalam memori, seperti ditunjukkan pada gambar berikut. Selama respons darurat, RASP dapat dengan cepat memblokir serangan, sehingga memberi waktu tambahan untuk memperbaiki kerentanan. RASP juga membantu Anda mengidentifikasi sumber dan cakupan risiko secara cepat. Untuk informasi selengkapnya, lihat Lihat dan tangani kerentanan.image

Jika Anda tidak dapat segera memperbaiki kerentanan aplikasi, Anda dapat menghubungkan proses aplikasi ke RASP untuk perlindungan. Untuk menambahkan perlindungan RASP ke aplikasi dengan kerentanan yang terdeteksi, lakukan langkah-langkah berikut:

  1. Masuk ke Konsol Security Center.

  2. Di panel navigasi kiri, pilih Risk Governance > Vulnerabilities. Di sudut kiri atas konsol, pilih wilayah tempat aset Anda berada: Chinese Mainland atau Outside Chinese Mainland.

  3. Pada tab Application Vulnerability, kerentanan dengan tag RASP supports real-time protection. dilindungi oleh perlindungan aplikasi. Klik Enable Protection Now di kolom Tindakan.

    image.png

  4. Di panel Application Protection Access, pilih kelompok aplikasi target dari daftar tarik-turun Application Group Name, pilih aset terkait, lalu klik Confirm.

    Jika kelompok aplikasi yang diperlukan belum ada, Anda dapat mengklik Create Application Group dari daftar tarik-turun, masukkan nama, lalu klik OK. Secara bawaan, prevention mode diatur ke Block dan protection policy group diatur ke Normal Running Group.

    Setelah Anda menghubungkan aplikasi yang memiliki kerentanan terdeteksi ke perlindungan aplikasi dan menyelesaikan satu pemindaian kerentanan, status server di daftar Unhandled Vulnerabilities pada halaman detail kerentanan berubah menjadi Protected.

Analisis Perilaku Aplikasi

Fitur analisis perilaku aplikasi memantau aplikasi yang terhubung secara real time, mengumpulkan dan menganalisis data perilaku, serta menghasilkan laporan yang mencakup visualisasi. Hal ini membantu Anda memahami detail serangan dan pertahanan serta memperkuat keamanan sistem Anda. Untuk informasi selengkapnya, lihat Analisis perilaku aplikasi.

Pertahanan terhadap webshell dalam memori (khusus aplikasi Java)

Perlindungan aplikasi menggunakan RASP untuk menganalisis data memori secara real time guna mendeteksi webshell dalam memori serta memblokir injeksi dan eksekusinya. Untuk informasi selengkapnya, lihat Pertahanan terhadap webshell dalam memori.

Deteksi kelemahan (khusus aplikasi Java)

Tabel berikut mencantumkan kelemahan aplikasi yang dapat dideteksi oleh perlindungan aplikasi serta saran perbaikannya.

Jenis kelemahan

Tingkat risiko

Deskripsi

Saran perbaikan

Konfigurasi Fastjson tidak aman

Kritis

Deserialisasi Fastjson diaktifkan di aplikasi Anda. Pelaku dapat memanfaatkannya untuk mencapai eksekusi perintah jarak jauh. Nonaktifkan kecuali benar-benar diperlukan.

Atur safemode Fastjson ke true atau autotype ke false.

Konfigurasi log4j tidak aman

Kritis

Komponen log4j Anda memiliki lookup diaktifkan. Pelaku dapat memanfaatkannya untuk injeksi JNDI, yang mengarah ke eksekusi kode jarak jauh.

Tingkatkan log4j ke versi terbaru, atau hapus org/apache/logging/log4j/core/lookup/JndiLookup.class dari file JAR.

Parameter startup tidak aman

Kritis

Jika pelaku dapat mengakses port debugging JDWP, mereka dapat mengeksekusi kode sembarang, yang menyebabkan eksekusi kode jarak jauh.

Kecuali diperlukan, tutup port JDWP atau hindari mengeksposnya ke jaringan publik. Pantau aplikasi jangka panjang untuk memastikan JDWP tidak diaktifkan.

Kunci Shiro lemah

Kritis

Aplikasi Shiro Anda menggunakan kunci enkripsi lemah. Pelaku dapat memecahnya dan meluncurkan serangan deserialisasi untuk mencapai eksekusi kode jarak jauh.

Perbarui segera kunci enkripsi Shiro di aplikasi Anda.

Konfigurasi JMX tidak aman

Sedang

Koneksi JMX jarak jauh diaktifkan dengan autentikasi lemah. Pelaku mungkin terhubung dari jarak jauh dan mengeksekusi perintah.

Nonaktifkan koneksi JMX jarak jauh, atau gunakan kata sandi autentikasi yang kuat.

Konfigurasi Rhino tidak aman

Sedang

Framework Rhino mencakup properti berbahaya yang dapat dimanfaatkan pelaku untuk eksekusi kode jarak jauh.

Pertama, tingkatkan rhnio ke versi terbaru. Kemudian, gunakan SafeStandardObjects untuk mendefinisikan konteks Rhino dan mencegah mesin JavaScript memanggil kode Java.

Berikut contoh penggunaan SafeStandardObjects untuk mendefinisikan konteks Rhino:

 package com.aliyun.sample;

   import org.mozilla.javascript.Context;
   import org.mozilla.javascript.Scriptable;

   public class RhinoSecurityExample {
       public static void main(String[] args) {
           Context ctx = Context.enter();
           // Scriptable scope = ctx.initStandardObjects(); // Tidak aman
           Scriptable scope = ctx.initSafeStandardObjects(); // Aman
           ctx.setOptimizationLevel(-1);
           String str = "var test={};";
           str += "test.call=function(){return 'Successful!';};";
           str += "test.call()";  // Dimodifikasi: mengembalikan hasil JavaScript saja, tanpa pemanggilan Java
           try {
               // Lewatkan dan eksekusi kode JavaScript
               Object result = ctx.evaluateString(scope, str, "", 1, null);
               System.out.println("Hasil eksekusi JavaScript: " + result);
           } catch (Exception e) {
               e.printStackTrace();
           } finally {
               Context.exit();
           }
       }
   }

Konfigurasi Spring tidak aman

Sedang

Spring Actuator memiliki endpoint seperti heapDump, env, restart, refresh, trace, jolokia, dan h2-console yang diaktifkan. Hal ini dapat menyebabkan kebocoran informasi sensitif atau memungkinkan eksekusi kode jarak jauh.

Kecuali diperlukan, nonaktifkan endpoint-endpoint ini.

Kredensial login lemah

Sedang

Aplikasi Anda menggunakan kata sandi login lemah. Pelaku dapat melakukan brute-force untuk mengakses sistem Anda, mencuri data sensitif, atau memperoleh kendali server.

Ubah segera kata sandi aplikasi menjadi kata sandi yang kuat.

Konfigurasi JNDI tidak aman

Rendah

Aplikasi Anda menggunakan pengaturan tidak aman untuk useCodebaseOnly, rmi-trustURLCodebase, atau ldap-trustURLCodebase, yang menimbulkan risiko injeksi JNDI.

Tingkatkan JDK ke versi terbaru. Jika tidak memungkinkan, tambahkan parameter startup berikut saat meluncurkan aplikasi:

-Djava.rmi.server.useCodebaseOnly=true -Dcom.sun.jndi.rmi.object.trustURLCodebase=false -Dcom.sun.jndi.ldap.object.trustURLCodebase=false

Konfigurasi entitas XML tidak aman

Risiko rendah

Parsing entitas eksternal XML diaktifkan, yang dapat mengekspos aplikasi Anda terhadap serangan XXE.

Kecuali diperlukan, jangan gunakan entitas eksternal.

Kata sandi database lemah

Rendah

Aplikasi Anda menggunakan kata sandi lemah untuk terhubung ke database. Pelaku dapat menggunakannya untuk mengakses database Anda, membocorkan data sensitif, atau mencapai eksekusi perintah jarak jauh.

Ubah segera kata sandi koneksi database menjadi kata sandi yang kuat.

Referensi