Webサイトに必要な脆弱性管理とは?

avatar

 2017.12.26  Japanブログ編集部

システムの脆弱性を考える上で、各企業の皆様では、顧客向けサービスや業務システム環境など様々なシステムを利用されていることともいます。その中で最も危険性が高い箇所と言えば、Webサイトに関連する箇所が圧倒的に多いのではないでしょうか。

近年発生しているサイバー攻撃被害の多くはWebサイトを介したものであり、大中小企業を問わず様々な企業が情報漏えいなどの事件を起こしています。 では、それはなぜでしょうか。

最大の要因は、Webサイトが抱える環境に依存する「脆弱性が低いとされる箇所の多さ」です。 

業務システムなどに比べてWebサイトを取り巻くシステム環境では、脆弱性の発生率が非常に高く、かつ見落としがちになります。 

そこで、改めてWebサイトを取り巻く環境を見直していたく機会として、Webサイトで発生する脆弱性について整理しながらご紹介したいと思います。

Webサイトに潜む9つの脆弱性

クロスサイトスクリプティング

Webサイトの中には検索エンジンを組み込んでいたり、会員登録などで入力フォームの記入を求める機能です。ユーザーの入力を求めてページを生成するWebサイトでは、クロスサイトスクリプティングの脆弱性が隠れている可能性があります。

クロスサイトスクリプティングは動的なWebページの脆弱性を狙い、Webサイトに不正スクリプトを埋め込みます。ユーザーが該当箇所をクリックしてしまうと不正スクリプトが実行され、偽装ページなどに誘導され個人情報を搾取されてしまいます。 

クロスサイトリクエストフォージェリ

CRSF(シーサーフ)とも呼ばれるこのサイバー攻撃は、掲示板や問い合わせフォームなどを持つWebサイトの脆弱性を狙った実行されます。

攻撃者はまず偽装したWebページを作成し、ユーザーをそこに誘導します。それとは知らずにユーザーが偽装Webページを閲覧してしまうと、予め用意されていた不正なリクエストが対象Webサイトへと送信されてしまうのです。 

これによりユーザーが意図していない書き込みがされてしまったり、犯罪予告といった悪質な成りすましを行えてしまいます。

SQLインジェクション

個人情報などを取り扱うためにデータベースと連携しているWebサイトの多くは、ユーザーからの入力情報をもとにSQL文を組み立てています。ここに脆弱性が発生すると、不正にデータベースを操作されてしまうような、重大なセキュリティ事件に繋がりかねません。

攻撃者はWebサイトに設置されている入力フォームからSQL文を入力しデータベースを操作できてしまいます。

近年発生しているWebサイトのサイバー攻撃被害の多くがSQLインジェクションによるものです。 

OSコマンドインジェクション

Webサイトを稼働させるためのWebサーバのOSに脆弱性が発生すると、OSコマンドインジェクションと呼ばれるサイバー攻撃のリスクが高まります。原理はSQLインジェクションと同じであり、不正操作文を入力することでWebサーバを遠隔操作したり、ファイル改ざんなど重大なセキュリティ事件が発生する恐れがあります。

また、OSコマンドインジェクションによって操作され、さらに高度なサイバー攻撃を仕掛けるための足踏みにされてしまう可能性があります。

セッションハイジャック

Webサイトを快適に使用してもらうためには、クッキー情報を活用してユーザーの情報を一時的に保存する必要があります。しかしこれはWebサイトの利便性が高まると同時に、サイバー攻撃のリスクも増加しているのです。

例えば、ユーザーがWebサイトへログインする際にHTTPリクエストを送信しますが、これが何らかの方法で知られてしまい、ユーザーになりきってログインされてしまう可能性があります。

セッションハイジャックによってWebサイトへログインされ、勝手に商品を購入されてしまったという事例も発生しています。

バッファオーバーフロー

Webアプリケーションを含むすべてのプログラムでは、指示された処理を行うために自身が使用するための領域を確保します。しかし、プログラムが入力したデータを適切に処理しなかった場合、プログラムが予め確保した領域を超えてしまい領域外のメモリが上書きされてしまいます。

これにより意図していない処理が行われてしまったり、Webサイトを不正に操作されてしまう可能性があるのです。

ディレクトリトラサーバル

Webサイトの中には、外部からのパラメータにWebサーバ内のファイル名(ディレクトリ)を直接指定しているものがあります。このケースでは外部から簡単にWebサーバ内のファイル名を指定され、直接的に情報を搾取されてしまう可能性があります。 

ファイル指定のプロセスに問題があるので、まずはファイル名を直接指定するような実装を避けることが重要です。

Apache Struts2

Apache Struts2とはオープンソースのフレームワークとして広く普及しているソフトウェアであり、脆弱性が多く発見されているソフトウェアでもあります。2013年から度々脆弱性が発見されているApache Struts2ですが、今年3月には任意のコードが実行できていしまうという重大な脆弱性が発見されています。

オープンソースとして利便性が高いApache Struts2ですが、利用時はセキュリティ面での十分な注意が必要です。

WordPress

世界中で最も多く利用されているブログ制作ソフトウェアであるWordPress。ここ数年間でいくつか脆弱性が発見されているものの、重大なセキュリティ事件に繋がるようなものは少なく、オープンソースソフトウェアの中でのセキュリティ性の高いソフトウェアとして知られていました。

WordPressが提供するREST APIと呼ばれる機能に脆弱性が発見されているのです。

なぜ脆弱性は発生するのか?

ここまでWebサイトに発生する9つの脆弱性について紹介しましたが、実は他にも様々な脆弱性が潜んでいます。ではなぜ、ここまでWebサイトに集中して脆弱性が発生するのでしょうか?

 その理由はWebサイトの開発コストと開発期間に関係しています。

 Webサイトから脆弱性を排除するためには、設計段階から念入りなプログラミング(セキュアプログラミング)が必要です。しかし実際問題、開発コストや開発期間の関係から、Webサイトを十分にレビューしたりテストを行うことは不可能です。

このためほとんどのWebサイトが、脆弱性を抱えたまま公開に至るのです。

また、Webサイトは定期的に改修することも多いため、その都度脆弱性の発生確率が増加します。「今まで発生したことがなかった」というのはあくまで偶然であり、脆弱性は常に潜んでいるものだと考えるのが妥当でしょう。

もっとも基本的で大切なものは、Webサイトを構成する各システムで使用されているデータベースやファイルシステム、ADなどの権限設定やWebアプリケーションなど、横断的に監視し異常を検知する仕組みを導入することが重要です。

tripwire-enterprise.gif

まとめ

いかがでしょうか?Webサイトで発生する脆弱性に対応し情報漏えいなど重大なセキュリティ事件を起こさないためにも、Webサイトを運営する全ての企業が脆弱性対策を取る必要があります。

様々な分散環境により構成されるWebアプリケーションやサービスを適切に関しすることは非常に難しく、運用体制の構築も容易なことではありません。

トリップワイヤでは、ITシステムへの徹底した変更管理でセキュリティを可視化し、改ざん検知、情報漏洩(漏えい)・標的型攻撃対策を強力にサポートするソリューションを用意しています。

まずは改ざん検知の仕組みから検討いただき、トリップワイヤ製品についてご評価いただけたらと思います。

まるわかりガイドCTA

RECOMMEND関連記事


RECENT POST「脆弱性管理」の最新記事


この記事が気に入ったらいいねしよう!