URL 正規化ルール
2024年8月22日
ID 231546
様々な悪意のあるソフトウェアが、(単一文字を使用したドメイン名を含む国のドメイン名を使用する、IP アドレスを 8 進法で表す、スラッシュを繰り返すなどにより)URL アドレスの難読化技術を使用して活動の隠蔽を試行します。この場合、技術的に異なるアドレス(たとえば、スキーム、ポート、URL アドレス内の文字の大文字小文字の区別など)を介して同じコンテンツに頻繁にアクセスできます。
この結果、初期の形式のセキュリティ侵害インジケーター(IoC) と URL をマッチングすると、IoC とマッチングされないため、脅威を見逃す原因となります。
たとえば、github.com@520966948 は、実際には facebook.com に属する難読化された IP アドレス 31.13.83.36 です。
Kaspersky CyberTrace には、2 つの便利な機能があります:
- 一般的に SIEM では使用できない URL 正規化ルール。
- 悪意のある URL のグループをクローズするために Kaspersky Data Feeds で使用されるマスク。
Kaspersky Data Feeds では、正規化バリアントが異なる 13 のバリアントは使用できません。なぜなら、これらのバリアントを使用すると、フィードのサイズが不合理に大きくなるからです。ただし、ユーザーからカスペルスキーに既知の URL が特定の形式で送信された場合、正規化の使用により、カスペルスキーはこれを変換し、フィード内のマッチングを検索し、これを検知できます。
現在、URL 正規化ルールは 13 個あります。これらのルールの適用例は、次の通りです:
- RFC 3986、セクション 5.2.4「Remove Dot Segments」(https://www.ietf.org/rfc/rfc3986.txt)で説明されているアルゴリズムに従ってドットセグメント(「
.
」および「..
」)を削除する:http://www.example.com/../a/b/../c/./d.html => http://www.example.com/a/b/c/d.html
- プロトコルを削除する:
http://example.com → example.com
- RFC 3492(https://www.ietf.org/rfc/rfc3492.txt)で説明されている Punycode アルゴリズムに従って国際化ドメイン名を変換する:
тест.рф → xn--e1aybc.xn--p1ai
www
接頭辞を削除する:www.example.com → example.com
- スラッシュの繰り返しを削除する:
example.com//dir/test.html → example.com/dir/test.html
- URL の終わりにある末尾のスラッシュを削除する:
example.com/ → example.com
- 認可情報を削除する:
login:password@example.com → example.com
- ポート番号を削除する:
example.com:80/index → example.com/index
#fragment
参照を削除する:example.com#fragment → example.com
- ホスト名の終わりにあるドットを削除する:
example.com./index.html → example.com/index.html
- RFC 3986(https://www.ietf.org/rfc/rfc3986.txt)および RFC 2279(https://www.ietf.org/rfc/rfc2279.txt)に従って、パーセントでエンコードされた記号を UTF-8 に変換する。
- すべての文字を小文字に変換する:
EXAMPLE.COM → example.com
- リクエストされたホストにつながる IP アドレス(存在する場合)をドット区切りの 10 進表記に変換する:
0112.0175.0117.0150 → 74.125.79.104
悪意のある URL のグループをクローズするために、このフィードでは、8 つのタイプのエントリを使用し、これらをマスクされたエントリとマスクされていないエントリに分けます。
特定のタイプのエントリの目的に関して、URL に基づいて正規化された URL とデータベース内のエントリのマッチングを実行する必要があります。URL の正規化とマスクを使用すると、フィードの検知率が上がり、提供されるデータ量が最小限に抑えられ、誤検知が減ります。
詳細は、Kaspersky Threat Intelligence Data Feeds の実装ガイドを参照してください。