תחביר של קטע האפשרויות

נתמך ב:

הקטע options של שאילתת YARA-L זמין רק לכללים.

אפשר לציין אפשרויות באמצעות התחביר key = value, כאשר key הוא שם אפשרות מוגדר מראש ו-value הוא ערך תקין לאפשרות:

rule RuleOptionsExample {
  // Other rule sections

  options:
    allow_zero_values = true
}

ערכים של אפשרויות

אלה הערכים האפשריים לאפשרויות:

האפשרות allow_zero_values

הערכים התקינים לאפשרות allow_zero_values הם true ו-false (ברירת מחדל), שקובעים אם האפשרות מופעלת או לא. האפשרות allow_zero_values מושבתת אם היא לא מצוינת בשאילתה.

כדי להפעיל את ההגדרה allow_zero_values, מוסיפים את השורה הבאה לקטע options של השאילתה: allow_zero_values = true

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

האפשרות suppression_window

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

ה-suppression_window משתמש בגישה של חלון עוקב (tumbling window) – חלון בגודל קבוע שלא חופף לחלונות אחרים, שמונע זיהוי כפול. אפשר גם לספק suppression_key כדי לצמצם עוד יותר את מופעי השאילתות שמוסתרים בתוך suppression window. מפתח ביטול הכפילויות (suppression_key), נקודת הנתונים הספציפית שהמערכת בודקת כדי להחליט אם אירוע הוא כפילות, משתנה בהתאם לסוג הכלל:

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

דוגמה: אפשרות של חלון השהיה לשאילתות של אירוע יחיד

בדוגמה הבאה, הערך suppression_window מוגדר ל-5m והערך suppression_key מוגדר למשתנה $hostname. אחרי שהשאילתה מפעילה זיהוי של $hostname, כל זיהוי נוסף של $hostname מוסתר למשך חמש הדקות הבאות. עם זאת, אם השאילתה מופעלת באירוע עם שם מארח שונה, נוצר זיהוי.

rule SingleEventSuppressionWindowExample {
  // Other rule sections

  outcome:
    $suppression_key = $hostname

  options:
    suppression_window = 5m
}
  • שאילתות של כמה אירועים משתמשות במשתנים שהוגדרו בקטע match כדי לקבוע מה צריך להסתיר. הערך של suppression_window צריך להיות גדול גם מהחלון של match.

דוגמה: אפשרות חלון השהיה לשאילתות של כמה אירועים

בדוגמה הבאה, הערך suppression_window מוגדר ל-1h. אחרי שהשאילתה מפעילה זיהוי של ($hostname, $ip) בחלון של 10m, כל זיהוי נוסף של ($hostname, $ip) מודחק למשך השעה הבאה. עם זאת, אם השאילתה מופעלת על אירועים עם שילוב שונה, נוצרת זיהוי.

rule MultipleEventSuppressionWindowExample {
  // Other rule sections

  match:
    $hostname, $ip over 10m

  options:
    suppression_window = 1h
}

מידע נוסף

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.