WAFってなに?

Webアプリケーションの脆弱性を悪用した攻撃への対策となるWAFについて解説します。
近年、私たちは、多くの利便性をもたらせてくれるWebサイト、Webアプリケーション、サーバーなどの技術的進歩を目の当たりにしていますが、それらはサイバー犯罪者や組織的犯罪集団の金銭的な利益やその他の利益にも貢献していることをご存知でしょうか。
サイバー犯罪者の組織化とともに、ブラックマーケットも形成されて、ウイルスをはじめ、機密情報や個人情報などが売買されるようになっているのです。
そのような犯罪の脅威から身を守るためのセキュリティ対策や手法が非常に重要であることは説明するまでもありませんが、本記事では、Webアプリケーションの脆弱性を悪用した攻撃への対策となるWAFについて詳しくみていこうと思います。
1. WAFとは?
WAF(ワフ)とは、「Web Application Firewall」を略したファイアウォールの一種で、「Webアプリケーションの脆弱性を悪用した攻撃」から、Webサイトを守るセキュリティ対策のひとつです。別名「仮想パッチ」とも呼ばれています。
エンドユーザーとプログラムの間のセキュリティバリアであるWAFは、Webアプリケーションを行き来するすべてのトラフィックと、戻ってくるトラフィックを検査することで、すべてのアプリケーションのアクセスをフィルタリングします。ポリシーに反するコンテンツを監視し、ブロックすることが、WAFの主な目的です。
WebアプリケーションとWebアプリケーションユーザーの両方を保護することで、WAFは従来のネットワークファイアウォールの機能を強化してくれるのですね。また、Webサイトで保護されてなかったり修正されていない脆弱性が見つかった場合に、仮想パッチを即座に適用してくれるのです。
2. WAFの仕組み
WAFは、アプリケーション層に設置されて、双方向のゲートキーパーとして動作して、アプリケーションに出入りするHTTP/HTTPSトラフィックを分析してくれます。
アプリケーションから独立しながらも、アプリケーションの動作の変化に適応もできるので、新しい機能が導入されて、データフローが増加したとしても、脅威の誤検出が何千件も発生するようなことがありません。
専用の物理サーバーにもインストールすることができて、他のネットワーク要素と組み合わせることも可能です。要求に応じて、低レベルから高レベルまでの様々な検査レベルで動作するように構成されることで、Webアプリケーションに対してより高いレベルの保護と軽減を提供することができるのです。
3. WAFの機能
WAFが担う重要な機能は以下の5つです。
(1) リアルタイムな通信監視、制御機能
予め通信パターンを記録したシグネチャというファイルをもとに、通信を通すか、ブロックするかの判断を行いますが、下記2パターンがあります。
⚫︎ブラックリスト方式
予め不正パターンを記録し、該当する通信をブロックする
⚫︎ホワイトリスト方式
事前に通信を許可するパターンを記録し、該当する通信を許可する。
(2) シグネチャ自動更新機能
クラウド型のWAFはシグネチャが自動で定期的にアップデートされるため、新しい攻撃に対して迅速な対応ができます。
(3) Cookieの暗号化と保護
Cookieの暗号化などの「Cookie保護」機能も実装されており、攻撃者によるなりすましなどを防いぎ、ログイン情報の不正入手やなりすまし被害の回避が可能です。
(4) 特定URL・IPアドレス拒否機能
「特定URL接続拒否」機能で、警戒が不要なWebページのみを防御対象から除外、また、攻撃者に使われているIPアドレスなどからの通信をブロックする「IPアドレス拒否」機能もあり、ネットワークの負荷軽減に繋がります。
(5) ログ・レポート機能
検出された不正と思われる通信は「ログ」機能により閲覧可能です。遮断したサイバー攻撃を確認できるので、実際に仕掛けられた攻撃手段を把握できるため、新たなセキュリティ対策へと活かせます。
4. WAFとファイアウォールって何が違うの?
ファイアウォールは一般的に、サイト内のすべてのトラフィックをスキャンし、悪意のあるボットや複数の異なる攻撃からネットワークを保護してネットワークトラフィックを監視します。
ファイアーウールは、外部には公開していない運営側の情報システムに対してのみ外部からの不正アクセスを防いでくれるのですが、外部に公開しているアプリケーション情報を外部から保護しているのが、WAFなのです。
5. WAFとIDS/IPSとの違いは?
IDS(Intrusion Detection System)は、ネットワークの不正侵入の検知、IPS(Intrusion Prevention System)は、不正侵入防御を目的としています。
IDS/IPSは通信内容の監視を行い、外部からの多様な攻撃への対策手段として効果はありますが、近年Webアプリケーションへの攻撃はますます多種多様となってきているため、さらに高度化していく必要があります。そのため、IPSでは不正侵入を防ぎきれないこともあり、システム障害が発生する問題も起きています。
WAFは、前述した通り、「Webアプリケーションの脆弱性を悪用した攻撃」から、Webサイトを守るセキュリティ対策です。
Webアプリケーションの保護が目的ですので、Webアプリケーションに仕掛けられる攻撃の防御に特化しているのです。
6. WAFの必要性
WAFとファイアウォール、IPS/IDSは、それぞれ異なる目的でWebサイトを保護するために機能していることがお分かりいただけたと思います。WAFを導入したらファイアウォールやIPS/IDSが不要になるということではなく、それぞれ全てが必要不可欠なセキュリティ対策ということです。
Webアプリケーションは、大勢で多大な時間を費やし、何重にも何パターンにも渡りテストを行っても、プログラミングの設計ミスやバグの検出は非常に難しいものです。バグがあると、ハッカーはそこを突いて不正アクセスを行います。
よってWebアプリケーションには必ずと言っていいほど脆弱性が含まれているという理解でいた方が間違いがありません。そのために、WAFのようなアプリケーションに特化した「不正アクセスを検知して攻撃を遮断する仕組み」が必要なのです。
7. WAFにしかブロックできない領域
一般的なファイアウォールでは、通信の中身や通信方法まではチェックしていません。システムの入り口であるポートを通過した通信は、その内容がたとえ不正なものであってもWebアプリケーションに到達してしまいます。
また、IDS(不正侵入検知システム)やIPS(不正侵入防御システム)はWAFと同様に不正アクセスを検知しますが、Webアプリケーションに対する不正アクセスの検知精度は低く、十分なセキュリティ対策を行うことができません。
Webアプリケーションへの攻撃は、WAFにしかブロックできない領域なのです。
8. どんなサイバー攻撃があるの?
WAFが対応できる攻撃には主に以下のようなものがあります。
(1) ブルートフォースアタック
WebアプリケーションのIDやパスワードを総あたりで入力して突破しようとする攻撃のことです。
(2) DDoS(Distributed Denial of Service attack)攻撃
大量のデータ送信によって高負荷がかかったサーバーをダウンさせる攻撃のことです。
(3) クロスサイトスクリプティング
不正リンクをクリックしたユーザーから ID やパスワードを盗みとろうとするサイバー攻撃です。
(4) SQLインジェクション
個人情報を保管しているデータベースに攻撃をしかけ、ID やパスワード、クレジットカード番号などの個人情報を盗みとろうとする攻撃です。
(5) OSコマンドインジェクション
OSコマンドを不正に操作し、サーバーの乗っ取りや情報の漏えいなどを目的とした攻撃のことです。
(6) バッファオーバーフロー
特定のパソコンに大量のデータを送信して意図的に誤作動を起こすサイバー攻撃です。
最近は、クロスサイトスクリプティングの攻撃をよく耳にするようになってきているように思います。 企業側は、通信管理や監視が必須対応と思いますが、ユーザー側も個人情報が流出しないように、ブラウザを最新バージョンにアップデートしたり、セキュリティソフトを利用するなどの対策が必要ですね。
9. WAFの種類
WAFは、ソフトウェア型、アプライアンス型、そしてクラウド型の三種類があります。一つずつみていきましょう。
(1) ソフトウェア(ホスト)型
自社で保有している既存のWebサーバやWebアプリケーションサーバにインストールして使用します。 専用機が不要となるので、低コストで導入できます。
(2) アプライアンス(ゲートウェイ、ネットワーク)型
WAFの機能を持つ専用のハードウェアで、外部ネットワークとWebサーバの間に設置して使用します。導入・運用のコストは高くなりますので、大規模な情報システムに向いているでしょう。
(3) クラウド(サービス)型
クラウド上でサービスを受ける形態で、近年ではWAFの主流となっています。コストの調整も可能で、企業のネットワーク構成を変更する必要もありませんので、コストを抑えてセキュリティ対策を行いたい企業に向いています。
まとめ
少し長くなってしまいましたが、WAFの機能、必要性、また種類などを見てきました。導入にあたっては、対策すべき攻撃の明確化や予算と費用対効果などをじっくりと検討する必要があります。
初期費用のことを考慮するとクラウド型が導入しやすいかもしれませんが、導入に際しては確実に専門知識が必要な分野です。
ご質問やご相談などありましたら、こちらからお気軽にご連絡ください。