BETPIXEL

21 Ağustos 2026 · 5 dk okuma

Görünen her alan adı gerçek değil: punycode ve homograflar

Kiril bir harf, Latin bir harfin yerine geçebilir ve alan adı tanıdık markanın aynısı gibi görünür. Bunu nasıl yakalıyoruz, sen nasıl kontrol edersin?

Şu iki adres ekranda birbirinin aynısı görünebilir: bahissitesi.com ve bаhissitesi.com. İkincisindeki a harfi Latin a değil, Kiril alfabesindeki а harfidir. Aynı çizgi, aynı yükseklik, farklı karakter — ve dolayısıyla tamamen farklı bir alan adı, farklı bir sahip, farklı bir sunucu.

Bu numaraya homograf saldırısı deniyor. Moderasyonda punycode alan adlarını reddetmek yerine işaretlememizin sebebi tam olarak bu: alan adının kendisi kural dışı değil, ama gözle ayırt edilmesi mümkün değil.

Alan adları neden ASCII dışına çıkabiliyor

Alan adı sisteminin altyapısı sadece harf, rakam ve tire tanır. şirket.com.tr gibi bir adres, ağ seviyesinde bu haliyle taşınamaz. Bu yüzden IDN (Internationalized Domain Name) diye bir standart var: tarayıcı, ASCII olmayan karakterler içeren bir alan adını xn-- önekiyle başlayan bir ASCII karşılığına çevirir.

Bu çeviriye punycode deniyor. münih.com adresi ağ tarafında xn--mnih-0ra.com olarak yürür. Çeviri kayıpsızdır ve iki yönlüdür — aynı ad, iki farklı yazım.

Bunda kötü bir şey yok. Türkçe, Almanca, Yunanca, Arapça alan adları bu sayede mümkün. Sorun, standardın izin verdiği karakter havuzunun içinde birbirinin tıpatıp aynısı görünen karakterler olması:

  • Kiril а, е, о, с, р — Latin a, e, o, c, p ile aynı çizilir
  • Yunan ο, ν — Latin o, v ile karışır
  • Bazı yazı tiplerinde büyük I ile küçük l zaten ayırt edilemez

Yani casino.com yazan bir adresin içindeki c, a, s, i, n, o harflerinden herhangi biri başka bir alfabeden gelmiş olabilir ve adres senin ekranında hiçbir fark göstermez.

Yakalamayı mümkün kılan şey, punycode'a çevirmek

İşin güzel tarafı: bu saldırı ancak ekranda çalışır. Adres ayrıştırıcıdan geçtiği anda ortaya çıkar.

Link kaydedilirken adresi bir URL ayrıştırıcısına veriyoruz ve ayrıştırıcı alan adını kanonik forma, yani punycode'a çeviriyor. O noktada:

girilen : bаhissitesi.com   (içinde Kiril а)
kanonik : xn--bhissitesi-zqi.com

Latin harflerden oluşan gerçek bahissitesi.com ise olduğu gibi kalır, çünkü çevrilecek bir şeyi yoktur. Yani kural basit: kanonik alan adında `xn--` varsa, o adreste ASCII dışı en az bir karakter vardır. Gözün yakalayamadığı farkı ayrıştırıcı kesin olarak yakalar.

Bu yüzden kontrolü "adres tanıdık görünüyor mu" diye değil, "kanonik form xn-- içeriyor mu" diye yapıyoruz. Birincisi bir tahmin, ikincisi bir ölçüm.

Neden reddetmiyoruz da işaretliyoruz

Çünkü punycode'un kendisi kötü bir şey değil. xn-- ile başlayan bir alan adının büyük çoğunluğu, adında Türkçe karakter olan ya da Latin alfabesi kullanmayan sıradan bir işletmeye ait. Bunları topluca reddetmek, dünyanın büyük bir kısmına "adını doğru yazarsan reklam veremezsin" demek olur.

Bu yüzden davranış şu:

  1. Link kabul edilir, kayda xn-- formuyla girer.
  2. Moderasyon kuyruğunda işaretli görünür.
  3. Moderatör, adresin ASCII dışı karakterini gerçekten neden taşıdığına bakar.

Bir moderatörün ayırması gereken şey çok net: alan adı kendi dilinde yazılmış meşru bir isim mi, yoksa bilinen bir markanın harfi harfine taklidi mi. Bu ikisi arasındaki fark otomatik bir kuralla ölçülemez; bir insanın markayı tanıması gerekir. Tuvaldeki her görselin zaten bir insan tarafından incelenmesinin sebebi de bu — otomatik kontroller "neyin şüpheli olduğunu" bulur, kararı insan verir.

Reddedilirsen alanını kaybetmediğini de hatırlatalım: red, kiralamanı değil görselini ve linkini reddeder. Yeni bir link ile tekrar yüklersin, kiralama sayacı zaten onay anında başladığı için bu süre senden gitmez.

Bu kontrolün yakalamadığı şey

Dürüst olmak gerekirse xn-- kontrolü, yanıltıcı adreslerin sadece bir türünü yakalar. Tamamen ASCII karakterlerden oluşan ve yine de kandırmayı hedefleyen adresler var:

  • betpixel.art.giris-guvenli.com — gerçek alan adı giris-guvenli.com, baştaki kısım sadece alt alan adı
  • betpixelart.com, bet-pixel.art — tire ekleyerek ya da çıkararak yapılan benzetmeler
  • rn ikilisiyle m harfini taklit eden yazımlar

Bunların hiçbiri punycode değildir ve otomatik bir işaret almaz. Bunları yakalayan şey, alan adının kayıtlanabilir kısmına — yani sondan ikinci ve son parçaya — bakan bir moderatördür. Otomatik kontrolün işi şüpheliyi öne çekmek; ayrımı yapan hâlâ insan.

Sen bir linki nasıl kontrol edersin

Şüpheli bir adres gördüğünde — tuvalde, bir mesajda, bir e-postada — üç pratik yöntem var:

  • Adresi düz metin bir alana yapıştır. Tarayıcı adres çubuğu bazı durumlarda alan adını punycode olarak gösterir; not defteri ya da bir metin kutusu ise karakteri olduğu gibi taşır. Farklı yerlerde farklı görünüyorsa ortada bir şey var demektir.
  • Harfleri tek tek sil ve yeniden yaz. Klavyeden kendi elinle yazdığın adres ile kopyaladığın adres aynı sayfayı açmıyorsa, kopyaladığın adres senin yazdığın adres değildir. Bu, alet gerektirmeyen en hızlı testtir.
  • Alan adının yaşına bak. Tanıdık bir markanın adını taşıyan ama birkaç günlük olan bir alan adı, tek başına yeterli bir uyarıdır.

Bir de şu alışkanlık: bir bahis ya da casino sitesine girerken adresi linkten değil, kendi yer imlerinden aç. Homograf saldırısı bütün gücünü, senin adrese bakıp "doğru görünüyor" demenden alır. Adrese hiç bakmıyorsan saldırının tutunacağı bir yer kalmaz.

Reklam veren tarafında ne anlama geliyor

Kendi alan adında Türkçe karakter varsa bunu kullanmaya devam et, sadece incelemenin biraz uzayabileceğini bil. İşaretleme bir ceza değil, moderatöre verilen bir not.

Süreci hızlandırmak istiyorsan iki şey işe yarar: alan adının ASCII karşılığı varsa (çoğu marka ikisini birden alır) linki onunla ver, ve görseldeki markayla linkin gittiği alan adını birbirine benzet. Moderatörün en çok zaman kaybettiği durum, görselde bir marka görüp linkte alakasız bir alan adıyla karşılaşmaktır.

Sayı tarafına da bakalım, çünkü karar verirken işine yarar. 50 × 20 pixellik bir alan 5 × 2 blok, yani 1.000 pixel, haftada 1.000 dolar. Bunu 4 hafta tutarsan 4.000 dolar ödersin. Bu ölçekte bir yatırımda, linkin incelemede bir gün beklemesi ile reklamın sahte bir adres yüzünden kaldırılması arasındaki fark oldukça büyük. İşaretleme sistemi, ikincisinin hiç olmaması için var.

Pratik özet: xn-- bir suçlama değil, bir uyarı ışığı. Alan adın gerçekse bir şey kaybetmezsin; taklit bir adres ise tuvale hiç giremez.

Reklam kuralları neden var