Home אבטחת מידעInformation Security הסבר על DOS Denial Of Service ו DDOS ו Botnets

הסבר על DOS Denial Of Service ו DDOS ו Botnets

by Tal Ben Shushan 27/07/2018 0 comment
הסבר על DOS Denial Of Service ו DDOS ו Botnets

הסבר על DOS Denial Of Service ו DDOS

Denial Of Service או בשמו העברי , התקפת מניעת שירות הוא מסוג ההתקפות שאינם נמנים עם חורי אבטחה, הזרקת נתונים וכו’ אלא מסוג השבתה של שירות או מניעתו.
2 סוגי התקפות DOS קיימות

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

DDOS – קיצור של Distributed Denial Of Server הוא שימוש של כמה מחשבים (זומבים, מחשבים) כנגד מטרה אחת או כמה מטרות
ככל שיותר מחשבים מבקשים שירות מהשרת כך הסיכויים שהשירות עלול לקורס, לדוגמה, אם התוקף שולט על 10,000 מחשבים, כל אותם מחשבים פונים לשירות שגם ככה כבד ולוקח לשרת זמן לספק אותו וכל אותם 10,000 מחשבים מבקשים אותו בו זמנית השירות יקרוס.

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

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

בDOS קיימים גם “התקפות” שלא בכוונה זאת אומרת תארו לכם אתר כמו https://slashdot.org, אחד מהכתבים באתר, מוצא כתבה בבלוג טכנולוגי קטן ומפרסם קישור של הבלוג בכתבה הראשית שעלתה היום לאתר.
כעת משתמשי https://slashdot.org (כמות לא מבוטלת) קוראים את הכתבה וניגשים לבלוג הקטן הזה, לרוב בלוג קטן ישב על “שרתים” יחסית חלשים עם מינימום תעבורה, כוח עיבוד וזיכרון וברגע שכל כך הרבה משתמשים לגיטמיים שרוצים לקרוא את הכתבה, ניגשים אליו, האתר פשוט קורס מהעומס האדיר שלפתע נחת על האתר. לתופעה הזו קוראים Slashdot Effect
סיפור נוסף “מצחיק” יחסית הוא של חברת utube.com , חברה ליצירת צינורות, משתמשים רבים הקישו את הכתובת של האתר הזה על מנת לגשת ליוטיוב, אבל האתר הקטן של החברה ליצירת צינורות לא מגיע לכוח השרתים של יוטיוב המקורי וכך היה קורס כל הזמן.

מפות

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

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

מפות כאלו הם למשל של:

http://map.norsecorp.com/

https://threatmap.checkpoint.com/ThreatPortal/livemap.html

https://threatmap.fortiguard.com/

https://cybermap.kaspersky.com/

https://www.fireeye.com/cyber-map/threat-map.html

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

חלק מהקוראים זוכרים את האתר ואת אותו צעיר (שנתוני ה80 וה90 שגלשו לאתרו)לינק לכתבה

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

רוחב פס –

רוחב פס הוא נפח התעבורה המקסימלי שמחזיק השרת או קבוצת השרתים המארחים את האפליקציה, לדוגמה אם תרכשו שרת בישראל תקבלו בין 10Mbit ל 1000Mbit או 1Gbps רוחב פס, זאת אומרת שבזמן נתון השרת יכול לספק 1Gbps הורדה או העלאה לשרת.
הרוחב פס שמקבלים כאשר משכירים שרתים בחו”ל לרוב 1Gbps או 100Mbit אבל זה מתייחס לרוחב הפס (מהירות החיבור של השרת)
רובם גם יגבילו את רוחב הפס הכללי בחודש, לרוב המגבלה בשרתים בחו”ל הם 1TB – 5TB בחודש, בגלל שהשרת שלכם נמצא בארון משותף ומהירות החיבור היא 1Gbps ולא תגזימו בשימוש לעומת שרתים אחרים בארון החברות האלו שמים מגבלה.

התקפת מניעת שירות נמדדת ב Gbps, או ברוחב הפס ככל שההתקפה מגיע מיותר מחשבים עם רוחב פס גדול יותר כך הם “ישתו” את רוחב הפס של השרת המארח את האתר או האפליקציה ויגרמו לקריסתו או למניעת השירות שלו.
אם נבדוק את התקיפות שאירוע ב2004, הגדולות ביותר, באותה התקופה של הכתבה שפרסמתי למעלה, היה 8Gbps וב2008 היה בסביבות ה 35Gbps וב 2011 הגיע ל60Gbps, עד כה התקפות גדולות, כיום ההתקפות הגדולות ביותר שנצפו הגיע ל 500Gbps…

אם 500Gbps נשמע לכם גדול, גיטהב או Github חטפו ב2018 את מתקפת ה DDOS הגדולה בעולם, 1.3TB לשניה אחת

כיצד התקפה כזו גדולה פוגעת באתר אחד?
התוקפים השתמשו בחולשה במערכת “מטמון” מסוג Memcache D למערכות SQL, כאשר משתמש נכנס לאתר אשר משתמש בMemcache השרת קודם כל פונה ומבצע שאילתה לMemcache, רק אם לMemcache אין את השאילתה הזו, השרת מבקש משרת הSQL או משירות ה SQL שנמצא עליו ( הסיכוי שכל המשתמשים קוראים לדוגמה את המאמרים החדשים באתר ולא גולשים למאמרים משנת 2004 גדול יותר ולכן מערכת מטמון מסוג זה מהירה יותר)
בשירות עצמו לא קיים מערכת אימות שכן אינו חשוף לעולם והוא נמצא בשרת בלבד ומתשאל את שירות הSQL
כעת התוקף מבצע חיפוש מעמיק ברשת לשרתים המשתמשים בשירות MemcacheD, התוקף פונה לשירות ה Memcache ומזייף את ה Source IP שלמעשה הכתובת IP היא Github, הבקשה נשלחת והתגובה מגיע מפורט UDP בחבילה בגודל של 1,400 בייט
סה”כ של תעבורה בשניה אחת הייתה 1.35TB במשך 8 דקות (שימוש זה נקרא Amplifications Attack שאסביר בהרחבה בהמשך)

קישור לכתבה

  סוגי התקפות

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

Botnets

הם מחשבים \ שרתים תמימים לרוב שהתוקף הצליח לצרף אותם כ Botnets , למשל תוקף מייצר אתר פיקטיבי שטוען שהתוכנה שתורידו תתקין ברקע תוכנה שמייעלת את מהירות המחשב.
משתשים נכנסים לאתר מורידים את התוכנה ומתקינים אותה, במציאות התוכנה לא מבצעת שום ייעול זיכרון אלא צירפה את המחשב של אותו משתמש כ Botnet, טכניקות אחרות הם הורדת ווירוסים ו Malwareים כאלו ואחרים.
ברגע שאותו מחשב או שרת נהפכים ל Botnet הם נשלטים על ידי שרת C&C או בקיצור Command & Control, שרת זה שייך לתוקף והוא מנהל את שרת ה C&C ובכך שולט באותם מחשבים \ שרתים.
מחשבים ושרתים אלו נקראים לרוב Zombies והסיבה היא כי המשתמשים אינם מודעים לכך שהמחשב שלהם משמש לביצוע מתקפות DOS ושיש אפילו “תוכנה זדונית” במחשב.
תארו לכם שאלפי או עשרות אלפי מחשבים כאלו מבצעים כניסה לאתר אחד קטן (בלוג למשל) עצם הכניסות לאתר יכולות להפיל אותו.

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

Http Flood Attack

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

על מנת לבחון תקיפה כזו, נשתמש ב Fiddler Web Debuger להורדה מכאן

הפעלתי את התוכנה, ניגשתי לאתר שלי בדפדפן ואז הקשתי Shift + R

התוכנה שואלת כמה פעמים לבקש את האתר ב http הקשתי 20 וניתן להקיש 10,000 וכך לגרום לDOS פשוט בו הבקשה לאתר בוצעה 10,000 פעם ולאט את האתר, כמובן שזה תלוי ברוחב הפס של השרת , זיכרון וכוח עיבוד.
אבל אם נריץ את אותה התקפה משרת חזק עם רוחב פס גדול נוכל להאט אתרים קטנים מאוד.
התקפות נוספות יכולות להגיע מ Post או Get בפורוטוקול http

SYN Flood

תחילה צריך לחזור על Three way Handshake, בצורה פשוטה לאלו שלא זוכרים
בשכבה 4 ה Transport Layer, קיים מנגנון זה על מנת ליזום חיבור בין 2 מחשבים

זה שרוצה ליזום את החיבור שלוח Syn ברגע שהשרת מקבל Syn הוא שולח SYN+Ack ואז היוזם שולח חזרה ACK.
כאשר רוצים ליצור Syn Flood אנחנו נשתמש בחצי Syn זאת אומרת:
התוקף ישלח SYN, השרת ישלח SYN + ACK ואז התוקף לא ישלח כלום….
זאת אומרת שהשרת ממתין לתגובה אבל כלום לא קורה, והתקשורת בניהם נשארת פתוחה.

צורה נוספת היא ביצוע של Spoof Source Address, התוקף מזייף את הSource Address ב TCP וכך כאשר הוא שולח לשרת את ה Syn Flood, השרת שולח את ה SYN + ACK לשרת \ מחשב אחר, כך התוקף נשאר “אנונימי” ובדרך מעמיס שרת אחר בכך שהשרת האחר מקבל SYN + ACK מהשרת אליו שלח התוקף את הבקשה.

UDP Attack

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

ICMP Attack

הוא פרוטוקול בשם ICMP או יותר מוכר לכם מPing, הוא פרוטוקול המשתמש ב Echo Request ו Echo Replay בהתאמה בפינג.
ניתן לזייף את ה Source IP ובכך ברגע ששלחתם Echo Request ה Echo Reply ישלח למחשב אחר לחלוטין.
תקיפה זו נקראת Smurf Attack.
בצורה זו ניתן לשלוח נאמר ל100 שרתים ברשת Echo Request כאשר ה Source IP הוא שרת מסוים אותו התוקף רוצה להפיל.
באותו הרגע 100 בקשות של Echo Reply יגיעו לאותו השרת והוא עלול לקרוס (כמובן שצריך יותר מ100 מחשבים)

צורה זו של התקפה נקראת גם Amplifications attack שכן אנחנו שולחים Ping להמון שרתים  אבל ה Source שלנו מזוייף וכל השרתים מחזירים תשובה לשרת אחר אותו אנו רוצים לתקוף.

התקפה נוספת היא Ping Of Death במצב זה מערכות ישנות שתומכות בהטמעה ישנה של TCP תומכות בעצם באפשרות של שליחת Ping אשר גדול מ 64 ביט כך למעשה גורם ל Overflow וגורם לקריסה של המערכת, נכון להיום כמעט ואין מערכות ישנות כאלו שניתן לבצע עליהם DOS שכזה

Amplifications Attack

אחד ההתקפות הידועות שבוצעו בצורה זו, היא התקפת DNS, התוקף שולח “שאילתת DNS” אל שרת DNS ואומר לו “תן לי את כל ה Zone שלך” אבל התוקף זייף את ה Source Address והכתובת IP של Source היא של המטרה של התוקף, כך שתגובה הגדולה שמגיע משרת הDNS מגיע אל המטרה.
כך שהמטרה שמקבלת את התגובה הזו משרת הDNS לא יודעת שתוקף מבצע זאת כי הוא מקבל את הDNS משרת לגטימי
בצורה זו או כמה בקשות כאלו לא באמת יצרו איטיות משמעותית בשרת אותו התוקף רוצה להפיל.

אבל אם לתוקף יש Botnets שלכל Botnet יש רוחב פס של 1Gbps וכל אחד מהבוטנט משתמש בכל התעבורה שיש לו יש סה”כ 3Gbps תעבורה אשר נשלחת ל שרתי הDNS ולכל שרת DNS יש תעבורה גם של 1GBPS נגיע ל 24Gbps של תעבורה לשניה אחת

1Gbps Botnet -> 8 DNS server (with 1Gbps) = 8Gbps

3xBotnets = 3Gbps -> Factor (8) = 24Gbps Attack

בעבר היו הרבה שרתים עם SNMP ותוקפים השתמשו בשירות זה על מנת לבצע שאילתות SNMP Read בכדי לבצע Amplifications Attack
גם פרוטוקול ה NTP וגם פרוטוקול ה SSDP, לשלושתם גם מכנה משותף, שניהם משתמשים ב UDP

Slowloris

משמעות השם הוא Slow & Low הכוונה היא להתקפה בסדר גודל נמוך שתייצר איטיות במערכת הנתקפת.

צורת ההתקפה (רשמתי קצת בשורות למעלה) מתבצעת בצורה בה התוקף שולח בקשת Http מבלי לשלוח “סיום שיחה” כך שהשרת ווב המקבל את הבקשה משאיר את השיחה פתוחה ומשאיר את המשאבים שהקצה לה פתוחים מבלי שהשיחה נסגרת וכך השרת ממתין וממתין להמשך או לסיום השיחה.
התוקף שולח Uncomplete GET Request מסוג Http אל המטרה ושולח שוב ושוב ושוב ושוב כך שכל השיחות האלו נשארות פתוחות לאורך זמן (יש TTL אך הוא ארוך)

התוקף שולח כמות גדולה של “שיחות” מסוג זה כך שהשרת פותח המון שיחות אבל לא סוגר אותם ובכך מעמיס עליו ומקשה עליו לתת שירות למשתמשים לגיטימיים במערכת

על מנת להשתמש ב Slowloris נפתח את Kali ונוריד אותו

apt-get install slowhttptest

כאשר למתקפת Slowloris

slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u https://host.example.com/index.html -x 24 -p 3

slowhttptest – התוכנה עצמה
-c 1000 – יצור 1000 חיבורים בו זמנית
-H – התקפה מסוג סלואולוריס בה ישלחו בקשות לרשת באופן חלקי מסוג Http
-g – -o יוצרים את הגרף ואת השם
my_header_stats – השם של הגרף
-i 10 כל כותרת תיווצר אחרי 10 שניות
-r 200 מהירות החיבורים שייצרו הם 200 לשניה אחת
-t GET – אין צורך להסביר…
-u https://host.example.com/index.html כתובת האתר
-x 24 -p 3 טווח הכתורת

ניתן להשתמש בהתקפות נוספות כמו

-B ישלח HTTP בקשות לא שלמות כHTTP Message Bodies

R- ישלח malicious Range Request header data

ניתן לבצע את ההתקפה בכמה צורות, ניתן לקרוא הרחבה כאן

 כלים

LOIC

הוא קיצור של Low Orbit Ion Cannon והיא תוכנה לביצוע התקפת DOS העניין הוא שהרבה קבוצות אקטביסטיות משתמשות בו בצורה קצת שונה.
הקבוצות קוראות בפייסבוק,טוויטר למשתמשים שאין להם ידע בהתקפות DOS להוריד את התוכנה ולטרגט אתר שאותה הקבוצה מעוניינת לתקוף והשימוש של התוכנה הוא התקפה מסוג SYN Flood או HTTP Request או אפילו UDP

התוקפים יכולים אפילו לשלוח JS LOIC זה אומר שאפילו לא צריך להתקין את התוכנה, כמו האתר הזה שמבצע התקפת HTTP Request
אם תלחצו על F12 תוכלו להבחין בבקשות HTTP לאותו אתר שהזנתם.

אתרים

למשל האתר XYZBooster , הוא אתר שנותן תמורת כסף, התקפות DOS לפי נפח וזמן התקפה

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

מאמרים קשורים

Leave a Comment