Saya melihat banyak orang yang mengatakan KPU di hack, dicurangi, dan seterusnya. Karena Prof. X kebetulan punya Cerebro, maka mari kita bedah satu satu..
C1 yang berbeda
Yang pertama, yang paling banyak screenshot beredar, adalah angka yang tidak sesuai dengan form C1. Ini sebetulnya adalah masalah dasar, dan ini diselesaikan melalui 2 jalan oleh KPU, yaitu secara programming, dan secara prosedur.
- Secara Programming
Dalam programming dikenal yang namanya checksum. Artinya, setiap data memiliki informasi yang akan di crosscheck ke informasi lainnya untuk menentukan apakah data tersebut valid atau tidak. Hal ini juga ada di system lain, seperti accounting. Tahukah anda mengapa ada sisi debet dan kredit? Mengapa sebuah debet selalu memiliki korespondensinya di kolom kredit? Tak lain adalah untuk memastikan, data tersebut benar.Hal yang sama juga berlaku pada dunia programming. Saya akan berikan contoh crosscheck sederhana.
Perhatikan tabel diatas. Tabel itu saya buatkan simulasi untuk 10 TPS, dengan data random
untuk keperluan simulasi ini.Pemeriksaan checksum seperti ini cukup mudah, dan bisa dikeluarkan listnya oleh programmer dengan sangat cepat, cukup 1 perintah:SELECT * FROM vote WHERE Jokowi + Prabowo + Rusak != Total.
Maka program akan langsung mengeluarkan daftar tersebut. Yaitu pada TPS 2 dan 9. Dalam 1 perintah. Kesalahan kesalahan seperti ini, tidak mungkin disengaja, karena angka tersebut tidak klop. Kalau memang user sengaja, maka dia juga harus menghitung ulang angkanya supaya tidak terdeteksi system.
Selain itu, ada pula masalah keanehan yang disengaja. Contohnya adalah pada gambar berikut:
Peraturan melarang adanya TPS yang memiliki lebih dari 300 DPT. Karena itu, walaupun pada TPS 6 checksum valid, tetapi ada keanehan pada total DPT yang lebih dari 300. Hal ini pun masih bisa diverifikasi oleh program.
Tetapi ada satu hal yang tidak bisa diperiksa oleh program. Kita tidak tahu apakah TPS 5 benar benar Prabowo hanya menerima 26 suara. Untuk ini diperlukan strategi kedua.
- Secara SOP, atau Standard Operating Procedure.
Apabila anda menanyakan orang orang yang pernah bekerja untuk pemungutan suara, mereka sering mengeluh mengenai beratnya pekerjaan. Bahkan saya pernah membaca keluhan salah seorang petugas mengenai saksi yang meributkan karena coblosan mengenai garis.Untuk menghindari kecurangan yang dilakukan oleh KPU, maka masing masing kubu menyewa saksi. Saksi tersebut diberi tugas untuk mengawasi pekerjaan sang petugas KPU. Apabila saksi menemukan kecurangan dari KPU, maka dia berhak untuk menolak menandatangani form C1 dan mengajukan laporan. Laporan ini nantinya akan diperiksa oleh pihak Bawaslu.
Tetapi tugas saksi tidak hanya sampai disana. Setelah C1 selesai, maka masing masing saksi dan KPU akan menerima rekap yang identik untuk form tersebut. Form ini nantinya bisa digunakan oleh saksi sebagai bukti apabila ada kesalahan yang dilakukan KPU pada waktu suara direkap pada jenjang berikutnya. Pada naik ke level kecamatan, maka disana hasil C1 tersebut dikumpulkan dan dihitung totalnya. Kemudian para saksi pun kembali memeriksa pekerjaan KPU, dan membubuhkan tanda tangannya. Semakin tinggi jenjangnya, biasanya saksi juga semakin pandai, dan semakin kritis. Bahkan ada yang menurunkan auditor untuk memeriksa hitungan.Karena itu, kalau misalnya ada kasus seperti TPS 5 yang hanya 26 suara untuk Prabowo, dan saksi 02 ternyata hanya diam saja, maka itu adalah 100% kesalahan dari kubu Prabowo sendiri. Karena saksi dari kubu Jokowi tidak mungkin mau memeriksa angka yang dicantumkan untuk kubu Prabowo. Jelas, karena mereka tidak dibayar untuk itu, sedangkan saksi Prabowo dibayar untuk memeriksa input untuk kubu Prabowo.
Hacking
Hacking adalah cara yang sangat keren, dan tidak kasat mata. Karena itu, sering dimainkan untuk deligitimasi KPU. Narasi yang sering diberikan, adalah website KPU down. Website yang down ada 2 masalah.
- Kekurangan bandwidth
Ibarat komputer yang sedang download, kecepatan download dan upload dipengaruhi oleh kecepatan internet yang digunakan. Siapa yang tidak pernah merasakan internet lambat di Indonesia? - Kekurangan resource
Seperti kecepatan database yang kurang, web server yang terlalu sibuk, atau mungkin juga kekunci karena system crash. Hal ini yang biasanya diincar oleh hacker, karena apabila system crash, maka security biasa akan down sementara waktu.
Lalu bisakah merubah data suara melalui hacking web KPU?
Untuk menentukan bagaimana cara update, saya mengecek dulu bagaimana website KPU menerima datanya. Ini adalah data yang saya dapatkan dari komunikasi browser ke server website untuk mendapatkan datanya.
Dari data diatas, maka terlihatlah bahwa data yang diambil tersebut berasal dari data static (/static/json/wilayah/25823.json). Artinya data tersebut di upload secara statis, bukan dibuat berdasarkan database. Jelas pula bahwa data tersebut disimpan di file file json. File static adalah file yang tidak akan berubah,jadi tidak dibuat dengan perhitungan atau logic pemrograman. Dengan parameter apapun saya mengambil 25823.json, file itu akan tetap seperti itu. Karena itu, saya menyimpulkan, bahwa website kpu tersebut tidak menyimpan data apapun. Jadi kalau kita hack web server KPU, hal tersebut tidak ada gunanya karena nantinya toh akan diganti dengan data yang baru diupload oleh KPU. Mau pake SQL Injection? SQL apa yang mau di inject kalau ga ada SQL-nya? Lalu darimana data data statis itu berasal?
Sesuai informasi dari pihak KPU, server KPU dan web KPU berada pada kolam yang berbeda. Dari sini, saya bisa menyimpulkan bahwa diagram network KPU kira kira seperti ini.
Bagian yang terekspose ke internet adalah bagian web server diatas. Nah, logikanya, kalau data di web KPU tersebut statis, dan bisa memuat data, artinya harus ada sesuatu yang generate file file tersebut dari data yang ada. Karena data selalu berubah, file file statis tersebut tidak bisa menampung data. Maka saya meletakkan sebuah Update Server di sana. Dan mengingat Update Server tersebut hanya butuh membaca data, maka saya letakkan pada client switch, yang merupakan switch paling luar.Sebuah standard dalam dunia programming, bahwa sebuah full-fledged server menggunakan 3-tier-architecture. Maksud 3-tier-architecture, adalah bahwa pemrosesan data dipecah menjadi 3 bagian. Hal ini selain melepaskan ketergantungan satu sama lain, bug pada satu bagian tidak akan mempengaruhi bagian lain. Misalnya ada kesalahan pada interface atau client, maka application-tier tidak akan terpengaruh dan bisa tetap bekerja. Demikian pula apabila ada kerusakan pada application-tier, data-tier tidak akan terpengaruh. Ini adalah standard dalam dunia enterprise. Selain itu, juga memudahkan dalam hal development. Kita bisa menggunakan bahasa berbeda di application-tier, bahasa pemrograman lain lagi pada interface, dan tentunya SQL pada data-tier atau NoSQL. Developer pun bisa dipecah pecah, tidak perlu satu orang. Mereka yang develop data-tier (DBA) hanya perlu data tersebut integritynya valid. Sedangkan application-tier tidak perlu peduli data apa yang diletakkan di data-tier, selama developer application-tier mengikuti informasi yang diberikan DBA, maka mereka pasti bisa bekerja. Karena itu, asumsi saya, kalau perusahaan perusahaan kecil saja menggunakan konsep tersebut, maka KPU pun pasti menggunakan system yang sama. Jadi, anda berminat untuk hacking data KPU?
Masih berminat hacking data KPU?
Kalau masih berminat, mari kita lanjut ke menu utama. Hacking KPU.. Apabila anda menggunakan switch client yang biasa diakses oleh user KPU, maka anda tidak akan bisa masuk ke data-tier. Untuk itu, anda harus masuk ke ruang server, dan menyambungkan notebook anda ke switch yang ada di dalam. Nah, biasanya, server tersebut diletakkan di ruang yang khusus, dengan pendingin, dan terkunci.
Menyelinap ke ruang server
Tetapi sebelum menjangkau ruangan server tersebut, kita kita harus melewati satpam yang berjaga. Kemudian pada waktu di dalam gedung KPU, kita masih harus melewati serombongan orang orang yang sedang melakukan penghitungan suara dan input data. Orang orang disini terdiri selain dari orang KPU, juga terdiri dari saksi dari kubu 01 dan kubu 02. Kalaupun mungkin anda seperti Prof Charles Xavier, yang sanggup menghentikan waktu dan melewati mereka tanpa disadari, maka anda akan dihadapkan dengan pintu ini.
Saya tidak bisa membayangkan ruang server KPU, tetapi ini adalah pintu yang sering saya lewati untuk masuk ke ruang server dimana server saya berada. Dan ini hanya pintu masuknya. Untuk masuk melalui pintu ini, dibutuhkan ID card menggunakan RFID. RFID pada ID card tersebut encrypted. Tanpa ID card yang sesuai, pintu tersebut tidak akan terbuka. Dan RFID tersebut disimpan pada server yang berada di dalam ruangan yang dikunci tersebut. Apakah anda yakin mereka yang memegang kunci ruang server ada disana? Saya sebagai seorang IT, tidak pernah ikut rekan rekan sekantor saya apabila mereka sedang melakukan pekerjaan mereka. Tugas saya adalah pada server. Saya baru akan datang, apabila server yang dipergunakan ada masalah. Artinya? Charles Xavier harus melacak, siapa yang memegang kunci ruang server ini. Menggunakan Cerebro mungkin?
Setelah melewati pintu tersebut, maka kita akan menjangkau rak server. Dimana masing masing rak memiliki kunci. Biasa hanya administrator server yang bersangkutan yang memiliki kuncinya. Dan itu masih belum menghitung CCTV yang terus memantau ruangan tersebut dan terhubung dengan alarm. Apabila anda tidak dikenali, berada di dalam ruang server, maka anda akan terlihat di CCTV. Dan saya belum pernah melihat ruang server yang tidak dijaga CCTV.Di dalam rak server ini terdapat switch, dan biasanya switch di dalam ruang server adalah managed. Artinya, switch ini bukan switch sembarangan. Pada managable switch, dikenal partisi, atau virtual LAN.
Menyambungkan notebook ke jaringan
Pada managable switch, port port-nya biasa tidak diijinkan berkomunikasi satu dengan lainnya. Seperti misalnya bagian operator, ada di VLAN nomor 100, dan terhubung pada switch nomor 15 hingga 24. Sedangkan admin ada di port 1 hingga 4. Untuk bisa menentukan notebook si hacker bisa tersambung, hacker harus tahu, dicolok ke port yang mana untuk masuk ke VLAN data-tier atau application-tier. Dan biasanya, tidak hanya di 1 switch. Bisa tersebar ke beberapa switch. Jadi yang ingin hack data-tier, dia harus tahu di port mana pada switch yang mana data-tier terhubung.
Setelah anda tahu port dan switch yang mana yang bisa digunakan, hidup pun tidak menjadi semakin mudah. Karena pada switch switch server seperti ini, setiap port sudah dialokasikan untuk mac address tertentu. Untuk membukanya, kita harus connect ke switch tersebut, memasukkan password, dan merubah mac address. Tanpa merubah mac address, maka port tersebut tidak akan merespon data yang dikirimkan notebook anda. Ouch.. Dan itu artinya, anda harus mencari notebook yang dimiliki oleh administrator, dan login ke switch yang dimaksud, untuk menambahkan port yang kosong ke VLAN yang dimaksud, dan menghapus security mac address table. Cara ARP flooding pada server begini biasa tidak mempan, karena switch akan menolak mencatat mac address baru.
Okeh.. anggap anda bisa menyambungkan notebook ke server, anda masih harus connect ke server database. Wow.. Selamat.. anda sudah bisa tersambung.. Ya… sedemikian rumit, panjang dan ruwet, hanya supaya notebook yang anda bawa, bisa tersambung ke ruang server. Ah.. ya.. jangan lupa kabelnya.
Ada cara yang lebih mudah sebetulnya, login ke server yang ada disana. Mudah? Ya.. mudah.. tinggal login kan? Dan anda akan dihadapkan layar kosong, karena server berjalan dalam partisi yang disebut Virtual Machine. VM ini adalah hal yang lazim digunakan, karena berfungsi menghemat tempat. Kalau jaman dulu 1 server hanya bisa melakukan 1 tugas, pada jaman sekarang 1 server bisa melakukan bermacam macam tugas karena adanya Virtual Machine ini. Dan untuk connect ke virtual machine, adalah melalui network.
Hacking database
Setelah anda bisa menyelinap, berhasil menyambungkan notebook, dan hacking switch, maka disini kita akan hack aplikasi.
Untuk itu, anda harus tahu IP database router dan melakukan login. Tidak tahu? Anda bisa berpura pura sebagai application yang ingin melakukan update data.
Tetapi lagi lagi hal ini tidak mudah. Karena application-tier biasa berkomunikasi dengan data-tier menggunakan application key. Hanya aplikasi yang application-key nya valid yang bisa mengirim data ke data-tier. Celakanya, application key ini bisa berubah setiap beberapa menit, atau bahkan beberapa detik. Kalau anda adalah The Flash, mungkin anda bisa mengetik cukup cepat data baru dan mengirimkannya.
Cara berikutnya adalah hack login ke database dengan SSH. SSH untuk system yang beresiko tinggi biasa tidak menggunakan password. Oh ya? Mantap.. Tapi lagi lagi cara ini juga amat sangat sulit. SSH pada system dengan security ketat membutuhkan private key untuk encryption. Private key ini biasa disimpan oleh administrator, dan dijaga dengan ketat. Jadi memang tidak ada password untuk connect, tetapi sebuah file private key yang bisa membuka login. Dan private key ini biasa disimpan dalam bentuk file.
Setelah muncul shell linux, selanjutnya cukup mudah. Tinggal login ke database, memasukkan username dan… ehm ehm.. password lagi. Kali ini, password milik DBA.
Setelah semua itu selesai, maka data KPU pun bisa berubah.. Ingat, harus dilakukan di dalam ruang server KPU, karena server ini terisolir. Kalau anda bisa melakukan semuanya itu, selamat.. tugas hacking selesai. Wait.. selesai? Tunggu dulu..
Pemeriksaan saksi dan masyarakat
Seperti kita ketahui, form C1 ikut di upload sebagai bukti, sekaligus bahan re-check oleh masyarakat. Supaya bisa dipantau. Perubahan pada database, hanya akan merubah angkanya. Tetapi pada waktu data tersebut online, Maka masyarakat akan melihat bahwa angka di TPS miliknya berbeda. Seperti contoh di Dumai.
Dalam sekejap, angka yang dirubah itu akan diketahui masyarakat, atau saksi dari kubu yang dirugikan. Maka KPU akan kembali memanggil saksi, dan melakukan pencocokan jumlah C1 dan data di dalam server KPU. Maka keluarlah data yang tadi anda rubah. KPU dengan mudah memanggil si programmer, memintanya untuk melakukan pemeriksaan kesehatan software server, menghapus data lama, dan mengganti dengan data yang benar. Kemudian melakukan pemeriksaan CCTV, dan anda terlihat masuk ke ruang server.
Duh.. sia sia lagi.. Karena itu, saya punya sebuah meme yang amat sangat tepat menggambarkan niat untuk merubah suara dengan cara hacking.
Lalu, bagaimana bisa curang?
Itu adalah hal utama yang banyak ditanyakan orang. Cara untuk curang, satu satunya adalah menyelipkan orang ke TPS, membungkam saksi pihak lawan, membungkam ketua RT, para petugas KPU yang bertugas di TPS tersebut, sehingga mereka mau menandatangani C1 yang direkayasa tersebut. Itupun, tidak lebih dari 300 orang dikurangi masyarakat yang telah datang untuk melaksanakan hak pilihnya. Apakah anda yakin pihak saksi suatu kubu mau berkompromi untuk menghilangkan suara miliknya? Kalau anda mau melihat informasi dari banyak pihak, silahkan ke forum Mafindo dalam tautan ini. Disini banyak orang orang dari berbagai kubu, dan masyarakat IT yang bergabung dan memberi penjelasan.
Jadi, mau curangi KPU? Saya rasa, saya cuman bisa tertawa terbahak bahak.. Apalagi melihat tampilan virus thread yang katanya serangan ke server KPU, dan layar ping yang digunakan untuk hacking KPU seperti dilakukan nubitol yang sok keren ini, yang akhirnya malah jadi bahan tertawaan.
- Kekurangan bandwidth