Questo documento descrive un tipo di risultato di minaccia in Security Command Center. I risultati di minaccia vengono generati dai rilevatori di minacce quando rilevano una potenziale minaccia nelle risorse cloud. Per un elenco completo dei risultati di minaccia disponibili, consulta l'indice dei risultati di minaccia.
Panoramica
È stata caricata una libreria che non faceva parte dell'immagine container originale.
Gli autori degli attacchi potrebbero caricare librerie dannose nei programmi esistenti per bypassare le protezioni di esecuzione del codice e nascondere il codice dannoso. Assicurarsi che i container siano immutabili è una best practice importante. Si tratta di un risultato di gravità bassa, perché la tua organizzazione potrebbe non seguire questa best practice. Esistono risultati Execution: Added Malicious Library Loaded corrispondenti quando l'hash del file binario è un indicatore di compromissione (IoC) noto.
Container Threat Detection è l'origine di questo risultato.
Come rispondere
Per rispondere a questo risultato:
Passaggio 1: esamina i dettagli del risultato
Apri un risultato
Added Library Loadedcome indicato in Esaminare i risultati. Si apre il riquadro dei dettagli del risultato nella scheda Riepilogo.Nella scheda Riepilogo, esamina le informazioni nelle seguenti sezioni:
- Che cosa è stato rilevato, in particolare i seguenti campi:
- Programma binario: il percorso completo del file binario del processo che ha caricato la libreria.
- Librerie: dettagli sulla libreria aggiunta.
- Argomenti: gli argomenti forniti durante la chiamata del file binario del processo.
- Risorsa interessata, in particolare i seguenti campi:
- Nome completo risorsa: il nome completo della risorsa del cluster.
- Link correlati, in particolare i seguenti campi:
- Indicatore VirusTotal: link alla pagina di analisi di VirusTotal.
- Che cosa è stato rilevato, in particolare i seguenti campi:
Fai clic sulla scheda JSON e prendi nota dei seguenti campi:
resource:project_display_name: il nome del progetto che contiene l'asset.
sourceProperties:Pod_Namespace: il nome dello spazio dei nomi Kubernetes del pod.Pod_Name: il nome del pod GKE.Container_Name: il nome del container interessato.Container_Image_Uri: il nome dell'immagine container in esecuzione.VM_Instance_Name: il nome del nodo GKE in cui è stato eseguito il pod.
Identifica altri risultati che si sono verificati in un momento simile per questo container. I risultati correlati potrebbero indicare che questa attività era dannosa, anziché un mancato rispetto delle best practice.
Passaggio 2: esamina il cluster e il nodo
Nella Google Cloud console, vai alla pagina Cluster Kubernetes.
Nella barra degli strumenti della Google Cloud console, seleziona il progetto elencato in
resource.project_display_name, se necessario.Seleziona il cluster elencato in
resource.name. Prendi nota di eventuali metadati su l cluster e sul relativo proprietario.Fai clic sulla scheda Nodi. Seleziona il nodo elencato in
VM_Instance_Name.Fai clic sulla scheda Dettagli e prendi nota dell'
container.googleapis.com/instance_idannotazione.
Passaggio 3: esamina il pod
Nella Google Cloud console, vai alla pagina Carichi di lavoro Kubernetes.
Nella barra degli strumenti della Google Cloud console, seleziona il progetto elencato in
resource.project_display_name, se necessario.Filtra in base al cluster elencato nella riga Nome completo risorsa nella scheda Riepilogo dei dettagli del risultato e allo spazio dei nomi del pod elencato in
Pod_Namespace, se necessario.Seleziona il pod elencato in
Pod_Name. Prendi nota di eventuali metadati sul pod e sul relativo proprietario.
Passaggio 4: controlla i log
Nella Google Cloud console, vai a Esplora log.
Nella barra degli strumenti della Google Cloud console, seleziona il progetto elencato in
resource.project_display_name, se necessario.Imposta Seleziona intervallo di tempo sul periodo di interesse.
Nella pagina che viene caricata, procedi nel seguente modo:
- Trova i log dei pod per
Pod_Nameutilizzando il seguente filtro:resource.type="k8s_container"resource.labels.project_id="resource.project_display_name"resource.labels.location="location"resource.labels.cluster_name="cluster_name"resource.labels.namespace_name="Pod_Namespace"resource.labels.pod_name="Pod_Name"
- Trova i log di controllo del cluster utilizzando il seguente filtro:
logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"resource.type="k8s_cluster"resource.labels.project_id="resource.project_display_name"resource.labels.location="location"resource.labels.cluster_name="cluster_name"Pod_Name
- Trova i log della console dei nodi GKE utilizzando il seguente filtro:
resource.type="gce_instance"resource.labels.instance_id="instance_id"
- Trova i log dei pod per
Passaggio 5: esamina il container in esecuzione
Se il container è ancora in esecuzione, potrebbe essere possibile esaminare direttamente l'ambiente container.
Vai alla Google Cloud console.
Nella barra degli strumenti della Google Cloud console, seleziona il progetto elencato in
resource.project_display_name, se necessario.Fai clic su Attiva Cloud Shell.
Ottieni le credenziali GKE per il tuo cluster eseguendo i seguenti comandi.
Per i cluster di zona:
gcloud container clusters get-credentials cluster_name --zone location --project resource.project_display_namePer i cluster a livello di regione:
gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_nameRecupera la libreria aggiunta eseguendo:
kubectl cp Pod_Namespace/Pod_Name: Added_Library_Fullpath -c Container_Name local_fileSostituisci local_file con un percorso di file locale per archiviare la libreria aggiunta.
Connettiti all'ambiente container eseguendo:
kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/shQuesto comando richiede che nel container sia installata una shell in
/bin/sh.
Passaggio 6: ricerca i metodi di attacco e risposta
- Esamina le voci del framework MITRE ATT&CK per questo tipo di risultato: Ingress Tool Transfer, Shared Modules.
- Controlla il valore hash SHA-256 del file binario contrassegnato come dannoso su VirusTotal facendo clic sul link in Indicatore VirusTotal. VirusTotal è un servizio di proprietà di Alphabet che fornisce il contesto di file, URL, domini e indirizzi IP potenzialmente dannosi.
- Per sviluppare un piano di risposta, combina i risultati dell'indagine con la ricerca MITRE e l'analisi di VirusTotal.
Passaggio 7: implementa la risposta
Il seguente piano di risposta potrebbe essere appropriato per questo risultato, ma potrebbe anche influire sulle operazioni. Valuta attentamente le informazioni raccolte durante l'indagine per determinare il modo migliore per risolvere i risultati.
- Se la libreria doveva essere inclusa nel container, ricrea l'immagine container con la libreria inclusa. In questo modo, il container può essere immutabile.
- In caso contrario, contatta il proprietario del progetto con il container compromesso.
- Arresta o elimina il container compromesso e sostituiscilo con un nuovo container.
Passaggi successivi
- Scopri come utilizzare i risultati di minaccia in Security Command Center.
- Consulta l'indice dei risultati di minaccia.
- Scopri come esaminare un risultato tramite la Google Cloud console.
- Scopri i servizi che generano risultati di minaccia.