■IDSの導入による不正侵入の検知とネットワーク管理
第6回:IDSからの検知回避は可能か
前回はSnortへのDoSアタックとして、「Snot」や「Stick」によるアタックについて紹介したが、今回はIDSを回避するアタック方法について見てみよう。はじめに、バッファーオーバーフロー攻撃の検知を回避する「ADMmutate」を検証してみることにする

ADMmutateとは?

 前回はSnortへのDoSアタックとして、「Snot」や「Stick」によるアタックについて紹介したが、今回はIDSを回避するアタック方法について見てみよう。はじめに、バッファーオーバーフロー攻撃の検知を回避する「ADMmutate」を検証してみることにする。

 ADMmutateの概要はこちらの記事を参照するとわかりやすいだろう。昨年の春に公開されており、バッファーオーバーフロー攻撃の検知を「Polymorphic Coding」という技術を用いて回避する。ADMmutateは攻撃内容のデータペイロード部分をランダマイズに変化させ、それにより、シグネチャベースのIDSの検知を回避することを可能にしている(関連リンク)。バッファーオーバーフロー攻撃についての解説は機会を改めて行うつもりだが、攻撃手法としては現在、もっともポピュラーなものと言える。

ADMmutateを利用したアタックの検証

 今回の検証は、サーバとなるコンピュータで、セキュリティホールのあるサンプルアプリケーションをroot権限で起動し、クライアントから通常のアタックと、ADMmutateを利用したアタックを行い、攻撃の検知を回避できるかをSnortのログから確認する。アタックが成功すると、サーバ側ではポート3879で「/bin/sh」が動作する。

 このときのIPアドレスはそれぞれ、

サーバのIPアドレス:192.168.1.4
クライアントのIPアドレス:192.168.1.10

となっている。

 では、攻撃対象のサーバでSnortを起動すると同時に、セキュリティホールのあるサンプルアプリケーション(exp-test)をポート2600にて起動し、動作を確認してみよう。

# /usr/local/bin/snort -Dd -A fast -c /etc/snort/snort.conf -u snort -g snort
# ./exp-test 2600 &

画面
写真1■サーバへのポートスキャン画面

1/5 NEXT