סיפור פשוט על ילדה חכמה שפיצחה את הסיסמה הסודית
הרבה ידע נדרש כדי להתמקצע בתחום הסייבר, כולל ידע במתמטיקה ובמדעי המחשב. אולם בנוסף, יש צורך במידה גדושה של ערמומיות ותחכום. נדגים זאת באמצעות תיאור שיטה פשוטה לפיצוח סיסמה. דרך סיפור דמיוני על מורה, תלמידים ועל קלרה מפצחת הקודים (והאגוזים ?).
המורה ירדנה נהגה לתת לכיתה מבחנים קשים, והתלמידים בכיתה כבר די התייאשו מלהצליח לקבל ציון סביר. היום הם אפילו חששו להגיש לה את דף התשובות. ירדנה הבינה, כי עליה לשמור על האתגר מבלי לפגוע ברוח התלמידים, ובמוחה צץ רעיון מבריק. במבחן הבא, עם חלוקת טופס המבחן היא הכריזה: "אני רוצה להציב בפניכם אתגר. נראה אם תצליחו לנחש את הסיסמה הסודית שלי. רשמו בתחתית דף התשובות, מספר בין ארבע ספרות (מאחת עד תשע). אם מישהו יצליח לנחש את הסיסמה הסודית שלי, אתן לכל תלמידי הכיתה ציון מאה!" כל שלושים ושישה התלמידים בכיתה שהתרגשו מאוד, הוסיפו לדף התשובות שלהם ארבעה ספרות אקראיות והגישו למורה. המורה עברה בחטף על כל דף, הסתכלה על המספרים, ואמרה "לא מתאים!" על כולם.
האם המורה לקחה סיכון גדול שיגלו את הסיסמה הסודית שלה? יש תשע בחזקת ארבע קודים אפשריים. הסיכוי שתלמיד לא יצליח לנחש הוא אחת פחות אחת חלקי תשע ברביעית. הסיכוי שאף אחד מ-36 תלמידי הכיתה יצליח לנחש הוא מכפלת 36 ההסתברויות שתלמיד כלשהו לא יצליח לנחש - לפיכך, הסיכוי שהתלמידים לא יצליחו בפיצוח הוא 99.45% כמו שניתן להבין מהחישוב:
אכן, המורה ירדנה לא לקחה סיכון רב, והתלמידים נותרו מתוסכלים. תלמיד אחד, ולרי, הציע לשתף פעולה כדי למנוע חפיפה בבחירת 36 המספרים: בפעם הבאה הם יחליטו מראש על מספרים שונים שיכתבו בדפים. אולם הסיכוי שאף אחד לא ינחש נכון כמעט ולא השתנה (4^ 1-36/9). אז כיצד ניתן לפצח את הקוד? אכן, מדובר באגוז קשה לפיצוח!
ואז קלרה, מומחית הסייבר בכיתה, הגתה רעיון לפיצוח האגוז הקשה: התלמידים יכתבו את המספר כך שחלקו הראשון יהיה בסוף העמוד, והמשכו בצידו השני של הדף. אם המורה העסוקה תראה שהחלק הראשון לא תואם, היא תפסול אותו מיידית ולא תטרח להפוך את הדף כדי לבדוק את ההמשך. למשל, אם יניב יכתוב בצד הראשון "1" וימשיך בצד השני של הדף (" 234") והמורה לא תהפוך את הדף שלו, ניתן להסיק הסיסמה של המורה לא מתחילה ב-"1".
התלמידים התלהבו: תשעה תלמידים הגישו למורה דף בו רשמו רק ספרה אחת (1-9) בתחתית העמוד הראשון ואת ההמשך כתבו בצד השני של הדף. התלמידים התבוננו על תגובת המורה וראו שהיא הפכה רק את הדף של קרן, שרשמה 3 בתחתית הדף. הם הסיקו שהסיסמה של המורה מתחילה בשלוש. בתגובה, התלמידים הגישו למורה עוד תשעה דפים שהכילו כעת שתי ספרות ( 31-39) בעמוד הראשון, ובדקו איזה דף היא הפכה, וכך הלאה. בשיטה זו, במקום לבדוק תשע ברביעית אפשרויות היה צורך לבדוק עד 36= 9*4 אפשרויות, מה שהתאים למספר התלמידים בכיתה.
"יש הצלחה!" באמצעות השיטה גילו התלמידים את הסיסמה הסודית של המורה, וכולם קיבלו ציון מאה. קלרה ובעקבותיה שאר התלמידים פצחו במחול סביב המורה הנבוכה, לפי הבלט "מפצח האגוזים" של צ'ייקובסקי....
מה הקשר בין הסיפור לפיצוח סיסמאות? שיטה דומה [1] התגלתה לצורך פיצוח סיסמה במחשבים עוד בשנות השבעים. גם במחשבים יש שימוש ב"דפים" שמחלקים את זיכרון המחשב לפלחים, כך שחלקם נמצא בזיכרון הראשי וחלקם בזיכרון משני, איטי יותר. בשיטת פיצוח זו, הפורץ היה מאחסן את הטקסט שהכיל את הסיסמה שניחש בזיכרון כך שחלקו חצה את הגבול בין שני דפים. אם החלק הראשון של הטקסט שהיה בדף הראשון לא תאם להתחלת הסיסמה, תוכנת מערכת ההפעלה שבדקה זאת, הייתה עוצרת ולא טורחת כלל לגשת לדף השני, מה שעזר לפיצוח הסיסמה, בדומה לסיפור של קלרה. שיטה זו התפרסמה עוד בשנות השבעים והיא נחשבת דוגמה קלאסית לפיצוח. כמובן, שכשעולים על השיטה, אפשר בקלות למנוע אותה. גם המורה, אם הייתה עולה על השיטה, הייתה יכולה להסתכל תמיד על שני צידי הדף ולסכל את הפיצוח.
הצגנו דוגמה פשוטה לפיצוח סיסמה. קיימות שיטות רבות אחרות לגילוי מספרים חסויים באמצעות איסוף מידע מהמערכת באופן עקיף בזמן הרצת תוכנה, ונקראות לפיכך "התקפת ערוץ צדדי" (side-channel attack). למשל, כתבנו בעבר על שיטה חדישה יותר [2] שאפשרה קריאת נתונים מאיזורים חסויים בזיכרון על ידי בדיקת זמני ביצוע. דוגמה אחרת היא מדידת זמן הביצוע של אלגוריתם המעלה נתון בחזקת מספר סודי. באמצעות בדיקת זמן הביצוע של האלגוריתם עם נתונים שונים, ניתן להעריך את ערכו של המספר הסודי. שיטות אחרות נעזרות אפילו במכשור מיוחד, כמו למשל שימוש במכשיר למדידת עוצמת הזרם במעבד בזמן הרצת קוד סודי, כדי לשערך אילו מספרים היו מעורבים בחישוב!
אכן ,יש צורך בהרבה ידע ותחכום בתחום הסייבר. בינתיים, נאחל הצלחה לקלרה המפצחת בדרכה בחיים, בין אם תחליט למשל לעשות קריירה במתמטיקה, ללמוד לרקוד בלט או שניהם.
מוקדש לקלרה שיכלמן מצוות העמותה, שהגישה באחרונה את עבודת הדוקטורט, לקבלת תואר דוקטור במתמטיקה
מקורות וקריאה נוספת
[1] פריצת סיסמא
[2] פריצת אבטחה במעבדים