マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Snort

【OSS情報アーカイブ】Snort

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Snort」とは

概要

Snort(スノート)とは、ネットワーク型IDS(不正侵入検知システム)です。ネットワーク上を流れるパケットをキャプチャーして、不審なパケットの検出を行います。

基本説明

Snortは、IPネットワーク上でリアルタイムのトラフィック分析とパケットロギングを実行できるオープンソースのネットワーク侵入検知システムです。

「プロトコル分析」「コンテンツ検索」「マッチング」を実行でき、「バッファオーバーフロー」「ステルスポートスキャン」「CGI攻撃」「SMBプローブ」「OSフィンガープリント試行」「セマンティックURL攻撃」「サーバメッセージブロック探査」など、さまざまな攻撃検出に使用できます。

世界で500万以上ダウンロードされ、60万以上の登録ユーザーに利用されています。

主要開発元

Snortの最初の作者であるMartin Roesch氏によって、2001年に設立された「Sourcefire」は、2013年10月7日にシスコシステムズに買収されました。

The Snort Teamはシスコシステムズと協力しながら、多くの開発コミュニティメンバーと共に開発を続けています。

→Snort →The Snort Team

■ネットワークセキュリティ専門家チーム「Talos」

Talosは、最先端のネットワークセキュリティ専門家チームです。

「ハッキング活動」「侵入の試み」「脆弱性」などのセキュリティ状況について、発見し評価し対処するために活動しています。

このチームは、オープンソースのSnortコミュニティの膨大なリソースによってもサポートされており、ネットワークセキュリティ業界の進歩に専念する最大のグループとなっています。

チームは公式の「Snortルールセット」「Snortサブスクライバルールセット」「ClamAV」などのルールを作成しています。

オフィシャルサイト情報

■オフィシャルサイト

→snort.org

■ライセンス情報

開始タグのライセンスは「GNU General Public License Version 2」と「Proprietary Snortの非商用使用ライセンス」です。

詳細について、こちらを参照ください。
→Snort →Snort Licence

■動作環境

Snortは主要な各種OSで動作します。

■ダウンロード

→Snort →Downloads

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Suricata」など。

概要

「IDS」とは「Intrusion Detection System」の略で、日本語では「不正侵入検知システム」と訳されます。

ネットワーク上を流れるパケットを解析して、不正パターンに合致するパケットを検知したら警告を発します。

2つのIDSタイプ

IDSを大別すると、「ネットワークを監視するネットワーク型IDS」と「サーバ自体を監視するホスト型IDS」があります。

異常検出

IDSのメリットは「異常に気付かせてくれる」ことです。IDSを導入していない場合では、よほどの事態にならない限り気づけません。

IDSの基本機能は侵入検知であるため、検知後の処理は管理者が対策を講じる必要があります。

シグネチャによる不正侵入検出

不正侵入検出ソフトウェアは、「ネットワーク上を流れるパケット」と「さまざまな攻撃手法を収めたデータベース(シグネチャ/ルール)」を比較して攻撃を検出します。

そのため、常に最新のシグネチャにUPDATEし続ける必要があります。

誤検出問題

実際に運用する場合では、誤検出はどうしても避けられないためシグネチャ調整が必須となります。

ファイアウォール併用が推奨

セキュリティ上、「ファイアウォール」と「IDS」の両方を設置しておくことが望ましいとされています。

Snortルール

【参考】「シグネチャ」とは

セキュリティの世界では、シグネチャとは、「エクスプロイト(プログラムのセキュリティ上の脆弱性を攻撃するために作成されたプログラム)に存在する特徴的なマークまたは特性に依存する検出方法」として定義されています。

これらのシグネチャは、特有のマークを利用することで既知の悪用を検出するように設計されています。新たなエクスプロイト情報は、通常、検出後1日後に分類され、シグネチャに追記されます。

ウイルス対策企業は、この種のテクノロジーを利用して、ウイルスの発生から顧客を保護していますが、シグネチャ追記までにはどうしてもライムラグが発生してしまうため、限られた保護能力にとどまってしまうという弱点があります。

「Snortルール」とは

ルールは、1日後ではなく、0日検出の利点をもたらします。

ルールは、エクスプロイト情報や固有データを利用するシグネチャとは異なる別の方法論で、実際の脆弱性を検出することに基づいています。

ルールを作成するためには、それぞれの脆弱性が実際にどのように機能するのかを正確に理解する必要があります。

→Snort →Explanation of rules

ルールセット

Snortは2種類のルールセットを提供しています。

→Snort →Snort FAQ →What are the differences in the rule sets?

■無償版「コミュニティルールセット」

「コミュニティルールセット」は、GPLv2 Talos認定のルールセットで、有償版「サブスクライバルールセット」のサブセットです。

無料で配布され、すべてのユーザーが自由に利用できます。

無償版は、最新のルールセットが適用されるまで30日かかります。

■有償版「サブスクライバルールセット」

「サブスクライバルールセット」は、セキュリティインテリジェンスおよびリサーチチーム「Talos」によって開発/テスト/承認されたルールを指します。

「Talos」は、攻撃者が絶えず新しい脆弱性を発見し、新しい攻撃方法を開発し、既知の脆弱性を悪用するという驚異に対して、先手を打った対策を提供しています。

「サブスクライバルールセット」は、サブスクリプションを購入することで利用でき、リアルタイムで最新ルールセットを適用できます。

ユーザールール作成

Snortから提供されるルールセットの他に、エンドユーザーが自分の環境用に特別に作成したルールも適用できます。

「Snort」の動作モード

Snortは3つのモードで動作するように設定できます。

①スニファモード

Snortの「スニファモード」では、ネットワークパケットを読み取り、それらを連続したストリームとしてコンソールに表示します。

②パケットロガーモード

Snortの「パケットロガーモード」では、パケットログをディスクに記録します。

■バイナリ記録モード

概要

バイナリモードに設定すると、tcpdump形式のパケットをloggingディレクトリ内の単一のバイナリファイルとして記録します。

パケットログをよりコンパクトな形式で記録できます。

読み出し

パケットがバイナリファイルに記録されたら、tcpdumpバイナリ形式をサポートする任意のスニファ(tcpdumpやEtherealなど)を使用してパケットをファイルから読み出せます。

tcpdump形式のファイルからのパケットは、Snortを介してどの実行モードでも処理できます。

■パケットログの利用

パケットログファイル内のデータは「Snort侵入検知モード」や「コマンドラインから利用可能なBPF(Berkeley Packet Filter)インターフェース」を使用してさまざまな用途で利用できます。

・ログファイルからのICMPパケットのみを表示
・ネットワークトラフィックのデバッグ など

③ネットワーク侵入検知システム(NIDS)モード

「ネットワーク侵入検知システム(NIDS)モード」では、ネットワークトラフィックの検出と分析を実行します。

Snortはネットワークトラフィックを監視し、ユーザーが定義したルールセットに基づいて分析します。

該当するトラフィックを発見した場合、識別された内容に基づいて特定のアクションを実行します。不正パケットを自動破棄することで不正アクセスを防止できます。

■アラートモード

用途に応じて以下の7つのアラートモードを設定できます。

①full
②fast
③socket
④syslog
⑤console
⑥cmg
⑦none

「Snort」の主な特徴

パケットI/O用ライブラリ「DAQ(Data AcQuisition)」

■概要

パケットI/O用ライブラリ「DAQ(Data AcQuisition)」は、libpcap関数への直接呼び出しを抽象化層に置き換えることで、Snortを変更することなくさまざまなハードウェアおよびソフトウェアインターフェース上での操作を容易にするライブラリです。

→Snort →SNORT Users Manual →1.5 Packet Acquisition

■サポートライブラリ

・pcap
・afpacket
・NFQ
・IPQ
・IPFW
・Dump など

トンネリングプロトコルのサポート

Snortは、各種トンネリングプロトコルのデコードをサポートしています。

これらはすべてデフォルトで有効になっています。

■サポートトンネリングプロトコル

・GRE
・PPRE over GRE
・MPLS
・IP in IP
・ERSPAN など

「Snort」の主な機能

プリプロセッサ機能

Snortの機能を拡張できる「プリプロセッサ」という仕組みが用意されています。

Snortにモジュラープラグインを簡単にドロップできるようになっています。

このメカニズムを使用して、パケットをアウトオブバンド方式で変更または分析できます。

→Snort →SNORT Users Manual →2.2 Preprocessors

■処理順番

処理の順番は次のとおりです。

1.パケットデコード
2.プリプロセッサ実行
3.Snort侵入検知エンジンの実行

■事前処理例

プリプロセッサにより、次のような事前処理を行えます。

・Telnetの制御文字を正規化
・ポートスキャン検出
・TCPストリーム再構築とステートフル解析 など

統計情報出力機能

Snortは各種統計情報を出力できます。

→Snort →SNORT Users Manual →1.7 Basic Output

■タイミング統計

基本的なタイミング統計情報を提供します。

・合計秒数
・パケット数
・パケット処理率 など

■パケット入出力合計

DAQから取得した基本的な「パケット取得」と「注入ペグカウント」が出力されます。

■プロトコル統計

Snortによってデコードされたすべてのプロトコルのトラフィックが出力されます。

■Snortメモリ統計

メモリ使用量の要約を出力します。

・マッピングされた領域内のバイト
・総割り当て容量
・総空き容量
・解放可能な最上位ブロック など

■アクション数(判定数)

Snortが分析したパケットに対してどのようなアクションを実行したのかについて出力します。

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。