1. HOME
  2. ブログ
  3. CS四方山話(第5話)WAF、IPS/IDS、UTMの違いを理解しよう!

CS四方山話(第5話)WAF、IPS/IDS、UTMの違いを理解しよう!

CS=サイバーセキュリティ

今回は、第4話からの宿題である WAF、IPS、UTM に関してお話しします。それぞれ、いろいろな製品が世の中に存在します。それぞれの位置付け、つまり機能は異なります。また、WAF、IPS、UTM は、RFC(Request For Comments) のような規格で定められたものでないので、カチッとした定義はありません。言い訳になってしまいますが、ここでの定義は「一般的に WAF と言えば……」という内容だと思って下さい。ザクッとした概念であっても把握していれば、他の人との会話には役に立つと思いますので、お付き合い下さい。 さて、WAF、IPS、UTM の3つをまとめて取り上げる理由は、似たような機能を少し異なる観点で実現したモノであるからです。第4話でご説明した「パケットフィルタリング」は、この3つが実現しようとしている機能の一部、というか基礎的な処理ということになります。

  • Webサーバーを守るWAFを軍艦にたとえてみると?

 WAF とは” Web Application Firewall “の略 です。以上! では、説明にならないので、日本語化してみます。

名称の通り、ウェブ・アプリケーションのための仕組みです。WAF が守ろうとしているのは、ウェブ・アプリケーションのサーバー、つまり Webサーバー(仕組みとしては、httpdとそれと連動するサーバー上のサービス/アプリケーション群ということになります)。

皆さんは、インターネット上のサービスを利用する際に、何を使っていますか?

「Chrome、FireFox、Safari、Edgeなどのブラウザを利用しています!」という回答は必ず含まれているでしょう。ネットでの検索や、ネットバンキング、ホテルの予約、ショッピングサイトでの買物など、ブラウザを使う場面は多いと思います。また、仕事で、スケジュール管理や、業務報告を行うためにブラウザを使う場合もあるでしょう。

それ以外では、たとえば「LINEやインスタ(Instagram)のアプリケーションを使っているよ」という回答も多そうです。特に、スマートフォンの場合は、専用のアプリケーションを使っているユーザーは多いと思います。ただ、これらのサービスの中身、つまり実際の通信や、サーバーの実装方法(作り方)をひも解けば、その実態はウェブ・アプリケーションなのです。LINEでもインスタでも、通信は HTTPS というプロトコルを使っています。

第4話をちらっと思い出して下さい。「ポート」という話が出てきたかと思います(普通は覚えていませんね。その場合は、読み返して下さい)。HTTPSのポート番号は443で、それを受け取る相手はWebサーバーです。

そんなこと言ってもブラウザのようにURLは見えないじゃない? 確かにその通りです。しかし、インスタの場合、自分のコンテンツは “https://www.instagram.com/自分のユーザーネーム/” として作られていて、ブラウザで参照することも可能です。中身としては、ブラウザを使った場合と同じなのですが、使い易いユーザー・インタフェース(画面や操作の仕組み)を提供するためにアプリケーションの皮を被っているのです。

さまざまなコンテンツを提供する方法として最初に普及したのが、HTTPというプロトコル(通信方法)を用いたブラウザでのアクセスだったので、いろいろなコンテンツサービスがウェブ・アプリケーションとして実装されています。世の中の「あるある」ですが、最初に流行ったモノ勝ちというパターンです。

ちなみに、ウェブ = Web は”World Wide Web “の略で、1991年に世界初のWebサーバーが公開されたときのブラウザがWorldWideWeb(後のNexus)でした。Webは「蜘蛛の巣」で、世界中に広がるネットワークをWWWと称しています。Webサーバーのドメイン名の先頭が”www”になっているのも、これに由来しています。

ブラウザは、1993年に”Mosaic”が登場し、1994年に”Netscape Navigator”が登場し、一気に世界中に広まりました。Microsoft社は、Mosaicのライセンスを巻き取り、1995年に”Internet Explorer”をWindowsにバンドルしてブラウザの主導権をNetscapeから奪っていきます。これが「第1次ブラウザ戦争」です。そして……。これを書き出すと、第5話はブラウザ戦争の話になってしまうので、元の路線に戻ります(概略だけ、オマケとして書いておきます(※1))。

世の中の多くのサービスはWebサーバーで提供されているので、攻撃されることも多い。そのWebサーバーを守るための仕組みがあった方が良いよね。ということで、Webサーバーを守るために特化された仕組み=WAFが生まれました。この経緯からも分かるように、WAFが守ってくれるのは、基本的にはWebサーバーということになります。

ブラウザ戦争の情勢もブラウザへのさまざまなサイバー攻撃が左右してきましたが、ブラウザよりも公開されているサーバーはより攻撃に晒されます。ここでは、個別に詳説しませんが、バッファオーバフロー(※2)、クロスサイトスクリプテイング(※3)、OSコマンドインジェクション(※4)、SQLインジェクション(※5)、Layer-4を対象とするDDoS攻撃(※6 )など、Webサーバーが持つ特性や脆弱性を突く攻撃方法があり、これらの攻撃に特化して、それを防ぐというのがWAFの役割です。

Webサーバーが軍艦だとします。軍艦を沈めるために、さまざまな攻撃方法が考案され、実戦配備されます。軍艦はその攻撃に対抗する必要があります(ここでは攻撃はナシで防衛だけを考えます)。魚雷攻撃を回避するためには、デコイ(囮魚雷)を射出したり、バッフル(泡)で魚雷の音響ソナーへのジャミングを行い、自艦に魚雷が来ないようにします。対艦ミサイルへの対抗は、艦対空ミサイルやCIWS(近接防御火器システム)でミサイルの撃墜を行ったり、フレアやチャフでミサイルの誘導を攪乱することで防ぎます。軍艦に特化したこうした対抗手段をWebサーバーに置き換えたモノがWAFということになります。

つい、攻撃もできたら良いのに……とも思ってしまいます。サイバー攻撃に対抗する手段として、SF小説やアニメでは「攻勢防壁」という概念が登場します。先制攻撃は行わないが、攻撃を受けた場合に、攻撃者に対して自動で反撃を行う仕組みを持った防壁です。技術的には可能なのですが、法律を含めて、いろいろと問題がありそうなので「考えるだけ」にしています。ただ、先日(2021/6/16)のバイデンさんとプーチンさんとの会談で、バイデンさんは「サイバー攻撃にはサイバーで反撃する」と言っており、「SFで書かれたことが現実化する」という事象がここでも起きるかも知れません。

いろいろと脱線して文字数を喰っていますが、IPSとUTMは、今回で片付けしまおうと思います。何故ならば、WAF、IPS、UTMは関連する部分が多いからです。

  • IPSとIDSとWSFって何が違うのか?

IPSは”Intrusion Prevention System” の略で、「不正侵入防止システム」ということになります。似たような仕組みにIDS = ” Intrusion Detection System “という「不正侵入検知システム」もあり、紛らわしいのですが、似たようなモノです。IDSは「不正アクセス」を検知すると「悪いことが起きたよ」とヒトにお知らせします(対処は、ヒト任せということになります)。これに対して、IPSでは「不正」と判断したアクセスは「遮断する」ことまで行う機能を持っています。

第4話で登場した iptablesなどによる ” パケットフィルタ”、前述の”WAF “、そして”IPS “。これらは、攻撃を防ぐという点では同じです。組み合わせて使うのが一般的ですし、対象がWebサーバーの場合、全部まとめて”WAF “と言ったりもします。この辺りは、以下の図で説明しましょう。

図のようにFW、IPS、WAFという多段で防御しています(ここでも多段防御が出てきましたね)。単純なフィルタリングは処理負荷が小さいので前線に配置し、パケットの中身を確認するフィルタリングは処理が重くなるので、前線を通過してきたパケットのみを処理するということで全体処理効率を高めるという作戦でもあります。

  • “まるっと”セキュリティ機能を統合した便利なUTM

UTMは”Unified Threat Management “の略で、統合脅威管理ということになります。「統合」ということで、FWはもちろん、IDS/IPSやWAFといった前出の機能も備えています。

では、WAFとは何が違うのか? というと、WAFの場合は外部からWebサーバーへの攻撃を守るという点に主眼が置かれていました。一方でUTMの場合はそれだけでなく、オフィスのPCからインターネットにアクセスする際のリスクにも対応します。城塞を例にすれば、外部からの攻撃に備えるだけでなく、城塞内の兵士の行動も監視するということになります。

社内のPCから変なサイトにアクセスして、ウイルスやマルウェアや持って来るかも知れません。受信したメールにマルウェアや攻撃用のマクロが付いたオフィスのファイルが添付されているかも知れません。UTMではこうした問題への対処も行います。

内側からインターネット上のサイト(外部のWebサーバー)にアクセスすることは正当な通信です。でも、オフィスからHなサイトを見るのは如何なものか…… ということで、アクセス先のサイトを確認し、「問題があり」としてリストアップされているサイトへのアクセスは遮断します。社員のネットワークアクセスを検疫しているということです。また、ダウンロードするファイルも、メールの添付ファイルも検疫して、「不正」「危険」と判断した通信は遮断します。
 
こうした検疫を完全に行うことは不可能です。入国管理での検疫が100%でないのと同様です。検疫を掻い潜る方法は多々ありますが、ここで詳説ことは止めておきます。悪巧みに加担することになると怒られそうですから。ということで、皆さんも、検疫に引っかかって上司に怒られたり、イタズラ心で検疫を回避してみようと試みて大事になったしないよう、日々慎ましくお暮らしください。既にかなり文字数を超過していますので、今回はここまでです。

次回は、IP通信の基本的な部分に立ち戻ったお話をさせて頂こうと思います。いろいろな方とお話ししていて、たとえばデフォルトゲートウェイ、DHCPという言葉は知っているけど、それが何なのか、どうやって機能しているのか? ということは意外と知られていないと思い、分かり易く説明できれば良いかなと思った次第です。それでは次回も宜しくお願い致します。

(※1)「ブラウザ戦争の概要」

-第1次ブラウザ戦争(ネスケ vs IE)

 -初期は Mosaic とそのライセンスを受けた各種 Mosaic

 -Netscape が登場し、Netscape Navigator が世界を席巻

 -Microsoft社がMosaicのライセンス供与を受けIE = Internet Explorerを開発。Windowsにバンドルし普及

 -Netscape、crash多発、セキュリティホール、HTML標準仕様への不適合などで躓く中、OSバンドルの強みも活かし、2000年頃にはIEが市場をほぼ独占するようになる

-第2次ブラウザ戦争(5強時代)

 -IEが市場を独占したことで、IEのセキュリティホールを突く攻撃なども増加。IEを狙ったキーロガー、バックドア、コンピュータウイルス、スパイウェアが続々と登場(コンピュータ・セキュリティ問題が話題になる契機にもなった)。IEは開発遅滞し対策も後手に回っていく(特に、ActiveXが狙われたのが痛かった)。

-IEの苦戦につけ込んで、Mozilla Firefox、Opera、Safari、Google Chromeが登場。ActiveXを使わないこれらのブラウザはActiveX起因のセキュリティ問題とは無縁のため、IEのシェアを喰っていく。特に、Mozilla Firefoxがシェアを伸ばした(一時は20%超え)。ちなみに、MozillaはNetscapeをOSS化することで開発リソースの確保を狙ったプロジェクトだった。AOLによる買収など紆余曲折ありで、最終的にNetscape社は解散したが、Mozilla Foundationは残った。

-FirefoxがIEを抜いてシェアトップになりそうに思えたが、Androidとスマートフォンの普及で、Google Chromeがシェアを伸ばす。2012年にFirefoxを抜き、2013年にIEを抜き、Chromeがシェアトップ立つ。2014年にAndroidのシェアが80%を超え、Chromeのシェアの基盤も盤石になる(OSの覇者がブラウザの覇者を作るという構図は、第1次でも第2次でも共通)。

-第3次ブラウザ戦争(Chromium1強時代?)

-レンダリングエンジン Chromiumを様々はブラウザが採用する。OperaがChromiumを採用。IEは終息し、後継としてEdgeが登場したがEdgeもChromiumを採用。
-Firefox、Safariは独自エンジンで生き延びている。また、元OperaスタッフによるVivaldi、元MozillaスタッフによるBraveなど新しいブラウザも登場しているが、Chromiumに迫るものが登場する気配は今のところは感じられない。

(※2)バッファオーバフロー

プログラムで用意されたバッファよりも大きなサイズのデータをバッファに書き込んであふれさせ、バッファ外側のメモリを上書きして、元々そのメモリにあったデータを破壊してしまう攻撃。

(※3)クロスサイトスクリプテイング

攻撃対象のWebサイトで、脆弱性があるWebアプリが利用されている場合に、そこへ罠を仕掛け、サイト訪問者の個人情報を盗むなどの被害をもたらす攻撃

(※4) OSコマンドインジェクション

ユーザーからデータや数値の入力を受け付けるようなWebサイトなどで、プログラムに与えるパラメータにOSへの命令文を紛れ込ませて不正に操作する攻撃。想定されていない命令文を強制的に実行させられる。

(※5)SQLインジェクション

アプリケーションの脆弱性を利用し、想定していないSQL文を実行させ、データベースシステムを不正に操作する攻撃。 また、その攻撃を可能とする脆弱性のこと

(※6)DDoS攻撃

Webサービスを稼働しているサーバーやネットワークなどのリソースに対し、複数のコンピュータから、意図的に過剰な負荷を一斉にかけたり、脆弱性をついたりすることでサーバーをダウンさせたり、サービスを妨害する攻撃。単体のコンピュータから攻撃をしてくる場合はDoS攻撃という。

CS四方山話の過去の記事はこちら(合わせてお読みください)

株式会社シンクロ 中村健

◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇ ◇◇◇ ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇ ◇◇◇
中村 健(Ken Nakamura)
株式会社SYNCHRO 取締役 CTO
機械屋だったはずだが、いつの間にかソフト屋になっていた。以前は計測制御、知識工学が専門分野で、日本版スペースシャトルの飛行実験に関わったり、アクアラインを掘ったりしていた。
VoIPに関わったことで通信も専門分野に加わり、最近はネットワークセキュリティに注力している。
https://www.udc-synchro.co.jp/
◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇ ◇◇◇ ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇ ◇◇◇ ◇◇◇

関連記事