_ArtemisDiana_Alamy.jpg?disable=upscale&width=1200&height=630&fit=crop&w=1024&resize=1024,0&ssl=1)
KOMENTAR
Ketika organisasi bersandar pada platform low-code/no-code (LCNC) untuk menyederhanakan pengembangan dan memberdayakan pengembang warga, risiko keamanan menjadi semakin menantang untuk dikelola. Salah satu yang lebih di bawah radar LCNC ancamannya adalah injeksi OData, vektor serangan yang dapat mengekspos data sensitif perusahaan dan dominan di Microsoft Platform Kekuatan. Kerentanan baru ini kurang dipahami oleh para profesional keamanan di lingkungan LCNC, dimana perlindungan tradisional masih kurang.
Apa itu OData?
OData, atau Protokol Data Terbuka, adalah standar OASIS yang telah mendapatkan daya tarik dalam platform LCNC sebagai cara untuk mengelola dan mengirimkan data melalui REST API. Ini diadopsi secara luas karena memungkinkan komunikasi yang lancar antara aplikasi dan sumber data, apa pun model penyimpanan data yang mendasarinya. Di lingkungan LCNC, ini biasanya digunakan sebagai bahasa kueri untuk mengambil data dari berbagai sumber, seperti database SQL, SharePoint, atau Dataverse.
OData sangat berharga dalam platform LCNC karena kesederhanaannya — pengembang tidak perlu menjadi ahli database untuk menggunakannya, dan bahasa kueri yang sama dapat digunakan untuk sumber data yang sangat berbeda.
Ancaman Injeksi OData
Injeksi OData memanipulasi input pengguna yang kemudian digunakan oleh aplikasi atau otomatisasi untuk membentuk kueri OData. Kueri tersebut kemudian diterapkan ke sumber data perusahaan. Hal ini memungkinkan penyerang mendapatkan akses tidak sah untuk memanipulasi atau mengambil data sensitif pengguna dan perusahaan.
Ketika Injeksi SQL (SQLi) Secara umum dipahami oleh para profesional keamanan, injeksi OData menimbulkan serangkaian tantangan yang berbeda, terutama di lingkungan LCNC, di mana berbagai sumber data sering kali dihubungkan dan dikelola oleh pengembang warga dengan pelatihan keamanan minimal. Tidak seperti SQLi, yang terbatas pada database relasional, OData dapat terhubung ke beragam sumber data, termasuk aplikasi khusus dan layanan pihak ketiga, sehingga memperluas potensi dampak serangan.
OData juga tidak memiliki praktik keamanan mapan yang telah dikembangkan untuk SQL. Misalnya, SQLi biasanya dapat dimitigasi dengan kueri berparameter, sebuah praktik yang telah menjadi standar selama bertahun-tahun. Namun, injeksi OData tidak memiliki solusi universal yang serupa. Pengembang harus membuat mekanisme validasi masukan khusus — sebuah proses manual dan rawan kesalahan. Selain itu, kurangnya kesadaran akan teknik injeksi OData semakin mengurangi kemungkinan penerapan metode validasi khusus.
Permukaan Serangan Eksternal Baru
Kerentanan OData di lingkungan LCNC sering kali berasal dari risiko yang tidak diketahui terkait dengan input data eksternal. Ini sering diintegrasikan ke dalam alur kerja yang memanipulasi data penting perusahaan, termasuk formulir Web, pesan email, media sosial, dan aplikasi Web eksternal. Masukan ini biasanya diterima tanpa validasi yang ketat, menjadikan permukaan serangan rentan dan sering kali tidak terlindungi, karena pengembang dan tim keamanan mungkin mengabaikan sumber-sumber ini sebagai potensi risiko.
Pengawasan ini memungkinkan penyerang mengeksploitasi masukan ini dengan memasukkan kueri OData yang berbahaya. Misalnya, formulir umpan balik produk yang sederhana dapat dimanfaatkan untuk mengekstrak data sensitif atau mengubah informasi yang disimpan.
Tantangan Keamanan
Karena sebagian besar pengembang warga tidak memiliki formal pelatihan keamanan dan sering kali tidak terbiasa dengan bahaya menerima masukan eksternal yang tidak diperiksa dalam alur kerja mereka, kerentanan OData Injection dapat berkembang tanpa terdeteksi.
Selain itu, tidak seperti injeksi SQL, memvalidasi input pengguna dalam kueri OData memerlukan pendekatan yang lebih praktis. Pengembang harus membersihkan masukan secara manual — menghilangkan karakter berbahaya, memastikan pemformatan yang tepat, dan melindungi terhadap teknik injeksi umum. Proses ini membutuhkan waktu, tenaga, dan pengetahuan pemrograman tingkat lanjut yang tidak dimiliki sebagian besar pengembang LCNC.
Selain itu, dalam lingkungan pengembangan tradisional, kerentanan keamanan sering kali dilacak dan diperbaiki melalui sistem tiket atau alat manajemen simpanan seperti Jira. Proses formal ini tidak ada di sebagian besar lingkungan pengembangan LCNC, di mana pengembang mungkin bukan pembuat kode penuh waktu dan tidak memiliki cara formal untuk menangani pelacakan bug atau manajemen kerentanan.
Praktik Terbaik Mitigasi
Memerangi injeksi OData memerlukan strategi keamanan proaktif. Idealnya, pengembang LCNC harus dilatih tentang risiko kueri OData dan bagaimana masukan eksternal dapat dieksploitasi. Hal ini tidak realistis, karena pengembang warga bukanlah pembuat kode penuh waktu.
Sebaliknya, otomatisasi dapat memainkan peran penting dalam memantau dan mendeteksi kerentanan injeksi OData. Tim keamanan harus menerapkan alat yang terus menilai lingkungan LCNC untuk mengetahui potensi kerentanan, terutama saat aplikasi dan alur kerja baru dibuat. Hal ini akan membantu mengidentifikasi kelemahan secara dini dan dengan cepat memberikan wawasan yang dapat ditindaklanjuti kepada pengembang tentang cara memperbaikinya.
Kolaborasi antara tim keamanan dan pengembang LCNC adalah bagian penting lainnya dari teka-teki ini. Tim keamanan harus diberikan akses untuk memantau proses pengembangan secara real-time, khususnya di lingkungan tempat data penting perusahaan sedang diproses. Ketika kerentanan teridentifikasi, pihak keamanan harus berkomunikasi secara jelas dengan pengembang, memberikan panduan khusus tentang cara mengatasi masalah. Hal ini dapat mencakup praktik terbaik untuk validasi masukan dan sanitasi, serta alat untuk mengotomatisasi proses jika memungkinkan.
Terakhir, keamanan harus diintegrasikan ke dalam siklus hidup pengembangan LCNC. Mirip seperti “shift-kiri” Dalam perkembangan perangkat lunak tradisional, pemeriksaan keamanan harus dimasukkan ke dalam alur kerja LCNC sejak awal. Alat pengujian otomatis dapat dimanfaatkan untuk memindai kerentanan saat aplikasi sedang dibangun, sehingga mengurangi kemungkinan kerentanan injeksi OData lolos dari celah.
Seiring dengan pertumbuhan penerapan LCNC, kompleksitas ancaman yang dihadapi organisasi juga akan meningkat. Mengatasi kerentanan LCNC seperti injeksi OData sekarang akan membantu menjaga keamanan perusahaan dalam jangka panjang.