Lewati ke konten utama

RED TEAM

Pengertian Remote Code Execution (RCE) dan Cara Mencegahnya

Remote Code Execution (RCE) adalah kerentanan yang memungkinkan penyerang menjalankan kode di sistem milik orang lain dari jarak jauh, biasanya lewat jaringan, tanpa akses fisik. Karena kode itu berjalan dengan hak akses aplikasi yang rentan, RCE sering menjadi titik awal pengambilalihan server, pencurian data, hingga penyebaran ransomware. Artikel ini menjelaskan cara kerja RCE secara konseptual, penyebab yang paling sering muncul, dan cara mencegahnya.

Remote Code Execution (RCE) adalah kerentanan yang memungkinkan penyerang menjalankan kode di sistem milik orang lain dari jarak jauh, biasanya lewat jaringan, tanpa akses fisik. Karena kode itu berjalan dengan hak akses aplikasi yang rentan, RCE sering menjadi titik awal pengambilalihan server, pencurian data, hingga penyebaran ransomware. Artikel ini menjelaskan cara kerja RCE secara konseptual, penyebab yang paling sering muncul, dan cara mencegahnya.

Apa Itu Remote Code Execution (RCE)?

Inti RCE adalah membuat program menjalankan sesuatu yang tidak dimaksudkan pembuatnya. Aplikasi seharusnya hanya menjalankan kodenya sendiri, dan memperlakukan input dari luar sebagai data. Ketika batas itu bocor, input yang dikendalikan penyerang berubah menjadi perintah atau kode yang dieksekusi. Hasilnya bisa menjadi kendali penuh atas proses aplikasi, dan dari sana atas server dan jaringan di sekitarnya.

Karena dampaknya, kerentanan RCE hampir selalu diberi skor keparahan tinggi dan menjadi prioritas utama tambalan. Skor tersebut biasanya dibaca lewat CVSS, yang dijelaskan di panduan membaca skor CVSS, dan kerentanannya tercatat dengan nomor CVE seperti dibahas di artikel tentang CVE.

Penyebab Umum RCE

RCE bukan satu teknik tunggal. Ia adalah hasil akhir dari berbagai cacat pemrograman dan konfigurasi:

  • Command injection: aplikasi menyusun perintah sistem operasi dari input pengguna. OWASP menyarankan menghindari pemanggilan perintah OS secara langsung dan memakai fungsi pustaka bawaan bahasa pemrograman.
  • Code injection: input pengguna masuk ke fungsi yang menafsirkan kode, seperti eval() pada PHP, atau ke mekanisme yang memuat berkas dari luar. OWASP menyebut kategori ini hanya dibatasi oleh kemampuan bahasa yang disuntikkan.
  • Insecure deserialization: aplikasi membangun kembali objek dari data tidak tepercaya memakai format serialisasi bawaan bahasa. Cheat sheet OWASP tentang deserialisasi menyebut RCE sebagai salah satu akibatnya, dan memberi contoh bahwa memuat data pickle yang tidak tepercaya di Python dapat mengeksekusi kode sembarang.
  • Kerentanan pustaka dan komponen pihak ketiga: cacat di pustaka yang dipakai banyak aplikasi menjadikan RCE masalah rantai pasok sekaligus. Ini sejalan dengan naiknya kategori Software Supply Chain Failures di OWASP Top 10 2025.
  • Kesalahan konfigurasi: layanan administrasi yang terbuka ke internet, kredensial bawaan, atau fitur unggah berkas yang tidak dibatasi. Lihat pembahasan security misconfiguration.

Kerentanan injection lain, seperti SQL injection, dalam kondisi tertentu juga dapat meningkat menjadi eksekusi kode, bergantung pada fitur basis data dan hak akses akun yang dipakai.

Contoh Nyata: Log4Shell

Kasus yang paling sering dijadikan pelajaran adalah Log4Shell, kerentanan CVE-2021-44228 pada pustaka logging Apache Log4j. Menurut panduan CISA, cacat ini berada pada cara fitur JNDI pustaka tersebut menyelesaikan variabel, dan memungkinkan penyerang tanpa autentikasi mengambil alih sistem yang terdampak dengan permintaan yang dirancang khusus. CISA menyebutnya kritis dan mencatatnya dalam Known Exploited Vulnerabilities Catalog. Versi yang terdampak adalah Log4j 2.0-beta9 sampai 2.14.1.

Pelajarannya bagi organisasi bukan sekadar menambal satu versi. Banyak tim awalnya tidak tahu apakah mereka memakai Log4j, karena pustaka itu tertanam di dalam produk lain. CISA menganjurkan memprioritaskan sistem yang menghadap internet, mengidentifikasi instans rentan, memeriksa tanda kompromi pada log, dan menyusun manajemen kerentanan jangka panjang termasuk untuk perangkat lunak buatan sendiri dan layanan cloud.

Cara Mencegah RCE

  1. Jangan memperlakukan input sebagai kode. Hindari eval() dan sejenisnya. Bila perlu memanggil perintah OS, pakai API pustaka atau mekanisme yang memisahkan perintah dari argumen, dan validasi dengan allow-list.
  2. Hindari deserialisasi data tidak tepercaya. Pilih format data murni seperti JSON, tandatangani pesan, dan batasi tipe objek yang boleh dibuat.
  3. Kelola pembaruan dan inventaris perangkat lunak. Catat pustaka dan versi yang dipakai di setiap aplikasi, pantau pengumuman keamanan, dan tambal komponen yang menghadap internet lebih dulu.
  4. Terapkan hak akses minimum. Jalankan aplikasi dengan akun yang hanya memiliki izin seperlunya, di wadah atau lingkungan terisolasi, sehingga eksekusi kode tidak otomatis berarti kendali penuh.
  5. Batasi unggahan berkas dan paparan layanan. Periksa tipe dan lokasi simpan berkas unggahan, dan jangan membuka panel administrasi atau layanan internal ke internet tanpa kontrol akses.
  6. Segmentasikan jaringan dan filter lalu lintas keluar. Ini mempersulit penyerang menghubungi server luar atau berpindah ke sistem lain setelah berhasil menjalankan kode.
  7. Pasang pemantauan. WAF, EDR, dan log yang dikumpulkan secara terpusat membantu menangkap proses atau koneksi keluar yang tidak lazim.

Bila organisasi sudah terlanjur menjadi korban, ikuti prosedur incident response: isolasi sistem, kumpulkan bukti, bersihkan, lalu tutup celah awalnya. Pengujian apakah sebuah sistem rentan RCE hanya boleh dilakukan atas izin tertulis pemilik sistem. Akses tanpa hak ke sistem elektronik orang lain melanggar Pasal 332 KUHP.

Pertanyaan yang Sering Diajukan

Apakah RCE sama dengan command injection?

Tidak persis. Command injection adalah salah satu penyebab RCE. RCE adalah akibatnya, yaitu kemampuan menjalankan kode dari jauh, yang juga bisa muncul dari deserialisasi tidak aman, cacat pustaka, atau kelemahan lain.

Apa dampak terburuk dari RCE?

Penyerang dapat mengambil alih server, mencuri atau merusak data, memasang malware, dan bergerak ke sistem lain di jaringan yang sama. Karena itu RCE sering dijadikan pintu masuk ransomware.

Apakah menambal rutin cukup untuk mencegah RCE?

Menambal sangat penting, tetapi tidak cukup sendirian. Kerentanan zero-day belum punya tambalan saat diketahui, sehingga pertahanan berlapis seperti hak akses minimum, segmentasi, dan pemantauan tetap dibutuhkan. Konsep ini dibahas di kerentanan zero-day.

Bagaimana cara belajar mengenali RCE secara legal?

Pelajari konsep dan pola kodenya, lalu berlatih di lab pribadi atau platform latihan yang sah. Jangan mencoba pada sistem pihak lain tanpa izin.

Kesimpulan

RCE berbahaya karena mengubah satu cacat kecil menjadi kendali penuh atas sistem. Pencegahannya bertumpu pada disiplin dasar: input diperlakukan sebagai data, komponen selalu diperbarui, hak akses diminimalkan, dan pemantauan berjalan. Jika organisasi Anda ingin menilai paparan RCE pada aplikasi dan infrastrukturnya, tim Linuxhackingid menyediakan layanan pengujian dan keamanan untuk organisasi yang dilakukan dengan izin tertulis dan laporan yang dapat ditindaklanjuti.

Setiap artikel ditinjau pimpinan praktik yang menangani pekerjaannya sebelum terbit.

Semua wawasan

ARTIKEL LAINNYA

terbaru dulu
WEB APP SECURITY
October 29, 20267 baca

Cross-Site Scripting (XSS): Pengertian, Jenis, dan Cara Mencegahnya

XSS atau cross-site scripting adalah celah keamanan yang membuat sebuah situs menampilkan skrip buatan pihak lain seolah-olah skrip itu bagian dari situs tersebut. Skrip itu kemudian berjalan di browser pengunjung dengan hak yang sama seperti kode resmi situs. Berikut pengertian, jenis, dan langkah pencegahan XSS yang dapat langsung diterapkan oleh pengembang maupun pemilik situs.

Ditulis oleh Muhammad Abdul Malik & Tim AppSec Linuxhackingid | Spesialis Keamanan Aplikasi Web & Jaringan
WEB APP SECURITY
October 29, 20267 baca

Keamanan API: Risiko Umum dan Cara Mengamankannya

Keamanan API semakin penting karena hampir semua aplikasi modern, dari aplikasi seluler sampai integrasi antarlayanan, bertukar data lewat API. Berbeda dengan halaman web yang dilihat manusia, API langsung membuka data dan fungsi bisnis ke siapa pun yang bisa memanggilnya. Artikel ini membahas risiko yang paling umum menurut OWASP dan kontrol praktis untuk mengamankannya.

Ditulis oleh Muhammad Abdul Malik & Tim AppSec Linuxhackingid | Spesialis Keamanan Aplikasi Web & Jaringan
WEB APP SECURITY
October 29, 20267 baca

Cara Mengamankan Website WordPress

Keamanan WordPress menjadi perhatian utama karena platform ini sangat luas dipakai dan karenanya terus diincar penyerang. Kabar baiknya, inti WordPress relatif jarang bermasalah; sumber risiko terbesar justru plugin, akun pengguna, dan konfigurasi hosting yang bisa Anda kendalikan sendiri. Panduan ini merangkum langkah pengamanan yang praktis, dari dasar sampai pemantauan.

Ditulis oleh Muhammad Abdul Malik & Tim AppSec Linuxhackingid | Spesialis Keamanan Aplikasi Web & Jaringan

Dapatkan advisory berikutnya lebih dulu. Tanpa ringkasan, tanpa kebisingan.

Satu email ketika ada sesuatu yang benar-benar penting. Atau ikuti kanal komunitas kami.

Gabung Telegram

LANGKAH BERIKUTNYA

Bicara dengan operator, bukan meja penjualan.

Panggilan scoping singkat, lalu ruang lingkup, jadwal, dan biaya tertulis dalam 2 hari kerja.

METODOLOGI & KEPATUHAN
ISO 27001PCI-DSSOJKUU PDP