Ancaman Keamanan
serverless architecture
Keunggulan serverless architecture dalam proses delivery (penghantaran) software kepada end-user ternyata memerlukan perhatian khusus pada unsur keamanan. Meskipun developer tidak perlu dipusingkan dengan mekanisme patching atas celah keamanan pada server, merek perlu ekstra hati-hati dalam proses pembuatan coding.
Mekanisme white box testing menjadi sebuah keharusan dalam upaya mempertahankan integritas dan kualitas data yang diproses. Jika semua ini tidak disusun dengan pertimbangan keamanan, maka ada bahaya terburuk yang mengintai, yaitu kebocoran data nasabah.
Gb: expertsays3-diagram
Meski banyak variasi bentuk alur, diagram ini memberikan alur umum (general flow) serverless architecture. End-user atau end-point merupakan input sekaligus tujuan output. Alur ini melibatkan API gateway, FaaS, dan Baas, serta tiga point attack vector. Dengan mengacu pada alur ini, ada enam ancaman potensial sekaligus ancaman yang paling sering membayangi arsitektur ini.
- Event Injection
Ancaman ini terjadi akibat aplikasi atau threat actor yang mengirimkan data (sebagai parameter) dengan format dan content/script yang membahayakan. Ini bisa terjadi pada attack vector 1, 2, dan 3. Potensi kerusakan yang dapat terjadi pun tidak terbatas.
Countermeasure: lelakukan sanitasi atas data yang dikirimkan dalam parameter proses untuk memastikan jenis data sesuai dengan spesifikasi dan kuantitas yang diperlukan function.
- Broken Authentication
Ancaman ini terjadi karena lepasnya kontrol terhadap token yang berjalan pada proses. Serverless architecture mengenal session atau stateless authentication, dan tidak ada masalah memilih salah satunya. Yang menjadi masalah adalah jika token bocor dan bisa digunakan pada session yang berbeda sehingga memungkinkan akses terhadap data pada seluruh session yang berjalan dari setiap user yang berbeda.
Countermeasure: terapkan Identity Access Management pada setiap alur proses.
- Insecure Environment and Setting
Kelemahan pada teknik enkripsi yang diterapkan pada file (data at rest) maupun data (data in motion) akan menimbulkan kebocoran data. Serverless architecture memiliki titik (hop) lintasan data yang jauh lebih panjang dari client-server.
Ini menyebabkan potensi kebocoran data yang jauh lebih tinggi. Selain itu, setting yang terletak pada environment variable perlu dienkripsi sehingga tidak dapat terbaca oleh pihak luar.