Webアプリケーションのセキュリティ対策を行うべき5つの理由

2018.03.08

Webセキュリティ

WebアプリケーションとはWebブラウザを介して利用可能なアプリケーション・サービスです。
インターネットバンキング、ブログ、オンラインストレージやGmailのようなメールも全てWebアプリケーションです。
人々の多くが日常的にWebアプリケーションを利用していると思いますが、こういったWebアプリケーションにもセキュリティ対策は欠かせません。
Webアプリケーションの中には、個人情報を多く扱うものもあります。
ユーザーの安全を守るためにも、Webアプリケーションのセキュリティ対策をしっかり行う必要があります。
今回はWebアプリケーションのセキュリティ対策を行うべき5つの理由を紹介します。

目次

Webアプリケーションのセキュリティを脅かす脆弱性とは?

一見ただのWebサイトに見えるものも、Webアプリケーションを利用していることがあります。
Webサイトを構築する際にWordPressを利用したことはありませんか?
WordPressはCMSと呼ばれるWebアプリケーションの一種です。
CMSとは、HTMLやCSSといったWebサイト制作において必要な専門知識を使わずにサイト構築・更新を行うことが可能なシステムのことを指します。
WordPressは、無料で配布されているテンプレートやプラグインを駆使することで簡単にサイトを構築できるオープンソースソフトウェアです。
全世界のWebサイトのうち全体の30%がCMSを利用し、そのうち60%がWordPressを利用していると言われています。
日本企業の中でもWordPressを利用しているところは多いのではないでしょうか?

便利なWebアプリケーションですが、セキュリティを脅かすものとして”脆弱性を突いた攻撃”があります。
脆弱性とは、Webアプリケーションの不具合や開発時のミスのことで、こういったものが一つでもWebアプリケーションにあると、攻撃者はその不具合やミスを狙われてしまいます。
SQLインジェクション、クロスサイトスクリプティングは脆弱性を突いた攻撃の代表格と言えるでしょう。
このような脆弱性を放置したままWebサイトやWebアプリケーションを公開していると、データベースに格納された機密情報や個人情報が外部に流出したり、サービスを不正に利用されたりするなど、企業の継続に関わる重大な問題に発展する可能性があります。
具体的には以下の5つのリスクが存在します。

①情報漏えい
②重要情報の損失・破壊
③利用者端末にマルウェアが仕込まれる
④本来の利用者になりすまして悪用される
⑤企業の社会的イメージ・信用の損失、訴訟リスク

Webアプリケーションのセキュリティ対策を行うのは、このようなリスクの発生を防止するためです。
次に、これらリスクについて解説していきましょう。

①重要情報漏えい

SQLインジェクションにより、SQLで情報抽出のコマンドが指定された場合、データベースに格納された重要情報が攻撃者に漏えいします。
また、OSコマンドインジェクションにより、OSコマンドでファイル内容を表示するコマンドが指定された場合、Webサーバ上にファイルとして格納された重要情報が漏えいします。

②重要情報が損失・破壊される

SQLインジェクションはデータベースにおいて本来許可していない操作を実行する攻撃です。この攻撃によってデータベース上のデータを消去したり、改ざんできてしまいます。
また、OSコマンドインジェクションにより、Webサーバ上にある重要情報が格納されたファイルを削除される可能性もあります。
このように、SQLインジェクション、OSコマンドインジェクションは情報漏えいだけでなく、情報の損失・破壊の原因にもなってしまうのです。

③利用者の端末にマルウェアが仕込まれる

Webアプリケーションの中には、利用者のブラウザ上で実行するスクリプトを送信する作りをしているものがあります。
このような場合、クロスサイトスクリプティングによる攻撃によって、Webサイト運用者が意図しない動きを利用者のブラウザ上で実行されてしまいます。
これは、攻撃者によって利用者のパソコン等の端末にマルウェアを仕込まれることを意味します。

④本来の利用者になりすまして悪用される

WebブラウザとWebサーバ間の通信に用いられるHTTP(Hypertext Transfer Protocol)には、セッション(複数のWebページからなる操作の流れを維持するための仕組み)が備わっていません。
そこで、アプリケーション側でセッションを維持するための仕組みを実装することになります。
ここに脆弱性があると、セッションハイジャックが発生します。
セッションハイジャックとは、正規ユーザが用いているセッションIDを攻撃者が支配下におくことにより、攻撃者が正規ユーザになりすましてWebアプリケーションを操作することです。
これにより、本来認証を受けていない攻撃者がWebサーバの許可されていない情報にアクセスされたり、許可されていない操作をされてしまいます。

⑤企業の社会的イメージ・信用の損失、訴訟リスク

ひとたび、サイト改ざんや情報漏えい等の事故を起こせば、サービスの停止、ユーザーへの補償など、ビジネスに重大な影響を及ぼすことは避けられません。
さらには”情報漏洩をした企業”といったネガティブイメージが定着してしまいます。
さらに、個人情報や知的財産の保護など、コンプライアンス(法令遵守)の観点からも情報資産の保護が重要となっています。

リスクを軽減するためには

第一に安全なWebアプリケーションである必要があります。安全なWebアプリケーションとは、想定外の入力を許可しない作りになっているアプリケーション、セッション情報といった重要な情報が不用意に知られないようにしているアプリケーションのことです。また、WordPress等、CMSを利用している場合は、セキュリティパッチが提供されたら速やかに適用することが必要です。
さらに、セキュリティサービスを導入することでセキュリティの質はさらに上がるでしょう。

例えばWAFを導入することは効果的です。
WAFとはWeb Application Firewallのことであり、Webアプリケーションの脆弱性を悪用した攻撃からWebサイトを防御するための製品です。

セキュリティ対策製品としては他にIDS・IPS、ファイアーウォールなどありますが、WAFは一般的にこれらが対象外とする、クロスサイト・スクリプティング、SQLインジェクション、パスワードリスト攻撃など、Webアプリケーションの脆弱性を悪用した攻撃に有効です。
WAFの製品のタイプとして、アプライアンス型(ハードウェア)、ソフトウェア型、クラウド型の3種類があります。この中でも最近は、クラウド型WAFが注目されています。
これは、専門知識・専門家が不要、インフラの調達が不要、初期費用・運用コストが低い、柔軟なプラン契約というメリットがあるためです。
一方、WAFとしての性能はサービス提供者の品質に左右されるというデメリットがあるため、利用者は慎重にサービス提供者を選定しなければならない点には注意が必要です。

Webアプリケーションのセキュリティ対策を行うべき5つの理由を紹介しました。
この5つを頭に入れて、適切なセキュリティ対策を行いましょう。