תחילת העבודה עם YARA-L 2.0 ב-SecOps
YARA-L 2.0 היא שפת שאילתות ייחודית ומובנית מאוד שמפעילה את Google Security Operations לכל החיפושים, לוחות הבקרה וזיהוי האיומים שמבוסס על כללים. במסמך הזה מוסבר על המבנה הבסיסי של YARA-L, ומוצגים שלבים מעשיים לשימוש בו. המדריך הזה מיועד לכל מי שרוצה להשתמש ב-YARA-L, בין אם מדובר באנליסט אבטחה שמחפש איומים או בمهندس זיהוי שבונה לוגיקה חדשה וחזקה.
במסמך הזה מוסבר על YARA-L ועל התחביר שלו, ומוצגות דוגמאות לשימוש בו כדי לבטא כל דבר, החל משאילתת סינון בסיסית ועד לכלל שמחפש דפוסים מורכבים. אפשר להשתמש בקטעים בשאילתת YARA-L כדי לתמוך בפונקציות מצטברות, בלוגי של תנאים ולהוסיף הקשר באמצעות הצטרפויות, התאמת תבניות ועוד.
לפני שמתחילים
- מוודאים שיש לכם גישה לפלטפורמת Google SecOps.
- אימות של הטמעת נתונים באמצעות כללי בדיקה
- צריכה להיות לכם הבנה בסיסית של מושגי אבטחה ונתוני יומן.
- במסמך הזה אנחנו מניחים שהנתונים מוזנים למופע Google SecOps שלכם ועוברים נרמול לפי מודל הנתונים המאוחד (UDM).
- כדי להתחיל את העברת השאילתות, עיינו במדריך מעבר מ-SPL ל-YARA-L 2.0, שמתרגם פקודות SPL נפוצות כמו
stats,evalו-lookupלתנאיoutcomesו-matchב-YARA-L.
הסבר על המבנה של YARA-L
כל שאילתת YARA-L מחולקת לקטעים נפרדים עם שמות, שקובעים את ההתנהגות של השאילתה.
המבנה הזה מאפשר ניתוח רב-שלבי ומתאם.
| הזמנה | קטע | כללים | חיפוש/מרכזי בקרה | תיאור |
|---|---|---|---|---|
| 1 | meta |
חובה | אופציונלי | מגדיר מטא-נתונים תיאוריים לכלל, כמו מחבר, תיאור וחומרה. לדוגמה, מחבר (security team), תיאור (Detects multiple failed user logins within 10-minute windows) וחומרה (High).ראו תחביר של קטע meta. |
| 2 | events |
חובה | חובה | מגדיר ומסנן את האירועים שצריך לעקוב אחריהם: התחברויות של משתמשים, התחברויות של משתמשים שנכשלו (משתני אירועים) וקישורים למשתנה של התאמת משתמשים (משתני פלייסהולדר). מצהיר על כל מקורות הנתונים (בעיקר אירועים) שצריך להביא בחשבון ומסנן אותם באמצעות שדות UDM. תחביר של קטע events |
| 3 | match |
חובה | אופציונלי | מקבץ לפי אירועים ומאפשר לציין את חלון הזמן הנתמך (לדוגמה, by 5m). נדרש במקרים מסוימים של חיפושים סטטיסטיים שבהם מתבצע צבירה. נדרש לשאילתות של קורלציה בין כמה אירועים. ב-match, חובה לציין את השעה בכללים, אבל לא חובה לציין אותה בחיפוש ובלוחות הבקרה. הערה: אם מחריגים קטע match, הכלל יכול להתאים לאירוע יחיד.match |
| 4 | outcome |
אופציונלי | אופציונלי | חישוב מדדים חיוניים וקבלת תובנות (לדוגמה, count(), avg()). ראו תחביר של קטע outcome. |
| 5 | condition |
חובה | אופציונלי | ההגדרה הזו קובעת את הלוגיקה שצריכה להתקיים כדי להחזיר תוצאות (בחיפוש) או להפעיל התראה (בכלל). הפונקציה מעריכה את הקריטריונים של משתנה השאילתה כדי לקבוע אם התוצאה רלוונטית (לדוגמה, $event >5). ראו תחביר של קטע condition. |
| 6 | options |
אופציונלי | אופציונלי | מאפשר להפעיל או להשבית התנהגות ספציפית של כלל. תחביר של קטע options |
| 7 | dedup |
לא רלוונטי | אופציונלי | הפונקציה מסירה אירועים כפולים על ידי קיבוץ שלהם על סמך משתנים מרכזיים או נתיבי אירועים (לדוגמה, target.user.userid, target.ip, principal.hostname או משתנים כמו $host, $user). מידע נוסף על משתני אירועים ועל שימוש בביטול כפילויות בחיפוש ובמרכזי בקרה |
| 8 | order |
לא רלוונטי | אופציונלי | מיון התוצאות לפי שדות ספציפיים (לדוגמה, asc). מידע נוסף על משתני אירועים אופציונלי (רלוונטי רק כשמשתמשים ב-match). |
| 9 | limit |
לא רלוונטי | אופציונלי | מגבילה את מספר האירועים המקסימלי שמוחזרים מהשאילתה. |
| 10 | select |
לא רלוונטי | אופציונלי | מציין את רשימת השדות של UDM שייכללו בתוצאות השאילתה. |
| 11 | unselect |
לא רלוונטי | אופציונלי | מציינת את רשימת השדות של UDM שצריך להחריג מתוצאות השאילתה. |
זמינות של מקורות נתונים ב-YARA-L
ל-YARA-L יש גישה למקורות נתונים שונים, בהתאם למיקום שלכם בפלטפורמה. אירועים, ישויות (ECG) וטבלאות נתונים זמינים באופן מלא בחיפוש, במרכזי בקרה ובכללים. פרטים על שאילתות לדוגמה זמינים במאמר בנושא מקורות נתונים נתמכים.
בטבלה הבאה מפורטות התכונות שזמינות ב-YARA-L:
| תכונה | זמין ב |
|---|---|
| פניות והיסטוריית פניות | מרכזי שליטה |
| טבלאות נתונים | חיפוש, לוחות בקרה, כללים |
| ישויות (ECG) | חיפוש, מרכזי בקרה, כללים |
| מדדי הטמעה | מרכזי שליטה |
| התאמות של IoC | מרכזי שליטה |
| זיהויים של כללים | מרכזי בקרה, כללים |
| קבוצות כללים | מרכזי שליטה |
| אירועים | חיפוש, מרכזי בקרה, כללים |
| מדדי UEBA | חיפוש, מרכזי בקרה |
יצירת חיפוש ראשון ב-YARA-L
כל הנתונים ב-Google SecOps נסרקים באמצעות שתי שיטות עיקריות, בהתאם ליעדים שלכם: חיפוש באמצעות סינון וחיפוש סטטיסטי (צבירות).
סינון החיפוש (סינון אירועים)
השיטה filter search מאפשרת לבודד אירועים ספציפיים מזרם הטלמטריה הרחב יותר בלי להשתמש בצבירה סטטיסטית. בשיטה הזו נעשה שימוש בקריטריונים כדי לצמצם כמויות עצומות של נתוני אבטחה – כמו יומנים או תעבורת רשת – לקבוצת תוצאות ממוקדת. הלוגיקה דורשת רק לציין אירועים בקטע events.
כדי ליצור את החיפוש הראשון שלכם באמצעות מסנן YARA-L, פועלים לפי השלבים הבאים כדי לחפש משתמשים שהכניסה שלהם נכשלה:
- ב-Google SecOps, עוברים לדף search.
-
מסננים לפי אירועי התחברות:
metadata.event_type = "USER_LOGIN"
טיפ: אפשר להשמיט את כותרת הקטע
events:בחיפושים. כברירת מחדל, תחביר החיפוש מרמז על החלק הזה. - הוספת פעולות
eventלהתחברויות שנכשלו של משתמשים שלא מופיע אצלםuseridריק.metadata.event_type = "USER_LOGIN" security_result.action = "FAIL" principal.user.userid != "" - כדי לראות את התוצאות, צריך להריץ את החיפוש הזה.
שימוש במשתני פלייסהולדר
אפשר להשתמש במשתני placeholder כדי לחלץ ערכים ספציפיים מהאירועים, כמו שם משתמש או כתובת IP. המשתנים האלה משמשים כנקודות עוגן זמניות שמאפשרות להשוות נתונים בין אירועים שונים או להציג את הערכים האלה בפלט הסופי.
אפשר להשתמש במשתני פלייסהולדר כדי:
- נתוני גישור: משתמשים בפלייסהולדרים, כמו
$useridאו$ip, כדי למצוא התאמות בין משתני אירועים שונים (לדוגמה, אפשר להשתמש ב-$useridכדי לקשר את מזהה המשתמש בין אירועי ההתחברות וההתנתקות). - Group results: בקטע
match, משתמשים במשתני placeholder כדי להגדיר את חלון הפלט של השאילתה, כמוmatch: $userid over 1h. - יצירת תוצאות: אפשר להשתמש בפלייסהולדרים כדי לתעד ולהציג נקודות ספציפיות על הגרף בפלט של השאילתה.
לדוגמה, אם מקצים את הערך $user = principal.user.userid, המשתנה $user יכיל עכשיו את הערך הספציפי שחולץ מהאירוע. אחר כך משתמשים באפשרות $user בקטע match כדי לקבץ את כל הפעילות שקשורה למשתמש הספציפי הזה.
חיפוש סטטיסטי (צבירה)
שיטת החיפוש הסטטיסטי עוזרת לכם לקבל תובנות, מגמות או חריגות על ידי ביצוע חישובים בקבוצות של אירועים. במקום להחזיר רשימה של יומנים נפרדים, הוא מספק סיכומים מצטברים של הנתונים. הלוגיקה משתמשת בקטע match (לקיבוץ) ובקטע outcome (לחישובים). הקטע outcome תומך בפונקציות צבירה, כמו count(), sum(), avg(), max(), min() ו-stddev().
בדוגמה הבאה נעשה שימוש בלוגיקה הבאה של השאילתה:
-
events: מסנן את הנתונים הגולמיים של ניסיונות כניסה שנכשלו. -
match: מגדיר את קיבוץ האירועים (לפיuserid). -
outcome: מבצע את הצבירה הסטטיסטית (מספר אירועים לכל משתמש).
דוגמה: צבירה של פעילות התחברות שנכשלה באמצעות פונקציות outcome
בדוגמה הבאה נעשה שימוש בפונקציות הצבירה של הקטע outcome (כמו count() או sum()) כדי לסכם את פעילות הכניסה שנכשלה.
משתמשים בקטע
matchכדי לקבץ את אירועי ההתחברות שנכשלו לפיuserid:metadata.event_type = "USER_LOGIN" security_result.action = "FAIL" principal.user.userid != "" match: principal.user.useridמשתמשים ב
countשל ניסיונות כניסה שנכשלו לכל משתמש ($failed_login_count), שמוגדר על ידי המשתנהoutcome:metadata.event_type = "USER_LOGIN" security_result.action = "FAIL" principal.user.userid != "" match: principal.user.userid outcome: $failed_login_count = count(metadata.id)מריצים את החיפוש כדי לראות את התוצאות.
אופציונלי: מוסיפים רכיב של זמן לקטע
match(במקרה הזה,day). לאחר מכן, מעדכנים את המשתנהoutcomeכך שיהיה מפורש יותר ($daily_failed_login_count):metadata.event_type = "USER_LOGIN" security_result.action = "FAIL" principal.user.userid != "" $user = principal.user.userid match: $user by day outcome: $daily_failed_login_count = count(metadata.id)
יצירת ווידג'ט ללוח הבקרה מתוך החיפוש
אפשר ליצור ווידג'ט ללוח הבקרה מחיפושים מצטברים, כמו בדוגמה יצירת החיפוש הראשון.
אחרי שהחיפוש מאומת, אפשר לשמור אותו כווידג'ט ולהוסיף אותו למרכז הבקרה, באופן הבא:
- כשהתוצאות מוצגות, לוחצים על הכרטיסייה Visualize > Add to Dashboard.
- מגדירים את הווידג'ט:
- נותנים לווידג'ט שם (לדוגמה,
"Daily Failed Login"). - בוחרים טווח תאריכים.
- בוחרים אם להוסיף אותו ללוח בקרה קיים או ללוח בקרה חדש.
- לוחצים על הוספה.
- נותנים לווידג'ט שם (לדוגמה,
- אופציונלי: אפשר ליצור שאילתות ישירות בלוחות הבקרה. אפשר גם להעתיק לוחות בקרה שנערכו ולשנות את העריכות של השאילתות בתוכם כנקודת התחלה.
- אופציונלי: אתם יכולים ליצור לוח בקרה בהתאמה אישית ולהוסיף לו ווידג'טים באמצעות YARA-L. פרטים נוספים מופיעים במאמר יצירת לוח בקרה בהתאמה אישית.
הגדרת לוח בקרה
כשיוצרים מרכז בקרה חדש, הקטע events הוא נקודת התחלה חובה. משם אפשר להשתמש ב-match (לקיבוץ תוצאות) או ב-outcome (לחישוב פלטים וצבירות).
לדוגמה, אתם יכולים ליצור לוח בקרה עם קטעים של events ושל match, שבו מוצגת החומרה ($severity) של זיהויים שמקובצים by hour.
דוגמה: צבירת סדרות של נתונים לפי חומרה
אתם יכולים ליצור מרכז בקרה באמצעות הקטעים
eventsו-matchכדי להציג את חומרת ($severity) הזיהויים, שמקובצים ל-hourקטגוריות:detection.detection.severity != "UNKNOWN_SEVERITY" $severity = detection.detection.severity match: $severity by hour
דוגמה: צבירה של סה"כ ההשפעה הקריטית
באופן דומה, אתם יכולים ליצור לוח בקרה באמצעות הקטעים
eventsו-outcomeכדי לעקוב אחרי זיהויים ברמת חומרה גבוהה:detection.detection.severity = "CRITICAL" $severity = detection.detection.severity outcome: $detection_count = count_distinct($severity)
דוגמה: הצגת נפח הזיהוי לפי חומרה לאורך זמן
בדוגמה הבאה, אפשר לספור את הזיהויים הקריטיים ולציין את טווח התאריכים דרך המסוף. במקרים רבים, תשתמשו גם בקטע
matchוגם בקטעoutcomeכשתיצרו תצוגה חזותית בלוח בקרה:detection.detection.severity != "UNKNOWN_SEVERITY" $severity = detection.detection.severity match: $severity by hour outcome: $detection_count = count_distinct(detection.id)
דוגמה: חישוב תדירות ההתחברות של משתמשים
בדוגמה הבאה מתמקדים בחישוב
login_countלמשתמשים ספציפיים באמצעות הקטעיםmatchו-outcome:events: metadata.event_type = "USER_LOGIN" match: target.user.userid outcome: $login_count = count(metadata.id)
יצירת כלל
כל כלל צריך לכלול את הקטעים הבאים:
-
meta: מכיל את שם הכלל ופרטים תיאוריים. -
events: הגדרה של מקורות הנתונים והמסננים באמצעות משתני אירועים. condition: מציין אילו משתני אירועים צריכים להתקיים כדי שהכלל יופעל.
הגדרה ושימוש במשתני אירוע
משתני אירוע פועלים כמאגר לוגי, ומקבצים את המסננים כך שאפשר להתייחס לפעילות הספציפית הזו לאורך החיפוש, הכלל או לוח הבקרה.
כשמגדירים לוגיקה בקטע events, אפשר להשתמש במשתני אירוע (כמו $e) כדי לייצג אירוע ספציפי (או קבוצה של אירועים) שתואם לקריטריונים שהגדרתם.
דוגמה: הגדרה וסינון של משתני אירועים
כדי להגדיר משתנה של אירוע (לדוגמה,
$e), משתמשים בקידומת בקטעeventsשל השאילתה. כך אתם מצהירים שהאירועים האלה מיוצגים על ידי המשתנה. לדוגמה, הביטוי$e.principal.hostname = "dev"מעריך כל אירוע כדי לקבוע אם שם המארח הוא התאמה מדויקת.$e.principal.hostname = "dev" $e.metadata.event_type = "USER_LOGIN"
אחר כך אפשר להשתמש במשתנה הזה בקטעים אחרים של השאילתה כדי להפנות לקבוצה הספציפית הזו של אירועים (בקטעים match, outcome, condition) ולשדות הנתונים שלהם.
ארגון המבנה והתחביר של הכללים
כדי להגדיר את המשתנים, את לוגיקת הקיבוץ ואת ספי הפעלת הטריגרים, אפשר להשתמש במבנה הכלל ובכללי התחביר הבאים:
| רכיב | תיאור | דוגמה |
|---|---|---|
| מבנה הכלל | השאילתה נעטפת בבלוק rule ומוקצה לה שם ייחודי לזיהוי הגילוי. |
rule DailyFailedLoginAttempts { } |
meta section |
חובה. כולל מטא-נתונים תיאוריים (כמו author, description, severity) כדי לשפר את ניהול הכללים ולספק הקשר לצוות. מומלץ כשיטה מומלצת לניהול כללים. | author = "Alex"severity = "Medium" |
| משתנה של אירוע | בשאילתת כללים, לכל שדה בקטע events יש קידומת של משתנה אירוע (כמו $e) שמייצג אירוע ספציפי (או קבוצת אירועים) שתואם לקריטריונים שלכם. הן פועלות כקיבוץ לוגי של מסננים. בדוגמה Convert your search to a YARA-L rule, $e מייצג את כל ניסיונות הכניסה שנכשלו של המשתמש. |
$e.metadata.event_type = "USER_LOGIN" |
| משתנה פלייסהולדר | מקצה לאירוע שם נפוץ שאפשר להפנות אליו בהמשך השאילתה. פרטים נוספים זמינים במאמר שימוש במשתני פלייסהולדר. | $userid = $e.principal.user.userid |
match section |
הגדרת הקיבוצים וציון חלון זמן נתמך. בדוגמה המרת החיפוש לכלל YARA-L, הקיבוץ match: $userid over day מקבץ נכון את האירועים לפי מזהה המשתמש בכל תקופה של 24 שעות (1d). כשכותבים כלל, צריך לציין חלון זמן נתמך כדי להגדיר את תקופת המבט לאחור. אפשר להטמיע חלון קופץ, נפתח או מתרחב בהתאם לדרישות הלוגיות. השימוש באופרטור over יוצר במפורש חלון קצוב (hopping window). |
$userid over 1d |
outcome section |
מבצע צבירות סטטיסטיות או מתעד משתנים ספציפיים כדי שההתראות שיתקבלו יהיו אינפורמטיביות יותר. משתמשים בפונקציה count() ב-$e.metadata.id כדי לצבור אירועים בכל קבוצה match. אפשר גם להקצות משתנים, כמו $userid, כדי לתעד שדות ספציפיים של UDM ולספק הקשר נוסף בפלט הזיהוי שמתקבל. |
$failed_count = count($e.metadata.id) |
הקטע condition |
נדרש כדי שכלל ייצור זיהוי. הגדרת הסף לזיהוי בקטע condition. לדוגמה, אם משתמשים ב-#e > 5, מספר האירועים צריך להיות גדול מחמש (5) כדי להפעיל התראה. אם לא מבצעים חישובים, עדיין צריך להוסיף קטע condition ולציין את קיומו של משתנה האירוע (לדוגמה, #e). כדאי לנתח את נתוני הבסיס של הסביבה כדי להגדיר ספים שיזהו פעילות חשודה תוך מזעור התוצאות החיוביות הכוזבות. גם אם אתם לא מבצעים חישובים, עדיין צריך קטע condition ולציין את קיומו של משתנה האירוע, למשל #e. |
#e > 5 או $e |
כדי להבין איך המבנה הזה פועל, אפשר לעיין בדוגמה הבאה.
דוגמה: זיהוי של ניסיון לפריצה (כמה ניסיונות התחברות שנכשלו)
בדוגמה הבאה מזוהים כמה ניסיונות כניסה שנכשלו של משתמש יחיד בחלון של 24 שעות:
rule DailyFailedLoginAttempts { meta: author = "Alex" description = "Detects multiple failed login attempts for a single user within a day." severity = "Medium" events: $e.metadata.event_type = "USER_LOGIN" $e.security_result.action = "FAIL" $e.principal.user.userid != "" $userid = $e.principal.user.userid match: $userid over 1d outcome: $daily_failed_login_count = count($e.metadata.id) condition: $daily_failed_login_count > 5 }
המרת החיפוש לכלל YARA-L
כדי להמיר שאילתת חיפוש סופית לכלל מהימן ליצירת זיהויים, בדרך כלל מבצעים את השלבים הבאים:
- ב-Google SecOps, עוברים אל Rules Editor (עורך הכללים).
- מתחילים כלל חדש.
- מדביקים את שאילתת החיפוש ומשנים אותה כך שתתאים למבנה הכלל, כולל:
- הקטע
meta: מגדיר את כלל המטא-נתונים, כולל שם הכלל, המחבר ורמת החומרה -
eventsection: חובה. בניגוד לחיפוש, צריך לתת שם לכותרת של הקטעevent`. - משתני אירוע: משתנים שמצהירים על אירועים ספציפיים (או קבוצות של אירועים) בתוך הלוגיקה שלכם ומתייחסים אליהם.
- הקטע
matchעם חלונות זמן נתמכים: מציין את מפתחות הקיבוץ ומגדיר את הפרמטרים של הזמן (לדוגמה,5mאו1d). הערה: אם משתמשים בקטעmatchבכללים, צריך להוסיף חלון זמן. - הקטע
condition: מגדיר את הלוגיקה הסופית או את ערך הסף שצריך להתקיים כדי להפעיל כלל.
- הקטע
מתקדם: יצירת כלל עם כמה אירועים
אתם משתמשים בכלל של מספר אירועים כדי לקשר בין סוגים שונים של פעילויות שמתרחשות במסגרת זמן מסוימת. במקום לבחון אירוע בודד, אתם יכולים לקשר בין כמה אירועים, כמו התחברות של משתמש ואז הורדה מיידית של קובץ לא רגיל, כדי לזהות איומים מורכבים.
כלל שכולל כמה אירועים צריך לכלול את הקטעים הבאים:
-
meta: מכיל את שם הכלל ופרטים תיאוריים. -
events: מגדיר את מקורות הנתונים והמסננים באמצעות משתני אירועים. -
match: הגדרת מסגרת הזמן ומשתנה placeholder שמשמש לקישור בין האירועים. outcomeכולל הקשר נוסף לגבי ההתראה. כללים שמתייחסים לכמה אירועים דורשים פונקציית צבירה.condition: מציין אילו משתני אירועים צריכים להתקיים כדי שהכלל יופעל.
כדי ליצור כלל עם כמה אירועים:
- הגדרת משתני האירועים: בקטע events, מגדירים את
$e1כדי לתעד אירועי"PROCESS_LAUNCH"ואת$e2כדי לתעד גיבובים ספציפיים של קבצים זדוניים. - התאמה באמצעות פלייסהולדרים: משתמשים במשתנה הפלייסהולדר
$userכדי לקשר בין שני זרמי האירועים הנפרדים האלה באמצעות מזהה משתמש ראשי משותף (לדוגמה,$user = $e1.principal.user.userid and $user = $e2.principal.user.userid). - קיבוץ ההתאמה: בקטע
match, מציינים שהאירועים האלה חייבים להתרחש באותו$userבתוך חלון זמן מוגדר, למשל 5 דקות (5m).
דוגמה: יצירת כלל עם כמה אירועים
בדוגמה הבאה,
$e1מייצג אירועPROCESS_LAUNCHו-$e2מייצג אירוע עם גיבוב זדוני ספציפי. משתנה ה-placeholder$userמבצע קורלציה בין האירועים האלה לפי אותו מזהה משתמש ראשי.rule MultiEventExample { meta: author = "Alex" description = "Detects a bad hash execution or a process launch from a specific IP for the same user." events: $e1.principal.ip = "1.1.1.1" $e1.metadata.event_type = "PROCESS_LAUNCH" $e2.target.file.sha256 = "badhash..." $user = $e1.principal.user.userid $user = $e2.principal.user.userid match: $user over 5m condition: $e1 or $e2 }
רכיבי הכלל הבאים מתארים את הלוגיקה שבה נעשה שימוש בדוגמה:
- משתני אירועים: הגדרתם שני משתני אירועים,
$e1ו-$e2. השתמשתם במשתנה placeholder$userכדי לצרף את האירועים האלה לשדה המשותףuserid. - הקטע
match: נוסף קטעmatchלכלל הזה של כמה אירועים כדי לקבץ לפי משתמש ולציין חלון זמן של קפיצה של חמש דקות (5m) לצורך קורלציה בין האירועים. - בקטע
condition: הגדרת הלוגיקה להפעלת ההתראה. בדוגמה הזו, התראה תופעל אם האירוע הראשון או האירוע השני קיימים.
שימוש בכלים אחרים כדי ליצור את השאילתה
הכלים האלה חיוניים לכתיבה, לאימות ולהטמעה מהירה של YARA-L:
- כלי החיפוש של UDM: חיפוש מהיר של שמות, הגדרות וסוגי נתונים של שדות UDM ישירות בממשק המשתמש. אם מזהה השדה לא ידוע, כדאי קודם לבדוק את ההפניה הזו.
- שפה טבעית לחיפוש ב-YARA-L: בשורת החיפוש, מזינים תיאורים כדי לנסח את השאילתה הראשונית או לקבל או לתרגם הצעות תואמות ב-YARA-L.
- כלי SPL → YARA-L Translator (כלי Labs): אם אתם עוברים מפלטפורמות של מתחרים, אתם יכולים להשתמש בכלי הזה (שזמין בקטע Labs) כדי להמיר שאילתות Splunk SPL מדור קודם ל-YARA-L. כך נוצרת נקודת התחלה מובנית, שמאיצה את ההעברה ומשפרת את לוגיקת הזיהוי. כדי להשתמש בכלי Labs, ב-Google SecOps, עוברים אל yourinstancename.chronicle.security/labs.
המאמרים הבאים
- הסבר מלא על התחביר של YARA-L 2.0
- עיון בפונקציות ב-YARA-L 2.0
- בדוגמאות הבאות:
- דוגמאות: שאילתות YARA-L 2.0
- קהילת Google SecOps)
- מידע נוסף על המשאבים הבאים של YARA-L:
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.