Tantangan modernisasi infrastruktur API perusahaan [Q&A]

Platform baru bertujuan untuk mengatasi masalah keamanan API

api

API memungkinkan produk dan layanan untuk berkomunikasi satu sama lain dan telah menjadi penting untuk proyek transformasi digital karena memudahkan untuk membuka data dan fungsionalitas aplikasi ke pengembang pihak ketiga dan mitra bisnis, atau ke departemen dalam perusahaan.

Di mana sistem lama terlibat meskipun seringkali perlu untuk memodernisasi infrastruktur API untuk memastikan semuanya bekerja dengan lancar dan ini dapat menyebabkan tantangan serius, terutama jika menyangkut keamanan.

Kami berbicara dengan Shahar Binyamin, CEO di firma keamanan GraphQL Inigo, untuk mengetahui lebih lanjut tentang bagaimana pengembang perusahaan, profesional DevOps, dan arsitek keamanan dapat menghadapi tantangan ini secara langsung.

BN: Pada level tinggi, seberapa besar masalah keamanan API saat ini bagi perusahaan?

SB: Perusahaan semakin memanfaatkan konektivitas API untuk menghadirkan kemampuan baru dan pengalaman pengguna dengan lebih cepat, tetapi keamanan di sekitar integrasi API tersebut telah menjadi perhatian yang semakin meningkat. Di mana pun bisnis terburu-buru untuk memanfaatkan manfaat dari banyak sekali koneksi API tanpa mendasarkan penerapannya pada praktik keamanan yang solid sejak awal, penyerang sekarang pasti akan memanfaatkan kekurangan tersebut. Sebuah laporan baru-baru ini tentang keamanan API dari Salt Labs membuktikan hal ini, menemukan peningkatan serangan API sebesar 681 persen selama setahun terakhir, dengan 95 persen perusahaan mengalami insiden keamanan API selama periode waktu yang sama.

BN: Apa yang membuat implementasi API menjadi permukaan serangan yang begitu menarik?

SB: Untuk penyerang, ada banyak hal yang disukai tentang penargetan API sebagai jalur untuk menyusup ke sistem dan menembus data sensitif. Klien jahat dapat membombardir titik akhir pendaftaran API, mencoba pencacahan akun untuk menentukan informasi pengguna yang valid, melakukan upaya login berulang kali, dan mengutak-atik parameter yang diinginkan. Terhadap sistem dengan kontrol akses yang lemah, penyerang yang mendapatkan pijakan melalui exploit API dapat meningkatkan akses mereka dan berpotensi menjalankan data dan layanan perusahaan.

API juga merupakan target yang menarik hanya karena banyak perusahaan tidak mempertahankannya dengan benar. Laporan Salt Labs yang sama menemukan bahwa 34 persen perusahaan tidak memiliki strategi keamanan API untuk dibicarakan, dan 85 persen yang serius mengakui bahwa alat mereka saat ini tidak efektif untuk menghentikan serangan API. Sayangnya, logika bisnis API menawarkan jalan serangan yang rumit yang tidak dapat ditangani oleh sebagian besar perlindungan tradisional, menempatkan perusahaan yang tidak memprioritaskan keamanan API dalam bahaya.

BN: Saat perusahaan bermigrasi dari REST API ke GraphQL, bagaimana hal itu memengaruhi atau mengubah strategi keamanan mereka?

SB: GraphQL adalah pemutakhiran yang sangat menguntungkan dibandingkan kekurangan REST API tradisional. Kueri data sumber terbuka dan bahasa manipulasi untuk API memungkinkan pengembang perusahaan membuat aplikasi yang lebih cepat dan lebih stabil yang mengontrol data mereka sendiri secara langsung. Yang mengatakan, menjaga GraphQL aman dari penyerang membutuhkan peningkatan serupa di bagian keamanan. Dalam banyak kasus, itu tidak terjadi.

Dengan REST API, tim teknik keamanan perusahaan dapat dengan mudah memantau banyak peristiwa serangan yang memanfaatkan metode HTTP, kode status respons, rute API sensitif, dan parameter API — selama tim tersebut memahami API-nya dan memiliki inventaris yang lengkap. Untuk contoh spesifik, kueri REST API yang menggunakan metode HTTP ‘Dapatkan’, menargetkan rute dengan informasi ID pengguna, dan menemukan kode respons 403 Terlarang seharusnya memicu peringatan. Ini karena upaya berulang dapat mewakili aktivitas serangan. Sebaliknya, bagaimanapun, GraphQL hanya menggunakan satu rute (seperti /graphql), dan metode HTTP tidak informatif karena niat sebenarnya klien semuanya terkandung dalam muatan kueri. Contoh ini hanya menunjukkan salah satu cara GraphQL membuat teknik pemantauan keamanan tradisional tidak berlaku. Sebagai gantinya, GraphQL meminta perusahaan untuk mengimplementasikan lapisan baru yang dapat diamati yang dirancang untuk mengawasi dan melindungi API ini.

BN: Apa saja komponen yang lebih rumit untuk keamanan GraphQL API?

SB: GraphQL menghapus partisi tradisional yang membagi peran pengembang, keamanan, dan DevOps. Karena GraphQL sangat berfokus pada pengembang, pengembang perusahaan harus menjadi lebih aktif dalam berkontribusi pada keamanan. Beradaptasi dengan paradigma horizontal ini dan menerapkan strategi yang berpusat pada keamanan holistik dan kontrol akses sangat penting untuk kesuksesan — bahkan lebih dari fitur keamanan tertentu yang dipilih perusahaan. Kontrol akses berbasis skema dan basis data harus terintegrasi erat, dan didukung oleh pembatasan kecepatan dan pertahanan lain terhadap pengikisan data. Pengembang yang menulis kontrol akses berbasis kode ini membutuhkan dukungan dari alat CI/CD yang efektif, mengingat tantangan untuk menghindari kesalahan saat menangani skema GraphQL yang selalu berubah. Pemahaman menyeluruh dan kontekstual atas permintaan dan respons API klien sangat berharga untuk memanfaatkan logika bisnis terperinci dan wawasan permukaan serangan.

Perusahaan yang mencapai penggunaan GraphQL skala tinggi juga perlu mengadopsi lensa federasi keamanan. Melakukan hal itu memungkinkan arsitek perusahaan untuk mengawasi dan mengamankan sejumlah besar titik akhir API GraphQL, yang dikelola oleh tim internal yang berbeda yang seringkali kurang memahami tingkat organisasi. Perusahaan-perusahaan ini juga harus siap untuk mengatasi panggilan API yang kasar menggunakan observability dan peringatan tingkat kueri, mendeteksi dan memitigasi serangan terhadap server atau data, dan bersiap untuk mengalahkan injeksi GraphQL tingkat kueri.

BN: Siapa yang bertanggung jawab atas keamanan GraphQL API?

SB: GraphQL mau tidak mau meminta pengembang untuk mengenakan topi keamanan mereka, yang mungkin tidak mereka kenal. Banyak kontrol akses dan tugas operasi yang sebelumnya dimiliki oleh spesialis keamanan dan DevOps akan beralih ke bidang pengembang. Dan sementara GraphQL mengharuskan pengembang untuk menerapkan tindakan defensif yang melampaui perlindungan API tradisional, hadiahnya adalah menggunakan GraphQL dengan aman melampaui batas API tradisional.

Kredit Foto: Panchenko Vladimir/Shutterstock

Author: Kenneth Henderson