OWASP API Security Top 10 RC

gambar
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 Russia
OWASP Russia chat: https://t.me/OWASP_Russia
OWASP Russia channel: https://t.me/OWASP_RU

Source: https://habr.com/ru/post/id470395/


All Articles