Kematian oleh Seribu Kebocoran Data: Bagaimana API Membanjiri Keamanan

Diterbitkan: 2022-06-14

Permukaan serangan saat ini lebih luas dari sebelumnya, kerentanan merembes keluar dari aplikasi dan menghuni Antarmuka Pemrograman Aplikasi fleksibel yang membuat dunia teknologi terus berputar.

Sayangnya, sementara sebagian besar menyadari ancaman aplikasi web tradisional, API tetap menjadi area keamanan yang suram. Lanskap ancaman raksasa saat ini menuntut WAF cloud yang kompeten dan bahkan investasi ke dalam WAAP.

Apa itu API?

API adalah perekat yang menyatukan pengalaman penjelajahan modern. API menyederhanakan penggunaan dan pengembangan perangkat lunak dengan memungkinkan aplikasi web individu untuk bertukar data. Membuat permintaan ke server melalui aplikasi saat ini ditangani oleh API yang relevan, berkat fakta bahwa API yang diterapkan dengan benar sangat aman.

Alih-alih server terpapar langsung ke informasi Anda, perangkat Anda dan API yang relevan harus berbagi paket data kecil, hanya mengomunikasikan apa yang diperlukan.

Agile dan API: Masalah Keamanan Ganda

Agile adalah kata kunci bisnis di masa lalu – ini menggambarkan bentuk produksi yang memperkuat ide kewirausahaan 'produk yang layak minimum'. Tujuan Agile adalah untuk mendorong keluar produk minimum di setiap tahap; alih-alih menyebut produk 'selesai', itu hanya dilingkarkan ke putaran perbaikan dan peningkatan bug patch lainnya.

Meskipun patch terus-menerus ini tampaknya fantastis untuk keamanan (dukungan perangkat lunak konstan? Bagus!) Realitas ekonomi dari produksi perangkat lunak berarti bahwa jumlah API dengan cepat menjadi berat.

Saat tim pengembangan bergerak dengan cepat, API jarang didokumentasikan secara komprehensif. Ini membuatnya sangat sulit untuk mengintip ke dalam mekanisme internal aplikasi dan memahami API mana yang melakukan apa. Ini juga membuat keamanan jauh lebih sulit, karena tim pengembangan sendiri tidak mengetahui ukuran sebenarnya dari inventaris API mereka. Ini menempatkan keamanan siber sebagai prioritas rendah; selalu reaktif dan tidak pernah proaktif.

API yang diabaikan

Ketika keamanan aplikasi disebutkan, hal pertama yang terlintas dalam pikiran adalah kelas berat keamanan. Serangan seperti cross-site-scripting; Injeksi SQL, dan serangan DDoS semuanya sangat terkenal. Aplikasi itu sendiri sering dijaga dengan baik oleh solusi plug-and-play seperti Firewall Aplikasi Web yang berpatroli perimeter.

Sedikit perhatian yang pernah diberikan kepada API, banyak merugikan organisasi yang tidak sadar dan klien mereka. Ambil contoh kerentanan API yang muncul di sistem Uber.

Ketika seorang pengemudi Uber bergabung dengan Uber melalui tautan rujukan, mereka mem-boot aplikasi dan memasukkan kode rujukan. Setelah menekan tombol enter, browser aplikasi berkomunikasi dengan host API “bonjour.uber.com”. Dari sana, bonjour.uber menerima parameter ID Pengguna dan mengembalikan detail tentang driver kembali ke aplikasi pengguna, siap untuk dimasukkan ke layar persetujuan berikut.

Namun, API yang satu ini dinyatakan bersalah atas dua pelanggaran keamanan utama. Yang pertama adalah Broken Object Level Authorization (BOLA). API tidak memeriksa apakah ID pengguna cocok dengan parameter ID mereka; karena itu dimungkinkan untuk mengakses data pengguna lain hanya dengan mengubah ID pengguna.

Masalah kedua adalah paparan data yang berlebihan. Tanggapan API – untuk mengembalikan detail pengguna – menggabungkan semua info itu ke dalam satu kumpulan, yang berisi setiap detail pengguna. Ini berarti API mengembalikan informasi yang tidak secara eksplisit dibutuhkan oleh klien, melanggar pilar utama praktik terbaik keamanan siber.

Sekarang pertimbangkan bahwa rata-rata organisasi bergantung pada lebih dari 15.500 API, dan skala risiko mulai muncul. Untungnya, Uber API telah terpasang sebelum terjadi kerusakan besar; perusahaan berikut tidak seberuntung itu.

Masalah Peloton

Merek kebugaran di rumah Peloton dinikmati oleh lebih dari 3 juta pelanggan. Kelas kebugaran langsung adalah nilai jual utama, meskipun jika Anda tidak ingin membagikan data medis Anda dengan peserta kelas lain, Anda dapat mengatur akun peloton Anda menjadi pribadi.

Sayangnya, sejumlah kerentanan API melihat paparan data ini kepada pengguna yang tidak sah. Informasi peserta kelas dapat dihapus dalam skala besar, karena satu titik akhir API gagal memvalidasi pengguna yang meminta. Ini memungkinkan penyerang yang tidak sah untuk mendapatkan nama pengguna, lokasi, ID latihan, jenis kelamin, dan usia pengguna Peloton.

API telah menjadi penyebab kebocoran data profil tinggi selama bertahun-tahun. Skandal data konstan Facebook sepanjang 2018 dan 2019 melihat satu pelanggaran terjadi demi satu, terutama melalui API pengembang pihak ketiga. Salah satu contohnya adalah Groups API; pengembang yang mengerjakan aplikasi manajemen media sosial B2B dapat dengan bebas mengakses nama dan lebih banyak informasi pribadi anggota grup. Meskipun aplikasi manajemen media sosial ini dimaksudkan untuk membantu admin grup dalam mengelola grup mereka secara lebih efektif, Facebook harus menghapusnya dan API-nya.

Skandal data ini memuncak pada tahun 2021, ketika database pasar gelap lebih dari 533 juta pengguna Facebook membocorkan nama, nomor telepon, dan ID pengguna Facebook mereka.

Mencegah Kebocoran API

Proyek Keamanan Aplikasi Web Terbuka (OWASP) secara teratur menerbitkan kerentanan aplikasi web yang paling parah dan tersebar luas untuk diwaspadai. Ancaman keamanan yang meningkat yang diwakili oleh API cukup parah untuk menjamin daftar sepuluh besar OWASP-nya sendiri, yang secara konsisten dipuncaki oleh Otorisasi Tingkat Objek Rusak.

Untungnya, melindungi API Anda – selain menuntut siklus pengembangan yang lebih lambat – sejalan dengan pengamanan keseluruhan organisasi Anda secara keseluruhan. Titik panggilan pertama Anda adalah Firewall Aplikasi Web (WAF) yang layak. Solusi ini memantau perimeter aplikasi Anda, mencegah gateway API dieksploitasi oleh kerentanan utama.

Aplikasi Web dan Perlindungan API (WAAP) mengambil langkah lebih jauh. Itu sepenuhnya berada di batas aplikasi yang menghadap publik, menganalisis semua lalu lintas masuk. Dengan memantau pola lalu lintas dan permintaan yang sah, WAAP adalah alat keamanan yang sangat khusus yang dirancang khusus untuk melindungi API.

Sementara WAAP adalah sistem pertahanan tingkat titik akhir, solusi Runtime Application Self Protection (RASP) membungkus aplikasi web tertentu. Solusi RASP – berbeda dari WAF – juga memiliki wawasan tentang cara kerja internal dan perilaku penerapannya. Dengan cara ini, jika API digunakan sebagai pijakan dalam serangan, dan menanyakan lebih banyak informasi daripada yang seharusnya, RASP dapat mematikan serangan secara proaktif.

Dengan segudang opsi perlindungan API yang tersedia, mengamankan aplikasi dan organisasi Anda tidak pernah semudah ini.