fbpx
Back to Blog
API'lar Nasıl Hacklenir?
Category: Hacker, Hackleme, İş Dünyası, Oltalama, Siber Güvenlik, Siber Saldırı, Zararlılar Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Post Date: 27 October 2021

API’lar Nasıl Hacklenir?: 8 Zayıf Nokta

Eskiden API’ler şimdiki oldukları kadar yaygın değillerdi. Bunun sebebi ise Tek Sayfa Uygulamalarının (SPA) giderek yaygınlaşması. Bu durum işimizi kolaylaştırdığı gibi saldırıları da arttırmasına da sebep oldu. Hackerlar sıklıkla API’ları hedef almaya başladı. Peki API’lar nasıl hacklenir?

API’lar Nasıl Hacklenir?: API Nedir?

Geçmişte web uygulamalarının çoğu kullanıcıya sunulmadan önce sunucu tarafından oluşturuluyordu. Tüm veriler, kullanıcı arayüzünü oluşturan sunucu tarafından doğrudan bir veritabanında bulunuyordu. Fakat günümüzde web uygulamaları genellikle SPA (Tek Sayfa Uygulaması) olarak bildiğimiz bir sistemle çalışıyor. Bu sistemde ise bir API arka ucu, JavaScript arayüzü ve veritabanı bulunuyor. API ise web uygulaması ile veritabanı arasındaki arayüz anlamına geliyor. Web tarayıcısına gönderilen istekler aynı zamanda API’a da yapılmış oluyor. Bu sistemle geliştiricilerin bir proje üzerinde çalışması oldukça kolaylaştı. Yani ön uç geliştiriciler ve arka uç geliştiriciler ayrı bir şekilde çalışabiliyor.

API’lar Nasıl Hacklenir?: API’lar Nasıl Yaygınlaştı?

API modelinin daha da yaygınlaşmasının bir sebebi de milyarca farklı ön uç çerçevesinin ortaya çıkması oldu. Yani günümüzde artık her yerde API’lardan yararlanılıyor. Bu yüzden onları nasıl hackleyip para kazanmaya çalışan hackerların sayısı da artıyor. Bize düşen ise API’ları nasıl güvenli hale getireceğimizi öğrenmek. Gelin ilk olarak API’larda bulunan güvenlik açıklarını öğrenelim.

API’lar Nasıl Hacklenir?: API’larda Bulunan 8 Güvenlik Açığı

API'lar Nasıl Hacklenir?

API’lar Nasıl Hacklenir?

Az önce de bahsettiğimiz gibi günümüzde binlerce farklı çeşit API bulmak mümkün. Yani API’larda bulunan güvenlik açıkları da türden türe büyük ölçüde değişiklik gösteriyor. Biz de bugün sizler için bu türleri elimizden geldiği kadarıyla açıklayacağız. 

1. API ele geçirilmesi

API’lar de farklı seviyelerde kullanılabilir. Bazı API’lara internet üzerinden girebilirsiniz fakat bazılarına yalnızca dahili olarak ulaşırsınız. En basit API hackleme yöntemlerinden biri de hackerların erişimi olmaması gerek API’lara sızmasıdır. Hackerlar bunu birkaç şekilde yapabilir.

Ağ döngüsüne sızma: Hackerlar cihazınıda SSRF gibi bir zayıf nokta bulduğunda, API ağ döngünüzü ele geçirebilir. Buna ‘pivoting’ de denir.

Zor kullanma: Dahili kullanılması gereken bir API bazen yanlışlıkla internette paylaşılabilir. Bunun sebebi yanlış bir yapılandırma olabilir veya API sahipleri bunu kimsenin fark etmeyeceğini düşünmüş olabilir. Fakat hackerlar genellikle bu API’ları JavaScript dosyalarını veya kaynak kodlarını analiz ederek, ana bilgisayar adlarını veya Google dorking’in gözlemleyerek fark eder. Ağ segmentasyonu yaparak API’larınızın istemeden açığa çıkmasını engelleyebilirsiniz.

2. Önbelleğin yanlış yapılandırılması

Bazı API’lar kimlik doğrulama gerektirir. Bu API’larda kullanılan bilgiler  genellikle değişkendir ve API anahtarına göre farklı farklı kimlik doğrulama aracı kullanılır. Böyle bir durumda standart bir API yetkilendirme başlığı kullanmalısınız. Bunun yerine özel bir başlık kullanırsanız önbelleğiniz yanlış yapılandırılır. Yani önbelleğe alınmaması gereken bilgiler ön belleğe alınabilir. Bu şekilde hackerlar API anahtarına erişerek diğer kullanıcıların bilgilerini ele geçirebilir.

3. Token ifşası

Sırada çok basit hackleme yöntemi var. Bu basit hackleme yönteminde de hackerlar kimlik doğrulamadan yararlanır. Fakat bu saldırı yöntemi önceki maddemizden biraz daha farklı. Hackerların API anahtarını ele geçirmesi API’lara erişimi garanti etmez. Dahili kullanım için üretilen API’larda karmaşık kimlik doğrulama araçları bulunmaz. Bu nedenle bu API’larda değişken kimlik doğrulamaları yerine genellikle statik tokenlar bulunur. Bu durumlarda hackerlar gizli kalması gereken tokenları kod depolarında, JavaScript’te veya ağ trafiğinde bulabilir ve ifşa edebilir.

4. Sorunlu Yetkilendirme

Yetkilendirme, kimliği doğrulanmış bir kullanıcının belirli bir kullanıcıya erişimi olup olmadığını kontrol etmek anlamına gelir. Yetkilendirmeyle ilgili yaygın bir güvenlik açığı, Güvensiz Doğrudan Nesne Erişimi (IDOR) olarak bilinir. Güvenli bir uç noktanın yetkisiz kullanıcılara ve alakasız sayfalara erişim vermemesi gerekir. Erişime açık olmayan  bir sayfaya erişim talebi geldiğinde API hata vermelidir. Eğer hata vermiyorsa bu IDOR olarak adlandırılan bir güvenlik açığına işaret eder. Yani herhangi bir hacker koddaki tanımlayıcıyı değiştirerek erişimi olmayan sayfalara veya bilgilere ulaşabilir.

Günümüzde birçok API’da bu duruma karşı UUID adı verilen karmaşık ve rastgele tanımlayıcılar kullanıyor. Fakat karmaşık tanımlayıcıları kullanmak yetkilendirme sorunlarını çözmez. Hackerlar bir rastgele isim yaratıcıyla bu tanımlayıcıları keşfedebilir. Bu yüzden kod yapısını belirli uç noktalarında yetkilendirme hatası yaşanmasını zorlaştıracak şekilde yazmalısınız.

5. Uç Nokta Belgeleri

Bazen API uç noktalarını belgelenmez veya hackerlar bu belgelere erişemez. Fakat çeşitli yöntemlerle gizli uç nokta belgelerine erişmek mümkündür. Bu yüzden uç noktalarda güvenlik sorunları oluşabilir. Hasarlı bir uç nokta, hackerların yetkileri olmayan bir kullanıcı olarak aksiyon almasına sebep olabilir. Veya kapsamlı bir şekilde test edilmediklerinde bu uç noktalarda farklı güvenlik açıkları da meydana gelebilir. Bunu engellemek için API’ları kodlamadan önce bu uç noktaları belgelerle planlamak en mantıklısı olacaktır.

6. Yeni Sürümlerdeki Güvenlik Açıkları

Şirketler API’larını birçok farklı uygulama için arayüz olarak kullanır. API’ları güncellendiklerinde bu uygulamalarda da önemli değişiklikler oluşur. Yani şirketlerin yeni kullanıcılar için yeni API’ları kullanması eski kullanıcılar için eski API şemalarını desteklemesi gerekir. Yeni sürümde düzeltilen güvenlik sorunları eski sürümlerde hala bulunur. Dahası yeni beta sürümlerinde yeni güvenlik sorunları da ortaya çıkabilir. Bu yüzden beta sürümlerini ancak kapsamlı bir şekilde test ettikten sonra erişime açmalısınız.

7. Aşırı Yükleme

API’ların çoğunda kullanıcıların talepleri konusunda herhangi bir sınır yoktur. Bu da aşırı yüklemeye sebep olabilir. Yani hackerlar kötü amaçlarla API’lara binlerce istek gönderebilir. Sunucu ise bu isteklerin her birini yerine getirmeye çalışır, bu da sunucuyu aşırı yükler. Bu şekilde hacker kullanıcı kimlikleri, kullanıcı adları, e-postalar vb. gibi hassas kullanıcı bilgilerini ele geçirebilir, kaba kuvvetle kimlik doğrulamasını atlatabilir veya kurbana bir e-posta/SMS göndererek gelen kutusunu doldurabilir. Bunu önlemek için API’lara talep sınırlaması getirmelisiniz.

8. Hatalı İşleme

Hackerlar API’lara aynı anda iki veya daha fazla talep göndererek API’ı zor bir duruma sokabilir. API’ın bu talepleri işleyecek bir mekanizması yoksa talebi yanlışlıkla istenmeyen bir şekilde işleyebilir.

Bu saldırılara yarış da denir, çünkü hackerlar ne kadar hızlı istek gönderirlerse uygulama o kadar zorlanır. Karmaşık bir saldırıda çok hızlı işleyen uygulamar bile zorlanabilir. Maalesef bu sorunu çözmek için performanstan ödün vermeniz gerekiyor. Bu saldırıya karşı kullanacağınız yöntemler, genellikle kilit kullanımızını ve iş parçacıkları için güvenli işlevlerin kullanılmasını içeriyor. Bu da API’ın yavaşlamasına sebep olabilir.

API’lar Nasıl Hacklenir?: API Saldırılarına Karşı Ne Yapabilirsiniz?

API'lar Nasıl Hacklenir?

API’lar Nasıl Hacklenir?

Keepnet Labs olarak, kullanıcılara, süreçlere ve teknolojiye odaklanan bir yaklaşımla sizlere yardım etmek için ücretsiz ürün modülleri oluşturuyoruz. Yani oltalama, fidye yazılımı, kötü amaçlı yazılım ve binlerce farklı tür saldırıya uygun bütünsel bir yaklaşımdan yararlanıyoruz. E-posta Tehdit Simülatörümüz de geliştirdiğimiz araçlardan yalnızca bir tanesi. Aracımız şirketleri ve kullanıcıları hedefleyen e-posta saldırı vektörlerini taklit etmek için simülasyon mantığı kullanıyor. Bu şekilde teknolojik yatırımlarınızı (güvenlik duvarları, istenmeyen posta önleme ve virüsten koruma gibi) düzenli olarak test etmenizi sağlıyor. Aracımızın size sunduğu sonuçlar ise güvenli bir ortamda teknolojinizdeki zayıflıkları keşfetmenize ve gerekli önlemleri almanıza olanak tanıyor.

Share this post

Back to Blog