כדי לבצע אימות לאתר, עליך לספק שם משתמש וסיסמה. לאחר מכן, האתר בודק את פרטי האימות שסיפקת על ידי השוואה בין הפרטים ששמר במסד הנתונים שלו. אם הפרטים תואמים, ניתנת גישה. אם הפרטים אינם תואמים, הגישה נדחית.
למרבה הצער, פרצות מידע הן תופעה שכיחה יחסית. פרצות נתונים יכולות להוות בעיה גדולה מכיוון שאחד מקטעי הנתונים הממוקדים ביותר הוא נתוני המשתמש, במיוחד רשימת שמות המשתמש והסיסמאות. אם הסיסמאות מאוחסנות כמו שהן, בטקסט רגיל אז כל מי שיש לו גישה למסד הנתונים יכול לגשת לחשבון של כל משתמש אחר. זה כאילו נמסר להם מחזיק מפתחות עם המפתח לכל דלת בבניין דירות.
בעוד מאמץ רב מושקע במניעת פרצות מידע מלכתחילה, אסטרטגיית הגנה לעומק מומלצת. באופן ספציפי, עצות אבטחה טוענות שיש לגיבוב סיסמאות, כאשר רק ה-hash של הסיסמה מאוחסן אי פעם. פונקציית Hash היא פונקציה חד-כיוונית הממירה תמיד את אותו קלט לאותו פלט. עם זאת, אפילו שינוי קטן בקלט מייצר פלט שונה לחלוטין. באופן קריטי, אין דרך להפוך את הפונקציה ולהפוך את ה-hash שהוצא בחזרה לקלט המקורי. מה שאתה יכול לעשות, לעומת זאת, הוא גיבוב קלט חדש ולראות אם הפלט תואם ל-hash המאוחסן במסד הנתונים. אם כן, אתה יודע שהסיסמה מתאימה, מבלי לדעת את הסיסמה בפועל.
מועיל זה גם אומר שאם תוקף אכן פורץ את מסד הנתונים, הוא לא מקבל רשימה של סיסמאות שימושיות מיד, הוא מקבל גיבוב במקום זאת. כדי להיות מסוגלים להשתמש ב-hashs האלה יש לפצח אותם.
פיצוח גיבוב של סיסמאות עם חכמים
פיצוח גיבוב של סיסמה הוא תהליך של בירור מהי הסיסמה המקורית שה-hash מייצג. כי אין דרך להפוך את פונקציית ה-hash ולהפוך את ה-hash לסיסמה. הדרך היחידה לפצח hash היא לנחש את הסיסמה. שיטה אחת היא להשתמש בהתקפת כוח גס. זה ממש כרוך בניסיון של כל סיסמה אפשרית. זה אומר להתחיל מ-a, לנסות כל אות, בשני המקרים, וכל מספר וסמל. אז התוקף צריך לנסות את כל השילובים של שני תווים, שילובים של שלושה תווים, וכן הלאה. הגידול בשילובים אפשריים של תווים הוא מעריכי בכל פעם שאתה מוסיף תו. זה מקשה על ניחוש יעיל של סיסמאות ארוכות גם כאשר נעשה שימוש באלגוריתמי גיבוב מהירים עם מערכות פיצוח עוצמתיות של GPU.
ניתן לחסוך מאמץ מסוים על ידי התבוננות בדרישות הסיסמה של האתר ואי נסיון סיסמאות קצרות מכדי לאפשר אותן או שאינן כוללות מספר, למשל. זה יחסוך זמן ועדיין מתאים למעמד של מתקפת כוח גס המנסה את כל הסיסמאות המותרות. התקפות כוח אכזריות אמנם איטיות, אבל - אם יישארו מספיק זמן עם כוח עיבוד רב - יפצחו בסופו של דבר כל סיסמה שכן כל השילובים האפשריים ינוסו.
הבעיה עם התקפות כוח גסות היא שהן לא מאוד חכמות. מתקפת מילון היא גרסה ממוקדת הרבה יותר. במקום פשוט לנסות כל סיסמה אפשרית, הוא מנסה רשימה של סיסמאות שצוינו. הצלחת סוג זה של התקפה תלויה ברשימת הסיסמאות, ובמילון המדובר.
ניחושים מושכלים
מילוני סיסמאות בדרך כלל בנויים מסיסמאות שנפצחו בעבר מפרצות מידע אחרות. מילונים אלו יכולים להכיל אלפי או מיליוני ערכים. זה מתבסס על הרעיון שאנשים גרועים ביצירת סיסמאות ייחודיות. עדויות מפריצות נתונים מראות שזה גם המקרה, למרבה הצער. אנשים עדיין משתמשים בגרסאות של המילה "סיסמה". נושאים נפוצים נוספים הם קבוצות ספורט, שמות של חיות מחמד, שמות מקומות, שמות חברות, שנאת העבודה שלך וסיסמאות המבוססות על התאריך. האחרון הזה נוטה במיוחד לקרות כאשר אנשים נאלצים לשנות באופן קבוע את הסיסמאות שלהם.
שימוש במילון סיסמאות מפחית באופן מסיבי את מספר הניחושים שיש לבצע בהשוואה להתקפה של כוח גס. מילוני סיסמאות גם נוטים להכיל גם סיסמאות קצרות וגם ארוכות יותר, כלומר ייתכן שנוסו סיסמאות מסוימות שלא יגיעו אליהן אפילו עם שנים או ניחוש גס. הגישה מוכיחה את עצמה גם כן. הנתונים הסטטיסטיים משתנים בהתאם לפריצת הנתונים ולגודל ואיכות המילון בו נעשה שימוש, אך אחוזי ההצלחה יכולים לעלות על 70%.
ניתן להעלות את שיעורי ההצלחה עוד יותר עם אלגוריתמים לעיבוד מילים. האלגוריתמים האלה לוקחים כל מילה במילון הסיסמאות ואז משנים אותה קצת. שינויים אלה נוטים להיות החלפות תווים סטנדרטיות והוספת מספרים או סמלים נגררים. לדוגמה, נפוץ שאנשים מחליפים את האות "e" ב-"3" ו-"s" ב-"$" או להוסיף סימן קריאה בסוף. אלגוריתמים לעיבוד מילים יוצרים כפילויות של כל ערך במילון הסיסמאות. לכל שכפול יש וריאציה שונה של החלפות תווים אלה. זה מגדיל משמעותית את מספר הסיסמאות לניחוש וגם מעלה את אחוזי ההצלחה, בחלק מהמקרים מעל 90%.
סיכום
מתקפת מילון היא וריאציה ממוקדת של מתקפת כוח גס. במקום לנסות את כל שילובי התווים האפשריים, נבדקת תת-קבוצה של שילובי תווים. תת-קבוצה זו היא רשימה של סיסמאות שנמצאו בעבר ובמידת הצורך נפצחו בפרצות נתונים קודמות. זה מקטין באופן מסיבי את מספר הניחושים שיש לבצע תוך כיסוי סיסמאות שנעשה בהן שימוש בעבר, ובמקרים מסוימים, נראו לעתים קרובות. למתקפה במילון אין שיעור הצלחה גבוה כמו התקפת כוח גס. עם זאת, זה מניח שיש לך זמן וכוח עיבוד בלתי מוגבלים. התקפת מילון נוטה לקבל שיעור הצלחה גבוה והוגן הרבה יותר מהר ממה שמתקפת כוח אכזרי יכולה. הסיבה לכך היא שזה לא מבזבז זמן על שילובים מאוד לא סבירים של דמויות.
אחד הדברים העיקריים שעליך לעשות כשממציאים סיסמה הוא לוודא שהיא לא תופיע ברשימת מילים. דרך אחת לעשות זאת היא ליצור סיסמה מורכבת, אחרת היא ליצור סיסמה ארוכה. בדרך כלל, האפשרות הטובה ביותר היא ליצור סיסמה ארוכה המורכבת מכמה מילים. רק חשוב שהמילים הללו לא יהוו ביטוי ממשי, שכן ניתן לנחש זאת. הם צריכים להיות לגמרי לא קשורים. מומלץ לבחור סיסמה מעל 10 תווים עם 8 כמינימום מוחלט.