מבוא
בשנים האחרונות אנחנו רואים מעבר ממערכות ותוכנות ההגנה המסורתיות המותקנות על התחנות והשרתים ברשת, למערכות הגנה רשתיות מבוססת אינטיליגנציה מלאכותית שמנטרות את הרשת עצמה, ובאמצעות זיהוי דפוסי התנהגות של התנועה ברשת מאתרות ויכולות לחסום נקודות קצה בעייתיות. במאמר זה אסביר בקצרה מה זה תופעות חריגות ואיך מזהים כאלה, ואביא מספר דוגמאות לכך.
התנהגות תקינה של יישומים ברשת
כמו שכולנו מכירים, יש כמות גדולה מאוד של יישומים שעובדים ברשת – יישומים Office, בסיסי נתונים, גלישה באינטרנט, שיחות טלפון ושיחות וידאו ועוד. יישומים אלו מעבירים מידע ברשת, ולצורת העברת המידע יש דפוס מסוים, החל מהדברים הכלליים כמו גודל מנות (Packets), כיוון התנועה, האם עובד מעל TCP או UDP, כמה המידע אינטראקטיבי, כלומר האם למשל התנועה דומה בשני הכיוונים וכד', ועד למבנה המידע עצמו כלומר האם מה שעובר בתוך ה- Packets באמת אמור להיות שם, איך נראה המידע כשהוא נמצא, כמה בקשות נשלחות לשרת וכמה נענות וכד'.
בואו נראה דוגמאות, נתחיל בדברים הפשוטים והברורים ונמשיך לדברים היותר מורכבים.
דוגמא ראשונה – HTTP/HTTPs
בגלישה רגילה באינטרנט, מה שאנחנו נראה זה הקמת TCP Connection, כמה Packets יותר קטנים (במקרה של HTTPs נראה את ההקמה של ההצפנה), ולאחר מכן מספר Packets גדולים בכיוון אלינו (הצד שגולש), ו- TCP Ack חזרה. בצילום מסך הבא אנחנו רואים איך זה נראה ב- HTTPs.
ובצילום מסך הבא אנחנו רואים איך זה נראה ב- HTTP.
בשתי הדוגמאות אנחנו רואים שני דפוסי תנועה מאוד פשוטים – הקמת קשר והעברת מידע (Packets גדולים של 1414Bytes בדוגמא הראשונה ו- 1506Bytes בדוגמא הראשונה) בכיוון ה- Client.
דוגמא שניה – DNS
Domain Name Service, DNS, הוא פרוטוקול שבו אנחנו שולחים DNS Query מה הכתובתIP של אתר מסוים, ומקבלים תשובה עם הכתובת (או מספר כתובות אפשרויות) של האתר. בצילום מסך הבא אנחנו רואים דוגמא.
אפשר לראות כאן מספר דפוסי התנהגות – Packets קטנים ב- Queries (70-80Bytes), Packets בינוניים ב- Responses (בערך 500Bytes), שאלות ותשובות אמיתיות על השאלות (אין Refuses וכד'), ולמעטה בצד ימין אנחנו רואים שאחוז ה- Packets של DNS מתוך כלל התנועה הוא 2.5%.
בסיסי נתונים – Client/Server
בבסיסי נתונים, כמו שרואים בצילום מסך הבא אנחנו רואים הקמת TCP Connection, תנועה מאוד אינטרקטיבית בין ה- Client (192.168.20.88) ל- Server (192.168.10.80), גודל מנות קטן עד בינוני (עד כמה מאות Bytes), וכאשר אין תקלות (כמו ב- Packet מספר 14 שלקח לשרת 19 שניות להגיב..) הזמן בין Packets יהיה מהיר יחסית.
דואר – eMail
הורדת Mails משרת היא למעשה הורדת קבצים, וככה זה ייראה גם ברשת. Packets גדולים בכיוון אחד, ו- TCP ACKs בכיוון השני.
מה לחפש – התנהגות חריגה ואיך זה נראה
עכשיו אחרי שראינו דפוסי עבודה תקינים, נראה איך אנחנו מזהים כשיש בעיה. קודם כל בשינויי תנועה ברשת, ואח"כ כשמסתכלים בתוך ה- Packets עצמם.
חשוב להכיר את הרשת במצב תקין – מי השרתים, מי עובד מולם, איזה אפליקציות וכד'. בד"כ נראה דברים סטנדרטיים: גלישה ב- TCP Ports 80/808/443, eMails ב- TCP Ports 25/110, עבודה במייקרוסופט ב- TCP/UDP Ports 137/138/139/445, פרוטוקולי רשת כמו RSTP, OSPF, עבודה מול Google Cloud ב- QUIC/GQUIC, שיחות טלפון/וידאו ב- SIP/RTP וכד'.
מה לחפש? נתחיל בדברים הפשוטים. ניכנס ב- Wireshark ל- Hierarchy Statistics à Protocol ונראה מה עובר ברשת (בנקודות בהן נבצע את הבדיקה).
בצילום מסך למעלה אנחנו רואים פרוטוקולים סטנדרטיים – STP, Nortel Discovery Protocol, הרבה מאוד NetBIOS, HTTP וכד'. שווה לבדוק את DropBox והאם זה במדיניות הארגון לאפשר זאת.
סוג נוסף של תנועה חשודה יהיו סריקות מסוגים שונים. בדוגמא הבאה אנחנו רואים TCP Port Scan:
ובדוגמא הבאה Ping Scan:
דפוסי עבודה חשודים הם גם דפוס תנועה שאינו רגיל לפרוטוקול מסוים. כך למשל הקמת Tunnel בתוך DNS, כמו שרואים בדוגמא הבאה (במקרים האלה בד"כ נראה DNS Queries עם Packets גדולים במיוחד:
וכמובן שיהיה קל מאוד גם לזהות התקפות מסוג Brute force, בדוגמא שלפנינו על שרת DNS, כאשר התוקף מנסה לנחש שרתי פנימיים אצל ספק האינטרנט המותקף. במקרה הזה התוקף סונן ולאחר מספר שניות נחסם מגישה לספק..
ועוד כמה דברם "מוזרים":
DNS Query עם 22616 בקשות (Questions):
ו- eMails שמגיעים באלפים משולחים ושרתים לא ידועים (יש כאן רק קטע קטן מהקובץ):
סיכום
ראינו כאן מספר דוגמאות קטן, אבל ישנם אלפים רבים של דפוסי התנהגות בעייתיים ברשת, וכמו שניתן לראות אותם ב- Wireshark, ככה יכולים לראות אותם גם באמצעות אינטליגנציה מלאכותית שלומדת את אופן העבודה הרגיל, וכל דבר שחורג ממנו יכול להיות אינדיקציה לבעיות. בקרוב יעלה כאן קורס Wireshark המלא עם מספר פרקים שיתמקדו בנושאי אבטחת מידע ואיך לגלות פרצות באבטחה באמצעות כלי זה.