Botların İnternetteki Trafiği

 

Imperva’nın 2024 Kötü Bot Raporu’na göre, internetteki trafiğin neredeyse yarısı (%49,6) botlar tarafından oluşturuluyor. Bu oran, 2022’ye kıyasla %2’lik bir artışı ifade ediyor ve şirketin 2013’ten bu yana yürüttüğü ölçümlerdeki en yüksek seviyeye işaret ediyor. Dahası, kötü niyetli bot trafiği (spam, hesap ele geçirme ve veri kazıma gibi saldırıların kaynağı) beş yıldır kesintisiz büyümeye devam ederek 2023 itibarıyla %32’ye yükselmiş durumda. Buna paralel olarak insan kullanıcı trafiği %50,4’e gerilemiş bulunmaktadır.

Bu tablo, “Bu bot dalgasıyla nasıl mücadele edebiliriz? Web sitelerimizin güvenliğini ve kullanıcı deneyimini nasıl koruyabiliriz?” gibi soruları beraberinde getiriyor. İşte bu soruların genel cevabı CAPTCHA.

 

 

CAPTCHA Nedir?

CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart), çevrimiçi ortamlarda insan kullanıcılarla otomatik yazılımları (botları) ayırt edebilmek amacıyla kullanılan bir doğrulama mekanizmasıdır. Özellikle form gönderimleri, üyelik işlemleri, anketler, yorum bölümleri ve benzeri alanlarda, kötü niyetli otomatik işlemleri (ör. spam veya veri toplama saldırıları) engellemek ve sistem güvenliğini artırmak için tercih edilmektedir.

CAPTCHA kavramı ilk kez Luis von Ahn, Manuel Blum, Nicholas J. Hopper ve John Langford tarafından gündeme getirilmiş olup (“Telling Humans and Computers Apart Automatically”, 2003), zaman içerisinde farklı ihtiyaçlar ve teknolojik gelişmeler doğrultusunda çeşitli alt türlere ayrılmıştır.

CAPTCHA Türleri

1. Metin Tabanlı CAPTCHA (Text-Based CAPTCHA)

Tanım ve Uygulama Şekli

Kullanıcıya, çeşitli deformasyon teknikleri (eğme, bükme, bulanıklaştırma vb.) uygulanmış harfler, sayılar veya karışık karakterler içeren bir resim gösterilir.

Kullanıcıdan, görselde yer alan karakterleri tanıması ve ilgili alana girmesi beklenir.

Avantajları

  • Uygulama ve entegrasyon açısından yaygın ve basittir.
  • Düşük bant genişliği gerektiren sistemlerde dahi çalışabilir.

Dezavantajları

  • Görme engelli veya düşük görme yetisine sahip kişiler için erişilebilirlik sorunları yaratabilir.
  • Gelişmiş optik karakter tanıma (OCR) teknolojileri zamanla bu tip CAPTCHA’ları daha kolay aşabilir hale gelmiştir.

Örnek Teknolojiler

  • Standart “bozulmuş metin” CAPTCHA uygulamaları.
  • Eski nesil reCAPTCHA sürümleri (reCAPTCHA v1), kısmen bu sistemden yararlanmıştır.

 

2. Görsel (Resim Tabanlı) CAPTCHA (Image-Based CAPTCHA)

Tanım ve Uygulama Şekli

Kullanıcıya, belirli bir nesne veya konsepti (ör. trafik lambası, otobüs durağı, yaya geçidi, kedi, köpek vb.) içeren veya içermeyen resimler gösterilir.

Doğrulama adımında, kullanıcının bu resimleri tanıması ve seçmesi istenir.

Avantajları

  • Kullanıcı etkileşimi açısından daha sezgiseldir; metin okumayı gerektirmediği için birçok kişi tarafından hızlı kavranabilir.
  • Resim tanıma sistemi, OCR tabanlı botlara göre daha farklı bir zorluk seviyesi sunar.

Dezavantajları

  • Görme engelli kullanıcılar için erişilebilirlik kısıtları mevcuttur.
  • Gelişen yapay zekâ ve makine öğrenimi tabanlı görüntü tanıma algoritmaları (ör. CNN tabanlı modeller), bu CAPTCHA’ları da çözebilir hale gelmektedir.

Örnek Teknolojiler

  • Google reCAPTCHA (resim seçme adımı)
  • Bağımsız geliştiricilerin sunduğu “Nesneyi seçin” tarzı çözümler

 

3. Sesli CAPTCHA (Audio CAPTCHA)

Tanım ve Uygulama Şekli

Görsel içerik okumakta zorlanan veya ekran okuyucu kullanan kişilere alternatif olarak sunulur.

Kullanıcıya gürültü (parazit) eklenmiş bir ses dosyası dinletilir. Bu dosyada sayılar, harfler veya kelimeler bulunur.

Avantajları

  • Görme engelli veya yaşlı kullanıcılar için daha erişilebilir bir seçenektir.
  • Metin tabanlı CAPTCHA’lara göre farklı bir doğrulama kanalı sunar.

Dezavantajları

  • İşitme engelli kişiler veya sesli teknolojilere erişimi kısıtlı kullanıcılar için uygun değildir.
  • Otomatik konuşma tanıma (ASR) teknolojilerinin gelişmesiyle birlikte, botların sesli CAPTCHA’ları da çözme potansiyeli artmaktadır.

 

4. reCAPTCHA

Tanım ve Tarihçe

Google tarafından geliştirilmiş bir CAPTCHA hizmetidir. Başlangıçta taranmış kitap sayfalarını insan katkısıyla dijitalleştirmek amacıyla metin tabanlı doğrulama yaklaşımı kullanılmıştır.

Zamanla, kullanıcı deneyimini iyileştirmek ve botlara karşı daha etkin koruma sağlamak üzere güncellenmiştir.

reCAPTCHA Sürümleri

  • reCAPTCHA v2: Genellikle “Ben robot değilim” kutucuğunu tıklama veya resim tanıma adımları içerir.
  • reCAPTCHA v3: Arka planda kullanıcının siteyle etkileşimini analiz ederek bir “risk puanı” çıkarır; çoğu zaman kullanıcıya ek adım göstermeden doğrulama yapılabilir.

Avantajları

  • Gelişmiş bot analiz sistemleri sayesinde yüksek doğruluk oranı sunar.
  • Kullanıcı dostu arayüzlerle metin, resim veya etkileşim ihtiyacını minimuma indirebilir.

Dezavantajları

  • Google altyapısına bağımlılık yaratır.
  • Kullanıcı verilerinin Google’a iletilmesi, gizlilik ve veri koruması açısından eleştiri konusu olabilir.

5. Matematiksel veya Mantık Tabanlı CAPTCHA

Tanım ve Uygulama Şekli

Kullanıcıya basit bir matematik işlemi (ör. “3 + 7 = ?”) veya temel bir mantık sorusu (ör. “Aşağıdaki cümlenin eksik kelimesini tamamlayınız”) yöneltilir.

Kullanıcı, bu soruya doğru yanıtı vererek testi geçer.

Avantajları

  • Farklı dillerde kolayca uygulanabilir ve özelleştirilebilir.
  • Basit işlemler, insan kullanıcılar için genellikle hızlıca çözülebilir niteliktedir.

Dezavantajları

  • Otomasyon sistemleri (web scraping botları veya yapay zekâ tabanlı yazılımlar) tarafından kolayca çözülebilir hale gelebilir.
  • Çeşitlendirilmediği sürece güvenlik seviyesi zamanla düşebilir.

 

6. Etkileşimli (Interaktif) CAPTCHA’lar

Tanım ve Uygulama Şekli

Kullanıcının sürükle-bırak yöntemiyle bir nesneyi doğru konuma yerleştirmesi, bir puzzle’ı tamamlaması veya benzeri etkileşimli bir görevi yapması beklenir.

Algoritma, fare veya dokunmatik ekran etkileşimini izleyerek bot davranışlarından farklılıkları tespit etmeye çalışır.

Avantajları

  • Basit metin veya resim tanımaya göre daha karmaşık olduğu için botların taklit etmesi zor olabilir.
  • Kullanıcı açısından bazen eğlenceli bir deneyim sunabilir.

Dezavantajları

  • Uygulama ve geliştirme maliyetleri diğer yöntemlere göre daha yüksektir.
  • Bazı kullanıcılar (özellikle hareket kısıtlılığı olan kişiler) için kullanımı zor olabilir.

 

Bot’ların İnsanlardan Farkı Nedir?

1.Fare Hareketleri ve Kullanıcı Davranışı

Fare Hareketi Analizi:

Kullanıcının fareyi sayfa üzerinde nasıl ve nerede hareket ettirdiği, tıklama sıklığı ve koordinatları incelenir.

Bir insanın fare kullanım şekli, hız değişimleri, bekleme süreleri ve hafif “zigzag” ya da düzensiz hareketler içerir. Botlar ise genellikle daha “düz çizgi” hareketleri veya sabit hızla ilerleyen senaryolarla script edilmiş olabilir.

Zaman Damgaları (Timing):

Tıklama ve tuş vuruşları arasındaki süre, sayfa yüklemesi ile form doldurma arasındaki gecikme, kaydırma (scroll) davranışı gibi zaman bazlı veriler toplanır.

Bir insan formu doldururken belli belirsiz duraksar (yazım düşünü, imla kontrolü vb.); botlarsa çoğu zaman aniden veya düzenli zaman aralıklarında işlem yapar.

Davranışsal Anormallik Tespiti:

Kullanıcının sayfadaki hareketlerinin normal bir kullanıcı davranışına mı yoksa otomatik bir script’e mi benzediğini anlamak için makine öğrenmesi tabanlı modeller kullanılır.

Örneğin, reCAPTCHA v3 veya Invisible reCAPTCHA, sayfaya girer girmez sadece birkaç yüz milisaniye içinde forma yanıt verip gönderen kullanıcıları “yüksek risk” olarak işaretleyebilir.

2. IP Adresi ve Konum Analizi

IP Reputation (IP İtibar Kontrolü):

CAPTCHA sağlayıcılarının arka planında, milyonlarca IP adresinden gelen önceki isteklerin istatistikleri tutulur.

Belirli bir IP adresi spam, bot faaliyetleri veya şüpheli işlemler için daha önce işaretlenmişse, aynı IP’den gelen yeni istekler de yüksek risk puanıyla değerlendirilir.

VPN / Proxy / Tor Tespiti:

IP adresi, VPN veya proxy sunucusuna aitse, bu kullanıcıya daha zorlu bir CAPTCHA gösterilebilir.

Bazı sistemler konum (coğrafi IP) ile tarayıcı dil ayarları veya saat dilimi uyumsuzluklarını (örneğin, IP’si Almanya’yı gösterirken tarayıcı yerelleştirmesi Brezilya) da anormal davranış olarak değerlendirebilir.

Konum Bazlı Kısıtlamalar:

Bazı hizmetler, belirli coğrafi bölgelere gelen istekleri zaten kısıtlıyor veya daha yoğun denetim uyguluyor. Bu durumda reCAPTCHA veya benzeri testlerin gösterilme oranı artabiliyor.

3. Tarayıcı ve Cihaz Verileri (Fingerprinting)

User Agent Kontrolü:

Kullanılan tarayıcı (Chrome, Firefox, Safari, vb.) ve sürümü, işletim sistemi (Windows, Mac, Linux, Android, iOS, vb.) bilgileri dikkate alınır.

Bot yazılımları genellikle sahte “user agent” bildirimi yapar; ancak güncel CAPTCHA sistemleri bazen JavaScript ile ek doğrulamalar (screen resolution, dil ayarları, font listesi vb.) yapar. Bu “fingerprint” profili, beyan edilen user agent ile tutarsızlık gösterirse şüpheli sayılır.

Tarayıcı Parçacıkları ve Özellik Testleri:

Modern CAPTCHA sistemleri, tarayıcıda Canvas, WebGL, AudioContext vb. API’lerle ufak testler (örneğin, gizli bir şekilde canvas çizimleri) yaparak her cihazın kendine özgü dijital parmak izini (digital fingerprint) oluşturur.

Bir insanın tarayıcısı, donanımına bağlı olarak ufak farklarla bu testlerden “benzersiz” sonuç çıkarır. Botlar aynı headless tarayıcı ayarlarıyla çalışıyorsa, benzer kalıplar tespit edilebilir.

4. Çerezler (Cookies) ve Oturum Yönetimi

Süreklilik ve Tutarlılık:

CAPTCHA sağlayıcıları, kullanıcı çerezlerini takip ederek önceki ziyaretlerinde de benzer davranışta bulunup bulunmadığını inceler.

Aynı bilgisayar ve aynı tarayıcıyla sitede düzenli olarak oturum açan ve CAPTCHA’ları başarıyla çözen kullanıcıları “güvenilir” olarak derecelendirme eğilimindedirler.

Cross-Site Analizi (Büyük Sağlayıcılar):

Google reCAPTCHA gibi büyük sağlayıcılar, farklı web sitelerinde kullandığınız Google hesabı ya da çerez bilginiz üzerinden de sizi tanıyabilir.

Böylece Google, “Bu kullanıcı YouTube’a ya da Gmail’e düzenli olarak giriş yapıyor ve şüpheli etkinlik göstermiyor” gibi ek verileri de risk analizine dahil eder.

 

5. Zaman ve Frekans Takibi (Rate Limiting)

Aşırı İstek (Brute Force/Spam) Tespiti:

Aynı IP veya aynı kullanıcıdan kısa zaman aralığında çok sayıda istek geliyorsa, sistem bunu bot davranışına işaret eden bir metrik olarak kabul eder.

CAPTCHA testinin daha sık gösterilmesi veya tamamen engel (ban) uygulanması bu sırada devreye girebilir.

Form Gönderim Süresi ve Tekrarlanan Denemeler:

Formun doldurulma süresi çok kısa ya da çok uzun olduğunda da şüphe artar (örneğin, 1 saniyede 10 farklı formu doldurmak).

Birçok kez başarısız CAPTCHA girişi de sistem tarafında “istemli mi yoksa gerçekten kullanıcının okuyamadığı bir zorluk mu?” şeklinde analiz edilir.

 

6. Makine Öğrenmesi Destekli Risk Analizi

Puanlama Sistemi (reCAPTCHA v3 gibi):

reCAPTCHA v3, kullanıcılara görünür bir doğrulama kutusu sunmak yerine, kullanıcı davranışı verilerini gerçek zamanlı toplayarak 0 ile 1 arasında bir “risk puanı” oluşturur.

Site sahibi, bu puan eşiğine göre (mesela 0.3’ün altında kalanlar için) ek doğrulama adımları veya klasik CAPTCHA gösterme yoluna gidebilir.

Dinamik Zorluk Seviyesi:

Eğer sistem sizi düşük risk olarak değerlendiriyorsa, basit bir “Ben robot değilim” checkbox’ı bile yetebilir.

Yüksek riskli kullanıcılar ise daha karmaşık resim tanıma testlerine ya da çoklu aşamalı (ör. birden fazla resim seçme, arka arkaya birkaç test) doğrulamalara yönlendirilebilir.

 

Ne Kadar Güvenilir ya da Güvenilir değil?

1. Bot Geliştiricilerin Karşı Stratejileri

CAPTCHA Çözme Servisleri:

“Captcha Solving Services” veya “Captcha Farms” adı verilen hizmetler, gösterilen CAPTCHA görsellerini veya testlerini gerçek insanlara göndererek hızlıca çözüme ulaştırır. Bu servisler sayesinde bot sahipleri, küçük bir ücret karşılığında CAPTCHA sorularını insan yardımıyla atlatabilir.

Bu yöntemle, çok karmaşık görsel CAPTCHA’lar bile belirli bir süre içinde çözülmüş olur. Özellikle yüksek hacimli spam veya saldırı senaryolarında bu bir maliyet unsuru olsa da hâlâ popüler bir yaklaşımdır.

Makine Öğrenmesi ve OCR Teknikleri:

Gelişmiş yapay zeka modelleri, bozuk yazıları tanımakta oldukça ilerledi. Distorsiyonlu metin CAPTCHA’ları bile belli oranda çözmek mümkün.

Resim tabanlı (ör. trafik ışıklarını veya yaya geçitlerini seçme) CAPTCHA’lar da bilgisayar görüşü (computer vision) alanındaki ilerlemeler nedeniyle kısmen çözülebilir hâle geldi. Bot geliştiriciler, TensorFlow/PyTorch gibi çerçeveler üzerinde bu tür modellere yatırım yapabilir.

Davranış Taklidi (Behavior Emulation):

reCAPTCHA v3 veya Invisible reCAPTCHA gibi davranışsal verileri ölçen sistemlerde, gelişmiş botlar insan benzeri fare hareketlerini, klavye gecikmelerini veya rastgele tıklama sürelerini taklit etmeye çalışıyor.

Bu taklitler her ne kadar ilk başta inandırıcı görünse de, CAPTCHA sağlayıcılarının kullandığı çok boyutlu analizler (IP geçmişi, tarayıcı fingerprint vb.) gene de başarısız taklitleri yakalama şansını artırıyor.

 

2. Güvenlik Dayanakları ve Avantajları

Basit Botları Engellemede Etkili:

Özellikle temel seviye spam botlar (ör. forum spam, basit giriş denemeleri) çoğunlukla CAPTCHA engeline takılır. Bu tür botlar CAPTCHA çözme hizmetlerine veya gelişmiş algoritmalara yatırım yapacak kadar “değerli” olmayabilir.

Dolayısıyla sitenizde basit, otomatik form doldurmalı istenmeyen içerik saldırılarının %90’a varan oranlarda önüne geçebilirsiniz.

Risk Analizi Modeli (Özellikle reCAPTCHA):

Google reCAPTCHA gibi servislerin arka planında devasa bir veri havuzu (IP reputation, kullanıcı davranış trendleri vb.) ve makine öğrenmesi modelleri var. Saldırganlar da bu modele takılmamak için daha karmaşık yöntemler geliştirmek zorunda kalıyor.

reCAPTCHA v3 veya Invisible reCAPTCHA ile kullanıcı deneyimini bozmadan davranış odaklı analiz yapmak, botları ekstra zorluyor.

Zaman ve Maliyet Unsuru:

Bir botun CAPTCHA geçmek için profesyonel hizmetler veya gelişmiş yapay zeka modelleri kullanması ekstra maliyet ve zaman gerektiriyor.

Bu, birçok saldırganı “daha kolay hedef” aramaya itebilir ya da saldırı ölçeğini sınırlayabilir.

 

3. Sınırlamalar ve Zayıf Yönler

Kullanıcı Deneyimi / Erişilebilirlik:

CAPTCHA’lar insan kullanıcılar için rahatsız edici olabilir. Görme engelli veya disleksi problemi olan kullanıcılar için özellikle metin tabanlı CAPTCHA’lar büyük zorluk yaratır. Bu yüzden CAPTCHA’ların erişilebilirlik (WCAG vb.) standartlarına uyması çok önemlidir.

Kullanıcı deneyimini iyileştirmek için Invisible reCAPTCHA vb. gibi “arka planda çalışan” sürümler tercih edilir; fakat bu sistemlerin de bazen yanlış “bot” tespiti yapabilmesi mümkün.

%100 Koruma Sunmaz:

Herhangi bir güvenlik sisteminde olduğu gibi, CAPTCHA’lar da aşılabilir. Gelişmiş botlar veya manuel insan emeği ile CAPTCHA atlanabilir.

CAPTCHA, sadece güvenlik katmanlarından biridir. Kimlik doğrulama (MFA/2FA), IP kısıtlama, rate-limiting, WAF (Web Application Firewall) gibi diğer güvenlik önlemleriyle desteklenmesi gerekir.

Makine Öğrenmesi Modelleri Geliştikçe Zorlanma:

CAPTCHA sağlayıcıları, sistemlerini sürekli güncellemek ve yeni zorluklar üretmek zorundadır. Aksi takdirde, bir kere yapay zeka modeline yakalanan bir CAPTCHA türü, bot tarafında “çözülmüş” sayılabilir.

Catpcha Entegresi

1. Proje Ayarları

Google reCAPTCHA v3 için Anahtarlar:
Google reCAPTCHA Admin konsolundan (https://www.google.com/recaptcha/admin) sitenize ait Site Key ve Secret Key alınması gerekmektedir.

Konfigürasyon:
Secret key’i web.config (ya da appsettings.json) gibi bir yapılandırma dosyasında saklayarak, doğrudan kod içerisinde sabit (hard-coded) kullanmamak güvenlik açısından önemlidir.

2. Form ve İstemci Tarafı

3. Sunucu Tarafı – ASP.NET MVC C# ile Doğrulama

3.1. reCAPTCHA Yanıtı İçin Model Sınıfı

3.2. Controller’da Doğrulama İşlemi