View
227
Download
0
Category
Preview:
Citation preview
15
HASIL DAN PEMBAHASAN
4.1 Deskripsi Sistem E-Voting Pilkada Kota Bogor
Sistem e-voting pilkada kota Bogor menggunakan protokol Two Central
Facilities yang dimodifikasi. Protokol ini dipilih karena menurut Schneier (1996)
termasuk protokol yang paling memenuhi sebagian besar persyaratan untuk
menjalankan secure election dan dibandingkan protokol-protokol lain.
Sistem e-voting pilkada kota Bogor memiliki tiga komponen utama yaitu
mesin voting, server CLA, dan server CTF.
Mesin voting merupakan satu unit Personal Computer yang dijalankan
dengan sistem operasi Microsoft Windows client. Lingkungan sistem pada mesin
voting sebagai berikut:
a. Apache Friends XAMPP sebagai server web.
b. MySQL sebagai server database.
c. PHP sebagai bahasa pemrograman.
d. Mozilla Firefox sebagai browser.
e. VPN PPTP digunakan untuk jalur komunikasi.
f. Mivare card untuk alat autentikasi pemilih.
Fungsi utama dari mesin voting adalah untuk melakukan pemilihan dan
menyimpan sementara hasil pemilihan sebelum dikirim ke server CTF untuk
dilakukan perhitungan suara.
Server Central Legitimization Agency (CLA) merupakan satu unit Personal
Computer yang dijalankan dengan sistem operasi Microsoft Windows Server
2008. Lingkungan sistem pada server CLA sebagai berikut:
a. MySQL sebagai server database.
b. PHP sebagai bahasa pemrograman.
c. VPN PPTP digunakan untuk jalur komunikasi.
Server CLA merupakan badan sertifikasi pemilih yang memiliki tugas utama
mengotentikasi dan mengotorisasi pemilih. Server CLA mempunyai database
yang menyimpan data pemilih baik data diri maupun Unique Identification
Number (UID) dan Nomor Induk Kependudukan (NIK) pemilih. Setiap proses
16
yang membutuhkan data pemilih, contohnya login dan verifikasi pilihan harus
melakukan pengecekan langsung dengan server CLA melalui mesin voting.
Server Central Tabulating Facilities (CTF) merupakan satu unit Personal
Computer yang dijalankan dengan sistem operasi Microsoft Windows Server
2008. Lingkungan sistem pada server CTF sebagai berikut:
a. MySQL sebagai server database.
b. PHP sebagai bahasa pemrograman.
c. VPN PPTP digunakan untuk jalur komunikasi.
Server CTF merupakan badan tabulasi/penghitungan suara. Pangkalan data yang
terdapat pada CTF berisi suara atau pilihan pemilih dan perhitungannya untuk
masing-masing kandidat.
Untuk keamanan pengiriman data dalam setiap proses, dilakukan
pengenkripsian data menggunakan.
a. RSA (2048 bits): Enkripsi kunci publik.
b. AES (128 bits): Enkripsi kunci simetris.
c. SHA-2 (256 bits): Signature/Hashing.
Pada sistem e-voting pilkada Kota Bogor, tidak terdapat sistem keamanan
yang diterapkan pada Apache Friends XAMPP dan MySQL yang digunakan
sebagai server web dan server database.
Mesin voting tidak menyediakan keyboard ataupun mouse selama proses
evoting. Hal ini di anjurkan agar interaksi antara manusia dengan mesin voting
menjadi lebih terbatas, untuk memperkecil kemungkinan human error ataupun
tindakan-tindakan yang tidak diinginkan lainnya. Pemilih hanya berinteraksi
dengan sistem e-voting menggunakan layar sentuh.
Selanjutnya akan dijelaskan Proses pemilihan sistem e-voting pilkada Kota
Bogor dengan informasi yang dihimpun dari (Prayanta 2011), Kusumah (2011),
(Priyanggodo 2012).
Skema pemilihan dengan Two Central Facilities dimodifikasi dapat dilihat
pada Gambar 5, alur kerja online voting berdasarkan gambar tersebut terbagi
menjadi empat tahapan dengan penjelasan sebagai berikut:
Tahap pertama:
1. Pengiriman kunci publik oleh masing-masing mesin voting kepada CLA.
17
2. CLA mengirimkan kunci simetris yang telah dienkripsi menggunakan kunci
publik yang diterima dari masing-masing mesin voting dan diberikan kepada
masing-masing mesin voting sesuai alamat IP address masing-masing mesin
voting.
3. Pemilih mengirimkan permintaan untuk memilih melalui mesin voting dengan
cara menempelkan kartu identitasnya.
4. Mesin voting akan mengirimkan data kartu identitas pemilih yang telah
dienkripsi kepada CLA.
5. CLA akan melakukan proses dekripsi terhadap data yang diterima.
6. CLA akan melakukan autentikasi pemilih dengan database.
Diagam alir tahap pertama digambarkan pada Lampiran 2.
Tahap kedua:
1. Apabila pemilih dinyatakan berhak memilih dengan ketentuan pemilih telah
terdaftar di database dan belum memilih sebelumnya, pemilih akan diarahkan
kepada halaman pemilihan dan status pemilih akan diubah menjadi status telah
melakukan autentikasi. Namun, apabila pemilih dinyatakan tidak berhak
memilih, pemilih langsung diarahkan ke halaman gagal memilih.
2. Setelah pemilih melakukan pemilihan, pilihan pemilih akan disimpan pada
mesin voting dan status pemilih akan diubah menjadi status telah melakukan
Gambar 5 Skema pemilihan dengan Two Central Facilities dimodifikasi
(Kusumah 2011)
18
pemilihan. Mesin akan terus menerus melakukan proses yang sama sampai
pada waktu pemilihan usai.
Diagam alir tahap kedua digambarkan pada Lampiran 3.
Tahap ketiga:
1. Pengiriman kunci publik oleh masing masing mesin voting kepada CTF.
2. CTF mengirimkan kunci simetris yang telah dienkripsi menggunakan kunci
publik yang diterima dari tiap-tiap mesin dan dikirimkan kepada masing-
masing mesin sesuai alamat IP address mesin.
Diagam alir tahap ketiga digambarkan pada Lampiran 4.
Tahap keempat:
1. Mesin secara periodik akan melakukan permintaan kepada CLA untuk
mengirimkan data ke CTF dengan mengirimkan informasi identitas mesin
yang dienkripsi.
2. CLA akan melakukan proses autentikasi dan mengirimkan suatu random key
mesin kepada mesin voting dan CTF yang dienkripsi.
3. Mesin voting akan mengirimkan identitas mesin, data hasil pemilihan, dan
juga nilai random kepada CTF yang didapatkan dari CLA yang telah
dienkripsi.
4. CTF melakukan pencocokan nilai random key yang diberikan mesin dengan
random key yang diterima dari CLA untuk mesin tersebut.
5. Apabila random key yang dikirimkan mesin dan CLA sesuai, jumlah suara
yang diberikan mesin kepada CTF akan disimpan ke dalam CTF.
6. Mesin akan terus menerus melakukan proses yang sama sampai pada waktu
pemilihan usai.
Diagam alir tahap keempat digambarkan pada Lampiran 5.
Kelebihan dari protokol Two Central Facilities yang dimodifikasi ialah
penggunaan jalur komunikasi untuk autentikasi pemilih pada CLA tidak akan
terganggu oleh data yang dikirimkan ke CTF, sebab waktu pengirimannya yang
berbeda.
Pemisahan waktu pengiriman mempermudah penyelenggara untuk
mengecek kecurangan yang terjadi pada mesin CTF. Sebab suara pemilih akan
dikirimkan pada waktu yang random ke CTF setelah waktu pemilihan selesai,
19
sehingga apabila sebelum waktu pemilihan selesai pada CTF telah ditemukan
suara pemilih dari mesin voting dapat dipastikan suara tersebut bukanlah suara
yang sah.
Sistem ini tidak memenuhi salah satu kriteria secure election yang ideal
yang disebutkan pada buku karangan (Schneier 1996), yaitu setiap pemilih dapat
memastikan bahwa suara mereka sudah dikirimkan dan terhitung dalam
penghitungan akhir sebab suara yang dikirimkan ke CTF bukanlah suara yang
dikirimkan secara langsung oleh pemilih, melainkan suara yang diakumulasi
terlebih dahulu pada mesin voting. Tidak ada seorang pun yang dapat mengetahui
pemilih dan pilihan yang dipilihnya. Namun, di sisi lain, hal ini menjadi salah satu
kekuatan dari sistem ini, sebab tidak akan dimungkinkan terjadi penelusuran ke
belakang oleh pihak-pihak manapun yang mampu mengumpulkan database dari
CLA, CTF, dan mesin voting.
4.2 Secure Voting Requirements
Hal mendasar yang diperlukan untuk melakukan analisis keamanan e-voting
adalah pendefinisian sifat-sifat yang diinginkan oleh sistem. Sifat-sifat yang
diinginkan tersebut merepresentasikan struktur dan keberfungsian yang
diharapkan dari suatu sistem e-voting. Sistem e-voting dikatakan aman, apabila
sifat-sifat yang diinginkan pada sistem terpenuhi.
Dalam penelitian ini sifat-sifat yang diinginkan pada sistem akan mengacu
pada sebagian requirement secure voting (Schneier 1996), yaitu:
1. Hanya pemilih yang berhak yang dapat memberikan suara (otentifikasi).
2. Tidak boleh memberikan lebih dari satu suara.
3. Tidak boleh menentukan orang lain harus memilih untuk siapa.
4. Tidak ada yang bisa menduplikasi suara orang lain.
5. Tidak boleh mengubah pilihan orang lain.
6. Setiap pemilih dapat memastikan bahwa suara mereka sudah dikirimkan dan
terhitung dalam penghitungan akhir.
Berdasarkan kebijakan KPU (Komisi Pemilihan Umum) tidak semua
requirement secure voting sesuai dengan sistem pemilu di Indonesia, dimana
menurut peraturan KPU, setiap pemilih tidak dapat memastikan bahwa suara
20
mereka sudah dikirimkan dan terhitung dalam penghitungan akhir. Sebagian dari
persyaratan tersebut di atas diantaranya:
1. Hanya pemilih yang berhak yang dapat memberikan suara. Terdapat UID dan
NIK pada mifare card yang bersifat unique. Hanya UID dan NIK yang
terdapat pada database CLA yang dapat melakukan proses pemilihan.
2. Tidak boleh memberikan lebih dari satu suara. UID dan NIK dari mifare card
yang telah melakukan pemilihan dicatat pada CLA sehingga setiap pemilih
hanya dapat memberikan satu suara. Tidak boleh memberikan lebih dari satu
hasil suara.
3. Tidak ada yang bisa mengubah pilihan orang lain. UID dan NIK dari mifare
card yang telah melakukan pemilihan dicatat pada CLA sehingga mifare card
tidak dapat digunakan lagi.
4.3 Vulnerability dan Serangan Khusus Sistem E-Voting
Sistem e-voting dapat diserang pada titik-titik penyimpanan data,
pengolahan suara, dan saluran komunikasi. Pada bagian ini akan diidentifikasi
potensi titik serangan dan ancaman yang berkaitan dengan komponen sistem e-
voting yang secara langsung mempengaruhi sifat-sifat yang diinginkan dari sistem
e-voting.
Ada jutaan pemilih dengan mesin voting, server CLA dan server CTF.
Seorang penyerang dapat menyerang komponen tersebut atau koneksi antar
komponen untuk mempengaruhi proses voting.
Sistem e-voting memiliki komponen-komponen berikut:
Mesin voting.
Server Central Legitimization Agency (CLA).
Server Central Tabulating Facilities (CTF).
Saluran komunikasi.
Kemungkinan serangan pada komponen-komponen sistem e-voting dapat
dilihat pada Gambar 6, dengan penjelasan sebagai berikut:
1. Menyerang mesin voting.
Tujuan dari serangan ini untuk mempengaruhi proses pemilihan, pengelolaan
suara, dan penyimpanan data.
21
Sebagai contoh, pengaturan beberapa bagian dari database mesin voting untuk
memperoleh informasi pada surat suara, untuk menambahkan surat suara atau
untuk menghapus suara yang tidak diinginkan. Hal ini dapat dilakukan dengan
cara merubah kode program agar terjadi kecurangan pada e-voting.
Serangan lain adalah penyalahgunaan mifare card oleh orang yang bukan
pemegang kartu yang sah, sehingga orang yang tidak berhak untuk memilih
dapat melakukan pemilihan.
2. Menyerang server CLA.
Tujuan dari serangan ini untuk mempengaruhi proses otentikasi.
Contoh dari serangan ini adalah pengubahan UID dan NIK yang akan
dikirimkan sistem ke pemilih serta status pemilih. Pengubahan ini mungkin
dilakukan apabila database server CLA dapat ditembus oleh penyerang
sehingga akun pemilih tidak lagi sama dan tidak dapat digunakan oleh
pemilih. Serangan lain adalah . penolakan layanan yang mengakibatkan
Server CLA tidak dapat diakses oleh para pemilih. Penyerangan ini dapat
dilakukan melalui serangan DoS atau (Denial Of Service).
3. Menyerang server CTF.
Tujuan dari serangan ini untuk mempengaruhi tahap penghitungan suara.
Gambar 6 Potensi serangan pada sistem e-voting
22
Seorang lawan merubah kode program pada database server CTF untuk
mengubah fungsionalitas server CTF. Contohnya, untuk mempengaruhi
penghitungan suara.
4. Menyerang koneksi antara mesin voting dan server CLA.
Tujuan dari serangan ini untuk mempengaruhi proses komunikasi antara
mesin voting dan server CLA.
Sebagai contoh, penyerang dapat bertindak sebagai Man in the Middle saat
CLA mengirimkan kunci simetris kepada mesin voting untuk melakukan
komunikasi, pihak yang mengirimkan kunci tersebut bukanlah CLA yang
resmi melainkan server lain yang mengaku sebagai CLA.
Berdasarkan potensi-potensi serangan pada sistem e-voting, akan dilakukan
analisis terhadap serangan khusus pada sistem e-voting. Menurut (Buldas & Magi
2007), serangan khusus e-voting adalah serangan yang mengakibatkan perubahan
besar dalam penghitungan akhir. Jika suatu sistem e-voting aman dalam hal
serangan khusus voting, maka dapat ditentukan bahwa sistem tersebut aman pada
prakteknya.
Ada beberapa serangan khusus voting.
1. Pencurian suara.
Tujuan serangan ini adalah untuk memberi lebih banyak suara untuk kandidat
tertentu. Jika sistem e-voting tidak aman terhadap pencurian suara, maka
penyerang dapat memberikan surat suara dan diterima dalam penghitungan
akhir. Ancaman lainnya adalah pemilih mampu untuk memberikan lebih dari
satu suara, sehingga seluruh suara diterima dalam penghitungan akhir dan
penyerang dapat menambahkan atau mengurangi suara kandidat.
2. Penggagalan/pencabutan suara.
Tujuan serangan pencabutan suara adalah untuk mengeliminasi suara yang
tidak diinginkan. Jika sistem e-voting tidak aman terhadap penggagalan suara,
maka pemilih yang berhak tidak dapat melakukan pemilihan, dan suara
pemilih tidak diperhitungkan dalam perhitungan akhir suara. Serangan ini
bukan untuk menggagalkan e-voting, karena hal itu tidak menguntungkan bagi
penyerang.
23
4.4 Penerapan Attack Tree untuk Sistem E-Voting
Pada bagian ini akan disajikan penerapan attack tree pada sistem e-voting
pilkada Kota Bogor yang digambarkan dalam format: grafik.
Attack tree yang telah dijelaskan pada Subbab 2.6 merupakan grafik acyclic
di mana setiap node dalam grafik memiliki tepat satu orangtua. Akar pohon adalah
simpul yatim. Node adalah tempat untuk menyimpan informasi.
Grafik attack tree akan digambarkan dalam tiga bentuk node:
1. untuk menggambarkan kondisi OR.
2. untuk menggambarkan kondisi AND.
3. untuk menggambarkan terminal.
Setelah grafik attack tree selesai dibuat, berbagai node anak akan diberi
nilai P (possible) dan I (impossible), kemudian dilakukan perhitungan terhadap
node tersebut. Menurut (Schneier 1999) nilai node OR adalah P jika salah satu
nilai node anaknya P dan I jika semua nilai node anaknya I. Nilai node AND
hanya P jika semua node anaknya P dan I jika sebaliknya. Hasil perhitungan
attack tree dapat dilihat pada Lampiran 1.
Pohon serangan pada analisis ini belum sempurna karena belum semua
kemungkinan cara menyerang dipertimbangkan. Namun, tahap ini merupakan
upaya pertama untuk menganalisis serangan khusus e-voting pada sistem e-voting
pilkada Kota Bogor.
Gambar 7 Serangan e-voting
24
Grafik serangan pohon sistem e-voting dapat dilihat pada Gambar 7 Simpul
akar dari pohon bernama Serangan e-voting adalah simpul OR dengan 2 node
anak yaitu: Serangan pencurian suara dan Serangan pencabutan suara.
Grafik serangan untuk pencurian suara dan pencabutan suara secara detail
dapat dilihat pada Gambar 8 dan Gambar 9.
27
4.5 Analisis Vulnerability
Analisis vulnerability sistem e-voting akan dilakukan terhadap serangan
khusus e-voting berikut:
1. Serangan pencurian suara.
2. Serangan pencabutan suara.
Serangan pencurian suara
Jika sistem e-voting aman terhadap serangan pencurian suara maka dua sifat
keamanan berikut harus terpenuhi: Pemilih yang tidak memenuhi syarat tidak
dapat memilih dan pemilih yang memenuhi syarat tidak dapat memilih lebih dari
sekali.
Serangan pencurian suara memiliki tiga kemungkinan yang dapat dilihat
pada Gambar 10, yaitu:
1. Pemilih yang tidak memenuhi syarat dapat memilih.
2. Pemilih yang memenuhi syarat dapat memilih lebih dari sekali.
3. Menambah atau menghapus suara kandidat.
Pertama, analisis terhadap pemilih yang tidak memenuhi syarat (pemilih
palsu) dapat memilih. Ada tiga kemungkinan pemilih palsu dapat melakukan
pemilihan, yaitu:
Menggunakan mifare card orang lain (milik pemilih yang terdaftar).
Menyerang server CLA.
Menyerang koneksi koneksi antara mesin voting dan server CLA.
Dalam sistem e-voting pilkada Kota Bogor, dimungkinkan orang yang tidak
berhak memilih untuk dapat melakukan pemilihan dengan menggunakan mifare
card milik orang lain (pemilih yang terdaftar).
Pemilih yang tidak berhak juga dapat menyerang koneksi antara mesin
voting dan server CLA dengan membuat serangan Man in the Middle, sehingga
mesin voting dapat terhubung ke server CLA palsu. Untuk dapat melakukan
serangan ini, langkah pertama yang harus dilakukan adalah mendapatkan
password VPN, karena sistem e-voting Pilkada Kota Bogor menggunakan VPN
untuk mengamankan jalur komunikasi antara mesin voting dan server CLA.
Apabila password VPN telah didapatkan, maka dapat dilakukan serangan Man ini
28
the Middle dengan tujuan untuk manipulasi transaksi pemilih. Serangan Man in
the Middle dilakukan dengan mengembangkan server CLA palsu dan
menghubungkan mesin voting dengan server CLA palsu. Analisis vulnerability
serangan ini disajikan dalam pohon serangan 1.2.
Selanjutnya penyerang dapat melakukan pemilihan apabila database server
CLA dapat ditembus oleh penyerang, dimana UID dan NIK pemilih yang sah
terdaftar pada database server CLA. Untuk dapat melakukan serangan terhadap
database server CLA, penyerang dapat membuat kode program yang
mengakibatkan fungsionalitas server CLA terganggu. Analisis vulnerability
serangan ini disajikan dalam pohon serangan 1.3.
Kedua, analisis terhadap pemilih yang memenuhi syarat dapat memilih lebih
dari sekali. Ada tiga kemungkinan pemilih palsu dapat melakukan pemilihan,
yaitu:
Menyerang server CLA.
Menyerang koneksi koneksi antara mesin voting dan server CLA.
Menyerang mesin voting.
Analisis serangan terhadap server CLA dan serangan koneksi antara mesin
voting dan server CLA telah dijelaskan pada analisis terhadap pemilih yang tidak
memenuhi syarat (pemilih palsu) dapat memilih. Selanjutnya, akan dijelaskan
analisis serangan terhadap mesin voting. Pada saat pemilihan, akan dicek apakah
pemilih telah memberikan suara? Apabila pemilih telah melakukan pemilihan,
Gambar 10 Potensi serangan pencurian suara
29
status di database mesin voting akan berubah dan aplikasi pada mesin voting tidak
akan mengijinkan pemilih untuk melakukan pemilihan kembali. Oleh karena itu,
agar serangan sukses penyerang membutuhkan akses ke database mesin voting
untuk mempengaruhi proses yang berjalan di mesin voting. Untuk dapat
melakukan serangan terhadap database mesin voting, penyerang dapat membuat
kode program yang mengakibatkan fungsionalitas mesin voting terganggu. Tujuan
dari serangan ini untuk mengubah status pemilih. Analisis vulnerability serangan
ini disajikan dalam pohon serangan 1.4.
Ketiga, analisis terhadap serangan untuk menambah atau mengurangi suara
kandidat. Kemungkinan serangan yang dapat dilakukan untuk menambah atau
mengurangi suara kandidat yaitu dengan menyerang server CTF. Penyerang dapat
melakukan penambahan atau pengurangan suara kandidat apabila database server
CTF dapat ditembus oleh penyerang, dimana suara kandidat dari semua mesin
voting dikumpulkan pada database server CTF. Untuk dapat melakukan serangan
terhadap database server CTF, penyerang dapat membuat kode program yang
mengakibatkan fungsionalitas server CLA terganggu.
Pencabutan suara
Jika sistem e-voting aman terhadap pencabutan suara pemilih maka sifat
keamanan berikut harus terpenuhi, yaitu pemilih yang memenuhi syarat dapat
melakukan pemilihan.
Kemungkinan serangan pencabutan suara dapat dilihat pada Gambar 11
yaitu pemilih yang memenuhi syarat tidak dapat memilih.
Ada dua kemungkinan pemilih yang memenuhi syarat tidak dapat memilih,
yaitu:
Menyerang server CLA.
Menyerang koneksi antara mesin voting dan server CLA.
Analisis vulnerability serangan terhadap server CLA disajikan dalam pohon
serangan 2.1 dan analisis vulnerability serangan koneksi antara mesin voting dan
server CLA disajikan dalam pohon serangan 2.2.
Analisis serangan terhadap server CLA dan serangan koneksi antara mesin
voting dan server CLA telah dijelaskan pada serangan pencurian suara.
30
Pada sistem e-voting pilkada Kota Bogor, untuk mengamankan pertukaran
data antara mesin voting - server CLA dan mesin voting - server CTF
menggunakan VPN PPTP. Otentikasi antara server VPN dan client VPN
menggunakan password. Menurut (Eisinger 2001), serangan brute force yang
dicoba dengan 65536 kombinasi berbeda dari kunci DES, 16 bit terakhir dari
NT password hash bisa ditentukan.
Sistem e-voting pilkada Kota Bogor, tidak menerapkan keamanan pada
database mesin voting, server CLA dan server CTF. SQL Injection merupakan
salah satu masalah vulnerability dalam implementasi database. SQL Injection
adalah suatu teknik mengeksploitasi web aplikasi yang didalamnya menggunakan
database untuk penyimpanan data.
Secara kualitatif sistem e-voting pilkada Kota Bogor tidak aman untuk
diimplementasikan yang digambarkan pada Lampiran 1.
Gambar 11 Potensi serangan pencabutan suara
Recommended