Comprehensive and Detailed Explanation
The correct solution is Option D. The problem is that a known, trusted principal (the backup tool's service account) is performing a legitimate action (storage.objects.list) that happens to look like the suspicious behavior the rule is designed to catch.
The most precise and effective way to reduce these false positives without weakening the rule's ability to catch malicious actors is to create an exception for the trusted principal.
By adding principal.user.email != "backup-bot@fcobaa.com" (or the equivalent principal.user.userid) to the events or condition section of the YARA-L rule, the rule will now only evaluate events where the actor is not the known-good backup bot.
Option A is incorrect because it just lowers the priority of the false positive; it doesn't stop it from being generated.
Option B is incorrect because the legitimate tool might also perform repeated calls, leading to the same false positive.
Option C is incorrect because api.service_name = "storage.googleapis.com" is less specific than api.operation = "storage.objects.list" and would likely increase the number of false positives by triggering on any storage API call.
Exact Extract from Google Security Operations Documents:
Reduce false positives: When a detection rule generates false positives due to known-benign activity (e.g., from an administrative script or automation tool), the best practice is to add a not condition to the rule to exclude the trusted entity.8
You can filter on UDM fields to create exceptions. For example, to prevent a rule from firing on activity from a specific service account, you can add a condition to the events section such as:
and $e.principal.user.userid != "trusted-service-account@project.iam.gserviceaccount.com"
This technique, often called "allow-listing" or "suppression," improves the rule's accuracy by focusing only on unknown or untrusted principals.
[References:, Google Cloud Documentation: Google Security Operations > Documentation > Detections > Overview of the YARA-L 2.0 language > Add not conditions to prevent false positives, , ]
Submit