HTTP Public Key Pinning, Google Adsense Exploit, Open Source Repo Hazinesi

Invicti Security Team - 29 Ağustos 2017 -

HTTP Public Key Pinning Ölüyor mu? RansomPKP ve PKPSuicide nedir? Google Adsense Exploitinin Perde Arkasında neler var? Github repolarındaki gizli hazineler neler? Telefonlarınız dinleniyor mu? Elinizde birer sonar cihaz mı var?

HTTP Public Key Pinning, Google Adsense Exploit, Open Source Repo Hazinesi

HPKP - HTTP Public Key Pinning Ölüyor mu?

Bu soru 2016 yılında Ivan Ristric tarafından sorulmuş ve DEFCON 2016'da korkutucu birkaç senaryo ile yüzleştikten sonra [1], HPKP'nin çocuk oyuncağı değil, ne yaptığını çok iyi bilen kişilerce konfigüre edilip yönetilmesi gerektiği iyiden iyiye anlaşılmış idi. Hesap edilmeyen en ufak bir ayrıntı dahi kaş yaparken göz çıkarabiliyor, tüm siteyi erişilemez hale getirebiliyordu.[2]

Bir yıl aradan sonra HPKP'nin yokluğunu tolere edebilecek imkanlarımız daha fazla. Certificate Authority Authorization (CAA) [3], Certificate Transparency [4] gibi güvenlik mekanizmaları ile birlikte, HPKP olmadan da izin ve bilgimiz dışında sitemiz adına imzalanmış sertifikalardan haberdar olabiliyoruz. Elbette ki HPKP'nin sunduğu imkan hala çok güçlü. Örneğin HPKP sertifikayı kullanılma anında tespit edip, bağlantıyı sonlandırabiliyor.

Sayacağımız yöntemler böylesi imkanlara sahip değil. Sadece iznimiz dışında imzalanan sertifikalardan haberdar olmamızı, bir yönüyle de henüz imzalanma aşamasında buna rızamız olmadığını belirtmemizi sağlıyor.

Biz sadece kalbi olanlar için HPKP'yi tolere edecek ve bir nebze daha güvenli hale getirecek yöntemler öneriyoruz.

RansomPKP ve PKPSuicide

RansomPKP'de, saldırganların sayfanıza header enjekte edebilecekleri bir zafiyet bulduklarını düşünelim. Header Injection vasıtası ile kendilerinin sahip olduğu bir sertifikayı sizin için pinleyebilirler. Bu sertifikalara sahip olmadığınız için de sitenizin kullanıcıları max-age talimatında belirtilen süre boyunca sitenize erişemezler. Şansınız varsa bir fidye karşılığında saldırganların siteniz için pinlediği sertifikaları satın alabilirsiniz.

PKPSuicide ise, web siteniz için pinlediğiniz fakat bir şekilde erişimi kaybettiğiniz sertifikalar için kullanılan bir tanımlama.

Tıpkı RansomPKP'de olduğu gibi max-age'de belirtilen süre boyunca sayfanıza erişimler engelle karşılaşacaktır.

Bugün tartışmayı web güvenliği dünyasının tozlu raflarından çekip çıkaran ise Scott Helme'in son blog yazısı oldu [5]. Tozlu raflar ve 1 yıl? Evet! Nasıl ki Süleyman Demirel siyaset için 24 saat çok uzun bir zamandır, dedi ise; korkunç bir hızla devinen web dünyası için de 1 yıl o kadar uzundur!

HPKP'yi kısaca özetleyecek olursak:

"Chrome'un 13 versiyonundan itibaren desteklenen bu özellik sayesinde siteler kendi sertifikalarının fingerprint yani hash değerlerini Public-Key-Pinning response headerı ile tarayıcılara bildirebiliyor.

Tarayıcılar bu sertifikaları hafızalarına alıp, bundan sonra bu sitelere herhangi bir istekte bu belirtilen sertifikalar dışında bir sertifika iddia edilirse, güvenli bağlantı kurmayı reddediyor, hatta report-uri opsiyonu ile belirtilen URL'e rapor ediyor.

İşte Public-Key-Pinning özelliği, güvenli iletişim için mecbur olunan otoritelerin, bir şekilde sahte sertifika imzalamaya zorlandığı durumlarda, kullanıcı ve sitelerimizi korumamızı sağlıyor." [6]

Peki HPKP olmadan bu işlemi nasıl yapabileceğiz? Yani yasa dışı sertifika imzalanması için, site sahibinin onayına ihtiyaç duyulmayan bu olasılığı nasıl devre dışı bırakacağız?

İlk tavsiyeye göre, Google'ın önce Ocak 2017'yi milat olarak kabul ettiği, sonra Nisan 2018'e kadar uzattığı Certificate Transparency teknolojisini kullanarak. Buna göre Ocak 2017'den itibaren imzalanan her sertifika genel erişime açık olan bir Certifate Transparency Log'una bu kaydı eklemek zorunda. Belirttiğimiz gibi bu kayıtlar genel erişime açık. Bu logda yapılacak olan taramalar ve alarm sistemleri ile siteleriniz adına herhangi bir CA tarafından imzalanan sertifika olup olmadığını görebilecek, haberdar olabileceksiniz.

Diğer seçenek ise teklif edilen yeni DNS Entry'si CAA (Certificate Authority Authorization).

CAA ile alan adınız için sadece bir sertifika otoritesini sertifika imzalamak için yetkilendirebiliyorsunuz. Bunun dışındaki otoriteler domaininiz (alan adınız) için sertifika imzalamıyor. CAA'yı DNS entryleri üzerinden hali hazırda yapılan sahiplik doğrulamasının, yetki doğrulaması biçimi gibi düşünebilirsiniz. Tabii burada aklımıza iki soru geliyor.

  1. Sertifika otoritesi bu entry'yi nazar-ı dikkate alacak mı? Bütün sertifika otoritelerinin bu entry'ye teveccüh göstermediği biliniyor.[7]
  2. Yetki verdiğimiz CA sitemiz adına birden fazla sertifika imzalarsa?

Tartışmanın hem güncel web güvenlik teknolojilerini tanımak, hem de sitelerimizin karşı karşıya olduğu risk ve tedbirleri hesaplamak için güzel bir imkan olduğu açık.

HPKP ölüyor mu, yoksa sağ mı kalacak bilemeyiz. Ama ölürse cennete gideceği muhakkak.

Google Adsense Exploitinin Perde Arkası

Google Adsense üzerinde exploit bulan kişi ya da kişiler bu sefer Bug Bounty'den daha karlı bir fırsat bulmuşçasına Google’a bildirmek yerine farklı bir yöntem izlemişler.

Buldukları exploit sayesinde Google Adsense reklamlarını tıklanamayacak biçimde yayınlama imkanı bulup Google Adwords'de tıklama başına en yüksek teklifi verip reklamlarının her yerde görüntülenmesini sağlamışlar. Üstelik tek kuruş ödemeden!

Google reklam ağında kısa sürede bir çok görüntüleme alan reklam tespit edilene dek Google Adsense yayıncılarının reklam gelirlerinin değişmesine de neden oldu. Google forumlarındaki artan şikayetler üzerine ise olay aydınlandı.

Zafiyetin ayrıntıları ile ilgili Details On The Google AdSense/Ad Buyer Exploit yazısını okuyabilirsiniz.

Repo Deyip Geçmeyin! Github'da Neler Var Neler!

Açık kaynak koda gönül verenlerin popüler sitesi Github biz güvenlik meraklıları için de büyük bir hazine değerinde.

Bir çok açık kaynak projeye ev sahipliği yapan sitede, geliştiricilerin adım adım dokudukları projelerin tüm ayrıntılarına commit geçmişi ile ulaşabilmek mümkün.

Öyle ki yazılım geliştirme esnasında tanımlanan şifreler, hassas bilgiler zaman içerisinde fark edilip kaynak koddan silinse de commit geçmişinde kalıyor. Dolayısıyla Github vb sitelerdeki repoların commit geçmişi ödül avcıları için hazine değerinde!

Bu düşünce ile yola çıkan bir güvenlik meraklısı hazırladığı bu tool ile Github üzerinde hassas kelimeler aranarak veri ifşası varsa bunlara ulaşmak kolaylaşıyor.

Projenin ayrıntıları için ilgili sayfaya göz atabilirsiniz.

Büyük Birader Bizi Dinliyor

Yer çekimi kuvvetini bulan ünlü filozof Arşimet, bana dünyanın merkezini gösterin, onu yerinden oynatayım, demişti. Muhtemeldir ki hazret bugün yaşasaydı, bana internete bağlı bir cihaz gösterin sizi nasıl izleyebilirler, göstereyim diyecekti.

Washington Üniversitesi Paul G. Allen Bilgisayar Bilimleri ve Mühendislik okulu araştırma takımı, müzik kullanarak vücut hareketlerinin nasıl izlenebileceğine dair araştırmalarını tamamladı. Bu demek oluyor ki, birini izlemek için casus ekipmanlarına sahip olmak gerekmiyor, müzik çalabilen, hoparlör ve mikrofonu olan bir telefon kafi!

11-12 Eylül 2017'de Ubicomp'de sergilenen araştırmada bir akıllı telefon mikrofon ve kulaklığı vasıtası ile yakındaki cisim ve kişilerin vücut hareketlerini algılayabiliyor.

Geliştirdikleri CovertBand programı yardımıyla müziklerin içine gizlenen ufak sinyallerle akıllı telefonların sonar cihazı gibi davranmasını sağlayan araştırmacılar, hususi ortamlarımızda barınan ve hoparlör mikrofon gibi basit donanımlara sahip cihazların ne gibi tehditler barındırabildiğini gözler önüne seriyor.

Araştırmanın ayrıntıları için tıklayınız.