Webアプリケーションの脆弱性対策をする理由

2020.05.08

Webセキュリティ

Webアプリケーションの脆弱性対策をする理由

システム管理者にとって、サイバー攻撃対策は必須事項です。仮にデータ流出やシステム破損などを起こせば、企業の社会的信用は大きく失われるからです。たとえば、SQLインジェクションはサイバー攻撃の代表例で、この攻撃によって深刻な被害が出る可能性もあります。対策を立てるにあたって、攻撃者の手口を研究しておくことが必要です。この記事ではWebアプリケーションの脆弱性や攻撃の種類について解説させていただきます。

目次

そもそも脆弱性とは何か?端末が攻撃を受けるから対策が必要

脆弱性とは攻撃を受ける隙のこと

パソコンでインターネットを利用している以上、ほとんどのユーザーが何らかのWebアプリケーションを使っています。そして、Webアプリケーションには脆弱性が発覚することも珍しくありません。脆弱性とは、「攻撃に対する弱さ」を意味します。ネットユーザーの中には不正に他者の端末、システムへとアクセスしようとするサイバー攻撃者もいます。彼らは攻撃をする前に、Webアプリケーション上の脆弱性を調べ、ピンポイントで突いてくることが定番の手口です。つまり、脆弱性をそのままにしておくとサイバー攻撃を受ける確率が高まるので、対策が必須なのです。

Webアプリケーションは完璧と限らない

有名メーカーの開発したWebアプリケーションであれば、「対策を立てなくても最初から安全ではないのか」と考える人もいるでしょう。しかし、有名メーカーが設計ミスを起こさないという確証はどこにもありません。脆弱性を抱えたままリリースされたアプリケーションの事例はいくつもあります。

また、仮に、まだ発見されていない脆弱性に攻撃者が先に気づいてしまったら、安全と信じられていたWebアプリケーションまで脅威にさらされてしまいます。有名無名に関係なく、全てのWebアプリケーションでは脆弱性対策が必要なのです。

被害を受けた企業は社会的信用が失墜する

もしも企業がサイバー攻撃を受けて被害を生んでしまった場合、世間からきびしい批判が向けられるのは避けられません。特に、もともと脆弱性が発見されていたWebアプリケーションを無防備のまま使い続けていたケースでは言い逃れができないでしょう。情報セキュリティへの意識、ネット社会での倫理観などが欠如していたとして、大きく社会的信用は失墜します。ときには、企業に致命的なダメージを与えることすらありえるのです。こうした事態を招かないためにも、脆弱性対策は真剣に取り組んでおくべきテーマです。

事例の多い攻撃については必ず脆弱性の対策を立てよう

Webアプリケーションの脆弱性対策が重要な理由として、ファイアウォールで防ぎきれない攻撃がすでに報告されている点も挙げられます。これらの攻撃にはWebアプリケーションで対応するしかありません。当然ながら、無策のままだと容易にアプリケーションへの攻撃を許してしまい被害は拡大します。以下、代表的なWebアプリケーションの脆弱性を突いたサイバー攻撃を紹介します。

バッファオーバーフロー

アプリケーションのキャパシティをはるかに超えたデータを送りつけ、誤作動を起こさせる手法です。そのままパソコン本体を乗っ取り、ネットワーク上の他の端末へと攻撃を移していきます。

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

ヘッダなどに埋め込まれた不正なデータがHTMLとして表示されることで、攻撃的なスクリプトが実行される手口です。機密性の高いデータを盗むときなどに用いられます。

エラーコード

意図的にWebアプリケーションでエラーを起こさせ、情報を取得する攻撃です。

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

データを入力する際、プログラムに与えるパラメータ中にOSへの攻撃命令を忍ばせておく方法です。マルウェアを用いたサイバー攻撃のほか、データを意図的に改ざんするときなどに採用されます。

HTTPレスポンス分割

Webアプリケーションの脆弱性を利用し、ユーザーに偽のページを取得させるサイバー攻撃です。偽ページは攻撃者の制御下に置かれており、ユーザーは気づかないままシステムを操作されてしまいます。

SQLインジェクション

データベースと連動しているサイトを狙った手法です。本来ならパスワードやIDを入力する領域で、あえてサーバーの命令文である「SQL」を打ち込みます。サイトに脆弱性があると入力者にデータベースを更新する権利が与えられ、改ざんや破壊活動が可能になります。

そのほかにも、Webアプリケーションに向けられたサイバー攻撃の種類はたくさんあります。脆弱性を克服する方法が見つかったとしても、攻撃者がまた新しい手法を開発する繰り返しが起こっているといえるでしょう。そのため、Webアプリケーションの脆弱性対策は一度行っただけで安心とはいきません。攻撃者がいかなる手口を用いたとしても、早急に対処できるようセキュリティを意識し続けることが大事です。

手法別!webアプリケーションの脆弱性対策の理由

どうしてベンダーの動向に注意しなくてはならないのか

Webアプリケーションの脆弱性対策では、ベンダーのリリースを待つことが基本といえます。なぜなら、ユーザー側が脆弱性に気づけるだけの知識を有していないケースが大半だからです。また、偶然脆弱性を見つけられたとしても、それを修正できる技術者を雇っている企業はごく少数です。そこで、ベンダーの開示している情報を日々チェックする必要があります。脆弱性対策は、具体的な方法がホームページに掲載されたり、修正パッチが発表されたりして伝えられます。ただ、これらの発表で攻撃者も脆弱性を認識することが珍しくありません。修正前のWebアプリケーションを狙われないよう、すぐアナウンスに反応することが肝心です。

バリデーション機能のあるWebアプリケーションはなぜ重要なのか

入力フォームで値をチェックする機能を「バリデーション」と呼びます。バリデーション機能の搭載されているWebアプリケーションは、想定外の文字や文字列を受け付けません。つまり、その領域で本来入力されることのない文字を使用することができないのです。バリデーションは入力コマンドによって脆弱性を引き出そうとする攻撃に対し有効です。Webアプリケーションを選定するうえで、バリデーションの有無は基準のひとつになりえます。

自社開発のWebアプリケーションでテストが必要な理由

Webアプリケーションを自社で開発して使用する企業もあります。このとき、開発段階で動作確認のテストが重要なのは当然です。ただ、アプリケーションの脆弱性を確かめるためにもテストは大きな役割を果たします。

担当者はテストの段階で不正な入力値を完全に排除する作業を行わなくてはなりません。なぜなら、排除しないままアプリケーションを実用化すると不正アクセスに対してエラーメッセージを返してしまいます。メッセージにはデータベース言語をはじめとして、脆弱性のヒントになる情報が満載です。攻撃者によってはわざとエラーメッセージを表示させて脆弱性を確認しようとします。こうした悪意を跳ね返すためにも、アプリケーションのテストは肝心です。

Webアプリケーションに絶対的な安全はない!だからこそ脆弱性対策を

多くのユーザーに支持されているWebアプリケーションですら、絶対的な安全性は保証されていません。いつ脆弱性が発覚してサイバー攻撃の標的にされるかは予測がつかないのです。だからこそ、脆弱性があるという前提で対策を立てることは非常に重要です。セキュリティへの意識を高く持ってWebアプリケーションを運用しましょう。

サイバー攻撃を可視化・遮断する「攻撃遮断くん」

クラウド型WAF 攻撃遮断くん Web Application Firewall
https://www.shadan-kun.com/

 

サイバーセキュリティクラウドが提供する「攻撃遮断くん」はWebサイト・Webサーバへのサイバー攻撃を可視化し、遮断するセキュリティサービスです。
ブルートフォースアタック、クロスサイトスクリプティング、Webスキャンと言ったサイバー攻撃をリアルタイムで検知・遮断しています。
ユーザーごとに提供される管理画面で、契約したWebサーバへの攻撃の情報を確認することができます。

  • DDoS攻撃対策|導入社数、導入サイト数No.1|選ばれ続ける理由とは?クラウド型WAFでWebセキュリティ対策|今すぐ無料でダウンロード
  • 累計12,000サイトの導入実績 多数の事例から、導入までの経緯と抱えていた課題の解決方法をご紹介