API GÜVENLİĞİNDE RİSKLER VE ÖTESİ

API güvenliği, önde gelen “GÜVENLİK TEHDİT VEKTÖRÜ” olarak gittikçe artarak ciddi risk yaratıyor. Bu konu Siber Güvenlik dünyasında öncelikli hale geldi. Tüm web trafiğinin %90’ından fazlasını oluşturan ve yönlendiren API’lerin, siber dünyamızın bel kemiği haline gelmesiyle, hem Siber Güvenlik ekipleri hem de “Saldırganlar” artık bu konuya odaklanıyorlar.

Güncel analist raporları, web’de dolaşan tüm API’lerin %50’sinin şu anda bilinmeyen, yönetilemeyen ve güvenlik ekipleri tarafından korunamayan yapıda olduğunu gösteriyor. Bu ciddi riskin farkında mıyız ?

API’lerin içerdiği kapsam ve riskler, diğer tüm siber güvenlik biçimlerinden benzersiz olan farklı bir güvenlik yaklaşımını zorunlu kılıyor. Geleneksel güvenlik yaklaşımları API’leri koruma yeteneklerinde yetersiz kalıyor ve risk artıyor… API’lerin çok hızlı değişimi ve gelişimi sürdükçe API ortamı sürekli farklılaşıyor. Yeni ve değişen API’lere ayak uydurmak çok zor. Kuruluşlar, API’lerinin eksiksiz bir envanterini elde etme konusunda zorlanıyor ve unutmayalım …var olduğunu bilmediğiniz bir şeyi koruyamazsınız. ! API güvenliği, öncelikle doğru bir envanterle başlamalıdır ve WAF’ler ve/veya API ağ geçitleri gibi geleneksel araçlar/çözümler, sürekli gelişen API’leri tespit etmekte artık yeterli değiller.

API Güvenliğinin Genel Uygulama Güvenliğinden Farkı Nedir?

Geleneksel web güvenliğinin temel özelliklerine bakarsak : Hepimizin bildiği üzere “Geleneksel ağlarda”, erişim noktalarını kontrol eden net bir çevre mevcuttur. Bu çevre, istek sahiplerinin ( requestors)  erişimlerine ya izin verir , ya da bunları reddeder ve izin verilen erişimlerin iyi niyetli olduğunu varsayar. Statik protokollerin davranışını düşünürsek ; gelen istekler çoğunlukla statik protokollere uyacak ve güvenlik yöneticilerinin bu protokolleri zorlamak için bir web uygulaması güvenlik duvarı (WAF) yapılandırmasına olanak tanıyacaklardır.

Web tarayıcısı kullanan istemcilerde ;  WAF, istemcilerin tarayıcı ortamlarını doğrulayabilir ve eğer bu doğrulama başarısız olursa, istemcinin kontrolsuz bir tarayıcı veya öykünücü kullanan bir bot olduğu  varsayılacaktır. Şimdi de saldırıları tespit etmek için istekleri inceleme konusuna bakalım;  geleneksel bir ağ, siteler arası komut dosyası çalıştırma (XSS) girişimlerini engellemek için bir WAF kullanabilir. Eğer tek bir IP’den büyük bir trafik hacmi algılarsa, WAF bunun bir “Dağıtılmış Hizmet Reddi” (DDoS) girişimi olduğunu belirleyebilir.

Şimdi de API güvenliğini geleneksel güvenlikten ayıran temel özelliklere bakalım…

Birçok açıklığı olan ve “hendeği olmayan bir kale gibi” düşünelim… Hatırlarsak  geçmişte geleneksel ağların yalnızca 80 (HTTP) ve 443 (HTTPS) gibi ortak bağlantı noktalarının koruması gerekiyordu. Ancak artık günümüzün web uygulamaları, farklı protokoller kullanan çok sayıda API uç noktasına sahiptir. API’ler genellikle zamanla genişlediğinden, tek bir API bile güvenliği sandığımızdan çok zorlayacak bir hale getirme potansiyeline sahiptir.

Sık sık değişen gelen istek biçimleri olduğunu aklımızdan çıkartmayalım. Biliyoruz ki günümüzün dinamik iş dünyasının yenilikçi uygulamaları gereği API’ler bir DevOps ortamında hızla gelişir ve çoğu WAF bu esneklik düzeyine uyum sağlayamaz. Bir API her değiştiğinde, geleneksel güvenlik araçlarının mutlaka manuel olarak yeniden ayarlanması ve yeniden yapılandırılması zorunlu olarak gerekir ki bu süreç, ciddi kaynak ve zaman tüketen hataya çok açık bir süreçtir.

İstemciler genellikle bir web tarayıcısı kullanmazlar – çoğu hizmet veya mikro servis  API’sine yerel ve mobil uygulamalar veya diğer hizmetler ve yazılım bileşenleri tarafından erişilir. Bu istemciler bir tarayıcı kullanmadığından, web güvenlik araçları tarayıcı doğrulamasını kullanamaz. Kötü amaçlı botları tespit etmek için tarayıcı doğrulamasına dayanan çözümler, otomatik trafiği API uç noktalarından hariç tutmayı genellikle zor bulur. Özetlersek gelen istekleri incelemek, saldırıları tespit etmeyi garanti etmez – birçok API kötüye kullanım saldırısı, meşru görünen istekleri kullanır.

 API Güvenlik açıklarını nasıl tespit ederiz ?  

 API’leri etkili bir şekilde güvenli hale getirmenin tek yolu, API yaşam döngüsünün hangi bölümlerinin güvensiz olduğunu anlamaktan geçiyor. Eğer uygulamalarınız çok sayıda API içeriyorsa API yaşam döngüsünün tamamını göz önünde bulundurmak önemlidir. API, bir yazılım ürününün tasarımından geliştirmeye, test etme, hazırlama ve üretime geçişine kadar tüm aşamalarından geçen bütünsellikle ele alınmalıdır.

Son yıllarda gittikçe artan API ile ilgili güvenlik tehditleri sebebiyle, Open Web Application Security Project (OWASP), en ciddi API güvenlik sorunlarına ilişkin farkındalığı arttırmak amacıyla API Security Top 10’u yayınladı. API’lersiz dünya düşünülemez çünkü  işletmelerin dijital ürün ve hizmetlerini sunmak için ihtiyaç duyduğu temel verilerin birbirine bağlanmasını sağlayan önemli unsurlar. Bulutta faaliyet gösteren her şirket API’lere güvenir. API güvenliği, bu şirketlerin kritik hizmetlerini ve müşterilerinin verilerini korumaları için mutlak bir gereklilik haline geldi.

Sektörün API’ye özgü güvenlik ihtiyacını karşılaması mutlak zorunludur. Özetle geleneksel siber güvenlik yöntemleri günümüzde etkisizdir. API saldırılarının sayısı ve karmaşıklığı arttıkça, API güvenliğine farklı yaklaşmanın günü gelmiştir. Konuyu merak eden, bu konudaki çözümleri tartışmak isteyenler doğrudan bana yazabilir. API güvenliği konusundaki  birikimimizi ve özgün çözümlerimizi konuşmaya hazırız…

Cüneyt Kalpakoğlu
Founder & Chairman
Endpoint Bilgi Teknolojileri Güvenliği ArGe A.Ş – 2022
LinkedIn

KAYNAKÇA:

  • https://owasp.org/www-project-api-security/
  • Why API Security Must Be a Top Concern?  Bar Dvir Director of Engineering at WIB
  • Full Lifecycle Security For Your API Ben Grossmann VP of Engineering at WIB
  • API Security: Why It’s Unique and Where We’re Going Wrong Philip Ingram MBE
  • API Security: The Complete Guide to Threats, Methods & Tools Danko Kovacic
  • API RİSKLERİNİN FARKINDA MISINIZ ? Cüneyt KALPAKOĞLU Published on October 19, 2022