Webアプリケーション診断とは?

 2020.07.29  株式会社ジェイピー・セキュア

個人の財産にも等しいクレジットカード情報や企業の顧客リスト、製品開発に関する機密情報などが漏えいする事故が後を絶ちません。大量の情報が流出する原因の多くは、Webサイトを構成するアプリケーションの脆弱性と運用管理上のミスによるものです。

現実的に“完全防御”が難しいため、先鋭的な攻撃者に狙われると、多くのWebサイトは何らかの弱点が見つかってしまいます。こうした状況下においては、サイト運営者にとって「Webアプリケーション診断」は必修科目です。Webアプリケーション診断の意義とその効果を見ていきましょう。

脆弱性の7割はWebアプリケーション

IPA(情報処理推進機構)とJPCERTコーディネーションセンターでは、「ソフトウェア等の脆弱性関連情報に関する届出状況」を定期的に発表していますが、直近(2020年第1四半期)のデータを見ると、ソフトウェア製品62件に対しWebサイト(Webアプリケーション)は201件。2004年に調査を開始してからの累計でも、Webサイトの脆弱性が約7割を占めています。

出典:「ソフトウェア等の脆弱性関連情報に関する届出状況」(IPAJPCERT/CC

セキュリティ診断サービスを実施しているある企業の調査では、一定期間に診断したWebサイトの85%以上は何らかの弱点を抱えていました。こうした現実から、大多数のサイトでは何らかのアクションが必要と考えられますが、闇雲にセキュリティ製品を導入することは得策ではありません。第1歩は自社サイトの実態を正確に把握することです。

ここで有効なソリューションが、Webサイトに内在する問題を顕在化し、適切な改修方法をアドバイスしてくれる「Webアプリケーション診断」です。診断サービスを活用することによって、短期間でコストを抑えて、自社サイトのセキュリティホールを認識できるのです。

アプリケーション層の危険性

Webサイトの構成は、OSとミドルウエア、サーバソフトなどのプラットフォームとアプリケーションの2層構造になっていますが、特に種類が多く危険度も高いのは後者です。企業の公式サイトやショッピング、ニュース、コンテンツ配信などのサービスには、会員登録、検索、電子決済、他サイトとの連携など、目的に応じた各種プログラムが実装されています。

LinuxやWindowsなどのOS、Apacheに代表されるWebサーバソフトなどのプラットフォーム系は、脆弱性が発見されればパッチの公開と情報共有が迅速に行なわれるため、比較的早く対処することができますが、オーダーメイドで開発されることの多い非汎用的なアプリケーションは同じようにはいきません。開発者や運営側が注意を払い続ける必要があります。

OSのような“公開捜査”は行なわれないにしても、Webアプリケーションから多くの脆弱性が見つかっている現状は、冒頭のレポートでも触れた通りです。脆弱性の一般的な定義は、“プログラムの不具合や設計上のミスが原因で発生した情報セキュリティ上の欠陥”(「国民のための情報セキュリティサイト:総務省」から抜粋)ですが、この記事ではもう少し広義にとらえ、“攻撃者が悪用すると開発側が意図しない動きをする状態”も含むものとして進めます。

脆弱性がなくならない理由は?

Webアプリケーションは、企業のシステム部門やソフトウェアメーカーが開発しますが、脆弱性ができる主な要因として、開発コストと期間の制約、そして開発側のスキル不足が挙げられます。さらに、要求仕様をシステムに落とし込む際に生じる認識のズレも軽視できません。

攻撃者はあらゆる手段を使って欠陥を探り出し、攻撃を仕掛けてきます。Webアプリケーションに限らない話ですが、ソフトウェアから脆弱性がなくならない理由の一つであり、時間と予算、開発要員も不足している状況では、あらゆる攻撃を想定してテストを繰り返すことは容易ではありません。こうした現実を加味すると、Webアプリケーションから脆弱性が無くなることはないという前提に立って、対策を進めておくべきでしょう。

New call-to-action
ジェイピー・セキュアソフトウェアライセンス価格表

Webアプリケーション診断のチェック項目

Webアプリケーション診断のチェック項目を見ていきましょう。テスト内容は多岐にわたり、診断サービスを実施する業者によってメニューは異なりますが、大きな“ジャンル”として括ると以下に集約できます。

  • 入出力管理
  • 認証管理
  • セッション管理
  • 設定/運用

入出力管理

Webサイトが被害を受ける要因として多くを占めるのは、SQLインジェクションやクロスサイトスクリプティングなど、Webアプリケーションとそのバックエンドのシステムへの不正な入出力を起点とする攻撃です。SQL(データベースのコマンド)の不正操作によるデータ流出につながる脆弱性、不正なスクリプトが動作できる環境の有無などを検証します。

(参考)Webサイトの脆弱性の種類別の届出状況
出典:「ソフトウェア等の脆弱性関連情報に関する届出状況」(IPAJPCERT/CC

認証管理

ユーザー認証の機能も標的になりやすい部分です。この診断では、ID、パスワードなどの認証情報を使うログイン機能を精査。例えば、ログインフォームからデータが漏えいするリスク、IDの推測やパスワードの総当たり攻撃に対する強度などを診断します。

セッション管理

クライアント~サーバ間の接続状態をソフト上で維持するセッションが不正操作されると、なりすましの被害に結びつきます(セッションハイジャック)。セッションの識別方法は適切か、セッションIDは推測されやすい形式になっていないかなどを精査します。

設定/運用

Webサイトが攻撃される原因の多くはOSやアプリケーションの脆弱性ですが、サイトの弱点はここだけではありません。認証を管理するアプリケーションの設定ミス、ファイルの属性指定時の誤操作、意図していない設定やファイルの公開など、運用管理上の問題もあります。管理ミスによるセキュリティホールができていないか、発生しやすい環境か否かも診断項目に含まれます。

診断はツールと手動の2段階

Webアプリケーション診断には、ツールによる診断と手動診断の2段階あり、それぞれの特性を生かした検査が行なわれます。

ツール

既知の脆弱性や初歩的な設定ミスの検出に対しては、多くのWebページを短時間で診断できるツールが有効です。具体的には、データベース検索、アンケート受付、各種サービス予約などの機能を搭載したWebアプリケーションに対し、ツールから自動的にコマンドや文字列を送って、応答内容からセキュリティ上の不備を検出します。

手動

ツールは短時間で診断ができますが、すべての脆弱性や人的なミスを発見できるわけではありません。人間が対話型で操作しないと検出できない欠陥もあるため、スキルを備えたエキスパートが攻撃者の視点からプログラムの動きを検証するステップも欠かせません。

エキスパートの“知見と熱意”が精度を上げる

専門家の診断が必要な理由をもう少し補足すると、診断ツールでは“応用問題”への対応に限界があるからです。例えば、設定ミスや運用上の不備は、OSやアプリケーションの正規の機能を用いた攻撃に使われるため、ツールがセキュリティ上の問題点として検出できるとは限りません。

例えば、ショッピングサイトでパラメータ改ざんが可能なプロセスが見つかった場合、不正操作が会員のステータスだけでなく、決済履歴にも影響が出るようなことがないかを確認します。一部のプログラムの振る舞いが思わぬところに影響が及ぶケースがあるため、いろいろな可能性を探っていく行動も欠かせないのです。こうしたエキスパートの“知見と熱意”は、診断の精度という形で反映されてきます。

Webアプリケーション診断のフロー

Webアプリケーション診断は以下の流れで実施されます。

ヒアリング → 診断 → 解析 → 結果報告

ヒアリング

診断サービスを実施する業者がヒアリングを通じてサイトの詳細を把握し、調査の対象範囲、診断に用いる手法、診断項目、スケジュール、そして費用を提示します。

診断

対象サイトに対し、ツールと手動で前述したような診断項目を検査します。

解析

検出された脆弱性や設定ミスなどを列挙し、リスクを洗い出します。もし緊急性が高い脆弱性が発見された場合は、結果をまとめる前に通知されます。

結果報告

文書によるレポートと報告会を通じて、ユーザー企業に結果を開示します。

診断はコストではなく投資

現在、多くの国内業者が「Webアプリケーション診断」のサービスを提供していますが、診断項目、手法(ツールと手動を併用)、フローに大きな違いはありません。

各社の特徴が表れる部分としては、エキスパートの能力、診断範囲・方法、そして再調査や業態に特化したオプションメニューなどが挙げられます。業者によっては、セキュリティ関連資格の保有者数や診断実績を開示していますので、業者を比較する材料として参考にしても良いでしょう。

Webアプリケーションの脆弱性を狙うサイバー攻撃は、機密情報の漏えい、閲覧者をマルウェア感染させるサイト改ざん、攻撃の踏み台などの深刻な被害を与えます。損害賠償による金銭的被害や社会的信用失墜に伴う売上減少により、事業継続が困難になった被害企業も少なくありません。

Webサイトは企業・団体の顔ですが、そこには何らかの欠陥を抱えている可能性があります。Webアプリケーション診断は“コスト”ではなく、企業活動を維持・成長させるための“投資”と考えてみてはいかがでしょうか。

WAFとは~WAF選定・導入のポイントとSiteGuardが選ばれる理由~

RECENT POST「Webセキュリティ」の最新記事


Webアプリケーション診断とは?
SITEGUARD

RANKING人気資料ランキング

RECENT POST 最新記事

ブログ無料購読

RANKING人気記事ランキング