
Günümüzün hızlı ve tekrarlayan geliştirme süreçlerine dayalı uygulama geliştirme dünyasında geliştiriciler, uygulamalar arası iletişim için API’lere güvenmektedir. Dijital dönüşüm yolculuğunda olan kurumlar için API’ler, modern web uygulamalarının temel taşlarından biri haline gelmiştir. Günümüzde geliştiricilerin en az %90’ı, bulut tabanlı web uygulamaları geliştirirken API’leri aktif olarak kullanmaktadır. Dolayısıyla API’ler, hız ve esneklik sağlamalarının yanı sıra güvenlik açısından da yeni riskler barındırmaktadır.
API’ler giderek daha fazla saldırganın hedefi haline gelmektedir. Saldırganlar, hassas verilere doğrudan API’lerdeki zaafiyetleri kullanarak ulaşmaya çalışmaktadır. API’ler, doğaları gereği internet üzerinden erişilebilen uç noktalar sunarak, belirli sorgulara yanıt olarak kullanıcı verilerini ve hizmetleri döndürür. Güçlü bir API güvenlik mekanizması uygulanmadığı takdirde, bu yapı hackerlar için cazip bir hedef haline gelir. Saldırganlar, API’leri yetkisiz veri elde etmek amacıyla doğrudan kullanabilir veya dönen verileri analiz ederek ana uygulamayı tersine mühendislik yoluyla çözmeye çalışabilir.
API zafiyeti, en basit ifadeyle bir yazılım hatası veya sistem yapılandırma hatasıdır. Saldırganlar bu açıkları kullanarak:
Hassas uygulama verilerine veya işlevlerine izinsiz erişebilir, API’yi amacı dışında kötüye kullanabilir.
Bu alanda referans olarak kabul edilen OWASP API Top 10, en yaygın API güvenlik açıklarını özetleyerek kuruluşların bu riskleri tespit edip gidermesine yardımcı olur. OWASP API Top 10, API güvenliğini artırmak için iyi bir başlangıç noktasıdır ve çeşitli API risklerini kapsayan geniş bir çerçeve sunar.
Yukarıda da bahsettiğim gibi, çok fazla kullanım alanına sahip olan API’ler çeşitli yöntemlerle saldırıya uğrayabilir ve kötüye kullanılabilir. Yani atak yüzeyi oldukça geniştir. En yaygın API istismar türleri şunlardır:
Yukarıdaki zafiyet türleri ve API kullanımının bu denli yaygınlaşması nedeniyle, API güvenliği, hepimiz için en önemli önceliklerden biri haline gelmiştir.
Pek çok kurum, hâlâ geleneksel bir yaklaşımla Web Application Firewall (WAF) ve/veya API Gateway çözümlerine yönelerek API’lerini korumaya çalışmaktadır.
Ancak bu çözümler, kullanım prensipleri ve yetenek setleri itibarıyla API güvenliğini tam anlamıyla sağlayamamaktadır.
Bu çözümleri detaylandırmak gerekirse, aşağıdaki gibi özetleyebiliriz:
Başlangıçta PCI Section 6.6 gereksinimlerini karşılamak amacıyla tasarlanan WAF’ler, OWASP Web Application Top 10 Threats listesinde tanımlanan bilinen güvenlik açıklarını tespit etmek için imza tabanlı bir yaklaşım kullanır. Temel olarak kurum ağında bulunan web uygulamalarını dışarıdan gelebilecek saldırılara karşı korumak için geliştirilmiştir. Ancak bu yapı, API saldırılarına karşı tam anlamıyla savunma sağlamaz. Dolayısıyla WAF’ler, yeni nesil API saldırı türlerini tespit etmekte zorlanır ve API güvenliği için gerekli olan görünürlük, envanter takibi, risk değerlendirmesi ve tehdit önleme gibi gereksinimleri karşılayamaz.
Örneğin, bir BOLA (Broken Object Level Authorization) saldırısında, görünürde zararsız bir çağrı aslında başka bir kullanıcının verisine erişim sağlayabilir. Ancak bu durum, WAF tarafından tanımlanmış bir “tehdit paterni” olarak algılanmaz. Çünkü bu tür saldırıların tespit edilmesi için öncesinde API bazlı davranış analizi yapılması ve öğrenme mekanizmalarının devreye alınması gerekir.
Temel olarak, kurumların API’leri bir araya getirip yönetmelerine yardımcı olmak için tasarlanmıştır. Erişim kontrolü (access control), oran sınırlama (rate limiting) ve IP engelleme listeleri (IP block lists) gibi temel güvenlik işlevlerini sağlar. Ayrıca veri dönüşümü (data transformation), çağrı yönlendirme (call routing) ve kuyruklama (queuing) gibi kapsamlı API yönetim işlevleri içerir; ancak bunlar doğrudan güvenlik işlevi olarak değerlendirilmez.
API Gateway, reaktif bir yapıya sahiptir; yani geliştiricilerin yönetilecek API’leri manuel olarak tanımlaması gerekir.
Güvenlik açısından API Gateway’in sağladığı temel işlevler şunlardır:
On-premise olarak kurulan birçok API Gateway genişletilebilir yapıya sahiptir ve gelişmiş kayıt tutma (logging) ile özel politika uygulama olanağı sunar.
Genellikle kurumsal altyapılarda, belirli departman seviyelerinde veya bulut ortamlarında konuşlandırılan API Gateway’ler, API güvenliği için gereken tam görünürlük, envanter takibi, risk değerlendirmesi, genel güvenlik politikalarının uygulanması ve tehdit önleme gibi kritik gereksinimler konusunda, tıpkı WAF’ler gibi yetersiz kalmaktadır.
Daha önce de belirttiğim gibi, API Gateway’ler ve API Güvenliği Platformları farklı güvenlik amaçlarına hizmet eder. API Gateway’ler yalnızca uç noktaları izler ve her bir API’nin tam şemasını otomatik olarak keşfetmez. Daha da önemlisi, bir API Gateway, API üzerinden akan verileri tanımlama veya sınıflandırma yeteneğine sahip değildir. Kullandığımız API’lere tam görünürlük kazandırmak, onları siber saldırılardan korumak için şarttır. Uyumluluğun sağlanması ve hassas verilerin API’lerde kötüye kullanımdan korunması da aynı derecede önemlidir. Sonuç olarak, neye sahip olduğumuzu bilemezsek onları koruyamayız.
API Gateway temelde erişim kontrolü (access control) gibi önemli işlevleri sağlamak amacıyla tasarlanmıştır. Ancak, OWASP API Security Top 10’da belirtilen yeni nesil tehditlere karşı etkili bir savunma sağlayabilmek için, tıpkı WAF gibi tek başına yeterli değildir.
Bu noktada, WAF ve API Gateway’lerin sunduğu güvenlik imkanlarına ek olarak kapsamlı bir API güvenliği sağlayabilmek için aşağıdaki özellikleri içeren bir güvenlik çözümüne ihtiyaç duyulmaktadır. Bu özellikler şu şekilde sıralanabilir:
BOLA örneğinde olduğu gibi, davranış bazlı ve görünürde zararsız olan sorguların tespit edilmesi ve önlenmesinde bu yetenek kritik öneme sahiptir.
Tüm anlatılanlar ışığında, bir API Güvenliği Platformu’nun WAF ve API Gateway ile karşılaştırmasını tablo şeklinde özetlemek gerekirse, aşağıdaki tablo faydalı olacaktır.

Sonuç olarak, yazının genelinde de vurguladığım gibi API güvenliği, günümüz siber güvenlik trendleri arasında üst sıralarda yer almaktadır. WAF ve API Gateway’ler; web güvenliği ve API yönetimi konularında her ne kadar vazgeçilmez araçlar olsa da, kapsamlı bir API güvenliği sağlamak için bu teknolojilere ek olarak bir API Güvenliği Platformu kullanılması kaçınılmazdır. Ayrıca bu teknolojilerin birbirine alternatif değil, entegre biçimde birlikte çalışarak API’ler için bütünsel bir güvenlik sağlayabileceği unutulmamalıdır.
-