Heboh Hacker di Situs KPU

0
437

Ini di IPB, Doktor Munawar. Dia S1 di Mekanisasi Pertanian IPB, S2 Sistem Informasi UI, dan S3 Sistem Informasi di UTM Malaysia… Mungkin bisa menjelaskan apa yang terjadi soal heboh hacker di situs kpu.
Server KPU Diretas?
Munawar

Heboh di media sosial tentang peretasan server KPU yang menyajikan informasi perolehan suara pasca pilkada telah menjadi viral dan menghiasi obrolan di banyak kalangan. Hanya saja penjelasan resmi KPU ternyata tidak cukup memuaskan banyak pihak. Akhirnya muncullah berbagai macam isu seperti serangan dari singapura, china, australia dsb. Apa yang sebenarnya sedang terjadi? Bagaimanakah proses peretasan terjadi? Mengapa banyak kalangan heboh dengan berita peretasan tersebut? Mungkin masih banyak pertanyaan yang memenuhi benak kepala namun tidak bisa mendapatkan penjelasan yang memuaskan. Untuk itu pada tulisan ini akan dicoba mengupas tuntas tentang hal tersebut dengan bahasa yang populer agar orang awam sekalipun bisa memahaminya.

Arsitektur Server
Secara sederhana server adalah tempat penyimpanan data maupun transaksi yang penting bagi suatu organisasi. Sebagaimana lazimnya di dunia nyata, tempat dimana kita menyimpan benda-benda berharga pasti akan banyak diberikan pengamanan, agar tidak mudah dicuri oleh orang yang tidak bertanggung jawab. Demikian juga halnya dengan server. Sebagai dapurnya data bagi suatu organisasi, server juga dilengkapi dengan pengamanan yang berlapis; mulai dari password untuk mengakses, firewall agar hanya orang-orang tertentu saja atau data tertentu saja yang bisa masuk sampai ke penggunaan DMZ (demilitarization zone). DMZ ini mengacu kaidah yang dipakai di militer yaitu restricted area dimana akses ke lokasi ini sangat dibatasi tidak hanya kepada orang bahkan juga kepada komputer. Sedemikian ketatnya area ini dimana keamanannya berlapis-lapis mirip kawasan militer, maka disebutlah dengan DMZ.

Akses ke dan oleh Server
Pembahasan tentang akses ke server juga sangat penting. Seperti halnya penduduk Jakarta dan sekitarnya, persyaratan sebuah perumahan yang layak adalah bebas banjir. Namun baru belakangan ini terasa bahwa bebas banjir saja tidaklah cukup. Kalau perumahan kita sudah bebas banjir, namun akses ke dan dari perumahan kita ke tempat lain terkena banjir juga jadi masalah. Karena kita jadi tidak bisa kemana-mana. Demikian juga dengan server. Kalau dari mana-mana tidak bisa akses akibat areal seputar server dibanjiri dengan permintaan akses, maka informasi yang diinginkan dari server otomatis tidak bisa diperoleh.
Disisi lain, untuk memperoleh informasi tertentu server akan melakukan proses pengolahan. Jika ada banyak komputer (baik yang riil maupun zombie) yang meminta informasi ke server secara bersamaan maka server bisa down.
Dengan demikian, untuk membuat server tidak bisa diakses, bisa dilakukan dengan 2 cara yaitu dengan menyibukkan server dengan banyaknya permintaan untuk diproses atau akses ke server diblok dengan membanjiri area sekitar server dengan permintaan.

SQL Injection
Konten informasi yang ditampilkan oleh server biasanya diolah dengan perintah SQL (Structure Query Language). Demikian juga untuk penyimpanan data biasa menggunakan perintah SQL. Oleh karena itu jika ada niat untuk melakukan manipulasi atas data atau informasi yang ada diserver bisa dengan menyisipkan perintah di SQL atau dikenal sebagai SQL injection. Misalkan untuk akses informasi tertentu dibutuhkan login dan password, dengan teknik tertentu, kita bisa by pass atau abaikan request login dan password tersebut. Dengan demikian kita bisa melenggang bebas masuk ke aplikasi yang bisa akses ke server.
Untuk yang sudah pakar, biasanya akan lebih memilih trial and error untuk akses ke database server langsung. Masih banyak organisasi yang admin databasenya tidak menyadari pentingnya menjaga password admin. Penggunaan password yang sederhana (misal tanggal lahir, nama panggilan dll) sangat mudah untuk ditebak, yang akhirnya memudahkan akses ke database root.

Port yang Terbuka
Port bisa diibaratkan seperti pintu. Suatu server dilengkapi dengan banyak port. Ibarat rumah, jika pintunya terbuka maka orang akan mudah masuk. Demikian juga dengan port yang terbuka bisa diibaratkan mengundang maling untuk masuk ke server. Biasanya admin jaringan sangat konsen dengan port ini, karena port merupakan pintu untuk transfer data. Seorang hacker biasanya akan menscanning dulu target servernya untuk melihat apakah ada port yang terbuka yang memungkinkan untuk masuk dan mengekploitir data yang ada di dalamnya. Kalau semua port sudah tertutup, mereka akan mencoba menggedornya untuk bisa masuk.

Analisis Singkat Server KPU
Setelah mengetahui hal-hal dasar yang perlu diketahui tentang peretasan, berikutnya kita akan membahas tentang apa yang sebenarnya terjadi di server KPU. Sifat dasar manusia adalah suka tantangan. Semakin ketat kita menjaga sesuatu, semakin membuat orang penasaran tentang hal tersebut. Pengalaman penulis saat terlibat dalam banyak proyek aplikasi online adalah banyaknya serangan ke server maupun aplikasi online yang baru dibangun karena rasa penasaran. Apalagi aplikasi yang menjadi pusat perhatian banyak orang seperti data pilkada yang di KPU. Wajar jika banyak orang ingin tahu karena penasaran maupun karena serius pengin melakukan sesuatu ke data maupun server KPU.
Sebelum pembahasan lebih jauh, ada baiknya difahami bahwa pemilu di Indonesia belum menganut sistem elektronik. Dengan demikian hasil perhitungan yang sah adalah perhitungan manual berdasar form C1. Perhitungan dengan sistem elektronik hanya untuk membantu saja sifatnya. Meski demikian ternyata tidak menyurutkan niat orang-orang yang tidak bertanggung jawab untuk meretas server KPU. Tujuannya tidak lain dan tidak bukan adalah untuk menurunkan kredibilitas KPU sehingga kepercayaan masyarakat akan berada pada titik nadir. Dengan demikian otomatis akan timbul syak wasangka atas rekapitulasi suara yang dilakukan secara manual.
Dengan cara apa mereka meretas server KPU? Cara pertama yang paling mudah adalah dengan sql injection. Ingat kasus beberapa tahun yang lalu saat KPU dipermalukan karena nama-nama parpol diganti menjadi nama-nama buah? Cara ini relatif sudah agak susah dilakukan sekarang ini, karena hampir semua bahasa pemrograman sudah menyediakan tools yang bisa mengantisipasi hal tersebut. Kalau sampai masih terjadi juga berarti benar-benar teledor pengembang aplikasinya. Cara yang paling sering digunakan untuk melumpuhkan server adalah dengan membanjiri server dengan request melalui banyak zombie atau lebih dikenal dengan DDOS (Dynamic Denial of Service). Dengan semakin banyaknya request (baik yang beneran maupun zombie) yang melebihi batas kemampuan server akan otomatis melumpuhkan server. Dari pengalaman mengelola banyak server, untuk server yang kurang terkenal saja ada ribuan yang scan ke server per harinya, apalagi server KPU yang menjadi pusat perhatian. Butuh spesifikasi server yang handal untuk mengantisipasi banyaknya request (mungkin bisa jadi jutaan pada saat yang bersamaan) agar server tidak down.
Idealnya server produksi (yang terkait dengan pemasukan dan pemutakhiran data) dengan server untuk diperlihatkan ke publik dipisah dalam sebuah DMZ. Dengan demikian, kalaupun sampai terjadi serangan maka yang terkena serangan bukan server produksi namun server untuk publik. Dengan demikian upaya pemulihannya pun bisa dilakukan secara cepat.
Hal yang tak kalah pentingnya adalah memastikan bahwa port-port penting di server selalu tertutup. Hal ini yang kemarin sempat termonitor, dimana banyak port yang terbuka sehingga terkesan terjadi lomba adu kecepatan menutup port dengan para penyusup. Untuk lebih mendramatisir keadaan bisa diiluastrasikan seperti adu balapan antar admin dengan penyusup, dimana saat admin berhasil menutup suatu port, port yang lain yang sudah digedor dengan keras sudah terbuka. Demikian uraian singkat tentang heboh server KPU, mudah-mudahan bisa memberikan pemahaman.

Fachim Harharah Zusfan Mashuri

TINGGALKAN KOMENTAR

Silakan masukkan komentar anda!
Silakan masukkan nama Anda di sini

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.