Kerentanan API OATH Teratas

Kerentanan API OATH Teratas

Kerentanan API OATH Teratas: Intro

Dalam hal eksploitasi, API adalah tempat terbaik untuk memulai. API akses biasanya terdiri dari tiga bagian. Klien diberikan token oleh Server Otorisasi, yang berjalan bersama API. API menerima token akses dari klien dan menerapkan aturan otorisasi khusus domain berdasarkan pada mereka. 

Aplikasi perangkat lunak modern rentan terhadap berbagai bahaya. Tetap percepat eksploitasi terbaru dan kelemahan keamanan; memiliki tolok ukur untuk kerentanan ini sangat penting untuk memastikan keamanan aplikasi sebelum serangan terjadi. Aplikasi pihak ketiga semakin mengandalkan protokol OAuth. Pengguna akan memiliki pengalaman pengguna yang lebih baik secara keseluruhan, serta login dan otorisasi yang lebih cepat, berkat teknologi ini. Ini mungkin lebih aman daripada otorisasi konvensional karena pengguna tidak perlu mengungkapkan kredensial mereka dengan aplikasi pihak ketiga untuk mengakses sumber daya tertentu. Meskipun protokol itu sendiri aman dan terlindungi, cara penerapannya mungkin membuat Anda terbuka untuk diserang.

Saat merancang dan menghosting API, artikel ini berfokus pada kerentanan umum OAuth, serta berbagai mitigasi keamanan.

Otorisasi Tingkat Objek Rusak

Ada permukaan serangan yang luas jika otorisasi dilanggar karena API menyediakan akses ke objek. Karena item yang dapat diakses API harus diautentikasi, hal ini diperlukan. Terapkan pemeriksaan otorisasi tingkat objek menggunakan gateway API. Hanya mereka yang memiliki kredensial izin yang sesuai yang boleh diizinkan mengakses.

Otentikasi Pengguna Rusak

Token yang tidak sah adalah cara lain yang sering dilakukan penyerang untuk mendapatkan akses ke API. Sistem autentikasi dapat diretas, atau kunci API dapat diekspos secara tidak sengaja. Token otentikasi mungkin digunakan oleh hacker untuk memperoleh akses. Otentikasi orang hanya jika mereka dapat dipercaya, dan gunakan kata sandi yang kuat. Dengan OAuth, Anda tidak hanya dapat menggunakan kunci API dan mendapatkan akses ke data Anda. Anda harus selalu berpikir tentang bagaimana Anda akan masuk dan keluar dari suatu tempat. OAuth MTLS Sender Constrained Tokens dapat digunakan bersama dengan Mutual TLS untuk menjamin bahwa klien tidak berperilaku buruk dan meneruskan token ke pihak yang salah saat mengakses mesin lain.

Promosi API:

Eksposur Data Berlebihan

Tidak ada batasan jumlah titik akhir yang dapat dipublikasikan. Sebagian besar waktu, tidak semua fitur tersedia untuk semua pengguna. Dengan memaparkan lebih banyak data daripada yang diperlukan, Anda membahayakan diri sendiri dan orang lain. Hindari mengungkapkan sensitif informasi sampai benar-benar diperlukan. Pengembang dapat menentukan siapa yang memiliki akses ke apa dengan memanfaatkan Cakupan dan Klaim OAuth. Klaim dapat menentukan bagian mana dari data yang dapat diakses pengguna. Kontrol akses dapat dibuat lebih sederhana dan lebih mudah dikelola dengan menggunakan struktur standar di semua API.

Kurangnya Sumber Daya & Pembatasan Tingkat

Topi hitam sering menggunakan serangan denial-of-service (DoS) sebagai cara kekerasan untuk membuat server kewalahan dan mengurangi waktu aktifnya menjadi nol. Tanpa batasan pada sumber daya yang dapat dipanggil, API rentan terhadap serangan yang melemahkan. 'Menggunakan gateway API atau alat manajemen, Anda dapat menetapkan batasan tarif untuk API. Pemfilteran dan paginasi harus disertakan, serta jawaban yang dibatasi.

Kesalahan Konfigurasi Sistem Keamanan

Pedoman konfigurasi keamanan yang berbeda cukup komprehensif, karena kemungkinan kesalahan konfigurasi keamanan yang signifikan. Sejumlah hal kecil dapat membahayakan keamanan platform Anda. Ada kemungkinan bahwa topi hitam dengan tujuan tersembunyi dapat menemukan informasi sensitif yang dikirim sebagai tanggapan atas kueri yang salah format, sebagai contoh.

Penugasan Massal

Hanya karena titik akhir tidak ditentukan secara publik, bukan berarti titik akhir tidak dapat diakses oleh pengembang. API rahasia dapat dengan mudah dicegat dan direkayasa ulang oleh peretas. Lihatlah contoh dasar ini, yang menggunakan Token Pembawa terbuka di API "pribadi". Di sisi lain, dokumentasi publik mungkin ada untuk sesuatu yang secara eksklusif dimaksudkan untuk penggunaan pribadi. Informasi yang terbuka dapat digunakan oleh topi hitam untuk tidak hanya membaca tetapi juga memanipulasi karakteristik objek. Anggap diri Anda seorang peretas saat Anda mencari titik lemah potensial dalam pertahanan Anda. Izinkan hanya mereka yang berhak mengakses apa yang dikembalikan. Untuk meminimalkan kerentanan, batasi paket respons API. Responden tidak boleh menambahkan tautan apa pun yang tidak mutlak diperlukan.

API yang Dipromosikan:

Manajemen Aset yang tidak tepat

Selain meningkatkan produktivitas pengembang, versi dan dokumentasi terkini sangat penting untuk keamanan Anda sendiri. Bersiaplah untuk pengenalan versi baru dan penghentian API lama jauh sebelumnya. Gunakan API yang lebih baru daripada membiarkan yang lama tetap digunakan. Spesifikasi API dapat digunakan sebagai sumber kebenaran utama untuk dokumentasi.

Injeksi

API rentan terhadap injeksi, begitu pula aplikasi pengembang pihak ketiga. Kode berbahaya dapat digunakan untuk menghapus data atau mencuri informasi rahasia, seperti kata sandi dan nomor kartu kredit. Pelajaran paling penting untuk diambil dari ini adalah untuk tidak bergantung pada pengaturan default. Pemasok manajemen atau gateway Anda harus dapat mengakomodasi kebutuhan aplikasi unik Anda. Pesan kesalahan tidak boleh menyertakan informasi sensitif. Untuk mencegah data identitas bocor ke luar sistem, Nama Samaran Berpasangan harus digunakan dalam token. Ini memastikan bahwa tidak ada klien yang dapat bekerja sama untuk mengidentifikasi pengguna.

Pencatatan dan Pemantauan yang Tidak Memadai

Ketika serangan benar-benar terjadi, tim membutuhkan strategi reaksi yang dipikirkan dengan matang. Pengembang akan terus mengeksploitasi kerentanan tanpa ketahuan jika sistem logging dan pemantauan yang andal tidak ada, yang akan meningkatkan kerugian dan merusak persepsi publik terhadap perusahaan. Mengadopsi pemantauan API yang ketat dan strategi pengujian titik akhir produksi. Penguji topi putih yang menemukan kerentanan sejak awal harus diberi hadiah dengan skema hadiah. Jejak log dapat ditingkatkan dengan memasukkan identitas pengguna ke dalam transaksi API. Pastikan semua lapisan arsitektur API Anda diaudit dengan menggunakan data Token Akses.

Kesimpulan

Arsitek platform dapat melengkapi sistem mereka untuk selangkah lebih maju dari penyerang dengan mengikuti kriteria kerentanan yang ditetapkan. Karena API dapat memberikan aksesibilitas ke Informasi Identifikasi Pribadi (PII), menjaga keamanan layanan tersebut sangat penting untuk stabilitas perusahaan dan kepatuhan terhadap undang-undang seperti GDPR. Jangan pernah mengirim token OAuth langsung melalui API tanpa menggunakan API Gateway dan Phantom Token Approach.

API yang Dipromosikan: