Yukarıdaki ekran görüntülerine baktığınızda resmi ve güvenli bir site olduğunu düşünüyorsanız yanılıyorsunuz. Chrome tarayıcının şu anki sürümünü (57.0.2987) ya da Firefox’un şu anki sürümünü (52.0.2) kullanıyorsanız siteleri daha yakından incelemek için bağlantılara tıklayın http://www.apple.com https://www.epic.com
Şimdi de orjinal siteleri ziyaret edelim https://www.apple.com http://www.epic.com Internet Explorer ya da Safari tarayıcılarını kullanıyorsanız durumun farkına varmış olmanız gerek.
Size sanki bankanızdan gelmiş gibi bir mail atılmış olsun ve bağlantıya tıkladığınızda bankanın gerçek sitesinde dolaştığınızı sanarken aslında banka sitesini klonlayan saldrıgan arkaplanda bilgilerinizi çalıyor olabilir. Peki yukardaki örneklerde orjinal siteyle sahte arasında ki fark ne? Alan adları aynı görünmesine rağmen nasıl farklı sitelere ulaştık?
Şimdi http://www.apple.com ssl sertifikasına bakalım.
İlk başta Firefox alan adını normalmiş gibi gösterirken sertifikayı görüntülediğimizde www.xn–80ak6aa92e.com adresini görüyoruz. Bu arada büyük bir uyarı yapalım ssl sertifikası olan her site güvenlirdir diye algı var var fakat bu tamamen yanlıştır.
Eskiden sadece kısıtlı karakterlerde alan adı kaydı yapabiliyorduk. İçinde ingilizce karakterler a-z, A-Z, 0-9 ve ‘-” dışında alan adlarını kayıt etmemiz izin verilmiyordu. Bu kural kendi dilimizde alan adı almamızı engelliyordu. Farklı dillerdeki karakterleri de kayıt edebilmemiz için internationalized domain name (IDN) standardı oluşturuldu. Türkçe ya da diğer dillerdeki özel karakterleri içeren alan adları kayıt edebilmemize olanak sağlandı.
IDN standartları, var olan alan adı sistemini yeniden tasarlamaktan ziyade var olanı genişletmeye yönelik oluşturuldu. Bu yüzden unicode’u ASCII şekilde ifade edebilmek için punycode oluşturuldu. Böylece çince ya da türkçe gibi dillerdeki karakterleri punycode ile ascii karakterlere çevirebiliyoruz.
Örneğin özgürmüyüyüz.com alan adını almak istediğimizde zgrmyyz-80a0dcbb.com punycode olarak çevirlir ve ASCII uyumluluğunu belirtmek için başına “xn–” ön eki eklenir. Kısaca özgürmüyüyüz.com karşımıza xn–zgrmyyz-80a0dcbb.com olarak çıkar.
Japonca 天照 (katakana: amaterasu) kelimesini örnek alalım. 天照.com alan adını almak istediğimde ASCII uyumlu xn–rss077c.com’a çevrilir punycode sayesinde de her iki şekilde siteye erişebiliriz.
Punycode’u öğrendiğimzie göre apple’a geri dönelim. apple.com hali hazırda ASCII uyumlu iken sahte sitemiz xn–80ak6aa92e.com olarak gözüktü çünkü “a” karakteri kiril alfabesine göre kayıt edilmiş.
https://unicode-table.com/en/#control-character adresinden 0061. karakter latin alfabesinde ki “a” iken 0430.karakterin kiril alfabesinde ki “а” olduğunu görebilrisiniz.
Firefox ve chrome bir sonraki güncellemelerinde siteleri adres satırında unicode yerine punycode olarak gösterecek böylece bu tarz aldatmaların farkına varabileceksiniz.
Firefoxta güncellemeyi beklemeden tarayıcının gelişmiş ayarlarından punycode görüntülenemsini sağlayabilirsiniz. Bunun için adres satırına about:config yazıp, network.IDN_show_punycode saıtınındaki false değerini true olarak güncelleyebilirsiniz.