אשליית אבטחת מידע

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

רוב העסקים והחברות עובדים בדיוק באותה שיטה על מנת להגן על עצמם: חומת אש כלשהי בחברה, גישה מבחוץ (אם תינתן) רק דרך VPN, ובמחשבים עצמם מותקן אנטי-וירוס/"חומת אש" של ספק כלשהו (קספרסקי, סימנטק, ועוד), ואם מנהל הרשת לא עצלן הוא יעדכן אוטומטית את העדכונים שמיקרוסופט שולחת בשרתים ובתחנות. בחלק מהחברות ינתן למשתמשים האפשרות להשתמש ב-Admininistrator המקומי, ובחלק מהמקומות זה יאסר והרשאות יחולקו לפי צרכים. בחברות גדולות מבחינת דפדפן אינטרנט מותקן אקספלורר 6 או 7 והוא הדפדפן העיקרי שאיתו עובדים כדי לא לשבור את התאימות לאפליקציות Web הפנימיות (אם כי יותר ויותר חברות משתמשות באקספלורר 8, לא בגלל רצון עז לשדרג דפדפן, אלא בגלל הסיבה שזה מה שמגיע עם Windows 7).

אסתכן ואומר: ב-90% מהמקומות זו הקונפיגורציה פחות או יותר.

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

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

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

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

ברוב מוחלט של המקרים, חברות קונות מספר מוצרים של חברת אנטי-וירוס אחת, כלומר התוסף ל-Exchange שמונע וירוסים ורוגלות הוא מאותה חברה שמייצרת אנטי-וירוס לתחנות עבודה. מהו? אותו אני יכול לדעת מה-Headers של המייל שאותו נציג שלח לי. באותם Headers גם מופיע לי איזה אופיס יש לנציג, וכתובת IP חיצונית של השרת מייל שלהם.

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

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

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

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

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

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

  • בוא נאמר שאני צריך להיכנס ל-Exchange של החברה (הרי המייל יושב בשרתים, הוא לא נמחק מהשרת). הרישום של השם משתמש וסיסמא נמצאים ב-Registry וקל מאוד למצוא היכן (לא צריך Administrator לקרוא את זה, לכל משתמש יש הרשאת Read Only, ומכיוון שאיני הולך לשנות את הערך, אני לא צריך לכתוב). הסיסמא כמובן מוצפנת, אבל ב-4 שורות קוד (ספרתי) אפשר להפוך אותה לטקסט פשוט. מכאן מה שצריך זה להתחבר לשרת דואר ולשאוב את הדואר, ולא חסר API לשם כך.
  • אין לי אפשרות להיכנס לשרת מייל? אוקיי. אני יכול ליצור ZIP לקובץ PST ולהתחיל להעביר אותו "בתשלומים" דרך ה-Web. אם אעביר אותו בפעם אחת, מנהל הרשת עלול לעלות על כך, ולכן אעביר כל 5 דקות חלק (נניח חצי מגה) של ה-ZIP דרך פורט 80 או דרך הפרוקסי של החברה (בהתאם ל-Registry של החיבור לאינטרנט) בצורה מספיק חכמה כדי שימשיך להעביר גם לאחר שהמחשב כובה והודלק למחרת.
  • אחרי שיש לי את הקובץ, אני יכול כמובן לפרוס ולהנות מהמיילים, אבל אני יכול להמשיך מכאן ולבנות לי מעין Client שיושב במחשבו של הנציג וסרבר שיושב בשרת Web במחשוב ענן. אני מעוניין לראות מה יש בכונן בתיקיה מסויימת? אוכל לשלוח פקודת dir, ה-client יקבל את הפקודה, יבצע וישלח לי אותה בחזרה דרך השרת Web.
  • ואפשר לעשות עוד הרבה דברים….

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

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

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

סוף סימולציה.

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

  • לא סומכים רק על עדכונים. ישנם לא מעל אתרים המפרסמים Disclosure על פריצות חדשות בכל מערכות ההפעלה ואפליקציות. כל מה שצריך זה להירשם ולעקוב אחר העדכונים והכי חשוב ליישם את ה-Work-around שאותן חברות נותנות עד שיצא Patch תיקון. הערכה שלי: 90% מהחברות בארץ לא עושות זאת.
  • הטמעת פתרונות Packet Inspection שיודעות לעשות אנליזה לפאקטים שיוצאים (במיוחד שיוצאים). כלי כזה יכול לעצור משלוח חלקים מאותו קובץ ZIP שאני שולח כמו בסימולציה.
  • פתרון לא כל כך מקובל, אבל חברות גדולות יכולות להכתיב אותו: לקוח רוצה לשלוח חומר? הלקוח יכול לגשת לאתר החברה ו"להדביק" את החומר בדף מיוחד (לשם כך יש את TinyMCE ואחרים המאפשרים הדבקת טקסט עשיר). כך אפשר לשים קורות חיים, הצעות ועוד מבלי לתת לסקריפטים להיכנס פנימה.
  • יישום מנגנון שאינו מאפשר לשום סקריפט לרוץ מתוך קובץ שהתקבל מבחוץ. אל תסמכו על הכלים של מיקרוסופט שיעצרו את זה.
  • הסברה לעובדים: מקבלים מייל "חתוך", מייל מעמית לעבודה עם הצמדה בלי שום הסבר מלווה? שישלחו את המייל לצוות ה-IT שיבדקו אותו, וליתר בטחון תרימו טלפון לאותו עמית ושאלו אותו אם הוא שלח את אותו מייל. אם הוא לא שלח, מישהו מנסה לחדור אליכם.
  • כדאי להסביר לנציגים להיות חשדנים: לא לתת את המחשב למישהו שעכשיו פגשתם.
  • בנקים: בנק גדול מאוד חשוף לטריקים האלו, ואחד מהניתובים בתוך רשימת הניתוב ניתן לצאת דרכה לרשת גם מהמחשבים של הפקידים בבנק. תארו לכם אפליקציה כמו שתיארתי, רק במקום מייל, היא תעשה דברים אחרים, והיא יכולה להוציא ולהכניס מידע. חושבים שאני מדמיין? אני לא. אני רומז לבנק מסויים שדיברתי עליו בעבר שכדאי שיעברו מחדש על טבלת הניתוב שלהם.

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

Comments

comments

10 תגובות בנושא “אשליית אבטחת מידע

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

  2. חץ, לא יותר פשוט לעבור ללינוקס ?
    הפצת לינוקס המוגדרת כשולחן עבודה ( בלי שום תוכנה שרצה כשרת כמו אפאצי או שרת קבצים ) ועם פורטים חסומים וביטול האפשרות להרצה אוטומטית מ- USB תמנעה לפחות 90% מהפריצות.

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

      • social engineering לא יעזור אם לאדם שמנצלים אין הרשאות root.
        אם אני מריץ לדוגמא דביאן בגירסה היציבה ( עם כל עדכוני האבטחה ) שחוץ משולחן עבודה מותקן עליה ליבר-אופיס ודפדפן וסוגר פורטים ולמשתמש אין הרשאות root איך ניתן להוציא מידע מהמחשב ?
        אני יכול גם להריץ ארץ' או ג'נטו ואז נראה את הפורץ מנחש משהו.
        אחת ההגנות הכי טובות של לינוקס היא ריבוי האופציות, מאוד קשה לפורץ להתקונן לכולם.
        אני לא טוען שלינוקס מערכת הפעלה מושלמת אבל אם עובדים איתה נכון אז ניתן להגן על המשתמש מפני עצמו.

        • מנצל buffer overflow או אולי directory traversal במשהו אצלך למשל.

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

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

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

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

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

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

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

  4. "בצורה מספיק חכמה כדי שימשיך להעביר גם לאחר שהמחשב כובה והודלק למחרת."
    ללא הרשאות ROOT? איך?

    • בפרופיל המשתמש.
      על מחשב של משתמש זה אפקטיבי בדיוק כמו daemon כי המשתמש הרי בטוח יכנס לפרופיל שלו. זה לא שרת.

  5. אז אתה מתכוון לכתוב בעצמך shellcode תוך כדי מימוש חולשה באקסל, אותו shellcode יריץ קוד שאף AV לא יקפוץ עליו, אתה לא צריך דואג מחתימות סטטיות אלא אם אתה משתמש בתשתית מוכנה כמו מטאספלוייט לייצר את הבינארי שלך, אתה רק צריך לעלות על דרך לגשת לרג'סטרי (ועוד לא דיברנו על גישה לקבצים ולנבכי מערכת ההפעלה) בלי להקפיץ את ה-UACAV (וזה אומר שאתה חייב לרוץ כסיסטם, אחרת אף AV לא יעביר אותך, דרושים פה לא מעט hookים כדי לעבור את מרבית ה-AVים בשוק, או לפחות את הנפוצים..)

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

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

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