Günümüzde her internet sitesinde gizli de olsa açık da olsa mevcut olan, son yıllarda Google tarafından geliştirilen CAPTCHA nedir? Bu yazımızda, CAPTCHA’nın ortaya çıkışından başlayarak günümüzde geldiği inanılmaz noktayı anlatıyoruz.
Günümüzde her internet kullanıcısı, neredeyse her ziyaret ettiği sitede çeşitli işlemler yaparken, hatta siteye girerken bile başarıyla tamamlamaları gereken bir teste giriyorlar: CAPTCHA. Carnegie Mellon Bilgisayar Bilimleri Okulu’ndaki ekip tarafından geliştirilen bu test, siteyi ziyaret eden kişinin gerçek bir kişi olup olmadığını anlamak için kullanılıyor.
CAPTCHA, bugüne kadar pek çok farklı temayla karşımıza çıktı. Günümüzdeyse bize ya trafik ışıkları seçtiriyor, ya da birkaç resim arasından içinde belli bir nesnenin olduğu resimleri seçmemizi istiyor. Peki, zaman zaman başarısız olup sinir krizi geçirmemizi sağlayan, “Acaba robot muyum ben?” diye düşünmemize neden olan CAPTCHA, hangi amaçla ve nasıl geliştirildi ve günümüze kadar nasıl bir gelişimden geçti? Gelin her gün karşılaştığımız bu testi tanıyalım.
- Not: Teknoloji, sürekli üstüne katarak geliştirildiğinden yazının tamamını okumanızı tavsiye ederim. Aksi halde önemli noktaların bağlantılarını kaçırabilirsiniz.
Öncelikle CAPTCHA nedir?
CAPTCHA, “Completely Automated Public Turing test to tell Computers and Humans Apart (Bilgisayarları ve İnsanları Ayırmak İçin Tamamen Otomatik Genel Turing testi” ifadesinin kısaltmasıdır. Bu testte Turing testinin işleyişinde yer alan sorgulayıcı, CAPTCHA’nın algoritmasının ta kendisidir. Sorgulayıcımıza, CAPTCHA’ya verdiğimiz cevaplarda bizim bir bilgisayar olmadığımızı kanıtlamamız gerekir. Ancak doğru cevap verirsek, Turing testini geçmiş ve istediğimiz içeriğe erişmiş oluruz.
CAPTCHA nasıl ortaya çıktı?
CAPTCHA, Carnegie Mellon Bilgisayar Bilimleri Okulu’nda Luis von Ahn tarafından yönetilen, beraberindeki Manuel Blum, Nicholas J. Hopper ve John Langford tarafından geliştirildi. Sistemi geliştirme fikriyse dev bir şirket sayesinde ortaya çıktı. Luis von Ahn, sistemin geliştirilme hikâyesini kendi ağzıyla anlattı.
2000 yılında, henüz doktorasının birinci yılında olan Luis, o zamanın en dev şirketlerinden Yahoo’nun başmühendisinin verdiği konuşmaya katıldı. Konuşmanın konusu, Yahoo’nun bir türlü çözemediği 10 problemdi. İşte bu problemlerden birisi de Luis ve ekibinin bugün terler dökmemizi sağlayan, yıllar içinde yapay zekâ tartışmaları açan CAPTCHA fikrini ateşledi.
Yahoo, o dönemde milyonlarca e-posta adresi açmak için program yazan kullanıcılarıyla baş etmeye çalışıyordu ve bunun önüne bir türlü geçemiyordu. Yazılan programlar, Yahoo’da yalnızca formu doldurarak e-posta adresi oluşturuyor ve bunu hiç durmadan yapabiliyordu. Koskoca Yahoo, bunun önüne bir türlü geçemedi.
Luis von Ahn ve ekibi de bunun için fazlasıyla mantıklı bir çözümle geldi: Bilgisayarları ve insanları birbirinden ayırt edebilecek bir test. Bu test, her yaştan ve dünyanın her yerinden, kısaca herhangi bir insan tarafından çözülmek zorundaydı, fakat bilgisayarlar bu testi geçmemeliydi. İşin zor kısmı da aslında buydu. Fakat ekip, bunun için insan doğasına başvurdu: Biz, karakterleri ve metinleri kolay bir şekilde hangi şekilde ve ortamda olurlarsa olsun, dili fark etmeksizin tanıyabiliyorduk. Fakat bilgisayarlar, bu karakterleri yalnızca kendilerine gösterilen şekilde tanıyabiliyorlardı. Tabii bu, o zamanın bilgisayarları için geçerliydi. Bu konuya da birazdan değineceğiz.
İlk CAPTCHA sistemi de böylelikle ortaya çıktı:
CAPTCHA’da kullanıcıya gösterilen testlerini ilk sürümü, değişmeyen iki sözcükten oluşan ve şekli bozulmuş bir şekilde gösterilen bir diziydi. Bilgisayara bu sorunun cevabı doğru bir şekilde veriliyor ve kullanıcıdan o cevap isteniyordu. İnsanlar, şekli bozulmuş karakterleri tanıyabilirken bilgisayarlar bu karakterleri tanıyamadığından otomatik olarak algılayamıyorlar, dolayısıyla testi tamamlayamıyorlardı.
Yahoo, CAPTCHA’nın bu ilk sürümünü sorun yaşadığı e-posta oluşturma sayfasında kullanmaya başladı. CAPTCHA’nın eklendiği ilk haftalarda sistem, milyonlarca kez kullanıldı ve gerçekten de insanları bilgisayarlardan ayırmada başarılı oldu. Fakat bu sistemle birlikte aslında büyük de bir sorun oluşmaya başladı: Yapay zekâ, verilen cevaplarla gelişiyor, hatta CAPTCHA cevapları kara borsaya düşüyordu.
CAPTCHA, bilgisayar ve insanı ayırırken bilgisayarı akıllandırdı:
Kullanıcıların CAPTCHA’ya verdikleri cevaplarla birlikte bu cevaplar aslında bir yere kaydoluyordu. Böylelikle bir bilgisayar, cevabı bilinen bir CAPTCHA’yla karşılaştığında o cevabı yapıştırarak testten başarıyla geçiyor, bilgisayar tarafından ‘insan’ olarak tanımlanıyordu. Hatta bu durum o kadar ciddi bir hale geldi ki ‘CAPTCHA çiftlikleri’ kuruldu ve parayla çalışan insanlar, binlerce CAPTCHA çözerek bu testlerin doğru cevaplarını botlar için kaydetti. Böylece CAPTCHA, ikinci sürüme geçmeye zorlandı.
İkinci sürüm CAPTCHA: reCAPTCHA:
CAPTCHA’nın bir sonraki gelişimi 2005’te gerçekleşti. Bu kez CAPTCHA, ‘reCAPTCHA’ olarak isimlendirildi. Bu sürümde artık iki sözcük değişmez değil, bunlardan birisi değiştirilebilir hale getirildi. Sözcüklerden birisi bilgisayarın cevabını bildiği bir sözcük, diğeriyse kitaplardan, makalelerden veya herhangi bir içerikten alınan ve karakterleri düzgün olmayan rastgele bir sözcüktü. Bilgisayar, bu sözcüğün cevabını bilmiyordu. Peki, bilgisayar, bu ikinci sözcüğün cevabının doğru olup olmadığını nasıl anlıyordu?
reCAPTCHA, birisi bilgisayar tarafından bilinen ve diğeri bilinmeyen aynı iki sözcüğü tek bir kullanıcıya değil, birden fazla kullanıcıya gösteriyordu. Böylece birden fazla kullanıcı, aynı soruya aynı cevabı verdiğinden cevap doğru olarak algılanıyordu. Bu süreç boyunca bozuk yazıma yer veren binlerce makale ve kitap elle taranıyor, ikinci sözcük oluşturuluyordu.
Google’ın reCAPTCHA’yı satın alması sistemi daha da akıllandırdı:
2009 yılına gelindiğinde Google, reCAPTCHA’yı satın aldı. Şirketin gerçekleştirdiği ilk işlerden birisi ikinci sözcüğün oluşturulması için gereken taramayı otomatikleştirmekti. Gördüğümüz o eski kitaptan alınmış gibi gözüken gri arka planlı sözcükler, gerçekten de eski kitaplardan alınmıştı. Şirketin bu yöntemiyle metinleri tarayan bilgisayar, sözcüklerin bozuk hallerini tanıyabilir hale geldi. Artık bozuk yazılmış bir sözcük gösterildiğinde bilgisayarlar bunu tanımakta güçlük çekmiyordu. Bilgisayarlar, bozuk metinleri okumayı öğrenmiş oldu.
2014 yılında Google’ın makine öğrenimi alanında gerçekleştirdiği bir test, bilgisayarların ne denli akıllandığını da korkunç bir şekilde ortaya koydu. Bu testin sonuçlarına göre insanlar, bozuk yazılmış sözcükleri %33 oranında doğru okuyabiliyordu. Bir zamanlar genişletilmiş karakterleri bile algılayamayan yapay zekâysa bu testten %99,8 oranında doğruluk sonucu aldı. Böylelikle CAPTCHA yönteminde de devrimsel bir değişikliğe gidildi.
İkinci sürümün ikinci sürümü: reCAPTCHA V2 ve No CAPTCHA reCAPTCHA
Aynı yıl testin ardından reCAPTCHA V2 sürümüne geçiş yapıldı. Bu sürümde artık kullanıcılar metinlerle karşılaşmıyor, günümüzdeki gibi resimlerle karşılaşıyordu. Kullanıcılara belirtilen bir nesnenin bulunduğu görselleri seçmeleri söyleniyordu. Bununla birlikte Google, “No CAPTCHA reCAPTCHA (CAPTCHA Olmayan reCAPTCHA)” ismini verdiği bir sistemi de bununla birlikte yürürlüğe soktu.
O dönemde sistemi kullanan ilk isimler Snapchat, WordPress ve HumbleBundle’dı. Yeni sistemle birlikte kullanıcılar, sitelerde “I’m not a robot (Ben robot değilim)” kontrol kutusunu görmeye başladı. Sistemin çalışma şekliyse aslında zaten teste gelmeden önce kullanıcıları bilgisayarlardan büyük oranda ayırmayı başarıyordu.
“Gelişmiş Risk Analizi” isimli sürekli arkada çalışan bir sistem, kullanıcıların siteyle etkileşimini izliyordu. Evet, internette sürekli izleniyoruz. Hatta sayfada nasıl gezindiğimiz bile kaydoluyor, teknolojileri geliştiriyor. Kullanıcının davranışları, gerçek insandan beklenen davranışlarla uyuşuyorsa, I’m not a robot seçeneğine bastığınızda karşınıza hiçbir test çıkmıyor, insan olduğunuz doğrulanıyordu. Fakat etkileşim bir insanın etkileşimiyle uyuşmuyorsa, yani bilgisayar, siteye bir bilgisayarın girdiğini düşünüyorsa onlara CAPTCHA’yı gösteriyordu. Bu CAPTCHA da reCAPTCHA V2’yle gelen resimli CAPTCHA’lardı.
reCAPTCHA V2’nin resimli doğrulamasıysa elbette yine yapay zekâyı geliştiriyordu. Fakat bu kez verdiğiniz cevaplar ağırlıklı olarak korsanlar tarafından değil, Google tarafından kullanılıyordu. Google, günümüzde bile bir görüntü içindeki nesneleri ayırt edebilmek için bizim CAPTCHA’lara verdiğimiz cevapları kullanıyor. Böylece, örneğin, kendi kendine giden bir araba bir ağacı, bir yangın musluğunu, bir trafik ışığını veya bir yaya geçidini algılayabiliyor. Anlayacağınız, interneti güvenle kullanmamızı sağlayan bu sistem, Google’ın daha da gelişmesini sağlıyor. Kazan – kazan durumu.
Günümüz reCAPTCHA’sı: reCAPTCHA V3
Google, reCAPTCHA’nın yazılar gösteren ilk sürümünü 4 Nisan 2018 tarihinde tamamen kullanımdan kaldırdı. Günümüzde birçok internet sitesi, halen reCAPTCHA V2’yi kullanmaya devam edebiliyor. Fakat fiziksel olarak mevcut olan bu testin yanı sıra bir de 29 Ekim 2018’de piyasaya sürülen reCAPTCHA V3 kullanılıyor. reCAPTCHA V3, reCAPTCHA V2’yi alarak daha da gelişmiş bir hale getirmiş durumda.
2018 yılından bu yana reCAPTCHA V2 yerine V3 kullanan internet siteleri, kullanıcı tarafından herhangi bir etkileşim gerektirmiyor. Bu sitelerde CAPTCHA testi gösterilmiyor. Aksine, internet sitelerinin sahiplerine riskli bir trafikle karşılaşılması durumunda bilgi veriyor. Kullanıcı deneyimi, CAPTCHA tarafından herhangi bir şekilde bozulmuyor. Risklerin giderimi tamamen internet sitesi sahiplerine bırakılıyor.
Bu çalışma mantığını Google’ın örneğiyle anlatmakta fayda var. Bir alışveriş sitesi sahibisiniz ve son zamanlarda sitenize yüksek miktarda trafik girdiğini görüyorsunuz. Fakat bu trafik hiçbir şekilde dönüşümlere çevrilmiyor. Dolayısıyla bunların gerçek müşteri olmadıklarını düşünüyorsunuz. Bu noktada tek bildiğiniz şeyse sitenize yüksek trafik geldiği. Ancak gelen bu trafiğin neyi amaçladığını, sitenizde ne yaptığını bilmiyorsunuz.
İşte reCAPTCHA V3 de tam olarak bunu bilmenizi sağlıyor. Her sayfaya ayrı ayrı eklediğiniz reCAPTCHA V3 sistemi, siteye yapılan her girişi takip ediyor. Örneğin ürün incelemeleri sayfanıza eklediğiniz sistem, size botların yorum yapmak amacıyla bu sayfaya girdiğini gösteriyor. Yapılan her bir işlem reCAPTCHA tarafından puanlanıyor ve site sahibi, gerçek yorumlarla bot yorumlarını ayırt edebiliyor. Botların ayırt edilmesiyse No CAPTCHA reCAPTCHA’da kullanılan, sitedeki etkileşimin gerçek insan etkileşimiyle karşılaştırılması yöntemiyle yapılıyor.
Tüm bu gelişim, Yahoo’nun yaşadığı soruna bir çözüm olarak çıkan teknolojinin günümüzde ne kadar büyüyebileceğini ve yapay zekâya nasıl bir katkı yapabileceğini göstermiş oldu. Aynı zamanda internetteki parmak izimizin de takip edilebilmesi için yeni teknolojilerin de gelişmesine aracı oldu.