Unicode ve Homograf Saldırıları: Görünmez Tehdit
Adres çubuğunda "apple.com" yazıyor ama aslında Apple'ın sitesinde değilsiniz — nasıl mümkün? Cevap Unicode karakterlerinde gizli. Kiril alfabesindeki "а" (U+0430) Latin alfabesindeki "a" (U+0061) ile birebir aynı görünüyor. Saldırganlar bu benzerliği kullanarak "аpple.com" gibi alan adları kaydedebilir ve siz farkı asla göremezsiniz.
Bu saldırı türüne "homograf saldırısı" deniyor ve Internationalized Domain Names (IDN) sisteminin bir yan etkisi. IDN sayesinde Türkçe "ş", "ç", "ğ" gibi karakterler alan adlarında kullanılabiliyor — güzel bir şey. Ama aynı sistem Kiril, Yunanca veya diğer alfabelerden görsel olarak identik karakterlerin de kullanılmasına izin veriyor.
Modern tarayıcılar buna karşı önlem aldı. Chrome ve Firefox, karma alfabe kullanan alan adlarını otomatik olarak Punycode formatında gösteriyor (xn--...). Yani "аpple.com" yerine "xn--pple-43d.com" gibi bir şey görürsünüz — bu kırmızı bayrak. Ama tüm tarayıcılar bunu aynı titizlikle uygulamıyor ve eski sürümler hâlâ savunmasız olabilir.
Bir linke tıklamadan önce fare ile üzerine gelin ve tarayıcının sol alt köşesinde gösterdiği gerçek URL'yi kontrol edin. Görünen metin ile gerçek hedef farklı olabilir.
Sadece alan adları değil, e-posta adresleri ve hatta dosya uzantıları da Unicode manipülasyonuna açık. Right-to-Left Override (RLO) karakteri kullanılarak "rapor[RLO]fdp.exe" dosyası "raporexe.pdf" olarak görünebilir. Dosya yöneticinizde uzantı gizlenmişse bunu fark edemezsiniz. Windows'ta "Bilinen dosya türleri için uzantıları gizle" seçeneğini mutlaka kapatın.
API Güvenliği ve Token Yönetimi
Her gün kullandığınız uygulamalar arka planda API'ler aracılığıyla iletişim kuruyor. Telefonunuzdaki hava durumu widget'ı bir API'ye sorgu atıyor, sosyal medya uygulamanız başka bir API'den akışınızı çekiyor. Peki bu iletişimler nasıl güvence altına alınıyor? OAuth 2.0 burada sahneye çıkıyor.
OAuth akışı şöyle çalışıyor basitçe: Bir uygulamaya "Google ile giriş yap" dediğinizde, uygulama şifrenizi hiç görmüyor. Google size "Bu uygulama profilinize erişmek istiyor, izin veriyor musunuz?" diye soruyor, siz onaylıyorsunuz ve Google uygulamaya sınırlı yetkili bir token veriyor. Token süresi dolduğunda uygulama refresh token ile yeni bir tane alıyor — şifreniz hiçbir zaman paylaşılmıyor.
Access token'lar genellikle kısa ömürlüdür (15-60 dakika). Çalınsa bile saldırganın kullanabileceği pencere dar. Refresh token'lar ise uzun ömürlü ama daha sıkı korunur — genellikle HTTPOnly cookie'lerde saklanır ki JavaScript erişemesin. Token rotation ile her kullanımda yeni bir refresh token verilip eskisi geçersiz kılınır — çalınan token hemen işe yaramaz hale gelir.
API anahtarları ise token'lardan farklı — genellikle sabit kalır ve rate limiting için kullanılır. Geliştiricilerin en sık yaptığı hata: API anahtarını GitHub gibi açık repoya yüklemek. Botlar saniyeler içinde bu anahtarları tarayıp kötüye kullanabiliyor. Son kullanıcı olarak dikkat etmeniz gereken: bir uygulama aşırı geniş yetki istiyorsa (tüm e-postalarınızı oku, kişilerinize eriş) bu kırmızı bayrak olabilir.
Veri Sızıntısı Tespiti ve Kişisel Bilgi Tarama
2024 yılında dünya genelinde 35 milyardan fazla kayıt sızdırıldı. Sizin e-posta adresiniz veya şifreniz de bu verilerin arasında olabilir — ve muhtemelen haberiniz bile yok. Have I Been Pwned (HIBP) servisi 700'den fazla veri ihlalini takip ediyor ve e-posta adresinizin bunlardan herhangi birinde geçip geçmediğini ücretsiz olarak kontrol etmenizi sağlıyor.
Peki bir sızıntıda olduğunuzu öğrendiğinizde ne yapmalısınız? İlk adım: o sitedeki şifrenizi hemen değiştirin. İkinci adım: aynı şifreyi başka yerlerde de kullandıysanız oraları da güncelleyin. Üçüncü adım: mümkünse iki faktörlü doğrulama ekleyin. Eğer finansal bilgileriniz sızdıysa banka ve kredi kartı ekstrelerinizi yakından takip edin.
Firefox Monitor ve Google'ın Password Checkup aracı da benzer izleme yapıyor. Bazı şifre yöneticileri (Bitwarden, 1Password) karanlık web taraması sunarak sızdırılmış kimlik bilgileriniz dark web forumlarında satışa çıktığında sizi uyarıyor. Paranoyak olmaya gerek yok ama farkında olmak önemli — sızıntı olduktan haftalar sonra bile aksiyon alabilirsiniz, hiç almamaktan iyidir.
Konteyner ve Mikro-Servis Güvenliği
Docker konteynerları "her yerde aynı çalışır" vaadini gerçekleştirdi ama güvenlik tarafında yeni sorunlar yarattı. Bir konteyner imajı yüzlerce bağımlılık barındırıyor — herhangi birindeki açık tüm sistemi riske atabilir. Trivy veya Snyk gibi araçlar imajlarınızı build aşamasında tarayarak bilinen güvenlik açıklarını (CVE) tespit eder.
Konteyner izolasyonu sanal makinelerden daha zayıf çünkü ana sistemin çekirdeğini paylaşıyor. Root olarak çalışan bir konteyner, kernel exploit ile host'a kaçabilir (container escape). Bu nedenle konteynerleri rootless modda çalıştırmak, read-only filesystem kullanmak ve minimal base image seçmek (Alpine Linux gibi) temel güvenlik pratikleri arasında.
Network policy'ler de kritik: varsayılan olarak tüm konteynerler birbirine erişebilir. Saldırgan bir konteyneri ele geçirdiğinde yanal hareket (lateral movement) ile diğerlerine ulaşabilir. Kubernetes network policy veya Docker network segmentation ile "sadece A konteyneri B'ye port 5432'den erişebilir" gibi kurallar tanımlayarak saldırı yüzeyini daraltırsınız.