fbpx
Blogs 9 November 2021

CAPTCHA : Catch Robot if you can

เคยสงสัยหรือไม่ ทำไมกว่าจะเข้าถึงบางเว็บไซต์ เราต้องคลิกหาไฟจราจรหรือทางม้าลายในรูปภาพเก้าช่องก่อน แล้วโลโก้ลูกศรสีเทา ฟ้า น้ำเงิน เรียงเป็นวงกลม พร้อมคำว่า CAPTCHA ที่ปรากฎขึ้นมาคู่กันเสมอ ยามที่ตัวเราถูกยืนยันตัวตนว่า “ฉันไม่ใช่โรบอท” นั่นล่ะ มีความหมายว่าอย่างไร

Captcha i am not a robot vector illustration concept 2579047 Vector Art at  Vecteezy

หลายคนอาจรู้ว่า นี่เป็นระบบความปลอดภัยที่เป็นด่านทดสอบว่าผู้ใช้งานหน้าจอนั้นเป็น “มนุษย์” จึงจะได้รับไฟเขียวให้ไปต่อในธุรกรรมขั้นต่อไป ไม่ว่าจะเป็นการสมัครสมาชิก สมัครบัญชีอีเมลใหม่ และอื่นๆ อีกมากมายที่ผู้ให้บริการไม่ปรารถนาให้โปรแกรมอัตโนมัติเข้ามาแอบแฝง

ทว่าระบบนี้ ยังมีเบื้องลึกเบื้องหลัง ที่หลายคนยังไม่รู้เช่นกันว่า ที่แท้ผู้ใช้งานอย่างเรานี่แหละต้องรับบทเป็นผู้ช่วยเทรนเครื่องจักรให้แสนรู้ขึ้นไปอีก

This captcha message was slightly shocking! | Samsung | catt231 | Flickr

CAPTCHA เป็นคำเรียกขานสั้นๆ ของการอวยยศยาวเหยียดว่า “Completely Automated Public Turing test to tell Computers and Humans Apart” หากสังเกตจะมีชื่อของนักคณิตศาสตร์ระดับตำนานอย่าง Alan Turing อยู่ในนี้ด้วย ผู้ได้รับการยกย่องว่าเป็นบิดาทางทฤษฎีของวิทยาศาสตร์คอมพิวเตอร์ และมีอิทธิพลต่อแนวคิด algorithm ที่ใช้กันในปัจจุบัน และเกี่ยวกับ CAPTCHA ด้วย เพราะ Turing Test เป็นหนึ่งในนวัตกรรมชิ้นเอกของ Turing ในปี 1950 ที่ถูกนำมาดัดแปลงสู่ระบบ CAPTCHA เป็นปฐมบทแห่งการเริ่มทดสอบแยกแยะระดับสติปัญญาของคอมพิวเตอร์ ว่าจะมีความสามารถในการตอบสนองด้วยภาษาอย่างเป็นธรรมชาติใกล้เคียงกับมนุษย์ได้แค่ไหน หลักการทดสอบคือให้มนุษย์ลองป้อนคำถามด้วยข้อความไปหาปลายทาง 2 ฝ่าย คือ มนุษย์และหุ่นยนต์ หากว่าหุ่นยนต์พิมพ์โต้ตอบได้เนียนจนมนุษย์จับไม่ได้ ก็ถือว่าหุ่นยนต์ผ่านการทดสอบฉลุย

ส่วนที่มาที่ไปของการเอา CAPTCHA มาใช้ ต้องย้อนกลับไปทศวรรษ 1990 ในยุคอินเทอร์เน็ตรุ่งเรือง มีเว็บไซต์เกิดขึ้นมากมาย แต่ปัญหาที่วิ่งตามมาเป็นพรวนเหมือนฝูงซอมบี้ คือเหล่าสแปมที่แจ้งเกิดรวดเร็ว จากการเขียนสคริปต์ใช้หุ่นยนต์เข้าไปแฝงตัววนสมัครสมาชิกยิงอีเมลขยะรบกวนผู้ใช้จนล้นระบบ จุดเปลี่ยนมาอยู่ในปี 2000 เมื่อ Luis von Ahn นักศึกษาปริญญาเอกของ CMU เห็นช่องทางการนำ Turing test มาใช้ เริ่มทดลองเขียนโปรแกรมที่ช่วยแยกให้ออกระหว่างมนุษย์กับหุ่นยนต์ Ahn มองว่าคุณสมบัติของมนุษย์ที่เหนือกว่าเครื่องจักรคือ “การอ่าน” หากพอให้เห็นเป็นรูปคำ เขาเชื่อว่าคนย่อมอ่านออกเสมอ ต่างจากเครื่องจักรที่อ่านไม่ได้หากเจอข้อความที่ ถูกบิด หรือขีดฆ่า CAPTCHA ยุคแรกจึงบังคับให้ผู้ใช้งานเล่นทายตัวอักษรหรือตัวเลขยึกยือ เพื่อป้องกันสแปมเข้ามาในระบบ แต่เมื่อหลายคนต่างเอาไปใช้กันมากขึ้น การใช้งานจึงเริ่มไร้มาตรฐาน จนกระทั่งปี 2007 ในรั้วของ CMU อีกเช่นเคย Ahn คนเดิม เพิ่มเติมด้วยแนวคิดใหม่จึงได้เปิดตัว reCAPTCHA เป็นระบบพิสูจน์ความเป็นมนุษย์แบบเหนือชั้นไปอีก

Cloudflare chce skończyć z CAPTCHA. Testuje już nowe rozwiązanie

โดยปกติขั้นตอนยืนยันตัวตนผู้ใช้งานจะใช้เวลาเฉลี่ยไม่เกิน 10 วินาที แต่หากนับรวมการใช้งาน 60 ล้านครั้งต่อวัน จะนับเป็น 1.5 แสนชั่วโมง นับเป็นต้นทุนด้านเวลาที่เสียไปหน่อย ดังนั้น reCAPTCHA จึงมาพร้อมกับแนวคิดยิงปืนนัดเดียวได้นกสองตัว ระบบใหม่นี้จะนำหนังสือในยุคโบราณที่เขียนด้วยลายมือ หรือหนังสือเก่าที่ผ่านการทำซ้ำออกมาแบบบิดเบี้ยวๆ มาเป็นข้อความตรวจสอบแทน คำที่ยังไม่แน่ใจ จะได้รับการตอกย้ำว่าเป็นคำที่ถูกต้อง เพราะผ่านการยืนยันของมนุษย์หลายคนมาแล้ว เท่ากับผู้ใช้เป็นผู้อ่านและแปลหนังสือมาสู่ระบบดิจิทัลโดยปริยาย

ในปี 2009 Google เห็นศักยภาพเทคโนโลยี reCAPTCHA ข้อนี้ และซื้อกิจการโดยไม่เปิดเผยวงเงิน เท่านั้นยังไม่พอ ในปี 2014 Google เริ่มออก reCAPTCHA เวอร์ชั่นใหม่ และใช้การทดสอบเป็นรูปภาพจาก Google Street View แทน โดยให้ผู้ใช้เลือกไฟจราจร ทางม้าลาย รถบัส สะพาน ฯลฯ ซึ่งข้อมูลเหล่านี้จะถูกดึงไปใช้กับการพัฒนา AI ของระบบรถยนต์ขับเคลื่อนอัตโนมัติ Waymo ของบริษัทนั่นเอง แต่เมื่อโรบอทเริ่มพัฒนาตัวเองจนทำให้ระบบดักจับยากขึ้น Google จึงได้นำระบบ No CAPTCHA reCAPTCHA มาใช้ ซึ่งผู้ใช้ไม่ต้องเล่นเกมทายภาพอีกแล้ว แค่คลิกถูกตรงช่องว่า I’m not a robot เท่านั้น ระบบหลังบ้านจะตรวจจับพฤติกรรมการคลิกของผู้ใช้งานแทน

How to hide the Google reCAPTCHA v3 badge | Michael Shore

ในปี 2018 Google เปิดตัว reCAPTCHA เวอร์ชั่น 3 ที่รู้จักกันในชื่อ Invisible CAPTCHA ที่ลดการรบกวนผู้ใช้งาน ด้วยการไปแทรกกิ้งหลังบ้านของผู้ใช้ แล้วให้คะแนนพฤติกรรมต้องสงสัย หากพบว่าน่าจะไม่ใช่มนุษย์แต่เป็นหุ่นยนต์ จึงจะส่งฟีเจอร์ยืนยันตัวตนแบบเดิมให้ทดสอบอีกครั้ง

แม้ว่าจะทำให้ผู้ใช้เข้าถึงเว็บไซต์แบบลื่นไหลไร้รอยต่อมากขึ้น แต่ฟีเจอร์ใหม่ที่ล้วงลึกถึง Cookies ของผู้ใช้งาน ทำให้เกิดข้อครหาว่าอาจล่วงล้ำความเป็นส่วนตัว จึงมีบริษัทอื่นๆ ที่พัฒนาระบบยืนยันตัวตนที่เน้นนโยบายความเป็นส่วนตัวขึ้นมา เช่น hCaptcha ที่ไม่เก็บข้อมูลส่วนตัวของผู้ใช้ และยังเข้าถึงการใช้งานในประเทศจีนได้ด้วย

ในอนาคต นวัตกรรมคัดกรองมนุษย์กับโปรแกรมอัตโนมัติยังมีแนวโน้มพัฒนาในเรื่อยๆ เช่น การใช้กุญแจที่เป็น usb มาใช้ยืนยันตัวตนแทน หรือที่เรียกว่า Cryptographic Attestation of Personhood ซึ่งยังต้องใช้เวลาพิสูจน์ว่าจะตอบโจทย์การใช้งานหรือไม่

ในมุมของผู้ให้บริการ การเลือกว่าจะให้เว็บไซต์มีหรือไม่มี CAPTCHA นั้น ยังเป็นการตัดสินใจที่ท้าทาย เพราะฟีเจอร์นี้อยู่กึ่งกลางระหว่างความปลอดภัยกับอุปสรรคต่อประสบการณ์ใช้งานของลูกค้า (UX : User Experience) สังเกตได้จากเว็บไซต์ออนไลน์ชอปปิ้งที่ไม่นำระบบนี้มาใช้ เพราะต้องการให้จบการขายเร็วที่สุดโดยไม่มีอะไรมาคั่น

ความท้าทายต่อไปจึงเป็นการต้องขบคิดว่าจะพัฒนาระบบตรวจสอบโรบอทอย่างไรให้ไม่กระทบกับประสบการณ์ใช้งาน รวมถึงต้องคำนึงถึงความเป็นส่วนตัวของผู้ใช้ด้วย  

ขอบคุณข้อมูลจาก เน็กซ์ – ธนาธิป โชติพันธ์ Software Engineer จากทีม Digital Excellence & Delivery