- Birden fazla platformda yaş doğrulama sürecini otomatik olarak yetişkin olarak geçen bir betik
- Discord konsoluna kod yapıştırıp çalıştırdığınızda, otomatik olarak
/age-verification/verify API isteği gönderiyor ve doğrulama tamamlandı sayfasına gidiyor
- Twitch, Kick, Snapchat gibi diğer platformlarda da QR kod URL’sini girerek aynı şekilde doğrulama yapılabiliyor
- Bu araç, k-id sisteminin yüz verisi işleme yapısını kötüye kullanarak gerçek bir yüz olmadan da geçerli görünen meta veriler üretiyor
- AES-GCM şifrelemesini ve öngörü veri yapısını kopyalayarak doğrulama sürecini geçiyor; küresel ölçekte yaş doğrulamanın yaygınlaşmasına uygun şekilde hazırlanmış
Discord’daki doğrulama süreci
- Discord web uygulamasının geliştirici konsoluna (F12) belirli bir betiği yapıştırıp çalıştırma yöntemi
- Betik, Discord’un webpack modül önbelleğini çıkarıyor, dahili API istemcisini buluyor ve
/age-verification/verify uç noktasına istek gönderiyor
- İstek sonucunda alınan
verification_webview_url, age-verifier.kibty.town adresine yönlendiriliyor
- Kullanıcı captcha’yı çözdükten sonra sayfada “success” görünene kadar beklerse doğrulama tamamlanıyor
- Bu süreç sonunda Discord hesabı yetişkin olarak doğrulanmış durumda görünüyor
Diğer platformlarda (Twitch, Kick, Snapchat vb.) doğrulama yöntemi
- Her platformun yaş doğrulama sayfasında ‘selfie’ seçeneğini seçip, görüntülenen QR kodun URL’sini kopyalayın
- Bu URL’yi
age-verifier.kibty.town üzerindeki giriş alanına yapıştırıp ‘verify’ düğmesine tıklayın
- Sonrasında doğrulama süreci otomatik olarak ilerliyor ve başarı mesajı gösteriliyor
Çalışma mantığı
- Discord’un kullandığı k-id yaş doğrulama sistemi, yüz videosunu sunucuya göndermiyor; bunun yerine yüzle ilgili meta verileri ve süreç ayrıntılarını gönderiyor
- Bu yapı sayesinde geçerli gibi görünen meta veriler manipüle edilip gönderildiğinde, gerçek bir yüz olmadan da doğrulama geçilebiliyor
- Geçmişte amplitudes’in k-id verifier’ı yayımlandıktan sonra ortak şirket faceassure doğrulamayı güçlendirmişti; ancak bu araç bunu yeni bir yöntemle aşıyor
Teknik ayrıntılı adımlar
- 1. adım: Şifreleme parametrelerini kopyalama
- Meşru bir istekle karşılaştırıldığında eksik olan
encrypted_payload, auth_tag, timestamp, iv değerleri tespit ediliyor
- AES-GCM şifrelemesinde anahtar,
nonce + timestamp + transaction_id üzerinden HKDF(SHA-256) ile türetiliyor
- Aynı yapı yeniden üretilerek eksik parametreler oluşturuluyor
- 2. adım: Öngörü verisini manipüle etme
- Şifreleme kusursuz biçimde kopyalansa da başarısız olunca, doğrulamanın ‘prediction arrays’ (outputs, primaryOutputs, raws) üzerine kurulu olduğu anlaşılıyor
raws verisine dayanarak z-score ile aykırı değerler çıkarılıyor ve outputs ile primaryOutputs üretiliyor
- Ayrıca şu koşullar da doğrulanıyor
xScaledShiftAmt ve yScaledShiftAmt değerleri yalnızca iki olası değerden biri olabiliyor
- Medya adı (kamera), gerçek cihaz listesiyle eşleşmeli
- Durum tamamlama zamanı, zaman çizelgesiyle uyumlu olmalı
- Bu süreçlerin tamamını uygulayan açık kaynak kod yayımlanmış durumda ve herkes inceleyebiliyor
Yayınlanma ve geliştirilme arka planı
- Geliştirici, xyzeva ve Dziurwa’ya, ayrıca önceki ilgili çalışmaları yapan amplitudes’e teşekkür ediyor
- Discord’un Mart ayında küresel yaş doğrulamayı tam kapsamlı olarak uygulamaya koymasının planlandığı, bu nedenle yeni doğrulama atlatma yöntemlerinin araştırıldığı belirtiliyor
1 yorum
Hacker News yorumları
Gerçekten sağlam yöntem, gerçek bir webcam yerine yapay bir video girişi üretmek
Bunu hiçbir platformun engelleyebileceğini sanmıyorum
Platform telefonlardaki gibi spoof edilmesi zor kamera girişi istese bile, yüksek çözünürlüklü bir ekranın önüne kamera koymak yeterli
Bu tür kedi-fare oyunu çok uzun sürmeyecektir
Kusurlu video selfie tabanlı yaş doğrulama aslında herkesin işine geliyor
Mantıklı insanlar ehliyet veya pasaport yüklemek zorunda kalmıyor, platformlar da kullanıcı tutmayı kolaylaştırıyor
Porno siteleri kullanıcı hesabı oluşturup takip ve reklam gelirini artırabiliyor
Politikacılar “yaş sınırlama politikası getirdik” diyebiliyor, ebeveynler de çocuklarının porno izlemediğini sanıp rahatlıyor
Sonuçta herkes kazanıyor
Bu tür doğrulamanın da sonunda o yöne gideceğini düşünüyorum
Muhtemelen Google'ın Play Store'a özel uygulamaları zorlamasının nedenlerinden biri de böyle doğrulanabilir bir yazılım zinciri kurmaktı
Sonuçta bu, tek bir anahtarı çevirmekle çözülecek kadar basit bir mesele
3D haritalamayla birlikte olursa ekrana görüntü yansıtma hilesi işe yaramaz
Sorun, Discord gibi yaş doğrulama hizmetlerinin bunu ciddiyetle denememesi
Ben o oyunu hiç oynamayıp platformu kullanmayı bırakırım
Bu yaklaşımın üç sorunu var
Bu, reverse engineering için harika bir örnek ve mahremiyeti ihlal etmeden doğrulamanın ne kadar zor olduğunu gösteriyor
Kod açık olduğu için rastgele kod çalıştırma sorunu (#3) burada geçerli değil
Şirketler daha istilacı yöntemlerle (#2) karşılık verirse kullanıcılar her zaman başka platformlara geçebilir
Oldukça zekice bir fikir bence
Discord sanki yaş doğrulamayı, düzenleyicilere “çocukları korumak için önlem alıyoruz” diyebilecek kadar gevşetmiş gibi görünüyor
Ama devlet gerçekten ciddi denetim yaparsa bu yaklaşım uzun ömürlü olmaz
Bazı ülkeler zaten daha güçlü biyometrik doğrulama istiyor ve bazı hizmetler mobil uygulama tabanlı doğrulamaya geçiyor
Basit JavaScript tabanlı hileler giderek daha az işe yarayacak
Kodu çalıştırırken hemen çalışan bir fonksiyonla (IIFE) sarmayı öneririm
macOS Safari top-level await desteklemediği için çalışmıyor
Ayrıntı için caniuse.com/wf-top-level-await bakılabilir
Zaten 5 yıl geriden geliyor
Denedim, https://age-verifier.kibty.town/webview?url=null adresine yönlendiriyor
ve
{"error":"error parsing webview url"}mesajı çıkıyorDiscord hesabımın A/B testinde olduğu için farklı doğrulama sağlayıcısı Persona kullanılıyor gibi görünüyor
Aratırsanız daha fazla bilgi bulabilirsiniz
Gerçekten çalışıyor
Discord'dan “yetişkin gruba dahil edildiğiniz” mesajını aldım
(anlatıcı sesi) Ve o anda, hesabının ele geçirildiğini fark etti ;)
11 yıllık hesabımın sorun çıkarmamasını umuyorum ama yüz veya kimlik isterlerse doğrudan hesabı kapatmayı düşünüyorum
Genç kuşağın kendilerine düşmanca davranan hizmetlere neden bu kadar bağlı kaldığını anlamıyorum
Nefret ettikleri platformda kalmanın rahatlığı, alternatif aramanın zahmetinden daha mı büyük?
Günümüzün gençleri terminal ya da dosya yolu kavramlarına bile yabancı
Arama yapabiliyorlar ama alternatifleri kendi başlarına kurmak başka bir mesele
Her şeyden önce, alternatiflerin var olabileceği fikri bile yeterince yerleşmiş değil
Matrix gibi açık platformlar hâlâ özellik olarak yetersiz ve Discord en az kötü seçenek durumunda
Arkadaşlarım orada olduğu için ben de oradayım
Platform değiştirdikçe üyeler azalıyor ve topluluk dağılıyor
“Hafif çaba” denilen şey pratikte topluluğu öldürmek anlamına geliyor
Başka platform kullansanız da orada tek başınıza kalıyorsunuz
Herkesi aynı anda taşınmaya ikna etmek neredeyse imkânsız
Discord'da captcha'yı geçtim ama
{"error":"failed to execute k-id privately action (status=404)"}hatası çıkıyorBen kesinlikle yetişkinim ama bu süreç tam bir saçmalık
Engellenirsem de umurumda değil
İlgili haberlerin özeti
Dijital yaş doğrulamadaki kedi-fare oyunu büyük bir düzenleme yükü yaratıyor
Bu kadar kolay aşılabiliyorsa platformlar sadece regülasyon kutucuğunu işaretlemiş oluyor,
ama gerçekte güven zemini son derece kırılgan kalıyor
Ama şirketler doğrulanmış yetişkin kullanıcı verisine sahip olamayacakları için bunu tercih etmiyor
Ayrıntılar için Google'ın Age Assurance Europe bloguna bakılabilir
Bu tür sistemlerin amacı kusursuz engelleme değil, geniş kitlenin kolayca aşamaması için sürtünme eklemek