Kamis, 24 Juli 2014
Security Audit Sistem IT KPU Pilpres 2014
Perkenalkan. Nama saya A. Tanpa nama belakang.
Saya lahir di Indonesia. Sebagai CEH, profesi saya konsultan keamanan jaringan komputer.
Baru tahun ini saya mengikuti berita-berita dan ikut memilih di Pemilu Presiden Indonesia.
Hari ini 23 Juli 2014. Saya membaca berbagai tulisan orang. Banyak yang bertanya: Apakah Pemilu Presiden 2014 berlangsung dengan jujur dan adil?
Saya mungkin punya jawabannya. Mungkin. Tulisan saya mungkin menjawab pertanyaan. Mungkin juga malah membuka banyak pertanyaan baru.
Namun sebelumnya mohon maaf. Saya bukan penulis. Mohon maaf jika bahasa saya kurang baik. Saya coba sampaikan dengan singkat dan efektif.
Tulisan ini saya tujukan untuk anda-anda yang penasaran.
Juga untuk calon presiden terpilih, pak Jokowi. Agar nanti sistem IT Pemilu 2019 bisa lebih baik dari sekarang. Agar tidak ada lagi yang teriak curang.
Juga untuk calon presiden tidak terpilih, pak Prabowo. Karena anda pasti penasaran. Juga untuk presiden sekarang, pak SBY. Siapa tahu, bapak juga penasaran.
Juga untuk para perancang dan admin sistem IT Pemilu 2014: Raden Santoso, Nanang Indra, Utian Ayuba, Andy Nugroho, Yoga Dahirsa, Muhammad Hafidz dkk.
Tentunya juga untuk pada anggota KPU: Husni Kamil Malik, Ferry Kurnia Rizkiyansyah, Ida Budhiati, Sugit Pamungkas dkk.
Anggap saja ini sumbangan saya. Untuk bahan pelajaran bersama. Agar Indonesia lebih aman. Indonesia hebat. Indonesia bangkit.
7 April 2014
Di 7 April 2014. Saya mengamati ada fenomena menarik.
Hacker dan cracker juga punya hak pilih. Punya hak berpolitik. Juga punya hak berkampanye mendukung nomor satu atau nomor dua.
Begitu besar semangat para hacker dan cracker dalam Pemilu Presiden 2014 ini. Sebagian besar dukung nomor dua. Walau juga ada yang dukung nomor satu.
Ini kesimpulan saya setelah melihat begitu banyak iklan capres di Google dan YouTube. Iklan yang baik-baik saja. Juga iklan yang tidak baik-baik saja.
Padahal tidak boleh ada iklan capres di kedua situs ini. Google melarang iklan politik di Indonesia. Dalam bentuk apapun. Namun...
Mereka pasti menyadari kemampuan Google dalam menyaring dan memblokir iklan terbatas. Celah ini yang diekploitasi.
Ada juga yang begitu bersemangat, banyak situs orang diretas, diubah jadi halaman untuk promosi atau menjelekkan yang tidak didukungnya.
Mereka berusaha untuk mempengaruhi persepsi. Persepsi mempengaruhi hasil.
Usaha mereka membuat saya bertanya. Selain menyebarkan informasi untuk mempengaruhi presepsi, apa lagi yang bisa mereka lakukan?
Dapatkan hacker dan cracker simpatisan capres meretas sistem IT KPU? Dan mempengaruhi hasil secara langsung? Saya mencobanya.
Celah Keamanan # 1: Email Anggota KPU
Untuk memahami bagaimana cara kerja sistem IT KPU saya perlu informasi dari dalam. Saya mulai dari mencari alamat email anggota-anggota KPU.
Saya menemukan dokumen ini semua alamat email komisioner KPU yang aktif digunakan ada di dokumen ini. Enam dari tujuh menggunakan email gratisan.
Saya jadi bertanya. Mengatur pemilu bukan pekerjaan main-main. Kenapa gunakan email gratisan yang mudah diretas? Apa mungkin disengaja?
Ferry Kurnia sepertinya adalah yang paling muda dari tujuh anggota KPU. Biasanya yang paling muda adalah yang paling terlibat untuk urusan IT.
Saya kirimkan satu email phishing ke Ferry. Tidak sampai dua jam, saya sudah bisa akses dan membaca semua email yang pernah diterima dan dikirimkan.
Apa yang saya temukan membuat saya bingung. Saya yakin para anggota KPU, dan para perancang sistem IT KPU bukan orang sembarangan.
Namun mereka seperti membuat semuanya begitu mudah untuk seorang yang punya niat seperti saya untuk masuk ke sistem IT KPU.
Celah Keamanan # 2: Berkirim Username dan Password di Email
Hal pertama yang saya lakukan ketika membuka boks email salah satu anggota KPU adalah mencari kata "password". Saya sungguh terkejut.
Saya langsung dapat password ke SILOG. Sistem Logistik.
Saya juga dapat password ke Dropbox yang dipakai untuk simpan copy data pemilih seluruh Indonesia.
Dapat juga password ke sistem real count KPU. Ya. Ternyata KPU memiliki sistem real count yang entah mengapa tidak ditampilkan di websitenya sehingga publik harus menghitung sendiri seperti di website kawalpemilu.org.
Dapat juga password untuk mengelola website KPU. Dapat juga password untuk SIDALIH, sistem data pemilih. Dapat juga password untuk banyak sistem lainnya.
Ini juga membuat saya bingung. Berbagai password dikirimkan begitu saja oleh admin melalui email. Apakah ingin memudahkan hacker untuk masuk sistem?
Catatan: Banyak password di screenshot ini masih digunakan... Jadinya saya hidden ya... Maaf kalau jadi penasaran.
Celah Keamanan # 3: Ada Google Docs Daftar Username dan Password
Betapa terkejutnya saya. Email ini benar-benar di luar logika dan cara berpikir saya. Saya temukan satu email yang dikirimkan oleh admin sistem IT KPU kepada semua anggota KPU. Isinya GOOGLE DOCS dengan daftar semua password sistem IT KPU.
Saya jadi benar-benar curiga, para admin dan anggota KPU memang ingin memudahkan hacker dan cracker untuk masuk ke sistem IT KPU.
Apalagi...
Celah Keamanan # 4: Pola Password Mudah Ditebak
Sebagai contoh, ini password SSH ke website KPU yang pernah digunakan: 4dm1n80njol@w1w1k. Username: kpuadmin.
Password root shell/MySQL: m3rd3k41945!
Banyak password sistem IT KPU menggunakan pola yang sama. Apakah agar mudah diingat... Atau agar mudah diretas. Maaf jika saya berpikir yang tidak-tidak, karena saya dilatih untuk mencermati pola.
Celah Keamanan # 5: Semua Anggota KPU Bisa Edit Daftar Pemilih Sesuka Hati
Ini adalah Sistem Data Pemilih (SIDALIH) KPU. Dengan sistem ini KPU mengatur nama-nama yang masuk ke Daftar Pemilih Sementara (DPS) dan Daftar Pemilih Tetap (DPT).
Penambahan atau pengurangan nama-nama pemilih dapat dilakukan dari sistem ini. Ini krusial karena di Indonesia pemilih dapat memilih cukup berbekal undangan tanpa perlu KTP.
Saya orang awam. Namun jadi pertanyaan besar untuk saya. Jika mau aman: Kenapa semua anggota KPU bisa edit DPT sesuka hati? Kenapa akses yang diberikan oleh admin tidak hanya read only?
Keputusan hak edit ini, tentu saja keputusan disengaja, tidak mungkin kecelakaan, memberikan kewenangan sangat besar untuk setiap anggota KPU untuk bermain dengan jumlah pemilih. Mengurangi atau menambahkan.
Bisa saja jika ada anggota KPU yang komunikasi dengan tim sukses calon presiden tertentu, atau jika ada hacker atau cracker pendukung calon presiden tertentu yang masuk ke sistem seperti saya... Bisa saja menambahkan pemilih baru... atau mengurangi pemilih di daerah-daerah tertentu.
Mereka yang belum bisa memilih, bisa diberikan hak untuk memilih. Mereka yang diketahui akan memilih calon tertentu, bisa dicabut hak memilihnya... Dengan mudah. Sangat mudah.
Apalagi untuk setiap entri... Tidak ada info atau log secara terbuka, siapa yang terakhir melakukan edit apalagi edit history.
Celah yang membahagiakan... Bagi siapapun yang punya niat tidak baik.
Celah Keamanan # 6: Semua Anggota KPU Bisa Edit Jumlah Pengiriman Kertas Suara Sesuka Hati
Sistem Logistik (SILOG) KPU. Dengan sistem ini KPU mengatur distribusi surat suara ke semua daerah / TPS. Penambahan atau pengurangan pengiriman kertas suara dapat dilakukan dari sistem ini.
Pertanyaan saya mengenai SILOG ini sama dengan SIDALIH.
Saya orang awam. Namun jadi pertanyaan besar untuk saya. Jika mau aman: Kenapa semua anggota KPU bisa edit logistik pemilu seperti kertas suara sesuka hati? Kenapa akses yang diberikan oleh admin tidak hanya read only?
Maaf kalau ini seperti mengulang. Keputusan ini, tentu saja keputusan disengaja, tidak mungkin kecelakaan, memberikan kewenangan sangat besar untuk setiap anggota KPU untuk bermain dengan jumlah kertas suara.
Bisa saja jika ada anggota KPU yang komunikasi dengan tim sukses calon presiden tertentu, atau jika ada hacker atau cracker pendukung calon presiden tertentu yang masuk ke sistem seperti saya... Bisa saja mengirimkan kertas suara lebih ke daerah-daerah tertentu. Sangat mudah.
Apalagi seperti di SIDALIH... Untuk setiap entri... Tidak ada info atau log secara terbuka, siapa yang terakhir melakukan edit apalagi edit history.
Apresiasi: Sistem Scan Formulir C1
Dalam membuat tulisan ini, saya merasa saya harus adil. Jika ada celah keamanan, saya sampaikan. Jika ada best practice yang dilakukan, saya apresiasi.
Sistem scan formulir C1 yang dibuat oleh tim KPU menurut saya sangat bagus. Antarmuka aplikasi didesain sederhana, tidak banyak isian. Ini pastinya membantu meningkatkan penggunaan sistem.
Presentasi C1 di web pilpres2014.kpu.go.id juga bagus. Sederhana dan mudah digunakan oleh siapapun.
Pengelolaan C1 ini membuat persepsi kalau pemilu berlangsung dengan jujur dan adil. Hampir tidak mungkin mempengaruhi hasil pemilu jika scan C1 sudah terkumpul semua di server KPU.
Namun saya punya pertanyaan. Pertanyaan cukup besar. Admin membuat aplikasi real count, khusus untuk pada anggota KPU di alamat http://103.21.228.33/internal - kenapa data ini tidak dibuka ke publik?
Kenapa memaksa publik untuk melakukan gotong royong entri data dari ratusan ribu formulir C1? Padahal real count nya sudah ada...
Sekedar pertanyaan selewat saja. Mungkin ada penilaian sendiri...
Kesimpulan
Kembali ke pertanyaan awal: Apakah Pemilu Presiden 2014 berlangsung dengan jujur dan adil?
Saya tidak tahu. Terlalu banyak daerah, terlalu banyak TPS, terlalu banyak nama pemilih untuk dapat mengetahui permainan dengan SILOG atau SIDALIH.
Namun dua hal yang pasti. Pertama: Siapapun yang bisa punya akses ke SILOG dan SIDALIH dan punya niat untuk memenangkan calon nomor satu atau nomor dua, terutama sebelum bulan Mei 2014, dan punya kemampuan koordinasi dengan tim sukses di lapangan (TPS TPS, desa-desa mana saja yang perlu dilebihkan kertas suara... Nama-nama apa saja yang perlu ditambahkan atau dikurangi dari sistem) dapat sangat mempengaruhi hasil Pemilu Presiden 2014.
Kedua: Sama sekali tidak sulit untuk mengakses semua sistem IT KPU. Malah saya curiga... Seperti dibuat begitu mudah bagi hacker dan cracker yang ingin masuk. Ada apa?
Semoga bukan kenapa-kenapa. Semoga celah-celah keamanan yang saya tulis disini... Adalah kesalahan yang tidak disengaja.
Karena siapa yang punya akses ke sistem IT KPU... Bisa mempengaruhi siapa yang terpilih jadi presiden.
Presiden yang punya kuasa akan negara 250 juta penduduk. Anggaran 2.000 triliun. 600.000 tentara. Perputaran uang hampir 10.000 triliun.
Karena kalau memang disengaja...
Sangat mudah... Bisa ada ratusan... Ribuan... Mungkin jutaan pemilih "baru". Hasil kreasi dari mereka yang punya akses ke SIDALIH.
Bisa juga ada ratusan... Ribuan... Mungkin jutaan kertas suara yang "kebetulan lebih". Hasil kreasi dari mereka yang punya akses ke SILOG.
Maaf jika tulisan ini jadi menimbulkan pertanyaan baru.
Demikian tulisan saya. Semoga ini bermanfaat.
A.
Catatan kaki: Saya seorang hacker. Bukan cracker. Saya melakukan audit ini karena penasaran. Bukan karena ada niat tidak baik.
Namun undang-undang Indonesia tidak membedakan. Untuk menghindari kemungkinan pidana... I wish to remain anonymous.