הורגים את ה Captcha - חלק א'

חלק ראשון - למה מבחן הCaptcha כולל כשל מובנה בתוכו ומה באמת הבעיה האמיתית בשימוש במבחן הזה.

אסף טרפיקנט | 08 דצמבר, 2013

אני סובל מ Captcha.
אותו מבחן טיורינג שמתיימר להבחין ביני לבין מכונה. אותו מבחן שבא "להגן" על בעלי האתרים מספאם ושאר מחלות מרושעות התוקפות את הטפסים התמימים באתר ומייצרים פניות סרק או גרוע מזה, תגובות פיקטיביות למאמרים. זה אותו מבחן שמונע ממני לשלוח טופס עד שאוכיח לו את אנושיותי. ומדוע אני אומר אנושיות? לא רק כי זה מבחן טיורינג במובן הרשמי שלו, אלא בעיקר מהסיבה שמעל לכל חידה כזו כתוב משהו כמו "האם אתה אנושי?" או באנגלית Are You Human?
והרי מה היא אנושיות לפי המבחן הזה? אנושיות היא לא היכולת לפענח טקסט, אנושיות היא היכולת לבצע משימה שרובוט (או Bot), סקריפט אוטומטי, אינו יכול לעשות. ומה אין ל Bot? עיניים. לכן כל המשימות מוצגות בקובץ תמונה. אבל האמת היא שזה "לכאורה" גדול מאד כי כבר כמה שנים ישנם מנגנונים שעוקפים את מבחן זיהוי האותיות, ופה מתחיל הסיפור להסתבך.

badcaptcha1

אז מי אנושי יותר?

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

captcha3

כשלון טוטאלי

יצרני מבחני הקפצ'ה , ששמו לב שהמבחן הפך להיות קל מדי (עבור הרובוטים!), החלו להקשות את החידות. כך נוצר מעגל קסמים בו מצד אחד השאלות נהיו קשות יותר ומצד שני הפתרונות ממשיכים להגיע מצד Captcha hackers.
התוצאה של מעגל הקסמים הבלתי אפשרי הזה, היא פגיעה ישירה בבני האדם הרגילים, האמיתיים, שלא מצליחים לפענח את הקפצ'ה. אז יצרני הקפצ'ה יצרו כפתור המאפשר לגולש התמים לבקש "חידה" חדשה או שהמערכת תשמיע ותקריא את האותיות.
לטעמי, עצם קיום הכפתור הנ"ל מצביע על כשלון הקפצ'ה. הצד המייצר את החידות מודע לכך שיש שאלות קשות מדי ולכן נותן הזדמנויות נוספות. הצד העונה (או זה שאמור לענות) מודה בעצם הלחיצה, שאינו מסוגל לפתור את החידה ומבקש אחרת. אם שני הצדדים מודים בכשלון המערכת – אז מדוע המערכת עדיין שם? האם באמת זהו הפתרון הטוב ביותר?

אמא ואבא וכל השאר

לא מעט פעמים אני ממש מתקשה לפתור את הקפצ'ה. לא ברור לי עם ה N מחובר ל M או שמא מדובר ב V הצמוד ל W. והאם זה B או 8 שצמוד לאות I? ותגידו, האם צריך אותיות קטנות או גדולות?
אגב, אם תחפשו בגוגל את המחרוזת Worst captcha תקבלו מאות אתרים האוספים ומתעדים חידות זוועתיות שנראות במקרה הטוב כמו קשקוש אקראי. אבל זה שעבורי המבחנים האלו קשים לפעמים וממש מונעים ממני להירשם לשירותים שונים, זה לא אומר כלום. ייתכן ואני האידיוט היחידי.
ואגב, אם לי זה קשה, מה יעשו אותם דיסלקטים, בעלי קשיי ראייה ובעלי מוגבלויות שגם קריאת טקסט רגיל באתר היא משימה מאמצת ממילא. מה, הם לא יכולים להיות לקוחות שלכם? איפה עקרון הנגישות כאן?

עכשיו אולי היה אמור לבוא פרק בו אני מספר לכם שלקחתי כיתה של 100 איש ונתתי להם קפצ'ה לבדיקה וכולם נכשלו. ואז אני אמור לספר לכם על כל מיני פתרונות חליפיים שמקום טקסט בלתי קריא מבקשים מהגולש להקליק על החיה שיש לה פרווה או להקליק על החפץ שיש לו ארבע רגליים וכל מיני חידות ששוב מבקשות שתוכיחו את אינטליגניציית העל שלכם.
אז לא עשיתי את זה, כי השאלה שלי הייתה הרבה יותר מהותית.
בתחילת המאמר נראה אולי כי יצאתי מנקודת הנחה שהבעיה היא שהחידות קשות מדי, אבל זה לא נכון. השאלה האמיתית היא: כמה בכלל מבינים שזה מבחן?

לחלק ב' של המאמר לחצו כאן

אסף טרפיקנט
רוצה לקרוא אחר כך?

חלק ראשון - למה מבחן הCaptcha כולל כשל מובנה בתוכו ומה באמת הבעיה האמיתית בשימוש במבחן הזה.

אני סובל מ Captcha.
אותו מבחן טיורינג שמתיימר להבחין ביני לבין מכונה. אותו מבחן שבא "להגן" על בעלי האתרים מספאם ושאר מחלות מרושעות התוקפות את הטפסים התמימים באתר ומייצרים פניות סרק או גרוע מזה, תגובות פיקטיביות למאמרים. זה אותו מבחן שמונע ממני לשלוח טופס עד שאוכיח לו את אנושיותי. ומדוע אני אומר אנושיות? לא רק כי זה מבחן טיורינג במובן הרשמי שלו, אלא בעיקר מהסיבה שמעל לכל חידה כזו כתוב משהו כמו "האם אתה אנושי?" או באנגלית Are You Human?
והרי מה היא אנושיות לפי המבחן הזה? אנושיות היא לא היכולת לפענח טקסט, אנושיות היא היכולת לבצע משימה שרובוט (או Bot), סקריפט אוטומטי, אינו יכול לעשות. ומה אין ל Bot? עיניים. לכן כל המשימות מוצגות בקובץ תמונה. אבל האמת היא שזה "לכאורה" גדול מאד כי כבר כמה שנים ישנם מנגנונים שעוקפים את מבחן זיהוי האותיות, ופה מתחיל הסיפור להסתבך.

badcaptcha1

אז מי אנושי יותר?

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

captcha3

כשלון טוטאלי

יצרני מבחני הקפצ'ה , ששמו לב שהמבחן הפך להיות קל מדי (עבור הרובוטים!), החלו להקשות את החידות. כך נוצר מעגל קסמים בו מצד אחד השאלות נהיו קשות יותר ומצד שני הפתרונות ממשיכים להגיע מצד Captcha hackers.
התוצאה של מעגל הקסמים הבלתי אפשרי הזה, היא פגיעה ישירה בבני האדם הרגילים, האמיתיים, שלא מצליחים לפענח את הקפצ'ה. אז יצרני הקפצ'ה יצרו כפתור המאפשר לגולש התמים לבקש "חידה" חדשה או שהמערכת תשמיע ותקריא את האותיות.
לטעמי, עצם קיום הכפתור הנ"ל מצביע על כשלון הקפצ'ה. הצד המייצר את החידות מודע לכך שיש שאלות קשות מדי ולכן נותן הזדמנויות נוספות. הצד העונה (או זה שאמור לענות) מודה בעצם הלחיצה, שאינו מסוגל לפתור את החידה ומבקש אחרת. אם שני הצדדים מודים בכשלון המערכת – אז מדוע המערכת עדיין שם? האם באמת זהו הפתרון הטוב ביותר?

אמא ואבא וכל השאר

לא מעט פעמים אני ממש מתקשה לפתור את הקפצ'ה. לא ברור לי עם ה N מחובר ל M או שמא מדובר ב V הצמוד ל W. והאם זה B או 8 שצמוד לאות I? ותגידו, האם צריך אותיות קטנות או גדולות?
אגב, אם תחפשו בגוגל את המחרוזת Worst captcha תקבלו מאות אתרים האוספים ומתעדים חידות זוועתיות שנראות במקרה הטוב כמו קשקוש אקראי. אבל זה שעבורי המבחנים האלו קשים לפעמים וממש מונעים ממני להירשם לשירותים שונים, זה לא אומר כלום. ייתכן ואני האידיוט היחידי.
ואגב, אם לי זה קשה, מה יעשו אותם דיסלקטים, בעלי קשיי ראייה ובעלי מוגבלויות שגם קריאת טקסט רגיל באתר היא משימה מאמצת ממילא. מה, הם לא יכולים להיות לקוחות שלכם? איפה עקרון הנגישות כאן?

עכשיו אולי היה אמור לבוא פרק בו אני מספר לכם שלקחתי כיתה של 100 איש ונתתי להם קפצ'ה לבדיקה וכולם נכשלו. ואז אני אמור לספר לכם על כל מיני פתרונות חליפיים שמקום טקסט בלתי קריא מבקשים מהגולש להקליק על החיה שיש לה פרווה או להקליק על החפץ שיש לו ארבע רגליים וכל מיני חידות ששוב מבקשות שתוכיחו את אינטליגניציית העל שלכם.
אז לא עשיתי את זה, כי השאלה שלי הייתה הרבה יותר מהותית.
בתחילת המאמר נראה אולי כי יצאתי מנקודת הנחה שהבעיה היא שהחידות קשות מדי, אבל זה לא נכון. השאלה האמיתית היא: כמה בכלל מבינים שזה מבחן?

לחלק ב' של המאמר לחצו כאן