第四話、WAFによるセキュリティ対策
ーー田中オフィス、会議室ーー
社長の田中卓造、水野幸一、そして稲田美穂が集まって、最近のWAF:ウェブアプリケーションファイアウォールの設定に関する問題について話し合っていた。田中社長が言うには、
「最近、WAFの設定が厳しすぎて、正当なリクエストまでブロックされてしまっているんや。特に、< の記号が含まれている通信が遮断されているらしい。これ、どうにかならんかな?」田中社長はこんなケースは全くお手上げなのだ。
「ああ、それはフォールスポジティブ(過剰検知)ですね。WAFが<記号を悪意のあるコード(例えば、SQLインジェクション)と勘違いしている可能性があります。計算式や判定式の中でも<が使われることがあるから、それを過剰に反応して遮断しているんでしょう。」と、水野さんが即答します。
「なるほど、WAFが正当な通信も誤ってブロックしているってことですね。これ、どんな場合に起きるんですか?」稲田さんは続けて質問します。
「例えば、計算式やデータ比較を行うリクエストでは、<が必須だよね。例えば、年齢の比較や日付の判定式などでは、<を使うから、それを悪意のある攻撃と誤検出して遮断してしまう。これがフォールスポジティブです。」これに対して田中社長、質問を続けます。
「じゃあ、もし<の記号を使った通信が誤って遮断されているとしたら、それは過剰検知ってことか。」
「でも、逆に<の記号を使っていない攻撃が見逃されることもあるんですか?それはフォールスネガティブ(検知漏れ)って言いますよね?」稲田さん、勉強の成果が現れているようです。
「その通り。フォールスネガティブは、悪意のあるリクエストが誤って許可されてしまうケース。<を使っていない攻撃や、他の隠された手法を使う攻撃が見逃される可能性がある。たとえば、<の記号を使わないコードインジェクションやクロスサイトスクリプティング(XSS)のような攻撃だ。」
「よし、ここで重要なのはWAFの設定をもう一度見直すことやな。過剰検知で正当な通信が遮断されないようにし、逆に危険な通信が見逃されないようにしなければならんやろ。」稲田さん即座に、
「設定をチューニングして正当なリクエストを通す方法を考えないとですね。セキュリティと利便性のバランスが難しいですね。」と返します。今回は3人の会話の歯車がかみ合っています。
「その通り。WAFを使うときは、こうしたフォールスポジティブとフォールスネガティブをどれだけ減らせるかが鍵です。テストを繰り返して最適な設定に調整していくしかないですね。」
水野さんは、WAFの設定を再調整し、より精度高く正当なリクエストを通しつつ、危険な通信を確実にブロックできるようにしていくことで話を進めます。
ーー許可された文字以外を遮断してしまうのがフォールスポジティブか?ーー
WAFが許可された文字以外を検知した場合、それが正当な通信であったにも関わらず遮断してしまうのであれば、それはフォールスポジティブ(過剰検知)に該当します。水野さんは説明を続けます。
「具体的には、WAFは通常、ウェブアプリケーションに対する攻撃を防ぐために、特定の文字列やパターン(例えば、SQLインジェクションやXSS攻撃に使われる文字やコード)を検出して遮断します。しかし、WAFが許可された文字を誤って攻撃パターンとして認識し、正当なリクエストも遮断してしまう場合、それは「過剰に検出してしまっている」という意味でフォールスポジティブです。
例えば、ユーザーが正当な計算式やデータ入力(例えば、<や>を含む数式など)を送信した場合に、その文字をWAFが攻撃の兆候と誤って判断して遮断してしまうことです。このような場合、WAFの設定が過剰に厳しく、適切に許可されるべき通信もブロックしてしまっています。」
稲田さんが質問します。
「本当にそうでしょうか?あらかじめ、リクエストの文字としてふさわしい文字をWAFで許可設定してあるのだから、それ以外の文字を検知したら遮断するのは、フォールスポジティブにはあたらないのでは?」
水野さんの説明は少し長くなります。
「その通りです。ご指摘の通り、WAFがあらかじめ許可された文字以外を検知して遮断する設定の場合、それがフォールスポジティブ(過剰検知)にはあたらないことになります。これは、WAFが許可された文字だけを通すように設定されているため、許可されていない文字がリクエスト内に含まれていれば、それは正当な通信でないとみなされ、遮断されることが意図的な動作になります。この場合、誤って正当なリクエストが遮断されるわけではなく、セキュリティポリシーに基づいた正当な動作として機能しています。ですから、許可されていない文字が含まれている場合に遮断されるのは、意図的なフィルタリングであり、それがフォールスポジティブではありません。」
ーーフォールスポジティブの定義ーー
フォールスポジティブとは、攻撃ではない正当なリクエストを誤って悪質なリクエストとして検出し、遮断してしまうことです。例えば、< >のような特殊文字が必要な正当なリクエストを、WAFが誤って攻撃とみなして遮断してしまう場合がこれにあたります。
多くのWAFは、< >といった特殊文字を正当なリクエストの一部として許可するように設定されています。特に、これらの文字は次のような場面でよく使用されます。
・HTMLタグ: < >はHTMLタグの一部であり、ウェブアプリケーションでHTMLを生成する際に必要不可欠です。
・数式や条件式: 比較演算子として< >は、計算式や判定式の一部として使われることがあります。
・URLパラメータ: 一部のアプリケーションで、< >を含むデータがURLパラメータやフォームデータに含まれることもあります。
そのため、WAFは通常、攻撃を防ぐためにこれらの特殊文字を検出するだけでなく、正当な使用にも対応できるように、特定の状況でこれらの文字を許可するように設定されます。
ただし、WAFの設定が厳しすぎると、これらの特殊文字を必要とする正当なリクエストも誤って遮断されてしまう可能性があるため、許可する文字と遮断する文字のバランスを慎重に調整する必要があります。
オフィスの会話が少し混乱してきた。稲田さんが眉をひそめて考え込みながら、話し始めた。
「それでは、WAFでガードしようと思って、文字を設定したり、許可分から除外したりすると、機械的な判定だから、真性な通信が誤って遮断されてしまって、重要なやりとりが阻害されてしまいますね。」
稲田の言葉に田中卓造社長が素早く反応し、頷きながら軽い調子で言った。
「そうやな、メーカーの初期設定はそのままにしておくのが得策やな。いじらんほうがいいってことだ。」
稲田はその言葉に少し戸惑いを感じている様子だったが、田中社長の言うことにも一理あると思っているようだ。しかし、すぐに水野幸一が大きなため息をついて、話を切り出した。
「うーん、ちょっと待ってください。そう簡単にはいかないんですよ、稲田さん。初期設定のままで運用するのが最適だというわけではないんです。」
稲田は水野の言葉に少し驚き、興味津々で水野を見つめた。
「え?でも、初期設定をそのままにしておく方が、無駄に設定をいじるリスクも減るし、安全な気がします。」
「稲田さん、確かに、初期設定がある程度は安全策を取っているから、それをいじらずに使うのも一つの方法ではあります。でも、すべてのシステムにおいて同じ設定が最適というわけではないんです。例えば、特定の文字やデータが必要な場合、それをWAFがブロックしないように設定を変更することが必要になるケースもあります。」
「うーん、それはちょっとわかる気もするけど、設定を変更するのはリスクが高くないですか?」
「設定を変更しないままだと、誤って正当な通信を遮断してしまうリスクが高いんです。つまり、フォールスポジティブが発生して、重要なやりとりが阻害されることもある。例えば、<や>のような特殊文字を必要とするリクエストがある場合、そのまま許可しておかないと、ビジネスのやり取りができなくなっちゃうんですよ。」と水野さんは説明して、稲田さんの反応を待った。
稲田はちょっと考え込んだ後、ようやく納得したようにうなずいた。
「なるほど…。でも、設定をいじることがリスクになるのは、確かに心配です。何か、変更すべきポイントとか、注意すべきところってありますか?」という問いに対して、水野さんは、
「もちろん、慎重に調整する必要はあります。例えば、最小限の変更を加えることや、変更後に十分なテストを行って、どんな通信が影響を受けるか確認することが大事です。それに、設定を変更する場合でも、適切なホワイトリストを作成したり、必要な通信だけを許可するようにするんです。」
田中社長がその言葉を受けて、少し考えた後に、真剣な表情で言った。
「なるほどな。結局、WAFの設定も慎重にやらないと、ただ守ろうと思っても逆に不便になったり、誤って重要なものを遮断したりすることになるんだな。」
「その通りです。大切なのは、セキュリティと利便性のバランスを取ることです。自動で機械的にやるのではなく、状況に応じて適切な調整をする必要があるってことですね。」
水野さんの「状況、適切」という具体性の見えない説明に対して、一応稲田さんは理解が深まった様子でうなずき、少し安心した表情を見せた。田中社長も一応、WAFの設定は重要であり、慎重に進めるべきだと納得しているようだった。
ーーフォールスネガティブーー
水野さんは少し間を置いてから、話題を変えた。オフィスの空気が少し緊張感を帯びてきた。
「それと、もう一つ大事な点があります。WAFが完全に攻撃を防ぐわけではないんです。」
理解しかけたところで、完全ではないと・・・田中社長は、
「どういうことや?」と返します。
「例えば、Request for Comments(RFC)で明確に定義されていない、Webアプリケーション開発者が独自に追加したフィールドがありますよね。これに関して、WAFがその内容を理解せず、検査しないことがあるんです。」
「ああ、独自仕様の部分ですね。それを攻撃者が抜け道として利用することができるってことですか?」と稲田さんが質問します。水野さんがそれに答えて、
「そうです。攻撃者が、RFCには規定されていないカスタムヘッダーやパラメータを使って、HTTPリクエストに悪意のあるコードや命令を埋め込むことができます。その場合、WAFはそのフィールドを検査しないので、攻撃が見逃されてしまう。これがフォールスネガティブ、つまり検知漏れですね。」
「なるほど、RFCに基づく標準的な仕様にしか反応しないから、独自仕様の部分は見逃されるんだな。」
「その通りです。例えば、独自のカスタムHTTPヘッダーやパラメータが使われている場合、それに対する適切な検査をWAFが行わなければ、攻撃者はそれを悪用してシステムに侵入する可能性があります。これを防ぐためには、WAFの設定をカスタマイズして、どんなリクエストでも検査できるようにする必要があります。」
稲田さんの質問は続きます。
「でも、WAFってどこまで細かくカスタマイズできるんですか?そんなに広範囲で対応するのは難しそうですね。」
「確かに、完璧にすべてのリクエストを網羅するのは難しいですが、基本的にはカスタムフィールドやヘッダーの検査を行う設定を加えることで、リスクを減らすことができます。もちろん、完全な防御は難しいので、多層防御を考えるべきです。」
「多層防御か…。それで、WAFだけに頼るのではなく、他のセキュリティ手段も併用するってことだな。」という社長の発言。
「はい、例えば、入力検証の強化や、アプリケーションレベルでのセキュリティ対策を加えることで、WAFだけでは防ぎきれない部分を補完することができます。」
しばらくの間、田中社長と稲田は水野の言葉に耳を傾けながら、セキュリティ強化の重要性を再認識していた。水野はさらに続けた。
「もし、WAFがカスタムフィールドや独自仕様のリクエストに対応していない場合、攻撃者がそれを利用して悪意のあるリクエストを通すことができてしまいます。これが、意図しない形でシステムに侵入されるリスクを高めるんです。」
「なるほど、だからWAFの設定だけでなく、アプリケーション側でのセキュリティ対策も欠かせないってことだな。」
「確かに、WAFだけで完全に守れるわけではないですね。しっかりとした多層的なアプローチが必要だということですね。」
稲田はようやくその点を理解し、少し安心した様子でうなずいた。田中社長も、セキュリティ対策の重要性を改めて感じ、WAFの設定だけでは不十分だということに気づき始めていた。
水野はさらに詳細なアドバイスを続け、これからのセキュリティ対策に向けて、皆で協力していくことの重要性を強調した。
「情報セキュリティを得意とするシステム会社もあるでしょう。インターネットで広告することもできます。しかし、経営で日常的にやりとりをしている会計士、司法書士、顧問弁護士などがお客様に呼びかけることで、企業もその重要性、特殊性を認識する場合も多く、相談窓口は彼らがメインとなり、より特殊性のある対応が必要なとき、専門のシステム会社を紹介するというような流れがよい循環をもたらすと思います。
経営者にとって、日常的に信頼関係を築いている会計士や司法書士、顧問弁護士などから情報セキュリティの重要性を認識することは非常に効果的です。これらの専門家が企業に対して「セキュリティ対策を考えましょう」と声をかけることで、企業側もその必要性をより強く感じることができます。
また、これらの専門家が相談窓口として企業の初期対応を行い、より技術的な対応が求められる場合には、専門のシステム会社を紹介するという流れは、非常に効率的かつ円滑です。こうした循環により、情報セキュリティの対策が企業の経営戦略に組み込まれやすくなり、セキュリティ意識が高まります。」
水野は深刻な表情で続けた。
「私たちの役割は重大です。RFCなども時折参照して、知識をアップデートしておかないといけません。WAFの設定やセキュリティ対策をしっかり行うことはもちろんですが、それだけでは足りません。RFC:Request for Commentsやその他のセキュリティに関する規定を定期的に参照し、知識をアップデートしておかないと、時代遅れの対策で守るべきものを守れなくなってしまいます。」
「ああ、なるほど…。情報セキュリティはどんどん進化していきますし、昔の知識だけでは対応できないことが増えてきますよね。」
「確かに、法律や規制が変わるように、セキュリティの環境もどんどん変化している。私たちもその変化についていかないと、ビジネスの信頼が崩れてしまう。」
稲田さんと田中社長が話す。水野は頷きながら、さらに説明を加えた。
「その通りです。特に、セキュリティの世界は攻撃者の進化とともに新しい手法が次々に登場します。例えば、ゼロデイ攻撃や新しいマルウェア、攻撃の手法が出てきたとき、その情報をしっかりとキャッチアップしないと、既存の防御策では対応できなくなることもあります。」
「水野さんのおっしゃるとおり、攻撃者はどんどん巧妙になりますから、私たちも日々新しい知識を取り入れていかないといけないんですね。」
「そうですね。日々、脅威インテリジェンスや最新のセキュリティの動向をチェックして、ポリシーや設定を見直すことが重要です。そして、それがクライアントにとっても信頼できるサポートになるんです。」
田中社長は二人の言葉をじっくりと聞き、深くうなずいた。
「そやな、ワシらの知識が古くなれば、クライアントのセキュリティも守れなくなってしまう。だからこそ、常にアップデートし続けることが求められるんやな。」
「その通りです。セキュリティ対策は一度きりの作業ではなく、継続的な改善が必要です。あらゆる脅威に対して柔軟に対応できるように、私たち自身が常に学び続け、クライアントにもその重要性を伝えていかなければなりません。」水野さんは強く述べて、田中社長と稲田さんの顔を見た。
ーーセキュリティの重要性を再確認ーー
稲田は改めてその重要性を感じ取り、少し背筋が伸びたような気がした。田中社長も、水野の言葉に心を打たれ、今後のセキュリティ対策について、もっと積極的に学んでいく必要があると感じた。
「わかった。これからは定期的にセキュリティの情報をチェックして、皆で共有し合って、常に最新の知識を持っているようにしよう。」
「はい、それが重要です。皆で協力して、クライアントに最高のセキュリティを提供できるようにしましょう。」
会話を終えた後、三人はそれぞれの業務に戻る準備を整えたが、セキュリティの重要性を再確認し、今後の対応についてさらに真剣に取り組む決意を新たにしていた。
ーーJPIC:日本ネットワークインフォメーションセンターーー
稲田さんの質問で「RFCの情報は、どこを見たらいいですか?」と聞かれ、水野さんは代表的なもので、JPIC(日本ネットワークインフォメーションセンター)を紹介しました。
「RFCの情報は、JPIC(日本ネットワークインフォメーションセンター)のサイトが信頼できるよ。RFCの一覧が公開されていて、最新の仕様や情報をチェックできるから、そこで定期的に確認するといい。」
「JPICですね。どこにアクセスすればいいですか?」と、稲田さんが質問します。
「そのままJPICと入力して検索して見つかると思います。RFC Archiveのページに行けば、最新のRFCが確認できます。」
稲田はノートを取りながら、メモをしていた。田中社長はスマホを取り出し、懸命に検索を始めた。
「JPIC、JPIC…。どこや、どこや、これか?」
水野は少し笑いながらも続けた。
「そうそう、そこです。たまに新しいRFCが出るから、しっかり追いかけておかないと、知らない間に規定が変わってることがありますね。」
「うーん、よし、これで安心やな。あ、間違えた、これ公式やったんか、いやいや、ちょっと待ってな。」
社長はスクロールしている間に、意気込んで検索をしていたが、突然少しとぼけた感じでオトナのサイトを開いてしまった。
(少し恥ずかしそうに)「あ、やべえ、なんか違うページ開いてもうた!これ、ええ加減な情報やないか!水野、お前言うた通りやん、正式なサイトやないとあかんな!」
水野さん、笑いながら、「社長、焦らないで、リンクしっかり確認してくださいよ。ほら、こっちのサイトが確実です。」
「あ、これや!さすが水野、ありがとう!でも、やっぱり俺の検索能力、まだまだやな…」
その様子に、稲田も少し笑いながらコメントした。
「社長、検索だけじゃなくて、たまには最新情報をチェックしながらセキュリティ対策も進めてくださいね。」
田中社長、笑いながら、「ほな、稲田ちゃんも頑張り!俺も最新情報に追いつくように、少しずつやっていくわ!」
水野は苦笑しつつも、社長が真剣に検索している姿を見て、少し安心したようだった。社内の空気がまた和んで、ちょっとした笑いが生まれた。どこか親しみやすい雰囲気が漂う中で、セキュリティ対策の重要性はしっかりと伝わったようだ。
「じゃあ、社長、稲田さん、JPICをちゃんとチェックして、最新情報をみんなで共有しましょう。」
と水野さんが言うと、田中社長は元気よく「おお、まかしとけ!さっそくチェックして、安心したセキュリティでお客さんにも信頼してもらおう!」
その後、社長がスマホで検索を続けながら、皆でセキュリティ対策を強化していく決意を新たにしたのだった。
ーー完ーー
こうして、日々情報セキュリティについて学んでいる田中オフィスは、次回ついに、お客様の問題に対応することになります。