קצת על סייבר
אחד התחומים שכולם אוהבים לדבר עליו בשנים האחרונות הוא הסייבר. עם התגברות האיומים והמתקפות, ועם ההסתמכות שלנו על טכנולוגיה שמעלה את הרווחים שאפשר להשיג מתקיפות כאלה. אני מתחיל לפתח קורס מקוון בנושא שמיועד בעיקר למתכנתים ואנשים עם אוריינטציה טכנית חזרה להיכרות עם העולם. הפוסט הבא כנראה יהיה אחד משיעורי המבוא.
בשיעור נעבור על מספר תקריות סייבר מהתקופה האחרונה וננסה להבין מה גרם להן, ואיך היה אפשר למנוע תקריות דומות.
1. ניצול לרעה של תקלות תוכנה ידועות
ב 13.5.2017 התפרסמה בהארץ הכותרת הבאה: ״מרוץ נגד הזמן: מומחים חוששים שהמידע על המחשבים שהותקפו יימחק״ ותחתיה ההסבר על מתקפת ענק שפגעה כבר ב 99 מדינות. (הכתבה המקורית: https://www.haaretz.co.il/news/world/europe/.premium-1.4088549).
לרוב כשיש תקלה בתוכנה ההשפעה היחידה היא על המשתמשים שמתעצבים, מה שמוביל לגירסא מעודכנת שמתקנת חלק מהתקלות ומוסיפה תקלות חדשות. לא משהו להתרגש ממנו או לכתוב עליו בעיתון. רק תזכרו בפעם האחרונה שוורד לא הגיב כמו שרציתם, או שהאייפון פתאום נכבה באמצע שיחה. לא נעים, אבל קורה.
הבעיה שתקלות מסוימות בתוכנות מסוימות עשויות להיות מנוצלות לרעה. בהמשך הקורס נבין יותר לעומק איך זה קורה. בינתיים מספיק להגיד שאותה הבעיה שגרמה לתוכנה מסוימת להתרסק בעקבות פעולה שעשיתם, עלולה היתה לגרום לתוכנה לעשות דברים הרבה יותר גרועים. אחד הדברים האלה הוא להתקין תוכנה אחרת או וירוס.
אנחנו נגיד שפירצה בתוכנה היא תקלה בתוכנה שגורמת לה במצבים מסוימים לא להתנהג כפי שהמתכנת (והמשתמש) התכוון, וניצול פירצה הוא התהליך בו מישהו אחר מנצל את התקלה הזו כדי לגרום לתוכנה לעשות משהו שהוא רוצה: להתרסק, להפעיל קוד אחר, לדווח על פעולות המשתמש או כל דבר רע שאתם יכולים לחשוב עליו.
בחזרה למרוץ נגד הזמן. איך קרה ש 36 בתי חולים בבריטניה נפגעו מאותה התקפת סייבר? ההסבר הוא פשוט. בכל התוכנות שאנחנו משתמשים בהן יש תקלות. אין לנו מושג איזה תקלות אלו ואיך אפשר לנצל אותן, אבל יש אנשים שחוקרים בדיוק את הדברים האלה, למשל ה NSA. במקרה שלנו מדובר בתקלה שה NSA גילה במערכת Windows שמאפשרת למי שמודע לתקלה ויודע את הפרטים הטכניים להריץ קוד זדוני על כל מחשב. ה NSA כמובן שמר את דבר התקלה ואת האופן שבו אפשר לנצל אותה בסוד, כדי להשתמש בזה לצרכי הריגול שלהם.
באפריל 2017 קבוצה בשם ״The Shadow Brokers״ הצליחה לשים ידיה על הפירצה ועל כלי שיודע לנצל את הפירצה (בשם Eternal Blue). במועד זה כנראה ב NSA כבר ידעו שמישהו הדליף את הכלי כי חודש קודם לכן מייקרוסופט הוציאה במפתיע עדכון תוכנה למערכת ההפעלה חלונות שכלל תיקוני אבטחה לכל הגירסאות. כך שמתווכי הצללים הפיצו באפריל כלי שמתקן תקלת תוכנה שכבר תוקנה במרץ. כל מי ששידרג את מערכת ההפעלה שלו היה מוגן.
כשחודש לאחר מכן, במאי 2017, תולעת בשם WannaCry תקפה את האינטרנט תוך ניצול של אותה פירצה, היינו אמורים להיות כבר מוגנים. אבל כמובן שלא כולם משדרגים ובמיוחד מחשבים בארגונים גדולים כמו בתי חולים. אותה תולעת גרמה לכל המחשבים שלא שודרגו להריץ קוד זדוני: קוד שמצפין למשתמש את כל הקבצים ודורש 300$ לצורך שחרורם.
2. גניבת מידע שלא נשמר כמו שצריך: המתקפה על אשלי מדיסון
הכותרת שלנו הפעם: ״טעות של מתכנתים גרמה לכך ש 15 מיליון סיסמאות נפרצו״ (קישור: https://arstechnica.com/information-technology/2015/09/once-seen-as-bulletproof-11-million-ashley-madison-passwords-already-cracked/)
ביולי 2015 האקרים הצליחו לנצל פרצות בקוד האתר אשלי מדיסון כדי להשתלט על חלק גדול מבסיס הנתונים של האתר. מעל 60 ג'יגה של מידע של החברה הגיע לידיהם ואותם האקרים התחילו להפיצו ברשת במטרה להביא לפשיטת רגל וסגירה של האתר. מעבר לנושא המבוכה של בעלי החשבונות באתר, אני רוצה להתמקד כאן בהיבט של חתיכת מידע אחת שהרבה אתרים שומרים עלינו בבסיס הנתונים שלהם, וזו הסיסמא.
רוב האנשים היום עדיין משתמשים באותה סיסמא כמעט לכל האתרים שנרשמים אליהם, ולכן יש חשיבות גדולה לשמירה על סודיות הסיסמא איתה גולש נרשם לאתר. מתכנתים יודעים זאת ולכן לא שומרים את הסיסמא עצמה בבסיס הנתונים אלא איזושהי נגזרת שלה. נדבר על כל זה בהמשך הקורס כשנלמד על ניהול סיסמאות. בינתיים מספיק לחשוב על הסיסמא כמו קופסה שחורה של מטוס. גם אם כל בסיס הנתונים נגנב (המטוס מתרסק) לפורץ עדיין לא תהיה גישה לסיסמאות.
במקרה של אשלי מדיסון הסיסמאות אכן נשמרו בשיטה המתקדמת ביותר שנקראת bcrypt ואמורות היו להישאר מוגנות. או לפחות כך המתכנתים חשבו. הבעיה שבנוסף לשיטה זו ומסיבה לא ברורה שמרו המתכנתים גם גירסא פחות מתקדמת שנקראת MD5. התוצאה, שעבור אותם 15 מיליון חשבונות להם היתה הגנה ״כפולה״, היה מספיק לפרוץ את החוליה החלשה ביותר במנגנון כדי להגיע לסיסמא.
מערכות תוכנה גדולות בנויות ממספר שכבות. לפעמים אלו מתכנתים שונים שכתבנו מנגנונים שונים לביצוע אותה פעולה, לפעמים שכבות היסטוריות שהשדרוג שלהן עדיין לא הושלם ולפעמים מנגנונים שונים שמשתמשים באותו מידע. במערכות מורכבות מספיק לרוב למצוא תקלה באחת השכבות כדי להפיל את כל המערכת, וזה אולי ההיבט שהופך את החיים שלנו המגינים להרבה יותר מורכבים.
3. מניעת שירות: המתקפה על Dyn
ביום שישי, ה 21.10.2016 גולשים רבים מצאו את עצמם מחוץ לרשת. לא ניתן היה לגשת לאתרים הגדולים באמריקה, ביניהם Amazon, Paypal, Twitter ועוד. אמאזון עצמה היא ספקית תשתית והנפילה שלה הפילה מאות אלפי מערכות בכל העולם שהשתמשו וסמכו על אותה תשתית. את סיפור המתקפה אפשר לקרוא בויקיפדיה בקישור: https://en.wikipedia.org/wiki/2016Dyncyberattack
כדי להבין מה הלך שם צריך להבין מה זה DNS ואיך האינטרנט בנוי, רעיונות שנדבר עליהם בהמשך הקורס. בינתיים נסתפק בגירסא המקוצרת. מחשבים ברשת האינטרנט מזוהים על פי כתובת מספרית שנקראת כתובת IP. מנגנון ה DNS הוא כמו ספר טלפונים שמתרגם בין כתובת אתר כמו שאנחנו מכירים לכתובת מספרית שהמחשב יודע לעבוד אתה. רשם DNS היא חברה שמנהלת את ספר הטלפונים הזה. יש הרבה רשמי DNS והם יודעים לעבוד יחד כך שכולנו יכולים לגשת לכל האתרים, לא משנה באיזה רשם DNS השתמש בעל האתר.
מנגנון DNS בנוי כך שכשאתם גולשים לאתר רשם ה DNS שיתרגם את הכתובת שרשמתם לכתובת IP הוא זה שבעל האתר קנה ממנו את השרות. כלומר אתם מופנים לאותו רשם DNS שבעל האתר בחר להשתמש בו.
ונשאלת השאלה, מה קורה כשרשם DNS מותקף?
חברת Dyn היא רשם DNS גדול שמספקת שירותי DNS לחברות הגדולות באמריקה. באותו היום ב 7 בבוקר (שעון החוף המזרחי) החל להיווצר עומס על השרתים של Dyn. עומס גדול יותר ממה שהחברה אי פעם נתקלה בו. ויותר מזה נראה שהעומס לא מגיע ממקור אחד אלא מעשרות מיליוני מכשירים שונים. העומס הוביל למניעת שירות, כלומר שרתי Dyn היו כל כך עמוסים בלענות לשאלות של אותם עשרות מיליוני מכשירים עוינים שלא היה להם זמן לענות למשתמשים הרגילים שבאו לבדוק את כתובות האתרים שלהם.
חקירת המקרה הובילה למסקנות מפתיעות. עשרות מיליוני המכשירים שתקפו את Dyn היו מכשירי אינטרנט קטנים כדוגמת מצלמות, שערים חשמליים ומוניטורים לתינוק. דיברנו כבר על החשיבות שבעדכון תוכנה כדי לקבל גירסא חדשה שמתקנת תקלות בקוד, אבל מי משדרג את השער החשמלי בכניסה לבניין שלו? והאם זה בכלל אפשרי?
התקני חומרה משולבי אינטרנט מהווים היום את אחת מסכנות הסייבר המשמעותיות, מאחר וקשה עד בלתי אפשרי לשדרג את התוכנה שעליהם מרגע שהתגלתה בה תקלה. במקרה של Dyn רק לאחר תחילת המתקפה הם הצליחו לזהות את תבניות המכשירים התוקפים ולהרחיקם מהרשת, ובסופו של דבר בלמו את המתקפה. אבל המסר עבר ודי ברור שהעתיד בתחום מתקפות מניעת שירות הולך להיות בעייתי.
4. פישינג
״הי סניף תל אביב? מדבר דוד מהסניף בחיפה. המחשבים שלכם עובדים היום? אנחנו כל היום תקועים כאן בלי מחשב ואתה לא מאמין איזה עומס נוצר. תשמע יש אצלי לקוח שקנה אצלכם חולצה ורוצה להחליף אותה. תוכל לעשות לי טובה ולהסתכל במחשב לראות אם אכן מדובר בלקוח שקנה אצלכם? מעולה תודה רבה. שם הלקוח ישראל ישראלי, אני צריך גם את הכתובת, מספר הטלפון ותאריך הקניה. מעולה תודה, ומה מספר כרטיס אשראי ותאריך פג תוקף שאיתו הוא ביצע את הקניה? מעולה תודה רבה עזרת לי מאוד.״.
כך עשויה היתה להישמע מתקפת פישינג, אבל כמובן שמתקפות כאלה באות בהרבה צורות וצבעים. לפעמים דרך אימייל, לפעמים בטלפון ולפעמים התחזות וגישה פיזית למקום. המטרה בכל מקרה היא זהה: לקבל גישה למידע שהתוקף לא אמור היה לקבל גישה אליו. דרך יצירת אמון והפחדות, תוקפים מצליחים לגרום לנו לשלוח להם סיסמאות, מספרי כרטיסי אשראי או מידע אחר שיעזור להם בהמשך ביצוע המתקפה. לפעמים מתקפות כאלה מסתיימות בזה שהקורבן מתקין תוכנה על המחשב שלאחר מכן משמשת לריגול וגניבת מידע מאותו קורבן. ברוב המקרים הקורבנות לא יודעים שנעקצו עד הרבה אחרי שהמתקפה מסתיימת.
5. מה אפשר לעשות
לוחמת סייבר זה עסק מורכב המשלב טעויות אנוש עם ידע טכני וניצול תקלות תוכנה וחומרה. ככל שתוכנה הופכת לחלק משמעותי יותר מחיינו, והרווחים הפוטנציאליים מרמאויות בה גדלים, כך אנו צפויים לראות המשך עליה במתקפות, בחומרה ובמורכבות שלהן.
במהלך הקורס נלמד לעומק איך עולם התוכנה והתקשורת בנוי מזווית של מי שמעוניינים לתקוף אותו. אני מקווה שדרך הבנה יותר מעמיקה של עולמות אלו גם אתם תדעו להתגונן טוב יותר ברמה האישית והתעסוקתית.