התקפת dDOS ודרכי ההתמודדות

מאת: יונתן אנגל

מהי התקפת dDos?

סכמת התקפת DDOS

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

כיצד עובדת התקפת dDoS?

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

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

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

ואולם, על פתרון זה פיתחו האקרים מענה. אותו מענה הוא ה- dDos. הרעיון הוא כמו ב- DoS להפיץ הודעות רבות, אך בניגוד אל ה- DoS ה- dDoS מבקש להפיץ שרת נתון באמצעות מחשבים רבים כשאחד מהם הוא המפקד (master) והאחרים הם עבדים (slaves). המפקד (המחשב שבשליטת ההאקר) פוקד על העבדים (המחשבים האחרים) לשלוח הודעות בקשה רבות לשרת. מיהם אותם עבדים? איך המפקד משיג שליטה עליהם? והאם לא ניתן גם לאתר אותם ולמחוק את השורות הרלוונטיות שלהם בשרת ועל-ידי כך לספק מענה למתקפות dDoS?

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

כיצד ניתן להתגונן מפני dDoS?

רוב הכלים המגנים מפני dDoS מיושמים ברמת הרשת, כלומר עוד בטרם הגיעה ההודעה ליעדה. כלים כאלה, מסתמכים על רשימות שחורות שנאגרות עם הזמן ומונעים ניתוב של הודעות שמקורן בכתובות שנמצאות ברשימות השחורות. כאשר הודעה מגיעה לצומת תקשורת (כגון ראוטר, סוויץ' וכו') כתובת המקור של ההודעה נבדק. אם הוא נמצא ברשימה השחורה – ההודעה נדחית. אחרת, המכשיר בצומת התקשורת מעביר אותה דרך קו היציאה ליעד הבא. כלים כגון אלה הם: firewall, תוכנות שמותקנות על הראוטרים ו/או הסוויצ'ים, Intrusion Prevention System. לדוגמא, ה- Firewall בעצם מציב "חומת אש מסננת" בפני הודעות שמקורן בכתובות "שחורות". כאמור, החסימה מתבצעת בשכבת הרשת – כלומר עוד בטרם הגיעה ההודעה (Packet) אל הראוטר שמחובר ישירות למחשב המותקף. כלי זה נותן מענה להתקפות DoS אך הוא חלש מאוד אל מול התקפות dDoS.

 

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

 

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

תחנת הביניים המתוארת לעיל ידועה בכינוי "proxy server" (שרת מתווך). שרת proxy הוא, כפי שהוסבר, שרת ביניים המהווה חיץ בין השרת עליו מאוחסן האתר לבין הסביבה החיצונית. כל הודעה שמיועדת לשרת, צריכה לחשב את המסלול שלה כך שתעבור קודם לכן בשרת ה- proxy ואז – רק אם נמצאה תקינה – תשוגר באופן מיידי בנתיב בטוח אל שרת היעד. דוגמאות לחברות שנותנות שירות של שרתי proxy הן Cloudflare או Incapsula. בפוסט שפורסם לפני זמן קצר בבלוג של חברת Cloudflare מוצג גרף המראה שבשנת 2011 חוותה החברה עלייה של 700% בהתקפות מסוג זה. התקפות אלו לדברי הבלוג, נעשות ממניעים פוליטיים או פיננסיים – שתי סיבות המוכרות לנו היטב מההתקפות האחרונות על אתרי אל-על, אתר הבורסה ואתרי בנקים ישראליים. אנחנו לא לבד.

2 thoughts on “התקפת dDOS ודרכי ההתמודדות

  1. הסבר מצוין ומאיר עיניים. תודה! האם פירוש הדבר שברוב המקרים שאתרים קטנים או בינוניים מותקפים על-ידי מניעת שירות, התוקף הוא מתחרה מסחרי?

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *