2019年12月19日木曜日

5.6 侵入検知システム(IDS)

侵入検知システム(Intrusion Detection System)とは、ネットワークやホストで発生している事象をリアルタイムに監視して侵入や攻撃を検知し、管理者に通知するなどのアクションを実行するシステムである。

1.侵入検知システムの概要

IDSは1000種類を超える攻撃パターン(シグネチャ)データベースを持っており、それらと実際の事象を照合することでOSの脆弱性を突いた攻撃を検知したり、ファイルの改ざんをなどを検知して記録したり、またメールをはじめとして様々な手段で警告を発することが可能である。

2.IDSの種類

2.1.ネットワーク型侵入検知システム
(Host-Based Intrusion Detection System:NIDS)

監視専用の機器(センサ)を監視対象となるネットワークセグメントに接続して使用する。

センサは自身が接続されたネットワークを流れるパケットをリアルタイムに監視し、あらかじめ設定されたルール(監視ポリシ)に基づいて不正アクセスや不審な事象を検知する。
検知した事象はマネジメントコンソール(管理用のソフトウェアがインストールされた端末)の画面に通知したり、メールによって通知したりすることが可能である。

2.1.1.接続場所と監視方法


  • バリアセグメントに接続

インターネットから自分のサイトに対してどのような攻撃どの程度行われているのかを知ることができる
すべてのシグネチャを監視対象とする

※DMZの監視結果との比較対象となり重要

  • DMZに接続

ファイウォールを通過したDMZに対して行われる攻撃を検知できる

下記のプロトコルに関するシグネチャを監視対象とする
ア) ファイアウォールがインターネットからDMZに中継しているプロトコル
イ) DMZからインターネット側に中継しているプロトコル

  • 内部セグメントに接続

LANの中に飛び交う不正なパケットを検知することができる
※悪質なマルウェア対策

2.1.2.攻撃や不正アクセスを検知する仕組み


  • パターンマッチング

取り込んだパケットとNIDSに登録されたシグネチャとを比較し、不正アクセスを検知する

検知可能なもの
 ポートスキャン
 脆弱性検査ツールによるスキャン
 OSやサーバソフトウェアの既知の脆弱性をついた攻撃(BOF攻撃など)
 サーバソフトウェアに対する不正なコマンドの発行
 ネットワークを通じて行われるパスワードクラッキング
 パケットを偽装するタイプのDoS攻撃

注意点
 常にに最新のシグネチャに更新しておくこと
 未知の攻撃は検知できない
 サイト独自のアプリケーションの脆弱性をついた攻撃は検知できない


  • 異常検知(アノマリ検知)
取り込んだパケットをRFCのプロトコル仕様など(正常なパターン)と比較して仕様から逸脱したものを異常として検知する

検証可能な事象
 大量に発行されたコマンド
 プロトコルの仕様に反したデータの流れ
 プロトコルの仕様に従っていないヘッダ情報を持つパケット
 異常な数の応答パケットなど


2.1.2.セッション切断機能


  • TCPコネクション切断機能
不正なTCPコネクションを検知した場合
a)送信元アドレスにクライアントのIPアドレスをセットしたRSTパケットをサーバに送る
b)送信元アドレスにサーバのIPアドレスをセットしたRSTパケットをクライアントに送る

下記の場合は無効
 最初のパケットのみで攻撃が成立するもの
 TCPコネクションが成立しない攻撃(DoS攻撃など)



  • UDP、ICMPの遮断機能
※UDP、ICMPを用いた攻撃は発信元アドレスが偽装されているケースが多いため、この機能による効果は期待できない


  • ファイウォールとの連携機能
不正な接続を検知した場合、NIDSがファイアウォールにアラートを送ることでファイウォールのACLを動的に変更し、指定された条件に合致した通信を一定時間排除する
※ ファイアウォールとNIDS間の通信は暗号化される
※ ACLの動的変更であるので、ACLの管理テーブルに保存されない

2.2.ホスト型侵入検知システム(HIDS)

監視の対象となるホスト(Webサーバ、DBサーバなど)にインストールして使用する。インストールされたホスト二重注して発生している事象をリアルタイムに監視し、あらかじめ設定されたルール(監視のポリシー)に基づいて不正な操作やファイルの改ざんを検知する

2.2.1.主な検知項目

  • ログインの成功/失敗
  • 特権ユーザへの昇格
  • システム管理用プログラムの起動
  • 特定のファイルへのアクセス
  • 特定ファイルの変更
  • プログラムのインストール
  • システムディレクトリに存在するファイルの書き換え/削除
  • Webコンテンツの改ざん
  • ネットワーク環境で発生している障害

2.NIDSとHIDSの比較

主なものだけ

2.1.導入方法

NIDS

監視の対象となるネットワークセグメントに接続(専用のハードウェアが必要)

HIDS

監視の対象となるホストにインストール(専用のハードウェアが不要)

2.2.導入方法

NIDS

流れているパケットを監視(暗号化されたパケットは一部の上位機種でのみ監視が可能)

HIDS

常駐しているホスト上で行われている差や状態などを監視

2.3.SQLインジェクション

NIDS

独自にシグネチャを登録した場合には検知できる可能性がある

HIDS

DBサーバ上で監視していた場合には不正な処理の内容によって検知できる可能性がある


2.4.攻撃の削除方法

NIDS

  • RSTパケットによるTCPコネクションの切断
  • ICMP port unreachableによるUDPの切断
  • ファイアウォールのACLを動的に変更して切断

HIDS

  • アカウントのロックアウト
  • ログインの拒否
  • 上位権限の昇格制限
  • ファイルのアクセス制限

3.HIDSとHIDSの効果的な活用方法

両者の特徴を把握し、両者を組み合わせることで、より監視効果を高めることが可能

例)
NIDSではOSの脆弱性をついた攻撃をはじめ、非常に数多くの不正アクセスを検知することができるが、その不正アクセスによって実際にどのような実害や影響があったのかを特定するのは困難である
 補うのはサーバのログか、サーバを監視しているHIDSの検知結果

4.IDSの機能上の限界および運用上の課題

4.1.NIDSの機能上の限界と運用上の課題

誤検知への対応

フォールスポジティブ:不正ではないことを不正行為として検知
フォールスネガティブ:検知すべき不正行為を見逃すこと

※ NIDSの運用で両者を最小にするようにパラメータの設定などを行う

NIDSの処理能力不足によるパケットの取りこぼし

監視するネットワークのトラフィック量とNIDSセンサのスペックがマッチしていることが必要

マッチしていないと
  • NIDSの負荷が大きくなる
  • シグネチャの量が多い
  • 携帯端末などのアクセスによるショートパケットの量が多い場合、取りこぼしが発生

アプリケーションに対する攻撃を検知できない

SQLインジェクション、XSSをはじめ、組織がサイト用に独自の仕様で開発したアプリケーションプログラムの脆弱性をついた攻撃などはほとんど検知できない

対応策
  • 独自のシグネチャの作成
  • WAFの利用

一部の高性能な機種を除き暗号されたパケットは解析できない

攻撃は検知できても侵入は検知できない

不正アクセスを防御できない

※ IPSやWAFが必要

正当な権限者による内部犯罪の検知は困難

※ 別途な方法が必要

IT(特にネットワーク技術)の発展に合わせた機能拡張が必要

4.2.HIDSの機能上の限界と運用上の課題

OSの基本的な機能がベースであり、それ以上ことはできない

1つのHIDSで監視できるのは1台のホストのみである

導入によって監視対象ホストの性能や可用性に悪影響を及ぼす可能性がある

※ 導入後もチューニングが必要

攻撃の予兆を検知することは困難

正当な権限者による内部犯罪の検知は困難


5.IDSの拡張的な機能

  • 独自シグネチャの登録機能
  • 脆弱性検知による検知品質の向上
  • セッション情報の保存・分析による検知品質の向上
  • マルチインタフェースモニタリング機能
  • TLSによって暗号されたパケットの複合化
    パフォーマンスが低下する
  • ハイパフォーマンス、ハイアベイラビリティ、マルチプロトコル対応など

2019年12月17日火曜日

5.5ファイアウォール-4

7.ファイアウォールのアドレス変換機能

ファイアウォールやルータなどにはグルーバルアドレスとプライベートアドレスを相互に変換する機能があります。
  • NAT:IPアドレスのみを変換する
  • NAPT:IPアドレスとポート番号を変換する

7.1.NAT(Network Address Translation)

パケットの中継時に始点(応答時には終点)IPアドレスを変換する方式です。
内部から外部(インターネット)へ中継する場合
 プライベートアドレスからグローバルアドレスへの変換を行う
外部から内部へ中継する場合
 グローバルアドレスからプライベートアドレスへの変換を行う

特徴
  • 一つのプライベートアドレスに対し、一つのグローバルアドレスを割り当てる
※グローバルアドレスが一つしかない場合、他のクライアントPCは同時にインターネットへアクセスできない

7.2.NAPT(Network Address and Port Translataion)

パケットの中継時にIPアドレスとポート番号の両方を変換する方式です。

内部から外部へ中継する場合
プライベートアドレスをファイアウォール自身の外部アドレスへ変換するとともに発信元ポート番号は空いている任意の番号に変換する
外部から内部へ中継する場合
逆を行う

NATのようなグローバルアドレスの数で同時接続可能なホスト数が制限されることはない

8.ファイアウォールで防御できない攻撃

8.1.OS,プロトコル、ミドルウェア(サーバプログラムなど)の脆弱性をついた攻撃

8.1.1.攻撃手法の例

  • ポートスキャン
  • BOF攻撃
  • パスワードクラック
  • プロトコルベースのセッションハイジャック
8.1.2.対策の例

  • ホストの要塞化
  • 脆弱性検査及び対策の実施
  • IPSによる攻撃の遮断


8.2.Webアプリケーションプログラムの脆弱性をついた攻撃

8.2.1.攻撃手法の例

  • クロスサイトスクリプティング
  • SQLインジェクション
  • OSコマンドインジェクション
  • アプリケーションベースのセッションハイジャック
8.2.2.対策の例

  • Webアプリケーションの脆弱性検査及び対策の実施
  • Webサーバ、DBサーバの設定による対策
  • Webアプリケーションファイアウォールによる攻撃の遮断


8.3.Dos系の攻撃

8.3.1.攻撃手法の例

  • Connection Flood攻撃(接続元が同一ではなく、多数ある場合)
  • 反射・増幅型DDos攻撃
8.3.2.対策の例

  • 十分な帯域を持つネットワークと十分な処理能力を持つファイアウォールやサーバを用いる
  • CDNサービスを利用する

8.4.マルウェアの侵入

8.4.1.攻撃手法の例

  • コンピュータウィルス
  • ワーム
  • スパイウェア
  • ランサムウェア
  • ポット
8.4.2.対策の例

  • ホストの要塞化をする
  • ゲートウェイ型のAV製品やサンドボックスに侵入を防ぐ
  • ここのホストにAV製品を導入する

9.ファイウォールの拡張機能

9.1.ハイパフォーマンス
9.2.ギガビット対応
9.3.マルチホーミング対応

企業などのネットワークから複数の経路を通じてインターネットに接続すること

9.4.IPv6対応
9.5.QoS
9.6.高可用性(ハイアベイラビリティ:HA)

  • 負荷分散方式
  • ホットスタンバイ方式
  • 自律負荷分散方式

9.7.負荷分散機能

ファイウォールがHTTP,FTPなど特定のプロトコルに対するトラフィックを複数のサーバに振り分ける

9.8.マルチセグメント対応

IEEE802.1Qに準拠したVLANを使用

9.9.アプリケーション層の攻撃に対する防御機能

  • ファイアウォールとNIDSの機能を兼ね備えたIPS
  • ファイアウォールにIPS機能やアンチウィルス、コンテンツフィルタリングなどの複数の機能を統合し他製品:UTM

9.9.1.UTM製品のメリットとデメリット

  • UTMにおいては別個に製品を購入する必要がないのでコストの削減、
    管理するホスト数が少ない
    運用管理の手間が省ける
  • ファイウォール全体のパフォーマンスが低下する
  • 設定が複雑になる
  • 処理が複雑なため、障害が発生しやすくなる恐れがある
  • あらゆる防御機能を集約しているため、障害発生時の影響が非常に大きい
  • 各機能が中途半端になってしまう恐れがある
※ 小規模なサイトに向いている
※ 大規模なサイトには必要最低限の機能に特化しているほうが、ハイパフォーマンス、ハイアベイラビリティを実現する製品が望ましい

2019年12月15日日曜日

5.5 ファイアウォールー3

5.フィルタリング方式から分類するファイアウォール

5.1.パケットフィルタ型

パケットのヘッダ情報に含まれている下記情報で中継を判断
  • 発信元IPアドレス
  • 送信先IPアドレス
  • 発信元ポート番号
  • 送信先ポート番号
  • プロトコル種別(TCP、UDP、ICMPなど)
特徴
  • ファイアウォールは、インターネット層(第三層)でパケットを中継するので、クライアントとサーバが直接コネクションを確立する
  • 処理は早い
  • 安易な設定で不正アクセスを許す可能性がある
  • 複雑な処理はできない
  • アクセス制御ルールを複雑化させると、設定ミスが起こしやすい
  • ペイロードの情報が含まれない
※単純なパケットフィルタ型は利用されない

5.2.アプリケーションゲートウェイ型

アプリケーションプログラムごとに別々のプロキシを持ち、パケットのアプリケーション層を含めた構造に基づいてパケットの中継を判断する

特徴
  • ペイロードに含まれるコマンドやポート番号などの情報もチェックする
  • クライアントはファイアウォールとの間でコネクションを確立する
  • ファイアウォールがクライアントに代わって目的のサーバにとの間でコネクションを確立する
  • コネクションが2段階になるのでパケットフィルタ型に比較して処理効率は悪い
  • プロトコルごとに細かな制御ができるために、セキュアで柔軟なフィルタリングを行うことが可能

5.3.サーキットレベルゲートウェイ型

アプリケーションゲートウェイ型と同様のファイアウォールがクライアントからの接続要求を受け取り、中継(接続許可)する場合、目的のサーバに対してトランスポート層(第4層)レベルでコネクションを確立し、クライアントとサーバを結ぶバーチャルサーキットを確立する

特徴
  • フリーのプロキシ(SOCKS)がこの方式を用いている
  • フィルタ処理が第3層、第4層レベルの情報に基づいて行われる
  • ペイロード情報はチェックしない
  • クライアントのアプリケーションプログラムがこの方式に対応していることが必要

5.4.ダイナミックパケットフィルタ型

最初にコネクションを確立する方向のみACLを事前に登録し、実際に接続要求があると、ここの通信をセッション管理テーブルに登録するともに必要なルールが動的に生成され、フィルタリング処理を行う

※セッション管理テーブルによって通過したパケットの応答やそれに付随するコネクションなどを総合的に管理し、自動的に必要な処理を行う
※セッションが終了すると、動的に生成したルールは破棄される

特徴
  • 過去の通信の状態が記録されており、それと矛盾するパケットは、不正パケットと判断する
  • 常に必要最小限のルールを動的に生成され、必要がなくなれば破棄されるためにACL設定のバグを利用した不正アクセスなどを発生する可能性が低い
     → セキュリティの確保可能

5.5.ステートフルインスペクション型

特許を保有するファイアウォールのアーキテクチャ
現在の多くの製品がこの方式を利用している

基本的な仕組みはダイナミックパケットフィルタ型と同様、アプリケーションごとの通信フローなどの情報をもっており、それに基づいてレイヤを設定しない制御を行っている

6.アクセス制御のルール

ACL設定
ポジティブセキュリティモデル:デフォルトではすべて拒否、そこを許可するルール(ホワイトリスト)を登録する

2019年12月12日木曜日

5.5 ファイアウォールー2

4.構成

4.1.公開サーバをバリアセグメントに接続

図4.2.1
※ファイアウォールは公開サーバへの攻撃や不正アクセスについて一切防げない

4.2.公開サーバを内部ネットワークに接続


※公開サーバのOSやアプリケーションの脆弱性などにより同サーバへの侵入を許してしまうとそこを経由して内部ネットワーク上の他のホストにまで被害が及ぶ可能性がある

4.3.2台のファイアウォールに挟まれたDMZに公開サーバを接続

※公開サーバ部侵入を許してもそこから内部ネットワークにまで被害が及ぶ可能性を最小限にとどめることが可能

4.4.ファイアウォールに設けた第三のセグメントに公開サーバを接続


※公開サーバ部侵入を許してもそこから内部ネットワークにまで被害が及ぶ可能性を最小限にとどめることが可能
※これまでの4個の構成のうちコスト面、セキュリティ面でバランスが良い



%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%22%20style%3D%22fontColor%3D%230066CC%3BverticalAlign%3Dtop%3BverticalLabelPosition%3Dbottom%3BlabelPosition%3Dcenter%3Balign%3Dcenter%3Bhtml%3D1%3BoutlineConnect%3D0%3BfillColor%3D%23CCCCCC%3BstrokeColor%3D%236881B3%3BgradientColor%3Dnone%3BgradientDirection%3Dnorth%3BstrokeWidth%3D2%3Bshape%3Dmxgraph.networks.server%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22361%22%20y%3D%22143%22%20width%3D%2290%22%20height%3D%22100%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%223%22%20value%3D%22DNS%22%20style%3D%22text%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22376%22%20y%3D%22253%22%20width%3D%2260%22%20height%3D%2230%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E

2019年12月11日水曜日

5.5ファイアウォールー1

1.ファイアウォールとは

複数のネットワークセグメント間において、あらかじめ設定されたルール(ACL) に基づいてパケットを中継したり破棄したりする機能を持つアクセス制御製品です。

2.ファイアウォールの概要

狭義では主にネットワーク層においてACLに基づいてアクセス制御を行うもの
 → ファイアウォール:ネットワークファイアウォール
広義ではネットワークやホストに対する侵入や攻撃を防ぐ機能を持つ(マルウェアの侵入を防ぐものも含む)
 → ファイアウォール:アプリケーションファイアウォール

2.1.種類

種類特徴
ファイアウォールTCP/IPの中~下位層で設定されたルール(IPアドレス、ポート番号など)に基づいてパケットを中継または遮断します
許可されたプロトコル(サービス)のセキュリティホールついた攻撃については遮断できない
ネットワーク型IDS接続されたネットワークセグメント中に流れるパケットを監視し、ポートスキャン、バッファオーバフロー(BOF)攻撃、サービス不能攻撃(DoS)、不正コマンドなどOSやミドルウェアのセキュリティホールをついた様々な攻撃を検知する
暗号されたパケットは監視できない
ホスト型IDS特定のホストを監視して、ログインの成功/失敗、重要資源に対するアクセスなど、発生している様々な事象を検知する
侵入防御システム IPS従来のNIDSの機能を強化するとともにインライン接続構成をとることで、NIDSよりも強力な侵入検知・防御機能を備えた製品である
ホスト型 IPSHIDSと同様に特定のホストに常駐し、BOF攻撃、マルウェアの侵入や実行などを検知して防御する機能を持ったシステム
Webアプリケーションファイアウォールクロスサイトスクリプティング、SQLインジェクションなど、Webアプリケーションに対する攻撃を検知し、遮断できる
SSLアクセラレータ機能や負荷機能分散を備えたものは、SSL/TLSで暗号化されたパケットを複合して攻撃を検知/遮断できる
サンドボックス実環境から隔離されたセキュアな仮想環境で不審なファイルやURLリンクへのアクセスを実行しその結果を観察することでマルウェアなどを検知する
MTAとして動作することで不審なメールを遮断したり、RSTパケットを送ることで不審なWeb通信を遮断を試みる

3.ファイアウォールの役割

  • 機密性
    インバウンドおよびアウトバンドのパケットについてファイルリングする必要がある
  • 快適なアクセス
    組織内のインターネット利用環境を常時提供する
  • ハイパフォーマンス・ハイアベイラビリティ(高可用性)