close menu

Bringing a GAN to a Knife-Fight: Adapting Malware Communication to Avoid Detection: סקירה

סקירה זו היא חלק מפינה קבועה בה שותפיי ואנוכי סוקרים מאמרים חשובים בתחום ה-ML/DL, וכותב גרסה פשוטה וברורה יותר שלהם בעברית. במידה ותרצו לקרוא את המאמרים הנוספים שסיכמתי, אתם מוזמנים לבדוק את העמוד שמרכז אותם תחת השם deepnightlearners.


לילה טוב חברים, היום אנחנו שוב בפינתנו deepnightlearners עם סקירה של מאמר בתחום הלמידה העמוקה. היום בחרנו לסקירה את המאמר שנקרא:

Bringing a GAN to a Knife-Fight: Adapting Malware Communication to Avoid Detection


פינת הסוקר:  

         המלצת קריאה מעדן ומייק: מומלץ לאנשים העוסקים בתחום ה-Cybersecurity או לאנשים שאוהבים GAN

         בהירות כתיבה: טובה

         ידע מוקדם: GAN

        יישומים פרקטיים אפשריים: שיפור זיהוי של Malware


פרטי מאמר:

      לינק למאמר: זמין להורדה.

      לינק לקוד: לא פורסם

      פורסם בתאריך: 6.8.2018, בארקיב.

      הוצג בכנס: IEEE Security and Privacy Workshops (SPW)


תחומי מאמר:

  • זיהוי אנומליות
  • GAN
  • נוזקות

כלים מתמטיים, מושגים וסימונים:

  • GAN

מבוא: 

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

כיום, נוזקות שמשנות את התנהגותן בצורה דינמית מסתמכות בעיקר על שיטות סטטיות (למשל אלגוריתם DGA). אך שיטות אלו אינן מספיקות כדי להתחמק מכלי ההגנה הטובים ביותר בשוק. כדי להתחמק מכלי הגנה אלו הנוזקה צריכה להיות מסוגלת לפתח לוגיקה מורכבת וללמוד את הסביבה שלה. כאן, נכנסים כותבי המאמר שמציעים שימוש ב- (Generative Adversarial Networks (GAN שישמש את הנוזקה כיצד לפעול תחת תנאים שונים. כותבי המאמר השתמשו ב-GAN כדי ללמוד את תעבורת הרשת בה נמצאת הנוזקה ובכך לחקות אותה (תעבורת הרשת) בצורה טובה יותר. בכך, היא תצליח להתחמק מכלל כלי ההגנה הפרוסים בארגון ולא להתגלות.

הסבר על השיטה: 

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

ה-GAN יבצע אימון מקדים(pretraining) לפי הכנסתו לרשת הארגונית, כאשר הפלט אותו ינסה ליצור הינה הקונפיגורציה ,בדמות שלושה פרמטרים, של הנוזקה שמכתיבה לו כיצד להתנהג. הפלט כולל שלושה פיצ'רים: כמות הבייטים המקסימלית שתעבור ב-flow, הזמן של flow וכמה זמן לחכות בין ה-flow הנוכחי לבא אחריו (כאשר הכוונה ל-network flow). 

ה-GAN מורכב משני חלקים:

Generator: מקבל דגימת רעש ומנסה לבנות ממנו את הקונפיגורציה.

Discriminator: מקבל קונפיגורציה זו וקונפיגורציה אמיתית של פייסבוק ומאומן להבחין בין הקונפיגורציה שנוצרה על ידי G לבין הקונפיגורציה האמיתית.

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

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

הסביבה:

כדי להראות שהגישה אכן מניבה תוצאות טובות בסביבה האמיתית, כותבי המאמר ציינו כי שני התנאים הבאים צריכים להתקיים:

  • הנוזקה בה משתמשים צריכה נוזקה אמיתית
  • החסימה של תעבורת הרשת צריכה להיות אמיתית גם כן

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

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

הארכיטקטורה של -GAN בו השתמשו המחברים היא LSTM גם ל-Generator וגם ל-Discriminator (כדי לקחת בחשבון את הקונפיגורציות הקודמות). בנוסף מומש רכיב WEB אחראי על התקשורת בין ה-GAN לבין הנוזקה ובהעברת המידע מה-GAN לנוזקה (ראה איור 1).

איור 1: סביבת הניסוי. ה-GAN ממומש ומתאמן באופן נפרד ומתקשר עם הנוזקה דרך שירות ה-WEB. הנוזקה מקבלת את הקונפיגורציה מה-GAN ומשנה את ערוץ התקשורת שלה בהתאם בזמן אמת. על ערוץ התקשורת עם השרת להיות פעיל בכל זמן נתון. ה-IPS יחסום כל תעבורת רשת שלא נראת כמו צ'ט של פייסבוק.

הניסוי: 

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

ניתוח תוצאות: 

בטבלה הבאה ניתן לראות את טיב האימון של ה-GAN:

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

בגרף הבא, כותבי המאמר מראים את כמות ה-Flows שהנוזקה יצרה בכל חלון זמן של חמש דקות בהתאם להוראות שקיבלה מה-GAN:

ניתן לראות שככל שה-GAN מתאמן יותר אחוז המידע שנחסמת על ידי ה-IPS יורדת לאפס.

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

סיכום: 

המאמר מציג את היכולת לחבר GAN לפיתוח של נוזקה אמיתית במטרה להפוך את הנוזקה למתוחכמת ומקלמת אף יותר. בעזרת ה-GAN הנוזקה הצליחה להוריד ב-63% את סיכוי גילויה על ידי כלי הגנה אמיתי מסוג IPS. ה-GAN אומן כדי לנסות ולחקות תעבורת רשת של צ'ט פייסבוק והמשיך להתאמן תוך כדי זמן הריצה לאחר שקיבל מידע מהנוזקה אילו מפלטיו התגלו על ידי ה-IPS. חשוב לציין שה-GAN התאמן על כמות דאטה קטנה בהתחלה ועדיין הצליח להביא תוצאות טובות מה שהופך את השיטה הזו לפרקטית במציאות.

עוד בנושא: