ネットワークセキュリティの管理

Traffic Sentinel は、現存する境界域に配置されたセキュリティ計測システム(Firewall, VPN など)を置き換えるものではありません。むしろ、Traffic Sentinelは、ファイアウォールの内側の視覚化を提供することにより、境界域のセキュリティ保持を補完する働きをします。ユーザはより機動性のある環境を好み、また、内部リソースは、ビジネスパートナーやカスタマーに公開されているので、境界域のみでは、セキュリティを維持することは困難です。さらに、セキュリティは、従業員の不注意な行い(例:認可されていないソフトウェアのインストールやハードウェアの設置)によっても劣化します。Traffic Sentinelのネットワークの広範に渡る視覚化は、いくつかのセキュリティ・モニタリング技術をサポートします。:

しばしば、ひとつ以上の個々のテクニックが適用されます:

  • シグネチャー(Signature) パケット・シグネチャーは、Traffic Sentinelがフローデータを受信すると、即座に適用されます。もし、パケット・シグネチャー・ルールを使用して、セキュリティの脅威が検知された場合、このテクニックは、即座に問題の通知を行ないます。さらに、ルールがトリガーされた時、ルールにトリガーされたパケットはキャプチャーされ、さらなる分析に使用することができます。
  • レポート(Report) レポートは、毎5分間に一回の頻度で実行することができ、また、アラートを発生させることができます。レポートは、主にシンプルなパケット・シグネチャーとして定義するのが難しいセキュリティ違反や振る舞いのモニターに使用されます。パケット・シグネチャーはルールが適用された後に発生した違反のみを検知するのに対して、レポートは、長期的なセキュリティ違反の検知に使用されます。過去にさかのぼることのできるこの能力は、最近識別した問題の対応を行なう時に大変便利です。;新しいルールの導入は、新しい違反の識別に有効ですが、レポーティング能力は、以前の不正ホストについての情報の確認が可能です。
  • トラフィック(Traffic) リアルタイムでのトラフィック・モニタリング・チャートは、特定のトラフィックのタイプへのドリルダウンや怪しげな振る舞いの識別に使用する事ができます。この能力は、通常でない、あるいは、怪しげなトラフィックの調査や説明を行なうのに便利です。

使用することを選択したどのセキュリティ・モニタリングのテクニックも個々の組織上の要求や脆弱にあわせて適用する必要があります。

実施する前に、Traffic Sentinelのセキュリティ・モニタリングの設定で重要な最初のステップは、ネットワークを意味のあるゾーンやグループに分ける設定を行なうことです。ネットワーク内のアドレス空間やデバイスを十分把握し説明できれば、Traffic Sentinelで、ローカルトラフィックと外部トラフィックの識別、ゾーン間のトラフィックの識別、ホストの配置、認可されていないデバイスの発見などを行なうことを可能にします。 ( Traffic Sentinelの環境設定 参照).

振る舞い分析(Behavior Analysis)

Network Behavior Anomaly Detection (NBAD) は、通常でない、ワーム・アクティビティやゼロデイアタックやネットワークセキュリティを脅かす他の問題に関連していると思われる典型的なトラフィック・パターンを認識することを必要とします。

特異なパターンの認識の一般的なテクニックは、ネットワーク上のホストの振る舞い(動き)を比較することです。問題は、まれに発生し、通常でない通信を原因とする場合が多いので、影響を与えたホストは外部のホストである可能性があります。これは、それらのトラフィックを、そのピア情報("Top N" 分析)で比較することで判断できます。このテクニックは、"ベースライン(baselining)"アプローチ上で利用でき、いくつかの利点を持っています(ベースライン(baselining)は、期間内での振る舞いの傾向の把握を必要とし、そして、振る舞いの変化を強調します。)。ホストとそれらのピアを比較することは、ベースラインを作成するのに必要な長い調査期間を必要としません。さらに、このテクニックは、自動的に、ネットワーク全体のトラフィックパターンの変化から標準の状態を把握します。

多くのTraffic Sentinelの機能は、"Top N" 分析を実行し、不正な振る舞いを強調します。さらに、Traffic Sentinelは、ベースラインを生成するのに使用できるヒストリー(長期データ)を維持します。

スキャニング(Scanning)

ネットワーク上のデバイスのスキャニングは、脆弱性のあるホストの発見と攻撃の試みとしばしば関連します。ワームのスキャンはだんだん増殖して行き、ハッカーのスキャンは、ネットワークのセキュリティの弱さをだんだん把握しながら行ないます。

スキャニングの動きは、ひとつのホストが、多数の相手先にトラフィックを送信するような扇状に広がる形でトラフィック内に現れます。トラフィック(Traffic)>サークル(Circles)ツールは、まさに、スキャニングの動きに関連した扇状の形状を示します。

さらに、トラフィック(Traffic)>トレンド(Trend) ツールは、以下のチャートのひとつを選択することによって、スキャニング・ホストの検索に使われます。:

  • Top Sources by #Destinations は、スキャニングを行なっているホストの識別を行なう。
  • Top Destination Protocols by #Pairs は、スキャニングで使用されているプロトコルの識別を行なう。

トラフィック(Traffic)ツールは、セキュリティの問題を視覚的に調査することや、その原因を識別するのに便利なうえ、スキャニングの動きの自動通知により攻撃が行なわれていることを知らせます。Traffic Sentinelでは、自動的にスキャンの検知を行なうことを可能にする2つの主要なアプローチがあります。:

  • シグネチャを使用したセキュリティ(Signatures)
  • レポート(Reports)

シグネチャを使用したセキュリティ(Signatures)は、トラフィックの個々のタイプをマッチさせるために使用します。シグネチャにスキャニングを認識させるためには、ルールにしきい値(threshold) を設定することが必要です。以下のスキャニング・ルールは、もし、TCP ポート445(このポートは、Windowsの脆弱性に関連)を検知したとき、警告します。

alert tcp $HOME_NET any -> any 445 \
(\
  msg:"Microsoft-DS scan";\
  threshold: type scan, track by_src, count 5, seconds 600;\
  classtype:network-scan;\
  sid: 580002002;\
  rev:1;\
)
このケースでは、しきい値は、あるホストが、10分間(600秒)で、5つ以上のホストと接続を行なおうとした場合、通知が作成されるよう設定されています。シグネチャを使用したセキュリティ(Signatures)の設定は、セキュリティ(Signatures)>設定(Configure) メニューを使用します。( ヘルプ参照)。

また、スキャニングの動きの検知は、レポート機能でも行なうことができます。レポート(Reports)>実行(Run) メニューの "Security>Compromised Hosts > Port Scanning Activity" クエリを活用ください。

TCP:445 を使用したスキャニングを検索しています。このレポート(毎10分ごとに実行がスケジュール化されている場合)は、ホストが10分間で5つ以上のアドレスへのスキャンを検知するたびに、イベントを生成します(注意:イベントは、しきい値が設定されている時のみ生成されます。)。さらに、レポートは、過去24時間内の全ての脅威に対するリストを保持するようにし、新規の脅威が検知された時のみイベントを発生させる事もできます。

追加のフィルタリングが、誤検知の発生を回避するのに必要かもしれません。フィルタは、シグネチャー・ルールやレポートの条件(Where)項目に追加することができます。たとえば、ネットワーク管理システムにネットワーク・ディスカバリー・スウィープを実行させて、アラートの要因とする。設定として、"管理(Management)"ゾーンを作成することで、このトラフィックを除外する。

割り当てられていないアドレス空間

使用されていないアドレスへの接続の試みは、常に怪しい接続と考えることができます。この動きを検知する最善の方法は、最初にTraffic Sentinelの設定でUNASSIGNEDゾーンを生成し (ファイル(File)>設定(Configure) メニュー参照) 、ネットワーク内の割り当てられていないアドレス空間とそれを関連させることです。以下のルール(セキュリティ(Signatures)>設定(Configure) メニュー参照) は、UNASSIGNEDゾーンへのトラフィックの検知に使われます。:

alert ip any any -> ">>UNASSIGNED" any\
(\
  msg:"Activity to unused subnets";\
  classtype:attempted-recon;\
  sid:580001002;\
  rev:1;\
)

代わりに、レポートを使用する場合は、レポート(Reports)>実行(Run)のTraffic>General Queriesの各種クエリを使用してください。これらのいくつかのレポートは、以下のように条件(Where)項目へ記述することによって、UNASSIGNEDゾーンへトラフィックを送信しているホストの識別に使用することができます。:

destinationzone = UNASSIGNED

"Security>Access Policy>Inter-Group Access" クエリは、UNASSIGNEDゾーンへのトラフィックがある時に、アラートを発生させるのに使用します(条件(Where)項目に再度設定することにより)。しかし、このクエリは、個々のアドレスではなく、トラフィックが送信されてきたゾーンを識別します。完全なレポート・ソリューションを提供するためには、To create a complete reporting solution, use レポート(Reports)>編集(Edit) を使用して、新しいセキュリティ・レポートやレポートに双方のクエリを追加すること( レポートの作成やスケジューリングの情報に対するレポーティング チュートリアルを参照)が必要です。スケジュール化した時、このレポートは、トラフィックが、UNASSIGNEDゾーンで測定された時にイベントを生成し、また、このトラフィックを送信している個々のアドレスを識別することができます。

エラー(Errors)

エラーメッセージは、アタッカーがホストの精査を試みた時、しばしば生成されます。ICMP Destination Unreachable メッセージ (ICMP:3)は、ホストが利用不可能なサービスへ接続しようとした時に、送信されます。

特定のホストやプロトコルに興味があるのであれば、最初に行なうべき最善の方法は、検索(Search)>ホスト(Host) あるいは 検索(Search)>プロトコル(Protocol)メニューの機能です。今回のケースでは、検索(Search)>プロトコル(Protocol)フォームで、"ICMP:3" (あるいは、もし特定のポート番号が不明の場合は、"ICMP:*" )と入力することです。表示された結果のページ内のコネクション(Connections)ボタンをクリックしてリアルタイム・チャートを表示し、チャート(Chart)でTop Destinations by #Sourcesを指定して下さい。

このチャートは、特定のホスト(52-144.demo.inmon.com)が、ほとんどの"Destination Unreachable"トラフィックの原因になっていることを明確に示しています。このチャートの凡例のホストをクリックする事により、そのホストに関する(ロケーション情報を含む)、より詳細な情報を提供します。

この情報は、有益なレポートを作成するのに役立ちます。レポート(Reports)>実行(Run)メニューをクリックして、"Traffic>General Queries> Historical Top N Chart"を選択して、カテゴリー(Category)に、"IP Destination"をセットし、値(Value)に"Frames"を、単位(Units)に"Frames"を、条件(Where)に以下をセットしてください:

destinationport = ICMP:3
レポートの作成やスケジューリングの情報に対するレポーティング チュートリアルを参照ください。

ポリシー違反(Policy Violation)

許可できる使用法のポリシーに関する設定や実行は、プロアクティブなセキュリティ管理戦略の重要なパートです。リスクを減少させる効果的なポリシーは、必要な機能を実行するアプリケーションやホストへのトラフィックを制限するです。許可されないデバイスやサービスの検知と除去は、リスクを軽減し、本質的でないトラフィックが除去されるのでパフォーマンスが向上します。Traffic Sentinelのネットワーク全体に渡る監視機能は、ポリシー違反を検知する効率的なメニューを提供します。

重要なサービスの保護

ネットワークを動作させるのに必要とされる重要なサービスを保護することは重要です。たとえば、ユーザが、ネットワーク上に顕著な問題を引き起こす、DNSやDHCPサービスを不注意でインストールしてしまうことは簡単にできてしまいます。ハッカーは、秘密情報をスパイするために、不正なDNSやDHCPを使用します。

以下のシグネチャーは、許可されていないDNSやDHCPサーバーを検知します。:

# Define Servers
var DNS_SERVERS = [10.1.5.1,10.1.6.1]
var DHCP_SERVERS = [10.1.5.254,10.1.6.254,10.1.7.254]

# Only authorized DNS servers allowed
alert udp !$DNS_SERVERS 53 -> $HOME_NET any \
(\
  msg:"Unauthorized DNS server";\
  classtype:policy-violation;\
  sid:580003002;\
  rev:1;\
)

# Only authorized DHCP servers allowed
alert udp !$DHCP_SERVERS 67 -> $HOME_NET any \
(\
  msg:"Unauthorized DHCP server";\
  classtype:policy-violation;\
  sid:580003003;\
  rev:1;\
) 

前の例での、このトラフィックは、Traffic Sentinelのレポート機能を使用しても識別することができます。レポート(Reports)>実行(Run)メニューをクリックし、"Traffic>General Queries>Historical/Recent Traffic" のどちらかのレポートを選択してください。さらに、以下の条件(Where)項目に、許可されていないDNSサーバーを特定するための入力を行なってください。:

sourceport = UDP:53 
& sourceaddress != 10.1.5.1,10.1.6.1 
& destinationzone != EXTERNAL
同様に、以下の条件(Where)項目に、許可されていないDHCPサーバーを特定するための入力を行なってください。:
sourceport = UDP:67
& sourceaddress != 10.1.5.254,10.1.6.254,10.1.7.254
& destinationzone != EXTERNAL

注意 もし、許可されていないサーバーを検知した時にアラートを生成したい場合は、"Security>Compromised Hosts>Trojan Activity"レポートを使用することができます。このレポートは、自動的に重複イベントをサプレスして、脅威のリストを維持します。 レポートの作成やスケジューリングの情報に対するレポーティング チュートリアルを参照ください。

ハイリスク・アクティビティの除去

本質的でないトラフィックの除去を行なう設定や実行のポリシーは、今後のセキュリティの問題の回避に役立ちます。それぞれのネットワーク・アプリケーションは適切に設定・修復されているかを保証するための管理資源を必要とします。いくつかのアプリケーションを減少させることは、ネットワーク管理者に少ない数のアプリケーションに対する保証にフォーカスさせることを可能にし、適切にパッチ等で修復されていないホストが障害を発生させる機会を減少させます。

ネットワーク上のピア・トゥー・ピア(P2P)アプリケーション(やそれらのトラフィック)は、あきらかなリスクを運んでいます。多くのピア・トゥー・ピア(P2P)アプリケーションは、発生そのものが怪しく、バックドアやセキュリティ・ホールやスパイウェアを含んでいるかもしれません。ユーザは、不注意で私有情報を共有したりダウンロードしたりするかもしれません。さらに、著作権所有者からの法的な訴訟のリスクがあります。

"Services>Peer to Peer Traffic>Top P2P Hosts" クエリは、ピア・トゥー・ピア(P2P)プロトコルを動作させているホストの識別に役立ちます。

ほとんどのピア・トゥー・ピア(P2P)プロトコルは、ピア間でUDPトラフィックを生成します。このクエリは、UDPを使用し多数のピアと接続しているホストを識別します。また、いくつかの共通のUDPプロトコル(NTP,SNMP,DNS)は誤った結果を導く可能性があるので分析から除外されています。

ネットワーク上の問題の診断やネットワーク・リソースの管理(例:tracerouteやSNMP)を行なうプロトコルは、ネットワークの調査する強力なツールとしてハッカーに提供してしまっている。ネットワークを偵察することは、潜在的に脆弱なシステムを識別する最初のステップです。初期の段階でこれらを検出することで、ネットワークがさらに重大な問題をかかえる事象に至る前に、この脅威を取り除くのに役立ちます。

以下のシグネチャーは、トレースルート(traceroute)テストを行なっているホストを検出するのに使われます。:

alert ip !$NETWORK_MANAGERS any -> $HOME_NET any \
(\
  msg:"Unauthorized traceroute";\
  classtype:policy-violation;\
  ttl:<3;\
  sid:580003005;\
  rev:1;\
)
代わりに、トレースルート・アクティビティを検知するために、以下のような条件(Where)項目を持つレポートを使うこともできます。:
ipttl = 1,2,3
& sourcegroup != NetMgmt
& destinationgroup != EXTERNAL
注意 このフィルターは、コンフィグレーション・ファイル内に、ネットワーク管理者によって使用されるアドレス群を含むNetMgmtグループが定義されていると考えられる。以下のシグネチャーは、SNMPリクエストを発行しているホストの識別に使用されます。:
alert udp !$NETWORK_MANAGERS any -> $HOME_NET 161 \
(\
  msg:"Unauthorized SNMP request";\
  classtype:policy-violation;\
  sid:580003006;\
  rev:1\
)
代わりに、SNMPアクティビティを検知するために、以下のような条件(Where)項目を持つレポートを使うこともできます。:
destinationport = UDP:161
& sourcegroup != NetMgmt
& destinationgroup != EXTERNAL

アクセスルールの実行

"Security>Access Policy>Inter-Group Access" クエリは、アクセス・ポリシーを違反しているトラフィックを検知するために設計されています。

ポリシーは、プロトコルの使用を、特定のホスト、グループ、ゾーンに対して制限するかもしれない。違反が検知された時、通知を発行する事ができます。

認可されていないデバイス(Unauthorized Device)

ネットワークに接続したデバイスの情報を追跡記録する事は重要です。認可されていない機器を検知・発見する能力はセキュリティ侵害を防御する手段として役立ちます。

"Security>Recently Added/Moved Hosts" クエリは、ネットワーク上に現れた新しいアドレスを検知し、それらが異なるロケーションで接続された場合は、そのホストを追跡します。

"Security>Unauthorized Routers>Detect NAT Routers"は、ネットワーク上の許可されていないルーターを認識することができます。NATルーターは、特に厄介です (特にワイヤレス・アクセスを提供する場合)。なぜなら、それらはひとつのホストとして認証されますが、多数のホストにネットワークへの自由なアクセスを提供「するからです。

監査証跡(Audit Trail)

Traffic Sentinelが構築するトラフィック・データベースは、有益な監査証跡として利用する事ができます。一般的に、アタッカーは乗っ取る事ができたホスト上のアクセス・ログを消去します。しかし、それらのアクティビティの大部分は、Traffic Sentinelよって記録され続けており、レポート・ツールを使用して容易にその情報にアクセスする事ができます。

たとえば、ホスト:10.1.5.22 がアクセスされたと考える場合、レポート(Reports)>実行(Run)ページへ行き、"Traffic>General Queries>Historical Traffic"クエリを選択し、キーの選択(Select Keys)に以下を設定します。:

sourceaddress,sourceport,destinationaddress,destinationport
そして、このホストから、あるいは、このホストへのトラフィックを認識させるために、以下を条件(Where)項目に設定します。:
ipsource = 10.1.5.22 | ipdestination = 10.1.5.22

シグネチャー分析(Signature Analysis)

多くの脆弱性や攻撃は、パケット・シグネチャーによって、大部分は記述する事ができます。シグネチャーは、パケットヘッダーの項目を検索したり、ペイロードとパターンマッチングしたりすることで、十分に特定することができます。

たとえば、以下のシグネチャーは、NACHI/Welchiaワームと関連するトラフィックを検知します。:

alert icmp $HOME_NET any -> any any \
(\
  msg: "NACHI/Welchia";\
  content: "|aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa|";\
  dsize:64;\
  itype: 8;\
  icode: 0;\
  classtype:trojan-activity;\
  sid: 10000008;\
  rev: 1;\
)

Traffic Sentinelは、パケット・シグネチャーを記述するために、Snortの文法のサブセットを使用します(ヘルプ参照)。Snortシグネチャーは、新たな脅威が確認された時、セキュリティ・ウェブ・サイト上で一般に公開されます。

DoS(Denial of Service

フレーム率や使用率によるしきい値設定は、一般的にDoS(Denial of Service)攻撃を検知します。Traffic Sentinelは、しきい値を超過した時、アラートを生成し、トラフックのソースへのドリルダウンを行なう為のリンクを提供します。