[アップデート]GuardDutyの抑制ルールでドメインのサフィックスを指定できるようになりました
GuardDuty では、抑制ルールを設定することで特定条件に一致した検出結果をフィルタリングして自動でアーカイブすることができます。
今回、抑制ルールの条件としてドメインのサフィックスを指定できるようになりました。
GuardDuty has added a new criteria to filter the generated findings. DNS request domain suffix provides the second- and top-level domain involved in the activity that prompted GuardDuty to generate the finding.
Document history for Amazon GuardDuty
上記アップデート内容を見ると、トップレベルドメインとセカンドレベルドメインの組み合わせで条件を記載できることができるようです。
Filter attributes にも DNS request domain suffix
が新規属性として登録されていました。
service.action.dnsRequestAction.domainWithSuffix
属性を元にフィルタリング可能と記載されています。
抑制ルール無しで検知させてみた
CryptoCurrency:EC2/BitcoinTool.B!DNS を検出させて動作を確認してみます。
検出させるためのドメインとして pool.minergate.com
, xmr.pool.minergate.com
, pool.supportxmr.com
を用い、 EC2 内から dig で各ドメインに DNS クエリを実行してみました。
また、各検出結果に対して Resource.Service.Action
配下も抜粋して記載しました。
まずは抑制ルール無しで試してみます。
pool.minergate.com の場合
dig pool.minergate.com
CryptoCurrency:EC2/BitcoinTool.B!DNS が検知され、DnsRequestAction.Domain
として pool.minergate.com
が、DnsRequestAction.DomainWithSuffix
として minergate.com
が記録されました。
"ActionType": "DNS_REQUEST", "DnsRequestAction": { "Domain": "pool.minergate.com", "Protocol": "UDP", "Blocked": false, "DomainWithSuffix": "minergate.com" }
xmr.pool.minergate.com の場合
dig xmr.pool.minergate.com
DnsRequestAction.Domain
として xmr.pool.minergate.com
が、 DnsRequestAction.DomainWithSuffix
として minergate.com
が記録されました。
Document history に記載の通り、トップレベルドメインとセカンドレベルドメインの組み合わせが属性として追加されたようです。
"ActionType": "DNS_REQUEST", "DnsRequestAction": { "Domain": "xmr.pool.minergate.com", "Protocol": "UDP", "Blocked": false, "DomainWithSuffix": "minergate.com" }
pool.supportxmr.com の場合
dig pool.supportxmr.com
DNS request domain suffix
として pool.supportxmr.com
が、 DnsRequestAction.DomainWithSuffix
として supportxmr.com
が記録されました。
"ActionType": "DNS_REQUEST", "DnsRequestAction": { "Domain": "pool.supportxmr.com", "Protocol": "UDP", "Blocked": false, "DomainWithSuffix": "supportxmr.com" }
抑制ルールを追加して検知させてみた
今度は抑制ルールを追加して試してみます。
まず、検出結果の抑制
をクリックして、抑制ルールを作成します。
DNS request domain suffix
として minergate.com
を指定してみました。
改めて pool.minergate.com
, xmr.pool.minergate.com
, pool.supportxmr.com
に対して DNS クエリを実行すると、 pool.supportxmr.com
だけ検知されました。
DnsRequestAction.DomainWithSuffix
で正しくフィルタリングできていることがわかります。
pool.minergate.com
と xmr.pool.minergate.com
の検出結果はアーカイブ済みに入っていました。
ちなみに、DNS request domain
に minergate.com
を登録しても、pool.minergate.com
と xmr.pool.minergate.com
への DNS クエリによる検出結果はアーカイブされませんでした。
こちらの属性を指定した場合は、ドメインを完全一致させる必要があります。
最後に
抑制ルールを作成する際、ドメインが完全一致しないと条件として指定できないのは少し面倒だったので、大分使いやすくなりました。
GuardDuty で抑制ルールを作成する際は是非試してみて下さい。