הערה קצרה - מאמר זה עוסק בתיאוריה כיצד לפצח סיסמאות. ההבנה כיצד פושעי סייבר מבצעים התקפות חשובה ביותר להבנת אבטחת מערכות מפני מתקפות מסוג זה.
ניסיון לפריצה למערכת שאינך בבעלותך עשוי להיות בלתי חוקי בתחום השיפוט שלך (בנוסף פריצה למערכות שלך עשויה [ולעיתים קרובות] להפר אחריות כלשהי עבור מוצר זה).
נתחיל מהיסודות. מהי התקפת כוח אכזרי?
התקפה מסוג זה כוללת שוב ושוב ניסיון להתחבר כמשתמש על ידי ניסיון בכל צירוף אותיות, מספרים ותווים (באמצעות כלים אוטומטיים).
זה יכול להיעשות באופן מקוון (כך בזמן אמת, על ידי ניסוי מתמשך של שילובי שם משתמש / סיסמה בחשבונות כמו מדיה חברתית או אתרי בנקאות) או במצב לא מקוון (למשל אם השגת קבוצה של סיסמאות גיבוב ומנסה לפצח אותם במצב לא מקוון).
לא תמיד ניתן להשתמש במצב לא מקוון (זה יכול להיות קשה להשיג סט סיסמאות חשיש), אבל זה הרבה פחות רועש. הסיבה לכך היא שצוות אבטחה עשוי להבחין בחשבונות כניסה רבים ונכשלים מאותו חשבון, אך אם תוכל לפצח את הסיסמה במצב לא מקוון, לא יהיה לך תיעוד של ניסיונות כניסה כושלים.
זה קל יחסית עם סיסמה קצרה. זה הופך להיות אקספוננציאלי קשה יותר עם סיסמה ארוכה יותר בגלל מספר האפשרויות העצום.
לדוגמא, אם אתה יודע שמישהו משתמש בסיסמה בת 5 תווים, המורכבת מאותיות קטנות בלבד, המספר הכולל של סיסמאות אפשריות הוא 26 ^ 5 (26 אותיות אפשריות לבחירה באות הראשונה, 26 אפשרויות אפשריות לשנייה מכתב וכו '), או 11,881,376 צירופים אפשריים.
אך אם מישהו משתמש בסיסמה של 11 תווים, רק באותיות קטנות, המספר הכולל של סיסמאות אפשריות הוא 26 ^ 11, או 3,670,344,486,987,776 סיסמאות אפשריות.
כשמוסיפים באותיות גדולות, תווים מיוחדים ומספרים, הדבר קשה עוד יותר ולפצוח זמן רב יותר. ככל שיש יותר סיסמאות, כך קשה יותר למישהו להתחבר בהצלחה עם התקפת כוח אכזרי.
איך להגן על עצמך
ניתן להתגונן מפני סוג זה של התקפות בכמה דרכים שונות. ראשית, תוכל להשתמש בסיסמאות ארוכות ומורכבות מספיק (לפחות 15 תווים). ניתן גם להשתמש בסיסמאות ייחודיות לכל חשבון (השתמש במנהל סיסמאות!) כדי להפחית את הסכנה מהפרות נתונים.
צוות אבטחה יכול לנעול חשבון לאחר מספר מסוים של ניסיונות כניסה נכשלים. הם יכולים גם לאלץ שיטת אימות משנית כמו Captcha, או להשתמש באימות דו-גורמי (2FA) הדורש קוד שני (SMS או דוא"ל, מבוסס אפליקציה או מבוסס מפתח חומרה).
הנה מאמר כיצד לבצע פיגוע כוח אכזרי.
איך אתה יכול לפצח סיסמאות מהר יותר?
התקפה מילונית כוללת ניסיון להתחבר שוב ושוב על ידי ניסיון למספר צירופים הכלולים ב'מילון 'שהורכב מראש, או ברשימת צירופים.
זה בדרך כלל מהיר יותר מהתקפת כוח אכזרי מכיוון ששילובי האותיות והמספרים כבר חושבו, מה שחוסך לך זמן וכוח מחשוב.
אך אם הסיסמה מורכבת דיה (למשל 1098324ukjbfnsdfsnej) ואינה מופיעה ב'מילון '(רשימת הצירופים שהורכבה מראש), ההתקפה לא תפעל.
זה מצליח לעיתים קרובות מכיוון שלעתים קרובות כאשר אנשים בוחרים סיסמאות, הם בוחרים במילים נפוצות או וריאציות למילים אלה (למשל, 'סיסמה' או 'p @ SSword').
האקר עשוי גם להשתמש בסוג כזה של התקפה כאשר הוא יודע או מנחש חלק מהסיסמה (למשל, שם של כלב, ימי הולדת לילדים או יום נישואין - מידע שהאקר יכול למצוא בעמודי מדיה חברתית או במשאבי קוד פתוח אחרים).
אמצעי הגנה דומים לאלה שתוארו לעיל מפני התקפות כוח אכזרי יכולות למנוע הצלחות מסוגים אלה.
מה אם כבר יש לך רשימה של סיסמאות חשיש?
סיסמאות מאוחסנות בקובץ / etc / shadow עבור Linux ו- C: \ Windows \ System32 \ config עבור Windows (שאינן זמינות בזמן שמערכת ההפעלה מופעלת).
אם הצלחת להשיג את הקובץ הזה, או אם השגת סיסמת סיסמה באופן אחר כגון לרחרח תנועה ברשת, תוכל לנסות לפצח סיסמאות 'לא מקוון'.
בעוד שההתקפות לעיל דורשות ניסיון שוב ושוב להתחבר, אם יש לך רשימה של סיסמאות גיבוב, אתה יכול לנסות לפצח אותן על המחשב שלך, מבלי להגדיר התראות שנוצרו על ידי ניסיונות כניסה חוזרים ונכשלים. אז אתה מנסה להתחבר רק פעם אחת, לאחר שפיצחת את הסיסמה בהצלחה (ולכן אין ניסיון כניסה כושל).
אתה יכול להשתמש בהתקפות כוח אכזרי או במתקפות מילוניות נגד קבצי ה- hash, ועשוי להצליח תלוי כמה חזק ה- hash.
חכה רגע - מה גיבוב?
35D4FFEF6EF231D998C6046764BB935D
מכירים את ההודעה הזו? כתוב 'היי קוראים לי מיגן'
7DBDA24A2D10DAF98F23B95CFAF1D3AB
זו הפסקה הראשונה במאמר זה. כן, זה נראה שטויות, אבל זה בעצם 'חשיש'.
פונקציית hash מאפשרת למחשב להזין מחרוזת (שילוב כלשהו של אותיות, מספרים וסמלים), לקחת מחרוזת זו, לערבב אותה ולהוציא מחרוזת באורך קבוע. זו הסיבה ששני המיתרים שלמעלה הם באותו אורך, למרות שקלט המיתרים היה באורכים שונים מאוד.
ניתן ליצור Hashes כמעט מכל תוכן דיגיטלי. בעיקרון ניתן לצמצם את כל התוכן הדיגיטלי לבינארי, או לסדרה של 0 ו- 1. לכן, כל התכנים הדיגיטליים (תמונות, מסמכים וכו ') ניתנים לגיבוב.
ישנן פונקציות hashing רבות ושונות, חלקן מאובטחות יותר מאחרות. החשיפות שלמעלה נוצרו עם MD5 (MD מייצג "Digest Message"). פונקציות שונות נבדלות גם באורך החשיש שהן מייצרות.
אותו תוכן באותה פונקציית חשיש תמיד יפיק את אותו חשיש. עם זאת, אפילו שינוי קטן ישנה את החשיש לחלוטין. לדוגמה,
2FF5E24F6735B7564CAE7020B41C80F1
האם החשיש ל'היי קוראים לי מייגן 'רק שימוש באותיות רישיות ב- M במייגן שינה לחלוטין את החשיש מלמעלה.
האש הם גם פונקציות חד כיווניות (כלומר אי אפשר להפוך אותן). המשמעות היא כי חשיפות (ייחודיות וחד כיווניות) יכולות לשמש כסוג של טביעת אצבע דיגיטלית לתוכן.
מהי דוגמה לאופן השימוש בחשיפות?
ניתן להשתמש ב- Hashes לאימות שהודעה לא שונתה.
כאשר אתה שולח דוא"ל, למשל, אתה יכול לחסל את כל הדוא"ל ולשלוח גם את החשיש. אז הנמען יכול להריץ את ההודעה שהתקבלה באמצעות אותה פונקציית חשיש כדי לבדוק אם טופלו בהודעה במעבר. אם שני החשיפות תואמות, ההודעה לא שונתה. אם הם לא תואמים, ההודעה שונתה.
כמו כן, סיסמאות בדרך כלל מגושמות כאשר הן מאוחסנות. כאשר משתמש מזין את הסיסמה שלו, המחשב מחשב את ערך החשיש ומשווה אותו לערך החשיש המאוחסן. בדרך זו המחשב לא שומר סיסמאות בטקסט רגיל (כך שהאקר חטטני לא יכול לגנוב אותן!).
אם מישהו מסוגל לגנוב את קובץ הסיסמה, הנתונים חסרי תועלת מכיוון שלא ניתן להפוך את הפונקציה (אם כי יש דרכים, כמו טבלאות קשת, להבין איזה טקסט פשוט יוצר את החשיש הידוע).
מה הבעיה עם חשיש?
אם גיבוב יכול לקחת נתונים בכל אורך או תוכן כלשהו, קיימות אפשרויות בלתי מוגבלות לנתונים הניתנות לגיבוב.
מכיוון ש- hash ממיר טקסט זה לתוכן באורך קבוע (למשל, 32 תווים), יש מספר סופי של שילובים עבור hash. זהו מספר גדול מאוד של אפשרויות, אך לא אינסופיות.
בסופו של דבר שתי קבוצות נתונים שונות יניבו את אותו ערך חשיש. זה נקרא התנגשות.
אם יש לך hash אחד ואתה מנסה לעבור על כל ערך טקסט רגיל אפשרי כדי למצוא את הטקסט הרגיל התואם את ה- hash שלך, זה יהיה תהליך מאוד ארוך וקשה מאוד.
עם זאת, מה אם לא אכפת לך באיזה שני חשיפות מתנגשים?
זה נקרא 'בעיית יום ההולדת' במתמטיקה. בכיתה של 23 תלמידים, הסבירות שמישהו יולד ליום ביום ספציפי היא בסביבות 7%, אך ההסתברות ששני אנשים חולקים את אותו יום הולדת היא בסביבות 50%.
ניתן להחיל את אותו סוג ניתוח על פונקציות hash על מנת למצוא שני hashes המתאימים (במקום hash ספציפי שתואם את השני).
כדי להימנע מכך, ניתן להשתמש בפונקציות hash ארוכות יותר כגון SHA3, כאשר האפשרות להתנגשויות נמוכה יותר.
אתה יכול לנסות ליצור פונקציות חשיש משלך עבור SHA3 כאן ו- MD5 כאן.
אתה יכול לנסות לפתח חשיפות כוח, אבל זה לוקח הרבה מאוד זמן. הדרך המהירה יותר לעשות זאת, היא להשתמש בטבלאות קשת מחושבות מראש (הדומות להתקפות מילוניות).
זה נראה ממש קל להסתפר. האם עלי להיות מודאג?
הדבר החשוב ביותר שיש לזכור בקשר לפריצה הוא שאף אחד לא רוצה לעשות יותר עבודה ממה שהוא צריך לעשות. לדוגמא, חשיפות אילוץ אכזרי יכולות להיות זמן רב וקשה ביותר. אם יש דרך קלה יותר להשיג את הסיסמה שלך, זה כנראה מה ששחקן מרושע ינסה קודם.
כלומר, הפעלת שיטות עבודה מומלצות בסיסיות בנושא אבטחת סייבר היא ככל הנראה הדרך הקלה ביותר למנוע פריצה. למעשה, מיקרוסופט דיווחה לאחרונה שרק הפעלת 2FA תחסום בסופו של דבר 99.9% מהתקפות אוטומטיות.

קריאה נוספת:
כלים פופולריים לפיצוח סיסמאות