Apa itu payload (computing)?
Dalam komputasi, payload adalah kapasitas muatan dari sebuah paket atau unit data transmisi lainnya. Istilah ini awalnya berasal dari dunia militer, dan sering dikaitkan dengan kemampuan kode berbahaya (malicious executable code) untuk melakukan kerusakan. Istilah payload sendiri punya dua makna: data payload, yang terkait dengan proses pengiriman data di jaringan, dan malware payload, yaitu kode berbahaya yang digunakan untuk mengeksploitasi serta mengkompromikan jaringan dan sistem IT.
Data payload. Payload dari sebuah paket jaringan atau protocol data unit (PDU) adalah data yang ditransmisikan antar endpoint yang saling berkomunikasi. Protokol jaringan juga menentukan panjang maksimum yang diizinkan untuk sebuah payload. Payload ini kemudian dibungkus ke dalam sebuah paket yang berisi informasi seperti alamat media access control (MAC), data IP, tag quality of service, time-to-live, dan checksum.
Malware payload. Payload dalam konteks malware mengacu pada kode berbahaya yang dirancang untuk merusak target korban. Malware payload bisa disebarkan lewat metode seperti worm dan email phishing. Saat ini, penulis malware biasanya mengenkripsi payload agar kode berbahaya tidak mudah terdeteksi oleh antimalware atau tools mitigasi.
Contoh payload
Berikut adalah contoh dari data payload dan malware payload:
- IP packet data payload. Sebuah paket IP terdiri dari header Ethernet, IP, dan TCP. Informasi ini membantu paket mematuhi standar protokol komunikasi dan sampai ke tujuan di jaringan. Bagian payload dari paket berisi data yang ingin dikirim user atau device.
- Phishing malware payload. Dalam skenario ini, sebuah email phishing berisi virus self-replicating yang disimpan di dalam macro dari lampiran file Excel.
Bagaimana cara kerja payload pada paket IP?
Sebuah paket IP bisa berisi payload berupa perintah dari end user, misalnya permintaan konten web. Namun lebih sering, payload berisi data yang ditransmisikan server sebagai respon atas permintaan user. Batas payload pada PDU biasanya ditentukan oleh protokol, dan ukuran maksimum payload untuk sebuah PDU jarang berubah.
Batas payload dalam protokol jaringan penting karena memengaruhi performa. Misalnya, payload kecil membuat lebih banyak paket harus dibuat dan dikirim untuk sejumlah data. Sebaliknya, payload besar menghasilkan lebih sedikit paket, tetapi butuh jaringan yang cepat dan stabil agar data bisa dikirim tanpa delay akibat error atau kondisi jaringan sementara.
Ukuran maksimum payload ditentukan dengan mengurangi ukuran header (dan trailer, jika digunakan) dari Maximum Transmission Unit (MTU) protokol. MTU untuk paket IP berbeda-beda tergantung sistem dan jaringan. Standar IP awal (RFC 791) menyatakan semua host harus bisa menerima paket sebesar 576 byte dengan payload 512 byte dan 64 byte untuk header. Default MTU IPv4 saat ini adalah 1.500 byte agar kompatibel dengan Ethernet; tapi ukuran MTU bisa dikustom untuk tiap sistem.
Ukuran maksimum payload IP juga dibatasi oleh field Total Length di header IP. Field ini panjangnya 16 bit, sehingga nilai maksimalnya adalah 216, dengan ukuran paket terbesar 65.535 byte. Payload tidak bisa melebihi ukuran ini, dikurangi jumlah byte yang dipakai oleh header paket.
Bagaimana cara kerja malware payload?
Attacker biasanya memakai pendekatan dua fase untuk menembus sistem pertahanan. Caranya adalah dengan memisahkan payload (bagian yang menimbulkan kerusakan) dari infection vector. Dengan begitu, metode distribusi yang sudah terbukti efektif, seperti email phishing atau worm, bisa terus diadaptasi untuk mengantarkan payload berbahaya.
Berbeda dengan data payload, malware payload tidak punya batas kapasitas maksimum. Namun biasanya attacker menjaga ukurannya tetap kecil agar tidak mudah terdeteksi oleh tools antimalware berbasis endpoint maupun jaringan.
Hampir semua jenis malware bisa dikemas menjadi sebuah payload dengan bantuan payload generator untuk membuat executable malware. Baik attacker maupun penetration tester menggunakan payload generator untuk menanamkan malware ke dalam payload sebelum dikirim ke target. Salah satu proyek open source, Metasploit, menyediakan resource untuk riset celah keamanan, termasuk payload generator.
Payload generator menerima shellcode, yaitu potongan kode singkat yang menjalankan command shell di target, lalu membuat file binary executable untuk mendukung delivery payload.
Setelah dikirim dan dieksekusi, proses delivery payload akan menginfeksi sistem target — kecuali ada sistem antimalware yang berhasil mencegahnya. Payload bisa berisi berbagai jenis malware, termasuk ransomware, botnet, maupun jenis virus atau worm lainnya.
Pelajari perbedaan antara malware dan ransomware serta bagaimana masing-masing mengirimkan payload berbahaya.