CAPTCHA

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
תמונת CAPTCHA המכילה את צירוף האותיות "smwm"

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

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

מקור השם[עריכת קוד מקור | עריכה]

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

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

היסטוריה[עריכת קוד מקור | עריכה]

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

בשנת 2000 לואי פון אהן ומנואל בלום הרחיבו את הרעיון לכל תוכנה היכולה להבדיל בין אדם למחשב. פון אהן ובלום הראו גם מספר דוגמאות למנגנוני CAPTCHA, כולל המנגנון המסחרי הראשון שאומץ על ידי Yahoo!‎.

על פי הערכת לואי פון אהן 70%-90% מאתרי האינטרנט משתמשים ב-CAPTCHA כולל אתרי בנקים ואתר פייסבוק.

יישומים[עריכת קוד מקור | עריכה]

דוגמאות לטקסט מעוות לשימוש בטפסים אלקטרוניים

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

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

עקיפת המנגנון[עריכת קוד מקור | עריכה]

על מנת לנסות להתגבר על מנגנון ה־CAPTCHA ניתן לנסות ליישם את השיטות הבאות:

יישום לקוי[עריכת קוד מקור | עריכה]

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

שיפור תוכנות זיהוי תווים[עריכת קוד מקור | עריכה]

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

  1. הסרת הרקע.
  2. חלוקת התמונה לתווים בודדים.
  3. זיהוי כל אות בנפרד.

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

מספר יישומי CAPTCHA אשר נמצאים בשימוש נפרצו. דוגמאות אחדות הן אחד היישומיים המוקדמים של Yahoo!‎ שנקרא "EZ-Gimpy", המערכת בה משתמש אתר האינטרנט PayPal‏‏[4] ומספר יישומי קוד פתוח[5][6]. פריצת המערכת של Yahoo!‎ פורסמה בינואר 2008 על ידי גוף בשם Network Security Research‏‏[7], זמן קצר לאחר מכן נפרצו גם המערכות של הוטמייל ו־Gmail‏‏[8][9].

שימוש בבני אדם על מנת לפתור את ה־CAPTCHA[עריכת קוד מקור | עריכה]

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

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

שימוש ב-CAPTCHA לתועלת[עריכת קוד מקור | עריכה]

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

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

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ http://tarr.uspto.gov/servlet/tarr?regser=serial&entry=78500434‏
  2. ^ Moni Naor (July, 1996). "Verification of a human in the loop or Identification via the Turing Test" (PS). Retrieved on 2008-07-06.
  3. ^ Kumar Chellapilla, Kevin Larson, Patrice Simard, Mary Czerwinski (2005). "Computers beat Humans at Single Character Recognition in Reading based Human Interaction Proofs (HIPs)" (PDF). Microsoft Research. Retrieved on 2006-08-02.
  4. ^ Breaking the PayPal CAPTCHA
  5. ^ PWNtcha - captcha decoder
  6. ^ Examples of breakings - CAPTCHA.ru
  7. ^ Network Security Research and AI
  8. ^ Dawson (2008-04-15). "Windows Live Hotmail CAPTCHA Cracked, Exploited", Slashdot, SourceForge. אוחזר ב־ 2008-04-16. 
  9. ^ Dawson (2008-02-26). "Gmail CAPTCHA Cracked", Slashdot, SourceForge. אוחזר ב־ 2008-04-16. 
  10. ^ Cory Doctorow (2004-01-27). Solving and creating CAPTCHAs with free porn. Boing Boing. אוחזר ב־2006-08-22.
  11. ^ http://www.nytimes.com/2011/03/29/science/29recaptcha.html