יישום שיטות מומלצות לכללי YARA-L 2.0

נתמך ב:

במסמך הזה מפורטות השיטות המומלצות של Google Security Operations לכתיבת כללים ב-YARA-L 2.0.

סינון של ערכים אפסיים

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

לדוגמה, אם משמיטים ערך מחרוזת, ברירת המחדל היא "".

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

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

$e1.field1 = $e2.field2

אם שני הערכים e1.field1 ו-e2.field2 לא מופיעים בנתונים, הערך של "" = "" הוא true, ולכן יש התאמה.

ביטויי ההשוואה הבאים מבטיחים שלא תהיה התאמה כי e1.field1 ו-e2.field2 לא כוללים נתונים:

 $e1.field1 = $e2.field2
 $e1.field != ""

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

אם כלל מסוים תלוי בנתונים מועשרים שעוד לא עודכנו, יכול להיות שהערך יהיה null או אפס. לכן, מומלץ לסנן ערכים אפסיים (בדיקות null) בכללים שתלויים בהעשרה. איך Google SecOps מעשיר את הנתונים של אירועים וישויות ואיך משתמשים בנתונים מועשרים בהקשר בכללים

הוספת מסנן לפי סוג אירוע

בדוגמה הבאה, כתובות ה-IP של כל אירוע UDM נבדקות מול רשימת ההפניות, וזה צורך הרבה משאבים:

events:
// For every UDM event, check if the target.ip is listed in
// the suspicious_ip_addresses reference list.
$e.target.ip in %suspicious_ip_addresses

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

events:
// For every UDM event of type NETWORK_DNS, check if the target.ip is
// listed in the suspicious_ip_addresses reference list.
$e.metadata.event_type = "NETWORK_DNS"
$e.target.ip in %suspicious_ip_addresses

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

בלוגים קהילתיים בנושא עבודה עם YARA-L:

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