Skip to content
This repository has been archived by the owner on Jul 13, 2023. It is now read-only.

Commit

Permalink
feat: Added contacts field to findings attributes, specifying Essenti…
Browse files Browse the repository at this point in the history
…al Contacts defined at org, folder or project level within a GCP org

feat: Added process signature fields to the indicator attribute that helps surface multiple types of signature defined IOCs
PiperOrigin-RevId: 458537238
Source-Link: googleapis/googleapis@7fdec62
Source-Link: https://github.com/googleapis/googleapis-gen/commit/bb340e3223539a792a204be2a794fb2ad3724f68
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYmIzNDBlMzIyMzUzOWE3OTJhMjA0YmUyYTc5NGZiMmFkMzcyNGY2OCJ9
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
Use gapic-generator-typescript v2.15.2.
PiperOrigin-RevId: 458552034
Source-Link: googleapis/googleapis@ae65014
Source-Link: https://github.com/googleapis/googleapis-gen/commit/b09ede435cce110446d4ab9f62a081b571d37e3f
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjA5ZWRlNDM1Y2NlMTEwNDQ2ZDRhYjlmNjJhMDgxYjU3MWQzN2UzZiJ9
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
  • Loading branch information
gcf-owl-bot[bot] and gcf-owl-bot[bot] authored Jul 4, 2022
1 parent 7bfc2bd commit 3937d33
Show file tree
Hide file tree
Showing 9 changed files with 2,346 additions and 167 deletions.
37 changes: 37 additions & 0 deletions protos/google/cloud/securitycenter/v1/contact_details.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.cloud.securitycenter.v1;

option csharp_namespace = "Google.Cloud.SecurityCenter.V1";
option go_package = "google.golang.org/genproto/googleapis/cloud/securitycenter/v1;securitycenter";
option java_multiple_files = true;
option java_outer_classname = "ContactDetailsProto";
option java_package = "com.google.cloud.securitycenter.v1";
option php_namespace = "Google\\Cloud\\SecurityCenter\\V1";
option ruby_package = "Google::Cloud::SecurityCenter::V1";

// The details pertaining to specific contacts
message ContactDetails {
// A list of contacts
repeated Contact contacts = 1;
}

// Representa a single contact's email address
message Contact {
// An email address e.g. "person123@company.com"
string email = 1;
}
2 changes: 1 addition & 1 deletion protos/google/cloud/securitycenter/v1/file.proto
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ message File {
int64 size = 2;

// SHA256 hash of the first hashed_size bytes of the file encoded as a
// hex string. If hashed_size == size, hash_sha256 represents the SHA256 hash
// hex string. If hashed_size == size, sha256 represents the SHA256 hash
// of the entire file.
string sha256 = 3;

Expand Down
30 changes: 24 additions & 6 deletions protos/google/cloud/securitycenter/v1/finding.proto
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import "google/api/resource.proto";
import "google/cloud/securitycenter/v1/access.proto";
import "google/cloud/securitycenter/v1/compliance.proto";
import "google/cloud/securitycenter/v1/connection.proto";
import "google/cloud/securitycenter/v1/contact_details.proto";
import "google/cloud/securitycenter/v1/exfiltration.proto";
import "google/cloud/securitycenter/v1/external_system.proto";
import "google/cloud/securitycenter/v1/iam_binding.proto";
Expand Down Expand Up @@ -254,13 +255,11 @@ message Finding {
Vulnerability vulnerability = 20;

// Output only. The most recent time this finding was muted or unmuted.
google.protobuf.Timestamp mute_update_time = 21
[(google.api.field_behavior) = OUTPUT_ONLY];
google.protobuf.Timestamp mute_update_time = 21 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. Third party SIEM/SOAR fields within SCC, contains external
// system information and external system finding fields.
map<string, ExternalSystem> external_systems = 22
[(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Third party SIEM/SOAR fields within SCC, contains external system
// information and external system finding fields.
map<string, ExternalSystem> external_systems = 22 [(google.api.field_behavior) = OUTPUT_ONLY];

// MITRE ATT&CK tactics and techniques related to this finding.
// See: https://attack.mitre.org
Expand All @@ -282,6 +281,25 @@ message Finding {
// Represents operating system processes associated with the Finding.
repeated Process processes = 30;

// Output only. Map containing the point of contacts for the given finding. The key
// represents the type of contact, while the value contains a list of all the
// contacts that pertain. Please refer to:
// https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
//
// {
// "security": {
// "contacts": [
// {
// "email": "person1@company.com"
// },
// {
// "email": "person2@company.com"
// }
// ]
// }
// }
map<string, ContactDetails> contacts = 33 [(google.api.field_behavior) = OUTPUT_ONLY];

// Contains compliance information for security standards associated to the
// finding.
repeated Compliance compliances = 34;
Expand Down
42 changes: 42 additions & 0 deletions protos/google/cloud/securitycenter/v1/indicator.proto
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,51 @@ option ruby_package = "Google::Cloud::SecurityCenter::V1";
// operating system that, with high confidence, indicates a computer intrusion.
// Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise
message Indicator {
// Indicates what signature matched this process.
message ProcessSignature {
// A signature corresponding to memory page hashes.
message MemoryHashSignature {
// Memory hash detection contributing to the binary family match.
message Detection {
// The name of the binary associated with the memory hash
// signature detection.
string binary = 2;

// The percentage of memory page hashes in the signature
// that were matched.
double percent_pages_matched = 3;
}

// The binary family.
string binary_family = 1;

// The list of memory hash detections contributing to the binary family
// match.
repeated Detection detections = 4;
}

// A signature corresponding to a YARA rule.
message YaraRuleSignature {
// The name of the YARA rule.
string yara_rule = 5;
}

oneof signature {
// Signature indicating that a binary family was matched.
MemoryHashSignature memory_hash_signature = 6;

// Signature indicating that a YARA rule was matched.
YaraRuleSignature yara_rule_signature = 7;
}
}

// List of ip addresses associated to the Finding.
repeated string ip_addresses = 1;

// List of domains associated to the Finding.
repeated string domains = 2;

// The list of matched signatures indicating that the given
// process is present in the environment.
repeated ProcessSignature signatures = 3;
}
4 changes: 4 additions & 0 deletions protos/google/cloud/securitycenter/v1/process.proto
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ option ruby_package = "Google::Cloud::SecurityCenter::V1";

// Represents an operating system process.
message Process {
// The process name visible in utilities like `top` and `ps`; it can
// be accessed via `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.
string name = 12;

// File information for the process executable.
File binary = 3;

Expand Down
Loading

0 comments on commit 3937d33

Please sign in to comment.