Data kependudukan merupakan suatu data yang sensitif dan rahasia. Dengan kerahasiaan itu pula, saat ini pemerintah telah menetapkan aturan registrasi nomor ponsel dengan menggunakan data NIK dan KK yang terdaftar di Dukcapil.Â
Menurut Zudan Arif Fakrulloh, Dirjen Dukcapil Kementerian Dalam Negeri, seperti dilansir dari laman CNN Indonesia, alasan pendaftaran nomor ponsel ini untuk mencegah terorisme, menanggulangi hoaks, dan mengamankan transaksi non-tunai.
Beberapa website sempat membagikan nomor NIK dan KK secara gratis yaitu melalui website ktp.us.to (dan beberapa mirrornya), namun saat ini website tersebut telah diblokir dan sudah ditutup.
Namun tahukah Anda bahwa di provinsi Kalimantan Barat, data ini bisa dengan mudah didapatkan?
Dukcapil Kalimantan Barat memang mempermudah warganya menemukan data nomor KK mereka hanya dengan memasukkan data-data mereka. Melalui laman Cek KK Dukcapil Provinsi Kalimantan Barat, hanya dengan melakukan input nomor KTP (NIK), nama depan/belakang, dan nama ibu kandung saja, pengguna dapat menemukan nomor KK mereka.
Saya pun melakukan ujicoba terhadap laman ini. Saya mengambil beberapa nomor KTP (NIK) dari laman DPS KPU untuk Pilkada 2018 dan melakukan pencarian dengan mencoba-coba kombinasi 4 angka terakhir yang disamarkan dengan angka-angka dimulai dari 0001,0002,0003,0004, dan seterusnya. Ternyata NIK yang benar dapat dengan mudah ditemukan dengan 4 digit terakhir kebanyakan tidak lebih dari 0010. Dengan data ini, nama dan NIK seseorang sudah kita ketahui, tinggal menari nomor KK yang bersangkutan.
Kembali ke laman Cek KK Dukcapil Kalimantan Barat, sekilas memang laman ini tampak aman tanpa masalah karena setelah mencoba memasukkan nama ibu kandung acak, sistem menampilkan pesan error bahwa saya memasukkan data yang salah.
Kemudian saya membaca lagi data formulir yang diminta.Â
Ya, mereka menulis nama depan atau nama belakang saja. Sebagai seorang programmer, saya mempunyai insting bahwa website ini hanya mengecek ada tidaknya input dan mencarinya di database jika input yang kita berikan ada di dalam data sebenarnya di database. Bingung? Maksudnya begini, sebut saja nama yang bersangkutan adalah Joko Widodo, maka jika kita mencari dengan kata kunci "dodo", maka input akan dianggap valid karena kata "dodo" ada di nama "Joko Widodo". Dengan demikian saya pun mencoba memasukkan nama ibu kandung dengan huruf "a" saja dengan data NIK dan nama diambil dari data website KPU sebelumnya.
Saya kaget, ternyata bisa!
![dok.pribadi](https://assets.kompasiana.com/items/album/2018/05/15/jebol-5afa844cab12ae3e6b6dee33.png?t=o&v=770)
Rasa penasaran saya tidak berlalu sampai situ saja, saya pun mencoba memasukkan NIK dengan nama yang dikosongkan keduanya. Permintaan saya ditolak. Saya pun menelusuri data-data yang dikirim ke server ketika sebuah permintaan dilakukan.
![dok.pribadi](https://assets.kompasiana.com/items/album/2018/05/15/lamancekkk-5afa84c8dd0fa87e9c3bf322.png?t=o&v=770)
Bagi Anda yang tidak mengerti, ini artinya komputer pengguna melakukan validasi sendiri bahwa penggunanya bukan robot, berbeda dengan hal yang lazim dilakukan yaitu server (website Dukcapil) memastikan bahwa pengguna bukan robot. Dampaknya adalah pengguna robot pun dapat mem-bypasssecurity check ini.
Semakin penasaran saya, eksperimen pun saya lanjutkan dengan mensimulasikan sebuah permintaan pencarian data dengan menggunakan software bernama Postman. Dengan software ini, kita dapat meniru cara komputer kita mengirim data yang meminta nomor KK tadi ke Dukcapil.Â
Lebih mengejutkan lagi, dengan nama depan/belakang dan nama ibu kandung yang tidak diisi, pengguna dapat langsung mengetahui nama dan nomor KK pemilik KTP tersebut.
![jebol-5afab299bde57530271149e2.png](https://assets.kompasiana.com/items/album/2018/05/15/jebol-5afab299bde57530271149e2.png?t=o&v=770)
Saya mencoba teknik pembobolan SQL Injection, namun sepertinya hal ini tidak berhasil.
Dengan rasa penasaran lebih mendalam, saya membuat script untuk mencoba-coba data NIK dan KK. Dengan mengetahui 6 digit pertama sebuah NIK adalah kode identitas kecamatan, 6 digit selanjutnya adalah tanggal lahir, dan 4 digit setelahnya adalah nomor unik, maka saya membuat sebuah script untuk mencoba semua kemungkinan tanggal lahir dan nomor unik yang saya coba dari 0001 sampai 0010. Uniknya, dalam eksperimen selama 2 hari, saya berhasil mengumpulkan data Nama, NIK, dan KK dari 53876 nomor NIK.
![dok.pribadi](https://assets.kompasiana.com/items/album/2018/05/15/lamancekkk-5afa8a7ecaf7db1d9249ef75.png?t=o&v=770)
Saya sudah mengirim email ke dukcapil@kalbarprov.go.id terkait permasalahan ini namun hingga kini belum menerima balasan maupun tanggapan apapun.
Dengan demikian, jika seorang teroris mengetahui hal ini, masihkah fitur registrasi NIK dan KK cocok sebagai fitur keamanan?
Semoga menjadi pelajaran bagi kita semua, terutama bagi programmer se-Indonesia agar melakukan validasi sebelum memproses masukan dari pengguna.
DISCLAIMER: DATA YANG SUDAH SAYA KUMPULKAN BERLAKU HANYA SEBAGAI EKSPERIMEN PRIBADI DAN TIDAK AKAN SAYA BAGIKAN/JUAL KEPADA PIHAK MANAPUN. SAYA TERBUKA JIKA ADA PIHAK YANG MERASA DIRUGIKAN DAN SAYA BERTANGGUNGJAWAB SECARA HUKUM UNTUK MEMASTIKAN BAHWA DATABASE YANG SAYA GUNAKAN TIDAK DAPAT DIAKSES PIHAK LAIN.
PENULIS DAPAT DIHUBUNGI MELALUI WHATSAPP 089628035167 .
UPDATE 15 Mei 2018 pukul 16:21 WIB:
Ada perbaikan dari pihak Dukcapil Kalimantan Barat yaitu dengan menambahkan POST data recaptcha (dengan variabel post "gr"). Namun anehnya pihak Dukcapil tidak memverifikasi kebenaran recaptcha ini sehingga jika dimasukkan data yang tidak valid pun tetap bisa dan diterima.
UPDATE 16 MEI 2018 pukul 10:41 WIB:
Pihak Dukcapil membalas email saya:
Halo,
Terima kasih atas pelaporannya.
UPDATE 16 MEI 2018:
Saat ini fitur cek KK di website Disdukcapil Kalimantan Barat telah dinonaktifkan. Terima kasih atas respon "cepat" staff terkait.