Have I Been Pwned 2.0 Yayında
(troyhunt.com)- Uzun süredir hazırlanan HIBP yeniden markalaşması gerçek servise aktarılırken, web sitesinin baştan sona yeniden inşası ve neredeyse tüm sayfalarda işlevsel yenilemeler birlikte yayımlandı
- Ana arama, sonuç deneyimini iyileştirdi ancak web sitesinden username ve phone number aramasını kaldırdı; mevcut API uyumluluğu ise korunuyor
- Yeni ihlal bazlı sayfalar, arama sonuçlarını daha az karmaşık hale getiriyor ve bir olaydan sonra kullanıcıların atabileceği somut adımlara dair yönlendirmeleri ayrı bir ekrana ayırıyor
- E-posta erişim doğrulaması gerektiren özellikler Sign In tabanlı bir dashboard altında toplandı; domain search ise JSON API ve istemci tarafı filtreleme ile daha hızlı çalışıyor
- Teknik yığın Azure, Cloudflare, .NET 9.0, Bootstrap ve TypeScript odağında sadeleştirildi; Google reCAPTCHA kaldırıldı ve yalnızca Cloudflare Turnstile kullanılıyor
Yeni web sitesi ve arama deneyimi
- Yeni Have I Been Pwned web sitesi yayımlandı
- Açık depodaki yeniden markalaşma çalışmasının ilk commit’i Şubat 2024’te yapıldı
- Yeni marka Mart 2025’te soft launch edildi
- Bu sürüm; web sitesinin baştan sona yeniden inşasını, neredeyse tüm sayfalarda işlev değişikliklerini, yeni özellikleri ve merch mağazasının açılışını içeriyor
- Ana arama kutusu, HIBP’nin temsilî özelliğini korurken sonuçların gösterim biçimini değiştiriyor
- Bazı kullanıcılar tebrik tepkisi ve confetti animasyonu görecek
- İhlal doğrulandığında ise daha sakin, kırmızı bir yanıt gösteriliyor
- Sonuçlar ters kronolojik sırada kaydırılabilir bir timeline biçiminde ve her ihlalin özetiyle birlikte sunuluyor
- Web sitesi aramasında username ve phone number desteği kaldırıldı
- username araması, 2014’teki Snapchat incident için eklenmişti
- phone number araması, 2021’deki Facebook incident için eklenmişti
- Bu iki veri türü, söz konusu iki örnek dışında hiç yüklenmedi
- username ile sahibini kesin olarak belirlemek zor; phone number ise uluslararası formatlar ve yazım farklılıkları nedeniyle ayrıştırması zahmetli
- SMS bildirimleri e-postaya göre çok daha maliyetli
- Eski sitede bu girdilere izin verilmesi, “numaram neden belirli bir ihlalde yok?” gibi kafa karışıklıklarına ve destek yüküne yol açtı
- API’de uyumluluğu korumak için destek devam ediyor, ancak ek veri gelmesinin beklenmemesi gerektiği belirtiliyor
İhlal bazlı özel sayfalar
- Yeni breach page, ana arama sonuçlarının fazla karmaşık hale gelmesi sorununu azaltmak için ihlal bazlı ayrıntılı bilgileri ayrı bir ekrana ayırıyor
- Örnek olarak Ashley Madison breach page gösteriliyor
- Mevcut bilgiler daha kullanıcı dostu bir biçimde sunuluyor
- Sayfadaki temel değişiklik, ihlalden sonra kullanıcının atabileceği adımları daha somut biçimde yönlendirmesinde
- İhlale uğrayan kullanıcının ne yapması gerektiğine odaklanıyor
- identity protection provider gibi iş ortağı servislerle bağlantı kurma yönü de buna dahil
- Gelecekte ihlal ve kullanıcı bazlı verileri daha da zenginleştirme planı var
- İlgili servis 2FA destekliyorsa genel yönlendirme yerine bu özellikle gösterilecek
- passkey de ayrı bir bölüm olarak eklenecek
- Birleşik Krallık NCSC ile yapılan görüşmelerde, Birleşik Krallık kullanıcılarına NCSC logosu ve ilgili yönlendirme kaynaklarını gösteren yerelleştirilmiş veri ihlali rehberi ele alındı
Birleşik dashboard ve domain search
- E-posta adresi erişim doğrulaması gerektiren özellikler yıllar içinde arttıkça bunlar tek bir central dashboard altında birleştirildi
- 2015’teki Ashley Madison olayı sırasında sensitive breach kavramı eklenmiş ve e-posta alma yoluyla doğrulama gerekmişti
- 2019’da API kötüye kullanımını azaltmak için API’ye bir kimlik doğrulama katmanı eklendi ve API key satın almadan önce e-posta doğrulaması istendi
- Sonrasında domain search dashboard, ücretli abonelik yönetimi ve stealer logs sorgulama eklendi
- Yeni dashboard, tek bir Sign In arkasında e-posta adresine erişimi doğruladıktan sonra ilgili özellikleri gösteriyor
- Halka açık özellikler ile iş odaklı özellikler birlikte yer alıyor
- Gelecekte e-posta göndermeden giriş yapılabilmesi için passkey desteği ekleme planı var
- Aile üyelerinin e-posta adreslerini bildirim aboneliğine kaydedip bildirimleri başka bir adresten alma özelliği de dashboard’a uygun bir örnek olarak ele alınıyor
- domain search tarafında ekran düzenleme ve filtreleme iyileştirmeleri yoğun biçimde yapıldı
- Doğrulanmış domain listesi daha temiz hale geldi
- Arama sonuçları daha net bir özet sunuyor
- E-posta adresine göre filtreleme ve “yalnızca latest breach’i göster” filtresi eklendi
- Domain search dashboard, API’den JSON alıyor ve tüm dashboard tek sayfa uygulama gibi çalışıyor
- Filtreleme, tüm domain search JSON’u üzerinde istemci tarafında yapılıyor
- 250 binden fazla ihlal edilmiş e-posta adresi bulunan domainlerde de çalışabildiği test edildi
- Ancak bu ölçekteki veriler için tarayıcıda kaydırmak yerine API üzerinden almak daha uygun
- Domain sahipliği doğrulaması da tamamen yeniden yazıldı
- Daha temiz ve basit bir arayüze dönüştü
- E-posta dışındaki doğrulama yöntemlerini daha akıcı hale getirmek için hâlâ yapılacak işler var
API dokümantasyonu ve merch mağazası
- API’nin kendisinde değişiklik yok
- Bu güncelleme uyumluluğu bozan değişiklikler getirmiyor
- Mevcut API kullanıcıları için kırılan bir taraf yok
- API dokümantasyonu yeni yaklaşıma geçirilemedi ve mevcut dokümantasyon korundu
- UX rebuild GitHub repo’sunda API dokümantasyon yöntemi üzerine tartışmalar vardı ve genel mutabakat OpenAPI yönündeydi
- Scalar ile çalışma yürütüldü ve haveibeenpwned.com/scalar adresinde görülebiliyor
- Scalar, çeşitli dillerde örnekler ve tarayıcı içinde test runner sunuyor
- Büyük lansman takvimi içinde tamamlanamadığı için mevcut API dokümantasyonu yeni site stiline uyarlanarak korundu
- İleride zaman olduğunda Scalar uygulamasına geçme planı var
- HIBP merch mağazası merch.haveibeenpwned.com adresinde açıldı
- Teespring üzerinden işletiliyor
- Tüm ürünler maliyetine satılıyor ve kâr edilmiyor
- Topluluk için eğlenceli bir deneme olarak hazırlandı
- Sticker’larda Teespring seçenekleri mevcut Sticker Mule kalitesine ulaşmadığı için mevcut Sticker Mule store kullanılmaya devam ediyor
- open source artwork da sunuluyor; isteyen istediği yerde bastırabilir
Teknik yığın ve performans
- Asıl servis hâlâ Microsoft Azure üzerinde çalışıyor
- Web sitesi App Service kullanıyor
- API’lerin çoğu serverless Functions kullanıyor
- SQL Azure Hyperscale, queues, blobs, tables gibi storage account özellikleri kullanılıyor
- Kodun büyük kısmı C#; .NET 9.0 ve ASP.NET MVC on .NET Core kullanılıyor
- Cloudflare da önemli rol oynamaya devam ediyor
- Workers üzerinde çok sayıda kod var
- R2 storage’da veri bulunuyor
- WAF ve caching özellikleri kullanılıyor
- anti-automation için yalnızca Cloudflare Turnstile kullanılıyor ve Google reCAPTCHA tamamen kaldırıldı
- Frontend, güncel Bootstrap nesli, SASS ve TypeScript kullanıyor
- CSS, SASS ile yazılıyor
- JavaScript, TypeScript ile yazılıyor
- Web sitesi performansında da ölçülebilir iyileşmeler var
- Pingdom testlerine göre sayfa boyutu %28 azaltıldı
- İstek sayısı %31 azaltıldı
- Yükleme süresi çok değişken olduğu için büyük bir fark olduğu kesin söylenmiyor
- 11 yıl sonra bile web sayfası boyutunda ve istek sayısında çift haneli oranlarda azalma sağlandığı vurgulanıyor
- İzleme veya reklam yükü olarak görülebilecek unsurlar eklenmedi
- Gerçek trafik istatistikleri, Cloudflare edge node’larından geçen trafiğe dayanıyor
- 1Password product placement yalnızca metin ve görselden ibaret
- outbound click de izlenmiyor
- Müdahaleci takip metrikleri bekleyen identity theft şirketleriyle product placement görüşmeleri daha zor hale geliyor
Geliştirme sürecinde yapay zeka kullanımı
- ChatGPT, yeniden inşa sürecinde, özellikle son birkaç günde yoğun biçimde kullanıldı
- Bootstrap icons içinde “Index” heading’ine uygun bir ikon bulmak için kullanıldı
- 2.000’den fazla ikon arasından uygun olanı yaklaşık 30 saniyede bulmak gibi işlerde kullanıldı
- Site geçişini doğrulamak için de yapay zeka kullanıldı
haveibeenpwned.comsitesini tarayıp benzersiz URL’leri çıktılayan bir PowerShell script’i yazdırıldı- Bulunan path’lerin
stage.haveibeenpwned.comüzerinde var olup olmadığını kontrol eden script de yazdırıldı - Eksik
security.txtdosyasını bulmaya yardımcı oldu - Hiç var olmamış öğeleri de bulduğu için “güven, ama doğrula” yaklaşımı gerekti
- CSS tavsiyeleri, Cloudflare rule ayarları, .NET Core web uygulaması özel durumları gibi küçük işlerde de kullanıldı
- Yanıtların doğru olma oranı yaklaşık %90 olarak değerlendirildi
- Yazılım geliştirmede yapay zekayı aktif kullanmıyorsanız yanlış yapıyorsunuz denecek kadar güçlü bir olumlu görüş belirtildi
Lansman ve Turnstile sorunları
- Yeni site, yazarın zamanına göre pazar sabahı erken saatlerde dağıtıma alındı
- Neredeyse her şey iyi ilerledi; bir iki küçük glitch hızla düzeltilip yayımlandı
- Yazı, sorunları önce mümkün olduğunca toparlamak için canlıya çıkıştan 2 gün sonra yayımlandı
- Bu arada 12’den fazla yeni sürüm çıkarılarak hızlı iterasyon yapıldı
- Kullanım şartları ve gizlilik politikası gibi küçük değişiklikler bile çok zaman aldı
- Veri işleme yöntemindeki küçük güncellemeleri ve stealer logs gibi yeni servisleri yansıtmak gerekiyordu
- Avukatlarla çalışmaya saatler ve binlerce dolar harcandı
- Cloudflare Turnstile, Google reCAPTCHA gibi trafiği Google’a aktarmayan bir anti-automation yöntemi
- Tamamen görünmez biçimde uygulanabiliyor
- Tarayıcıda Cloudflare script’i challenge oluşturuyor, HTTP isteğiyle birlikte gönderiliyor ve sunucu tarafında doğrulanıyor
- HIBP’de 2023’ten beri bir biçimde uygulanıyordu
- E-posta gönderen formlar gibi bot engellemenin önemli olduğu yerlerde, Turnstile başarısız olursa kullanıcıya yeniden denemesi veya sayfayı yenilemesi gerektiği bildiriliyor
- İkinci tıklama veya sayfa reload ile sıkça çözülen durumlar oldu
- Çözülmezse kullanıcının etkileşime girmesini gerektiren daha görünür bir Turnstile widget uygulaması değerlendirilmeli
- Ana arama sayfasında da Turnstile önemli biçimde kullanılıyor
- API endpoint’ine asenkron istek yapılıyor ve challenge token birlikte gönderiliyor
- Challenge başarısız olup HIBP endpoint’i HTTP 401 ve
Invalid Turnstile tokendöndürdüğünde full page post’a fallback yapılması gerekiyordu - Yeni sitenin ilk lansmanında bu fallback çalışmıyordu, ancak sonrasında düzeltildi
- full page post’ta Cloudflare managed challenge gösteriliyor; daha müdahaleci olsa da daha güvenilir
- Cloudflare istatistiklerine göre verilen challenge’ların yaklaşık %82’si başarıyla çözüldü
- Çözülemeyen %18’in önemli bir kısmı Turnstile’ın amaçlandığı gibi engellediği botlar olabilir
- Gerçek insanların engellendiği istekler muhtemelen tek haneli oranlarda; bu oranı düşürmenin yolları izlenmeye devam edilmeli
Henüz yorum yok.