Serverless menjadi salah satu pendekatan yang semakin populer dalam pengembangan aplikasi modern. Dengan model ini, pengembang tidak perlu lagi mengelola server secara langsung karena penyedia layanan cloud akan menangani proses seperti penyediaan infrastruktur, skalabilitas, hingga pemeliharaan sistem. Tim pengembang dapat lebih fokus pada pembuatan fitur tanpa harus menghabiskan banyak waktu untuk mengelola lingkungan server.

Namun, kemudahan tersebut sering menimbulkan anggapan bahwa keamanan sepenuhnya menjadi tanggung jawab penyedia cloud. Padahal, meskipun pengelolaan server dilakukan oleh penyedia layanan, aplikasi, konfigurasi, hak akses, serta data yang diproses tetap menjadi tanggung jawab organisasi yang menggunakannya.

Di sinilah threat modelling memiliki peran penting. Dengan memahami bagaimana layanan serverless bekerja dan mengenali potensi ancaman sejak awal, tim dapat merancang perlindungan yang lebih tepat sebelum aplikasi dijalankan dalam lingkungan produksi.

1. Memahami Infrastruktur Serverless

Serverless adalah model komputasi di mana pengembang menjalankan kode tanpa harus mengelola server secara langsung. Kode biasanya dijalankan dalam bentuk fungsi yang dipicu oleh suatu peristiwa, seperti permintaan API, unggahan file, atau perubahan data pada basis data.

Beberapa contoh layanan serverless yang banyak digunakan antara lain fungsi komputasi berbasis event, layanan API, penyimpanan objek, serta layanan antrean pesan yang seluruhnya dikelola oleh penyedia cloud.

Meskipun server tidak terlihat secara langsung, aplikasi tetap berjalan di atas infrastruktur yang memiliki komponen, konfigurasi, dan mekanisme akses yang perlu diamankan.

2. Mengapa Threat Modelling Penting untuk Serverless?

Pada lingkungan serverless, tim sering kali berinteraksi dengan banyak layanan cloud yang saling terhubung. Sebuah fungsi dapat memanggil basis data, mengakses penyimpanan, berkomunikasi dengan API lain, atau menggunakan layanan pihak ketiga.

Semakin banyak integrasi yang digunakan, semakin banyak pula titik yang berpotensi menjadi sumber risiko. Kesalahan konfigurasi hak akses atau pengelolaan kredensial dapat memberikan dampak yang cukup besar terhadap keamanan sistem.

Threat modelling membantu tim memahami hubungan antar layanan tersebut sehingga ancaman dapat diidentifikasi sebelum aplikasi digunakan.

3. Ancaman yang Sering Ditemukan pada Infrastruktur Serverless

Ada beberapa ancaman yang cukup sering muncul dalam lingkungan serverless.

Hak Akses yang Terlalu Luas

Fungsi serverless sering diberikan izin untuk mengakses berbagai layanan cloud. Jika izin tersebut terlalu luas, dampak penyalahgunaan dapat menjadi lebih besar ketika terjadi kompromi.

Kesalahan Konfigurasi Layanan Cloud

Konfigurasi yang kurang tepat pada penyimpanan, API, atau layanan lainnya dapat membuka akses yang seharusnya dibatasi.

Penyimpanan Kredensial yang Tidak Aman

Token, kunci API, atau kredensial yang disimpan langsung di dalam kode aplikasi berpotensi bocor dan disalahgunakan.

Validasi Input yang Kurang Baik

Fungsi serverless tetap menerima data dari pengguna maupun sistem lain. Jika data tersebut tidak diperiksa dengan baik, aplikasi dapat mengalami gangguan atau memproses permintaan yang tidak semestinya.

Penyalahgunaan Pemanggilan Fungsi

Fungsi yang dapat dipanggil tanpa pembatasan berpotensi menerima permintaan dalam jumlah sangat besar sehingga memengaruhi kinerja layanan atau meningkatkan biaya operasional.

4. Langkah-Langkah Threat Modelling untuk Serverless

Agar analisis lebih terstruktur, threat modelling pada infrastruktur serverless dapat dilakukan melalui beberapa tahapan berikut.

Identifikasi Seluruh Layanan

Petakan seluruh fungsi, API, penyimpanan, basis data, antrean pesan, maupun layanan cloud lain yang digunakan oleh aplikasi.

Analisis Alur Data

Pahami bagaimana data diterima, diproses, disimpan, dan dikirim ke layanan lainnya.

Tentukan Aset yang Dilindungi

Identifikasi data maupun layanan yang memiliki nilai penting, seperti informasi pengguna, data transaksi, atau kredensial akses.

Evaluasi Potensi Ancaman

Analisis kemungkinan ancaman pada setiap layanan, termasuk kesalahan konfigurasi, penyalahgunaan hak akses, maupun akses tanpa izin.

Susun Strategi Mitigasi

Tentukan langkah perlindungan yang sesuai berdasarkan hasil analisis agar risiko dapat dikurangi sejak awal.

5. Praktik Keamanan yang Mendukung Serverless

Threat modelling akan memberikan hasil yang lebih baik jika didukung oleh penerapan praktik keamanan yang konsisten.

Beberapa langkah yang dapat dilakukan antara lain:

  • menerapkan prinsip least privilege pada setiap fungsi dan layanan;
  • menggunakan layanan pengelolaan rahasia (secret management) untuk menyimpan kredensial;
  • membatasi akses ke API menggunakan autentikasi dan otorisasi yang sesuai;
  • memvalidasi seluruh data yang diterima sebelum diproses;
  • memantau aktivitas fungsi untuk mendeteksi perilaku yang tidak biasa;
  • melakukan audit konfigurasi secara berkala untuk memastikan pengaturan keamanan tetap sesuai kebutuhan.

Langkah-langkah tersebut membantu mengurangi risiko tanpa menghilangkan fleksibilitas yang menjadi keunggulan utama serverless.

6. Contoh Penerapan

Sebuah perusahaan mengembangkan aplikasi pengelolaan dokumen menggunakan layanan serverless. Ketika pengguna mengunggah berkas, sebuah fungsi akan memproses dokumen tersebut lalu menyimpannya ke layanan penyimpanan cloud.

Saat melakukan threat modelling, tim menemukan bahwa fungsi tersebut memiliki izin untuk mengakses seluruh penyimpanan meskipun hanya membutuhkan akses ke satu lokasi tertentu. Selain itu, kunci API layanan pihak ketiga masih disimpan langsung di dalam kode aplikasi.

Berdasarkan hasil analisis, tim membatasi hak akses fungsi sesuai kebutuhan, memindahkan kredensial ke layanan secret management, serta menambahkan validasi pada setiap file yang diunggah pengguna. Dengan perubahan tersebut, risiko penyalahgunaan dapat dikurangi tanpa memengaruhi cara kerja aplikasi.

7. Threat Modelling Harus Mengikuti Perkembangan Layanan

Lingkungan serverless biasanya berkembang dengan cepat. Fungsi baru ditambahkan, integrasi bertambah, dan layanan cloud terus diperbarui sesuai kebutuhan bisnis.

Karena itu, threat modelling tidak cukup dilakukan satu kali. Setiap perubahan pada arsitektur maupun konfigurasi perlu disertai evaluasi ulang terhadap potensi ancaman agar perlindungan yang diterapkan tetap relevan.

Dengan menjadikan threat modelling sebagai bagian dari proses pengembangan, organisasi dapat menjaga keseimbangan antara kecepatan inovasi dan keamanan sistem.

KESIMPULAN

Serverless memang mengurangi beban pengelolaan infrastruktur, tetapi bukan berarti keamanan dapat diabaikan. Aplikasi, data, hak akses, dan konfigurasi tetap memerlukan perhatian yang sama besarnya seperti pada lingkungan komputasi lainnya.

Melalui threat modelling, tim dapat memahami bagaimana layanan serverless saling terhubung, mengenali titik-titik yang berpotensi menimbulkan risiko, serta menentukan langkah mitigasi sebelum masalah benar-benar terjadi. Dengan pendekatan ini, organisasi dapat memanfaatkan keunggulan serverless tanpa mengorbankan keamanan dan ketahanan sistem.