狙われるWebアプリケーション

この記事をシェア

Webサイトを狙った攻撃が後を絶たない。改ざん、情報漏洩などの被害が発生するリスクを下げるには、Webアプリケーションの保護に特化したWAF(Web Application Firewall)を使うのが有用だ。

対策待ったなしの「Webサーバー改ざん」

サイバー攻撃の中でも代表的なものと言えば、Webサイトの改ざんが挙げられる。Webサイトはこれまでにも、愉快犯、自らの技術的な能力を誇示したいクラッカー、政治的な主張をしたい活動家など、様々な攻撃者からターゲットにされてきた。昨今は、金銭目的と見られるサイバー犯罪において、Webサイトへの攻撃がさらに増加している。例えば、ECサイトからクレジットカード情報を盗み、不正利用で金銭を得たり、マルウェアを拡散させたりするための踏み台に悪用するといった具合だ。標的型攻撃のひとつである「水飲み場型攻撃」にも利用されている。

ではなぜ、Webサイトが狙われるのだろうか。理由の1つに、「Webアプリケーション」が広く利用されていることがある。以前のWebサイトでは、CGIなど動的なコンテンツはあったが、それほど多くはなく、Webページや画像などのファイルを配置し、ブラウザからそれを読み出すだけの「静的な」コンテンツが多かった。

しかし、ブロードバンドが普及して回線速度が上がり、サーバーの処理速度も向上。インターネットの利用者が拡大することで、より魅力的なWebサイトを提供するため、高度なプログラムを組み、データベースと連携させ、動的なコンテンツを提供する「Webアプリケーション」が広く一般に利用されるようになった。当然ながら、企業がインターネット上で保有する情報の価値も高まっている。

動的なコンテンツを提供しているのは、なにもショッピングサイト、旅行やホテルの予約サイトなど、いわゆるコンシューマー向けサービスを提供しているWebサイトだけではない。今や、専門的な知識がなくても簡単にコンテンツを更新できるCMS(Content Management System)などが広く使われ、企業の多くは、動的なコンテンツを配信し、Webサイトを自社製品のプロモーションなどに積極的に活用するようになった。その結果、多くの企業が、Webアプリケーションを狙った不正アクセスのターゲットとされているのだ。

JPCERTコーディネーションセンターが、毎年四半期ごとに発表している「JPCERT/CC インシデント対応報告レポート」によれば、2014年に届け出を受けたWebサイト改ざんの件数は4373件。Gumblarの流行によりWeb改ざん被害が多発した2009年の500件と比較して、8倍以上もの件数となり、被害が広がっているかがわかる。

増加傾向にあるWebサイト改ざん

Webアプリの複雑化が、脆弱な環境を生むことに

しかし、Webサイトを守ることは、そう簡単な話ではない。理由の1つは、Webサイトの多くが、誰もがアクセスできる環境に置かれていることが挙げられる。閲覧者を社内などに限定すれば、アクセス制限をかけられるが、企業の広報や製品の紹介、サービスの提供など、世の中で広く利用してもらうことが目的であれば、外部に公開せねばならず、攻撃者に対してもオープンな状態となってしまう。通常の利用者には、不便を感じさせないように配慮しつつ、攻撃を防御しなければならない。

さらにWebアプリケーションの複雑化が挙げられる。例えば、ECサイトでは、商品の情報をCMSで管理し、注文に関しては在庫管理データベースと連携させることが必要だ。会員向けにサービスを提供するとなれば、当然、会員情報を登録するためのデータベースと、会員を確認するための認証機構を設置しなければならない。そしてクレジットカードで決済を行うとなれば、さらに別のプログラムが必要となるだろう。複数のプログラムとデータベースが連携して動く複雑なシステムを用意しなければならないわけだ。

もちろん、こうしたシステムに脆弱性を作り込まないことが、まずは重要となる。しかしながら、脆弱性を完全になくすことは難しいのが実情だ。パッケージソフトをそのまま用いており、サポートが受けられるのであれば、修正は比較的容易だが、多くのWebサイトでは、オープンソースのプログラムをカスタマイズしたり、独自に開発したプログラムを利用したりしていることも少なくない。個々のWebで異なる問題を、それぞれの運営者が自身でメンテナンスしていかなければならない状況に置かれている。

例えば、Webアプリケーションに対する攻撃の代表例として取り上げられることも多い「SQLインジェクション」については、2006年ごろに問題が表面化したが、最近も依然として「SQLインジェクション」が原因と思われる改ざん事例が引き続き発生している。こうした現状は、脆弱性対策の難しさを物語っていると言えるだろう。

またWebアプリケーションを動作させるサーバーやミドルウェアに脆弱性が見つかる場合もある。こういった脆弱性への対策でやっかいなのは、修正プログラムが提供されても、企業ではアップデートによってシステムに問題を起こさないかどうかの検証作業が必要となること。また、ミドルウェアなどのサポートが終了してしまい、環境そのものの見直しを図らねばならないといった問題も出ている。

アプリケーションレイヤーでWebを守るWAF

誰もがアクセスできる環境に置かれているWebサーバーだけに、IPアドレスやポート番号でアクセス制御する従来のファイアウォールでは守ることができない。そこでWebアプリケーションを守ることに特化した「Webアプリケーションファイアウォール(WAF)」が注目されている。

WAFはその名が示すようにWebアプリケーションを保護するために設計されている。Webサーバーに対するリクエストを監視し、不正なリクエストがあればログに記録する、アクセスを遮断する、応答内容を変更するといった処理が可能となる。

例えば、「SQLインジェクション攻撃」。同攻撃では、フォーム送信時などに変数へ「SQL文」を巧みに埋め込み、プログラムの脆弱性を突いてデータベースを不正に操作しようとする攻撃だ。通常は、外部から、「SQL文」が送信されることはない。そういった文字列が含まれるリクエストに対し、WAFではルールに従って遮断することが可能となる。

個々の製品によって搭載する機能は異なるが、多くのWAFでは、先に上げた「SQLインジェクション」をはじめ、「OSコマンドインジェクション」、「クロスサイトスクリプティング」、「クロスサイトリクエストフォージェリ」、「ディレクトリトラバーサル」といった脆弱性に対応することが可能だ。

何らかの方法で入手したID/パスワードを用いてユーザー以外の第三者がログインを試行するパスワードリスト攻撃が社会問題となっているが、同一のIPアドレスからの短期間に多数試行が繰り返された場合に、接続を阻止するといった機能なども一部で実装されている。

またサーバーや「Apache Struts」をはじめとするミドルウェアの脆弱性の脆弱性に対する攻撃を防御できる製品や、DDoS攻撃にも対応するサービスもあるので確認してみるとよいだろう。

Webアプリケーションに対する主な攻撃

このようにWAFを利用すれば、Webアプリケーションを狙った攻撃から守ることができる。Webアプリケーションに脆弱性が見つかり、すぐに修正することは難しい場合にもWAFを導入することで、緊急対策を施すことが可能だ。

広がるWAFの世界、SaaS型も登場

Webアプリケーションの保護に役立つWAFだが、いくつか種類があるので紹介しておこう。ソフトウェアやハードウェアのアプライアンスのほか、オープンソースの「ModSecurity」などサーバーのモジュールとして動作するものもある。

最近ではSaaS型WAFも注目されている。ネットワーク構成を大きく変更せずDNS情報を変更するだけでよいので、導入までの期間が短く、気軽利用できるのが強みだ。

なお、セキュリティ製品全般に言える話だが、万能ではなく、WAFによってすべての問題が解決されるわけではない。あくまでもリスクを低減するためのものであることは、頭に入れておく必要がある。

WAFの大きな課題としては、正しい通信を誤って「問題がある通信」と判断してしまう「偽陽性(false positive)」が発生しないよう、運用には細心の注意が必要だ。かといってルールを緩くすると、不正な通信を検知できずに防御できない場合もある。

またあらたな攻撃が発生した際、シグネチャが提供されるまでにタイムラグが発生する場合もある。Webアプリケーション設計時にできるだけ脆弱性を作り込まないようにする、脆弱性を発見した場合は、WAFで保護しつつも、できるだけ速やかに修正することを検討すべきだろう。

この記事をシェア

Webアプリケーションのセキュリティ対策に

サイバーセキュリティ
情報局の最新情報を
チェック!