Bu Help Net Security’de, Akto CEO’su Ankita Gupta, API güvenliğindeki en iyi uygulamaları ele alıyor, OAuth 2.0 ve OpenID Connect gibi kimlik doğrulama protokollerini, katı HTTPS şifrelemesini ve durumsuz kimlik doğrulama için JWT’lerin kullanımını savunuyor.
Gupta, etkili yetkilendirme yönetimi için rol tabanlı erişim denetimi (RBAC) ve nitelik tabanlı erişim denetimini (ABAC) öneriyor.
API’ler için kimlik doğrulama ve yetkilendirme mekanizmalarını uygularken etkili bulduğunuz en iyi uygulamalardan bazıları nelerdir?
Kimlik doğrulaması için OAuth 2.0 ve OpenID Connect ile başlayın. Bu çerçeveler, uygulamalarınız ve hizmetleriniz genelinde güvenli kimlik doğrulama ve yetkilendirmeyi kolaylaştıran sağlam, standartlaştırılmış protokoller sağlar.
JSON Web Token’ları (JWT) özellikle durumsuz kimlik doğrulaması için etkilidir. Sunucu tarafında depolamaya gerek kalmadan güvenli veri iletimi sağlarlar. Token’ların güçlü bir algoritma ile düzgün bir şekilde imzalandığından, riski azaltmak için kısa son kullanma sürelerine sahip olduğundan ve uzun ömürlü oturumları sürdürmek için yenileme token’larını kullandığından emin olun.
Verileri aktarım sırasında şifrelemek için her zaman HTTPS kullanın. Bu, istemci ve sunucu arasındaki verilerin ele geçirilmesini ve değiştirilmesini önlediği için pazarlık konusu değildir.
API anahtarları istekleri tanımlamak ve doğrulamak için kullanılmalıdır. Tehlikeye atılmış anahtarların riskini azaltmak için bu anahtarları periyodik olarak döndürün ve bir ihlalden şüpheleniliyorsa derhal iptal edildiklerinden emin olun.
Yetkilendirme için, rol tabanlı erişim denetimini (RBAC) uygulayın. Farklı kullanıcı gruplarının ihtiyaçlarına göre uyarlanmış belirli izinlere sahip net roller tanımlayın. Hala uygun ve alakalı olduklarından emin olmak için bu rolleri düzenli olarak denetleyin.
Dinamik politika yönetimi katmanı eklemek için öznitelik tabanlı erişim denetimini (ABAC) dahil edin. Kullanıcı özniteliklerine, kaynak özniteliklerine ve çevresel koşullara dayalı politikaları uygulayın.
En az ayrıcalık ilkesine uyun. Kullanıcıların görevlerini yerine getirmeleri için yalnızca gerekli izinleri verin. Bu, tehlikeye atılmış hesaplardan veya içeriden gelen tehditlerden kaynaklanabilecek olası hasarı en aza indirir.
Ayrıntılı erişim denetimi de önemlidir. Kullanıcıların ne yapıp ne yapamayacağı konusunda kesin bir denetim sağlamak için izinleri tek tek API uç noktaları veya belirli eylemler düzeyinde yönetin.
Bağlam farkında erişim kontrolü, kullanıcının konumu, cihaz türü ve erişim isteğinin zamanı gibi faktörleri dikkate alarak güvenliği daha da artırır.
Tüm kimlik doğrulama ve yetkilendirme olaylarının kapsamlı bir şekilde kaydedilmesini ve izlenmesini sağlayın. Son olarak, güvenliği en baştan SDLC’ye entegre edin. Geliştirme sürecinin başlarında kimlik doğrulama ve yetkilendirme sorunlarını yakalamak için shift left araçlarını kullanın ve güvenliğin API’nizin temel bir yönü olduğundan emin olun.
Kuruluşlar API güvenlik tehditlerini tespit etmek ve bunlara yanıt vermek için hangi ölçümlere veya göstergelere odaklanmalıdır?
Deneyimime göre, kuruluşların API güvenlik tehditlerini etkili bir şekilde tespit etmek ve bunlara yanıt vermek için odaklanması gereken altı önemli gösterge vardır: gölge API’ler, internete maruz kalan API’ler, hassas verileri işleyen API’ler, kimliği doğrulanmamış API’ler, yetkilendirme kusurları olan API’ler, uygunsuz hız sınırlaması olan API’ler. Bunu daha da açayım.
Gölge API’leri: Öncelikle, gölge API’leri tanımlamak ve izlemek önemlidir. Bunlar, önemli güvenlik riskleri oluşturabilen belgelenmemiş veya yönetilmeyen API’lerdir.
İnternete açık API’ler: Genel olarak erişilebilir API sayısını sınırlayın ve yakından takip edin. Bunlar dış tehditlere daha yatkındır.
Hassas verileri işleyen API’ler: Hassas verileri işleyen ve aynı zamanda herkese açık olan API’ler en savunmasız olanlar arasındadır. Güvenlik önlemleri için önceliklendirilmelidirler.
Kimliği doğrulanmamış API’ler: Uygun kimlik doğrulaması olmayan bir API, tehditlere açık bir davettir. Her zaman kimliği doğrulanmamış API’lerin bir kataloğuna sahip olun ve bunların veri sızıntılarına karşı savunmasız olmadığından emin olun.
Yetkilendirme kusurları olan API’ler: Yetkilendirme güvenlik açıkları olan API’lerin bir envanterini tutun. Bu API’ler yetkisiz erişime ve kötüye kullanıma karşı hassastır. Bu güvenlik açıklarını öncelikli olarak düzeltmek için bir süreç uygulayın.
Uygunsuz hız sınırlamasına sahip API’ler: Kimlik bilgisi doldurma veya kaba kuvvet saldırıları en yaygın API saldırılarıdır. Kuruluşlar, oturum açma, kaydolma, şifremi unuttum ve şifre sıfırlama API’leri gibi kritik API’lerde bir oran sınırının uygulanıp uygulanmadığını her zaman bilmelidir.
Kuruluşlar tarafından sıklıkla göz ardı edildiğini düşündüğünüz API güvenliğine ilişkin en iyi uygulamalardan bazıları nelerdir?
API güvenliğinde en çok göz ardı edilen en iyi uygulamalardan biri, API uç noktalarını yaşam döngüleri boyunca düzgün bir şekilde yönetmektir. Çoğu kuruluş, eski API’leri düzgün bir şekilde kullanımdan kaldırmayı başaramaz ve bu da onları açıkta ve savunmasız bırakır. API’lerin uygun şekilde sürümlendirilmesini, kullanımdan kaldırılmasını ve emekliye ayrılmasını içeren sağlam bir API yaşam döngüsü yönetim süreci uygulamazlar.
DevSecOps işlem hattı boyunca, özellikle sola kaydırma yaklaşımıyla yapılan API güvenlik kontrolleri unutuluyor veya sıklıkla tam olarak uygulanmıyor.
Giriş doğrulama ve temizleme, API enjeksiyonu güvenlik açıklarının çoğundan kaçınmanın cevabıdır ve genellikle düzgün uygulanmazlar. Hem istemci hem de sunucu tarafında sıkı doğrulamanın sağlanması, API saldırılarını önlemede muazzam bir şekilde yardımcı olur.
API ağ geçitlerinin uygulanması ve güvenliğinin sağlanması genellikle göz ardı edilir. API ağ geçitleri merkezi erişim ve kontrol noktalarıdır ancak düzgün bir şekilde güvence altına alınmazlarsa tek arıza noktaları haline gelebilirler.
Hız sınırlama ve yavaşlatma bazen yeterince kullanılmaz. Bunlar kötüye kullanımı ve hizmet reddi saldırılarını önlemek için çok önemli olsa da, tüm kuruluşlar bunları etkili bir şekilde uygulamaz.
Sıfır güven mimarisi, sıklıkla göz ardı edilen gelişmiş bir uygulamadır. API’ler için sıfır güven modelini benimsemek, ağın içinde veya dışında konumlarından bağımsız olarak API’ye erişen her varlığın kimliğini ve yetkisini sürekli olarak doğrulamayı içerir.
Son olarak, hareketsiz verilerin şifrelenmesi genellikle ihmal edilir. Verilerin aktarım sırasında şifrelenmesi standart bir uygulama olsa da, API’ler tarafından depolanan hassas verilerin de şifrelendiğinden emin olmak ek bir güvenlik katmanı ekler. Riski azaltmak için şifreleme ve anahtar yönetimi en iyi uygulamalarını kullanın.
API güvenlik ihlallerine dair dikkat çekici örnekler ve bunlardan çıkarılan dersler paylaşabilir misiniz?
Size beş önemli API güvenlik ihlaline ilişkin analizimi anlatayım.
Dell (2024): Dell, saldırganların 49 milyon müşterinin verilerini toplamak için zayıf bir şekilde güvence altına alınmış bir ortak portal API’sini kullandığı büyük bir ihlal yaşadı. Bilgisayar korsanı sahte ortak hesapları kaydetti ve 7 basamaklı hizmet etiketleri oluşturmak için bir betik kullandı, tespit edilmeden yaklaşık üç hafta boyunca dakikada 5.000’den fazla istek gönderdi. API’de hız sınırlaması ve yeterli izleme yoktu, bu da saldırganın adları, adresleri, sipariş ayrıntılarını ve daha fazlasını toplamasına olanak sağladı. Önemli çıkarım? Sağlam bir hız sınırlaması uygulamak kesinlikle gereklidir.
23veBen (2023): Genetik test şirketi 23andMe, bilgisayar korsanlarının 6,9 milyon kullanıcının kişisel verilerine erişmesine izin veren bir kimlik bilgisi doldurma saldırısına uğradı. Saldırganlar, çok faktörlü kimlik doğrulaması olmayan hesaplarda oturum açmak için diğer ihlallerden elde edilen kimlik bilgilerini kullandı. Ana çözüm? Çok faktörlü kimlik doğrulamayı (MFA) zorunlu kılmak.
Twitter (2023): Twitter, bilgisayar korsanlarının e-posta adreslerini ve telefon numaralarını kullanıcı hesaplarıyla eşleştirmesine izin veren bir API güvenlik açığı nedeniyle bir ihlal yaşadı. Bu, 5,4 milyondan fazla kullanıcının verilerinin ifşa edilmesine neden oldu. Saldırganlar, kapsamlı kullanıcı profilleri oluşturmak için bu bilgileri genel verilerle birleştirdi. Önemli ders, sağlam giriş doğrulaması uygulamak ve CI/CD’de entegre güvenlik kontrolleri yürütmektir.
Optus (2022): Optus, saldırganların adlar, adresler ve kimlik numaraları dahil olmak üzere müşteri verilerine erişmek için İnternet’e açık, dahili, kimliği doğrulanmamış bir API uç noktasını istismar ettiği bir ihlal yaşadı. Buradaki ders, API’lerin eksiksiz bir envanterine sahip olmak ve tüm API uç noktalarının kimliği doğrulandığından ve kimliği doğrulanmamış API’lerin İnternet’e açık olmadığından emin olmaktır.
T-Mobile (2023): T-Mobile, saldırganların 37 milyon müşterinin kişisel bilgilerine erişmek için bir API’yi istismar ettiği büyük bir ihlal yaşadı. Saldırganlar, adlar, fatura adresleri, e-posta adresleri, telefon numaraları, doğum tarihleri ve T-Mobile hesap ayrıntıları dahil olmak üzere verileri çaldı. Çözüm? Yetkisiz erişimden korumak için hassas verileri hem hareketsizken hem de hareket halindeyken şifreleyin.
Önümüzdeki yıllarda API güvenliğini önemli ölçüde etkileyeceğini öngördüğünüz yeni trendler veya teknolojiler neler?
Önümüzdeki yıllarda büyük kuruluşların API güvenliğine nasıl yaklaşacaklarında net bir değişim öngörüyorum. Daha da proaktif olacaklar, sola kayma zihniyetini derinlemesine benimseyecekler ve geliştiriciler kod yazmak ve sürdürmek için yapay zekaya büyük ölçüde güvenecekler.
Önemli bir trend, kod üretiminde AI kullanımının artması olacak. AI, geliştirmeyi önemli ölçüde hızlandırırken, aynı zamanda hemen fark edilmeyebilecek yeni güvenlik açıkları da ortaya çıkaracaktır. Kuruluşlar, bu güvenlik açıklarını erken yakalamak ve güvenliği sağlamak için kod inceleme süreçlerini geliştirmelidir.
Mikroservis mimarisinin benimsenmesi güvenlik manzarasını dönüştürmeye devam edecektir. Mikroservisler yaygınlaştıkça, her biri potansiyel bir saldırı yüzeyi sunan API sayısını çoğaltırlar. Şirketler bu riskleri etkili bir şekilde yönetmek için daha da sağlam API ağ geçitleri ve kapsamlı izleme sistemleri uygulamalıdır.
Kuruluşlar şirket içi ortamlardan bulut ortamlarına daha fazla göç ettikçe, yeni ve gelişen güvenlik zorluklarıyla karşılaşacaklar. Paylaşılan sorumluluk modeli, kuruluşların API’lerini ve verilerini bulutta tam olarak güvence altına almasını gerektirecektir.
DevSecOps ve sola kaydırma API güvenlik stratejisi, sektörler genelinde uygulama güvenlik programlarını çalıştırmanın varsayılan yolu haline gelecektir. Güvenliği geliştirme yaşam döngüsünün her aşamasına entegre ederek, kuruluşlar sorunları çok daha erken belirleyip azaltabilir, böylece güvenlik düzeltmeleriyle ilişkili maliyetleri ve karmaşıklıkları azaltabilir.
Tedarikçiler ve kuruluşlar, güvenlik açığı tespiti ve düzeltmesi için büyük dil modelleri (LLM’ler) kullanacaktır. İşletmeler, güvenlik sorunlarını belirlemek ve gerçek zamanlı düzeltmeler sağlamak için büyük miktarda kodu analiz etmek için LLM’leri kullanacak ve güvenlik açığı tespiti ve düzeltmesinin hızını ve doğruluğunu önemli ölçüde artıracaktır.
Son olarak, satıcılar güvenlik özelliklerini giderek daha fazla doğrudan geliştirme araçlarına entegre edecekler. Bu proaktif yaklaşım, geliştirme hızları arttıkça önemli hale gelecek ve güvenliğin hızlı inovasyonla aynı hızda ilerlemesini sağlayacaktır.