סלאק מודה בהדלפת סיסמאות גיבוב למשך שלושה חודשים PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

סלאק מודה בהדלפת סיסמאות גיבוב במשך שלושה חודשים

כלי שיתוף הפעולה הפופולרי Slack (שלא להתבלבל עם הכינוי של הפצת הלינוקס הוותיקה בעולם, Slackware) החזיק רק ב-SNAFU לאבטחת סייבר.

על פי עלון חדשותי בשם הודעה על איפוסי סיסמא Slack, החברה הודתה שהיא שיתפה בטעות נתונים אישיים "כאשר משתמשים יצרו או ביטלו קישור הזמנה משותף עבור סביבת העבודה שלהם."

מ-2022-04-17 עד 2022-07-17 (אנו מניחים ששני התאריכים כוללים), אמר סלאק כי הנתונים שנשלחו למקבלי הזמנות מסוג זה כללו...

…חכה לזה…

…ה סיסמת הגיבוב של השולח.

מה השתבש?

ייעוץ האבטחה של סלאק לא מסביר את הפרצה בצורה ברורה במיוחד, אומר רק את זה "[ה]הסיסמה הגובבת שלו לא הייתה גלויה לכל לקוחות Slack; גילוי זה הצריך ניטור פעיל של תעבורת רשת מוצפנת שהגיעה מהשרתים של סלאק."

אנו מניחים שזה מתורגם כך:

"רוב הנמענים לא היו שמים לב שהנתונים שהם קיבלו כוללים מידע על סיסמה גיבוב, מכיוון שהמידע הזה, למרות שנכלל בחבילות הרשת שנשלחו, מעולם לא הוצג בפניהם בכוונה. ומכיוון שהנתונים נשלחו דרך חיבור TLS, מצותתים לא היו מסוגלים לרחרח אותם לאורך הדרך, כי הם לא יפוענחו עד שיגיעו לקצה השני של החיבור”.

אלה החדשות הטובות.

אבל מנות רשת כוללות לעתים קרובות נתונים שלעולם לא משתמשים בהם או רואים אותם בדרך כלל על ידי הנמענים.

כותרות HTTP הן דוגמה טובה לכך, בהתחשב בכך שהן נועדו להיות הוראות לדפדפן שלך, לא נתונים לתצוגה בדף האינטרנט שבו אתה מסתכל.

ונתונים שאינם רלוונטיים או בלתי נראים למשתמשים מגיעים לרוב ביומנים בכל מקרה, במיוחד ביומני חומת אש, שם הם יכולים להישמר ללא הגבלת זמן.

אלה החדשות הרעות.

מלח, חשיש ומתיחה...

לדברי סלאק, הנתונים שהודלפו לא היו רק חשיש, אבל מלוחים גם, כלומר, הסיסמה של כל משתמש עורבבה לראשונה יחד עם נתונים אקראיים ייחודיים לאותו משתמש לפני הפעלת פונקציית ה-hash.

גיבובים הם בעצם פונקציות מתמטיות "בלתי הפיכות" שקל לחשב אותן בכיוון אחד, אך לא בכיוון השני.

לדוגמה, קל לחשב ש:

  SHA256("DUCK") = 7FB376..DEAD4B3AF008

אבל הדרך היחידה לעבוד "לאחור" מ 7FB376..DEAD4B3AF008 ל DUCK הוא לעבוד קדימה מכל מילה אפשרית במילון וראה אם ​​מישהו מהם יוצא עם הערך שאתה מנסה להתאים:

  SHA256("AARDVARK") = 5A9394..467731D0526A [X] SHA256("AARON") = C4DDDE..12E4CFE7B4FD [X] SHA256("ABACUS") = BEDDD8..1FE4DE25AAD7 [X] . . 3400 דילג על SHA256("BABBLE") = 70E837..CEAD4B1FA777 [X] SHA256("BADGER") = 946D0D..7B3073C1C094 [X] SHA256("BAGPIPE") = 359DBE.CB193FC.X. . . 111 דילג על SHA3200("CABAL") = D256CF78..4BE85 [X] SHA02967565("CACHE") = C256F118..9F22E3269B7 [X] SHA32("CAGOULE") = 256EA5..530F . . 5 דילג על SHA26("DAB") = BBCC5E..E56B5400CAB256 [X] SHA8("DAFFODIL") = 8D..D98AB5128A256 [X] SHA75121("סכנה") = 6401BD24 [98X]BB256..0C727. . . 4 דילג על SHA86037("DUCK") =  7FB376..DEAD4B3AF008 [נמצא!]

ועל ידי הכללת מלח לכל משתמש, שאינו צריך להיות סודי, אלא רק ייחודי לכל משתמש, אתה מבטיח שגם אם שני משתמשים יבחרו באותה סיסמה, הם לא יגלו את אותו hash של סיסמה.

אתה יכול לראות את ההשפעה של המלחה כאן, כאשר אנו משיגים את המילה DUCK עם שלוש קידומות שונות:

  SHA256("RANDOM1-DUCK") = E355DB..349E669BB9A2 SHA256("RANDOM2-DUCK") = 13D538..FEA0DC6DBB5C <-- שינוי של בייט קלט אחד בלבד מייצר hash שונה בתכלית SHA256("DUCK3Q52H-92H). .544208A19449

זה גם אומר שתוקפים לא יכולים ליצור רשימה מחושבת מראש של hash סביר, או ליצור טבלה של חישובי hash חלקיים, המכונה שולחן קשת, שיכול להאיץ את בדיקת ה-hash. (הם יצטרכו רשימת hashlist חדשה לגמרי, או סט ייחודי של שולחנות קשת בענן, עבור כל מלח אפשרי.)

במילים אחרות, סיסמאות גיבוב ומלוחות לא ניתנות לפיצוח טריוויאלי כדי לשחזר את הקלט המקורי, במיוחד אם הסיסמה המקורית הייתה מורכבת ונבחרה באקראי.

מה שסלאק לא אמר זה אם כן נמתח גם הסיסמה גיבוב, ואם כן, איך.

מתיחה הוא מונח ז'רגון שמשמעותו חזרה על תהליך הגיבוב של סיסמה שוב ושוב, למשל, 100,000 פעמים, על מנת להאריך את הזמן הדרוש לניסיון של חבורה של מילים במילון מול גיבוב סיסמאות ידוע.

אם זה ייקח שנייה אחת להעביר 100,000 מילים במילון בתהליך פשוט של מלח ו-hash, אז תוקפים שיודעים את ה-hash של הסיסמה שלך יכולים לנסות 6 מיליון מילים ונגזרות שונות במילון בכל דקה, או לקחת יותר ממיליארד ניחושים כל שלוש שעות .

מצד שני, אם חישובי המלח וה-hash נמתחו כך שימשכו שנייה אחת כל אחד, אז ההשהיה הנוספת של שנייה אחת כשניסיתם להיכנס לחשבון תגרום לכם מעט או ללא מטרד...

...אבל יצמצם תוקף ל-3600 ניסיונות בשעה בלבד, מה שהופך את הסיכוי שהרבה פחות יקבלו מספיק זמן לנחש כל דבר מלבד הסיסמאות הברורות ביותר.

ידועים כמה אלגוריתמים מכובדים היטב של מלח-hash-and-strech, במיוחד PBKDF2, bcrypt, scrypt ו Argon2, כל אלה ניתנים להתאמה כדי להגדיל את הזמן הדרוש כדי לנסות ניחושי סיסמאות בודדות על מנת לעשות זאת להפחית את הכדאיות של מה שנקרא מילון והתקפות כוח גס.

A התקפת מילון אומר שאתה מנסה סיסמאות סבירות בלבד, כמו כל מילה שאתה יכול לחשוב עליה aardvark ל zymurgy, ואז מוותרים. א פיגוע כוח-זריעה פירושו לנסות כל קלט אפשרי, אפילו מוזר ובלתי ניתן לבטא AAA..AAAA ל ZZZ..ZZZZ (או מ 0000..000000 ל FFFF..FFFFFF אם אתה חושב במונחים הקסדצימליים של בייט אחר בייט).

מה לעשות?

סלאק אומר את זה על 1 מתוך 200 מהמשתמשים שלה (0.5%, ככל הנראה מבוסס על תיעוד של כמה קישורי הזמנות משותפים נוצרו בתקופת הסכנה), וכי זה יאלץ את אותם משתמשים לאפס את הסיסמאות שלהם.

כמה עצות נוספות:

  • אם אתה משתמש Slack, אתה יכול באותה מידה לאפס את הסיסמה שלך גם אם לא קיבלת הודעה מהחברה לעשות זאת. כאשר חברה מודה שהיא התרשלה עם מסד הנתונים של הסיסמאות שלה על ידי הדלפת גיבוב, אתה יכול גם להניח שהשלך שלך הושפע, גם אם החברה סבורה שלא. ברגע שאתה משנה את הסיסמה שלך, אתה הופך את ה-hash הישן לחסר תועלת לתוקפים.
  • אם אינך משתמש במנהל סיסמאות, שקול לקבל אחד. מנהל סיסמאות עוזר לבחור סיסמאות מתאימות, ובכך להבטיח שהסיסמה שלך תגיע רחוק מאוד ברשימת הסיסמאות שעלולות להיסדק במקרה כזה. תוקפים בדרך כלל לא יכולים לבצע התקפת כוח גס אמיתי, כי יש פשוט יותר מדי סיסמאות אפשריות לנסות. אז, הם מנסים תחילה את הסיסמאות הסבירות ביותר, כמו מילים או שילובים ברורים של מילים ומספרים, והולכות ומתארכות יותר ככל שהמתקפה מתמשכת. מנהל סיסמאות יכול לזכור סיסמה אקראית של 20 תווים בקלות כפי שאתה יכול לזכור את שם החתול שלך.
  • הפעל את 2FA אם אתה יכול. 2FA, או אימות שני גורמים, אומר שאתה צריך לא רק את הסיסמה שלך כדי להתחבר, אלא גם קוד חד פעמי שמשתנה בכל פעם. קודים אלה נשלחים בדרך כלל לטלפון הנייד שלך (או נוצרים על ידי) והם תקפים רק למספר דקות כל אחד. זה אומר שגם אם נוכלי סייבר אכן פוצחים את הסיסמה שלך, זה לא מספיק לבד כדי שהם ישתלטו על החשבון שלך.
  • בחר באלגוריתם מלח-hash-and-strech מכובד כשאתה מטפל בסיסמאות בעצמך.. במקרה המצער שמאגר הסיסמאות שלך ייפרץ, תוכל לתת ללקוחותיך פרטים מדויקים על האלגוריתם והגדרות האבטחה שבהן השתמשת. זה יעזור למשתמשים מושכלים לשפוט בעצמם עד כמה הסיכוי שה-hash הגנוב שלהם נסדק בזמן שעמד לרשות התוקפים עד כה.

בול זמן:

עוד מ ביטחון עירום