סיסמאות, תורכים וLastPass

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

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

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

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

  • התחזות : בפייסבוק, בבלוגים או באתרים אחרים. אם הסיסמא הקבועה שלכם היא גם הסיסמא של האימייל – אכלתם פלפל (במילים אחרות, גם אם אתם לא עושים כלום בעקבות הפוסט הזה – לפחות את זה תתקנו, בפקודה!). פריצה לאימייל היא מסוכנת לא רק בגלל הסכנה לחדירה לפרטיות ולהתחזות – אלא גם כי היא מאפשרת שחזור סיסמא במרבית האתרים שאתם רשומים אליהם.
  • גניבת כסף דרך חשבון בנק (לא מאוד סביר, כי רוב הבנקים לא יאפשרו שימוש בסיסמא קלה שלא משתנה תדיר, ובנוסף הם נאצים בכל הנוגע לשחזור סיסמא).
  • גניבת שרותים דרך אתרים שמחזיקים בפרטי כרטיס האשראי שלכם : זה כבר די סביר, מי שמגלה את הסיסמא שלכם ל10BIS יכול להזמין פיצות בלי להזין מחדש את פרטי כרטיס האשראי. למעשה אם האתר עלוב במיוחד הוא גם יכול להשיג את מספר כרטיס האשראי דרך ממשק המשתמש ומשם הדרך אל האושר מובטחת.

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

שלשום ארז וולף פרסם בבלוגו We CMS שהוא מצא רשימת סיסמאות של ישראלים מסתובבת באיזה פורום טורקי, ושהרשימה נלקחה מאתר ישראלי גדול בעל אבטחה מפוקפקת ששמר את הסיסמאות שלו כטקסט צח (או בלעז – Clear text).

פונקציות גיבוב לערבול סיסמאות

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

המשמעות של זה היא שגם אם האקר שם את ידו על רשימת גיבובים כזו, ומצליח למצוא סיסמא כלשהי שהגיבוב שלה מתאים לשורה בטבלא, הוא עדיין לא יודע מה הסיסמא האמיתית של המשתמש.
האקרים משתמשים בטבלאות עצומות הנקראות טבלאות קשת בענן (נשבע לכם) ששומרות את הגיבובים של סיסמאות נפוצות עבור פונקציה מסויימת, למשל MD5. (אי אפשר לשמור את כל האפשרויות כי יש 2 בחזקת 128 כאלו, ואין מספיק כוננים קשיחים בעולם בשביל לשמור את זה). בכל אופן, המחמירים מוסיפים "מלח" לתבשיל לפני שהם מבשלים אותו, כלומר במקום להכניס את הסיסמא ישירות לMD5 הם מוסיפים לה איזשהו קבוע סודי, מה שגורם לMD5 להוציא פלט אחר (בכך למעשה הם ממציאים גרסא פרטים של MD5).
מי שקצת מעורה באבטחת מידע בוודאי נע באי נוחות למראה המילה "סודי" במשפט הקודם, העניין הוא שהאקר ששם ידו על רשימת הסיסמאות המגובבות שהיא בהחלט סודית עלול לשים את ידו גם על המלח הסודי באותה הזדמנות. לכן אני אישית רואה במלח פתרון וודו שלא באמת עוזר למשהו.

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

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

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

לעניינינו

היום בבוקר פורסם בYNet שהאתר המסויים הוא לא אחר מאשר Homeless; עבר זמן רב מאוד מאז שהשתמשתי בו לאחרונה ולא זכרתי את הסיסמא.
בפרוצדורה הרגילה של אתרים שאני לא זוכר את הסיסמא שלהם, בדקתי את הסיסמא הקבועה הנוכחית ולמרבה אי הנוחות, הצלחתי להכנס.

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

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

הפתרון

מנהל סיסמאות טוב, שיאפשר לכם לעבוד עם סיסמא שונה לכל אתר, וידרוש מכם לזכור סיסמא אחת בלבד.
זכרתי שחייב להיות אחד טוב כזה, וזכרתי גם שסטיב גיבסון המליץ על משהו בSecurity Now. בבדיקה מסתבר שבדיוק היה פרק על האבטחה של פתרון בשם LastPass. למעשה עדיין לא שמעתי את האפיזודה הרלוונטית (אני אגיע לזה כשאני אסיים לשמוע את הספר הנוכחי – Under the dome של סטיבן קינג) – אבל ההערות של הפרק שכנעו אותי לנסות.

LastPass

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

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

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

אני ממליץ בחום לנסות את LastPass (בחינם, יש שרות פרמיום ב12$ לשנה שמוסיף תמיכה בטלפונים חכמים ועוד כל מני דברים חביבים אך לא הכרחיים לרוב האנשים). גם אם החברה נעלמת – יש אפשרות ליצא את הסיסמאות שלכם לקובץ CSV (או ישירות לתוך מנהל הסיסמאות של פיירפוקס).

הנה סירטון קצרצר שמדגים את הפעילות הבסיסית:

Facebook Comments

19 תגובות בנושא “סיסמאות, תורכים וLastPass”

  1. "מה שאומר שלפחות בתאוריה, הסיסמא הקבועה שלי מסתובבת אצל לועסי הרחת-לקום."… גדול.. :))
    התקנתי את התוכנה – נראה אחלה. תודה. 🙂

  2. יש נקודה אחת שהתעלמת ממנה קצת- אם אתה מקבל סיסמא בחזרה באימייל, זה *לא* אומר שהסיסמא שמורה כ plain text בדטאבייס. יש גם ענף שלם של הצפנות דו-כיווניות ודרכים להסתיר את המפתח של ההצפנה שהתעלמת ממנו לחלוטין. למרות שאני מסכים שבדרך כלל… זה באמת אומר שהסיסמאות שמורות כ plain text.

    שחר.

  3. שחר, הסיבה שהתעלמתי מזה היא שזה לא רלוונטי:
    אם לאתר יש יכולת להשיג את הסיסמא המקורית (ולא משנה כמה מורכב התהליך) – גם להאקר שפורץ לאתר יש תאורטית את אותה יכולת.
    אם נדבר ספיציפית על הדוגמא שציינת : כדי לשלוח למשתמש את הסיסמא המקורית הוא יצטרך לגשת למפתח ההצפנה, לפענח את הסיסמא המוצפנת ולשלוח אותה.
    הנקודה החלשה פה היא שהשרת יצטרך לגשת למפתח ההצפנה, מה שאומר שיש לו גישה (אוטומטית) למפתח, מה שאומר שמי שפורץ לשרת יכול להשיג בעצמו את המפתח.
    קצת דומה לSALT.

  4. עמרי,
    בד"כ, כדי להשיג את הנתונים מה DB – ההאקרים משתמשים ב SQL Injection. כלומר, הם יכולים לקבל את כל טבלאת ה users לצורך העניין, עם הנתונים המוצפנים (נניח, בהצפנה דו-כיוונית). הם לא יכולים להריץ קוד שיבצע את הפיענוח (אלא אם כן הקוד הזה הוא באיזשהו stored procedure, וגם אז… אפשר לחסום את זה ברמת ההרשאות רק ליוזר של האפליקציה שמשמש לשחזור סיסמא). אפילו אם הם ממש פרצו לשרת DB – זה עדיין לא אומר שיש להם את האפשרות לעשות משהו עם הסיסמא.

  5. קודם כל – אחלה פוסט מפורט ומעניין.
    בנוגע לסיסמה – כם לי יש כמה סיסמאות כאשר לאתרים חשובים אני בוחר סיסמאות ייחודיות וקשות ואילו לאתרים פחות חשובים יש לי סיסמה אחידה – אתרים שפשוט לא אכפת לי אם יגנבו לי את שם המשתמש.
    בנוגע לתוכנה לשמירה על הסיסמה – מצטרף ל-One of the Crowd – אני ממליץ מאד על KeePass שמשמשת אותי כבר שנים.

    בנוגע ל-salt כתרופת וודו – אני לא מסכים. ראשית, לא תמיד פורצים לכל האתר ויש לא מעט התקפות ממוקדות מסד נתונים. חלק גדול מכלי הפריצה (ובינינו, רוב הפורצים הם script kiddies) הם מוכווני MySQL injection. ובמקרה הזה ממש לא מדובר בפתרון וודו.
    בנוסף, אתה יכול להשתמש באלגוריתם של הצפנה כפולה (כלומר, ממליח ומצפין את הסיסמה המקורית ואז מוסיף עוד מלח להצפנה ומצפין שוב) ואז זה מקשה על הפורץ לבצע שחזור גם אם ידועה לו השיטה שבה המלחת את הסיסמה. מה שחשוב בהגנה ובאבטחה הוא לאו דווקא להגיע לאבטחה של 100 אחוז אלא פשוט להיות מאובטח מהשכנים…

  6. שחר, נכון – אבל זה רק ווקטור התקפה אחד מני רבים.
    אני לא מאמין גדול בלחפש את המטבע מתחת לפנס, אולי תמצא שם משהו – אבל לא את מה שאיבדת :).
    הנזק בSALT הוא תחושת ביטחון כוזבת. אולי הנזק הזה שולי.

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

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

  7. אכן, היום שמעתי את הפודקאסט על LastPass של SecurityNow. נשמע מעניין, מתכוון לנסות גם כן עבודה איתו.
    בהמשך להמלצות הקודמות, אני דווקא אמליץ על Revelation, שמגיע כחלק מחבילת האפליקצייות של Gnome. הוא פשוט, קל לתפעול והבנה, כולל גם כן מחולל ססמאות.
    אחד מהדברים הנוחים שאני אוהב, הוא שיש לו Applet שמאפשר שליפת ססמאות דרך ממשק חיפוש קטן ב-Panel של Gnome.

  8. כתריאל:
    Revelation רץ רק על גנום (ומה אם אני על חלונות בדיוק? אין כניסה לאתרים?)
    למיטב הבנתי הוא גם לא מתממשק עם הדפדפנים מה שאומר שאתה צריך לחפש את הסיסמא באופן ידני כשאתה נכנס לאתר מסויים.
    KeePass נשמע לי יותר רלוונטי, אבל אני אנסה את LastPass קודם.

  9. לפי מה שנראה כרגע האקרים תורכים פרצו את invoice4u
    אני מקבל מיילים מהמערכת שלהם וזה אומר שלמישהו יש את רשימת המיילים של לקוחות invoice4u
    מאוד מדאיג… אני מוציא שם חשבוניות.
    מה ניתן לעשות?

  10. צור, בהנחה שאתה משתמש באותה סיסמא בכל האתרים : הגיע הזמן לשנות אותה.
    רצוי לא לסיסמא חדשה אחת אלא ל400. (למשל תוך שימוש בLastPass).

  11. אני משתמשת ב KeePass, פועל אצלי על כל המכשירים. אין cli ולפעמים צריך.
    יש לי יוביקי כבר שבועיים שלמים. עכשיו ה-db של keepass נעול איתו.

    יוביקי הוא מקלדת, ידעתי את זה לפני שקניתי אבל לא הפנמתי, הוא שולח scan codes, של המקשים שהוא מכיר. והוא מכוונן ל-qwerty (הם גם כתבו שלא משתמשים בכל המקשים, כדי להתאים לכמה שיותר layouts). וזה לא נוח כשה-layout הדיפולטי הוא דבורק. בלינוקס אני כבר יודעת איך לגרום למקלדת של יוביקי להיות עם לייאאוט אחר, במק עוד לא

  12. עמרי,

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

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

סגור לתגובות.