Önde gelen üç çevrimiçi hizmette Açık Yetkilendirme (OAuth) standardının uygulanmasındaki kusurlar, saldırganların düzinelerce web sitesinde yüz milyonlarca kullanıcı hesabını ele geçirmesine, insanları kimlik bilgileri hırsızlığına, mali dolandırıcılığa ve diğer siber suç faaliyetlerine maruz bırakmasına olanak tanıyabilirdi.
Salt Labs’tan araştırmacılar, birçok çevrimiçi şirketin sitelerinde (yapay zeka (AI) destekli yazma aracı Grammarly, çevrimiçi akış platformu Vidio ve Endonezya e-ticaret sitesi Bukalapak) kritik API yanlış yapılandırmaları keşfetti; Salı günü yayınlanan bir raporda, sitelerin büyük olasılıkla aynı şekilde ele geçirildiği ortaya çıktı.
OAuth, çoğu kişinin “Facebook ile Giriş Yap” veya “Google ile Giriş Yap” gibi başka bir sosyal medya hesabıyla çevrimiçi bir siteye giriş yapma seçeneği olarak tanıdığı, platformlar arası kimlik doğrulamasına izin vermek için yaygın olarak uygulanan bir standarttır.
Yakın zamanda keşfedilen uygulama kusurları, OAuth kullanımında araştırmacıların son aylarda keşfettiği ve kullanıcıları riske sokan önde gelen çevrimiçi platformlara yayılan bir dizi sorun arasında yer alıyor. Salt araştırmacıları, Booking.com web sitesinde ve tek bir kod tabanı kullanarak iOS, Android ve diğer Web platformları için yerel mobil uygulamalar geliştirmeye yönelik açık kaynaklı bir çerçeve olan Expo’da, hesapların ele geçirilmesine izin verebilecek benzer OAuth kusurlarını zaten keşfetmişti. Kullanıcının kişisel veya ödeme kartı verilerine ilişkin tam görünürlük. Booking.com’daki kusur aynı zamanda web sitesinin kardeş platformu Kayak.com’a da giriş yapılmasına izin vermiş olabilir.
Araştırmacılar genel olarak Vidio, Grammarly ve Bukalapak’ta bulunan en son soruna, bir saldırganın bir belirteci (aktarmayı doğrulamak için kullanılan benzersiz, gizli site tanımlayıcısı) kullanabileceği bir “Belirteci Geçirme” kusuru olarak atıfta bulunuyorlar. Başka bir hizmete giriş yapmak için genellikle saldırganın sahip olduğu üçüncü taraf bir site.
Yaniv Balmas, “Örneğin, bir kullanıcı, saldırganın sahibi olduğu mytimeplanner.com adlı bir siteye giriş yaptıysa, saldırgan daha sonra kullanıcının jetonunu kullanabilir ve onun adına Grammarly gibi diğer sitelere giriş yapabilir.” Yaniv Balmas Salt’ın araştırmadan sorumlu başkan yardımcısı Dark Reading’e açıklıyor.
Araştırmacılar en son sayıları sırasıyla Şubat ve Nisan ayları arasında Vidio, Bukalapak ve Grammarly’de buldular ve sırasıyla üç şirkete bilgi verdiler ve hepsi de zamanında yanıt verdi. O zamandan beri bu belirli hizmetlerdeki yanlış yapılandırmaların tümü çözüldü, ancak bu hikayenin sonu değil.
Rapora göre “Sadece bu üç site, fikrimizi kanıtlamamız için yeterli ve ek hedefler aramamaya karar verdik, ancak diğer binlerce web sitesinin de bu yazıda detaylandırdığımız saldırıya karşı savunmasız olmasını bekliyoruz. her gün milyarlarca ilave İnternet kullanıcısını riske atıyor”
OAuth’u Yanlış Yapılandırmanın Çeşitli Yolları
Sorun, üç sitenin her birinde benzersiz bir şekilde kendini gösteriyor. Aylık 100 milyon aktif kullanıcıya sahip bir çevrimiçi yayın platformu olan Vidio’da araştırmacılar, siteye Facebook aracılığıyla giriş yaparken sitenin jetonu doğrulamadığını ve bunu OAuth’un değil web sitesi geliştiricilerinin yapması gerektiğini buldu. Araştırmacılar, bu nedenle, bir saldırganın farklı bir uygulama için oluşturulan erişim jetonunu eklemek üzere API çağrılarını değiştirebileceğini buldu.
Araştırmacılar raporda şöyle yazdı: “Bu alternatif token/AppID kombinasyonu, Salt Labs araştırma ekibinin Vidio sitesinde bir kullanıcının kimliğine bürünmesine olanak tanıdı ve bu da binlerce hesapta büyük miktarda hesabın ele geçirilmesine olanak tanıdı.”
Aylık 150 milyondan fazla kullanıcısı olan Bukalapak da Vidio gibi, kullanıcılar sosyal giriş kullanarak kaydolduğunda erişim belirtecini doğrulamadı. Benzer şekilde araştırmacılar, bir kullanıcının kimlik bilgilerine erişmek ve o kullanıcının hesabını tamamen ele geçirmek için başka bir web sitesinden bir jeton ekleyebilirler.
Günlük 30 milyondan fazla kullanıcının dilbilgisi, noktalama işaretleri, yazım denetimleri ve diğer yazma ipuçları sunarak yazılarını geliştirmesine yardımcı olan Grammarly’de keşfedilen OAuth sorunu, kendisini biraz farklı bir şekilde gösterdi.
Araştırmacılar, API çağrıları üzerinde keşif yaparak ve Grammarly sitesinin kodu göndermek için kullandığı terminolojiyi öğrenerek, farklı bir sitedeki kullanıcıları doğrulamak için kullanılan kodu eklemek üzere API alışverişini değiştirebileceklerini ve yine bir kullanıcının kimlik bilgilerini elde edebileceklerini buldular. kullanıcının hesabını kapatabilir ve hesabın tamamını devralabilirsiniz.
OAuth’u Başlangıçtan itibaren Güvenli Hale Getirin
OAuth’un kendisi iyi tasarlanmıştır ve Google ve Facebook gibi büyük OAuth sağlayıcılarının arka uçta kendilerini koruyan güvenli sunucuları vardır. Ancak Balmas, kimlik doğrulama aktarımını gerçekleştirmek için standardı kullanan hizmetleri ve siteleri geliştirenlerin, site düzgün çalışıyor gibi görünse bile genellikle alışverişi doğası gereği güvensiz kılan sorunlar yarattığını söylüyor.
“Herkes için web sitesine sosyal giriş işlevselliği eklemek çok kolaydır… ve aslında her şey oldukça iyi çalışacaktır” diyor. “Ancak, uygun bilgi ve farkındalık olmadan, saldırganın kötüye kullanabileceği ve tüm web sitesi kullanıcıları üzerinde çok ciddi etkiler yaratabileceği çatlaklar bırakmak çok kolaydır.”
Bu nedenle, OAuth’tan yararlanan sitelerin ve hizmetlerin uygulama açısından güvenli olması önemlidir; bu, geliştiricilerin standardı siteye yerleştirmeden önce bazı ödevler yapmasını gerektirebilir.
“Sosyal oturum açmayı veya OAuth ile ilgili diğer işlevleri uygulamak isteyen web hizmetleri, OAuth’un nasıl çalıştığına ve kötüye kullanılma potansiyeline sahip olabilecek yaygın tuzaklara ilişkin sağlam bir anlayışa sahip olduklarından emin olmalıdır” diyor.
Balmas, geliştiricilerin aynı zamanda anormallikleri ve tipik davranışlardan sapmaları izleyen ve henüz bilinmeyen saldırıları tespit edebilen, site ve dolayısıyla tüm kullanıcılar için bir güvenlik ağı sağlayan üçüncü taraf araçlarını da kullanabileceğini ekliyor.