
Proyek ini ditujukan untuk semakin banyak organisasi yang menerapkan API yang berpotensi sensitif sebagai bagian dari solusi perangkat lunak mereka. API digunakan untuk tugas internal dan untuk berinteraksi dengan layanan pihak ketiga. Sayangnya, banyak API tidak lulus pengujian keamanan yang ketat yang akan membuat mereka aman dari serangan, memperluas lanskap ancaman untuk aplikasi web.
Proyek keamanan Top 10 Keamanan OWASP API dirancang untuk menyoroti potensi risiko di API yang tidak aman dan menyarankan langkah-langkah untuk mengurangi risiko tersebut.
OWASP
Proyek OWASP dirujuk oleh banyak standar, alat dan organisasi, termasuk MITER, PCI DSS, DISA, FTC, dan banyak lainnya. Metodologi OWASP adalah metodologi yang diakui untuk menilai kerentanan dalam aplikasi web di seluruh dunia. Proyek OWASP mencerminkan ancaman paling signifikan terhadap aplikasi web dan seluler, API, menjelaskan metode dan metodologi pengujian.
Sebagai pengembang atau konsultan keamanan, banyak orang telah menemukan API sebagai bagian dari proyek. Meskipun ada beberapa sumber daya untuk membantu membuat dan mengevaluasi proyek-proyek ini (misalnya, lembar contekan keamanan
OWASP REST ), tidak ada proyek keamanan komprehensif yang dikembangkan untuk membantu pengembang, pentester, dan profesional keamanan.
API MODERN
Dokumen ini dalam status Release Candidat, sebuah presentasi resmi direncanakan untuk kuartal kedua tahun 2020. Keamanan API berfokus pada strategi dan solusi untuk memahami dan mengurangi kerentanan unik dan risiko keamanan antarmuka pemrograman aplikasi (API).
Apa yang menjadi prasyarat untuk membuat sheet ini:
- Perangkat klien menjadi lebih beragam dan kompleks.
- Logika bergerak dari backend ke frontend (bersama dengan beberapa kerentanan).
- Lebih sedikit lapisan abstraksi.
- Klien dan server (dan basis data) "berbicara" dalam bahasa JSON yang sama.
- Server lebih banyak digunakan sebagai proksi untuk data.
- Komponen rendering adalah klien, bukan server.
- Pelanggan mengkonsumsi data mentah.
- API mengungkapkan implementasi aplikasi yang mendasarinya.
- Status pengguna biasanya dipertahankan dan dipantau oleh klien.
- Setiap permintaan HTTP mengirim parameter tambahan (pengidentifikasi objek,
- filter).
Aplikasi web modern hampir mustahil untuk dibayangkan tanpa menggunakan API.

OWASP API Security Top 10
A1 Otorisasi salah di tingkat objek
Seringkali, API mengekspos titik akhir yang bertanggung jawab untuk pengidentifikasi, yang membuka peluang besar untuk serangan pada tingkat kontrol akses. Pemeriksaan otorisasi tingkat objek harus diterapkan di setiap fungsi yang menerima input pengguna.
A2 Otentikasi tidak valid
Mekanisme otentikasi sering diimplementasikan secara tidak benar, yang memungkinkan penyerang untuk mengkompromikan token otentikasi atau mengeksploitasi kesalahan dalam implementasi untuk menyamar sebagai pengguna lain sementara atau secara permanen. Mengompromikan kemampuan sistem untuk mengidentifikasi klien / pengguna membahayakan keamanan seluruh API.
A3 Masalah informasi yang berlebihan
Berjuang untuk standardisasi, pengembang dapat mengungkapkan semua parameter objek, tidak memperhitungkan kekritisan masing-masing, berharap bahwa klien akan menyaring data sebelum menunjukkannya kepada pengguna.
A4 Kurangnya batasan sumber daya dan permintaan
Cukup sering, API tidak menerapkan batasan pada ukuran atau jumlah sumber daya yang diminta oleh pengguna. Hal ini dapat menyebabkan tidak hanya penurunan kinerja dan bahkan DoS, tetapi juga pada serangan otentikasi - misalnya bruteforce.
A5 Otorisasi fungsi yang salah
Kebijakan akses yang kompleks dengan hierarki, grup, dan peran yang berbeda, serta pemisahan yang buram antara fungsi administratif dan fungsi normal, sering kali mengarah pada kerentanan otorisasi. Dengan mengeksploitasi kerentanan ini, penyerang mendapatkan akses ke sumber daya pengguna lain, atau ke fungsionalitas administrator.
A6 Penugasan kembali parameter
Mengikat data yang diterima dari klien (misalnya, dalam JSON) ke model data tanpa penyaringan biasanya mengarah pada penugasan kembali parameter. Penyerang, menjelajahi API, membaca dokumentasi, atau hanya menebak dapat menambahkan parameter "ekstra" ke permintaan, mengubah objek yang mereka tidak memiliki akses.
A7 Kesalahan Pengaturan Keamanan
Kesalahan dalam pengaturan keamanan paling sering merupakan hasil dari pengaturan default, "kruk", penyimpanan di awan, konfigurasi header HTTP yang salah, metode HTTP yang tidak perlu, pengaturan CORS yang terlalu luas, dan output kesalahan yang diaktifkan.
A8 Injection
Kerentanan injeksi seperti SQL, NoSQL, injeksi kode / perintah, dll. terjadi ketika data yang tidak dipercaya dikirim ke handler sebagai bagian dari permintaan atau perintah. Data yang disematkan oleh penyerang dapat "menipu" pawang dan itu akan mengeksekusi perintah sewenang-wenang, atau menerima data tanpa otorisasi yang tepat.
A9 Manajemen sumber daya salah
API sering menyediakan lebih banyak fitur daripada aplikasi web tradisional, sehingga sangat penting bahwa dokumentasi lengkap dan mutakhir. API yang dipasang dan dikonfigurasi dengan benar memainkan peran penting dalam melindungi terhadap masalah seperti akses terbuka ke versi API yang lebih lama dan fungsionalitas debugging.
A10 Pembalakan dan pemantauan yang tidak memadai
Pencatatan dan pemantauan yang tidak memadai, ditambah dengan buruk atau tidak adanya integrasi ke dalam proses respon, memungkinkan penyerang untuk mengembangkan serangan mereka, mendapatkan pijakan dalam jaringan, menangkap target baru, mengunduh atau menghancurkan data. Kebanyakan investigasi peretasan menunjukkan bahwa waktu deteksi rata-rata melebihi 200 hari, dan fakta peretasan terdeteksi oleh kontraktor eksternal, daripada sistem pemantauan internal.
OWASP API Security Top 10 2019
OWASP Russia chapter: OWASP RussiaOWASP Russia chat: https://t.me/OWASP_RussiaOWASP Russia channel: https://t.me/OWASP_RU