Broken Access Control
Last updated
Last updated
Bozuk Erişim Kontrolü (Broken Access Control), bir web uygulamasında kullanıcıların izinleri dışında kaynaklara erişmelerine izin veren güvenlik zayıflığıdır. Bu tür bir güvenlik açığı, yetkisiz kullanıcıların sistem içindeki kaynaklara erişim sağlamasına veya yetkilendirilmiş kullanıcıların normal yetki düzeylerinin ötesine geçmesine imkan tanır. Yetkilendirme ve oturum yönetimi mekanizmalarının yetersizliği genellikle bu tür zayıflıkların temel nedenlerindendir. Bu makalede, bozuk erişim kontrolü güvenlik açığı üzerine temel kavramlar, türleri, zafiyet örnekleri ve korunma yolları ele alınacaktır.
Bozuk erişim kontrolü, kimlik doğrulama, oturum yönetimi ve erişim kontrolü gibi temel kavramları içerir.
Kullanıcıların kimliklerini doğrulamak ve onlara erişim izinleri sağlama sürecidir. Örneğin, kullanıcının adını ve şifresini girmesiyle gerçekleşir.
Kullanıcıların uygulama içinde oturum açtıktan sonra bu oturumu koruma ve yönetme sürecidir. Oturum yönetimi, kullanıcının uygulama içinde gezinirken oturumunun geçerli olmasını sağlar.
Kimlik doğrulaması ve oturum yönetimi sonrasında kullanıcılara tanınan yetkileri kontrol etmek için kullanılır. Kullanıcının belirli eylemleri gerçekleştirip gerçekleştiremeyeceğini belirler.
Erişim kontrolü çeşitli türleri içerir, bunlar arasında:
Dikey erişim kontrolü, kullanıcıların belirli bir rol veya pozisyonlarına bağlı olarak belirli kaynaklara erişimini kontrol eder. Örneğin, bir yönetici belirli işlevlere, bir kullanıcı ise sınırlı işlevlere erişebilir.
Yatay erişim kontrolü, kullanıcıların kendi rolleri dışındaki kullanıcıların kaynaklarına erişimini kontrol eder. Bu durumda, bir kullanıcı başka bir kullanıcının kaynaklarına izinsiz erişemez.
Bağlamına bağlı erişim kontrolü, kullanıcının erişim izinlerini çeşitli bağlamlara (zaman, konum, durum) bağlı olarak değiştirebilir. Örneğin, belirli bir saat aralığında veya belirli bir konumda erişime izin vermek.
Bozuk erişim kontrolü zafiyet türleri arasında:
Bu zafiyet, bir kullanıcının kendi rolünü yükselterek daha fazla ayrıcalık elde etmesine izin verir. Örneğin, bir normal kullanıcının yönetici işlevselliğine erişmesi.
Bu zafiyet, bir kullanıcının normalde aynı düzeyde veya benzer ayrıcalıklara sahip başka bir kullanıcının kaynaklarına erişmesine veya onun gibi davranmasına izin verir.
Bazı durumlarda, bir dizi adımdan oluşan işlemlerde erişim kontrolleri eksik olabilir ve kullanıcılar beklenmedik kaynaklara erişebilir.
Bozuk erişim kontrolü zafiyetlerine örnekler arasında:
Kötü niyetli bir kullanıcı, URL'deki parametreleri değiştirerek başka bir kullanıcının verilerine erişebilir.
Uygulama programlama arayüzüne (API) yapılan isteklerde erişim kontrolleri eksikse, yetkisiz erişim mümkün olabilir.
Kullanıcı tarafından düzenlenen JWT veya çerezler aracılığıyla yetki bilgilerini değiştirmek.
CORS hatalı yapılandırıldığında, saldırganlar tarayıcı üzerinden başka bir alan adındaki kaynaklara erişebilir.
Kimlik doğrulama yapılmamış bir kullanıcının yetkili bir kullanıcı gibi davranmasına olanak tanıyan zafiyetler.
Web uygulamalarını bozuk erişim kontrolü zafiyetlerinden korumak için şu önlemler alınmalıdır:
Güçlü kimlik doğrulama ve oturum yönetimi uygulamak.
En az ayrıcalık ilkesini benimsemek.
Erişim kontrollerini düzenli testleri ve güncellemeleri gerçekleştirmek.
Güvenli kodlama uygulamalarını kullanmek.
Güvenlik güncellemelerini takip etmek ve yüklemek.