今更聞けない侵入検知
お待たせしました、いっつも食事を大盛りで注文するので、後輩に大盛りクンというアダ名を付けられてしまった蔵本です。
新富士駅の駅前にあるお蕎麦屋さんで、イクラ丼セットをご飯とお蕎麦両方大盛りで平らげました。
さて、本日は侵入検知のお話です。
「侵入検知ってなんや?」とか 「Firewallがあったらいらんのちゃうの?」とか、侵入検知は、一般的な浸透度と理解がまだまだ低いのが現実です。本日は、侵入検知がなぜ必要なのか、侵入検知はどういう動きをするのか?といった、侵入検知に関して、いまさら聞けない初歩を解説していきます。
まずは、「侵入検知がなぜ必要なのか?」をお話します。
ネットワーク経由の攻撃を防ぐ事を考えた場合、通信を二種類に分けて考えます。
「Firewallでブロックしている通信」と「Fiewallでブロックしていない通信」の二種類です。具体的に、Web サーバーをインターネットに公開しているケースで考えてみましょう。Webサーバーですので、 80/tcp や 443/tcp はオープンしています。しかし、当然ですが、その他の23/tcpや25/tcpは、Firewallでブロックしています。つまり、23/tcpや25/tcpに対する攻撃が行われた場合は、Firewallが通信を止めてくれますが、ここで問題になるのが、Firewall で許可している、80/tcp や 443/tcp の通信に攻撃が含まれているケースです。
以前大流行した Code Red は、その80/tcp に対して攻撃が行われました。当然 Firewall では止められないので、攻撃が直撃したという訳です。そこで、侵入検知を導入する事で、Firewall で許可している80/tcpや443/tcpの通信における妥当性を検査し、安全な内容の通信だけを通す仕組みが可能になります。
つまり Firewall で不必要なポートを閉じ、空けているポートについては、侵入検知で安全性を検査する事で、セキュリティ強度を高める事ができると言う訳です。
次に、「侵入検知はどういう動きをするのか?」についてお話します。
侵入検知では、通信に含まれる攻撃を検知してその通信をドロップしていきます。
※侵入検知の製品や構成によっては、検知だけを行い、通信のドロップまでは行わないケースもあります。
どうやって攻撃を検知するかと言うと、大きく分けると、定義ファイルベースでの検出とアノーマリ検出の二通りが一般的です。
定義ファイルベースでの検出では、攻撃コードが定義ファイルに定義されており、通信をその定義ファイルとマッチングする事で攻撃と判定し、アノーマリ検出では、RFC違反の通信等、定義ファイル非依存の攻撃検出を行います。
定義ファイルは、以前の記事でもご紹介した、CodeRedの攻撃を例に挙げますと、下記が定義されていると考えて頂ければ良いかと思います。
※この表現は正確ではありませんが、上記の様に理解して頂いても構いません。
GET /default.ida XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090
%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a
この場合、CodeRedがくると、上記通信内容が発生するので、定義ファイルとマッチし、その通信をドロップする事ができます。
下記は監査時によくある一幕
監査側:筆者
「それでは、外部ネットワークからの攻撃に対して行っている対策についてお聞かせください。」
被監査側:リーダー 福原さん
「ファイアウォール入れてるから完璧でっしゃろ!」
監査側:筆者
「それでは、ファイアウォールで許可しているポートに対する攻撃は防げませんよ。」
被監査側:サブリーダー 青木さん
「ファイアウォールは万能やって言うてましたやん!」
2000年頃は、ファイアウォール万能説とでもいいますが、「とりあえずファイアウォール入れてたら大丈夫やろ」的な風潮もあったのですが、現在ではもちろん、万能でない事はご理解頂いているかと思います。
適切なセキュリティ対策を実施し、悪の手からかわいい社内ネットワークを守りましょう!
それでは、また来週お会いしましょう!