テキスト形式の IP リストにコメントをつけることができるかどうかを確認してみた

できなかったため、 OTX CSV 形式で代替してみました。
2024.05.07

こんにちは! AWS 事業本部コンサルティング部のたかくに(@takakuni_) です。

Amazon GuardDuty には、信頼できる or 脅威 IP リストを使ってルールの抑制/検知をコントロールできる機能があります。

信頼できる IP リストと 脅威リストの使用 - Amazon GuardDuty

S3 バケットに この IP リストを配置し、 Amazon GuardDuty から参照する仕組みで成り立っています。

信頼できる IP リストは、以下のフォーマットをサポートしており、テキスト形式のファイルにコメントが追記できるのか気になったため、ブログにしたいと思います。

  • Plaintext (TXT)
  • Structured Threat Information Expression (STIX)
  • Open Threat Exchange (OTX)TM CSV
  • FireEyeTM iSIGHT Threat Intelligence CSV
  • ProofpointTM ET Intelligence Feed CSV

なぜテキスト形式にコメントを書きたくなったのか

結論、クォーターの問題でコメントが書きたくなりました。

脅威 IP リストの場合、 AWS アカウントのリージョンごとに最大 6 つの脅威リストをアップロードできます。

リソース デフォルト コメント
Threat intel sets 6 The maximum number of Threat intel sets that you can add per AWS account per Region. You cannot request a quota increase.

一方、信頼できる IP リストは、 AWS アカウントのリージョンごとに 1 つまでの制限があり、上限緩和ができない状況です。

リソース デフォルト コメント
Trusted IP sets 1 The maximum number of trusted IP sets that can be uploaded and activated per AWS account per Region. You cannot request a quota increase.

Quotas for Amazon GuardDuty - Amazon GuardDuty

そこで、今回はテキスト形式のファイルにコメントを追記できるのか確認してみます。

やってみる

IP リストを保管する S3 バケットの作成から行います。適当な名前のバケット名で作成します。

挙動の確認

まずは、挙動の確認を行います。

コメントなしのファイルで信頼できる IP リストを作成します。以下のファイルを作成しました。

ip-list.txt

192.0.2.0/24
198.51.100.1
203.0.113.1

先ほど作成した、 S3 バケットに IP リストをアップロードします。後の作業で オブジェクト URL が必要になるため、値を控えておきます。

それでは、 GuardDuty コンソールより 信頼されている IP リスト の追加を行います。

リスト名、 場所(先ほど控えた オブジェクト URL)、形式の指定、同意のチェックボックスをクリックして、リストの追加を行います。

正常に登録されていると以下の画面のようになり、ステータスが Inactive と表示されます。それでは、 IP リストの有効化を行っていきます。

アクションから有効化をクリックします。

無事、ステータスが Acitve になりましたね。

コメントを追加してみる

それでは本題のコメントを追加してみます。次のように IP リストの書き換えを行ってみました。

ip-list-commented.txt

192.0.2.0/24 # home
198.51.100.1 # company
203.0.113.1 # parents' home

リストの再作成、再度有効化すると、

エラーになってしまいました。(エラーメッセージに従い、何度か試してみてもダメそうでした)

回避策を考える

残念ながら、テキスト形式のファイルにコメントを追記することはできませんでした。そのため、別のフォーマットで代替策を考えます。サポートしているフォーマットを眺めていると、 Open Threat Exchange CSV 形式が一番シンプルそうだったため、こちらで代替してみようと思います。

Indicator type, Indicator, Description
CIDR, 192.0.2.0/24, example
IPv4, 198.51.100.1, example
IPv4, 203.0.113.1, example

信頼できる IP リストと 脅威リストの使用 - Amazon GuardDuty

Open Threat Exchange

Open Threat Exchange は セキュリティ関連の情報共有のコミュニティプラットフォームです。脅威の証跡(Indicator of Compromise:IOC)や、その他の脅威情報を共有するために Open Threat Exchange CSV は通常使われるようです。

脅威インテリジェンス専門ベンダーおススメ!IOCの分析に使える無償かつオープンソースな分析ツール Part 2:IOCを見つける場所

通常、脅威リストとして利用される CSV フォーマットのため、信頼される IP リストとは利用用途がズレますが、 Amazon GuardDuty としてはサポートしているため、こちらを使っていきます。

Indicator type

Indicator type は以下の種類をサポートしています。今回は IPv4 と CIDR を使っていきます。

  • IPv4
  • IPv6
  • domain
  • hostname
  • email
  • URL
  • URI
  • FileHash-MD5
  • FileHash-SHA1
  • FileHash-SHA256
  • FileHash-PEHASH
  • FileHash-IMPHASH
  • CIDR
  • FilePath
  • Mutex
  • CVE
  • YARA

OTX-Python-SDK/IndicatorTypes.py at master · AlienVault-OTX/OTX-Python-SDK

コメントを追加してみる その 2

次のように IP リストの作成を行ってみました。

適当な Description を追加してみます。1 行目の CIDR とても便利ですね。(/24 持っているお家はあり得るのでしょうか)

ip-list-commented.csv

Indicator type, Indicator, Description
CIDR, 192.0.2.0/24, home
IPv4, 198.51.100.1, company
IPv4, 203.0.113.1, parent's home

IP リストへの追加

IP リストの追加を行ってみます。 S3 にアップロードした、 ip-list-commented.csv のオブジェクト URL とファイル形式を OTX CSV に変更し、リストの追加を行います。

無事、アクティベートが完了しました。

余談ですが、次のようにコメントに日本語を入れることもできました。

ip-list-commented-ja.csv

Indicator type, Indicator, Description
CIDR, 192.0.2.0/24, 家
IPv4, 198.51.100.1, 会社
IPv4, 203.0.113.1, 実家

まとめ

以上、「テキスト形式の IP リストにコメントをつけることができるかどうかを確認してみた」でした。

残念ながら、テキスト形式のファイルにコメントはつけれませんでしたが、別のフォーマットを利用することで代替できましたね。このブログがどなたかの参考になれば幸いです。 AWS 事業本部コンサルティング部のたかくに(@takakuni_) でした!