זיהוי וסיווג תוכנות זדוניות עם Amazon Rekognition PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

זיהוי וסיווג של תוכנות זדוניות עם Amazon Rekognition

פי מאמר על ידי Cybersecurity Ventures, הנזק שנגרם על ידי Ransomware (סוג של תוכנות זדוניות שיכולות לחסום משתמשים מגישה לנתונים שלהם אלא אם כן הם משלמים כופר) גדל פי 57 בשנת 2021 בהשוואה ל-2015. יתרה מכך, היא צפויה לעלות לקורבנותיה 265 מיליארד דולר ( USD) מדי שנה עד 2031. בזמן כתיבת שורות אלה, האגרה הכספית ממתקפות כופר יורד מעט מעל ה-50th מיקום ברשימת המדינות המדורגות לפיהן תמ"ג.

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

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

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

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

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

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

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

Amazon Rekognition Custom Labels מתבסס על היכולות הקיימות של Rekognition, שכבר הוכשרו על עשרות מיליוני תמונות בקטגוריות רבות.

Amazon Rekognition Custom Labels הוא שירות מנוהל במלואו, המאפשר למשתמשים לנתח מיליוני תמונות ולהשתמש בהן כדי לפתור בעיות רבות ושונות של למידת מכונה (ML), כולל סיווג תמונות, זיהוי פנים ומתנות תוכן. מאחורי הקלעים, Amazon Rekognition מבוססת על טכנולוגיית למידה עמוקה. השירות משתמש ברשת עצבית קונבולוציונית (CNN), אשר מאומנת מראש על מערך נתונים גדול עם תווית. על ידי חשיפה לנתוני אמת קרקע כאלה, האלגוריתם יכול ללמוד לזהות דפוסים בתמונות מתחומים רבים ושונים וניתן להשתמש בו בהרבה מקרי שימוש בתעשייה. מכיוון ש-AWS לוקחת בעלות על בנייה ותחזוקה של ארכיטקטורת המודל ובחירת שיטת הדרכה מתאימה למשימה שעל הפרק, המשתמשים לא צריכים להשקיע זמן בניהול התשתית הנדרשת למשימות הדרכה.

ארכיטקטורת הפתרונות

תרשים הארכיטקטורה הבא מספק סקירה כללית של הפתרון.

הפתרון נבנה באמצעות אצווה AWS, AWS פרגייט, ו אמזון. AWS Batch מאפשר לך להריץ מאות עבודות מחשוב אצווה ב-Fargate. פארגייט תואם לשניהם Amazon Elastic Container Service (Amazon ECS) ו Amazon Elastic Kubernetes Service (Amazon EKS). תוויות מותאמות אישית של Amazon Rekognition מאפשרות לך להשתמש ב-AutoML לראייה ממוחשבת כדי לאמן מודלים מותאמים אישית לאיתור תוכנות זדוניות ולסווג קטגוריות שונות של תוכנות זדוניות. AWS Step Functions משמשות לתזמורת עיבוד מקדים של נתונים.

עבור פתרון זה, אנו יוצרים את משאבי העיבוד המקדים באמצעות AWS CloudFormation. תבנית המחסנית של CloudFormation וקוד המקור עבור הפונקציות AWS Batch, Fargate ו-Step זמינים ב- מאגר GitHub.

מערך נתונים

כדי לאמן את המודל בדוגמה זו, השתמשנו במערך הנתונים הציבוריים הבאים כדי לחלץ את הזדוני והשפיר קובץ הפעלה נייד (PE):

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

לאחר מכן, נדריך אותך בשלבים הבאים של הפתרון:

  • עיבוד מוקדם של אובייקטים והמר לתמונות
  • פרוס משאבי עיבוד מקדים עם CloudFormation
  • בחר את הדגם
  • הרכבת הדגם
  • הערך את המודל
  • עלות וביצועים

עיבוד מוקדם של אובייקטים והמר לתמונות

אנו משתמשים ב-Step Functions כדי לתזמן את זרימת העבודה של עיבוד מוקדם של אובייקטים הכוללת את השלבים הבאים:

  1. קח את meta.db מסד נתונים sqllite מ סוראל-20 מ' S3 bucket והמיר אותו לקובץ .csv. זה עוזר לנו לטעון את קובץ ה-.csv במיכל של Fargate ולהתייחס למטא-נתונים בזמן עיבוד אובייקטי התוכנה הזדונית.
  2. קח את האובייקטים מהדלי Sorel-20m S3 וצור רשימה של אובייקטים בפורמט CSV. על ידי ביצוע שלב זה, אנו יוצרים סדרה של קבצי .csv שניתן לעבד במקביל, ובכך להפחית את הזמן שלוקח לעיבוד המקדים.
  3. המר את האובייקטים מהדלי Sorel-20m S3 לתמונות עם מגוון של עבודות. משימות מערך אצווה של AWS חולקות פרמטרים משותפים להמרת אובייקטי תוכנה זדונית לתמונות. הם פועלים כאוסף של עבודות המרת תמונה המופצות על פני מספר מארחים, ופועלות במקביל.
  4. בחר מספר קבוע מראש של תמונות להכשרת המודל עם מערך של עבודות התואמות לקטגוריות של תוכנות זדוניות.
  5. בדומה לשלב 2, אנו לוקחים את האובייקטים השפירים מהדלי השפיר-160k S3 ויוצרים רשימה של אובייקטים בפורמט csv.
  6. בדומה לשלב 3, אנו ממירים את האובייקטים מהדלי השפיר של 160k S3 לתמונות עם מערך של עבודות.
  7. בשל מכסת ברירת המחדל של Amazon Rekognition לאימון תוויות מותאמות אישית (250K תמונות), בחר מספר קבוע מראש של תמונות שפירות לאימון המודל.
  8. כפי שמוצג בתמונה הבאה, התמונות מאוחסנות בדלי S3 המחולק תחילה על ידי תוכנות זדוניות ותיקיות שפירות, ולאחר מכן התוכנה הזדונית מחולקת לפי סוגי תוכנות זדוניות.
    דלי אימון S3
    מערך נתונים לאימון

פרוס את משאבי העיבוד המקדים עם CloudFormation

תנאים מוקדמים

התנאים המוקדמים הבאים נדרשים לפני שתמשיך:

פריסת משאבים

מחסנית CloudFormation תיצור את המשאבים הבאים:

פרמטרים

  • STACK_NAME - שם מחסנית CloudFormation
  • AWS_REGION – אזור AWS בו יתפרס הפתרון
  • AWS_PROFILE – פרופיל בעל שם שיחול על פקודת AWS CLI
  • ARTEFACT_S3_BUCKET – דלי S3 שבו יישמר קוד התשתית. (יש ליצור את הדלי באותו אזור בו חי הפתרון).
  • AWS_ACCOUNT - מזהה חשבון AWS.

השתמש בפקודות הבאות כדי לפרוס את המשאבים

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

bash malware_detection_deployment_scripts/deploy.sh -s '' -b 'malware-
detection--artifacts' -p  -r "" -a

זה בונה ופורס את החפצים המקומיים שתבנית CloudFormation (למשל, cloudformation.yaml) מפנה.

הרכבת הדגם

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

בפוסט זה, נאמן שני דגמי סיווג תמונות עצמאיים באמצעות תכונת התוויות המותאמות אישית:

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

הדרכה לאימון מודל

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

  1. היכנס ל- קונסולת הניהול של AWS ופתח את הזיהוי של אמזון לנחם.
  2. בחלונית השמאלית, בחר השתמש בתוויות מותאמות אישית. מוצג דף הנחיתה של אמזון זיהוי תוויות מותאמות אישית.
  3. מדף הנחיתה של אמזון זיהוי תוויות מותאמות אישית, בחר התחל כאן.
  4. בחלונית השמאלית, בחר פרויקטים.
  5. לבחור צור פרויקט.
  6. In שם הפרוייקט, הזן שם לפרויקט שלך.
  7. לבחור צור פרוייקט כדי ליצור את הפרויקט שלך.
  8. ב פרויקטים בעמוד, בחר את הפרויקט שאליו ברצונך להוסיף מערך נתונים. דף הפרטים של הפרויקט שלך מוצג.
  9. לבחור צור מערך נתונים. ה צור מערך נתונים הדף מוצג.
  10. In התחלת תצורה, בחר התחל עם מערך נתונים בודד לתת ל-Amazon Rekognition לפצל את מערך הנתונים לאימון ולבדיקה. שימו לב שייתכן שתקבלו דוגמאות מבחן שונות בכל איטרציה של אימון מודל, מה שיביא לתוצאות ומדדי הערכה מעט שונים.
  11. לבחור ייבא תמונות מדלי S3 של אמזון.
  12. In S3 URI, הזן את מיקום דלי S3 ואת נתיב התיקיה. אותו דלי S3 שסופק משלב העיבוד המקדים משמש ליצירת שני מערכי הנתונים: זיהוי תוכנות זדוניות וסיווג תוכנות זדוניות. מערך הנתונים של זיהוי תוכנות זדוניות מצביע על השורש (כלומר, s3://malware-detection-training-{account-id}-{region}/) של דלי S3, בעוד שמערך הנתונים של סיווג תוכנות זדוניות מצביע על תיקיית תוכנות זדוניות (כלומר, s3://malware-detection-training-{account-id}-{region}/malware) של הדלי S3. נתוני הדרכה
  13. לבחור צרף אוטומטית תוויות לתמונות על סמך התיקיה.
  14. לבחור צור מערכי נתונים. דף מערכי הנתונים עבור הפרויקט שלך נפתח.
  15. על דגם רכבת עמוד, בחר דגם רכבת. שם המשאב של אמזון (ARN) עבור הפרויקט שלך צריך להיות ב- בחר פרויקט תיבת עריכה. אם לא, הזן את ה-ARN עבור הפרויקט שלך.
  16. ב האם אתה רוצה להכשיר את הדוגמנית שלך? בתיבת הדו-שיח, בחר דגם רכבת.
  17. לאחר סיום האימון, בחר את שם הדגם. ההדרכה מסתיימת כאשר מצב הדגם הוא TRAINING_COMPLETED.
  18. ב מודלים בחר בסעיף השתמש במודל לשונית כדי להתחיל להשתמש במודל.

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

הערך את המודל

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

ב ביצועים לפי תווית בסעיף, תוכל למצוא את הערכים של מדדים אלה לכל תווית. בנוסף, כדי לקבל את הערכים עבור True Positive, False Positive ו-False negative, בחר את ה צפה בתוצאות הבדיקה.

מדדי מודל זיהוי תוכנות זדוניות

במערך הנתונים המאוזן של 199,750 תמונות עם שתי תוויות (שפיר ותוכנות זדוניות), קיבלנו את התוצאות הבאות:

  • ציון F1 – 0.980
  • דיוק ממוצע – 0.980
  • ריקול כולל - 0.980

מדדי מודל זיהוי תוכנות זדוניות

מדדי מודל סיווג תוכנות זדוניות

במערך הנתונים המאוזן של 130,609 תמונות עם 11 תוויות (11 משפחות תוכנות זדוניות), קיבלנו את התוצאות הבאות:

  • ציון F1 – 0.921
  • דיוק ממוצע – 0.938
  • ריקול כולל - 0.906

מדדי מודל סיווג תוכנות זדוניות

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

עלות וביצועים

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

  • 20 מיליון חפצים מקוטלגים ומעובדים ממערך הנתונים של Sorel.
  • 160,000 אובייקטים מקוטלגים ומעובדים ממערך הנתונים של PE Malware Machine Learning.
  • כ-240,000 אובייקטים נכתבים לדלי S3 האימון: 160,000 אובייקטים של תוכנות זדוניות ו-80,000 אובייקטים שפירים.

בהתבסס על תרחיש זה, העלות הממוצעת לעיבוד מקדים ופריסה של הדגמים היא 510.99 דולר. תחויב בנוסף $4 USD/h עבור כל שעה שבה אתה משתמש בדגם. אתה עשוי למצוא את פירוט העלויות המפורט ב- לְהַעֲרִיך שנוצר באמצעות ה מחשבון תמחור AWS.

מבחינת ביצועים, אלו הן התוצאות מהמדידה שלנו:

  • ~2 שעות להשלמת זרימת העיבוד המקדים
  • ~40 שעות להשלמת ההדרכה של המודל לזיהוי תוכנות זדוניות
  • ~40 שעות להשלמת ההדרכה של מודל סיווג תוכנות זדוניות

לנקות

כדי להימנע מחיובים עתידיים, להפסיק ו להסיר את המודלים של Amazon Rekognition, ומחק את משאבי העיבוד המקדים באמצעות ה להשמיד.ש תַסרִיט. הפרמטרים הבאים נדרשים כדי להפעיל את הסקריפט בהצלחה:

  • STACK_NAME - שם המחסנית של CloudFormation
  • AWS_REGION - האזור בו הפתרון נפרס
  • AWS_PROFILE – הפרופיל בעל השם החל על פקודת AWS CLI

השתמש בפקודות הבאות כדי להפעיל את ./malware_detection_deployment_scripts/destroy.sh תַסרִיט:

bash malware_detection_deployment_scripts/destroy.sh -s  -p
 -r 

סיכום

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

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


על המחברים

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

רחול שאוריהרחול שאוריה הוא ארכיטקט נתונים ראשי עם שירותים מקצועיים של AWS. הוא עוזר ועובד בצמוד ללקוחות בבניית פלטפורמות נתונים ויישומים אנליטיים ב-AWS. מחוץ לעבודה, ראהול אוהב לצאת לטיולים ארוכים עם הכלב שלו בארני.

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

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

בול זמן:

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