SpamChannel: 2 milyondan fazla alan adından sahte e-posta gönderip fiilen Şeytan’a dönüşmek [PDF]
(media.defcon.org)- DEFCON 31 2023 sunumu SpamChannel, Cloudflare Worker ile e-posta göndermeye yönelik bir denemeden yola çıkarak 2 milyondan fazla alan adını hedefleyen sahte e-posta sorununu ele alıyor
- Temel deney, e-posta gönderimini elle değil programlama yoluyla işlemek ve bunu Worker dağıtım akışına bağlamakla başlıyor
- Cloudflare Workers; JavaScript, TypeScript ve WASM tabanlı bir serverless computing ortamı olarak tanıtılıyor
- Temel prosedür,
npm create cloudflare@latestile proje oluşturupnpx wrangler deployile dağıtma akışıdır - Workers’tan e-posta göndermeye dair ipucu, Cloudflare blogundaki MailChannels entegrasyonu yazısından geliyor
SpamChannel sunumunun çıkış noktası
- SpamChannel, DEFCON 31 2023’te Marcello Salvati(@byt3bl33d3r) tarafından sunulan bir PDF olup 2 milyondan fazla alan adından sahte e-posta gönderme konusunu ele alıyor
- Sunumun hedefi, e-posta gönderimini aşağıdaki koşullarda gerçekleştirmek
- E-postayı programlama yoluyla göndermek
- Cloudflare Worker üzerinden göndermek
- Yasal sorumlulukla ilgili olarak “suç işlemeyin” şeklinde bir sorumluluk reddi içeriyor
Cloudflare Workers ve e-posta gönderimi ipuçları
- Cloudflare Workers, serverless computing ortamı olarak tanıtılıyor ve JavaScript, TypeScript, WASM kullanıyor
- Temel kullanım akışı şöyle
npm create cloudflare@latestworker.jsoluşturmanpx wrangler deploy- Dağıtımdan sonra Worker,
https://<YOUR_WORKER>.<YOUR_SUBDOMAIN>.workers.devbiçimindeki adreste kullanılabilir
- Başlangıç dokümanı Cloudflare Workers Get started guide sayfasına bağlı
- E-posta gönderimine dair ipucu, Cloudflare blogundaki Sending email from Workers with MailChannels yazısında bulunabilir
1 yorum
Hacker News yorumları
Sunum videosu: https://www.youtube.com/watch?v=NwnT15q_PS8
Ya da burada da var. Benim Firefox’umda video biçimi çalışmadı ama VLC ile oynatılıyor: https://media.defcon.org/DEF%20CON%2031/DEF%20CON%2031%20vid...
https://www.youtube.com/watch?v=61PIOBp30vA
https://www.youtube.com/watch?v=eODw4t4WaCw
SPF, bu sunumda ele alınandan çok daha fazla şekilde bozuk. E-posta güvenliği güçlendirme/teslim edilebilirlik destek mühendisi olarak çalışan biri olarak tavsiyem her zaman SPF’den ziyade DKIM + DMARC’a odaklanmak yönünde
Eski sistemlerle uyumluluk nedenleriyle SPF hâlâ gerekli, ancak teslim edilebilirlik ya da kimliğe bürünmeyi önleme için ona güvenilmemeli
54. slayt DKIM + DMARC’ın bu saldırıya yardımcı olmadığını söylüyor ama bu tamamen doğru değil
DMARC
p=rejectpolitikasını ancak yetkilendirdiğiniz tüm göndericilerde DKIM’i yapılandırdığınızda güvenle açabilirsiniz; o seviyeye geldiğinizde, üçüncü taraf göndericiler için SPF’yi devreden çıkarmaya başlamak üzere SPF’de?nötr niteleyicisini kullanabilirsinizÖrneğin
v=spf1 include:relay.mailchannels.net ~all,v=spf1 ?include:relay.mailchannels.net ~allolurBöylece MailChannels’tan gelen postalar, DMARC destekleyen alıcılarda SPF açısından nötr işlenir ve DKIM’i kullanmaya yönelir; eski legacy posta hizmetleri de nötr sonucu kabul etmelidir
Mükemmel bir çözüm değil, ama e-posta zaten hiçbir zaman %100 güvenilir ya da güvenli olamaz
Ben SPF’yi yalnızca
$myIP’ye izin verecek şekilde ayarlıyordum. Benim alan adımla spam göndermek için önce ISP’mi ya da kayıt kuruluşumu ele geçirmeleri gerekir; o noktada alan adım için TLS sertifikası da alabilirlerBirden fazla gönderim sistemini izin listesine almak zorunda olan büyük kuruluşlarda bile, DKIM kayıtlarını sahtelemek mümkün değilken meşru SPF göndericilerinden biri gibi davranmanın yolunu bilmiyorum
Gönderilen sunumdaki gibi herkesin herkese açık şekilde kullanabildiği IP aralıklarını izin listesine almak basitçe aptalca bir yapılandırma
Tüm posta alışverişini sahtelemek için birkaç baytlık tek bir e-posta karşılığında terabayt ölçeğinde trafik gerekir ve STARTTLS zorunluysa bu imkânsız hale gelir
Prodüksiyonda Cloudflare Workers + MailChannels kullanıyoruz. Tüyler ürpertici
Zaten CF Workers’tan gerçek sunucuya taşıma üzerinde çalışıyorduk; şimdi sanırım MailChannels’tan da ayrılmamız gerekecek
Güvenlik riski, sağladığı kolaylığa değmez
_mailchannelskaydını yayımlamazsanız Workers üzerinden MailChannels aracılığıyla e-posta gönderemiyorsunuz“DKIM imzası olmayan ama DKIM’i uygulayan bir alan adından gelen tüm e-postalarda banner gösterme” fikri, anladığım kadarıyla çoğu durumda imkânsız. Çünkü bir alan adının DKIM’i uygulayıp uygulamadığını kesin olarak bilmenin bir yolu yok
Teorik olarak
"_domainkey.example.com"için DNS sorgusu yapıp NXDOMAIN mı NOERROR mı döndüğüne bakabilirsiniz. İkincisi genellikle alt alan adı olduğu anlamına gelir ve dolayısıyla DNS’te bazı DKIM anahtarları bulunduğu anlamına gelebilirAma selector adını bilemezsiniz; o anahtarın etkin mi olduğu yoksa ileride etkinleştirilmek üzere mi durduğu da bilinemez
Bir alan adında birden fazla yetkili gönderici olabilir; bazıları DKIM imzası kullanırken bazıları kullanmayabilir
Tüm DNS sunucuları standardı düzgün izlemediği için NXDOMAIN/NOERROR ayrımı da ancak genel olarak işe yarar
Alıntılanan cümle, MailChannels’tan gelen ve DKIM imzası olmayan postaları reddetmeyi öneriyor gibi görünüyor
“MailChannels’ın başlıca müşterileri, gönderdikleri e-postaların alan adlarına sahip olmayan web hosting sağlayıcılarıdır” ifadesi, bir süredir duyduğum en kötü mazeretlerden biri
Web hosting sağlayıcıları genelde barındırdıkları alan adlarının “sahibi” değildir, ama hangi alan adlarını barındırdıklarını kesinlikle bilirler. Alan adlarını müşteri hesabına/dizine yönlendirmek web hosting’in özüdür
Gereken şey, cPanel gibi bir entegrasyonla alan adı listesini raporlamak ve her alan adını rastgele üretilmiş bir anahtara bağlamak kadar basit
Tüm bunlar son kullanıcıyı uğraştırmadan otomatikleştirilebilir ve öyle de olmalıdır
DMARC belirtiminin evrilip doğrulamada SPF değil yalnızca DKIM kullanılmasını sağlayacak bir yol sunması iyi olurdu. Ne yazık ki Google Calendar davetleri gibi şeyler hâlâ DKIM’de başarısız oluyor
https://mailarchive.ietf.org/arch/msg/dmarc/PDktxOYkB28k6ukL...
Alan adı sahibinin DMARC kullanırken “alan adımın trafiğini gerçekten doğrulayan mekanizma yalnızca DKIM olsun” diye belirtebilmesi bence çok iyi bir fikir
Sektörde, SPF ve DMARC zayıflıklarını etrafından dolanmanın birçok yolu var; örneğin kimlik doğrulamayı yalnızca SPF yorumlama anında bilinebilen ölçütlere göre dinamik olarak ayarlayan SPF makroları gibi
Ama hiçbir geçici çözüm, “alan adım için lütfen yalnızca DKIM kullanın” demekten daha iyi değil
Kısa süre önce kendi alan adımın e-posta hazırlığını bizzat yaşadım; özellikle de “kendi ekipmanından e-posta göndermek istiyorsan işletme hesabın olmalı” diye karar veren ISP yüzünden çıldırtıcı derecede bunaldım, böyle şeyler gerçekten insanı öfkelendiriyor
Ağın sorumlu bir üyesi olmaya canla başla çalışıyorum; sistemimi düzgün ayarlamak için mevcut en güncel seviyeye kadar inip didik didik ettim
Ama böyle insanların yalnızca var olmakla kalmayıp fiilen açık relay gibi gevşek biçimde çalıştırması ve internetin neredeyse yarısının bunun bedelini ödemesi akıl alır gibi değil
Özetle, birçok SPF kaydında yer alan açık relay’leri buldukları söyleniyor
DEFCON sunumu devasa bir deliğin varlığını kanıtlamadı; internet e-postasının ilk günlerinden beri var olan bir gerçeği gösterdi
S/MIME veya DKIM gibi ileti imzaları kullanmadan gönderen alan adını yeterince doğrulamak mümkün değil
DKIM olsa bile DKIM yeniden gönderim saldırısıyla geniş çaplı kötüye kullanım mümkün
ARC başlıklarının spam puanına etkisi ilginç. Kişisel posta sunucusu işleten biri olarak, e-postalarıma anlamsız bir ARC başlığı seti eklemem bile teslim edilme oranını artırabilir mi?
Organize ve bilgili spam gönderenler bu tür şeylerin tamamını kurcalıyor olmalı ve bunları aşmak için kullandıklarına şüphe yok
Bu durum Mayıs 2022’de de zaten doğrulanmış gibi görünüyor: https://news.ycombinator.com/item?id=30533032
“Geniş kapsamlı spam ve phishing tespit yeteneklerimiz var ve kötüye kullanımı ele alabiliriz”
Ah, tabii :D