Lompat ke konten

Pembuat Malware Beralih Ke Program LISP Seperti Deplhi Untuk Hindari Antivirus

Pembuat malware yang ingin menghindari analisis beralih ke bahasa pemrograman yang kurang populer seperti Delphi atau Haskell.

Ilmuwan komputer yang berafiliasi dengan Universitas Piraeus dan Pusat Penelitian Athena di Yunani dan Universitas Teknologi Delft di Belanda telah meneliti malware baru-baru ini untuk lebih memahami mengapa beberapa di antaranya terlewatkan oleh analisis statis – teknik pengujian perangkat lunak untuk memahami kode tanpa mengeksekusinya.

Para penulis – Theodoros Apostolopoulos, Vasilios Koutsokostas, Nikolaos Totosis, Constantinos Patsakis, dan Georgios Smaragdakis – menjelaskan temuan mereka dalam makalah pracetak berjudul, “Meng-coding Malware dalam Bahasa Pemrograman Mewah untuk Keseruan dan Keuntungan.”

Ada banyak sekali malware – hampir 26 juta contoh kode berbahaya yang baru pada tahun 2025, menurut penguji antivirus AV-TEST. Dan salah satu cara utama untuk mengidentifikasi kode jahat adalah analisis statis.

Para pembuat malware mengetahui hal ini dan banyak yang berusaha untuk mengaburkan kode mereka atau menerapkan teknik anti-sandboxing atau anti-debugging.

Salah satu cara untuk melakukannya adalah dengan menggunakan bahasa pemrograman yang tidak banyak digunakan untuk malware, yang cenderung ditulis dalam bahasa C atau C++.

“Selama bertahun-tahun, kelompok ransomware telah beralih ke bahasa yang lebih baru dan tidak konvensional untuk membuat rekayasa balik dan pendeteksian menjadi lebih sulit,” para penulis mengamati. “Selain itu, berbagai pelaku ancaman telah menggunakan pendekatan ini, menggunakan berbagai macam bahasa pemrograman dan teknik untuk mengaburkan kode berbahaya mereka.”

Mereka menunjukkan bagaimana para peneliti keamanan membenci binari Visual Basic 6 karena kerumitan dalam merekayasa balik perangkat lunak, adanya lapisan kebingungan Lua pada malware Flame 2012, dan virus Grip, yang berisi penerjemah Brainfuck yang dikodekan dalam bahasa Assembly untuk menghasilkan kode kuncinya, sebagai contoh.

“Meskipun malware yang ditulis dalam bahasa C terus menjadi yang paling umum, operator malware, terutama kelompok ancaman yang dikenal seperti APT29, semakin banyak menyertakan bahasa pemrograman malware yang tidak umum dalam gudang senjata mereka,” tulis mereka.

“Misalnya, APT29 baru-baru ini menggunakan Python dalam malware Masepie mereka melawan Ukraina, sementara dalam malware Zebrocy mereka, mereka menggunakan campuran Delphi, Python, C#, dan Go. Demikian juga, ransomware Akira bergeser dari C++ ke Rust, ransomware BlackByte bergeser dari C# ke Go, dan Hive dialihkan ke Rust.”

Sampai batas tertentu, ini hanyalah variasi keamanan melalui ketidakjelasan – ketika semakin sedikit orang yang mengenal bahasa tertentu, semakin sedikit deteksi manual yang dapat diharapkan dan alat otomatis akan memiliki lebih sedikit sampel.

Tetapi mekanisme deteksi otomatis berdasarkan tanda tangan malware yang teridentifikasi tidak akan berfungsi jika malware tersebut telah ditulis ulang dalam bahasa yang berbeda.

Dan beberapa bahasa seperti Haskell dan Lisp, menurut para peneliti, menggunakan model eksekusi yang berbeda dengan malware yang dikembangkan dalam bahasa C. Bahasa lain, seperti Dart dan Go, dapat menambahkan sejumlah besar fungsi ke dalam eksekusi sebagai bagian dari lingkungan standarnya, sehingga membuat program yang sederhana menjadi rumit.

Untuk lebih memahami mengapa bahasa tertentu lebih sulit dianalisis daripada bahasa lainnya, para peneliti memeriksa hampir 400.000 eksekusi Windows yang dapat dieksekusi dari Malware Bazaar.

Mereka tidak hanya menemukan bahwa bahasa pemrograman yang digunakan memengaruhi tingkat deteksi malware tetapi juga bahwa pilihan kompilator membuat perbedaan. “Meskipun orang akan mengharapkan bahasa pemrograman yang kurang digunakan, misalnya Rust dan Nim, memiliki tingkat deteksi yang lebih buruk karena jarangnya sampel tidak memungkinkan pembuatan aturan yang kuat, penggunaan kompiler yang tidak banyak digunakan, misalnya Pelles C, Embarcadero Delphi, dan Tiny C, memiliki dampak yang lebih besar pada tingkat deteksi,” kata mereka.

Setelah melihat kumpulan data yang lebih terbatas yang berfokus pada APT (ancaman persisten tingkat lanjut), para peneliti mengatakan bahwa jelas bahwa seiring berjalannya waktu, penulis APT telah mendiversifikasi pilihan bahasa pemrograman dan kompiler mereka.

Salah satu cara para peneliti meneliti perbedaan malware di seluruh bahasa pemrograman adalah dengan menilai seberapa baik binari menolak pencocokan pola shellcode – proses mencari kumpulan instruksi berbahaya.

Hasilnya menunjukkan variasi yang signifikan di seluruh bahasa dan menggarisbawahi mengapa malware lebih mudah ditemukan dalam bahasa yang lebih umum. “Sampel yang ditulis dalam bahasa seperti C dan C++ mempertahankan, biasanya, semua byte shellcode dalam urutan berurutan atau memiliki jarak yang tetap di antara byte, yang mengarah pada deteksi yang relatif mudah,” kata para penulis. “Namun, bahasa-bahasa lain menunjukkan fragmentasi byte yang signifikan dan variasi tata letak memori, sehingga menyulitkan pendeteksian statis.”

Mereka menyebutkan Rust, Phix, Lisp, dan Haskell sebagai bahasa yang mendistribusikan byte shellcode secara tidak teratur atau dengan cara yang tidak jelas.

Ada alasan lain mengapa bahasa yang kurang populer dapat membuat malware lebih sulit diidentifikasi, seperti kompleksitas fungsi yang dieksekusi, jumlah panggilan tidak langsung dan lompatan yang dieksekusi, serta jumlah utas yang ditelurkan.

“Malware sebagian besar ditulis dalam bahasa C/C++ dan dikompilasi dengan kompiler Microsoft,” penulis menyimpulkan. “Namun … pekerjaan kami secara praktis menunjukkan bahwa dengan mengalihkan basis kode ke bahasa pemrograman atau kompiler lain yang lebih jarang digunakan, pembuat malware dapat secara signifikan menurunkan tingkat deteksi binari mereka tetapi secara bersamaan meningkatkan upaya rekayasa balik dari para analis malware.”

Dengan demikian, penulis berpendapat, kode dalam bahasa pemrograman yang kurang populer layak mendapatkan lebih banyak perhatian dalam komunitas keamanan dan alat deteksi yang lebih relevan