2 puan yazan GN⁺ 2024-07-12 | 1 yorum | WhatsApp'ta paylaş
  • CCC, IdentifyMobile’daki açık sayesinde tek kullanımlık parola SMS’lerini gerçek zamanlı olarak görebildi; 200’den fazla şirkete ait 198 milyondan fazla SMS’in sızdığı bir vakaydı
  • 2FA-SMS, yalnızca parolanın ele geçirildiği durumları engelleyen yardımcı bir önlem olsa da gerçek güvenlik büyük ölçüde SMS gönderim sağlayıcılarının yönetim seviyesine de bağlı
  • IdentifyMobile; doğrulama kodlarını, alıcı telefon numaralarını, gönderen adlarını ve bazı hesap bilgilerini internete açık bıraktı; yalnızca idmdatastore adlı alt alan adını tahmin etmek erişim için yeterliydi
  • Google, Amazon, Facebook, Microsoft, Telegram, Airbnb, FedEx, DHL gibi şirketler etkilenenler arasındaydı; yalnızca gerçek zamanlı akışla bile WhatsApp numarası ele geçirme veya finansal işlem ve servis oturumu açma girişimleri mümkün olabiliyordu
  • SMS ile iki faktörlü doğrulama, yalnızca parola kullanmaktan daha iyi olsa da uygulama tabanlı tek kullanımlık parolalar veya donanım token’ları gibi mobil ağlara ve SMS operatörlerine daha az bağımlı yöntemler daha güvenli

IdentifyMobile sızıntısının ortaya koyduğu 2FA-SMS zayıflığı

  • 2FA-SMS, kullanıcının bildiği parola ile telefon numarasına erişimi kanıtlayan SMS kodunu birlikte ister
    • Yalnızca parolanın sızdığı durumlarda hesabın ele geçirilmesini önleyen ek bir mekanizma olarak kullanılır
    • SMS, WhatsApp doğrulama kodu veya banka havalesi için TAN gibi yalnızca kısa süre geçerli kodlar içerebilir
  • SMS tabanlı doğrulama zaten çeşitli saldırı yollarına açık
  • Bu vakada saldırganın doğrudan iletişim ağını veya kullanıcıyı hedeflemesine gerek kalmadan SMS gönderim sağlayıcısı doğrulama zincirinin zayıf halkası olabiliyor
    • IdentifyMobile, çeşitli şirket ve servisler için toplu SMS gönderen bir sağlayıcı
    • Bu sağlayıcı SMS içeriklerine erişebiliyordu ve içeriklerde doğrulama kodları bulunuyordu
    • CCC, yalnızca idmdatastore adlı alt alan adını tahmin ederek gerçek zamanlı verilere erişebildi

Açığın kapsamı ve gerçek risk

  • Açığa çıkan veriler SMS içeriğinin yanı sıra alıcı telefon numaralarını, gönderen adlarını ve bazı durumlarda başka hesap bilgilerini de içeriyordu
  • Etkilenen şirket sayısı 200’ün üzerinde; doğrudan veya başka servis sağlayıcıları üzerinden doğrulama güvenliğini IdentifyMobile’a emanet edenler buna dahil
    • Google, Amazon, Facebook, Microsoft
    • Telegram, Airbnb, FedEx, DHL
    • Toplamda 198 milyondan fazla SMS sızdı
  • Yalnızca gerçek zamanlı akışla bile birçok kötüye kullanım senaryosu mümkündü
    • WhatsApp numarasını ele geçirme
    • Parola biliniyorsa, telefona erişmeden finansal işlem gerçekleştirme
    • Parola biliniyorsa, çeşitli servislere giriş yapma
  • Gerçek kötüye kullanım için genellikle hâlâ parola gerekliydi; ancak verilerin içinde 1-click login bağlantıları da yer alıyordu
    • Bazı büyük mağdur şirketlerde IdentifyMobile’ın koruduğu kapsam belirli servislerle sınırlıydı
    • IdentifyMobile’ın ihmali şirketleri ve müşterilerini ciddi riske maruz bıraktı
    • CCC verileri saklamadı, ancak başka kişilerin erişmiş olma ihtimali dışlanamaz

SMS yerine tercih edilebilecek doğrulama yöntemleri

  • Mümkün olduğunda SMS yerine uygulamada üretilen tek kullanımlık parolalar veya donanım token’ları kullanmak daha güvenlidir
    • Bu yöntemler mobil ağa bağımlı değildir
    • IdentifyMobile gibi SMS gönderim sağlayıcılarına da bağımlı değildir
    • Yine de iki faktörlü doğrulama, tek başına parola kullanmaktan iyidir

1 yorum

 
GN⁺ 2024-07-12
Hacker News görüşleri
  • Yakın zamanda bir tanıdığım Google Ads oltalamasına yakalandı; saldırgan “BANKNAME login” gibi arama terimleri için reklam satın almış, bankanın giriş sayfasını ustaca kopyalamış ve arkada yeniden iletim saldırısı yürütüyormuş.
    Telefon uygulamasındaki iki aşamalı doğrulama kodunu girince ekranda reddedilip yeni kod istenmiş; ama gerçekte ikinci kod, yeni bir “pay anyone” alıcısı eklemeyi onaylayan kodmuş ve para bununla çekilmiş.
    SMS ile iki aşamalı doğrulamanın protokol düzeyinde zayıf olduğunu düşünürdüm; ama bu örnekte, yeni alıcı eklerken giriştekinden farklı bir mesaj gönderen bankanın SMS yöntemi daha iyi olabilirmiş.
    İdeal olarak basit bir token üretici uygulama değil; giriş token’ı ve alıcı ekleme token’ı gibi işlem türüne göre token’lar üretilmeli ve bunlar birbirinin yerine kullanılamamalı. Bu düzeyde iki aşamalı doğrulama sunan bir banka gören var mı merak ediyorum.
    Belki passkey, yerel donanımla fiziksel bir bağlantı kurduğu için bu tür sorunları anlamsız hale getirebilir. Bu arada mağdur sonunda parasını geri aldı.

    • Reklamlar yalnızca bant genişliği ve işlem kaynaklarını tüketen sinir bozucu bir psikolojik terör değil; web’de dolandırıcılık ve kötü amaçlı yazılım yaymanın da bir numaralı yolu.
      Güvenlik duruşunu iyileştirmek için reklam engelleyici kurmak en iyi yöntemlerden biri. Teknolojiye aşina olmayan arkadaşlarınıza veya aile üyelerinize uBlock Origin kurmanızı şiddetle öneririm.
    • HSBC’de gerçekten böyle bir özellik var. Ülkeye göre değişen uygulamalarda web sitesine giriş, işlem onayı (ör. bir alıcıya para gönderme) ve yeniden kimlik doğrulama (ör. telefon numarası gibi kişisel bilgileri değiştirme) için farklı güvenlik kodları üretilebiliyor.
      Avustralya uygulamasının ekranını burada görebilirsiniz; ABD ve Birleşik Krallık uygulamaları da benzer: https://www.hsbc.com.au/content/dam/hsbc/au/images/ways-to-b...
      HSBC bunu yıllardır sunuyor; neden hâlâ standart olmadığını ya da diğer ABD bankalarının neden benimsemediğini pek anlayamıyorum.
    • Merakımdan bir kez Google reklamı satın almıştım; ücretsiz kredi verdikleri için denemiştim ama reklam onaylanmadan önce bile saçma sapan şartları ve yönergeleri aşmak için epey uğraşmam gerekti.
      Buna rağmen sıradan reklamlarda bu kadar katıyken, bir bankanın kılığına giren ve o bankayı arayan insanları hedefleyen oltalama sayfasına nasıl reklam sattıklarını anlamıyorum.
    • FBI’ın da tam bu tür dolandırıcılıklardan kaçınmak için arama motorlarında reklam engelleme uzantısı kullanılmasını önerdiğini aileye ve tanıdıklara söylemeye değer [0].
      “İnternet araması yaparken reklam engelleme uzantısı kullanın. Çoğu internet tarayıcısı, reklam engelleme uzantıları dâhil uzantı eklenmesine izin verir. Bu reklam engelleyiciler tarayıcı içinde açılıp kapatılabilir; böylece belirli web sitelerindeki reklamlara izin verilirken diğer yerlerdeki reklamlar engellenebilir.”
      [0] https://www.ic3.gov/Media/Y2022/PSA221221
    • Buradan çıkarılacak bir başka ders de banka URL’sini yer imlerine eklemek veya ezberlemek ve arama motorunun sizi bankaya götüreceğine güvenmemek.
  • SMS ile iki aşamalı doğrulamayı zorunlu kılan şirketlerin güvenliği gerçekten umursamadığından, sadece telefon numarası istediğinden ve güvenlik tiyatrosu olarak iki aşamalı doğrulamayı öne sürüp numarayı aldıklarından uzun zamandır şüpheleniyorum.

    • O kısmı kesinlikle var. Telefon numarası, yeni sosyal güvenlik numarası gibi; neredeyse hiç değişmeyen ve kullanıcıları farklı hizmetler arasında birbirine bağlayan benzersiz bir tanımlayıcı hâline geldi.
      Üstelik tanıştığınız herkese bizzat verdiğiniz bir tanımlayıcı da olduğundan, kötü bir sistem gibi görünüyor denebilir.
    • Ücretsiz hesabı olan bir hizmette telefon numarası istemek dolandırıcılık önleme veya çoklu hesap kötüye kullanımını engelleme açısından yardımcı olur.
      Yasaklardan kaçmak için yeni hesap açmayı zorlaştırır ve birden fazla hesapta görülen kötü davranışları ilişkilendirmeyi kolaylaştırır.
    • Çoğu şirket aslında spam önleme nedeniyle telefon numarası ister.
      Spammer’ların internetin gerilemesine katkısının hafife alındığını düşünüyorum.
    • SMS ile iki aşamalı doğrulamanın zorunlu kılınmasının nedeni, kullanıcının iki aşamalı doğrulama uygulaması kurduğunu ve bu aracı yönetmeyi bildiğini varsaymaktansa telefon numarası olduğunu varsaymanın çok daha az sürtünmeli olması.
      Desteklemesi de daha kolay.
    • Ya da başlangıçta e-postayla iki aşamalı doğrulama yapılıyorken bir denetçi “bu iki aşamalı doğrulama değil” demiş, onlar da bildirim amaçlı ara yazılımlarının e-postanın yanı sıra SMS’i de desteklediğini fark etmiş olabilir.
  • NIST epey zamandır SMS ile iki aşamalı doğrulama kullanılmamasını açıkça söylüyor.
    NIST SP 800-63B §5.1.3.3
    https://pages.nist.gov/800-63-3/sp800-63b.html#pstnOOB

    • NIST’in bakış açısı ve çıkarları, hizmet sağlayıcının müşteri/kullanıcı deneyiminde önemsemesi gerekenlerle her zaman birebir örtüşmez.
      Müşteri: “İki aşamalı doğrulama uygulaması ne demek? Kod telefonuma gelmiyor muydu?”
      Destek: “Evet, ama artık SMS ile iki aşamalı doğrulamayı desteklemiyoruz.”
      Müşteri: “Ama kod telefonuma geldiğinde sorun yoktu.”
      Destek: “Evet, fakat NIST SMS ile iki aşamalı doğrulama kullanılmamasını öneriyor.”
      Müşteri: “NIST de ne? Bu çok sinir bozucu. Hesabıma girmem gerekiyor.”
  • Ne yazık ki neredeyse tüm bankalar SMS kullanmaya zorluyor. Çünkü banka uygulamaları root edilmiş telefonlarda çalışmayı reddediyor. Gerçekten harika bir güvenlik başarısı.

    • Yine de bir alternatif var sayılır.
      Benim ülkemde neredeyse tüm bankalar, SMS alternatifi olmadan uygulama tabanlı iki aşamalı doğrulamayı zorunlu kılıyor.
      Ayrı bir telefon alıp taşımak istemiyorsanız, bunu istemeyen tek bir bankayı kullanmaktan başka çareniz yok.
    • Bu güvenlik açısından gerçekten bir kazanç.
      Root edilmiş telefonlarda başka uygulamaların banka bilgilerini gözetleyip çalabilmesinin önü açılmış oluyor.
      Güvenliği tehlikeye girmiş bir telefonda banka uygulamasının çalışmaması oldukça makul görünüyor.
    • Tartışmalı olsa da root edilmiş telefonlar doğası gereği daha az güvenlidir.
      Ancak GrapheneOS buna dahil değil; çünkü GrapheneOS’in resmi derlemelerinde root yetkisi yoktur.
  • Yazı, güvenlik açısından anlamları farklı iki sorunu birbirine karıştırıyor
    1-click login bağlantıları endişe verici; yalnızca SMS erişimiyle WhatsApp gibi hizmetler ele geçirilebilir
    Ancak 2 aşamalı doğrulama kodları görece daha az kaygı verici. İkinci faktör oldukları için saldırganın parolaya da ihtiyacı vardır
    Böyle bir durumda SMS kullanımı ve ele geçirme riski konusunda çok daha az endişelenirim

    • Her bir SMS mesajı veritabanı sızdığında, yaklaşık 1000 tane hesap kimlik bilgisi veritabanı sızıyor
  • Birleşik Krallık'ta neredeyse tüm çevrimiçi bankacılık işlemleri artık SMS ile doğrulanıyor gibi görünüyor. Görünüşe göre yasa gereği isteniyor ve önceki banka kartı + kart okuyucu + PIN doğrulama sisteminin yerini aldı
    Eski yöntem yalnızca daha güvenli olmakla kalmıyor, sinyal çeken ve düzgün çalışan bir telefona da bağlı değildi
    Bir gün bunun korkunç bir hata olduğunun kabul edilip düzeltileceğini umuyorum ama beklentim yüksek değil

    • Hangi banka olduğunu merak ettim. Lloyds kullanıyorum; işlemler SMS ile değil, uygulama üzerinden doğrulanıyor
    • İlk cümle hiç doğru değil. SMS seçeneklerden biri ama birçok banka uygulama tabanlı 2 aşamalı doğrulama destekliyor
      Çevrimdışıyken kart okuyucunun yararlı olduğuna katılıyorum. Ama o cihazı yanıma almayı neredeyse hiç hatırlamadığım için seyahat sırasında sık sık takılıyordum
  • İsveç bu sorunu uzun zaman önce BankID ile çözdü
    https://en.wikipedia.org/wiki/BankID
    Kamu kurumlarıyla özel kurumlar biraz iş birliği yaptığında neler başarılabildiği şaşırtıcı. Devlet hizmetlerinde ve çoğu bankada oturum açma ve 2 aşamalı doğrulama için tek yöntem bu ve iyi çalışıyor
    Her ülkede böyle bir sistem olmamasına, dahası AB genelinde böyle bir sistem olmamasına inanmak zor

    • AB bunun için Digital Wallet'ı devreye alıyor. Finlandiya'nın BankID sürümünden daha kullanışlı olmasını ve bankalara ya da rant kollayan diğer özel kurumlara daha az bağımlı kalmasını umuyorum
      Yine de beklentimi çok yüksek tutmuyorum
      https://ec.europa.eu/digital-building-blocks/sites/display/E...
    • Wiki'deki açıklamaya göre gerçekten Linux'u destekleyip desteklemediğini merak ediyorum. Kart biçimi alternatif olarak kullanılabilir sanırım
  • S3 bucket'taki mesajlar 5 dakikada bir yenilenmiş gibi görünüyor: https://www.zeit.de/digital/datenschutz/2024-07/it-sicherhei...
    Ancak CCC'nin bunu yalnızca 2FA-SMS'e özgü bir sorun olarak tanımlaması yanlıştı. Etkilenen yalnızca Twilio Verify (2 aşamalı doğrulama API'si) değil, bu sağlayıcı üzerinden gönderilen tüm SMS'lerdi

    • Twilio Verify ile ilgili dayanak nereden geliyor merak ettim. Hiçbir yerde bahsedilmiyor
  • Bu, SMS'in kendi sorunu olmaktan çok, hassas veri deposunu düzgün korumamış bir tedarikçi güvenliği sorunu gibi

    • OTP ve donanım token'ları, dönen gizli değeri potansiyel olarak herkese açık okunabilir bir veri deposuna yazmayı gerektirmediği için bu aynı zamanda bir SMS sorunu da
      Bu belirli saldırı yolu o teknolojilerde hiç yok
  • Çalıştığım birçok finans kurumu SMS ile 2 aşamalı doğrulama istiyor ve HOTP/TOTP seçeneği sunmuyor. Çıldırmalık