CAPTCHA
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 ו־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 שעות כל יום שיכולות להיות מנוצלות לתועלת. עובדה זו גרמה ללואי פון אהן לחשוב על האפשרות להשתמש בכל ההקלדות האלה להעביר ארכיונים שלמים, שלא ניתן לפענח את המילים לטקטס על ידי סריקה, בעזרת שימוש במיקור המונים זה לטקסט דיגיטלי. לדוגמה עיתון The Times, אשר מפורסם משנת 1851 משתמש בשירות זה של החברה של לואי פון אהן כדי להעביר את כל ארכיון העיתונים שלה לטקסט.
אפשר לראות זאת בכך שה-CAPTCHA דורשת להקליד שתי מילים כאשר אחת המילים היא מילה סרוקה ולא ידועה למערכת והמילה השנייה משמשת בתור מבחן טיורינג הפוך כדי לוודאות שהמקליד הוא אדם ולא מחשב. המילה השנייה נבדקת האם היא דומה לתוצאה של מספר מנגנוני OCR, ואם כן ניתן לעבור את המבחן. לאחר מכן המילה נשמרת במאגר ונבדקת מול התשובות של משתמשים שונים ואם כולם ענו בצורה זהה, אפשר להניח שזאת ההקלדה הנכונה ולהכניס למאגר, וכך להמיר טקסטים מודפסים שלמים לטקסטים דיגיטליים.[11]
קישורים חיצוניים [עריכה]
| מיזמי קרן ויקימדיה |
|---|
- אדר שלו, זהו את הקשקוש בתמונה - הכל על Captcha, באתר ynet, 28 במרץ 2008
- שחר סמוחה, מה אתם תורמים לאנושות בכל הקלדת קאפצ'ה? ראיון עם ממציא השיטה, באתר גלובס, 9 במאי 2012
- סקריפט PHP ליצירת CAPTCHA עברי, לשילוב באתרים בעברית (באנגלית)
- חשפנית וירטואלית מסייעת ליצירת ספאם, אתר ה־BBC (באנגלית)
הערות שוליים [עריכה]
- ^ http://tarr.uspto.gov/servlet/tarr?regser=serial&entry=78500434
- ^ Moni Naor (July, 1996). "Verification of a human in the loop or Identification via the Turing Test" (PS). Retrieved on 2008-07-06.
- ^ 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.
- ^ Breaking the PayPal CAPTCHA
- ^ PWNtcha - captcha decoder
- ^ Examples of breakings - CAPTCHA.ru
- ^ Network Security Research and AI
- ^ Dawson (2008-04-15). "Windows Live Hotmail CAPTCHA Cracked, Exploited", Slashdot, SourceForge. אוחזר ב־ 2008-04-16.
- ^ Dawson (2008-02-26). "Gmail CAPTCHA Cracked", Slashdot, SourceForge. אוחזר ב־ 2008-04-16.
- ^ Cory Doctorow (2004-01-27). Solving and creating CAPTCHAs with free porn. Boing Boing. אוחזר ב־2006-08-22.
- ^ http://www.nytimes.com/2011/03/29/science/29recaptcha.html
