AQL arama dizgisi örnekleri

Ariel veritabanındaki olaylardan, akışlardan ve simarc tablolarından belirli alanları almak için Ariel Query Language (AQL) olanağını kullanın.

Not: Bir AQL sorgusu oluşturduğunuzda, herhangi bir belgeden tek tırnak işaretleri içeren metni kopyaladığınızda ve metni IBM® QRadar®olarak yapıştırdıysanız, sorgunuz ayrıştırılmaz. Geçici bir çözüm olarak, metni QRadar içine yapıştırabilir ve tek tırnak işaretlerini yeniden yazabilir ya da metni IBM Knowledge Center 'dan kopyalayıp yapıştırabilirsiniz.

Raporlama hesabı kullanımı

Farklı kullanıcı toplulukları farklı tehdit ve kullanım göstergelerine sahip olabilir.

Örneğin, departman, konum ya da yönetici gibi çeşitli kullanıcı özelliklerinde raporlama yapmak için başvuru verilerini kullanın. Dış başvuru verilerini kullanabilirsiniz.

Aşağıdaki sorgu, kullanıcıyla ilgili oturum açma olaylarından meta veri bilgilerini döndürür.

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

Birden çok hesap tanıtıcısına ilişkin kavrayış

Bu örnekte, her bir kullanıcının ağ üzerinde birden çok hesabı vardır. Kuruluş, bir kullanıcı etkinliğine ilişkin tek bir görünüm gerektirir.

Yerel kullanıcı kimliklerini genel bir tanıtıma eşlemek için başvuru verilerini kullanın.

Aşağıdaki sorgu, kuşkulu olarak işaretlenen olaylarda genel bir tanıtıcı tarafından kullanılan kullanıcı hesaplarını döndürür.

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

Aşağıdaki sorgu, genel bir tanıtıcı tarafından tamamlanan etkinlikleri gösterir.

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 days

Şüpheli uzun süreli sinyal ışığının belirlenmesi

Birçok tehdit, günler, haftalar ve aylar boyunca düzenli olarak iletişim kurmak için komutu ve denetimi kullanır.

Gelişmiş aramalar, zaman içinde bağlantı kalıplarını tanımlayabilir. Örneğin, IP adresleri ile IP adresi ile coğrafi konum arasında tutarlı, kısa, düşük hacme, gün başına bağlantı sayısını/hafta/ay arası bağlantı sorgulayabilirsiniz.

Aşağıdaki sorgu, saatlik sinyal işaretinin olası eşgörünümlerini algılar.

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
İpucu: Bu sorguyu, yetkili günlükler ve diğer olay tipleri üzerinde çalışmak için değiştirebilirsiniz.

Aşağıdaki sorgu, günlük sinyal işaretinin olası eşgörünümlerini algılar.

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

Aşağıdaki sorgu, bir kaynak IP ve hedef IP arasında günlük beaconing algılanır. Sinyal gönderme süreleri, her gün aynı saatte değildir. Beaconlar arasındaki zaman kaybı kısa.

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 days

Aşağıdaki sorgu, yetkili sunucu günlüğü olaylarını kullanarak bir etki alanına ilişkin günlük beaconing algısını algılar. Sinyal gönderme süreleri, her gün aynı saatte değildir. Beaconlar arasındaki zaman kaybı kısa.

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 days

url_domain özelliği, yetkili sunucu günlüklerinden özel bir özeldir.

Dış tehdit istihbaratından

Dış tehdit istihbaratlarıyla ilintili kullanım ve güvenlik verileri, önemli tehdit göstergeleri sağlayabilir.

Gelişmiş aramalar, dış tehdit istihbaratlarına ilişkin göstergeleri diğer güvenlik olayları ve kullanım verileriyle çapraz olarak eşleştirebilir.

Bu sorgu, varlıkların ve hesapların risk düzeyini belirlemek ve önceliklendirmek için birçok gün, hafta ya da ay boyunca dış tehdit verilerini nasıl profilleyebileceğinin gösterilmektedir.

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

Varlık istihbarati ve yapılandırma

Tehdit ve kullanım göstergeleri, varlık tipine, işletim sistemine, güvenlik açığı duruşuna, sunucu tipine, sınıflandırmaya ve diğer parametrelere göre değişir.

Bu sorguda, gelişmiş aramalar ve varlık modeli, bir konuma operasyonel öngörüler sağlar.

Assetproperty işlevi, varlıklardan özellik değerlerini alır; bu değer, sonuçlara varlık verilerini eklemenize olanak sağlar.

SELECT
ASSETPROPERTY('Location',sourceip) as location,
COUNT(*) as 'event count'
FROM events
GROUP BY location
LAST 1 days

Aşağıdaki sorgu, varlık modelinde gelişmiş aramaları ve kullanıcı kimliği izlemeyi nasıl kullanabileceğini göstermektedir.

AssetUser işlevi, kullanıcı adını varlık veritabanından alır.

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 HOURS

Ağ LOOKUP işlevi

Bir IP adresi ile ilişkilendirilmiş ağ adını almak için Network LOOKUP işlevini kullanabilirsiniz.

SELECT NETWORKNAME(sourceip) as srcnet,
NETWORKNAME(destinationip) as dstnet
FROM events

Kural LOOKUP işlevi

You can use the Rule LOOKUP function to retrieve the name of a rule by its ID.

SELECT RULENAME(123) FROM events

Aşağıdaki sorgu, belirli bir kural adını tetikleyen olayları döndürür.

SELECT * FROM events
WHERE RULENAME(creEventList) ILIKE '%my rule name%'

Özel özellik

You can access custom properties for events and flows when you use the İleri düzey arama option.

Aşağıdaki sorgu, olayları belirli bir web URL 'sine göre sıralamak için "MyWebsiteUrl 'si" özel özelliğini kullanır:
SELECT "MyWebsiteUrl", * FROM events ORDER BY "MyWebsiteUrl"