API Güvenliği Nedir? OWASP API Security Top 10 ve BOLA Riskleri
API güvenliği nedir, OWASP API Security Top 10 riskleri ve BOLA açıkları nasıl önlenir? SecureSys uzman rehberi.
API Güvenliği Nedir?
Application Programming Interface (API), farklı yazılımların güvenli ve kontrollü şekilde birbiriyle iletişim kurmasını sağlayan uygulama arayüzüdür. Günümüzde web uygulamaları, mobil uygulamalar, masaüstü yazılımlar, bulut servisleri ve üçüncü taraf entegrasyonlar arasındaki veri alışverişinin büyük bölümü API'ler aracılığıyla gerçekleşir.
API güvenliği; bu servislerin kimlik doğrulama, yetkilendirme, veri doğrulama, hız sınırlama (Rate Limiting), hata yönetimi ve veri paylaşımı gibi güvenlik kontrollerinin değerlendirilmesini kapsar. Güvenli tasarlanmayan API'ler, saldırganların doğrudan uygulamanın arka planındaki verilere ve iş mantığına erişmesine neden olabilir.
API'ler Neden Saldırganların Birincil Hedefidir?
- API'ler doğrudan iş mantığına erişim sağlar.
- Aynı API hem web hem mobil uygulama tarafından kullanılabilir.
- Kullanıcı arayüzünde görünmeyen işlevler API üzerinden erişilebilir olabilir.
- Yanlış yapılandırılmış API'ler büyük miktarda veriyi tek bir istekle döndürebilir.
- Mikro servis mimarilerinde servisler arası güven ilişkileri yanlış yönetilebilir.
Web Güvenliği ile API Güvenliği Arasındaki Fark
| Web Uygulama Güvenliği | API Güvenliği |
|---|---|
| Tarayıcı üzerinden erişilen arayüzler değerlendirilir | Doğrudan servis uç noktaları (endpoint) değerlendirilir |
| HTML, JavaScript ve istemci davranışları incelenir | JSON, XML, GraphQL ve servis yanıtları analiz edilir |
| Kullanıcı deneyimi odaklıdır | Veri akışı ve iş mantığı odaklıdır |
OWASP API Security Top 10 — En Sık Karşılaşılan Riskler
1. Broken Object Level Authorization (BOLA)
GET /api/orders/45872 isteğini yapan kullanıcı yalnızca kendi siparişini görebilmelidir. Saldırgan isteği GET /api/orders/45873 olarak değiştirip başka müşteriye ait bilgilere erişebiliyorsa ciddi bir yetkilendirme zafiyeti vardır. BOLA, bankacılık, sağlık, e-ticaret ve kamu uygulamalarında büyük veri ihlallerine yol açabilir.
2. Broken Authentication
Geçersiz token'ların kabul edilmesi, süresi dolmuş oturumların kullanılabilmesi veya JWT doğrulama eksiklikleri, saldırganların geçerli kullanıcı gibi işlem yapmasına imkân tanıyabilir.
3. Excessive Data Exposure
API, istemcinin ihtiyaç duyduğundan daha fazla veri döndürüyorsa (T.C. kimlik numarası, e-posta, telefon, iç sistem notları vb.) istemci bunları göstermese bile saldırgan API yanıtını inceleyerek bu bilgilere ulaşabilir.
4. Unrestricted Resource Consumption
Hız sınırlama (Rate Limiting) uygulanmaması, saldırganların çok kısa sürede binlerce istek göndermesine, hizmet kesintilerine ve brute force saldırılarına yol açabilir.
5. Security Misconfiguration
Debug modunun açık bırakılması, ayrıntılı hata mesajları, gereksiz HTTP metodları, yanlış CORS ayarları ve varsayılan hesaplar saldırı yüzeyini genişletebilir.
Gerçek Bir Senaryo
Bir mobil uygulama üzerinden çalışan müşteri portalında yapılan güvenlik değerlendirmesi sırasında, API'nin kullanıcı profili bilgilerini döndüren uç noktasında yalnızca kullanıcı kimliğinin değiştirilmesiyle farklı müşterilere ait ad-soyad, iletişim bilgileri, adres kayıtları ve sipariş geçmişine erişilebildiği tespit edilmiştir. Web arayüzünde herhangi bir güvenlik problemi görünmemesine rağmen, doğrudan API çağrıları incelendiğinde bu hassas verilere ulaşılabilmiştir.
SecureSys API Sızma Testi Yaklaşımı
Testlerimiz; REST API ve GraphQL servislerinin incelenmesi, JWT ve OAuth akışlarının doğrulanması, BOLA ve IDOR senaryolarının test edilmesi, parametre manipülasyonları, Mass Assignment kontrolleri, Rate Limiting mekanizmalarının doğrulanması ve CORS yapılandırmalarının incelenmesini kapsar.
API Güvenliği İçin Temel Öneriler
- Her uç noktada nesne seviyesinde yetkilendirme kontrolü yapılmalıdır.
- Döndürülen veri yalnızca istemcinin ihtiyaç duyduğu alanlarla sınırlandırılmalıdır.
- JWT ve erişim belirteçleri güvenli şekilde doğrulanmalıdır.
- Rate Limiting ve kota mekanizmaları uygulanmalıdır.
- Tüm API çağrıları merkezi olarak izlenmeli ve loglanmalıdır.
API'lerinizin BOLA, Broken Authentication ve diğer OWASP API Security Top 10 risklerine karşı test edilmesi için bize ulaşın. Web uygulamanızın genel güvenliği için Web Uygulama Sızma Testi Hizmeti sayfamızı da inceleyebilirsiniz.
İlgili Makaleler
Web Uygulama Güvenliği
OWASP Top 10 ve Web Uygulamalarında Test Edilen Güvenlik Açıkları
OWASP Top 10 nedir ve web uygulama sızma testinde hangi güvenlik açıkları test edilir? SecureSys kapsamlı rehberi.
Broken Access Control Nedir? IDOR, BOLA ve Yetkilendirme Zafiyetleri
Broken Access Control, IDOR ve BOLA nedir? Yatay/dikey yetki yükseltme senaryoları ve önleme yöntemleri. SecureSys uzman rehberi.
Kimlik Doğrulama ve Oturum Yönetimi Güvenliği: MFA, Brute Force, Session Hijacking
Kimlik doğrulama ve oturum yönetimi güvenliği: MFA, brute force, credential stuffing ve session hijacking riskleri. SecureSys uzman rehberi.
İş Mantığı (Business Logic) Güvenlik Açıkları: Fiyat Manipülasyonu ve Kupon İstismarı
İş mantığı (Business Logic) güvenlik açıkları nedir? Fiyat manipülasyonu, kupon istismarı ve race condition riskleri. SecureSys rehberi.
Cross-Site Scripting (XSS) Nedir? Stored, Reflected, DOM-Based XSS ve Önleme Yöntemleri
XSS (Cross-Site Scripting) nedir, türleri nelerdir ve web uygulamanızı nasıl korursunuz? SecureSys uzmanlarından kapsamlı rehber.
Web Uygulama Sızma Testi Metodolojisi: OWASP WSTG, PTES, NIST SP 800-115
SecureSys web uygulama sızma testi metodolojisi: planlama, bilgi toplama, manuel test, risk değerlendirme ve raporlama aşamaları.
Bu konuda profesyonel destek mi arıyorsunuz?
Uzman ekibimiz ücretsiz danışmanlık için sizi en kısa sürede arasın.