Jawaban_Soal_Essay_Dimas_Aditya_Prabowo

1. Bagaimana API yang tidak diamankan menyebabkan kebocoran data meskipun ada enkripsi?
Enkripsi melindungi data saat berada dalam penyimpanan (at rest) atau saat transit (in transit). Namun, API berfungsi sebagai “pintu masuk” resmi untuk mengakses data tersebut
Pintu Terbuka bagi Pengguna Sah: API dirancang untuk mendekripsi data dan menyajikannya dalam format yang bisa dibaca oleh aplikasi pemanggil. Jika API tidak memiliki mekanisme autentikasi yang kuat, siapapun bisa berpura-pura menjadi aplikasi yang sah.
Eksploitasi Logika Bisnis: Penyerang bisa melakukan scrapping atau pengambilan data massal melalui endpoint API yang terbuka. Meskipun datanya terenkripsi di database, API akan mengambil, mendekripsi, dan mengirimkan data tersebut kepada penyerang karena API menganggap permintaan itu valid.
Kesimpulan: Enkripsi melindungi data dari pencuri yang membongkar server, tetapi tidak melindungi dari “tamu” yang masuk melalui pintu API yang tidak dikunci.
2. Mengapa enkripsi tidak menjamin keamanan jika kontrol akses dan otorisasi gagal?
Kontrol akses (Access Control) dan Otorisasi adalah penentu siapa yang boleh melihat data apa.
* Kelemahan Otorisasi (BOLA/IDOR): Jika sistem enkripsi sangat kuat tetapi kontrol aksesnya lemah, seorang pengguna biasa mungkin bisa mengubah parameter ID di API untuk melihat data pengguna lain.
* Data Terbuka Setelah Autentikasi: Begitu seseorang berhasil melewati proses login (autentikasi), sistem biasanya akan memberikan akses ke kunci dekripsi secara otomatis agar data bisa ditampilkan di layar. Jika otorisasi gagal membatasi ruang lingkup akses pengguna tersebut, ia bisa mengakses data sensitif milik orang lain dalam bentuk yang sudah terdekripsi.
 Analogi: Enkripsi adalah seperti brankas yang sangat kuat, tetapi kontrol akses adalah manajemen kuncinya. Jika Anda memberikan kunci brankas kepada orang yang salah, kekuatan dinding brankas tersebut tidak lagi relevan.
3. Langkah pencegahan dari sisi Keamanan API dan Manajemen Akses
Berikut adalah langkah-langkah teknis yang bisa dirancang:
* Implementasi OAuth 2.0 & OpenID Connect: Menggunakan token akses yang memiliki batas waktu dan cakupan (scope) terbatas untuk setiap permintaan API.
* Rate Limiting & Throttling: Membatasi jumlah permintaan yang bisa dilakukan oleh satu akun atau IP dalam waktu tertentu untuk mencegah pengambilan data massal secara otomatis (scraping).
* Principle of Least Privilege (PoLP): Memastikan setiap pengguna atau aplikasi hanya memiliki akses ke data minimal yang mereka butuhkan untuk bekerja.
* Validasi Input yang Ketat: Memastikan setiap data yang dikirim ke API diperiksa untuk mencegah serangan injeksi.
* Logging & Monitoring Real-time: Memantau aktivitas API untuk mendeteksi pola akses yang tidak wajar atau mencurigakan.
4. Langkah respons insiden awal setelah kebocoran terdeteksi
Langkah awal harus cepat dan terukur untuk meminimalkan dampak:
* Identifikasi & Isolasi: Segera matikan atau isolasi endpoint API yang menjadi celah kebocoran untuk menghentikan aliran data yang keluar.
* Audit Log: Menganalisis log akses untuk mengetahui seberapa banyak data yang bocor, siapa yang terdampak, dan metode apa yang digunakan penyerang.
* Reset Kredensial & Token: Mencabut semua token akses aktif dan memaksa pengguna yang terdampak untuk mengganti kata sandi atau memperbarui kunci API mereka.
* Komunikasi Transparan: Memberitahukan kepada otoritas terkait (sesuai regulasi seperti UU PDP) dan pengguna yang terdampak mengenai apa yang terjadi dan langkah pengamanan yang harus mereka ambil.
* Patching: Memperbaiki kerentanan pada kode API sebelum layanan dijalankan kembali sepenuhnya.
Apakah Anda ingin saya mendalami salah satu poin di atas, misalnya mengenai cara kerja token OAuth?

Previous Post Previous Post
Newer Post Newer Post

Leave a comment