ブロックリスト(RBL)のより効果的な使い方を探る -OCTO-037のご紹介-
dom_gov_team ICANN技術政策文書 ドメイン名前回に引き続き、ICANNが公開している技術政策文書の中からOCTO-037 RBL Evaluation Methodologyについてご紹介します。
RBLはReputation Block Listの略で、スパムやフィッシングなど悪意あるコンテンツに利用されていると考えられるIPアドレスやドメイン名、URLのリストのことです。特にISPやメールサービスプロバイダーでは、不審なトラフィックを発見したりユーザーを保護したりするための一般的な手法の一つとしてこのRBLが使われます。ICANN OCTOの研究プロジェクトでもRBLが使用されており、以前このブログシリーズでも紹介したDAARや、DAARのデータを組み込んだITHIのメトリクスにおいてRBLが重要な情報源になっています。また、2024年2月に新しく発表されたOCTOのプロジェクトであり、DAARの進化版ともいえるDomain MetricaでもRBLの組み込みが見込まれています。このようにインターネット上の脅威からユーザーや資源を保護するため、本文書ではRBL自体をどのように評価して利用するのが良いのか検討し、実際に複数のRBLを比較しています。
評価方法の検討
あるRBLを評価する上で、いくつかのカテゴリを用いてそのRBLの特徴を掴むことができます。
-
目的: どのような項目を含んでいるのか (スパムなのかフィッシングなのか等)
-
仕組み: リストの全データのファイルが提供されるのか新着フィードだけなのかなど、どのようにリストが提供されるのか
-
メタデータ: マルウェアの種類やフィッシングのターゲットブランドなど、どのような付加情報が提供されるのか
-
情報源: RBLのそれぞれの項目が実際の観測によるものなのか、蓋然性による判断なのか
また、データからはわからない特徴もあります。これらは実際の使用経験やドキュメントなどから判断する必要があります。
-
収集範囲: 地理的なバイアスがないか、特定の収集方法が抜けたりしていないか
-
項目の再評価: 一度掲載された項目が定期的に再評価されているか
-
信頼性: データは常に取得できるのか、取得や転送に制限があるのか
このような定性的な特徴の他に、直接的または間接的に判断できる定量的な指標も考えられます。定量的な指標の単位や導出方法は必ずしも決まっていませんが、原文では実際にOCTOが使用しているデータセットを使ってグラフ等に可視化された比較例も掲載されています。
直接的指標
直接的指標は、RBLのデータそのものを観察・計測することで得られる指標のことです。
-
量: 一定期間あたりの掲載ドメイン名数等を比較することはできますが、例えばドメイン名生成アルゴリズム (DGA) で生成した実際には登録されていないドメイン名が含まれていることがあるほか、すべての掲載ドメイン名が等しくアクティブなわけではないなど、比較は容易ではありません。そのため、もっと価値ある指標が求められます。
-
オーバーラップ: 複数のRBLで同一のドメイン名が重複して登録されているかどうかをカテゴリ別に比較することができます。あるRBLに含まれる情報が別のRBLでほとんどカバーされているケースなどを発見し、そのRBLを追加で用いる価値があるかどうかの指標になります。
-
即時性: オーバーラップのあるRBLを見つけた場合、次の比較基準は「どちらがどれくらい早くそのデータを掲載するか」になります。
-
更新頻度1: 一度にすべての掲載データを見ることのできるRBLの場合、リスト全体の大きさや追加/削除されたデータの数を定期的に計測することで、そのRBLがどれくらい動的に更新されているのかを知ることができます。忘れられがちですが、既にアクティブでなくなった脅威がRBLから削除されることは、新たな脅威が追加されることと同じくらい重要です。
間接的指標
間接的指標は、RBLのデータを実際のデータなどと突き合わせることで得られる指標のことです。
-
活発度: RBL に含まれるドメイン名の中にはすでに活動していないものやドメイン名パーキングされているものもあります。これはサンプリング調査をすることで調べることができます。アクティブでないドメイン名が含まれる理由には、単に情報が古いという可能性もありますが、DGAを用いて作成されたドメイン名であり、そもそも登録されていないという可能性もあります。
-
精度: RBLのデータの中には擬陽性、つまり本当は不審ではないのに不審であると評価されたドメイン名が含まれることがあります。これを見つけるのは難しいですが、TRANCO top 1Mのような高評価のドメイン名リストと突き合わせることで評価することができます。DGAで生成された短いドメイン名が擬陽性となる場合がありますが、その場合は受認可能なリスクとのバランスを考慮して、DGA生成のドメイン名は7文字以上のみ使用するなどの措置が考えられます。
-
正確性: RBLの中にはカテゴリなどのメタデータが含まれることがありますが、それらは正しいでしょうか? 同じドメイン名が複数のRBLにあるとき、カテゴリは同じでしょうか? RBLの使用にあたっては、あるドメイン名がRBLに現れているかどうかだけでなく、メタデータも含めてすべて信頼できるものを使用したいものです。
RBLの限界と補完性
これまで紹介してきた指標で実際のRBLをみてみると、RBL独自の特徴を捉えることができ、新たにそのRBLを使用すべきかどうかの判断材料として使うことができます。ただし、特定のプロジェクトに最適なRBLを探すということを考えるとこれらはいち側面に過ぎず、プロジェクト自体が何を必要としているか分析することも重要になります。そのため、あるプロジェクトに対してこのRBLが適している、ということは言えても、一般論としてどのRBLが優れている/劣っていると言うのは難しいのです。
OCTOからアクセスできるRBLをこれまでの指標で考えると、複数の情報元を使用することでユニークなエントリ数が増えデータの補完性を増すことができると言えます。また、指標に用いるサンプルデータの期間によって特定のRBLに本来よりも良すぎたり悪すぎたりする印象をもたせることがあるため、期間を大きくとって比較することも一つの方法です。
以上のように、OCTOではRBLに対してさまざまな評価軸を持ってそのRBLをプロジェクトに使用するべきかどうか判断しています。OCTOで行っているような研究プロジェクトの他にも、RBLはファイアウォールやフィルタリングなどセキュリティ実務でよく使用されます。本稿では概要のみご紹介していますが、原文では実際に比較した結果や、その算出に用いたPythonコードも公開されていますので、ご興味のある方はぜひ原文もご覧ください。
1 訳注: 原文では Churn。