API’ler Trinity Saldırılarıyla Nasıl Hedefleniyor?
Andy Mills, EMEA Başkan Yardımcısı, Cequence Güvenliği
Uygulama Programlama Arayüzleri (API’ler) geleneksel web trafiğinden iki kat daha hızlı büyüyor ancak popülerlikleri ve kullanılabilirlikleri de onları birincil hedef haline getiriyor. CQI API Koruma Raporu 2022’ye göre, 2022’nin ilk yarısında gözlemlenen 20 milyarın biraz üzerindeki işlemden 16,6 milyarının kötü amaçlı olduğu tespit edildi; bu oran yaklaşık yüzde 83’e denk geliyor. Ancak bu arayüzlerin kötüye kullanılma biçimleri gelişiyor.
API’lere saldırılmasının veya kötüye kullanılmasının başlıca yolları OWASP API Top Ten’de belgelenmiştir. Raporda iki tür saldırının başı çektiği ortaya çıktı: Uygunsuz Varlık Yönetiminin kötüye kullanılması (OWASP listesindeki API9) ve Yetersiz Günlük Kaydı ve İzleme (API10). Birincisi, alışveriş botlarını kullananlar tarafından tercih edilirken, ikincisi içerik kazıma gerçekleştirmek için kullanıldı. Ancak rapor aynı zamanda daha önce gözlemlenmemiş bir modeli de ortaya çıkardı. Kötü niyetli saldırganlar artık mükemmel kodlanmış API’leri kötüye kullanmak için OWASP Top Ten’de ayrıntılı olarak açıklanan taktikleri, teknikleri ve prosedürleri (TTP’ler) birleştiriyorlardı.
Şekil 1: OWASP API’nin ilk 10 saldırı türü ve bot saldırılarının haritalanması (1Y 2022)
Popüler inanışın aksine, API mükemmel bir şekilde doğru şekilde kodlansa, tasarlandığı API spesifikasyonuna uysa, uygun şekilde envanteri çıkarılsa ve OWASP İlk On API Tehdidi’nden herhangi birine duyarlı olmadığından emin olmak için test edilmiş olsa bile, yine de araştırılmalı ve tehlikeye atılmalıdır. Bunun nedeni, API’lerin üretim öncesi test edilmesine yönelik sola kaydırma çabalarının faydalı olmasına rağmen, hiçbir önlemin kalıcı bir otomatik saldırıyı durduramamasıdır. Bu API tarafından korunan varlıklar yeterince çekiciyse, saldırganlar ısrarcı olacak ve iş mantığını kötüye kullanma olarak bilinen bir saldırıda genellikle kendi işlevlerini kullanarak API’yi tehlikeye atacaktır.
Mükemmel şekilde kodlanmış ve envanteri yapılmış API’lerin ödün vermesi elbette çok daha fazla çaba gerektirir. Nasıl çalıştıklarını, birbirleriyle nasıl etkileşime girdiklerini ve bir uyarının tetiklenmesini önlemek için herhangi bir API çağrısının beklenen sonucunun ne olması gerektiğini görmek için bunların incelenmesi gerekir. Bir API’yi öğrenmek, kullanmak ve kendi işlevselliğini ona karşı kullanmak genellikle İş Mantığını Kötüye Kullanma olarak anılır ve API geliştirme ve üretim sırasındaki güvenlik geliştikçe bu da artık gündeme geliyor.
Trinity Saldırıları ve API10+
Bu tür istismar türlerinden biri üçlü saldırıdır. Bu, bir saldırı hayali oluşturmak için eski OWASP Top Ten’den Bozuk Kullanıcı Kimlik Doğrulaması (API2), Aşırı Veri Açığa Çıkarma (API3) ve Uygunsuz Varlık Yönetiminin (API9) bir arada kullanıldığını gösteriyor. Trinity saldırıları, rapora göre 100 milyon kayıtlı sayıyla hâlâ nispeten küçük olan, birleştirilmiş veya API10+ saldırısının bir biçimidir, ancak grafikte görülebileceği gibi bunların gerçekleşme hızı artmaktadır. Bu endişe verici bir eğilim çünkü daha fazla saldırganın bu yaklaşımı kullanmaya başladığını gösteriyor.
Şekil 2: 2022’nin ilk yarısında API10+ saldırılarının sayısındaki artış
Trinity saldırıları yıkıcı olabilir. Peki nasıl tezahür edebilirler? Bozuk Kullanıcı Kimlik Doğrulaması, saldırganın kullanıcı bütünlüğünü koruyan kimlik doğrulama mekanizmalarını hedef almasıyla kimlik bilgilerinin doldurulmasına neden olabilir. Başarılı bir kimlik bilgisi doldurma kampanyası genellikle kullanıcı onayı API’lerini, oturum açtıktan hemen sonra çalınabilecek hassas müşteri verileri açısından kontrol eden bir denetleyici işlevinden yararlanır. Kontrol API’leri gerekenden daha fazla veri döndürdüğünde Aşırı Veri Açığa Çıkması ortaya çıkar ve kullanıcı onayı kimlik doğrulamadan sonra gerçekleştiği için geliştiricilere yanlış bir güvenlik duygusu verir.
Çok fazla (kişisel) veriyi açığa çıkaran API’ler ile kimlik bilgisi doldurmaya karşı savunmasız olanların birleşimi, bu dağıtımı API’nin kötüye kullanılması için olgun bir hedef haline getiriyor. Ve son olarak saldırgan, Uygunsuz Varlık Yönetimi yoluyla saldırıyı ilerletebilir. Bu genellikle Gölge API’lerin, yani güvenlik ekibinin radarı altında uçan ve tüm niyet ve amaçlara göre görünmez olan API’lerin ortaya çıkmasıyla sonuçlanır. Bu gölge API’ler, saldırganın, bilinen API modellerini kullanarak kurbanın altyapısını numaralandırmasına ve korumasız, kimlik bilgileri doldurmaya karşı savunmasız olan ve az önce ele aldığımız aşırı veri güvenlik açıklarına maruz kalan diğer API’leri keşfetmesine ve oluşturmasına olanak tanır.
Bir e-Ticaret Saldırısı
Bu tür saldırılar son derece organize olup iyi bir şekilde yürütülür. Örneğin, geçen yıl çalınan kredi kartı verileriyle öğeleri otomatik olarak satın alma teklifinde hedeflenen bir e-ticaret platformunun durumunu ele alalım.
Keşif, tek bir IP adresinden yaygın olarak bilinen güvenlik açığı tarama araçları kullanılarak tüm sitenin haritalanmasıyla gerçekleştirildi. Bu, SQL enjeksiyonu, komut enjeksiyonu (OWASP API8), dizin geçişi ve açığa çıkan hassas dosyaların aranması gibi bazı temel davranışları içeriyordu. Temel keşif herhangi bir sonuç vermediğinde saldırgan, API ekosisteminin haritasını çıkarmaya geçti.
Saldırganlar daha sonra temel kimlik bilgileri doldurma ve hesap oluşturma saldırılarını gerçekleştirmek için OpenBullet gibi iyi bilinen bot otomasyon araçlarının mevcut saldırı yapılandırmalarını kullanmaya başladı. 24 saatlik bir süre boyunca 130.000 IP adresinden 1,5 milyondan fazla talep başlattılar ve bu talepler, 1.000’den fazla davranışsal parmak izi kullanılarak etkili bir şekilde hafifletildi.
Ancak saldırı hafifletilse bile devam etti ve bunun sonuçta saldırganlar tarafından yapılan bir aldatmaca olduğu ve nihai amaç olmadığı keşfedildi. Aşağıdaki saldırılar sırasında keşif davranışı geri döndü ve bu kez hesap oluşturma ve ödeme API’lerine odaklanıldı.
Saldırganlar, yepyeni bir hesap oluşturulduktan sonra ve e-posta doğrulaması gerçekleşmeden önce, ödeme API’lerinin (özellikle ödeme yöntemi eklemek için kullanılanlar) kullanıcı tarafından çağrılabileceğini keşfetti. Bu, Bozuk İşlev Düzeyinde Yetkilendirmenin bir örneğidir, çünkü bu API işlevselliği yalnızca hem kimliği doğrulanmış hem de yetkilendirilmiş kullanıcılar tarafından kullanılmak üzere tasarlanmıştır.
Saldırının odağı daha sonra hesap oluşturmaya kaydı ve saldırganlar hemen yeni (sahte) hesapları çalınan ödeme bilgileriyle doldurmaya başladı ve satın alınacak perakende ürünleri hedef aldı. Kimlik bilgisi doldurma kampanyasının başarısız olmasını umursamıyorlardı çünkü oluşturdukları yeni hesaplardan hangilerinin ödeme API’lerine başarılı bir şekilde erişebileceğini izliyorlardı, satın alma işlemine devam etmeye uygun olanı bulana kadar çalınan kredi kartı ayrıntılarını yineliyorlardı.
Çok Yönlü Saldırıları Azaltma
Bu örnekten de görülebileceği gibi, davranış temelli izleme ve analiz olmadan üçlü saldırıların tespit edilmesi zordur. İşletme, meşru taleplerde bulunan ancak büyük hacimli saldırılar aramıyorsa, bu etkinlik bir tehlike işareti olarak görülmeyecektir.
Birçok kuruluş, API altyapılarının zaman içinde organik olarak büyüdüğünü gördü ve bu nedenle Web Uygulaması Güvenlik Duvarları (WAF’ler) gibi web uygulamalarını izlemek ve tespit etmek için tasarlanmış güvenlik çözümleriyle başlıyorlar ve bunlara güvenmeye devam ediyorlar. Bu çözümler imza tabanlı bir uyarı mekanizması kullanır ve bu nedenle bırakın üçlü saldırılara karşı savunmayı tespit edip engelleyemezler. Diğerleri bot araçlarına güvenebilir ancak bunlar bir saldırıyı belirlemek ve engellemek için Javascript kullanır. RESTful API’ler Javascript değil JSON veya XML kullanır; bu da bot yazılımı tarafından izlenemeyecekleri anlamına gelir.
Trinity saldırılarında genellikle bir bot unsuru bulunduğundan, API ile bot izleme güvenliğini birleştirmek de mantıklıdır. Bu tür saldırılar altyapı genelinde hızlı bir şekilde sıralandığı için genellikle botlar tarafından otomatikleştirilir. Ancak WAF’ların API’den meşru isteklerde bulunan yüksek hacimli saldırılara karşı kör olduğu ve bot çözümlerinin API verilerini okuyamadığı göz önüne alındığında, bu saldırılar onları hem tespit edilmeden hem de karşı çıkılmadan kolayca atlar. Ne yazık ki, botlar ve API’ler arasındaki ilişkinin anlaşılmaması, güvenlik sağlayıcıları tarafından sıklıkla ayrı sorunlar olarak ele alınan iki sorunla devam ediyor.
Bu, doğrudan saldırganların işine yarayan yapay bir ayrımdır; bu nedenle API korumasına, bot tespiti ve azaltılmasının yanı sıra API güvenliğinin keşif, tespit ve savunma yoluyla yönetilmesini gerektiren bir sorun olarak bakmak daha mantıklıdır. Peki iş nereden başlamalı?
Keşfet, Tespit Et ve Savun
Başlangıçta, kaç taneye sahip olduğunuzu, ne yaptıklarını belirleyerek API’leriniz hakkında bilgi sahibi olmanız ve bir çalışma zamanı envanteri kullanarak değişiklikleri sürekli olarak belgeleyebilmek için hazırlıklar yapmanız zorunludur. Şaşırtıcı bir şekilde, API ekosistemlerinden sorumlu olanlar genellikle kaç taneye sahip olduklarını nadiren biliyor ve sayıları rutin olarak hafife alıyor; bunun sonucunda, bu keşif gerçekleştirilirken bunalmak kolay olabiliyor. Ancak API’lerin oluşturduğu riskler farklılık göstereceğinden, bunlara öncelik vermek nispeten basittir.
Bazı API’ler tamamen bilgilendirme amaçlı olurken diğerleri kişisel olarak tanımlanabilecek bilgiler veya kredi kartı verileri gibi hassas verileri açığa çıkarabilir. Bazıları doğru şekilde doğrulanmamış olabilir, diğerleri ise hesap ele geçirme veya kazıma gibi iş mantığı saldırılarına açık olabilir. API’lerin risk değerlendirmesi bu nedenle işletmenin envantere öncelik vermesine olanak tanır ancak bir API’nin oluşturduğu riskin zaman içinde değişebileceğini unutmayın. Saldırganlar API’lerde zayıf noktalar olup olmadığını araştırabilir ve incelemeye devam edecektir; yapılandırmayla ilgili bir sorun veya daha az güvenli bir sisteme bağlantı, yeni güvenlik açıklarına neden olabilir.
Envanter hazır olduğunda, hangi çalışma zamanı korumasının uygulanacağını düşünebilirsiniz. Bu, OWASP Top Ten kapsamında iş mantığı suiistimallerini, veri sızıntılarını ve diğer yaygın saldırı türlerini taramalı, ancak aynı zamanda tehdit tabanlı ve davranışsal analiz gerçekleştirmek için makine öğrenimi teknolojisinden yararlanarak saldırı ortamındaki değişikliklerle başa çıkabilmelidir. . Bu, işlemlerin amacını belirleyebilir (ister botlar ister bireyler tarafından gerçekleştirilsin) ve tespitten kaçınmak için yeniden yapılandırılan karmaşık API saldırılarını sürekli olarak izleyebilir. Daha sonra, temel engelleme ve hız sınırlamasından HTTP başlığı ekleme ve aldatmaya kadar saldırıyı engellemek veya saptırmak için harekete geçilebilir.
API Yaşam Döngüsü
İşletmenin API’lerini hem mevcut hem de yeni ortaya çıkan saldırı türlerinden korumayı umut edebilmesi ancak API yaşam döngüsünün tamamına bakarak mümkündür. Geliştirme sırasındaki güvenlik testlerinden API’yi bir çalışma zamanı envanteri kullanılarak izlenen ve yönetilen bir ekosistemin parçası olarak yönetmeye, saldırı modellerini arayan aktif savunmaya kadar, beşikten mezara bir yaklaşımın olması gerekir.
Üçlü saldırı, saldırganların her bir API’nin nasıl çalıştığını, etkileşimde bulunduğunu ve performans gösterdiğini analiz etme konusunda çok daha ustalaştığını gösteriyor. Bu, API güvenlik risklerinde önemli bir artış anlamına geliyor ve şu anda bu saldırıların çoğu tespit edilemiyor ve bunlara karşı çıkılmıyor çünkü kuruluşlar çok geç olana kadar bunların gerçekleştiğini bilmiyor.
Bunları durdurmak için API’lerin güvenliğini nasıl sağlayacağımıza dair yeni bir yaklaşım benimsememiz ve saldırganların halihazırda gösterdiği aynı ortak düşünceyi kullanmaya başlamamız gerekiyor. API saldırıları artık ayrı ve farklı değil; çok daha iddialı ve kalıcı kampanyaların unsurları haline geliyorlar ve bu nedenle güvenliğe yönelik herhangi bir yaklaşımın, saldırının her unsurunu yakalamak için geniş açılı bir mercek kullanarak aynı taktikleri benimsemesi gerekiyor.
yazar hakkında
Andy Mills, Cequence Güvenliğinden sorumlu EMEA Başkan Yardımcısıdır ve kuruluşlara keşiften tespite ve hafifletmeye kadar API koruma stratejileri konusunda yardımcı olur. Kendisi, birleşik bir yaklaşım kullanarak tüm API yaşam döngüsünü güvence altına alma ihtiyacının tutkulu bir savunucusudur.
Cequence’e katılmadan önce, büyük bir vergi teknolojisi sağlayıcısında CRO olarak görev aldı ve sektörün önde gelen Yeni Nesil Güvenlik Duvarı Palo Alto Networks’ü pazara sunan dünya çapındaki orijinal öncü ekibin bir parçasıydı.
Andy, Leeds Beckett Üniversitesi’nden Elektrik ve Elektronik Mühendisliği alanında Lisans derecesine sahiptir. Andy’ye çevrimiçi olarak [email protected] adresinden ve şirketimizin web sitesi https://www.cequence.ai adresinden ulaşılabilir.