Optimalkan API dengan praktik terbaik keamanan API
6 November 2023
Bacaan 5 menit

Bisnis perusahaan terus bergerak menuju infrastruktur TI digital dan berbasis cloud. Sistem digital memungkinkan fleksibilitas, skalabilitas, dan kecepatan yang belum pernah terjadi sebelumnya jika dibandingkan dengan sistem lokal yang lebih tradisional.

Namun, infrastruktur digital sangat bergantung pada antarmuka pemrograman aplikasi — atau API — untuk memfasilitasi transfer data antara aplikasi perangkat lunak dan antara aplikasi dan pengguna akhir. Sebagai kerangka kerja backend untuk sebagian besar aplikasi web dan seluler, API memungkinkan akses melalui internet dan karenanya rentan terhadap serangan. Dan karena banyak API menyimpan dan mentransfer data sensitif, mereka memerlukan protokol keamanan yang kuat dan praktik pemantauan yang cermat untuk mencegah informasi jatuh ke tangan yang salah.

Menjelaskan keamanan API

Keamanan API mengacu pada serangkaian praktik dan produk yang digunakan organisasi untuk mencegah serangan jahat, dan penyalahgunaan API. Mengingat kompleksitas ekosistem API, pertumbuhan platform IoT dan banyaknya penggunaan organisasi API (rata-rata sekitar 20.000 (tautan berada di luar ibm.com)), menangani keamanan API semakin menantang dan semakin diperlukan.

API berada di antara sumber daya TI organisasi dan pengembang perangkat lunak pihak ketiga, serta antara sumber daya TI dan individu, yang memberikan data dan informasi pada titik akhir proses. Pada titik akhir inilah data perusahaan dan pengguna rentan terhadap berbagai jenis serangan dan risiko keamanan, termasuk:

  • Serangan berbasis autentikasi: di mana peretas mencoba menebak atau mencuri kata sandi pengguna atau mengeksploitasi proses autentikasi yang lemah untuk mendapatkan akses ke server API.
  • Serangan man-in-the-middle: yaitu ketika aktor jahat mencuri atau memodifikasi data (misalnya, kredensial login atau informasi pembayaran) dengan mencegat permintaan dan/atau respons antara API.
  • Serangan injeksi kode/injeksi: di mana peretas mengirimkan skrip berbahaya (untuk menyisipkan informasi palsu, menghapus atau mengungkapkan data, atau mengganggu fungsionalitas aplikasi) melalui permintaan API, dengan mengeksploitasi kelemahan pada penerjemah API yang membaca dan menerjemahkan data.
  • Serangan Denial-of-service (DoS): serangan ini mengirimkan sejumlah permintaan API yang membuat server macet atau melambat. Serangan DoS seringkali datang dari beberapa penyerang secara bersamaan dalam serangan denial-of-service terdistribusi (DDoS).
  • Serangan otorisasi tingkat objek yang rusak (Broken object level authorization atau BOLA): terjadi ketika penjahat siber memanipulasi pengidentifikasi objek di titik akhir API untuk mendapatkan akses tidak sah ke data pengguna. Masalah ini muncul ketika titik akhir API memungkinkan pengguna mengakses catatan yang biasanya tidak seharusnya. Serangan BOLA sangat umum terjadi, karena menerapkan pemeriksaan otorisasi tingkat objek yang tepat bisa jadi sulit dan memakan waktu.

Ini dan jenis serangan siber lainnya tidak dapat dihindari dalam lanskap TI yang dinamis saat ini. Dan dengan semakin berkembangnya penjahat siber yang mendapatkan akses ke teknologi peretasan yang lebih canggih, penerapan protokol keamanan API akan menjadi kian penting bagi keamanan data perusahaan.

Praktik terbaik keamanan API

API memungkinkan bisnis untuk merampingkan integrasi lintas sistem dan berbagi data, tetapi dengan interkonektivitas ini muncul peningkatan paparan terhadap serangan siber. Faktanya, sebagian besar peretasan aplikasi seluler dan web menyerang API untuk mendapatkan akses ke data perusahaan atau pengguna. API yang diretas atau disusupi dapat menyebabkan pelanggaran data bencana dan gangguan layanan yang membahayakan data pribadi, keuangan, dan medis yang sensitif.

Untungnya, kemajuan dalam keamanan API memungkinkan untuk mencegah atau mengurangi dampak serangan siber oleh aktor jahat. Berikut ini adalah 11 praktik dan program keamanan API umum yang dapat dimanfaatkan organisasi untuk melindungi sumber daya komputasi dan data pengguna:

  1. API gateway. Menginstal API gateway adalah salah satu cara termudah untuk membatasi akses API. Gateway membuat titik masuk tunggal untuk semua permintaan API, dan bertindak sebagai lapisan keamanan dengan menerapkan kebijakan keamanan, membantu menstandarkan interaksi API dan menawarkan fitur seperti transformasi permintaan/respons, caching, dan logging (pencatatan).
  2. Autentikasi dan otorisasi yang kuat. Menggunakan protokol autentikasi standar industri - seperti OAuth 2.0, kunci API, JWT, OpenID Connect, dan banyak lagi - memastikan bahwa hanya pengguna yang diautentikasi yang dapat mengakses API perusahaan. Selain itu, menerapkan kontrol akses berbasis peran mencegah pengguna mengakses sumber daya yang tidak diizinkan untuk digunakan.
  3. Protokol enkripsi. Koneksi SSL atau protokol enkripsi TLS — seperti HTTP Secure (HTTPS) — membantu tim mengamankan komunikasi antara API dan aplikasi klien. HTTPS mengenkripsi semua transmisi data jaringan, mencegah akses dan gangguan yang tidak sah. Mengenkripsi data yang tidak aktif, seperti kata sandi yang disimpan, dapat lebih melindungi data sensitif saat disimpan.
  4. Firewall aplikasi web (WAFs). WAF menyediakan lapisan perlindungan ekstra untuk API perusahaan, terutama dari serangan aplikasi web yang umum terjadi seperti serangan injeksi, skrip lintas situs (XSS), dan pemalsuan permintaan lintas situs (CSRF). Perangkat lunak keamanan WAF dapat menganalisis permintaan API yang masuk dan memblokir lalu lintas berbahaya sebelum mencapai server.
  5. Validasi data. Dengan cara yang sama seperti menyaring panggilan telepon dan menghindari membuka lampiran dari pengirim yang tidak dikenal, organisasi harus menyaring semua hal yang diterima dan ditolak servernya terhadap data atau transmisi konten dalam jumlah besar (termasuk yang berasal dari konsumen). Menggunakan validasi skema XML atau JSON dan mengonfirmasi parameter juga dapat membantu mencegah serangan.
  6. Pembatasan laju/kecepatan. Hal ini melindungi sumber daya dari serangan brute force dan DoS dengan membatasi jumlah permintaan yang dapat dilakukan pengguna atau alamat IP dalam jangka waktu tertentu. Batas kecepatan memastikan bahwa permintaan diproses cepat dan tidak ada pengguna yang dapat mengalihkan sistem dengan permintaan yang berbahaya.
  7. Pengujian keamanan. Pengujian keamanan mengharuskan pengembang untuk mengirimkan permintaan standar menggunakan klien API untuk menilai kualitas dan ketepatan respons sistem. Melakukan uji keamanan API secara rutin - misalnya, uji penetrasi, uji injeksi, uji autentikasi pengguna, uji perusakan parameter, dan banyak lagi - untuk mengidentifikasi dan mengatasi kerentanan membantu tim memperbaiki kerentanan sebelum penyerang mengeksploitasinya.
  8. Pemantauan dan penambalan API. Seperti halnya aplikasi atau sistem perangkat lunak apa pun, pemantauan dan pemeliharaan berkala penting untuk menjaga keamanan API. Awasi aktivitas jaringan yang tidak biasa dan perbarui API dengan patch keamanan terbaru, perbaikan bug, dan fitur baru. Pemantauan juga harus mencakup kesadaran dan persiapan untuk kerentanan API yang umum, seperti yang termasuk dalam daftar 10 besar Open Web Application Security Project (OWASP).
  9. Audit dan pencatatan. Menyimpan log audit yang komprehensif dan terkini — dan sering meninjaunya — memungkinkan organisasi melacak semua akses dan penggunaan data pengguna, serta mencatat setiap permintaan API. Tetap awas atas aktivitas API dapat menjadi tantangan, tetapi menerapkan prosedur audit dan pencatatan dapat menghemat waktu ketika tim perlu menelusuri kembali langkah mereka setelah pelanggaran data atau penyimpangan kepatuhan. Dan karena mereka menyediakan catatan perilaku jaringan normal, log audit juga dapat memudahkan untuk menemukan anomali.
  10. Kuota dan throttling. Seperti pembatasan kecepatan, throttling atau pelambatan membatasi jumlah permintaan yang diterima sistem. Namun, alih-alih beroperasi pada tingkat pengguna atau klien, throttling bekerja pada tingkat server/jaringan. Batas dan kuota throttling melindungi bandwidth sistem backend API dengan membatasi API pada sejumlah panggilan atau pesan per detik.  Terlepas dari kuota, penting untuk menilai volume panggilan sistem dari waktu ke waktu, karena peningkatan volume dapat mengindikasikan penyalahgunaan dan/atau kesalahan pemrograman.
  11. Pembuatan versi dan dokumentasi. Setiap versi baru perangkat lunak API dilengkapi dengan pembaruan keamanan dan perbaikan bug yang menopang celah keamanan di versi sebelumnya. Dan tanpa praktik dokumentasi yang tepat, pengguna dapat secara tidak sengaja menggunakan versi API yang sudah usang atau rentan. Dokumentasi harus menyeluruh dan konsisten, termasuk parameter input yang dinyatakan dengan jelas, tanggapan yang diharapkan dan persyaratan keamanan.
Keamanan AI dan API

Di antara langkah-langkah keamanan API yang ada, AI telah muncul sebagai alat baru yang kuat — dan berpotensi — untuk memperkuat API. Misalnya, perusahaan dapat memanfaatkan AI untuk deteksi anomali di ekosistem API. Setelah tim menetapkan garis dasar perilaku API yang normal, tim dapat menggunakan AI untuk mengidentifikasi penyimpangan sistem (seperti pola akses yang tidak biasa atau permintaan dengan frekuensi tinggi), menandai potensi ancaman, dan segera merespons serangan.

Teknologi AI juga dapat memungkinkan pemodelan ancaman otomatis. Dengan menggunakan data API historis, AI dapat membangun model ancaman untuk memprediksi kerentanan dan ancaman sebelum pelaku kejahatan dapat mengeksploitasinya. Jika sebuah organisasi menghadapi serangan berbasis autentikasi dalam jumlah besar, organisasi tersebut dapat menggunakan AI untuk memasang metode autentikasi pengguna tingkat lanjut (seperti pengenalan biometrik), sehingga menyulitkan penyerang untuk mendapatkan akses yang tidak sah.

Selain itu, alat yang didukung AI dapat mengotomatiskan protokol pengujian keamanan API, mengidentifikasi celah dan risiko keamanan secara lebih efisien dan efektif daripada pengujian manual. Dan seiring pertumbuhan ekosistem API, begitu juga protokol keamanan berbasis AI. AI memungkinkan bisnis untuk memantau dan mengamankan banyak API secara bersamaan, sehingga keamanan API dapat diskalakan seperti halnya API itu sendiri.

Tetap terdepan dalam keamanan API dengan IBM

Pentingnya keamanan API tidak bisa ditekankan lebih besar lagi. Saat kita melangkah lebih jauh ke era transformasi digital, ketergantungan pada API akan terus berkembang, dengan ancaman keamanan dan pelaku kejahatan yang terus berkembang. Namun, dengan alat API management seperti IBM API Connect, organisasi dapat memastikan API mereka dikelola, aman, dan sesuai di seluruh siklus hidupnya.

Mengamankan API tidak akan pernah menjadi tugas sekali jadi; sebaliknya, bisnis harus melihatnya sebagai proses yang berkelanjutan dan dinamis yang membutuhkan kewaspadaan, kecekatan, dan keterbukaan terhadap teknologi dan solusi baru. Dengan menggunakan kombinasi praktik keamanan API tradisional, dan pendekatan berbasis AI yang lebih baru seperti Noname Advanced API Security for IBM, perusahaan dapat memastikan bahwa sumber daya TI tetap seaman mungkin, melindungi konsumen dan perusahaan.

 
Penulis
Chrystal R. China Writer