CAPTCHA

CAPTCHA במחשבים הוא מבחן אתגר מענה (challenge-response) שמטרתו להבטיח שהתשובה אינה מופקת באמצעות מחשב. במנגנון מעורב בדרך כלל מחשב המייצר שאלה אקראית, כזו שלאדם קל לענות עליה אך למחשב קשה מאוד. מבחן CAPTCHA בדרך כלל מבקש מהמשתמש להקליד אותיות או מספרים המופיעים בצורה מעוותת על המסך.

CAPTCHA הוא סוג של מבחן טיורינג, שבו מחשב ממונה על הבדלה בין אדם למחשב, בשונה ממבחן טיורינג הקלאסי בו אדם באמצעות שיחה ושאלות מנסה להבדיל בין מחשב לאדם.

מקור השם 
את השם CAPTCHA טבעו לראשונה לואי פון אהן, מנואל בלום, ניקולאס ג' הופר מאוניברסיטת קרנגי מלון וג'ון לנגפורד מ־IBM. השם הוא ראשי התיבות של "Completely Automated Public Turing test to tell Computers and Humans Apart", ובעברית: "מבחן טיורינג ציבורי אוטומטי לחלוטין להבחנה בין מחשבים ובני אדם". אוניברסיטת קרנגי מלון ניסתה לרשום את השם כסימן רשום אך ויתרה על הרעיון.

האקדמיה ללשון העברית קבעה את המונח אימות אנוש לקפצ'ה.

היסטוריה 
שתי קבוצות טענו שהן הראשונות לפתח מנגנון CAPTCHA : קבוצה אחת מחברת AltaVista שכללה את אנדרי ברודר ועמיתים על מנת למנוע מבוטים להוסיף כתובות URL למנוע החיפוש. כדי ליצור תמונות עמידות לסריקת OCR (זיהוי תווים אופטי) הצוות חקר מצבים שסריקתם הניבה תוצאות גרועות. קבוצה שנייה כללה את לואי פון אהן ומנואל בלום אשר הרחיבו את הרעיון לכל תוכנה היכולה להבדיל בין אדם למחשב. פון אהן ובלום הראו גם מספר דוגמאות למנגנוני CAPTCHA, כולל המנגנון המסחרי הראשון שאומץ על ידי .

אולם המחלוקת הוסרה דווקא על ידי קבוצה שלישית שכללה את גילי רענן וערן רשף, אשר עבדו במסגרת חברת סנקטום על פיתוח קיר אש ליישומי אינטרנט, אשר הגישה בקשה לפטנט בשנת 1997שכותרתה הייתה: "מערכת להפרדה בין אדם למכונה" והתבססה על שימוש ביכולות חישה אנושיות היעילות בהרבה משל מחשב.

יישומים 

היישום הנפוץ ביותר של CAPTCHA הוא בטפסים אלקטרוניים באתרי אינטרנט, שם מתבקש המשתמש לזהות טקסט מעוות ולהקליד אותו בתיבה לפני שליחת הטופס, וזאת על מנת למנוע התקפות DoS או מילוי טפסים ממוכן. מערכות המעוניינות למנוע שימוש על ידי מכונה (הצבעה, דירוג וכו') משתמשות ב־CAPTCHA כדי לוודא שהמשתמשים בהן הם בני אדם.

שימוש מקורי ב-CAPTCHA נעשה בפרויקט reCAPTCHA: מערכת reCAPTCHA מציגה לגולש CAPTCHA הכוללת מילים שלא זוהו על ידי תוכנות לזיהוי תווים אופטי, ובכך מסייעת בהמרת טקסטים מודפסים לפורמט דיגיטלי.

עקיפת המנגנון 
על מנת לנסות להתגבר על מנגנון ה־CAPTCHA ניתן לנסות ליישם את השיטות הבאות:
 ניצול פרצות אבטחה או באגים המאפשר לעקוף את המנגנון.
 שיפור תוכנות זיהוי תווים אופטי.
 שימוש בבני אדם עבור חלק מהעקיפה.

יישום לקוי 
כמו בכל מערכת אבטחה, יישום לקוי או לא מלא של המערכת עלול לחשוף פרצות אבטחה הניתנות לניצול בידי תוקפים. במקרים אלה, הבעיה אינה בבסיס התאורטי של המערכת אלא באופן בו מממשים את המערכת כך שגם במערכת חזקה באופן תאורטי, מתקיימות בעיות מעשיות הנובעות מתכנון או ביצוע לקויים.

שיפור תוכנות זיהוי תווים 
מספר מחקרים ניסו להתמודד עם הבעיה בזיהוי תווים במערכות CAPTCHA ויזואליות על ידי שימוש ברעיונות הבאים:
 הסרת הרקע.
 חלוקת התמונה לתווים בודדים.
 זיהוי כל אות בנפרד.

שלבים 1 ו־3 יכולים להתבצע בקלות על ידי מחשב. נכון ל-2012, בני אדם עדיין יכולים להפריד את האותיות בתמונה באופן טוב יותר מאשר מחשבים. במערכת בהן הרקע מורכב מצורות הדומות לאותיות והאותיות מחוברות ביניהן על ידי צורות אלה, קשה עדיין להפריד את האותיות באופן אוטומטי באמצעות מחשב. מסיבה זו, יישומי CAPTCHA חזקים יתמקדו בחלוקת התווים כדי להקשות על הפיצוח.

מספר יישומי CAPTCHA אשר נמצאים בשימוש נפרצו. דוגמאות אחדות הן אחד היישומיים המוקדמים של  שנקרא "EZ-Gimpy", המערכת בה משתמש אתר האינטרנט PayPal ומספר יישומי קוד פתוח. פריצת המערכת של  פורסמה בינואר 2008 על ידי גוף בשם Network Security Research, זמן קצר לאחר מכן נפרצו גם המערכות של הוטמייל ו־Gmail.

שימוש בבני אדם על מנת לפתור את ה־CAPTCHA 
בשיטה זו ניתן לבנות בוט הממלא באופן אוטומטי את הטופס וכאשר הוא מגיע לחלק בו צריך לפתור את ה־CAPTCHA הוא מעביר אותו למפעיל על מנת שיפתור אותו.

שיטה נוספת שניתן ליישם היא שימוש ב־CAPTCHA שהתקבל מאתר אחד באתר אחר השייך לפורץ, וכך הגולשים באתר פותרים את ה־CAPTCHA עבור הבוט אשר מעביר את הפתרון לאתר אליו הוא מעוניין לפרוץ.

שימוש ב-CAPTCHA לתועלת 
כאשר הערכות השימוש ב-CAPTCHA עומדות על 200 מיליון ביום, לפי חישוב של 10 שניות לכל אחד, מתבזבזות 500,000 שעות כל יום שיכולות להיות מנוצלות לתועלת.
עובדה זו גרמה  ללואי פון אהן לחשוב על האפשרות להשתמש בכל ההקלדות האלה להעביר ארכיונים שלמים, שלא ניתן לפענח את המילים לטקסט על ידי סריקה, בעזרת שימוש במיקור המונים זה לטקסט דיגיטלי, ופיתח את reCAPTCHA. לדוגמה עיתון The Times, אשר מפורסם משנת 1851 משתמש בשירות זה של החברה של לואי פון אהן כדי להעביר את כל ארכיון העיתונים שלה לטקסט.

אפשר לראות זאת בכך שה-CAPTCHA דורשת להקליד שתי מילים כאשר אחת המילים היא מילה סרוקה ולא ידועה למערכת והמילה השנייה משמשת בתור מבחן טיורינג הפוך כדי לוודא שהמקליד הוא אדם ולא מחשב.
המילה השנייה נבדקת האם היא דומה לתוצאה של מספר מנגנוני OCR, ואם כן ניתן לעבור את המבחן. לאחר מכן המילה נשמרת במאגר ונבדקת מול התשובות של משתמשים שונים ואם כולם ענו בצורה זהה, אפשר להניח שזאת ההקלדה הנכונה ולהכניס למאגר, וכך להמיר טקסטים מודפסים שלמים לטקסטים דיגיטליים.

קישורים חיצוניים 

 

 
 סקריפט PHP ליצירת CAPTCHA עברי, לשילוב באתרים בעברית 
 חשפנית וירטואלית מסייעת ליצירת ספאם, אתר ה־BBC

הערות שוליים 

אבטחת מחשבים
מבחנים
ראשי תיבות וקיצורים