Selama lebih dari satu dekade, taktik baku perangkat perusak perbankan pada sistem operasi Android bertumpu pada satu tipu muslihat visual sederhana: serangan jendela tiruan atau overlay. Aplikasi berbahaya, setelah membujuk korbannya memberikan izin Aksesibilitas (Accessibility), mengintai gerak-gerik sistem operasi dengan cermat. Begitu pengguna menyentuh ikon aplikasi perbankan mereka, malware langsung bereaksi kilat: menampilkan antarmuka masuk palsu persis di atas jendela aplikasi asli. Bagi pengguna awam, bank mereka tampak sedang meminta nama pengguna dan kata sandi seperti biasa. Padahal dalam kenyataannya, ketukan tombol mereka tengah diserap oleh pengintai tak kasatmata yang bertengger di lapisan kaca teratas. Industri keamanan siber dan para perancang sistem operasi merespons taktik ini dengan heuristik agresif: mendeteksi jendela overlay, menandai aplikasi pihak ketiga yang menyalahgunakan izin aksesibilitas, serta mematikan proses liar sebelum sempat membayangi aplikasi finansial resmi.
Pertarungan kucing dan tikus itu berpijak pada satu asumsi mendasar yang membentuk benteng pertahanan gawai modern: selama aplikasi perbankan asli berjalan di dalam kotak pasir (sandbox) miliknya sendiri, logika internal aplikasi tersebut dianggap dapat dipercaya untuk mempertahankan diri. Jika aplikasi memeriksa tanda tangan kriptografisnya sendiri, memindai daftar layanan aksesibilitas yang aktif, atau meminta penilaian integritas dari Google Play Integrity API, jawaban yang dikirim kembali ke peladen bank diasumsikan sebagai laporan jujur dari klien yang bersih.
Pada pertengahan Oktober 2026, firma riset keamanan siber ThreatFabric merilis laporan teknis yang meruntuhkan asumsi tersebut sampai ke akarnya. Para peneliti mengungkap kehadiran trojan perbankan Android generasi baru bernama Hirudo. Alih-alih bersusah payah mengakali pembatasan aksesibilitas Android atau melukis jendela palsu di atas aplikasi bank yang sedang aktif, Hirudo menempuh jalur radikal yang belum pernah dilakukan malware perbankan massal sebelumnya: ketika mendeteksi target perbankan di ponsel korban, ia menampilkan pemberitahuan pembaruan palsu, memicu pencopotan (uninstaller) aplikasi bank resmi dari sistem operasi, lalu langsung memasang berkas tiruan yang telah dimodifikasi.
Aplikasi tiruan ini menyandang nama paket (package name) dan nomor versi yang persis sama dengan rilis resmi bank, namun lingkungan eksekusinya telah dirombak total dari dalam. Dengan menyuntikkan mesin pembajak fungsi dinamis (dynamic hooking engine) ke dalam kode inisialisasi awal aplikasi, Hirudo mengubah aplikasi bank menjadi sekutu yang mengkhianati sistem keamanannya sendiri. Saat kode aplikasi memanggil sistem Android untuk memverifikasi tanda tangan digitalnya, mesin pembajak menjawab dengan sertifikat resmi milik bank. Saat aplikasi memindai layanan aksesibilitas yang mencurigakan, mesin pembajak mengembalikan daftar kosong. Saat aplikasi meminta pengujian token integritas perangkat keras, lalu lintas datanya diam-diam dialihkan melintasi infrastruktur penyerang.
Pergeseran taktik ini membawa dampak luas yang melampaui sekadar infeksi malware biasa. Hirudo menandai berakhirnya era kepercayaan pada verifikasi keamanan di sisi klien (client-side trust) dalam industri perbankan digital. Kasus ini membuktikan bahwa aplikasi yang dieksekusi di dalam lingkungan yang telah dikuasai atau dimanipulasi oleh lawan mustahil dapat menjadi saksi yang jujur untuk membela keamanannya sendiri. Memahami cara kerja Hirudo, alasan mengapa ia memilih perbankan Indonesia sebagai laboratorium uji coba utamanya, serta bagaimana rekayasa keamanan aplikasi seluler harus berbenah menghadapi paradigma baru ini adalah ujian krusial bagi ekosistem keuangan digital pada 2026.
๐ฑ Ilusi Layar yang Mulus
Evolusi perangkat perusak finansial di Android selalu berjalan beriringan dengan pengetatan izin keamanan pada sistem operasi tersebut. Pada masa-masa awal kehadiran perbankan ponsel, ancaman malware masih sangat primitif: berupa pembajak pesan SMS verifikasi dan pencuri data formulir yang mengandalkan izin sistem yang longgar. Ketika Google memperketat isolasi proses aplikasi sepanjang dekade 2010-an, para operator malware beramai-ramai beralih memanfaatkan Layanan Aksesibilitas Android. Layanan ini awalnya dirancang untuk membantu pengguna berkebutuhan khusus lewat pembaca layar dan kendali otomatis, namun fitur ini justru disalahgunakan menjadi kunci pembuka pintu bagi trojan Android. Memanfaatkan izin aksesibilitas, keluarga malware seperti SharkBot, Anatsa, dan Vultur leluasa membaca teks di layar kaca, menyuntikkan ketukan buatan, serta menggambar jendela tiruan yang menyerupai halaman masuk perbankan asli.
Meski demikian, strategi jendela tiruan menyimpan kelemahan bawaan yang perlahan berhasil diendus oleh sistem pertahanan modern. Serangan overlay pada hakikatnya merupakan operasi luar. Ia membutuhkan dua proses terpisah yang saling berinteraksi melalui pengelola jendela Android (Window Manager). Aplikasi perbankan modern mulai menerapkan pemeriksaan internal: menyematkan bendera pengaman layar agar tangkapan layar terblokir, memeriksa hierarki tampilan dari sentuhan tersembunyi, serta memindai apakah ada aplikasi pihak ketiga yang memegang izin aksesibilitas aktif. Di sisi lain, Google mulai membatasi aksesibilitas bagi aplikasi yang dipasang di luar toko resmi, sementara Play Protect dibekali kemampuan mendeteksi aplikasi yang mendadak meminta izin aksesibilitas sesaat setelah dipasang.
Bagi pembuat malware, biaya operasional untuk mempertahankan taktik jendela tiruan kian hari kian mahal. Tingkat deteksi melonjak tajam, dan aplikasi finansial resmi semakin sering menolak berjalan apabila mengendus adanya layanan tak dikenal yang mengawasi layar ponsel. Para penyerang membutuhkan cara baru untuk melumpuhkan benteng pertahanan ini, bukan dengan menyerang dari luar, melainkan dengan melucutinya dari dalam.
Inilah lompatan taktik yang diwujudkan oleh Hirudo. Alih-alih hadir sebagai entitas asing yang memantau aplikasi bank dari luar sistem, Hirudo justru menyusup dan menyatu ke dalam tubuh aplikasi bank itu sendiri. Melalui penggantian seluruh paket aplikasi dengan salinan yang telah dipasangi kode modifikasi, trojan ini tidak lagi memerlukan manipulasi visual. Korban tidak berhadapan dengan layar palsu yang menindih aplikasi asli; mereka berinteraksi langsung dengan aplikasi perbankan resmi yang dikompilasi dari kode sumber bank, menampilkan desain visual asli bank, dan terhubung ke peladen produksi milik bank. Satu-satunya perbedaan fatal adalah lingkungan eksekusi di dalam aplikasi tersebut telah dipalsukan secara menyeluruh.
Penyebaran awal infeksi ini berlangsung melalui aplikasi pembawa (dropper) yang tampak wajar bagi pengguna umum. Tim peneliti ThreatFabric menemukan bahwa operator Hirudo menyamarkan muatan jahat mereka di dalam aplikasi konsumen yang menyajikan fungsi hiburan instan: portal belanja daring, platform pemutar video drama pendek, dan aplikasi video dewasa. Aplikasi pembawa ini bukan sekadar jebakan sederhana. Mereka memuat komponen penjelajah web asli yang menyajikan konten sungguhan, sehingga pengguna dapat melihat produk dagangan atau menonton cuplikan video tanpa menaruh curiga. Di balik tiruan yang meyakinkan tersebut, aplikasi pembawa diam-diam menjalankan fungsi pemindaian sistem.
Aplikasi pembawa ini meminta izin notifikasi dan izin aksesibilitas, kerap kali dibungkus dengan dalih optimasi pemutaran video atau penyesuaian tata letak antarmuka. Begitu aksesibilitas disetujui pengguna, aplikasi pembawa segera menanyai pengelola paket Android untuk menyusun daftar lengkap seluruh aplikasi finansial yang terpasang di dalam ponsel tersebut.
๐ Jebakan Pencopotan Aplikasi Paksa
Ketika Hirudo menemukan aplikasi perbankan yang menjadi sasarannya, ia langsung terbentur pada aturan kriptografis paling ketat di sistem Android: verifikasi tanda tangan digital berkas APK. Android menerapkan kebijakan konsistensi tanda tangan secara kaku. Saat sebuah pembaruan aplikasi hendak dipasang, pengelola paket akan memeriksa apakah sertifikat digital pada berkas APK baru cocok dengan sertifikat aplikasi lama yang sudah tertanam di memori. Jika kedua sertifikat tidak identik, Android seketika membatalkan pemasangan dengan memunculkan pesan galat pembaruan tidak kompatibel.
Karena komplotan peretas Hirudo tidak memegang kunci privat milik bank resmi, mereka mustahil membuat berkas pembaruan yang dapat diterima Android untuk menimpa instalasi yang sah. Berkas APK hasil modifikasi yang ditandatangani memakai kunci uji coba pengembang tidak akan pernah bisa berdampingan atau menimpa aplikasi asli. Satu-satunya jalan agar berkas tiruan tersebut bisa tertanam adalah dengan menghapus aplikasi perbankan asli secara bersih dari sistem ponsel.

Demi melancarkan aksi ini tanpa memicu kecurigaan korban, Hirudo merancang skenario rekayasa sosial yang berjalan serempak. Pertama, aplikasi pembawa memunculkan kotak pesan darurat bergaya sistem yang memberitahukan bahwa aplikasi mobile banking pengguna memerlukan pembaruan keamanan wajib demi mematuhi regulasi perbankan baru atau pemeliharaan sistem utama. Sebelum korban sempat meneliti keaslian pesan tersebut, Hirudo menggunakan kuasa aksesibilitasnya untuk memanggil jendela pencopotan resmi Android bagi aplikasi bank yang menjadi sasaran.
Pada sistem Android normal, mencopot aplikasi menuntut ketukan konfirmasi sadar dari pemilik ponsel. Otomatisasi aksesibilitas Hirudo mengatasi batasan ini dengan sangat cepat. Dalam beberapa varian kampanye yang diamati, trojan langsung mengeksekusi perintah pencopotan dan secara otomatis menekan tombol konfirmasi melalui aksesibilitas sebelum pengguna menyadari apa yang sesungguhnya terjadi di layar mereka. Pada saat yang bersamaan, aplikasi pembawa membuka sambungan data di latar belakang untuk mengunduh berkas APK tiruan yang sudah dirancang khusus bagi lembaga keuangan tersebut.
Guna melindungi proses pengunduhan dan pemasangan ini dari radar pemindai keamanan, Hirudo menerapkan trik manipulasi jaringan lokal yang cerdik. Selama proses instalasi berjalan, aplikasi pembawa dapat membentuk sambungan jaringan privat virtual (VPN) lokal yang sengaja dibuat buntu. Dengan menciptakan antarmuka VPN loopback tanpa tabel perutean data yang berfungsi, malware memutus akses internet ponsel selama beberapa detik krusial saat berkas APK tiruan sedang diekstrak dan dipasang oleh sistem Android.
Pemadaman koneksi sesaat ini dirancang dengan tujuan pertahanan yang terukur: melumpuhkan mekanisme pemindaian awan milik Google Play Protect secara seketika. Saat sebuah aplikasi dipasang dari luar toko resmi, Play Protect berupaya mengirimkan data telemetri, sidik jari kode, dan profil perilaku aplikasi ke peladen Google untuk dinilai reputasinya. Dengan mencekik soket jaringan selama pemasangan, Hirudo memperbesar peluang bagi pemasang lokal untuk mengandalkan heuristik pengujian memori luring, sehingga paket tiruan berhasil terpasang tuntas tanpa sempat memicu peringatan pemblokiran dari awan. Begitu instalasi selesai, VPN buntu dibongkar, koneksi internet normal kembali, dan aplikasi bank tiruan telah siap dijalankan di layar beranda ponsel korban.
๐งฌ Satu Baris Kode di Kelas Application
Faktor yang membuat Hirudo sangat berbahaya dari sudut pandang rekayasa perangkat lunak adalah betapa minimnya perubahan yang dilakukan terhadap kode sumber asli bank. Peretas yang berupaya membongkar ulang aplikasi korporat yang rumit kerap kali menemui kegagalan stabilitas. Ketika berkas APK didekompilasi, diubah secara besar-besaran, lalu dirakit ulang memakai alat pengembang, pemetaan kode yang disamarkan (obfuscation) bisa rusak, tautan pustaka biner bisa terputus, dan pemanggilan sumber daya dinamis sering kali menyebabkan aplikasi mendadak mogok (crash) saat dibuka.
Hirudo sama sekali terhindar dari kendala kestabilan tersebut. Hasil telaah mendalam terhadap berkas tiruan yang didekompilasi oleh ThreatFabric membuktikan bahwa peretas tidak menyentuh logika transaksi, menu rekening, atau tata letak antarmuka perbankan. Mereka hanya menambahkan tepat satu baris pemanggilan kode di dalam kelas induk Application milik bank, persis di bagian awal siklus hidup inisialisasi aplikasi.
Satu baris pemanggilan pustaka biner native tersebut bertugas memuat kerangka kerja pembajak runtime yang dibangun dari dua pustaka terbuka terkemuka: YAHFA (Yet Another Hook Framework for Android) dan Dobby. YAHFA bertugas memanipulasi pemanggilan fungsi Java dan lingkungan eksekusi Dalvik atau ART secara dinamis, memungkinkan metode program dicegat dan diubah perilakunya sebelum atau sesudah dieksekusi. Sementara itu, Dobby bekerja di lapisan biner native, bertugas mencegat fungsi C dan C++ pada pustaka bersama (.so) yang dimuat ke dalam ruang memori aplikasi.
Keunggulan taktis Hirudo terletak pada mekanisme pemicu tidurnya (dormant trigger). Pustaka biner pembajak yang disuntikkan tersebut tidak langsung aktif mengotak-atik sistem saat aplikasi pertama kali dijalankan. Apabila seorang analis keamanan atau mesin penguji otomatis menjalankan berkas APK tiruan tersebut di lingkungan tertutup (sandbox), mesin pembajak akan bersikap pasif sepenuhnya. Ia hanya bertugas memeriksa keberadaan sebuah berkas pemicu khusus yang sengaja ditulis ke memori eksternal oleh aplikasi pembawa pendampingnya.
Bila berkas penanda tersebut tidak ditemukan, mesin pembajak menghentikan inisialisasinya secara senyap. Aplikasi perbankan pun melenggang menjalankan kode aslinya, menampilkan pesan galat koneksi normal, dan tidak memunculkan satu pun perilaku mencurigakan yang biasa dicari oleh sistem deteksi ancaman otomatis. Hanya ketika aplikasi bank tiruan memastikan bahwa ia tengah berjalan di ponsel korban bersama dengan aplikasi pengendali jahatnya, barulah mesin pembajak bangkit dan mengambil alih kendali proses secara penuh.
๐ญ Arsitektur Kepalsuan yang Terorganisir
Begitu terbangun di dalam proses perbankan, mesin YAHFA dan Dobby membangun lapisan kenyataan semu yang menyelubungi komunikasi antara aplikasi bank dan sistem operasi Android. Aplikasi merasa sedang berbicara dengan sistem operasi yang bersih dan aman, sementara Android mengira sedang melayani aplikasi perbankan resmi yang patuh pada aturan keamanan.
Mekanisme pertahanan utama yang lazim ditanamkan pada aplikasi mobile banking adalah pemeriksaan tanda tangan digital secara mandiri. Saat dibuka, aplikasi finansial yang dirancang dengan baik akan memanggil antarmuka pengelola paket sistem operasi untuk memeriksa data tanda tangan digitalnya sendiri. Jika sidik jari sertifikat yang dikembalikan oleh sistem operasi berbeda dengan kunci publik resmi yang telah dipatok mati di dalam kode program, aplikasi akan langsung menutup diri karena menduga berkasnya telah dimodifikasi atau dibajak pihak luar.
Hirudo melumpuhkan pemeriksaan ini secara telak melalui pembajakan fungsi program. YAHFA menempatkan pencegat inline pada fungsi getPackageInfo di pengelola paket aplikasi. Kapan pun kode keamanan bank meminta rincian sertifikat instalasi, pencegat tersebut mengambil alih nilai kembali fungsi tersebut. Alih-alih menyerahkan sertifikat uji coba yang sesungguhnya dipakai menandatangani berkas tiruan di memori penyimpanan, mesin pembajak mengembalikan data sertifikat digital asli milik bank, yang sebelumnya telah disalin oleh peretas dari rilis resmi di Google Play Store dan disimpan rapi di dalam muatan trojan.
Tipu daya ini merambah hingga ke pemantauan layanan aksesibilitas. Agar bank tidak mencurigai bahwa aplikasi pembawa sedang memantau gerak-gerik layar, Hirudo membajak fungsi sistem yang melaporkan status aksesibilitas perangkat. Saat aplikasi bank memeriksa daftar layanan aksesibilitas yang aktif di ponsel, mesin pembajak menyaring daftar tersebut dan menghapus entri apa pun yang berkaitan dengan trojan atau aplikasi pembawanya. Pengelola keamanan bank membaca daftar bersih tersebut, menyimpulkan tidak ada ancaman pengintai layar yang aktif, lalu menonaktifkan perimeter perlindungan overlay internalnya.
Pada saat yang sama, mesin pembajak melucuti pelindung visual aplikasi. Aplikasi finansial standar melindungi kerahasiaan informasi sensitif seperti nomor kartu, saldo rekening, dan kolom kata sandi dengan menyematkan bendera jendela aman (secure window flag) pada antarmukanya. Bendera ini memerintahkan komposit pengelola layar sistem operasi untuk memblokir fungsi tangkapan layar, mencegah aplikasi lokal merekam tampilan, serta membuat perangkat lunak kendali jarak jauh hanya menangkap layar hitam pekat.
Hirudo memanfaatkan Dobby untuk mencegat pemanggilan fungsi penyetel bendera jendela di lapisan native. Ketika aplikasi bank mengirimkan perintah penyematan bendera aman, mesin pembajak menyaring parameter tersebut sehingga perintah pengamanan tidak pernah sampai ke sistem pengelola jendela Android. Bagi kode program bank, perintah pengamanan dianggap telah berhasil dieksekusi tanpa kendala. Namun bagi sistem operasi ponsel, bendera pengaman layar tersebut tidak pernah aktif. Akibatnya, operator malware dapat leluasa menyiarkan rekaman video resolusi tinggi dari aktivitas perbankan korban ke peladen komando mereka, merekam nomor PIN, masukan autentikasi biometrik, hingga kode sandi sekali pakai (OTP) yang masuk melalui SMS tepat saat angka-angka itu tampil di layar.
๐ก๏ธ Relai Play Integrity dan Rapuhnya Pengujian Perangkat
Guna membendung maraknya manipulasi aplikasi di tingkat perangkat, ekosistem Android kian bertumpu pada Google Play Integrity API. Layanan ini dihadirkan khusus untuk memecahkan persoalan kepercayaan terhadap integritas klien. Alih-alih membiarkan aplikasi menguji dirinya sendiri, Play Integrity menyerahkan penilaian keamanan kepada Google Play Services dan modul perangkat keras terisolasi seperti ARM TrustZone atau cip pengaman fisik mandiri.
Layanan ini menghasilkan sebuah token terenkripsi yang memuat tiga kesimpulan utama:
- Penilaian lisensi aplikasi: memastikan apakah aplikasi resmi diunduh melalui Google Play Store.
- Penilaian integritas aplikasi: memastikan apakah biner aplikasi yang sedang berjalan cocok secara persis dengan sidik jari berkas yang didaftarkan pengembang di konsol Google Play.
- Penilaian integritas perangkat: memastikan apakah aplikasi berjalan di perangkat Android tersertifikasi dengan bootloader terkunci dan pengaman perangkat keras yang utuh.
Secara teori, Play Integrity semestinya mampu menghentikan sepak terjang Hirudo seketika. Karena aplikasi bank tiruan ditandatangani memakai kunci uji coba dan dipasang lewat aplikasi pembawa ilegal, panggilan uji integritas resmi semestinya membuahkan status versi tidak dikenal atau aplikasi tidak berlisensi, yang seharusnya membuat peladen bank menolak sesi transaksi.

Temuan ThreatFabric membeberkan bagaimana operator Hirudo mengakali benteng ini. Bukan dengan meretas algoritma kriptografi milik Google, melainkan dengan mengeksploitasi cacat perancangan arsitektur yang lazim dilakukan oleh institusi perbankan: melakukan evaluasi token di sisi ponsel dan mengabaikan pengikatan sesi transaksi.
Saat aplikasi bank tiruan memulai prosedur pemeriksaan integritas, mesin pembajak langsung mencegat permintaan jaringan tersebut. Alih-alih membiarkan Google Play Services lokal menghasilkan token yang diuji perangkat keras ponsel, Hirudo mengalirkan permintaan tersebut melintasi protokol HTTP biasa ke peladen atestasi eksternal yang dikendalikan oleh komplotan peretas. Peladen penyerang ini bertindak layaknya perantara integritas palsu.
Penyelidikan forensik ThreatFabric menyingkap temuan yang lebih mencengangkan mengenai infrastruktur perantara penyerang tersebut. Peladen penyerang ternyata memanfaatkan basis kunci perangkat keras (keybox) bocor yang beredar di internet untuk menyusun struktur penilaian integritas palsu. Padahal, Google sudah mendeteksi kebocoran kunci tersebut dan telah mencabut dua sertifikat utamanya dari daftar kepercayaan Android beberapa bulan sebelumnya.
Seandainya bank-bank yang diserang menjalankan verifikasi token Play Integrity secara ketat di peladen utama mereka dengan memanggil API verifikasi resmi Google secara langsung, keberadaan sertifikat yang telah dicabut tersebut pasti langsung menyalakan alarm bahaya berstatus kritis. Namun karena sejumlah lembaga keuangan hanya menguji integritas secara dangkal di sisi aplikasi ponsel atau mengandalkan pemeriksaan data yang dapat dimanipulasi, kesimpulan palsu tersebut diterima mentah-mentah sebagai bukti sahih bahwa ponsel berada dalam kondisi prima.
Fakta ini menelanjangi titik rapuh dalam siklus keamanan antarmuka pemrograman aplikasi (API) modern. Token integritas kriptografis bukanlah jimat sakti yang otomatis menghalau bahaya hanya dengan kehadirannya. Bila sebuah aplikasi menelan mentah-mentah respons integritas tanpa memvalidasi tanda tangan digital, kesegaran nilai unik transaksi, dan status pencabutan sertifikat di peladen backend yang terlindungi, seluruh arsitektur integritas tersebut hanyalah sandiwara belaka.
๐ฏ Indonesia Sebagai Laboratorium Serangan Utama
Kendati kode sumber dasar Hirudo memuat daftar sasaran bagi 42 institusi keuangan global yang mencakup negara-negara seperti Tiongkok, India, Meksiko, Maroko, dan Thailand, catatan ThreatFabric membuktikan bahwa kampanye serangan aktif trojan ini difokuskan secara masif ke satu negara: Indonesia.
Dari 42 target finansial yang terdata, tepat delapan aplikasi mobile banking milik tujuh bank komersial dan bank daerah terkemuka di Indonesia telah memiliki paket aplikasi tiruan siap pasang yang diinangi di peladen penyerang. Para pelaku telah membongkar aplikasi resmi bank-bank nasional tersebut, menyuntikkan pustaka pembajak YAHFA dan Dobby, lalu mengompilasi berkas APK tiruan yang siap disalurkan ke ponsel para nasabah di tanah air.

Infrastruktur pendukung yang menopang kampanye di Indonesia ini beroperasi dengan tingkat kematangan layaknya korporasi teknologi komersial. Berkas aplikasi pembawa dan APK tiruan perbankan tidak disebarkan lewat forum internet gelap yang mencurigakan, melainkan disalurkan lewat jaringan pengiriman konten Amazon CloudFront. Pemanfaatan jaringan distribusi global dengan perutean dinamis ini menjamin kecepatan unduhan yang sangat tinggi sekaligus mampu menembus pemblokiran penyedia jasa internet di Indonesia.
Tidak hanya itu, para pelaku mengintegrasikan peranti pelacak pemasaran seluler komersial ke dalam rantai distribusi serangan mereka. Tim ThreatFabric mendapati bahwa kampanye ini memanfaatkan kit pengembangan perangkat lunak OpenInstall untuk melacak alur infeksi, memantau tingkat keberhasilan instalasi dari berbagai saluran iklan digital, serta menautkan setiap infeksi ponsel ke tanda pengenal pelacak Meta Pixel tertentu. Pelaku mengelola penyebaran trojan layaknya agensi pemasaran pertumbuhan (growth marketing), menguji halaman arahan dan materi pancingan mana yang menghasilkan tingkat keberhasilan pencopotan dan pemasangan aplikasi tertinggi.
Kecerobohan fatal dalam pengelolaan keamanan operasional para penyerang akhirnya membuka tabir skala operasi Hirudo secara gamblang. Panel pengendali dan alur pemrosesan berkas APK otomatis milik pelaku ditemukan terbuka di jaringan publik tanpa dilindungi kata sandi. Di dalam ruang penyimpanan awan yang terbuka tersebut, para peneliti menemukan ribuan data nasabah korban yang terdata sepanjang Agustus, September, hingga Oktober 2026.
Catatan pangkalan data tersebut bukan sekadar daftar nama pengguna dan kata sandi curian. Pelaku menyusun profil finansial yang sangat terstruktur bagi setiap korban. Setiap baris data memuat tanda pengenal unik perangkat, versi sistem operasi, riwayat pembukaan kunci layar, hingga batas maksimal transaksi harian rekening korban. Yang paling mencengangkan, pangkalan data tersebut memuat kolom taksiran pendapatan bulanan dan skor risiko finansial korban, lengkap dengan catatan operator yang menandai akun mana saja yang telah berhasil dijebol dan siap dikuras saldonya. Sindikat ini tidak sekadar mengumpulkan data secara serampangan; mereka mengoperasikan mesin ekstraksi finansial berskala industri yang menyasar langsung dana nasabah perbankan Indonesia.
๐๏ธ Kekeliruan Menguji Keamanan Sendiri di Sisi Klien
Munculnya ancaman Hirudo memaksa kita meninjau ulang asumsi paling mendasar dalam rekayasa keamanan aplikasi seluler. Selama bertahun-tahun, industri keamanan ponsel gencar mempromosikan konsep perlindungan mandiri di dalam aplikasi atau Runtime Application Self-Protection (RASP). Perusahaan keamanan menjajakan kit perangkat lunak yang menjanjikan aplikasi mampu mempertahankan dirinya sendiri dengan menanamkan fungsi pengecekan akses root, pendeteksian debugger, pemindaian proses yang sedang berjalan, serta pengujian integritas biner.
Hirudo membongkar kelemahan teori yang sangat fatal di balik pendekatan tersebut: sebuah program yang dieksekusi di dalam lingkungan yang dikuasai musuh mustahil dapat dipercaya untuk melaporkan kondisinya sendiri secara jujur.
Dalam ranah ilmu komputer, prinsip mendasar ini telah diuraikan dengan sangat benderang oleh pemenang Turing Award, Ken Thompson, dalam makalah monumentalnya pada 1984 berjudul Reflections on Trusting Trust. Thompson menegaskan bahwa kita tidak bisa mempercayai kode yang tidak kita bangun sepenuhnya sendiri, dan yang lebih utama, kita tidak bisa mempercayai hasil keluaran sebuah program apabila kompilator atau lingkungan eksekusinya telah disusupi. Di dalam sistem operasi ponsel modern, aplikasi sepenuhnya tunduk pada lingkungan eksekusinya. Jika penyerang mampu memodifikasi biner atau membajak ruang memori proses, pertanyaan apa pun yang diajukan aplikasi mengenai keamanannya sendiri akan dijawab oleh sang penyerang.
Ketika aplikasi mengandalkan pengujian mandiri di sisi klien untuk mengambil keputusan keamanan krusial, ia terjebak dalam lingkaran logika sesat. Ia menanyai lingkungan eksekusi yang telah disusupi apakah lingkungannya aman. Jika mesin pembajak bekerja dengan benar, ia tinggal mencegat pertanyaan itu lalu menyodorkan jawaban palsu yang menenangkan.
Kegagalan pengujian integritas mandiri di sisi klien ini bukanlah kelemahan spesifik milik sistem operasi Android; ini adalah hukum alam yang tak terelakkan dalam komputasi terdistribusi klien-peladen. Begitu sebuah berkas program mendarat di perangkat fisik milik pihak ketiga, tingkat integritas klien tersebut harus dianggap nol sampai dibuktikan sebaliknya oleh bukti eksternal yang tidak dapat dipalsukan. Ketergantungan industri perbankan yang terlampau lama pada pemeriksaan di sisi ponsel adalah bukti kenyamanan fatamorgana rekayasa, bukan keabsahan kriptografis.
๐ Rekayasa Keamanan Baru Pasca-Kepercayaan Ponsel
Jika aplikasi di ponsel pintar tidak lagi bisa menjadi saksi bagi keamanannya sendiri, bagaimana semestinya institusi perbankan melindungi nasabah dan infrastrukturnya dari ancaman seperti Hirudo? Jawabannya menuntut pergeseran arsitektur pertahanan secara radikal menuju model tanpa kepercayaan (zero-trust) yang berpusat di peladen, di mana keputusan keamanan sepenuhnya dipisahkan dari klaim sepihak aplikasi di ponsel.

Langkah pertama yang paling mendesak adalah kewajiban menerapkan verifikasi kriptografis token atestasi secara ketat langsung di peladen utama perbankan. Google Play Integrity API tetap merupakan instrumen pertahanan yang sangat tangguh, namun hanya jika token hasil penilaiannya didekripsi, diurai, dan divalidasi di peladen bank melalui antarmuka resmi Google.
Penerapan verifikasi peladen yang benar wajib memenuhi tiga parameter tanpa kompromi:
- Verifikasi tanda tangan kriptografis: Peladen bank harus memvalidasi rantai sertifikat resmi Google yang menyertai token integritas, serta menolak keras token apa pun yang diteken oleh kunci yang telah dicabut atau tidak terdaftar.
- Kesegaran nilai acak dan pengikatan sesi: Setiap permintaan atestasi wajib diawali dari peladen dengan menyertakan nilai acak sekali pakai (nonce) yang terikat secara kriptografis pada sesi transaksi atau proses login yang sedang berlangsung. Langkah ini menangkal serangan relai di mana penyerang mencuri token sah dari ponsel bersih lalu memakainya untuk meloloskan transaksi di ponsel korban.
- Pemeriksaan langsung ke API Google: Alih-alih mempercayai klaim token lokal, peladen bank harus meminta konfirmasi langsung ke peladen Google untuk memastikan nama paket, sidik jari sertifikat sha256, dan status lisensi aplikasi cocok sepersis mungkin dengan data produksi resmi bank.
Melengkapi pengujian token, industri perbankan harus meninggalkan gerbang keamanan biner dan beralih ke penilaian risiko perilaku secara berkesinambungan. Sebuah aplikasi bank semestinya tidak serta-merta mengizinkan pemindahan dana bernilai besar hanya karena pengguna berhasil mengetikkan nomor PIN dengan benar di layar. Mesin penilai risiko modern harus mengevaluasi data kontekstual yang mustahil dipalsukan oleh pembajak lokal: nomor sistem otonom jaringan internet (ASN), ritme pengetikan pengguna, dinamika sentuhan layar, kestabilan sensor akselerometer saat interaksi berlangsung, serta keanehan laju transaksi dibanding pola historis nasabah.
Bagi masyarakat pengguna mobile banking, kemunculan Hirudo menjadi peringatan keras mengenai batas perlindungan teknologi ponsel. Kebiasaan perlindungan diri yang paling ampuh menghadapi ancaman ini sejatinya sangat sederhana: jangan pernah mengizinkan aplikasi bank Anda dicopot saat menerima tawaran pembaruan.
Pembaruan perangkat lunak resmi di sistem operasi Android, baik yang disalurkan melalui Google Play Store maupun jalur korporat terverifikasi, tidak pernah menuntut pengguna menghapus aplikasi lama terlebih dahulu. Pembaruan yang meminta pencopotan aplikasi secara teknis membuktikan bahwa berkas baru tersebut tidak mampu lolos uji tanda tangan digital Android. Jika sebuah aplikasi memberitahu Anda bahwa ia harus dicopot demi mendapatkan versi terbaru, pemberitahuan itu bukanlah pembaruan; itu adalah surat pengusiran dari penyusup yang bersiap mengambil alih rumah finansial digital Anda.
Seiring berjalannya waktu, perseteruan antara fungsi resmi sistem operasi dan rekayasa kejahatan siber akan terus berkecamuk. Dengan meruntuhkan fatamorgana keamanan mandiri di sisi klien, Hirudo secara tidak sengaja telah menyadarkan ekosistem keamanan siber global. Kejadian ini memaksa kita berhadapan dengan kenyataan pahit yang semestinya kita sadari sejak dulu: keamanan yang bergantung pada kejujuran mesin yang telah dikuasai lawan pada hakikatnya bukanlah keamanan sama sekali.
Sumber: Riset ThreatFabric (Hirudo: from fake updates to patched banking apps, Oktober 2026); Laporan SecurityAffairs (Hirudo Android Trojan Replaces Banking Apps to Steal Credentials); Analisis Keamanan Seluler Approov (Ted Miracco, Oktober 2026); Dokumentasi Proyek Sumber Terbuka Android (Skema Tanda Tangan APK v2/v3/v4); Panduan Arsitektur Google Play Integrity API.


