Cerca log non elaborati
Quando esegui una ricerca, Google Security Operations esamina innanzitutto i dati di sicurezza che sono stati importati, analizzati e normalizzati. Se le informazioni non vengono trovate nei dati normalizzati, puoi utilizzare la ricerca nei log non elaborati per esaminare i log non elaborati e non analizzati. Puoi anche utilizzare le espressioni regolari per esaminare i log non elaborati in modo più dettagliato.
Puoi utilizzare la ricerca nei log non elaborati per esaminare gli artefatti che vengono visualizzati nei log (ma non sono indicizzati), tra cui:
- Nomi utente
- Nomi file
- Chiavi del registro
- Argomenti della riga di comando
- Dati non elaborati relativi alle richieste HTTP
- Nomi di dominio basati su espressioni regolari
- Spazi dei nomi degli asset e indirizzi
Casi d'uso principali per la ricerca nei log non elaborati
La ricerca nei log non elaborati è uno strumento di indagine specializzato progettato per i seguenti casi d'uso:
- Verifica la normalizzazione e risolvi i problemi relativi ai parser: confronta le voci di log non elaborate con gli eventi UDM generati per identificare le lacune di normalizzazione, verificare la mappatura dei campi o individuare i log non analizzati.
- Indagine forense approfondita e ricerca delle minacce: cerca indicatori di compromissione (IOC), argomenti della riga di comando, chiavi di registro, percorsi di file o stringhe specifiche non mappati su campi UDM strutturati non comuni o non indicizzati.
- Esamina dati non strutturati e personalizzati: esegui query sulle origini log proprietarie o appena integrate immediatamente senza attendere lo sviluppo di un parser UDM.
Ricerca log non elaborati
Puoi eseguire una ricerca nei log non elaborati utilizzando la barra di ricerca, che si trova nella pagina di destinazione o nella barra dei menu. Scegli uno dei seguenti metodi:
Utilizza il formato raw=
Puoi eseguire query sui log non elaborati utilizzando il formato raw=. Questo è il metodo consigliato.
- Per cercare una sottostringa, racchiudi il termine di ricerca tra virgolette. Ad esempio,
raw = "ABC". - Per eseguire una ricerca utilizzando un'espressione regolare, racchiudila tra barre (/).
Ad esempio,
raw = /AB*C/. - (Facoltativo) Filtra in base allo stato analizzato utilizzando la parola chiave
parsed:parsed = false: Mostra i log non analizzati in cui non è stato generato alcun evento UDM.parsed = true: mostra i log analizzati correttamente in eventi UDM.
Metodo legacy: utilizza il prompt Ricerca log non elaborati
- Nella barra Cerca, inserisci una stringa di ricerca con almeno quattro caratteri (ad esempio, un hash MD5), inclusi i caratteri jolly.
- Se la ricerca non restituisce risultati, viene visualizzata l'opzione Ricerca log grezzi.
- (Facoltativo) Specifica l'ora di inizio e l'ora di fine. L'intervallo predefinito è gli ultimi 7 giorni.
- (Facoltativo) Nell'elenco Origini log, seleziona una o più origini log. L'impostazione predefinita è Tutti.
- Fai clic su Cerca.
Gli eventi associati alla stringa di ricerca vengono visualizzati nella cronologia. Fai clic su un evento (o sull'icona del log non elaborato) per aprire il log non elaborato corrispondente. La query di ricerca e i filtri applicati sono visibili anche nella pagina Ricerca log non elaborati.
Ottimizzare le query dei log non elaborati
Le ricerche nei log non elaborati analizzano i payload dei log non indicizzati e in genere sono più lente delle ricerche UDM. Per migliorare il rendimento della ricerca, limita la quantità di dati su cui esegui la query modificando le impostazioni di ricerca:
- Selettore dell'intervallo di tempo: limita l'intervallo di tempo dei dati su cui esegui la query.
- Selettore Origini log: limita la ricerca dei log non elaborati solo ai log provenienti da origini specifiche, anziché a tutte le origini log. Nel menu Origini
log, seleziona una o più origini log (il valore predefinito è Tutte) oppure
aggiungi il filtro
log_sourcedirettamente alla query (log_source = IN["<var>LOG_SOURCE_NAME</var>"]). - Espressioni regolari: utilizza un'espressione regolare specifica. Ad esempio,
raw = /goo\w{3}\.com/corrisponde agoogle.com,goodle.comegoog1e.comper limitare ulteriormente l'ambito della ricerca nei log non elaborati.
Esempi di ricerca di log non elaborati mirata
Combina il prefisso raw = con i filtri log_source e parsed per limitare
la ricerca ai feed pertinenti ed evitare che le origini log ad alto volume
tronchino i risultati:
Cercare una stringa esatta in una singola origine log:
raw = "<var>SEARCH_TERM</var>" and log_source = IN["<var>LOG_SOURCE_NAME</var>"]Cerca un sottoinsieme di origini log:
raw = "<var>SEARCH_TERM</var>" and log_source = IN["<var>LOG_SOURCE_1</var>", "<var>LOG_SOURCE_2</var>"]Cerca log non analizzati con un'espressione regolare:
raw = /<var>REGULAR_EXPRESSION</var>/ and parsed = false and log_source = IN["<var>LOG_SOURCE_NAME</var>"]
Tendenza nel tempo
Utilizza il grafico Tendenza nel tempo per comprendere la distribuzione dei log non elaborati nel periodo di tempo della tua ricerca. Puoi applicare filtri al grafico per cercare log analizzati e log non elaborati. Fai clic su Mostra altro (o Mostra meno) per espandere o comprimere il grafico.
Risultati dei log non elaborati
Quando esegui una ricerca nei log non elaborati, i risultati sono una combinazione di eventi UDM ed entità generate dai log non elaborati che corrispondono alle tue ricerche, insieme ai log non elaborati. Puoi esplorare ulteriormente i risultati di ricerca facendo clic su uno qualsiasi dei risultati:
Evento o entità UDM: se fai clic su un evento o un'entità UDM, Google SecOps mostra gli eventi e le entità correlati, insieme al log non elaborato associato all'elemento.
Log non elaborato: se fai clic su un log non elaborato, Google SecOps mostra l'intera riga di log non elaborato, insieme all'origine del log.
Limiti dei risultati e campionamento
Le ricerche nei log non elaborati applicano i seguenti limiti a risultati e query:
- Limite dei risultati di batch di grandi dimensioni: per i log inseriti di recente archiviati in batch prima dell'esportazione nell'archiviazione colonnare a lungo termine, esiste un limite di 1000 risultati restituiti da batch di log di grandi dimensioni contenenti 1000 o più eventi. Una volta esportati i log nello spazio di archiviazione colonnare a lungo termine, questo limite di 1000 risultati per batch non si applica.
- Limite totale di esportazione di UI e CSV: una singola ricerca nei log non elaborati nella console Google SecOps o l'esportazione in formato CSV restituisce fino a 10.000 risultati totali in tutte le origini log sottoposte a query. Se una query corrisponde a più di 10.000 voci, Google SecOps restituisce un campione rappresentativo di 10.000 risultati.
- Limite dei risultati dell'API: l'API Raw Log Search (
SearchRawLogs) impone un limite massimo di 10.000 voci per richiesta di query (page_size). - Lunghezza della query di ricerca: il campo di immissione della ricerca nei log non elaborati è limitato a 150 caratteri.
Quando esegui ricerche in più origini log contemporaneamente (lasciando il menu Origini log impostato su Tutte), Google SecOps esegue le query in parallelo in tutti gli shard di archiviazione distribuiti con limiti di query protettivi applicati prima del filtro in memoria per mantenere tempi di risposta rapidi. A causa di questa architettura distribuita, il numero totale di risultati restituiti può variare tra le query multisorgente generiche e le query a una sola sorgente a causa dei seguenti fattori:
- Volumi di importazione variabili: le origini log ad alto volume generano batch di grandi dimensioni che raggiungono il limite di 1000 risultati più rapidamente rispetto alle origini a volume inferiore.
- Campionamento batch distribuito: i batch di grandi dimensioni contenenti 1000 o più eventi sono limitati a 1000 risultati restituiti prima che venga applicato il limite di campionamento delle query di 10.000 risultati, il che modifica la proporzione dei log campionati restituiti nelle query.
- Livelli di archiviazione recenti e storici: i log inseriti di recente vengono interrogati dall'archiviazione batch a bassa latenza per la disponibilità immediata della ricerca, dove si applica il limite di 1000 risultati per i batch di grandi dimensioni. Una volta esportati nell'archivio colonnare a lungo termine, le query analizzano direttamente le singole voci di log senza il limite di 1000 risultati per batch (fino al limite totale di 10.000 risultati per query), fornendo conteggi dei risultati più coerenti per le ricerche storiche.
Scarica i risultati dei log non elaborati
Per scaricare i risultati dei log non elaborati in un file CSV, nella tabella dei risultati Log non elaborati, fai clic su Altro > Scarica come CSV.
Per impostazione predefinita, il file CSV include sempre la colonna Log grezzo. Puoi utilizzare il pulsante Colonne per aprire Gestione colonne e rimuovere o aggiungere le colonne Timestamp e Tipo. Se aggiungi altre colonne, le vedrai nella tabella, ma non verranno scaricate nel file CSV.
Per scaricare i campi UDM, esegui una ricerca UDM, seleziona le colonne richieste e poi scarica il file in formato CSV.
Se in Google Chrome viene visualizzato l'errore Failed to execute 'showSaveFilePicker',
segui questi passaggi:
Vai a Dispositivi > Chrome > Impostazioni.
Seleziona Utenti e browser.
Individua l'impostazione Accesso in scrittura al file system.
Aggiungi
prefix.backstory.chronicle.securityall'elenco dei siti consentiti.
Espressioni regolari
Puoi utilizzare le espressioni regolari in Google SecOps per cercare e trovare corrispondenze con insiemi di stringhe di caratteri nei tuoi dati di sicurezza. Le espressioni regolari consentono di restringere la ricerca utilizzando frammenti di informazioni anziché richiedere una corrispondenza esatta.
Per eseguire una ricerca utilizzando la sintassi delle espressioni regolari:
- In SIEM Search, inserisci
raw = /YOUR_REGEX/nel campo di ricerca e fai clic su Esegui ricerca. - Nella barra Cerca precedente:
- Inserisci un'espressione regolare (da 4 a 66 caratteri) nel campo Cerca.
- Seleziona la casella di controllo Esegui query come espressione regolare e fai clic su Cerca (o Aggiorna ricerca nella pagina dei risultati di Ricerca log grezzi).
L'infrastruttura di espressioni regolari di Google SecOps si basa su Google RE2, un motore di espressioni regolari open source. Google SecOps utilizza la stessa sintassi delle espressioni regolari.
La seguente tabella evidenzia alcune delle sintassi delle espressioni regolari più comuni che puoi utilizzare per le tue ricerche.
| Qualsiasi carattere | . |
| x numero di caratteri qualsiasi | {x} |
| Classe di caratteri | [xyz] |
| Classe di caratteri negata | [^xyz] |
| Alfanumerico (0-9A-Za-z) | [[:alnum:]] |
| Alfabetico (A-Za-z) | [[:alpha:]] |
| Cifre (0-9) | [[:digit:]] |
| Minuscole (a-z) | [[:lower:]] |
| Maiuscolo (A-Z) | [[:upper:]] |
| Caratteri alfanumerici (0-9A-Za-z_) | [[:word:]] |
| Cifra esadecimale (0-9A-Fa-f) | [[:xdigit:]] |
| Simbolo del punto interrogativo (?) | Corrisponde a zero o una occorrenza dell'elemento precedente. |
| Asterisco (*) | Corrisponde a zero o più occorrenze del carattere o del gruppo precedente. |
| Segno più (+) | Corrisponde a una o più occorrenze del carattere o del gruppo precedente. |
I seguenti esempi illustrano come utilizzare le espressioni regolari per cercare i dati:
goo.le\.com: corrisponde a qualsiasi stringa che inizia congoo, seguita da un singolo carattere e poi dale.com, ad esempiogoogle.comogoo0le.com.goo\w{3}\.com: corrisponde alle stringhe che iniziano congoo, seguite da esattamente tre caratteri di parola (\w) e che terminano con.com. Esempi includonogoogle.com,goojle.comogoodle.com.[[:digit:]]\.[[:alpha:]]: corrisponde a una stringa composta da una singola cifra, seguita da un punto (.) e da un singolo carattere alfabetico, ad esempio34323.system,23458.officeo897.net.
Espressioni regolari di esempio per la ricerca nei log di Windows
Questa sezione fornisce stringhe di query di espressioni regolari che puoi utilizzare con Raw Log Search di Google SecOps per trovare eventi di Windows monitorati di frequente. Questi esempi presuppongono che i messaggi di log di Windows siano in formato JSON.
Per saperne di più sugli ID evento di Windows monitorati di frequente, vedi Eventi da monitorare. Gli esempi forniti seguono un pattern simile, descritto in questi casi d'uso.
| Caso d'uso: restituire eventi con EventID 1150 | |
| Stringa dell'espressione regolare: | \"EventID\"\:\s*1150 |
| Valori corrispondenti: | "EventID":1150 |
| Caso d'uso:restituisci gli eventi con un ID evento pari a 1150 o 1151 | |
| Stringa di espressione regolare | (?:\"EventID\"\:\s*)(?:1150|1151) |
| Valori corrispondenti | "EventID":1150 e "EventID":1151 |
| Caso d'uso: restituire eventi con un ID evento pari a 1150 o 1151 e con ThreadID 9092 | |
| Stringa di espressione regolare | (?:\"EventID\"\:\s*)(?:1150|1151).*(?:\"ThreadID\"\:\s*9092) |
| Valori corrispondenti | "EventID":1150 <...any number of characters...> "ThreadID":9092
e "EventID":1151 <...any number of characters...> "ThreadID":9092 |
Trovare gli eventi di gestione dell'account
Queste stringhe di query di espressioni regolari identificano gli eventi comuni di gestione dell'account utilizzando l'attributo EventID.
| Tipo di evento | Espressione regolare |
| Account utente creato | "EventID\"\:\s*4720 |
| Account utente abilitato | "EventID\"\:\s*4722 |
| Account utente disattivato | "EventID\"\:\s*4725 |
| Account utente eliminato | "EventID\"\:\s*4726 |
| Modifica dei diritti utente | "EventID\"\:\s*4703 |
| Membro aggiunto al gruppo globale abilitato alla sicurezza | "EventID\"\:\s*4728 |
| Membro rimosso dal gruppo globale abilitato alla sicurezza | "EventID\"\:\s*4729 |
| Il gruppo globale abilitato alla sicurezza è stato eliminato | "EventID\"\:\s*4730 |
Trovare gli eventi di accesso riuscito
Queste stringhe di query di espressioni regolari identificano i tipi di eventi di accesso riusciti utilizzando gli attributi EventID e LogonType.
| Tipo di evento | Espressione regolare |
| Accesso riuscito | "EventID\"\:\s*4624 |
| Accesso riuscito - Interattivo (LogonType=2) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"2\" |
| Accesso riuscito - Accesso batch (LogonType=4) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"4\" |
| Accesso riuscito - Accesso al servizio (LogonType=5) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"5\" |
| Accesso riuscito - Accesso remoto interattivo (LogonType=10) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"10\" |
| Accesso riuscito - Interattivo, Batch, Servizio o RemoteInteractive | (?:"EventID\"\:\s*4624.*?LogonType\"\:\s*\")(?:2|4|5|10)\" |
Trovare gli eventi di errore di accesso
Queste stringhe di query di espressioni regolari identificano i tipi di eventi di accesso non riuscito utilizzando gli attributi EventID e LogonType.
| Tipo di evento | Espressione regolare |
| Errore di accesso | "EventID\"\:\s*4625 |
| Errore di accesso - Interattivo (LogonType=2) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"2\" |
| Errore di accesso - Accesso batch (LogonType=4) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"4\" |
| Errore di accesso - Accesso al servizio (LogonType=5) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"5\" |
| Errore di accesso - Accesso remoto interattivo (LogonType=10) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"10\" |
| Errore di accesso - Interattivo, Batch, Servizio o RemoteInteractive | (?:"EventID\"\:\s*4625.*LogonType\"\:\s*\")(?:2|4|5|10)\" |
Trovare eventi di processi, servizi e attività
Queste stringhe di query con espressioni regolari identificano determinati eventi di processi e servizi utilizzando l'attributo EventID.
| Tipo di evento | Espressione regolare |
| Inizio procedura | "EventID\"\:\s*4688 |
| Uscita dal processo | "EventID\"\:\s*4689 |
| Servizio installato | "EventID\"\:\s*4697 |
| Nuovo servizio creato | "EventID\"\:\s*7045 |
| Attività pianificata creata | "EventID\"\:\s*4698 |
Trovare eventi correlati all'accesso agli oggetti
Queste stringhe di query di espressioni regolari identificano diversi tipi di eventi correlati a processi e servizi utilizzando l'attributo EventID.
| Tipo di evento | Espressione regolare |
| Audit log cancellato | "EventID\"\:\s*1102 |
| Tentativo di accesso all'oggetto | "EventID\"\:\s*4663 |
| Condivisione con accesso | "EventID\"\:\s*5140 |
Risoluzione dei problemi
Utilizza la seguente tabella per risolvere i problemi comuni di ricerca nei log non elaborati:
| Problema | Descrizione | Correggi |
|---|---|---|
| Conteggi dei risultati incoerenti tra le ricerche | L'esecuzione di query su più origini log (Tutte) restituisce conteggi totali dei risultati variabili rispetto alle query a singola origine per i log inseriti di recente a causa del limite di 1000 risultati per i batch di grandi dimensioni (batch con 1000 o più eventi) nell'archiviazione batch e nel campionamento distribuito. | Seleziona origini log specifiche dal menu Origini log
o filtra utilizzando
log_source = IN["LOG_SOURCE_NAME"] e restringi
l'intervallo di tempo di ricerca. |
| Risultati troncati o campionati (limite di 10.000 risultati raggiunto) | La query di ricerca ha trovato più di 10.000 log totali nell'interfaccia utente,
nell'esportazione CSV o nell'API SearchRawLogs (page_size),
restituendo solo un campione di 10.000 risultati. |
Riduci la finestra temporale della query (ad esempio, a 1 ora) e aggiungi
espressioni regolari RE2 specifiche o filtri parsed = false. |
| Discrepanze nel controllo dell'importazione volumetrica | I conteggi dei risultati della ricerca nei log non corrispondono ai volumi totali di log inseriti perché i limiti protettivi di batch e shard vengono applicati prima del filtraggio in memoria. | Utilizza UDM Search, Statistiche e aggregazioni in UDM Search o metriche di integrità dell'importazione per verificare la completezza dell'importazione e la parità volumetrica. |
| La query supera il limite di caratteri | La stringa di ricerca supera il limite di 150 caratteri per le query dei log non elaborati. | Semplifica l'espressione regolare o suddividi l'indagine in query più piccole e separate che hanno come target singole origini log. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.