Bozuk Nesne Düzeyinde Yetkilendirme: API güvenliğinin en büyük düşmanı


[ This article was originally published here ]

Bu yazının içeriği tamamen yazarın sorumluluğundadır. AT&T, yazar tarafından bu makalede sağlanan görüşlerin, konumların veya bilgilerin hiçbirini benimsemez veya desteklemez.

Açık Web Uygulama Güvenliği Projesi’ne () göre, bozuk nesne düzeyinde yetkilendirme (BOLA), modern uygulama programlama arabirimlerinin (API’ler) karşı karşıya olduğu en önemli güvenlik açığıdır. API alanındaki yenilikleri takip etmek heyecan verici olabilir, ancak bunu yaparken programcılar güvenlik endişelerine yeterince dikkat ettiklerinden ve bu tür endişeleri giderebilecek protokoller geliştirdiklerinden emin olmalıdırlar. Bu makale BOLA sorununu ve sonuçlarını açıklayacak ve ardından sorunu çözmek için alınabilecek olası eylemleri sunacaktır.

Sorun

​OWASP (2019), BOLA ile ilgili şunları belirtir: “Saldırganlar, istek içinde gönderilen bir nesnenin kimliğini değiştirerek, bozuk nesne düzeyinde yetkilendirmeye karşı savunmasız olan API uç noktalarından yararlanabilir” (paragraf 1). Örneğin, bir bilgisayar korsanı, çeşitli mağazaların bir e-ticaret platformuna nasıl istekte bulunduğuna ilişkin bilgilere erişebilir. Bilgisayar korsanı daha sonra bu istekler için kodlarda belirli bir modelin var olduğunu gözlemleyebilir. Bilgisayar korsanı kodlara erişebilir ve onları manipüle etme yetkisine sahipse, kodda farklı bir uç nokta oluşturabilir ve böylece tüm verileri kendilerine yönlendirebilir.

BOLA güvenlik açıklarından yararlanma çok yaygındır çünkü bir yetkilendirme protokolü uygulanmadan API’lerin bilgisayar korsanlarına karşı hiçbir koruması yoktur. Bu tür API’lere saldırmak için bilgisayar korsanının yalnızca istek kodu sistemlerine erişme ve gerekli becerilere ve kaynaklara sahip herhangi biri tarafından oldukça kolay bir şekilde yapılabilen kodları manipüle ederek verilere müdahale etme yeteneğine ihtiyacı vardır (). Güvenlik önlemlerine sahip olmayan API’ler, bu nedenle, hiç kimsenin böyle bir saldırıyı nasıl gerçekleştireceğini bilmeyeceğini veya bunu yapma arzusu duymayacağını umuyor. Bununla birlikte, istekli bir bilgisayar korsanı devreye girdiğinde, API’lerin bilgisayar korsanının sisteme ve sistem içinde yer alan ve sistem üzerinden iletilen tüm verilere erişmesini engelleyecek gerçek korumaları olmayacaktır.

Sonuçları

​BOLA saldırılarının veri güvenliği açısından önemli sonuçları vardır: “Yetkisiz erişim, verilerin yetkisiz taraflara ifşasına, veri kaybına veya veri manipülasyonuna neden olabilir. Yetkisiz erişim, hesabın tamamının ele geçirilmesine de yol açabilir” (OWASP, 2019, para. 3). Kısacası, BOLA saldırıları veri ihlalleri üretir. Haberlerde veri ihlalleriyle ilgili hikayeler çok yaygındır ve çok yakın bir zamanda Teksas’taki bir sağlık kuruluşunu ilgilendirmektedir (Marfin, 2022). BOLA’nın API’lerde çok yaygın bir güvenlik açığı olduğu göz önüne alındığında, tüm veri ihlalleri BOLA saldırılarının sonucu değildir. Başarılı bir BOLA saldırısının spesifik sonuçları ve bu sonuçların büyüklüğü saldırının hedefine bağlı olacaktır.

Örneğin, hedef bir sağlık kuruluşuysa, veri ihlali bilgisayar korsanlarının hastaların özel sağlık sigortasına erişmesine neden olabilir. Hedef bir banka ise, bilgisayar korsanları muhtemelen müşterilerin sosyal güvenlik numaralarına erişebilir. Hedef bir e-ticaret sitesi ise, müşterilerin kredi kartı numaraları ve ev adreslerine ilişkin veriler ele geçirilebilir. Her durumda, bir BOLA saldırısının temel sonucu, bilgisayar korsanlarının söz konusu API’lerde yeterli güvenlik önlemlerinin bulunmaması nedeniyle kişisel bilgilere erişebilmesidir.

Çözüm

BOLA’nın çözümü, programcıların bir API içindeki herhangi bir veriye veya koda erişim için yetkilendirme protokolleri uygulamasıdır. OWASP’nin (2019) belirttiği gibi, BOLA’nın önlenmesi, “bir kayda erişmek için istemciden gelen girdiyi kullanan her işlevde, oturum açmış kullanıcının kayıt üzerinde istenen eylemi gerçekleştirmek için erişimi olup olmadığını kontrol etmek için bir yetkilendirme mekanizmasının uygulanmasını gerektirecektir. veri tabanında” (paragraf 9).

BOLA güvenlik açığı, esas olarak API’lerle ilgilidir ve bir kullanıcının bir istekte bulunmak için gereken bilgilere erişimi varsa, bu isteği yapmak için otomatik olarak yetkilendirilmesi gerektiğini varsayar. Bu varsayım açıkça yanıltıcıdır, çünkü bilgisayar korsanları bilgiye erişebilir ve daha sonra bunu yapmak için gerçek bir yetkileri olmasa bile API’yi manipüle etmek için kullanabilir.

Bu nedenle, BOLA güvenlik açığının önlenmesi, yalnızca kullanıcının girişlerine yanıt veren değil, aynı zamanda kullanıcının istenen eylemleri gerçekleştirme yetkisine sahip olup olmadığını da doğrulayabilen bir sistem gerektirir (Blokdyk, 2022). Örneğin, sistem, bir bilgisayar korsanının yalnızca API içindeki verileri ve bilgileri inceleyerek bulamayacağı harici bir parola gerektirebilir.

O halde BOLA’nın çözümü basittir. API’ler şu anda istekleri doğrulamak için nesne kimliklerine odaklanmaktadır ve bu, veri güvenliği açısından tamamen yetersizdir. BOLA’yı önlemek için API’ler, kullanıcıları kendileri izlemeli ve kullanıcıların sistem içinde istekte bulunma, işlem yapma ve girdi sağlama konusunda uygun şekilde yetkilendirildiğinden emin olmaya odaklanmalıdır. BOLA güvenlik açığı, tamamen programcıların genellikle böyle bir protokolü uygulamakta başarısız oldukları gerçeğine dayanmaktadır. Bu tür bir uygulama, bilgisayar korsanları hedef API’lere erişemeyeceği ve bunları değiştiremeyeceği sürece güvenlik açığının tamamını ortadan kaldıracaktır.

Belki de BOLA, alçakgönüllülükle ilgili bir vaka çalışmasıdır. Programcılar modern API’lerin yeni sınırlarını keşfederken, temelleri de ihmal etmediklerinden emin olmalıdırlar. BOLA güvenlik açığını önlemek için kullanıcı yetkilendirme protokollerinin uygulanması, herhangi bir sağlam API için temel bir unsur olarak anlaşılmalıdır ve bunu yapmak, önemli bir OWASP önceliğini ele alacaktır.

Referanslar

Blokdyk, G. (2022). Kullanıcı doğrulama ve yetkilendirme. 5STARAşçılar.

Marfin, C. (2022, 12 Temmuz). Tenet Healthcare, veri ihlali 1,2 milyon hastayı etkiledikten sonra davayla karşı karşıya. Dallas Sabah Haberleri.​

Web Uygulaması Güvenlik Projesi’ni açın. (2019). API2:2019 bozuk nesne düzeyinde yetkilendirme. ​GitHub. ​nesne düzeyinde yetkilendirme.md

Viriya, A. ve Muliono, Y. (2021). E-ticaret ve e-bankacılık mobil uygulamalarında bozuk nesne düzeyinde yetkilendirme güvenlik açığını gözetleme ve test etme. Procedia Bilgisayar Bilimi, 179, 962-965.

reklam





Source link