เคยสงสัยกันบ้างไหมครับว่า เวลาที่เราที่เราทำกิจกรรมอะไรสักอย่างกับเว็บไซต์ บ่อยครั้งที่จะมี "อุปสรรค" มาคั่น ซึ่งเราต้องจัดการกับอุปสรรคดังกล่าวให้เรียบร้อยก่อน ถึงจะเดินหน้าต่อไปได้ บางทีก็ให้เราแกะคำจากภาพตัวอักษรที่อ่านได้ยาก บ้างก็ให้เราแก้โจทย์คณิตศาสตร์พื้นฐาน หรือไม่ก็มีภาพให้เราคลิกเลือกหา ทางม้าลาย, รถยนต์, ป้ายหน้าร้าน, สัญญาณไฟจราจร ฯลฯ อุปสรรคดังกล่าว ถูกเรียกว่า "CAPTCHA"
CAPTCHA ย่อมาจากคำเต็มๆ ว่า "Completely Automated Public Turing test to tell Computers and Humans Apart" หรือแปลเป็นไทยได้ว่า การทดสอบทัวริง (Turing test) แบบอัตโนมัติเพื่อแยกระหว่างมนุษย์กับคอมพิวเตอร์" มันถูกคิดค้น และเริ่มใช้งานบนโลกอินเทอร์เน็ตมาตั้งแต่ช่วงประมาณปี ค.ศ. 2000
Turing test เป็นวิธีการที่ แอลัน ทัวริง (Alan Turing) ได้เสนอขึ้นในปี คศ. 1950 เพื่อใช้ทดสอบความสามารถของเครื่องจักร ว่ามีความสามารถในการคิดได้เช่นเดียวกับมนุษย์หรือไม่ โดยวิธีการทดสอบคือให้คนทำการพิมพ์บทสนทนาโต้ตอบกับกลุ่มตัวอย่างที่เป็นคน และคอมพิวเตอร์ หากคู่สนทนาไม่สามารถแยกได้ว่าอีกฝ่ายที่คุยนั้นเป็นคอมพิวเตอร์หรือคนได้ ก็ถือว่าเครื่องจักรนั้นผ่านการทดสอบของทัวริง |
โดยในส่วนประโยชน์ของ CAPTCHA นั้นก็เป็นไปตามความหมายของชื่อมันเลย คือ เพื่อแยกแยะระหว่างมนุษย์ และคอมพิวเตอร์ออกจากกัน อ้าว แล้วทำไมต้องแยกล่ะ? หลายคนอาจจะเกิดความสงสัยขึ้น
คำตอบก็ไม่ยากบริการบนเว็บไซต์ต่างๆ ไม่ว่าจะเป็นบริการรูปแบบไหนก็ตาม มันถูกออกแบบมาเพื่อให้ "มนุษย์" ใช้งานเท่านั้น อย่างไรก็ตาม ไม่มีสังคมไหนที่ปราศจากคนไม่ดี โดยเฉพาะอย่างยิ่งบนโลกอินเทอร์เน็ต มีผู้ไม่หวังดีสร้าง Bot (ย่อมาจาก Robot) ขึ้นมา เพื่อให้มันระดมพลังเข้าใช้งานบริการบนเว็บไซต์ด้วยจำนวนครั้งเกินกว่ามนุษย์จะสามารถทำได้
Bot จะเข้าโจมตีเว็บไซต์ต่างๆ ด้วยการ กระหน่ำคำสั่งต่างๆ ผ่านเว็บไซต์เป็นจำนวนมาก ตัวอย่างเช่น หากเป็นเว็บบอร์ด ก็จะเข้าไปสร้างคอมเมนต์โฆษณาในทุกกระทู้, หรือส่งอีเมลขยะเป็นพันๆ ฉบับภายในเวลาไม่กี่ชั่วโมง ฯลฯ นั่นเองที่ทำให้ CAPTCHA ถูกพัฒนาขึ้นมา พูดง่ายๆ เลยก็ CAPTCHA มีไว้เพื่อป้องกันไม่ให้เว็บไซต์โดน Bot สแปม
ภาพจาก https://twitter.com/googlewmc/status/669576220779003905
CAPTCHA แบบดั้งเดิม ที่ปัจจุบันนี้ก็ยังมีเว็บไซต์บางส่วนใช้งานอยู่ จะขอให้ผู้ใช้ดูตัวอักษรที่ถูกบิดเบือนจนเบี้ยว แล้วพิจารณาว่ามัน คือ ตัวอักษรอะไรกันแน่ แล้วพิมพ์ตัวอักษรที่ถูกต้องลงไปในช่องคำตอบ หากเราตอบถูก เว็บไซต์ก็จะอนุญาตให้คุณดำเนินการคำร้องต่อไปได้ แต่ถ้าตอบผิด ก็ต้องตอบใหม่ซ้ำไปเรื่อยๆ จนกว่าจะถูก
ตรรกะของ CAPTCHA ในอดีตจึงเป็นแค่การคาดการณ์ว่า Bot จะไม่สามารถอ่านอักษรภาพออกนั่นเอง มนุษย์สามารถอ่านข้อความด้านล่างได้ไม่ยาก (SMWM)
อย่างไรก็ตาม บ่อยครั้งที่ ผู้ใช้ต้องเจอกับ CAPTCHA แบบภาพด้านล่างนี้ ซึ่งอย่าว่าแต่ Bot อ่านไม่ออกเลย คนทั่วไปยังต้องนั่งเพ่งอยู่นานเลยล่ะ (35536)
ภาพจาก https://twitter.com/sarahdoody/status/569470499710996481?s=20
จากปัญหาดังกล่าว ทำให้มีคนพยายามคิดค้น CAPTCHA แบบใหม่ๆ ขึ้นมา โดยมุ่งเป้าให้มัน "ง่ายขึ้น" ในขณะที่ยังป้องกัน Bot ได้ ซึ่งก็มีอยู่หลากหลายไอเดีย เช่น ใช้วิธีสไลด์ ทำโจทย์เลข ฯลฯ คือ ออกแบบยังไงก็ได้ที่คิดว่า Bot จะอ่านไม่ออก
reCAPTCHA เป็นไอเดียเยี่ยมยอดที่มหาวิทยาลัยคาร์เนกีเมลลอน (Carnegie Mellon University) ได้คิดค้นขึ้นมา จากที่เรากล่าวไว้ก่อนหน้าว่า CAPTCHA บังคับให้มนุษย์พยายามแกะตัวอักษรที่อ่านยากๆ อยู่แล้ว ทำไมเราไม่ให้คนเหล่านี้มาพยายามแกะภาพตัวอักษรที่สแกนจากหนังสือ เพื่อตรวจสอบความถูกต้องของข้อมูลล่ะ ด้วยจำนวนผู้ใช้อินเทอร์เน็ตที่มีอยู่มหาศาล ลองคิดดูสิว่าจะมีแรงงานคนมากขนาดไหนที่ช่วยกันตรวจสอบว่าคำถูกต้องหรือไม่
ข้อมูลคำของ reCAPTCHA จะไม่ใช่กลุ่มคำสุ่มมามั่วๆ แบบ CAPTCHA แต่จะเป็นคำที่ได้มาจากการสแกนหนังสือเก่าที่ต้องการแปลงข้อมูลให้อยู่ในรูปแบบหนังสือดิจิทัล ซึ่งการสแกนหนังสือนั้นจะใช้เทคโนโลยี OCR ในการแปลงข้อมูลภาพ ให้กลายเป็นข้อมูลตัวอักษร อย่างไรก็ตาม โอกาสผิดพลาดก็มีสูงมากเช่นกัน โดยเฉพาะอย่างยิ่งหากเป็นหนังสือเก่าเก็บที่สภาพไม่ค่อยดีนัก
Google เข้าซื้อกิจการของ reCAPTCHA ในปี 2009
หลักการที่น่าสนใจของ reCAPTCHA มีอยู่ว่า จะนำเสนอคำออกมา 2 ชุด โดยหนึ่งในนั้น จะเป็นคำที่ระบบรู้จัก ส่วนอีกคำจะเป็นคำที่ไม่รู้จัก หากผู้ใช้สามารถตรวจสอบคำแรกได้ ระบบก็จะเชื่อมั่นว่าเขาจะพิมพ์คำที่สองถูกด้วยเช่นกัน คำเหล่านี้จะถูกตรวจสอบโดยคนที่เจอกับ CAPTCHA หลายๆ ครั้ง หากมีคนตอบเหมือนกันสัก 100 คน ระบบก็จะเชื่อในคำที่ตอบยังไม่มีอยู่ในระบบ ว่าเป็นคำตอบที่ถูกต้อง
ปัจจุบัน reCAPTCHA แบบที่ให้ผู้ใช้นั่งจ้องแล้วพยายามอ่านคำไม่ค่อยจะได้เห็นกันแล้ว แต่จะเป็นให้เราคลิกใน Checkbox หรือไม่ก็จิ้มเลือกรูปที่กำหนดเสียมากกว่า
ที่น่าสนใจ คือ reCAPTCHA แบบที่เราแค่คลิก Checkbox "I'm not a robot" เพียงอย่างเดียว หลายคนคงจะสงสัยว่ามันมีหลักการทำงานอย่างไร
ความลับในการทำงานของมัน ไม่ได้อยู่ที่ว่าแค่คลิกแล้วมันรู้ว่าเราไม่ใช่ Bot แต่มันจะอาศัยข้อมูลการเคลื่อนที่ของเคอร์เซอร์เมาส์ โดยรูปแบบการเคลื่อนที่ของเมาส์ที่มนุษย์ลากไปคลิก จะมีความแตกต่างจากการเคลื่อนที่ของเมาส์ที่ Bot ควบคุม ซึ่ง reCAPTCHA จะเอาข้อมูลตรงนั้นมาตัดสินว่าผู้ที่คลิกเป็นมนุษย์หรือ Bot อย่างไรก็ตาม หากระบบไม่แน่ใจ พอเราคลิก Checkbox แล้ว ระบบก็จะให้เรายืนยันอีกทีผ่านการเลือกรูปภาพที่กำหนด
อันที่จริงมี reCAPTCHA แบบที่ไม่ต้องกดอะไรเลยด้วยนะ ใน reCAPTCHA เวอร์ชันล่าสุด มันจะอาศัยข้อมูลพฤติกรรมการใช้งานของมนุษย์ และประวัติการใช้งานเนื้อหาบนอินเทอร์เน็ต ในการตัดสินว่าผู้ใช้ในขณะนี้เป็นคนจริงๆ หรือว่า Bot
ว่ากันตามตรง มันก็เหมือนเกมไล่จับหนู แฮกเกอร์สรรหาวิธีมากมายในการแก้ CAPTCHA ตั้งแต่การใช้ฐานข้อมูลในการวิเคราะห์ตัวอักษรที่บิดเบี้ยว ใช้สคริปต์ที่ Bypass ระบบ CAPTCHA ยิ่งไปกว่านั้น มีการพัฒนา AI ขึ้นมาแก้ปัญหา CAPTCHA เลยด้วยซ้ำไป
อย่างไรก็ตาม ก็ปฏิเสธไม่ได้ว่า CAPTCHA ก็ยังช่วยกัน Bot ส่วนใหญ่ได้เป็นอย่างดี
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |