Apa Perbedaan Keamanan API dengan Keamanan Aplikasi Umum?

Diterbitkan: 2023-07-19

Meskipun terkadang disalahartikan sebagai hal yang sama, keamanan aplikasi dan keamanan API adalah dua disiplin ilmu yang berbeda. Keamanan aplikasi mengacu pada pengamanan seluruh aplikasi, sedangkan keamanan API mengacu pada pengamanan API yang digunakan organisasi untuk menghubungkan aplikasi dan bertukar data. Oleh karena itu, organisasi harus mengambil pendekatan yang berbeda terhadap kedua disiplin ilmu tersebut.

Apa itu keamanan aplikasi?

Keamanan aplikasi (AppSec) menggunakan otorisasi, enkripsi, dan praktik pengkodean yang aman untuk melindungi data dan sistem dari serangan dunia maya. Organisasi yang menerapkan AppSec mengurangi risiko pelanggaran data, melindungi data sensitif, dan memastikan aplikasi mereka mematuhi standar industri.

ISACA mendefinisikan lima komponen penting program AppSec sebagai:

  1. Keamanan berdasarkan desain
  2. Pengujian kode aman
  3. Bill of material perangkat lunak
  4. Pelatihan dan kesadaran keamanan
  5. Gerbang keamanan WAF dan API serta pengembangan aturan

Apa itu keamanan API?

API, atau antarmuka pemrograman aplikasi, keamanan melindungi API dari serangan cyber. Penggunaan API telah meningkat pesat dalam beberapa tahun terakhir, memberikan peluang bagi organisasi untuk berinovasi dengan memungkinkan transfer data antar aplikasi. Sayangnya, seiring dengan meningkatnya penggunaan API, serangan terhadap mereka juga meningkat. Penelitian dari Salt Security mengungkapkan bahwa serangan terhadap API meningkat sebesar 400% antara bulan Juni dan Desember 2022.

Ancaman keamanan aplikasi vs. API

Memahami perbedaan antara keamanan AppSec dan API memerlukan pemahaman tentang ancaman utama setiap disiplin ilmu. Untungnya, OWASP, sebuah organisasi nirlaba yang berupaya meningkatkan keamanan perangkat lunak, memberikan daftar lengkap ancaman paling signifikan terhadap keamanan aplikasi dan keamanan API. Dikenal sebagai Sepuluh Besar OWASP, daftar ini mengumpulkan informasi dari komunitas pakar keamanan global OWASP untuk mengidentifikasi ancaman paling kritis terhadap aplikasi dan API.

Menariknya, meskipun OWASP menerbitkan daftar Sepuluh Risiko Keamanan Aplikasi Web Teratas pada tahun 2003, OWASP baru merilis daftar Sepuluh Risiko Keamanan API Teratas pada akhir tahun 2019. Perbedaan ini menunjukkan perbedaan utama lainnya antara keamanan aplikasi dan API: keamanan aplikasi adalah hal yang sudah mapan, disiplin ilmu yang diteliti secara ekstensif dan telah melalui berbagai tahap evolusi, sedangkan keamanan API tidak.

Meskipun kami tidak punya waktu untuk melakukan analisis mendalam, ada baiknya melihat sekilas setiap daftar untuk melihat perbedaannya, yang akan menginformasikan bagaimana organisasi mendekati keamanan AppSec dan API.

Sepuluh Risiko Keamanan Aplikasi Teratas OWASP (2021)

  1. Kontrol Akses Rusak – Ketika pengguna yang tidak sah dapat mengakses informasi atau sistem yang dibatasi
  2. Kegagalan Kriptografi – Ketika pihak ketiga mengekspos data sensitif tanpa maksud tertentu karena kurangnya atau kelemahan dalam kriptografi
  3. Injeksi – Ketika penyerang mencoba mengirim data ke aplikasi dengan cara yang akan mengubah arti perintah yang dikirim ke penerjemah
  4. Desain yang Tidak Aman – Risiko terkait dengan kelemahan arsitektur dan desain
  5. Kesalahan Konfigurasi Keamanan – Ketika tim keamanan mengkonfigurasi secara tidak akurat atau membiarkan kontrol keamanan tidak aman
  6. Komponen yang Rentan dan Kedaluwarsa – Ketika organisasi membiarkan komponennya tidak ditambal
  7. Kegagalan Identifikasi dan Otentikasi (nee Otentikasi Rusak) – Ketika aplikasi rentan terhadap serangan otentikasi
  8. Kegagalan Integritas Perangkat Lunak dan Data – Ketika kode dan infrastruktur gagal melindungi dari pelanggaran integritas
  9. Kegagalan Pencatatan dan Pemantauan Keamanan (nee Pencatatan dan Pemantauan Tidak Memadai) – Ketika organisasi gagal mendeteksi pelanggaran data karena prosedur pencatatan dan pemantauan yang tidak memadai
  10. Pemalsuan Permintaan Sisi Server – Saat penyerang menipu aplikasi agar mengirimkan permintaan yang dibuat ke tujuan yang tidak terduga, meskipun dilindungi oleh firewall, VPN, atau jenis daftar kontrol akses jaringan (ACL) lainnya

Sepuluh Risiko Keamanan API Teratas OWASP (2023)

  1. Otorisasi Tingkat Objek Rusak – Ketika objek API – misalnya, database atau file – tidak memiliki kontrol otorisasi yang tepat, sehingga memberikan akses kepada pengguna yang tidak berwenang
  2. Otentikasi Rusak – Ketika insinyur perangkat lunak dan keamanan salah memahami batasan otentikasi API dan cara menerapkannya
  3. Otorisasi Tingkat Properti Objek Rusak – Kombinasi paparan data yang berlebihan dan penugasan massal: ketika penyerang mengeksploitasi kunci atau otorisasi yang tidak tepat pada tingkat properti objek.
  4. Konsumsi Sumber Daya Tidak Terbatas – Memenuhi permintaan API memerlukan bandwidth jaringan, CPU, memori, dan penyimpanan. Penyedia layanan menyediakan sumber daya lain seperti email/SMS/panggilan telepon atau validasi biometrik melalui integrasi API dan dibayar per permintaan. Serangan yang berhasil dapat menyebabkan Denial of Service atau peningkatan biaya operasional.
  5. Otorisasi Tingkat Fungsi Rusak melibatkan penyerang yang mengirimkan panggilan API yang sah ke titik akhir API yang terbuka
  6. Akses Tak Terbatas ke Alur Bisnis Sensitif – API yang rentan terhadap risiko ini mengekspos alur bisnis – seperti membeli tiket atau memposting komentar – tanpa memberikan kompensasi atas bagaimana fungsi tersebut dapat merugikan bisnis jika digunakan secara otomatis secara berlebihan; ini belum tentu berasal dari bug implementasi.
  7. Pemalsuan Permintaan Sisi Server – Saat API mengambil sumber daya jarak jauh tanpa memvalidasi URI yang disediakan pengguna; memungkinkan penyerang memaksa aplikasi mengirimkan permintaan yang dibuat ke tujuan yang tidak terduga, bahkan ketika dilindungi oleh firewall atau VPN.
  8. Kesalahan Konfigurasi Keamanan – API dan sistem yang mendukungnya biasanya berisi konfigurasi yang rumit agar lebih dapat disesuaikan. Insinyur perangkat lunak dan DevOps dapat melewatkan konfigurasi ini atau tidak mengikuti praktik terbaik keamanan terkait konfigurasi, sehingga membuka pintu bagi berbagai jenis serangan.
  9. Manajemen Inventaris yang Tidak Tepat – API mengekspos lebih banyak titik akhir dibandingkan aplikasi web tradisional, sehingga dokumentasi yang tepat dan diperbarui menjadi penting. Inventaris host yang memadai dan versi API yang diterapkan juga penting untuk memitigasi masalah seperti versi API yang tidak digunakan lagi dan titik akhir debug yang terbuka.
  10. Konsumsi API yang Tidak Aman – Pengembang cenderung lebih mempercayai data yang diterima dari API pihak ketiga daripada masukan pengguna dan mengadopsi standar keamanan yang lebih lemah. Untuk mengkompromikan API, penyerang mencari layanan pihak ketiga yang terintegrasi daripada mencoba mengkompromikan API target secara langsung.

Seperti yang Anda lihat, meskipun ada beberapa hal yang tumpang tindih, aplikasi dan API pada dasarnya rentan terhadap ancaman yang berbeda dan unik, dan organisasi harus meresponsnya dengan tepat. Perbedaan utama antara kedua daftar tersebut adalah bahwa organisasi dapat memitigasi semua risiko penting yang terkait dengan keamanan aplikasi dengan alat dan teknik keamanan tradisional yang multiguna, namun keamanan API berbeda.

Keamanan API adalah masalah yang sangat modern yang memerlukan solusi yang sama modernnya. Organisasi tidak dapat mengharapkan alat yang mereka gunakan untuk melindungi aplikasi dan aset lainnya dapat memenuhi tugas mengamankan API. Keamanan API memerlukan alat keamanan khusus API; metode perlindungan tradisional seperti gateway API dan Web Application Firewall (WAF) tidak cukup.