9 Kullanıcı TLS'imizi Kesiyor Sandık, Meğer Google'mış
Cert pinning uyarısı 9 'kullanıcıdan' geldi sanıldı; log analiziyle asıl kaynağın Google Play'in otomatik tarama altyapısı olduğu ortaya çıktı.
Bir mobil ekip, ACM'nin sertifika yenilemesi yüzünden yaşadığı kesintiden sonra sertifika sabitlemeyi (pinning) yeniden tasarladı: leaf yerine kök CA'ları sabitleyip uzaktan kapatılabilir bir 'yalnızca rapor' modu ekti. İki gün sonra Sentry'de aynı cihazdan gelen 74 SPKI uyuşmazlığı raporu belirdi; sunucunun gerçek sertifikasıyla eşleşmeyen iki hash, ortada birinin TLS'i kesip kendi sertifikasıyla yeniden imzaladığını gösteriyordu.
Ekip önce bunu zararsız bir kurumsal proxy/antivirüs etkisi sanıp yedek pin ekleyerek kapatmayı düşündü, ama kodun mantığını sorgulayınca yedek pinin bu senaryoda hiçbir işe yaramayacağını fark etti: rapor, zincir işletim sistemi güven deposunda doğrulanamadığı için pin karşılaştırmasına hiç girmeden üretiliyordu. Cihaz parmak izi incelendiğinde x86 mimarisi, gerçekçi olmayan ekran çözünürlüğü ve sabit çekirdek sayısı gibi imkansız değerler ortaya çıktı; 9 'kullanıcı' aslında sahte, aynı gün oluşturulmuş, şehir bilgisi olmayan bir veri merkezi trafiğiydi.
Son adımda, Sentry'nin IP'leri PII olarak temizlemesi nedeniyle üretim API loglarına (X-Forwarded-For, User-Agent) başvuruldu ve zaman damgaları CloudWatch kayıtlarıyla eşleştirildi. Üç ayrı zaman aralığındaki IP'lerin tamamı Google'a ait çıktı; kesinti, kötü niyetli bir aktör değil, Google Play'in her uygulamada çalıştırdığı otomatik tarama altyapısıydı. Olay, root CA sabitleme, uzaktan kapatma anahtarı ve varsayımları veriyle test etmenin önemini gösteren somut bir mühendislik dersi oldu.