AQL 検索ストリングの例
Ariel 照会言語 (AQL) を使用して、 Ariel データベース内のイベント、フロー、および simarc 表から特定のフィールドを取得します。
アカウント使用状況のレポート
ユーザー・コミュニティーごとに脅威や使用状況のインディケーターを変えることができます。
いくつかのユーザー・プロパティー (部門、 ロケーション、マネージャーなど) に関するレポートを作成するには、 リファレンス・データを使用します。 外部リファレンス・データを使用できます。
以下の照会は、 ログイン・イベントに含まれるユーザーに関するメタデータ情報を返します。
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
複数のアカウント ID での情報抽出
この例では、個々のユーザーがネットワーク全体にわたって複数のアカウントを持っています。 組織にはユーザー・アクティビティーの単一ビューが必要です。
リファレンス・データを使用して、ローカルのユーザー ID をグローバル ID にマップします。
以下の照会は、 疑わしい振る舞いというフラグが立てられたイベントで使用されているユーザー・アカウントをグローバル ID ごとに返します。
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
以下の照会は、 完了したアクティビティーをグローバル ID ごとに表示します。
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疑わしい長期的なビーコンの識別
多くの脅威は、コマンドとコントロールを使用して、数日、数週間、および数カ月にわたり定期的に通信します。
拡張検索により、 経時的な接続パターンを識別できます。 例えば、IP アドレス間または IP アドレスと地理的位置との間で日/週/月ごとの、整合している接続、短時間の接続、低ボリュームの接続、接続数を照会できます。
以下の照会は、1 時間ごとに作動するビーコンの可能性があるインスタンスを検出します。
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
以下の照会は、1 日ごとに作動するビーコンの可能性があるインスタンスを検出します。
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
以下の照会は、送信元 IP と宛先 IP の間で毎日作動するビーコンを検出します。 ビーコンが作動する時刻は毎日一定しているわけではありません。 ビーコンは短い間隔で作動します。
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以下の照会は、プロキシー・ログ・イベントを使用することで、 毎日ドメインに送信されるビーコンを検出します。 ビーコンが作動する時刻は毎日一定しているわけではありません。 ビーコンは短い間隔で作動します。
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 daysurl_domain プロパティーはプロキシー・ログのカスタム・プロパティーです。
外部脅威情報
使用状況およびセキュリティーのデータを外部脅威情報データと相関させると、 重要な脅威のインディケーターを実現できます。
拡張検索では、 外部脅威情報インディケーターを他のセキュリティー・イベントおよび使用状況データと相互リファレンスできます。
数日、数週間、または数カ月にもわたる外部脅威データのプロファイルを作成して、アセットおよびアカウントのリスク・レベルを判定し、優先順位を付ける方法を以下の照会に示します。
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
アセット情報および構成
脅威および使用状況のインディケーターは、 アセット・タイプ、オペレーティング・システム、脆弱性の状況、サーバー・タイプ、 分類などのパラメーターによって異なります。
この照会では、拡張検索およびアセット・モデルにより、 ロケーションに対する運用上の情報を得ることができます。
Assetproperty 関数はアセットからプロパティー値を取得します。 この値を使用してアセット・データを結果に含めることができます。
SELECT
ASSETPROPERTY('Location',sourceip) as location,
COUNT(*) as 'event count'
FROM events
GROUP BY location
LAST 1 days アセット・モデルで拡張検索およびユーザー・アイデンティティー・トラッキングを 使用する方法を以下の照会に示します。
AssetUser 関数はアセット・データベースからユーザー名を取得します。
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ネットワーク・ルックアップ関数
Network LOOKUP 関数を使用すると、IP アドレスに関連付けられたネットワーク名を取得できます。
SELECT NETWORKNAME(sourceip) as srcnet,
NETWORKNAME(destinationip) as dstnet
FROM events ルール・ルックアップ関数
Rule LOOKUP 関数を使用すると、ID によってルールの名前を取得できます。
SELECT RULENAME(123) FROM events以下の照会は、特定のルール名をトリガーしたイベントを返します。
SELECT * FROM events
WHERE RULENAME(creEventList) ILIKE '%my rule name%'全文検索
「拡張検索」オプションを使用すると、TEXT SEARCH 演算子を使用して全文検索を実行できます。
この例では、ペイロードに「firewall」という単語が含まれる多数のイベントがあるとします。 「ログ・アクティビティー」タブで「クイック・フィルター」オプションおよび「拡張検索」オプションを使用して、これらのイベントを検索できます。
- 「クイック・フィルター」オプションを使用するには、「クイック・フィルター」ボックスに 'firewall' というテキストを入力します。
- 「拡張検索」オプションを使用するには、「拡張検索」ボックスに次の照会を入力します。
SELECT QIDNAME(qid) AS EventName, * from events where TEXT SEARCH 'firewall'
カスタム・プロパティー
「拡張検索」オプションを使用すると、イベントおよびフローのカスタム・プロパティーにアクセスできます。
SELECT "MyWebsiteUrl", * FROM events ORDER BY "MyWebsiteUrl"