הפרטים לגבי הפריצה ל-Lastpass

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

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

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

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

אולם לשם פריצת ה"כספת" – הפורץ יצטרך את כתובת המייל והסיסמא. בלי הפרטים הללו, ה"כספת" היא לא יותר מאשר ערימת זבל דיגיטלי, ולכן – מי שהגדיר סיסמא מורכבת, סביר להניח שהפורצים לא יצליחו לפרוץ ל"כספת" הגנובה שלו. מצד שני, למי שהגדיר סיסמא כמו abcd1234! – יכול להיות ששם הפורצים כן יצליחו לפרוץ, אם הן ינסו את הסיסמא מול ערימה שלמה של כתובות מייל. מכיוון שהמידע גנוב ונמצא (בסבירות גבוהה) offline, הפורצים יכולים להריץ סקריפטים של שילוב כתובות מייל + Rainbow Table על מנת להצליח אולי לפרוץ לחלק מאותן "כספות".

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

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

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

הפריצה הגדולה למשרדי ממשלה בחו"ל

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

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

התשובה היתה: פלטפורמת Orion של Solarwinds לניטור המערכות של הארגון.

אחרי שהם הבינו זאת, ב-APT29 פשוט פרצו אל Solarwinds ולקחו שליטה על שרת העדכונים, ומדי פעם הם החליפו את קבצי העדכונים בקבצים שהם Weaponized (כלומר – קבצים הכוללים כלי שליטה ושלל כלים אחרים עבור הפורצים). מערכת ה-ORION היתה מקבלת שדרוג מהשרת הפרוץ, השדרוג היה מותקן אוטומטית בארגון (שום מערכת IPS/IDS לא קופצת על עדכונים כאלו, כי אין להן שום דרך לדעת על העדכון), ולאחר מכן הקבוצה יכלה "לדבר" עם שרת הניטור דרך C&C, לשלוח פקודות, לקבל פלט, לקבל קבצים ומידע וכו'. הכניסה הזו הוותה בעצם "שער אחורי" שממנו הקבוצה חקרה את התשתית הפנימית של הארגון והחלה "לעבוד".

מדוע אני חושב ששיטה זו "גאונית"? הסיבה לכך פשוטה: לא חשוב כמה הארגון הגדיר את התקשורת ואת חוקי ה-Firewall או ה-IPS/IDS בארגון. בדרך כלל נותנים גישה לתוכנת הניטור לכל שרתי הפרודקשן. אינני מדבר על גישת username/password אלא גישה ספציפית לנטר את השרת, הן מבחינת משאבים (דיסק, רשת, CPU וכו') והן מבחינת שרותים שרצים על השרתים. במילים אחרות, גם בלי Agent בכל שרת, במערכת הניטור יש מספיק ידע כדי לדעת מה השרתים שיש, כמה, ומה רץ עליהם, ובחלק מהמקרים מוגדרים שם משתמש וסיסמא כדי להיכנס לשרות. במקרים שיש Agent מותקן, אז כל מה שצריך הוא להכניס Agent "נגוע" לשרת הניטור שיפיץ את ה-Agent לכל השרתים המנוטרים ומשם אפשר להיכנס ולשאוב את המידע מבלי "להקפיץ" מערכות אבטחה. זיכרו: התקשורת בדרך כלל בין שרת הניטור לשרתים האחרים ברוב הארגונים אינה מנוטרת מבחינת אבטחה/רוחב פס, DLP וכו'.

אבל כאן זה לא נגמר.

בימים האחרונים התברר לחרדתם של אותם משרדי ממשלה, שהרוסים "ישבו" על השרתים זמן רב – שנע בין חודשים לשנים, ולכל ארגון או משרד ממשלתי, הם עשו עבודה רצינית של מיפוי, בדיקת חולשות ופריצה שלא הקפיצה שום מערכת IPS/IDS. קחו לדוגמא את המקרה שחברת האבטחה Volexity מצאה כי APT29 מצאו שיטות לעקוף MFA, וגניבת תעודות פנימיות על מנת ליצור/לעקוף חתימות ובכך להיכנס למערכות פנימיות מסווגות. ניתן לקבל עוד פרטים בקישור הזה ואני מאמין שאחרים יוסיפו קישורים נוספים עם יותר מידע.

אז מה ניתן לעשות?

אם אתם משתמשים ב-Orion, כדאי בדחיפות לבדוק איזו גירסה יש לכם ולעקוב אחר ההוראות של Solarwinds. במקביל, אני ממליץ לעבור על קבצי LOG לבדוק התנהגות חשודה (לא שתגלו הרבה אם זה APT29, הם עושים את כל המאמצים לא להתגלות ולא להקפיץ מערכות). בנוסף, יכול להיות שהגיע הזמן לרכוש ביטוח סייבר ולמצוא חברה רצינית (לא אדם יחיד) לבצע בדיקות Penetration Testing לארגון.

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

כמה מילים בעניין חוק המחשבים

לפני מס' ימים קראתי את הפוסט של ידידי רן-בר זיק על המכתב שנשלח ע"י עו"ד מטעם חברת BTB. אתם יכולים לקרוא את הפוסט כאן. קל, מאוד קל יהיה להריץ דאחקות על החברה ועל ההחלטה לשלוח מכתב איום, אבל לא בשביל זה אני כותב את הפוסט הזה. חשבתי במשך מספר ימים איך לכתוב את הפוסט הזה ולהסביר לכל מיני אנשים כולל כל מיני קודקודים – בשיטה שאני אוהב לכתוב פוסטים: כל הקלפים על השולחן והאמת בפרצוף.

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

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

כשזה מגיע לאבטחת מידע, רוב החברות שבטוחות שהן מוגנות ב-95%+ הן טועות, מכיוון שברוב החברות רוכשים כל מיני פתרון כמו חומות אש, WAF, IPS/IDS וכו' ולפיכך הן סוברות שהן מוגנות. ההגנה שהציודים הללו נותנים היא חלקית בלבד. פורץ מתוחכם לא יחפש איך לתחמן את חומת האש או ה-WAF שלך, אלא יכנס לקוד שהדפדפן מוריד למחשב המקומי ולפרמטרים בשורת ה-URL. בחלקים הללו הוא ינסה למצוא את הכשלים והחורים. אחד הטיעונים המגוחכים ששמעתי ש"אין למשתמש שמריץ את ה-web service אפשרות shell". מדוע מגוכך? כי אפשר ליצור shell בכל שפה דרך הדפדפן. להלן דוגמא של shell ב-PHP שכל מה שהפורץ צריך לעשות זה למצוא מקום שההרשאות יותר מדי פתוחות כדי להעלות את הקובץ ומשם לחגוג (אם בשרת יש תמיכת PHP).

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

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

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

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

בשביל לדווח על פריצה, יש צורך ב-3 דברים:

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

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

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

אם נסתכל על כל חברה גדולה בחו"ל, החל מ-eBay, אמזון, PayPal, מיקרוסופט, רד-האט, IBM ואלפי חברות גדולות נוספות – כשהם מקבלים פניה בקשר לכך שראובן מצא חור באבטחת מידע, אף אחד מהם לא פונה ל-FBI. אדרבא, מתייחסים באדיבות לפונה ובמקרים רבים שולחים לו כתודה גם איזה צ'ק נחמד (בד"כ של 4-5 ספרות בדולרים) ובמקרים רבים גם בודקים אם אפשר לשכור את שרותיו של ראובן או שיעבוד עבורם.

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

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

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

אשמח לשמוע את דעתכם.

על אבטחת מידע ופספוסים

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

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

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

phoneזהו מכשיר טלפון מבוסס אנדרואיד מתוצרת סינית של חברת Phicomm (עוד שם מדבקה). לטלפון הזה אין תכונות מיוחדות, חוץ מזה שהוא זול בארץ – 469 שקל (ויש לו 1 ג'יגה RAM), ונוסיף לזה עוד 40 שקלים עבור כרטיס מיקרו SD של 8 ג'יגהבייט. המכשיר כבר עם root כך שאין צורך אפילו לפרוץ אותו. כל מה שאני צריך לעשות זה להתקין עליו לינוקס (כ-chroot, כך שלא צריך לפרמט את המכשיר ולהתעסק עם 1001 דרייברים) עם אפליקציה כמו Complete Linux Installer, להוריד את הפצת הלינוקס החביבה עליי ולהתחבר לטלפון עם תוכנת SSH כלשהי (ואם אני ממש מתגעגע לגרפיקה – יש VNC עם האפליקציה).

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

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

אז איך אפרוץ? אני יכול להשתמש בשיטות phishing למיניהם, ואולי אצליח, אבל בשביל מה להתאמץ כל כך? כל מה שאני צריך לעשות זה קצת לעקוב היכן החברה יושבת והיכן אותו מנהל אוכל. אני יכול להגיע לאותה מסעדה, להזמין לי איזו ארוחה ולנצל את העניין שרוב הסועדים מתחברים ל-WIFI של המסעדה. אני יכול לנסות להפיל את הנתב אבל בשביל מה? אני פשוט יכול לקחת את אותו טלפון סיני זול שהזכרתי לעיל ולהכניס את כתובת ה-Gatway של הנתב במסעדה ככתובת IP בטלפון שלי. תודות ל-ARP עם מספר טריקים פשוטים, כל גלישת התעבורה תעבור דרך המכשיר שלי ואני יכול לתת לכולם חיבור אינטרנט.. עם "מתנה" קטנה – אני יכול לסרוק את כל המכשירים – טאבלטים, מחשבים, טלפונים, ולהשתמש בפריצות שיש להם במכשירים (כמובן, אם יש לי גישה ל- zero day exploits אני יכול גם לשתול כל מיני דברים באותם מכשירים). אני יכול "להתחכם" ולא להפעיל את המעקף הזה עד שאותו מנהל יתחיל להשתמש במכשיר שלו ולפי הגלישה שלו לזהות את המכשיר ועליו להפעיל סריקה ונסיונות פריצה, ושוב – לפרוץ למכשיר סלולרי מרחוק אינו דבר כזה מסובך. (תודות לרוב חברות הסלולר, עד שמגיעים עדכוני האבטחה אפשר "לחגוג" לא מעט). מכאן, לא יהיה מסובך למצוא דרך להיכנס למכשירו, להשתמש במגוון החורים כדי למצוא root ולהתקין אפליקציה שתתן לי שרותי טרמינל. באנדרואיד לדוגמא אני יכול להתקין בכלל אפליקציה בצורה מוסתרת כמו webkey (או Prompt ו-VNC ב-iOS) שלא רק נותנת לי טרמינל, אלא גם VNC מלא וכשאותו מנהל יקיש את סיסמתו (או יצייר את ה-Pattern) אני אראה הכל. מכאן, לא חשוב לאן אותו מנהל ילך, אני אוכל להתחבר אליו גם כשהוא בחיבור WIFI וגם בחיבור סלולרי.

לשם מה יש לי צורך להתחבר לסלולרי של אותו מנהל? כי אותו מנהל יתחבר עם Certificate וסיסמא (או רק סיסמא, תלוי במדיניות בחברה) במכשיר שלו, לי תהיה גישה לכל הרשת. כבונוס, לא חשוב מה החברה תריץ כדי לחפש פירצות, הם לא יאתרו מהר את הפריצה שלי כי ההנחה היא שיש וירוס/תולעת במחשב, לא בטלפון. מכאן עד פריצה מהסלולר ל-PC של אותו מנהל המרחק די קצר (ויהיה עוד יותר קצר אם אותו מנהל משתמש ב-USB בחיבור ל-PC שלו). כמה קשה לפרוץ Windows 7/8? לא ממש קשה (שוב, תלוי בגישה שלי ל-zero day). עכשיו אני אאחל הצלחה לאיש אבטחת המידע למצוא את הטראפיק שלי בין ה-PC של המנהל לשרתים ומשם לסלולרי של אותו מנהל (ואם אני ממש רוצה לסבך את איש אבטחת המידע, אני יכול ליצור מעין "Tunnel" בין ה-PC ל-IP של המכשיר הסלולרי של המנהל ומשם לשרת כלשהו שיושב בענן ומשם לפרוקסי ומשם אליי, אבל בסופו של דבר יש לי C&C לא רע בכלל…

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

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

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

  • שרתי WEB – לבדוק את ה-POST (לדוגמא) מהיכן מגיעים נתונים ב-upload ומה הנתונים.
  • קבצי security בהפצות לינוקס.

u2fוהנה עוד המלצה קטנה: תכירו את מפתחות U2F. זו השיטה החדשה לבצע אותנטיקציה כפולה ושיטה זו נתמכת ע"י מיקרוסופט, גוגל וחברות רבות אחרות (כן, כרגיל מי שחסר בתמיכה זה מוזילה..). בניגוד ל"כרטיסים חכמים" שיושבים במחשב הנייח בחיבור USB כאבן שאין לה הופכין, כאן חייבים גישה פיזית למפתח על מנת ללחוץ על העיגול כדי לבצע אותנטיקציה (בגירסה אחרת יותר זולה יש צורך בלהוציא את המפתח פיזית מה-USB ולהכניס מחדש), כך שמחשב עם אותנטיקציה כזו בלבד פשוט לא יאפשר כניסה מרחוק ללא מגע פיזי. הפתרון נתמך בכרום, Windows מק ולינוקס (בלינוקס יש צורך להוסיף שורה ב-UDEV על מנת שהוא יוכר).

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

ההגנה הכי טובה–ההגנה שלכם

10276894_s

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

נתחיל בשאלה שנשאלת הכי הרבה: על איזה ספק שרתי VPS ניתן לסמוך בעיניים עצומות? תשובתי אולי תפתיע חלק מהקורים: אף ספק. לא בישראל ולא בעולם.

הרשו לי להסביר מדוע.

לא חשוב מי יהיה הספק שאיתו תבחרו לעשות עסקים. בין אם זה ספק “מחשוב ענן”, בין אם זה ספק שרתים וירטואליים (VPS), ובין אם זה ספק שמוכר שרות אחסון אתרים – כולם יבטיחו לכם שהם משתמשים במילה האחרונה של הטכנולוגיה להגנה. “חומת האש הכי חדשה של צ’ק-פוינט? יש לנו!” “חומת האש המפלצתית של סיסקו? קנינו אותה ראשונים”, “אנחנו מבצעים בדיקות שוטפות לגבי נסיונות חדירה”, “יש לנו את מיטב המומחים לענייני הגנה ואבטחת מידע” ועוד הבטחות כאלו ואחרות.

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

לחברת “שוקי הקופץ” יש איש ממש “שפיץ” בכל הנוגע לחומות אש. קוראים לו איציק. איציק לא יושב כל היום על הגדרות של החומות אש, הוא גם מגדיר שרתי לינוקס ו-Windows עבור לקוחות החברה, הוא גם כותב סקריפטים, ואין לו שום כח בעולם להיכנס להגדרות ה-Firewall על כל פיפס של לקוח, אז הוא יוצר משתמש נוסף בחומת האש עבור יוסי, הבחור שמקבל פניות מלקוחות בקשר להגדרות של החומת אש. הבעיה? יוסי לא כל כך מבין מה ההבדל בין TCP ל-UDP, מה זה לכל הרוחות ICMP ומה בעצם צריך להגדיר אם הלקוח שולח בקשה להגדרות פורטים של FTP? פורט 21? רגע, מה זה Passive ו-Active ב-FTP?

אז מה יוסי עושה במקרים רבים? פותח מה שנקרא “ANY ANY”. הלקוח מרוצה? כן, בהחלט. יוסי מבחינתו סיים את המטלה? סיים. עם מה נשארנו? עם כניסה מלאה לשרת, והדבר היחיד שעומד בין פורץ משועמם לבין השרת –הן ההגדרות של השרת. אם הלקוח השאיר SSH פתוח לקבלת סיסמאות בפורט 22 והסיסמא שהלקוח הגדיר היא: !1q2w3e4r – אז הולכות להיות צרות צרורות ללקוח.

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

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

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

מצבך ההתחלתי: דמיין לך ששכרת אצל ספק כלשהו מקום לאחסן שרת שלך. קיבלת כבל חשמל, כבל רשת, כתובות IP ו… זהו. יש 0 חוקים בחומת האש שחלים על השרת שלך. זה המצב שאתה צריך לחשוב עליו ולדמיין אותו.

עד כאן יש? מצוין. עכשיו מתחילים השלבים הבסיסיים בהגנה:

  1. יש לך שרת Windows? מצוין. קודם כל תשנה את חיבור ה-RDP לפורט אחר, לא ברירת המחדל (3389). איך עושים זאת? תסתכל כאן.
  2. יש ל-Windows 2008 חומת אש לא רעה (בהשוואה לגרסאות קודמות). כדאי שתיכנס קצת ותראה מה הפורטים הפתוחים מבחוץ פנימה. אתה צריך פינג? לא? בטל ICMP. יש לך כל מיני שרותים שרצים ונותנים פתרון לחשבונות לוקאליים? סגור אותם לכניסה מבחוץ. מוכן להשקיע קצת? חברות כמו MCAFEE מוכרות חומת אש ל-Windows, תחשוב על לרכוש אחת.
  3. נקודה נוספת שרבים שוכחים: לסגור את הפורטים המיותרים גם מבפנים החוצה.מדוע? מספיק שסקריפט כלשהו יוטמע באתרך, הוא ינסה להתחבר לאיזה “מרכז בקרה” של הפורץ, וסביר להניח שזה יהיה בפורט לא סטנדרטי (כמו 6667). חסימת הפורטים לא תמנע מהסקריפט הזה להיות מושתל באתרך (על כך בהמשך), אבל לפחות תמנע מהסקריפט להתחבר ל”מרכז בקרה”.
  4. סביר להניח שהספק יכול להציע לך שרות VPN בתשלום נוסף. לא צריך, יש קוד פתוח. תכיר את OpenVPN שקיים גם ל-Windows. עם OpenVPN תוכל להגדיר לך כתובת פנימית שרק דרכה תוכל להתחבר לשרותים כמו RDP.

יש לך שרת לינוקס? כאן הדברים קצת שונים אבל עדיין לא מסובכים:

  1. מומלץ לשנות את הפורט SSH מ-22 לכתובת אחרת, כדאי לשים לב שהכתובת לא מתנגשת עם כתובות אחרות. בד”כ השינוי מתבצע בקובץ sshd_config. השינוי יחול רק לאחר שתפעיל את השרות. אל תפעיל את השרות מחדש אלא רק לאחר שביצעת את הסעיפים בהמשך…
  2. לא מומלץ לפתוח פורטים כמו של MySQL החוצה! רבים פותחים חיבורים לשרת MySQL החוצה כדי לנהל אותו עם איזה כלי GUI ושוכחים שברירת המחדל MySQL אינו מוצפן. אם אתם זקוקים לחיבור מבחוץ, עשו זאת עם VPN או שתשתמשו בהוראות האלו כדי להעביר את הנתונים עם SSL.
  3. תכירו תוכנה בשם CSF. זוהי תוכנה קטנה ונחמדה שיודעת לשלוט בחומת אש הפנימית של מערכות לינוקס, ויש בה עוד חלקים שיכולים מאוד לסייע כמו סגירה של פורטים לא נחוצים מבפנים החוצה וההיפך, חסימה אוטומטית של משתמשים אחרי שלא הכניסו סיסמא נכונה 3 פעמים, ועוד המון המון דברים נחמדים שיכולים לסייע המון. אם אתם משתמשים בה, אז עשו טובה קטנה ותרמו להם כמה דולרים בפייפאל, הם עושים עבודה מעולה.
  4. אם יש לך דיסק-אן –קי שהולך איתך קבוע או מחשב נייד שלך שהוא ממש צמוד עליך, עדיף לעבוד עם SSH בשיטה של מפתח פרטי/ציבורי ולחסום בקשת סיסמאות. בדרך זו תחסום סקריפטים רבים שמנסים להיכנס דרך SSH לשרת שלך.
  5. גם כאן מומלץ לחשוב לעבוד עם OpenVPN שנכלל בכל הפצת לינוקס.

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

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

עוד נקודה נוספת: רבים סומכים על הגיבוי שספקים שונים מציעים. זו טעות. מה אם מחר נדפקים הדיסקים של הגיבוי שלכם? לא נעים. לכן, מומלץ לבצע snapshot למערכת, לבקש את קובץ ה-snapshot ולשמור אותו אצלכם בצד, ולהשכיר שטח גיבוי שאליו תבצעו גיבוי משלכם שבמקרה חרום הספק ירים לכם מכונה בתולית, תוכלו להטמיע את ה-snapshot ולשחזר גיבויים. מדוע גיבוי משלכם ולא גיבוי מרוכז של הספק? כי אין לכם שום מושג מה מצב הגיבוי, כמה הגיבוי והשרת עצמו מוגנים, וכו’. בגלל זה מומלץ להתקין תוכנת גיבוי משלכם (אנשי לינוקס יכולים פשוט לכתוב סקריפט פשוט לבצע rsync או קבצי tar מוגנים בסיסמא) שישבו בשרת פיזי אחר

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

בהצלחה

בעקבות גניבות כרטיסי אשראי – שאלות ותשובות

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

במאמר זה ננסה לענות על שאלות שעולות אצל בעלי אתרים.

האם המידע שמסרו בעלי חברת דובל נכון והפורץ חדר מתוך אתר בלתי מוגן אל אתרים מוגנים?

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

יש לי אתר שאני מוכר בו מוצרים, האם גם האתר שלי חשוף לפריצות?

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

באתר שלי אני סולק כרטיסי אשראי ישראליים. האם יש המלצות כלשהן?

ישנן מספר המלצות עיקריות:

  • להעביר את האתר בדחיפות סריקה של איש אבטחת מידע לגבי הצפנת הנתונים, מחיקת נתונים שאין צורך בהם ושאסור שישמרו אצלך (לדוגמא: 3 הספרות בגב כרטיסי האשראי, מה שנקרא CVV או CVV2) ובדיקת עדכונים לגבי התוכנה שאתה משתמש בה לניהול האתר/חנות.
  • מעבר לאחסון לשרת וירטואלי (שרת VPS) – ראה הסבר בהמשך המאמר מדוע.
  • חתימת חוזה מתמשך עם בונה האתרים שלך (או בונה אחר) להטמעת עדכוני תוכנה ואבטחה באחסון שלך לפחות אחת לחודש.
  • מעבר לסליקה דרך אתר חיצוני (כמו טרנזילה ואחרים) שלהם יש מומחיות בסליקה, הצפנה ועוד.

אם אני מוכר מוצרים אבל אני לוקח פרטי אשראי בטלפון, אני צריך לדאוג?

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

למה אני צריך שרת וירטואלי? מה רע במה שיש לי היום? הספק אומר שהאחסון מאובטח

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

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

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

מה אם אני מעוניין לשמור פרטי אשראי למקרה והלקוח ירצה לרכוש פריטים/מוצרים נוספים?

לשם כך אני ממליץ לך להיוועץ במחלקת האבטחה של חברת האשראי איתה אתה סולק כרטיסים.

סולק צד שלישי יקר לי/לא מתאים לי ואני לא רוצה להיכנס להוצאות נוספות. אי אפשר להוזיל עלויות?

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

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

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

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

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