Feed on
Posts
Comments

Semoga tulisan ini dapat membantu mencerahkan kepada masyarakat terkait berita dan postingan di media sosial yang mempermasalahan pada sistem SiREKAP KPU bahkan ada yang ingin menuntut diadakannya “Audit TI dan Digital Forensik SiREKAP”.

Jauh hari sebelum pemilu (sekitar Desember 2023 – awal Januari 2024), penulis dan beberapa teman di Group DFIS (Digital Forensic & InfoSec Community) sudah membahas adanya permasalahan di sistem aplikasi SiREKAP KPU. Pada saat itu, KPU sedang gencar gencarnya mencoba melakukan sosialisasi dan uji coba aplikasi SiREKAP di berbagai daerah. Mereka menggunakan SiREKAP versi Staging 2.4-STG. Lucunya saat itu sebenarnya KPPS yang menjadi bagian pengguna/operator resmi dari SiREKAP belum dilantik secara resmi. Secara umum KPPS yang akan bertugas baru akan dilantik pada akhir Januari 2024, jadi sosialisasi aplikasi SiREKAP sebelum itu tentu dipertanyakan efektivitasnya untuk KPPS.

SiRekap Pemilu 2024 – APK

Secara teknis, penulis kebetulan menyempatkan melakukan static/dynamic analysis berupa reverse engineering hingga simulasi aplikasi hingga analisis trafik terhadap aplikasi SiREKAP yang kala itu masih versi Staging 2.4-STG (versi ini hanya di distribusikan di internal KPU). Sebelumnya juga ada versi Aplikasi SiREKAP 2020 (1.9.5) yang digunakan saat pilkada tahun 2020 (bisa diambil dari playstore) yang bisnis prosesnya kurang lebih sama, hanya terdapat penambahan beberapa fitur/activity. Dari proses static analysis terhadap kedua versi aplikasi SiREKAP tersebut, dengan mudah diketahui bahwa pengembang aplikasi (tim developer) ternyata berasal dari teman teman Informatika ITB, ini terlihat jelas dari berbagai domain dan nama host server yang digunakan sebagai backend dan API aplikasi tersebut (mengandung domain informatika.site).

Mengandung host *.informatika.site

Pada akhir Januari 2024, KPU akhirnya mempublikasikan versi SiREKAP 2024 Mobile di Google Playstore. Versi Awal terpublish merupakan SiREKAP 2024 versi 2.30, disusul update/pembaharuan versi 2.32 dikarenakan banyak trouble saat mulai dipasang diberbagai jenis HP oleh anggota KPPS yang baru dilantik, terakhir menjelang pemilu versi 2.41 (Versi ini yang digunakan pada hari H pemilu, versi ini di publish 9 Februari 2024). Aplikasi SiREKAP 2024 versi 2.41 yang paling banyak digunakan oleh KPPS untuk menginput data ke Server KPU. Di aplikasi versi ini jugalah banyak kesalahan dalam konversi angka/jumlah suara dari foto yang diinputkan oleh petugas KPPS.

Versi Sirekap 2024 & Tanggal Publish di PlayStore

Pada versi SiRekap 2024 mulai versi 2.30 terdapat fitur tanda tangan digital yang rancang enkripsinya menggunakan kunci & CA (Certificate Authority) BSSN. Di versi SiREKAP 2024 staging (2.4-STG) sebelumnya, tidak ditemukan ada fitur tandatangan digital dengan kunci/CA dari BSSN, sehingga dipastikan fitur ini masih baru dikembangkan menjelang hari H. Dari timeline tersebut sebenarnya sudah bisa diprediksi bahwa aplikasi ini tidak melalui proses pengujian yang ideal untuk sebuah aplikasi mengawal event sebesar Pemilu.

BuildConfig SiRekap 2024 v.2.30 – dst
BuildConfig SiRekap v.2.4 (STG)

Sekilas keamanan SiREKAP Mobile
Jika ingin membahas keamananannya, menurut hemat penulis masih sangat jauh dari cukup. Dari hasil static analysis yang penulis lakukan, ditemukan jika keystore password yang digunakan masih default menggunakan kunci signer public dan kunci private (P12) bawaan Android development tools. Seharusnya pengembang aplikasi SiREKAP KPU menggunakan kunci keystore signer khusus developer, untuk dapat membedakan hasil pengembangan versi official lembaga KPU tersebut atau orang lain. Resikonya, dimungkinkan ada pihak lain yang membuat package aplikasi yang mirip dan disalahgunakan. Misalnya untuk mengelabui pada operator di level KPPS/PPK (se-sederhana kasus kasus undangan/tagihan apk).

Signer Certificate SiREKAP 2024
Keystore File & Certificate yang disertakan pada SiREKAP

Selain itu proteksi keamanan internal aplikasi SiREKAP Mobile ini masih relatif mudah dibypass, karena selain proses otentikasi hanya memanfaatkan user password saja dan masih dengan mudah emulasikan pada emulator. Meski di versi versi sebelumnya ada fitur aktivasi 2FA dengan Authenticator Eksternal, ternyata fitur itu tidak digunakan sama sekali di versi terakhir saat pemilu.
Contoh lainnya pada keamanan di level aplikasi, SiREKAP KPU mewajibkan proteksi keamanan seperti wajib aktivasi screen lock dan fingerprint, tetapi rupanya dengan membypass urutan activity aplikasinya, penulis dengan mudah menjalankannya tanpa harus aktivasi security (pola/pin) dan fingerprint.

Kenapa aplikasi SiREKAP banyak melakukan kesalahan mengkonversi angka/jumlah suara tertera di pleno C1?

SiREKAP menggunakan builtin modul fungsi OCR (Optical Character Recognition) pada aplikasinya menggunakan library opencv dan pengenalan karakter tulisan dengan MNIST Dataset, SiRekap tidak menggunakan API OCR luar yang biasanya cloud based. Sebenarnya ada tersedia banyak pilihan API untuk fungsi OCR yang berbasis cloud yang sangat baik hasilnya, tetapi relatif cukup mahal jika akan digunakan utk kegiatan sejenis pemilu yg jumlah dokumen/gambarnya sangat banyak, disamping itu akan membutuhkan koneksi internet yg stabil. Mungkin saja itu juga pertimbangan tim developer SiREKAP KPU sehingga menggunakan module OCR sendiri.


Dari analisis penulis, kemampuan teknologi OCR yg mengenali angka angka difoto pleno C1 yg digunakan pada siRekap sebenarnya sudah cukup baik jika cara penulisan oleh panitia kpps di form tersebut sesuai dengan aturan yg dikeluarkan KPU yang tercantum pada Panduan Sirekap Mobile. Dari pengamatan penulis bahwa mayoritas kesalahan konversi karakter angka tersebut diakibatkan cara/teknik penulisan di lembar Pleno C1 yang tidak sesuai aturan. Kemungkinan petugas KPPS yang menuliskan kelupaan atau kurang teliti jika harus mengikuti aturan penulisan agar aplikasi siRekap dapat mengkonversi tulisan angka tersebut ke dalam bentuk angka digital. Tetapi bisa juga karena sudah kelelahan atau bahkan hampir putus asa akibat aplikasi siRekap tidak bisa login saat servernya sempat down hampir seharian sejak pagi hari di saat pencoblosan.

Berikut contoh kesalahan penulisan petugas KPPS pada lembar pleno C1

Permasalahan ini juga diperparah saat IT KPU mengubah cara penulisan di form Pleno di detik detik terakhir menjelang pemilihan. Jadi saat sosialisasi sebelumnya sebelumnya penulisan form pleno mengunakan kotak kotak meniru angka digital, tetapi menjelang pemilu kebijakan aturan tersebut dirubah IT KPU menjadi penulisan biasa (menyesuaikan dataset mereka dari sebelumnya bukan MNIST). Penulis sudah melakukan pengecekan cek di versi SiRekap 2.4 (STG) yakni yang digunakan saat sosialisasi sejak Desember hingga Januari 2024, versi ini belum menggunakan dataset MNIST (tulisan tangan biasa). Sejak versi 2.30-sekarang baru menggunakan MNIST. Itu sebabnya banyak anggota KPPS yang keliru cara penulisan di lembar form pleno, karena sosialisasinya berbeda dengan implementasi saat digunakan secara saat perhitungan suara.

File tflite, object tensorflow lite, hasil training ML untuk OCR SiREKAP

Selain menggunakan teknologi OCR (Optical Character Recognition), aplikasi sirekap juga dilengkapi fitur OMR (Optical Mark Recognition), yang seharusnya bisa dijadikan alternatif pembacaan jumlah suara dalam bentuk tanda lingkaran pada kolom nomor nomor yg disediakan. Hanya saja di aplikasi SiREKAP sepertinya belum mamfaatkan informasi tersebut, dan hanya menggunakan OCR sebagai dasar pendeteksi jumlah suara.

SiREKAP Offline Mode dan Online Mode
SiREKAP dapat dijalankan secara Offline Mode, asal sudah terotentikasi terlebih dahulu secara online, maka saat menjalankan aplikasi berikutnya bisa tanpa harus terhubung internet. Saat menjalankan offline Mode, SiREKAP bisa melakukan aktivitas mengisi data yang diperlukan dan dokumentasi/ambil gambar pleno C1 dst. Saat Online atau terhubung internet (Triggernya saat aplikasi berhasil ping google.com dan ), kemudian SiREKAP akan langsung otomatis melakukan sinkronisasi (Upload Data) ke Server KPU.
Hanya saja proses Offline Mode dan Online Mode itu sering mengakibatkan permasalahan pada sesi aplikasi, sehingga user dihadapkan aplikasi restart dan diminta otentikasi ulang kembali.

Dalam implementasi sistem informasi yang baik, idealnya para pengembang sistem harus mampu memperkirakan dan mengantisipasi input dari setiap penggunanya, baik yang sesuai aturan maupun belum sesuai aturan. Seperti penulisan angka jumlah yangg memenuhi kriteria, maupun yang diluar dari kriteria yang seharusnya. Sehingga hasilnya tetap dapat diprediksi atau paling tidak dibatasi jika terdapat kesalahan. Misalnya dengan adanya prosedur verifikasi bertahap sebelum langsung terpublish dalam tabulasi. Pada aplikasi SiREKAP KPU, sebenarnya ada tahapan flagging jika proses konversi OCR dari foto pleno C1 atau pembacaan jumlah suara terjadi kesalahan. Operator KPPS yang menginputkan data dan photo pleno C1 diberi opsi untuk memberi flag (tanda X) dan otomatis menjadi berwarna merah jika hasil konversi jumlah suara oleh aplikasi berbeda dengan jumlah suara di foto pleno C1. Operator KPPS ini memang tidak diberi pilihan untuk langsung mengedit jumlah yang keliru tersebut. Jadi hasil yang masuk ke aplikasi murni terjemahan teknologi OCR yg digunakan, dan jika ada keliru maka hanya dapat diberi penanda (flag) artinya perlu dikoreksi. Sedang yang akan mengoreksi nanti adalah petugas/admin KPU yang ditugaskan dilevel yang lebih tinggi (biasanya di level Kota/Kabupaten) melalui aplikasi sirekap-web (Aplikasi SiREKAP berbasis Web). Nah disinilah salah satu bootleneck atau terjadi antrian proses koreksi. Koreksi sirekap-web tidak bisa secepat yang diinginkan para KPPS atau masyarakat yang ikut memonitor, mungkin karena jumlah yang harus dikoreksi juga sangat banyak, mengakibatkan seolah olah data tersebut “disengaja” oleh KPU yang berujung menjadi polemik di media.

Harusnya jika developer atau pengembang dapat mengantisipasi dengan adanya tahapan verifikasi sebelum di publish ke tabulasi dan berbagai filter kemungkinan kesalahan input atau konversi angka (misal menetapkan jumlah total maximum suara tiap TPS yang sudah terprediksi sebesar 300 plus tambahan), maka tidak akan menimbulkan polemik berkepanjangan berkaitan kesalahan perhitungan dan bahkan tuduhan tuduhan kecurangan memanfaatkan SiREKAP. Berdasarkan analisis penulis, publikasi SiREKAP melalui laman situs pemilu2024.kpu.go.id dipastikan tidak melalui tahapan tahapan verifikasi dan filtering kesalahan lebih dahulu, terlihat dari banyaknya input atau jumlah suara paslon yang tidak logis. Dan kesalahan ini sudah diakui oleh KPU beberapa waktu yang lalu.

Kembali ke laptop. Jadi untuk menjawab pertanyaan mungkinkah dilakukan Audit TI dan Forensik Digital terhadap SiREKAP KPU? Audit TI dan Forensik Digital pada dasarnya adalah dua hal yang sangat berbeda.
Menurut penulis perlu diperjelas secara spesifik tujuan dari Audit TI maupun Forensik Digital yang dimaksud. Audit TI mungkin bisa dilakukan utk mendeteksi persiapan sistem IT pendukung kegiatan Pemilu, apakah sudah disiapkan secara professional atau malah asal asalan bahkan SKS (Sistem Kebut Semalam ala Mahasiswa). Target Audit TI bisa dimulai dari tata kelola IT (IT Governance) hingga pengembangan berbagai aplikasi pendukung pemilu (silon, siakba, sirekap dst). IT Governance termasuk pemilihan partner pengembangan sistem, SDM TI hingga penyedia infrastruktur teknologi informasi. Khusus pengembangan aplikasi, idealnya sudah melalui proses pengujian pengujian seperti software testing, load testing hingga penetration testing. Apakah pada aplikasi tersebut sudah dilakukan, dan bagaimana metodologi pengujian beserta hasilnya. Tujuan pengujian pengujian tersebut agar diketahui dan diprediksi atau diantisipasi segala kendala maupun kelemahan kelemahan saat implementasi dilapangan.

Terkait rencana pemeriksaan digital forensik pada sistem SiREKAP, penulis pribadi tergelitik ingin mengetahui apakah objective atau tujuan pemeriksaannya. Pada setiap pemeriksaan digital forensik harus sudah sudah jelas tujuan spesifik pemeriksaannya. Untuk aplikasi khusus seperti SiREKAP tentu belum diketahui framework pemeriksaan forensiknya karena teknologi ataupun sourcenya tidak bersifat terbuka. Sehingga yang mungkin digunakan adalah metode metode best practice teknologi aplikasi sejenis. Keberhasilan pemeriksaan digital forensik terhadap sebuah sistem juga dipengaruhi oleh kesiapan sistem aplikasi dan lembaga yang mengelola aplikasi tersebut untuk dilakukan pemeriksaan forensik. Istilah umumnya adalah digital forensic readiness. Banyak lembaga khususnya pemerintahan atau lembaga negara yang belum mencapai level “digital forensic readiness” yang mumpuni, sehingga data yang dibutuhkan tidak optimal ketika menghadapi pemeriksaan digital forensik. Hal ini yang biasanya membuat banyak kasus kasus siber seperti kebocoran data atau insiden keamanan siber lainnya tidak mungkin terungkap.

Contohnya pada SiREKAP KPU, secara teknis idealnya photo yang dihasilkan sudah berisikan metadata yang memadai, seperti lokasi (sekitar TPS), waktu Foto, Jenis Kamera/HP, dst yang bisa menunjukkan sumber dari foto tersebut. Tetapi ternyata pada aplikasi SiREKAP informasi ini tidak disertakan pada setiap foto pleno yang dikirimkan. Padahal informasi metadata tersebut bisa digunakan sebagai petunjuk atau bahkan validasi data yang di upload oleh operator atau pihak lain

Contoh lainnya, Log Akses pada setiap Environment Server seperti Log Web Server, Log DB Server, Log Api yang digunakan, belum tentu siap atau tersedia untuk dilakukan analisis, Log ini idealnya selalu tercatat pada media penyimpanan sejenis backup secara periodik dengan dilengkapi dengan catatan nilai hash/cek integritas. Sehingga ketika terjadi incident atau diperlukan investigasi kasus siber dapat langsung digunakan untuk menjelaskan insiden tersebut. Hal hal seperti inilah yang menjadi kendala paling sering terjadi saat penanganan insiden siber dan pembuktian secara forensik digital.

Jadi tujuan seperti apa yang mungkin dilakukan pemeriksaan secara digital forensik pada SiREKAP?
Berdasarkan analisis penulis, sistem sejenis SiREKAP ini bisa saja dengan mudah bisa mendeteksi siapa saja yang melakukan editing (level user KPU ataupun KPPS) atau pihak yang mengupload photo/data yang sengaja keliru/salah. Atau sekedar siapa saja akun akun yang mengupload data tanpa dengan sop/prosedur yang baku. Misalnya akun KPPS yang tidak memberi tanda/flag suatu data perlu dikoreksi meskipun hasil konversinya sebenarnya masih salah dst.


Tetapi jika penulis ditanya, apakah dengan pemeriksaan digital forensik pada SiREKAP dapat ditemukan bukti adanya kecurangan? Sepertinya akan akan sulit terjawab, selain harus dijabarkan bentuk kecurangan yang dimaksud yang akan menjadi tujuan pemeriksaan, juga faktor kesiapan lembaga KPU dan para Stakeholder (pengembang aplikasi/vendor/penyedia provider) yang belum pada level digital forensic readiness yang memadai untuk dilakukan pemeriksaan forensik digital, ditambah faktor kecurangan yang masih sangat terbuka dapat dilakukan tanpa keterlibatan KPU dan para stakeholder pengembang aplikasi, mengingat beberapa kelemahan dan permasalahan SiREKAP yang sudah diungkap diatas.

(update 22 Februari 2024 )

– Penambahan gambar/script yang menunjukkan pengenalan karakter tulisan OCR dengan Dataset MNIST, penambahan deskripsi perubahan metode pengenalan karakter dari sebelumnya tulisan bentuk digital (kotak kotak) menjadi tulisan biasa pada lembar pleno.

(bersambung ke part 2)

Leave a Reply