Uygulama programlama arabirimi (API), farklı yazılımlar arasındaki etkileşimleri tanımlayan ve sağlayan bir bilgi işlem arabirimidir. Sosyal platformlarda medya paylaşımı, çevrimiçi ödemelerin işlenmesi ve web sitesi analiz verilerinin toplanması dahil olmak üzere birçok günlük görev API'lar sayesinde gerçekleşir. Bulut bilgi işlem sayesinde kuruluşlar, API'lar yardımıyla küresel altyapıları daha kolay bir şekilde dağıtabilir.
Günümüzde, yazılımların çoğu ya API'dır ya da API kullanmaktadır ve son 4-5 yılda API büyümesi katlanarak artmıştır. Örneğin API geliştirmeye yönelik bir iş birliği platformu olan Postman'in 2016'da yarım milyon olan API klasörü sayısı, inanılmaz bir patlamayla 2020'de yaklaşık 35 milyona ulaştı.
API popülaritesindeki astronomik artışa rağmen, ilgili güvenlik önlemlerinin getirilmesinde gecikmeler yaşandı. Şimdi, baraj kapaklarının daha da açılmasıyla, çeşitli büyüklükte güvenlik açıkları ortaya çıktı. Gartner'a göre, büyümede yaşanan patlama ve az gelişmiş güvenlik kombinasyonu göz önüne alındığında, API'ların şimdiye kadarki en büyük güvenlik açığı olacağı tahmin ediliyor.
API büyümesinin ana faktörlerinden biri, 2013 yılında popülerlik kazanmaya başlayan mikro hizmetlerin yaygınlaşması oldu. Mimarinin mikro hizmet tarzı, API'ları kullanarak birbirleriyle iletişim kuran küçük, bireysel uygulamalar geliştirir. Bu şekilde karmaşık görevler daha küçük parçalara ayrılır ve her parça bağımsız olarak geliştirilir ve korunur.
Küresel mikro hizmetler mimarisi pazarı, 2018 yılında 2,07 milyar dolar değerindeydi ve 2026 yılında 8,07 milyar dolara ulaşması öngörülüyor (2019-2026 yılları arasında %18,6 yıllık bileşik büyüme oranı). Mikro hizmetler; esneklikleri, daha hızlı geliştirme döngüleri ve üstün ölçeklenebilirlikleri sayesinde geniş çapta benimsendi.
Örneğin Netflix, talebi karşılamak için merkezileştirilmiş monolitik veri merkezlerinden bulut tabanlı bir mikro hizmet mimarisine geçti. Elde edilen sonuç, geliştiriciler için, içeriği belirli coğrafi bölgelere göre uyarlama yeteneği gibi müşteri deneyimini sürekli iyileştirme konusunda muazzam bir özgürlük oldu.
İçinde yaşadığımız API öncelikli dünyaya yön veren trendler, bize güvenlik açıklarının nerede bulunduğuna dair bir ipucu da veriyor. API'lar her yerde ve API kullanımı artmaya devam ediyor. Risk de öyle.
API'larda görülen yaygın gelişim ve etkinlikler, uygulamaların güvenliğinin sağlandığı anlamına gelmez. Gartner'a göre, 2021 yılı itibarıyla, internet erişimi olan uygulamaların %90'ı, kullanıcı arayüzü (UI) üzerinden değil, güvenlik açığı barındıran API'lar nedeniyle daha fazla saldırı alanına sahip olacak. Gartner ayrıca, 2022 yılına kadar API ihlallerinin seyrekten en sık görülen saldırı düzeyine geçeceğini öngördü.
API güvenlik açıkları; uç noktalar (cihazlar, sunucular, sanal ortamlar vb.), veri maruziyeti, servis reddi (DoS), yetkilendirme kusurları, güvenlik sisteminin yanlış yapılandırılması ve daha fazlası gibi çok çeşitli alanlarda bulunabilir. Herhangi bir kuruluşta bulunan binlerce API destekli varlıkla ilgili devasa saldırı yüzeyi göz önüne alındığında, API güvenlik açıklarının kuruluşlarda son derece geniş kapsamlı etkileri olabilir.
Örnekler arasında verilerin imha edilmesi, çalıntı fonlar, üretkenlik kaybı, fikri mülkiyet hırsızlığı, kişisel ve finansal veri hırsızlığı, dolandırıcılık, iş operasyonunun kesintiye uğramasının yanı sıra zarar gören verileri ve sistemleri geri yükleme ve/veya silme maliyeti sayılabilir. API ihlaliyle ilişkili itibar kaybı, herhangi bir ciddi güvenlik olayında yaygın olan güven erozyonuna da yol açabilir.
Güçlü güvenlik önlemlerine rağmen API saldırılarına maruz kalan şirketlerin yaşadığı yüksek profilli olaylar, genellikle manşetlere taşındı. Facebook örneğinde, sitenin "Başkasının Gözünden Gör" özelliğindeki bir zayıf noktaya yapılan saldırıdan 50 milyon hesap etkilendi. Bu zayıf nokta, Facebook'un API destekli bir video yükleme işlevi oluşturmasından sonra bilgisayar korsanlarının hesap erişim jetonlarını çalmasına yol açtı.
Uber de benzer şekilde bir saldırıya maruz kaldı: Kullanıcılarının API isteklerindeki evrensel olarak benzersiz tanımlayıcıları (UUID), API yanıtında jetonların sızdırılmasına ve hesapların çalınması için kullanılabilmesine yol açtı. Böylece saldırganlar, kurbanların konumlarını takip etme ve hatta arabalarını çalma imkanına sahip oldu.
Facebook ve Uber'de yaşanan bu olaylar, "bozuk kullanıcı kimlik doğrulaması" API saldırısına bir örnektir. Kimlik doğrulama yanlış uygulandığında, kimlik doğrulama jetonlarının ele geçirilmesine ve kullanıcı kimliği hırsızlığına olanak tanıyan diğer kusurlara yol açar.
Covid-19'a bağlı olarak ev ofiste çalışmanın artması nedeniyle konut IP adreslerinin yoğun kullanımı, kötü niyetli API çağrılarını meşru olanlardan ayırmayı daha da kritik hale getirmektedir. Kimlik bilgisi doldurma veya spam botnet saldırıları; saldırıya uğramış sunucular, iş istasyonları ve hatta IoT cihazlarından oluşan 10.000'e kadar farklı IP kullanabilir.
API'lar uygulama mantığını ve Kişisel Olarak Tanımlanabilir Bilgiler (PII) gibi hassas verileri saldırıya açık hale getirdiğinden, kuruluşların altyapısı ve güvenlik stratejisi için kritik öneme sahiptir. Ancak büyük bir kısmı “negatif güvenlik” modeline dayanan geleneksel web uygulaması güvenlik stratejileri, çoğu API tehdidini durdurmada yetersiz kalabilir.
“Negatif güvenlik” modelinde her istek, bilinen veya şüpheli tehditlerin engellenenler listesinde olmadığı sürece Web Uygulaması Güvenlik Duvarı (WAF) üzerinden iletilir. Bu model, uygun API çağrılarının engellendiği yanlış pozitif sonuçlar oluşturabilir ve daha hedefe odaklı saldırılardan bazılarını yakalayamayabilir. Ancak, WAF'lerin API güvenliğinde oynayacağı kritik bir rol vardır. Örneğin, şema doğrulamasının birkaç aşamasından geçen kimliği doğrulanmış trafik (ör. uç nokta, yöntem ve parametreler) yine de bir WAF'in yakalayabileceği SQL saldırısını taşıyabilir. Ayrıca, bazı API'lar TLS için uygun değildir veya şema doğrulama zorlukları oluşturur. Şemalar güncel değilse veya API'lar parçalıysa ve tek bir şemada birleştirilmesi zorsa, bir WAF boşluğu doldurmaya yardımcı olur.
Bununla birlikte, API güvenliği için yalnızca engellenenler listesi merkezli bir WAF'e güvenmek, kuruluşu savunmasız bırakır. API tehdidi azaltma, yalnızca bilinen davranışlara izin verirken diğer her şeyi tanımlayıp reddeden API Shield gibi bir "pozitif güvenlik" modeliyle bu riskleri önleyebilir.
Pozitif bir modele yönelik önemli adımlardan biri, parolaların yeniden kullanılmasına veya paylaşılmasına karşı savunmasız olmayan güçlü kimlik doğrulama ve yetkilendirmenin dağıtılmasıdır (ör. TLS veya OAuth). İzinleri ve sertifika paylaşımını yönetmek zaman alabilir, bu nedenle geliştiricilerin izin verilenler listesine ekleme sürecini olabildiğince basitleştiren araçlara öncelik vermesi gerekir.
Elbette bir cihazdan sertifika alıp başka bir yerde yeniden kullanmak imkansız değil. Geliştiricilerin, API çağrılarını kendilerinin doğrulaması için bir yola da ihtiyaçları vardır. Şema doğrulaması bunu, API isteklerinin içeriğini (URL'den sonra gelen sorgu parametrelerini ve POST gövdesinin içeriğini), beklenenlerin kurallarını içeren bir sözleşme veya "şema" ile eşleştirerek yapabilir. Doğrulama başarısız olursa, API çağrısı engellenerek kaynak, geçersiz bir istekten veya kötü niyetli bir yükten korunmuş olur.
Kimlik doğrulama/yetkilendirme ve API çağrı doğrulaması yoluyla uygulanan pozitif güvenlik önemlidir; ayrıca, ek güvenlik önlemleri de gereklidir. Örneğin API'lar, hacimsel saldırılara, kaba kuvvet saldırılarına ve kimlik bilgisi doldurmaya karşı hâlâ savunmasızdır. Bu nedenle, DDoS azaltma ve hız sınırlama, kuruluşların genel güvenlik duruşunda gerekli araçlar olmaya devam etmektedir.
DDoS azaltma ve hız sınırlama gibi mevcut güvenlik araçlarına yenilerini eklemek zorluklar yaratabilir. API çağrıları birçok farklı araçtan geçtiğinde, izlenmesi ve kaydedilmesi daha zor olabilir. Ek olarak, trafiği coğrafi olarak dağıtık veri merkezlerinde farklı araçlar üzerinden yönlendirmek, gecikme ve yavaş uygulama performansına yol açabilir.
Bu nedenlerle, API güvenliğini sağlamanın en iyi yolu, daha geniş bir edge ağına entegre edilmiş ve aşağıdakilere benzer avantajlar sunan birden fazla güvenlik özelliğinden faydalanmaktır:
Esneklik: Birden çok uç ağ konumu API güvenlik araçları barındırabiliyorsa, izole kesintiler daha az risk oluşturur.
Daha kısa gecikme süresi: Aynı edge ağı konumunda birden fazla API güvenlik aracı çalışıyorsa, trafiğin farklı konumlara yönlendirilmesi gerekmez.
Tehdit istihbaratı: Bir edge ağı yeterli erişime sahipse, çok sayıda API'a yönelik saldırıları analiz edebilir ve geri kalanları daha iyi korumak için bu istihbaratı kullanabilir.
Daha kolay kayıt: Tek bir ekrandan yönetilen tek bir ağı kulanmak, geliştiricilere tek bir gerçek kaynağı sağlar.
Modern kurumsal mimariler için tasarlanan Cloudflare, güçlü istemci sertifikası tabanlı kimlik ve katı şema tabanlı doğrulama kullanarak API'ların güvenliğini sağlamayı kolaylaştırır. Mevcut altyapınızda herhangi bir değişiklik yapmadan, iş açısından kritik web uygulamalarınızı kötü niyetli saldırılara karşı korumak için akıllı ve ölçeklenebilir bir çözüm.
Bu makale, günümüzde teknoloji kararlarını verenleri etkileyen en son trendler ve konular üzerine hazırlanmış bir serinin parçasıdır.
Bu makaleyi okuduktan sonra şunları anlayacaksınız:
API kullanımındaki artış oranı
API'ler ile saldırı yüzeyi alanı nasıl genişler?
Bu riski ortadan kaldırmaya yönelik stratejiler
Entegre bir platformun avantajları