リモート認証 GeoFeasibility ツール – GeoLogonalyzer

ユーザーは長い間、仮想プライベート ネットワーク (VPN)、Web アプリケーション、メール サーバーなどの重要なリソースにいつでもどこからでもアクセスする必要がありました。従業員にとって、どこからでもリソースにアクセスできることは不可欠ですが、攻撃者は盗んだ資格情報を利用してシステムやデータにアクセスすることがよくあります。大量のリモート アクセス接続があるため、正規のログインと悪意のあるログインを区別するのが難しい場合があります。

本日、組織がログを分析して GeoFeasibility に基づいて悪意のあるログインを識別するのに役立つGeoLogonalyzerをリリースします。たとえば、13:00 にニューヨークから VPN に接続するユーザーは、5 分後にオーストラリアから VPN に合法的に接続する可能性は低いです。

リモート認証アクティビティが環境全体でベースライン化されると、アナリストは、次のようなビジネス要件および正規化されたパターンから逸脱した認証アクティビティを特定し始めることができます。

  1. 2 つの離れた場所から認証するユーザー アカウントで、その間にユーザーがルートを物理的に移動できなかった可能性があります。
  2. 通常、都市、州、国などの 1 つの物理的な場所に登録されている IP アドレスからログオンするユーザー アカウントですが、ユーザーが物理的に存在する可能性が低い場所からもログオンします。
  3. 従業員が居住していない、または出張する予定のない外国の場所からログオンするユーザー アカウントで、その場所に組織のビジネス上の連絡先がない場合。
  4. 通常は 1 つのソース IP アドレス、サブネット、または ASN からログオンするが、別のソース IP アドレス、サブネット、または ASN から少数のログオンを持つユーザー アカウント。
  5. 通常は自宅または職場のネットワークからログオンするユーザー アカウントですが、クラウド サーバー ホスティング プロバイダーに登録されている IP アドレスからもログオンします。
  6. 複数のソース ホスト名から、または複数の VPN クライアントでログオンするユーザー アカウント。

GeoLogonalyzer は、タイムスタンプ、ユーザー名、送信元 IP アドレスを含む認証ログを処理することで、これらおよび同様の状況に対処するのに役立ちます。

GeoLogonalyzer は、Mandiant GitHub からダウンロードできます。

GeoLogonalyzer の機能

IP アドレスの地理的実現可能性分析

ソース IP アドレスを記録するリモート認証ログの場合、 MaxMind の無料の GeoIP データベースなどのデータを使用して、各ログオンが開始された場所を推定することができます。タイムスタンプやユーザー名などの追加情報を使用して、アナリストは時間の経過に伴うソースの場所の変化を特定し、そのユーザーが合法的にログオンを実行するためにこれら 2 つの物理的な場所の間を移動した可能性があるかどうかを判断できます。

たとえば、Meghan というユーザー アカウントが 2017 年 11 月 24 日の 10:00:00 UTC にニューヨーク州ニューヨーク市からログオンし、10 時間後の 2017 年 11 月 24 日にカリフォルニア州ロサンゼルスからログオンしたとします。 20:00:00 UTC では、10 時間でおよそ 2,450 マイルの変化です。メーガンのログオン ソースの変更は、時速 245 マイルに正規化できます。これは、商用航空会社の旅行では妥当です。

2 番目のユーザー アカウント、Harry が 2017 年 11 月 25 日 17:00:00 UTC にテキサス州ダラスからログオンし、2 時間後の 2017 年 11 月 25 日の 19:00:00 にオーストラリアのシドニーからログオンしたとします。 UTC、つまり 2 時間でおよそ 8,500 マイルの変化です。ハリーのログオン ソースの変更は、時速 4,250 マイルに正規化できますが、これは現代の旅行技術ではおそらく実現不可能です。

ログオン ソースの変更に注目することで、アナリストは、Harry がシドニーからログオンする前後にダラスからログインした可能性がある回数を手動で確認する必要がなくなります。

クラウド データ ホスティング プロバイダーの分析

攻撃者は、組織が予期しない場所からの接続をブロックまたは探している可能性があることを理解しています。攻撃者にとっての解決策の 1 つは、侵害された別の国のサーバー上にプロキシを確立するか、AWS、DigitalOcean、Choopa などの企業によって別の国でホストされているレンタル サーバーを介してプロキシを確立することです。

幸いなことに、Github ユーザー「client9」は、簡単に理解できる形式で多くのデータセンター ホスティング プロバイダーを追跡しています。この情報を使用して、データセンター プロキシを利用して GeoFeasibility 分析を妨害する攻撃者の検出を試みることができます。

GeoLogonalyzer の使用

使用可能なログ ソース

GeoLogonalyzer は、タイムスタンプ、ユーザー名、ソース IP を含むリモート アクセス プラットフォーム ログを処理するように設計されています。該当するログ ソースには以下が含まれますが、これらに限定されません。

  1. VPN
  2. 電子メール クライアントまたは Web アプリケーション
  3. Citrix などのリモート デスクトップ環境
  4. インターネットに接続するアプリケーション
使用法

GeoLogonalyzer の組み込みの–csv入力タイプは、次の考慮事項で CSV 形式の入力を受け入れます。

  1. 入力はタイムスタンプでソートする必要があります。
  2. 夏時間などの季節的な変化を避けるために、入力タイムスタンプはすべて同じタイム ゾーン (できれば UTC) にある必要があります。
  3. 入力形式は、次の CSV 構造と一致する必要があります。これには、既存のログ形式を手動で解析または再フォーマットする必要がある可能性があります。

YYYY-MM-DD HH:MM:SS、ユーザー名、ソース IP、オプションのソース ホスト名、オプションの VPN クライアントの詳細

GeoLogonalyzer のコード コメントには、カスタマイズされたログ形式のサポートを追加するための指示が含まれています。 VPN サーバーの製造元からさまざまな VPN ログ形式がエクスポートされるため、GeoLogonalyzer のバージョン 1.0 には生の VPN サーバー ログのサポートが含まれていません。

GeoLogonalyzer の使用法

入力例

図 1 は、Meghan と Harry の 2 つのユーザー アカウントの 8 つの認証イベントを記録した入力VPNLogs.csvファイルの例を表しています。入力データは通常、アプリケーション管理コンソールまたは SIEM から直接エクスポートされたログから取得されます。このサンプル データセットは、完全にデモンストレーション目的で作成されていることに注意してください。

Example GeoLogonalyzer input
GeoLogonalyzer の入力例

Windows 実行可能コマンドの例

GeoLogonalyzer.exe –csv VPNLogs.csv –出力 GeoLogonalyzedVPNLogs.csv

Python スクリプト実行コマンドの例

python GeoLogonalyzer.py –csv VPNLogs.csv –出力 GeoLogonalyzedVPNLogs.csv

出力例

図 2 は、 GeoLogonalyzedVPNLogs.csvファイルの出力例を示しています。これは、認証ソースの変更からの関連データを示しています (強調のためにハイライトが追加され、簡潔にするために一部の列が削除されています)。

GeoLogonalyzer の出力例
GeoLogonalyzer の出力例

分析

図 2 の出力例では、GeoLogonalyzer は、Harry アカウントのログオン パターンの次の異常を識別するのに役立ちます。

  1. 高速 – 記録された時間内にハリーがニューヨークから、続いてオーストラリアから物理的にログオンするには、時速 4,297 マイルの速度で移動する必要がありました。
  2. 距離 – ハリーのニューヨークからオーストラリアへの 8,990 マイルの旅は、予想外の旅行かもしれません。
  3. DCH – オーストラリアからの Harry のログオンは、データセンター ホスティング プロバイダーに関連付けられた IP アドレスから発信されました。
  4. HOSTNAME and CLIENT – Harry は、異なる VPN クライアント ソフトウェアを使用して異なるシステムからログオンしました。これは、ポリシーに違反している可能性があります。
  5. ASN – Harry の送信元 IP アドレスは、同じ ASN に属していませんでした。 ASN 分析を使用すると、同じプロバイダーに属する異なるソース IP アドレスを使用したログオンの確認を減らすことができます。例としては、別のキャンパスの建物からのログオンや、更新された住宅 IP アドレスが含まれます。

データを手動で分析すると、次のような異常が明らかになる可能性もあります。

  1. 事業を行っていない、または従業員がいない国または地域
  2. 想定外のデータセンター
  3. 大学など、想定されていない ASN 名
  4. サービスにログオンしてはならないユーザー名
  5. 承認されていない VPN クライアント ソフトウェア名
  6. 環境の一部ではないホスト名、標準の命名規則と一致しないホスト名、または関連付けられたユーザーに属さないホスト名

このデータのみに基づいてログオン パターンが悪意のあるものかどうかを判断することは不可能な場合がありますが、アナリストは GeoLogonalyzer を使用して、疑わしいログオン アクティビティにフラグを立て、他の調査方法で調査することができます。

GeoLogonalyzer の制限事項

予約アドレス

192.168.XX や 10.XXX などの RFC1918 ソース IP アドレスには、MaxMind データベースに物理的な場所が登録されていません。デフォルトでは、GeoLogonalyzer は予約済みの IP アドレスに座標 (0, 0) を使用するため、結果が変わる可能性があります。アナリストは、必要に応じて、Python スクリプトで RESERVED_IP_COORDINATES 定数を変更することにより、これらの座標を手動で編集できます。

この定数をオフィスの場所の座標に設定すると、最も正確な結果が得られる可能性がありますが、組織に複数の場所やその他のポイント ツー ポイント接続がある場合は実行できない場合があります。

GeoLogonalyzer はパラメーター –skip_rfc1918 も受け入れます。これは、RFC1918 ソース IP アドレスを完全に無視し、アクティビティが失われる可能性があります。

失敗したログオンおよびログオフ データ

すべての VPN アクティビティのソース情報に関連する異常を確認するために、失敗したログオン試行とログオフ レコードをログ ソース データに含めることも役立つ場合があります。現時点では、GeoLogonalyzer はログオンの成功、ログオン試行の失敗、およびログオフ イベントを区別しません。また、GeoLogonalyzer は、複数のソース IP アドレスからのログオン セッションの重複を検出しません。

偽陽性の要因

VPN またはその他のトンネリング サービスを使用すると、誤検出が発生する可能性があることに注意してください。たとえば、ユーザーはワイオミング州のホーム オフィスから 08:00 UTC にアプリケーションにアクセスし、ジョージア州でホストされている 08:30 UTC に VPN サービスに接続し、09:00 UTC に VPN サービスを介してアプリケーションに再度アクセスできます。 GeoLogonalyzer はこのアプリケーション アクセス ログを処理し、ユーザー アカウントが時速約 1,250 マイルの FAST 移動速度を要求していることを検出します。誤検知を理解するために、正当な認証パターンのベースラインを確立することをお勧めします。

オープンソース データへの依存

GeoLogonalyzer は、クラウド ホスティング プロバイダーの決定を行うためにオープン ソース データに依存しています。これらのルックアップは、利用可能なオープン ソース データと同じくらい正確です。

リモート アクセスの悪用を防ぐ

単一の分析方法が完全ではないことを理解した上で、次の推奨事項は、セキュリティ チームがリモート アクセス プラットフォームの悪用を防止し、侵害の疑いを調査するのに役立ちます。

  1. VPN サーバー、RDP または SSH が公開されたシステム、サードパーティ アプリケーション (Citrix など)、イントラネット サイト、電子メール インフラストラクチャなど、インターネットからの機密情報へのアクセスを許可するリモート アクセス プラットフォームを特定して制限します。
  2. すべてのリモート アクセス プラットフォームに対して、動的に生成された 1 回限りの使用トークンを利用する多要素認証ソリューションを実装します。
  3. 特定された各アクセス プラットフォームのリモート アクセス認証ログが記録され、ログ集計ユーティリティに転送され、少なくとも 1 年間保持されるようにします。
  4. ベースラインまたは物理的な場所の登録に基づいて、リモート アクセス ユーザーにとって正当であると確認された IP アドレス範囲をホワイトリストに登録します。ホワイトリストに登録できない場合は、物理的な場所またはクラウド ホスティング プロバイダーに登録されている IP アドレス範囲をブラックリストに登録し、リモート アクセス ポータルに対して正当に認証されないようにします。
  5. SIEM 機能または GeoLogonalyzer.py を利用して、定期的にすべてのリモート アクセスの GeoFeasibility 分析を実行し、予期しないログオン アクティビティを正当に実行するアカウントのベースラインを確立し、新しい異常を特定します。異常を調査するには、問題のユーザー アカウントの所有者に連絡する必要がある場合があります。 FireEye Helixは、GeoLogonalyzer などで利用されるすべての手法のライブ ログ データを分析します!

GeoLogonalyzer を今すぐダウンロードしてください。

謝辞

クリストファー・シュミット、セス・サマーセット、ジェフ・ジョンズ、アレクサンダー・マルフィンガー。

参照: https://www.mandiant.com/resources/blog/remote-authentication-geofeasibility-tool-geologonalyzer

コメント

タイトルとURLをコピーしました