איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

איך Sophos מאמנת גלאי תוכנות זדוניות PDF חזק וקל משקל בקנה מידה אולטרה עם Amazon SageMaker

פוסט זה נכתב בשיתוף סלמה טאאופיק והריני קאנן מ-Sophos.

כמובילה בתחום אבטחת הסייבר של הדור הבא, Sophos שואפת להגן על יותר מ-500,000 ארגונים ומיליוני לקוחות בלמעלה מ-150 מדינות מפני איומים מתפתחים. מופעלת על ידי בינת איומים, למידת מכונה (ML) ובינה מלאכותית מבית Sophos X-Ops, Sophos מספקת פורטפוליו רחב ומגוון של מוצרים ושירותים מתקדמים כדי לאבטח ולהגן על משתמשים, רשתות ונקודות קצה מפני דיוג, תוכנות כופר, תוכנות זדוניות ו מגוון רחב של מתקפות סייבר בחוץ.

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

בפוסט זה, אנו מתמקדים במערכת זיהוי תוכנות זדוניות של Sophos עבור פורמט קובץ PDF באופן ספציפי. אנו מציגים כיצד SophosAI משתמשת אמזון SageMaker אימון מבוזר עם טרה-בייט של נתונים כדי לאמן מודל XGBoost קל משקל רב עוצמה (Extreme Gradient Boosting). זה מאפשר לצוות שלהם לחזור על נתוני אימון גדולים מהר יותר עם כוונון היפרפרמטרים אוטומטי ומבלי לנהל את תשתית האימון הבסיסית.

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

השתמש בהקשר של מקרה

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

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

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

מוטיבציה

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

אתגר טכני

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

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

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

סקירת פתרונות

SageMaker הוא שירות ML מנוהל במלואו המספק כלים שונים לבנייה, הדרכה, אופטימיזציה ופריסה של מודלים של ML. ה ספריות אלגוריתמים מובנות של SageMaker מורכב מ-21 אלגוריתמי ML פופולריים, כולל XGBoost. (למידע נוסף, ראה פשט את למידת המכונה באמצעות XGBoost ו- Amazon SageMaker.) עם האלגוריתם המובנה XGBoost, אתה יכול לנצל את הקוד הפתוח מיכל SageMaker XGBoost על ידי ציון גרסת מסגרת גדולה מ-1.0-1, אשר שיפרה גמישות, מדרגיות, הרחבה ו-Managed Spot Training, ותומכת בפורמטי קלט כמו Parquet, שהוא הפורמט המשמש עבור מערך הנתונים של PDF.

הסיבה העיקרית לכך ש-SophosAI בחרה ב-SageMaker היא היכולת להפיק תועלת מההדרכה המבוזרת המנוהלת במלואה על מופעי CPU מרובי צמתים פשוט על ידי ציון יותר ממופע אחד. SageMaker מפצל אוטומטית את הנתונים על פני צמתים, אוסף את התוצאות על פני צמתים עמיתים ומייצר מודל יחיד. המופעים יכולים להיות Spot Instances, ובכך להפחית משמעותית את עלויות ההדרכה. עם ה אלגוריתם מובנה עבור XGBoost, אתה יכול לעשות זאת ללא כל סקריפט מותאם אישית נוסף. גרסאות מבוזרות של XGBoost קיימות גם כקוד פתוח, כגון XGBoost-Ray ו XGBoost4J-Spark, אך השימוש בהם מצריך בנייה, אבטחה, כוונון וניהול עצמי של אשכולות מחשוב מבוזרים, המייצגים מאמץ משמעותי נוסף לפיתוח מדעי.

בנוסף, כוונון הדגם האוטומטי של SageMaker, הידוע גם בשם כוונון היפרפרמטרים, מוצא את הגרסה הטובה ביותר של מודל על ידי הפעלת עבודות אימון רבות עם טווחי היפרפרמטרים שאתה מציין. לאחר מכן הוא בוחר את ערכי ההיפרפרמטרים שמביאים למודל שמבצע את הביצועים הטובים ביותר, כפי שנמדד על ידי מדד עבור משימת ה-ML הנתונה.

התרשים הבא ממחיש את ארכיטקטורת הפתרונות.

איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

ראוי לציין שכאשר SophosAI התחילה בניסויי XGBoost לפני שפנתה ל- SageMaker, נעשו ניסיונות להשתמש בזיכרון גדול ענן מחשוב אלסטי של אמזון (Amazon EC2) מופעים (לדוגמה, r5a.24xlarge ו-x1.32xlarge) כדי לאמן את המודל על מדגם גדול ככל האפשר של הנתונים. עם זאת, ניסיונות אלו ארכו יותר מ-10 שעות בממוצע ובדרך כלל נכשלו עקב אוזל הזיכרון.

לעומת זאת, על ידי שימוש באלגוריתם SageMaker XGBoost ומנגנון אימון מבוזר ללא טרחה, SophosAI יכולה לאמן מודל בוסטר בקנה מידה על מערך האימון האדיר של PDF תוך 20 דקות. הצוות היה צריך רק לאחסן את הנתונים שירות אחסון פשוט של אמזון (Amazon S3) כקבצי Parquet בגודל דומה, ובחרו בסוג מופע EC2 ובמספר המופעים הרצוי, ו- SageMaker ניהלה את תשתית אשכול המחשוב הבסיסית וחילקה אימונים בין מספר צמתים של האשכול. מתחת למכסה המנוע, SageMaker מפצל את הנתונים על פני צמתים באמצעות ShardedByS3Key כדי להפיץ את אובייקטי הקבצים באופן שווה בין כל מופע ומשתמש ביישום XGBoost של פרוטוקול Rabit (ממשק AllReduce אמין וממשק שידור) כדי להפעיל עיבוד מבוזר ולתקשר בין צמתים ראשיים ועמיתים. (לפרטים נוספים על צבירת ההיסטוגרמה ושידור על פני צמתים, עיין XGBoost: מערכת להגברת עצים ניתנת להרחבה.)

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

מידע על ערכת נתונים

מודלים של זיהוי תוכנות זדוניות PDF של SophosAI מסתמכות על מגוון תכונות כגון היסטוגרמות של n-גרם ותכונות אנטרופיה של בתים (למידע נוסף, עיין ב- MEADE: לעבר מנוע זיהוי קבצים מצורפים דוא"ל זדוני). מטא נתונים ותכונות שחולצו מקובצי PDF שנאספו מאוחסנים במחסן נתונים מבוזר. מערך נתונים של למעלה מ-3,500 תכונות מחושב לאחר מכן, מפוצל עוד יותר על סמך זמן למערכות הדרכה ובדיקות, ומאוחסן באצווה כקבצי Parquet ב-Amazon S3 כדי להיות נגישים על ידי SageMaker עבור עבודות הדרכה.

הטבלה הבאה מספקת מידע על נתוני ההדרכה והבדיקות.

מערך נתונים מספר הדגימות מספר קבצי פרקט גודל כולל
הדרכה 70,391,634 5,500 ~ 1010 GB
מִבְחָן 1,242,283 98 ~ 18 GB

גדלי הנתונים חושבו לפי הנוסחה:

גודל נתונים = N × (nF + nL) × 4

לנוסחה יש את הפרמטרים הבאים:

  • N הוא מספר הדגימות במערך הנתונים
  • nF הוא מספר התכונות, עם nF = 3585
  • nL הוא מספר תוויות האמת הבסיסית, עם nL = 1
  • 4 הוא מספר הבתים הדרוש לסוג הנתונים של התכונות: float32

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

איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

ניסויים ותוצאות

כדי להתחיל ניסויים, צוות SophosAI אימן מודל XGBoost בסיס עם פרמטרים של ברירת מחדל. לאחר מכן הם התחילו לבצע כוונון היפרפרמטרים עדין עם SageMaker באמצעות האסטרטגיה הבייסיאנית, שהיא פשוטה כמו ציון יתר פרמטרים לכוון וטווח הערכים הרצוי, מדד ההערכה (ROC (מאפיין תפעול מקלט) AUC במקרה זה) וערכות ההדרכה והאימות. עבור גלאי ה-PDF תוכנות זדוניות, SophosAI תעדף יתר פרמטרים כולל מספר סבבי חיזוק (num_round), עומק העץ המרבי (max_depth), קצב הלמידה (eta), ויחס דגימת העמודות בעת בניית עצים (colsample_bytree). בסופו של דבר, ההיפרפרמטרים הטובים ביותר הושגו והשתמשו בהם כדי להכשיר מודל על מערך הנתונים המלא, ולבסוף הוערכו על ערכת בדיקות ה-holdout.

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

איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

XGBoost הוא אלגוריתם מאוגד זיכרון (בניגוד למחשב). לכן, מופע מחשוב למטרות כלליות (לדוגמה, M5) הוא בחירה טובה יותר מאשר מופע מותאם למחשוב (לדוגמה, C4). כדי לקבל החלטה מושכלת, יש הנחיה פשוטה של ​​SageMaker לבחירת מספר המקרים הנדרשים להפעלת הדרכה על מערך הנתונים המלא:

סך נתוני הדרכה גודל × מקדם בטיחות(*) < ספירת מופעים × הזיכרון הכולל של סוג מופע

במקרה זה: גודל נתוני אימון כולל × מקדם בטיחות (12) = 12120 GB

הטבלה הבאה מסכמת את הדרישות כאשר סוג המופע הנבחר הוא ml.m5.24xlarge.

גודל אימון × מקדם בטיחות (12) זיכרון מופע ml.m5.24xlarge נדרשת ספירת מופעים מינימלית לאימון
12120 GB 384 GB 32

*בשל האופי של אימון מבוזר XGBoost, הדורש טעינת מערך האימון כולו לאובייקט DMatrix לפני האימון וזיכרון פנוי נוסף, מומלץ מקדם בטיחות של 10-12.

כדי להסתכל מקרוב על ניצול הזיכרון עבור אימון מלא של SageMaker של XGBoost במערך הנתונים המסופק, אנו מספקים את הגרף המתאים שהתקבל מהאימון אמזון CloudWatch ניטור. עבור עבודת הדרכה זו, נעשה שימוש במופעים של 40 ml.m5.24xlarge וניצול הזיכרון המרבי הגיע לכ-62%.

איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

העלות ההנדסית הנחסכת על ידי שילוב שירות ML מנוהל כמו SageMaker בצנרת הנתונים היא בסביבות 50%. האפשרות להשתמש ב- Spot Instances לצורך אימון ועבודות כוונון היפרפרמטרים הורידה עלויות ב-63% נוספים.

סיכום

עם SageMaker, צוות SophosAI יכול לפתור בהצלחה פרויקט מורכב בעל עדיפות גבוהה על ידי בניית מודל XGBoost לזיהוי תוכנות זדוניות PDF קל בהרבה שהוא קטן בהרבה בדיסק (קטן עד פי 25) ובזיכרון (עד פי 5) מזה שלו. קודמו של גלאי. זהו גלאי תוכנות זדוניות קטן אך אדיר עם ~0.99 AUC ושיעור חיובי אמיתי של 0.99 ושיעור חיובי שגוי של איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי. . ניתן לאמן מחדש את המודל הזה במהירות, וניתן לנטר בקלות את הביצועים שלו לאורך זמן, מכיוון שלוקח פחות מ-20 דקות לאמן אותו על יותר מ-1 TB של נתונים.

אתה יכול למנף את האלגוריתם המובנה של SageMaker XGBoost לבניית מודלים עם הנתונים הטבלאיים שלך בקנה מידה. בנוסף, אתה יכול גם לנסות את האלגוריתמים החדשים המובנים של Amazon SageMaker LightGBM, CatBoost, AutoGluon-Tabular ו-Tab Transformer כמתואר כאן בלוג.


על המחברים

איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.סלמה טאאופיק הוא מדען נתונים בכיר ב-Sophos, עובד בצומת של למידת מכונה ואבטחת סייבר. עם רקע לתואר ראשון במדעי המחשב, היא סיימה את לימודיה באוניברסיטת מרכז אירופה עם תואר שני. במתמטיקה ויישומיה. כשלא מפתחת גלאי תוכנות זדוניות, סלמה היא מטיילת, מטיילת וצרכנית מותחנים נלהבת.

איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.הריני קנן הוא מדען נתונים ב-SophosAI. היא עוסקת במדעי נתוני אבטחה במשך 4 שנים בערך. היא הייתה בעבר המדענית הראשית ב-Capsule8, שנרכשה על ידי Sophos. היא נשאה הרצאות ב-CAMLIS, BlackHat (ארה"ב), Open Data Science Conference (East), Data Science Salon, PyData (בוסטון) ומחברי נתונים. תחומי המחקר שלה כוללים זיהוי התקפות מבוססות חומרה באמצעות מוני ביצועים, ניתוח התנהגות משתמשים, ML ניתן לפירוש וזיהוי אנומליות ללא פיקוח.

איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.חסן פונוואלה הוא אדריכל בכיר לפתרונות AI/ML ב-AWS, שבסיסו בלונדון, בריטניה. Hasan עוזר ללקוחות לתכנן ולפרוס יישומי למידת מכונה בייצור ב-AWS. יש לו למעלה מ-12 שנות ניסיון בעבודה כמדען נתונים, מתרגל למידת מכונה ומפתח תוכנה. בזמנו הפנוי, חסן אוהב לחקור את הטבע ולבלות עם חברים ובני משפחה.

איך Sophos מאמנת גלאי תוכנות זדוניות חזקות וקל משקל של PDF בקנה מידה אולטרה עם Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.פאטל ענק הוא מוביל תמיכה ארגוני ב-AWS. הוא עובד עם לקוחות לתכנון, פריסה ותפעול בענן בקנה מידה. תחומי העניין שלו הם שיטות MLOps ו-DevOps וכיצד זה יכול לעזור ללקוחות במסע הענן שלהם. מחוץ לעבודה, הוא נהנה לצלם, לשחק כדורעף ולבלות עם חברים ובני משפחה.

בול זמן:

עוד מ למידת מכונות AWS