Beispiele für AQL-Suchbegriffe
Verwenden Sie die Ariel -Abfragesprache (AQL), um bestimmte Felder aus den Ereignissen, Datenflüssen und Simarc-Tabellen in der Ariel -Datenbank abzurufen.
Berichterstellung über Kontonutzung
Verschiedene Benutzercommunitys können unterschiedliche Indikatoren in Bezug auf Sicherheitsbedrohungen und Nutzung aufweisen.
Verwenden Sie Referenzdaten für die Berichterstellung über Benutzereigenschaften (beispielsweise Abteilung, Standort oder Manager). Sie können externe Referenzdaten verwenden.
Die folgende Abfrage gibt Metadateninformationen zum Benutzer auf Basis der zugehörigen Anmeldeereignisse zurück.
SELECT
REFERENCETABLE('user_data','FullName',username) as 'Full Name',
REFERENCETABLE('user_data','Location',username) as 'Location',
REFERENCETABLE('user_data','Manager',username) as 'Manager',
DISTINCTCOUNT(username) as 'Userid Count',
DISTINCTCOUNT(sourceip) as 'Source IP Count',
COUNT(*) as 'Event Count'
FROM events
WHERE qidname(qid) ILIKE '%logon%'
GROUP BY 'Full Name', 'Location', 'Manager'
LAST 1 days
Einblick über mehrere Konten-IDs hinweg
In diesem Beispiel haben einzelne Benutzer mehrere Konten im Netz. Das Unternehmen benötigt eine zentrale Übersicht über die Benutzeraktivität.
Ordnen Sie mithilfe von Referenzdaten lokale Benutzer-IDs einer globalen ID zu.
Die folgende Abfrage gibt die Benutzerkonten zurück, die von einer globalen ID bei Ereignissen verwendet wird, die als verdächtig markiert wurden.
SELECT
REFERENCEMAP('GlobalID Mapping',username) as 'Global ID',
REFERENCETABLE('user_data','FullName', 'Global ID') as 'Full Name',
DISTINCTCOUNT(username),
COUNT(*) as 'Event count'
FROM events
WHERE RULENAME(creEventlist) ILIKE '%suspicious%'
GROUP BY 'Global ID'
LAST 1 days
Die folgende Abfrage zeigt die Aktivitäten an, die von einer globalen ID ausgeführt wurden.
SELECT
QIDNAME(qid) as 'Event name',
starttime as 'Time',
sourceip as 'Source IP', destinationip as 'Destination IP',
username as 'Event Username',
REFERENCEMAP('GlobalID_Mapping', username)as 'Global User'
FROM events
WHERE 'Global User' = 'John Doe'
LAST 1 daysVerdächtigen langfristigen Beaconbetrieb ermitteln
Viele Sicherheitsbedrohungen kommunizieren mithilfe von Befehlen und Steuerelementen laufend über Tage, Wochen und Monate hinweg.
Erweiterte Suchvorgänge können Verbindungsmuster in einem bestimmten Zeitraum aufdecken. Sie können beispielsweise eine Abfrage im Hinblick auf konsistente, kurze Verbindungen an der unteren Mengengrenze pro Tag/Woche/Monat zwischen IP-Adressen oder an einer IP-Adresse und an einem Standort durchführen.
Die folgende Abfrage erkennt potenzielle Instanzen eines stündlichen Beaconbetriebs.
SELECT sourceip, destinationip,
DISTINCTCOUNT(DATEFORMAT(starttime,'HH')) as 'different hours',
COUNT(*) as 'total flows'
FROM flows
WHERE flowdirection = 'L2R'
GROUP BY sourceip, destinationip
HAVING "different hours" > 20
AND "total flows" < 25
LAST 24 hours
Die folgende Abfrage erkennt potenzielle Instanzen eines täglichen Beaconbetriebs.
SELECT sourceip, destinationip,
DISTINCTCOUNT(DATEFORMAT(starttime,'dd'))as 'different days',
COUNT(*) as 'total flows'
FROM flows
WHERE flowdirection='L2R'
GROUP BY sourceip, destinationip
HAVING "different days" > 4
AND "total flows" < 14
LAST 7 days
Die folgende Abfrage erkennt täglichen Beaconbetrieb zwischen einem Quellen-IP und einem Ziel-IP. Der Beaconbetrieb erfolgt nicht jeden Tag zur selben Zeit. Die Zeitdifferenz zwischen den Beaconnachrichten ist kurz.
SELECT
sourceip,
LONG(DATEFORMAT(starttime,'hh')) as hourofday,
(AVG( hourofday*hourofday) - (AVG(hourofday)^2))as variance,
COUNT(*) as 'total flows'
FROM flows
GROUP BY sourceip, destinationip
HAVING variance < 01 and "total flows" < 10
LAST 7 daysDie folgende Abfrage erkennt täglichen Beaconbetrieb bei einer Domäne unter Verwendung von Proxy-Protokollereignissen. Der Beaconbetrieb erfolgt nicht jeden Tag zur selben Zeit. Die Zeitdifferenz zwischen den Beaconnachrichten ist kurz.
SELECT sourceip,
LONG(DATEFORMAT(starttime,'hh')) as hourofday,
(AVG(hourofday*hourofday) - (AVG(hourofday)^2)) as variance,
COUNT(*) as 'total events'
FROM events
WHERE LOGSOURCEGROUPNAME(devicegrouplist) ILIKE '%proxy%'
GROUP BY url_domain
HAVING variance < 0.1 and "total events" < 10
LAST 7 daysDie Eigenschaft url_domain ist eine angepasste Eigenschaft aus Proxy-Protokollen.
Externe Informationsbeschaffung zu Sicherheitsbedrohungen
Nutzungs- und Sicherheitsdaten, die mit Daten aus einer externen Informationsbeschaffung zu Sicherheitsbedrohungen (Threat Intelligence-Daten) korrelieren, können wichtige Indikatoren für Sicherheitsbedrohungen sein.
Erweiterte Suchvorgänge können Querverweise zwischen Indikatoren aus einer externen Informationsbeschaffung zu Sicherheitsbedrohungen und sonstigen Sicherheitsereignissen und Nutzungsdaten herstellen.
Diese Abfrage zeigt, wie Sie über viele Tage, Woche oder Monate hinweg ein Profil der externen Sicherheitsbedrohungsdaten erstellen und die Risikostufe von Assets und Konten priorisieren können.
Select
REFERENCETABLE('ip_threat_data','Category',destinationip) as 'Category',
REFERENCETABLE('ip_threat_data','Rating', destinationip) as 'Threat Rating',
DISTINCTCOUNT(sourceip) as 'Source IP Count',
DISTINCTCOUNT(destinationip) as 'Destination IP Count'
FROM events
GROUP BY 'Category', 'Threat Rating'
LAST 1 days
Assetdaten und Konfiguration
Die Sicherheitsbedrohungs- und Nutzungsindikatoren variieren je nach Assettyp, Betriebssystem, Sicherheitslückenneigung, Servertyp, Klassifizierung und sonstigen Parametern.
In dieser Abfrage bieten erweiterte Suchvorgänge und das Assetmodell einen operativen Einblick in einen Standort.
Die Funktion Assetproperty ruft Eigenschaftswerte aus Assets ab. Dadurch können Sie Assetdaten in die Ergebnisse einbeziehen.
SELECT
ASSETPROPERTY('Location',sourceip) as location,
COUNT(*) as 'event count'
FROM events
GROUP BY location
LAST 1 days Die folgende Abfrage zeigt, wie Sie erweiterte Suchvorgänge und die Überwachung der Benutzeridentität im Assetmodell verwenden können.
Die Funktion AssetUser ruft den Benutzernamen aus der Assetdatenbank ab.
SELECT
APPLICATIONNAME(applicationid) as App,
ASSETUSER(sourceip, now()) as srcAssetUser,
COUNT(*) as 'Total Flows'
FROM flows
WHERE srcAssetUser IS NOT NULL
GROUP BY App, srcAssetUser
ORDER BY "Total Flows" DESC
LAST 3 HOURSFunktion "Network LOOKUP" (Netzsuche)
Mit der Funktion Network LOOKUP können Sie den Netznamen abrufen, der einer IP-Adresse zugeordnet ist.
SELECT NETWORKNAME(sourceip) as srcnet,
NETWORKNAME(destinationip) as dstnet
FROM events Funktion "Rule LOOKUP" (Regelsuche)
Mit der Funktion Rule LOOKUP können Sie den Namen einer Regel anhand ihrer ID abrufen.
SELECT RULENAME(123) FROM eventsDie folgende Abfrage gibt Ereignisse zurück, die einen bestimmten Regelnamen ausgelöst haben.
SELECT * FROM events
WHERE RULENAME(creEventList) ILIKE '%my rule name%'Volltextsuche
Sie können den TEXT SEARCH-Operator verwenden, um eine Volltextsuche durchzuführen, indem Sie die Option Erweiterte Suche verwenden.
In diesem Beispiel gibt es eine Anzahl von Ereignissen, die das Wort "Firewall" in den Nutzdaten enthalten. Sie können nach diesen Ereignissen suchen, indem Sie die Optionen Schnellfilter und Erweiterte Suche auf der Registerkarte Protokollierungsaktivität verwenden.
- Um die Option Schnellfilter zu verwenden, geben Sie folgenden Text in der Box Schnellfilter ein: 'firewall'
- Um die Option Erweiterte Suche zu verwenden, geben Sie
folgende Abfrage in der Box Erweiterte Suche ein:
SELECT QIDNAME(qid) AS EventName, * from events where TEXT SEARCH 'firewall'
Angepasste Eigenschaft
Sie können auf die angepassten Eigenschaften für Ereignisse und Datenflüsse zugreifen, wenn Sie die Option Erweiterte Suche verwenden.
SELECT "MyWebsiteUrl", * FROM events ORDER BY "MyWebsiteUrl"