セキュリティコラム

vol. 09 2020年12月 Webアプリケーション脆弱性診断の必要性

【vol.09】Webアプリケーション脆弱性診断の必要性

システムの構築、運用をする上で見逃してはならないものの一つが「脆弱性」です。脆弱性はネットワーク機器やシステムに存在するセキュリティ上の欠陥や弱点を表します。どのようなシステムにも何らかの脆弱性は内在していると考えてよいでしょう。

内在している脆弱性をあらかじめ調査して知るための方法として「脆弱性診断」が存在します。

この記事では、脆弱性診断の基礎から企業におけるWebアプリケーション脆弱性診断の必要性、診断しなかった場合のリスクなどについて解説します。

そもそも脆弱性診断とは何か?

脆弱性診断とは、ネットワーク・OS・ミドルウェア・Webアプリケーションなどにどのような脆弱性が存在するかを調査することです。

脆弱性はセキュリティ上の欠陥や弱点であり、サイバー攻撃は脆弱性を狙って行なわれるため、事前に把握して対策しておく必要があります。

もし脆弱性の対策を行なわない場合、企業の機密情報を狙った攻撃により個人情報などの機密情報の流出、Webサイトの改ざんなどの被害にあう可能性があり、攻撃を受けた企業の顧客に対する被害が発生し、影響範囲が広がる場合が多くあります。攻撃を受けた被害者である企業が、その顧客から損害賠償を求められるケースも実際に発生しています。

Webアプリケーションにおける脆弱性診断の必要性

Webアプリケーションにおける脆弱性診断の必要性

さまざまなシステムの中でも、特にインターネットに公開されているWebアプリケーションは狙われやすく、脆弱性診断を行なうべき対象の一つに挙げられます。ここでは、Webアプリケーションに脆弱性診断が必要な理由を見ていきましょう。

攻撃による被害の発生を未然に防げる

インターネット上に公開されているWebアプリケーションはその特性上、ブラウザさえあれば誰でも簡単にアクセスできるシステムのため、攻撃者にとって攻撃しやすい状況であると言えます。また、個人情報を扱っているシステムの場合、不正に入手した情報の販売など、攻撃者にとって利用価値の高い情報が扱われているため、狙われやすい傾向があります。

Webアプリケーションの脆弱性としては、「SQLインジェクション」「クロスサイトスクリプティング」「セッションフィクセーション」などがあります。

これらの脆弱性を放置していると、データベースに格納された機密情報や個人情報が流出したり、サービスを不正に利用されるなど、企業にとって大きな損害を受ける事態になりかねません。

そのため、脆弱性への対策を実施するための第一歩として、事前に脆弱性の有無とその内容を把握することが重要です。

修正コストを下げることができる

実際に被害が発生してから対応する際の費用や手間を考えると、事前に脆弱性診断を実施して対策をしておく方がコストを下げることができます。

被害発生後に対応をすると、被害範囲や発生場所、影響範囲の確認、対策方法の選定、関係各所への報告など、さまざまな手続きが必要です。また、顧客からの損害賠償が発生した場合にはその費用は莫大な金額になる可能性があります。

公開前のシステムの場合、事前に脆弱性診断を実施しておくことで、開発段階における脆弱性を確認でき、問題があれば修正することができます。そのため、脆弱性を狙った攻撃による被害をあらかじめ低減でき、脆弱性を修正するためのコストを下げることも可能なのです。

Webアプリケーション脆弱性診断における検査手法

Webアプリケーション脆弱性診断における検査手法

Webアプリケーションにおける脆弱性診断の具体的な手法と、脆弱性とその脅威について紹介します。

Webアプリケーションにおける脆弱性診断とは

Webアプリケーションにおける脆弱性診断は、Webアプリケーションに対して問題が検出されやすい文字列などを送信したり、画面遷移や分岐をチェックしたりするなど、実際の攻撃に類似した確認をシステムに対して行うことでWebアプリケーションの脆弱性に特化して確認します。

Webアプリケーションの脆弱性診断は、おもにテスト工程で実施した上で、運用段階でも定期的に行ないます。日々、新たな脆弱性が発見されていることから、定期的な診断の実施が推奨されます。

Webアプリケーションにおける脆弱性診断の検査方法

Webアプリケーションにおける脆弱性診断の検査方法は、ツールによる自動診断とツールと診断員による手動診断を組み合わせる方法があります。ツールによる自動診断では検査できない項目があるため、診断の品質を重視する場合にはツールと手動の組み合わせを利用することが推奨されます。

費用を抑えるためにツールによる自動診断のみを実施する場合がありますが、ツールで診断できない領域に内在する危険性の高い脆弱性を見過ごしてしまう可能性があるため、お勧めできません。また、複雑な構成のサイトや二要素認証など認証方法が特殊なサイトではツールによる自動診断ができない場合もあります。どうしても費用を抑える必要がある場合は、セキュリティの観点からの優先順位を考慮し、診断を実施する対象を絞る方が望ましいです。

検査で分かる脆弱性の種類

実際に脆弱性診断を行なった結果、Webサイトの改ざんや情報漏えいといったリスクを事前に見つけ出すことができます。種類としては、下記のような攻撃を可能にする脆弱性がないか検査します。

認証系
  • 総当たり攻撃
  • 不適切な認証
  • 脆弱なパスワード
承認系
  • 証明書とセッションの推測
  • 不適切な承認
  • 不適切なセッション期限
  • セッションの固定
クライアント側での攻撃
  • コンテンツの詐称
  • クロスサイトスクリプティング
コマンド実行
  • バッファオーバーフロー
  • 書式文字列攻撃
  • LDAPインジェクション
  • OSコマンド実行
  • SQLインジェクション
  • SSIインジェクション
  • Xpathインジェクション
情報公開
  • ディレクトリ一覧の表示
  • システム情報の漏洩
  • パスの乗り換え
  • 推測可能なリソースの位置
ロジックを狙った攻撃
  • 機能の悪用
  • サービス拒否
  • 不適切な実行プロセス
機密データの漏出
(ソースコード診断のみ対応)
  • パスワード、クレジットカード、健康記録、個人情報が暗号化されていること
  • 強度の高い標準の暗号化アルゴリズムを使用していること
  • パスワードが強い標準のアルゴリズムでハッシュ化し適切なソルト化の実施をしていること

これらの攻撃が可能となる脆弱性を放置すると、Webサイトの改ざんや情報漏えいなどの被害に遭う可能性が高まるため、事前の対策が重要です。

SCSKの脆弱性診断の特長

SCSKでは、Webアプリケーション開発とWebアプリケーションセキュリティに精通した診断員による脆弱性診断を提供しています。Webアプリケーション開発の経験を持つスペシャリストが診断を行なうため、診断スキルの高さはもちろん、診断後に対策をお伝えする段階においても、開発者の視点から具体的な修正方法をご提案することが可能です。

また、診断ツールの取り扱いやサポート経験から得た知識をもとに、脆弱性診断ツールの効果的な活用と、診断技術員による手作業を組み合わせた複合的な診断を取り入れています。また、費用を抑えたいお客様にはSCSKの診断員がプロの目でセキュリティ観点の優先順位を考慮し、対象を絞った診断をご提案します。

まとめ

脆弱性診断は、セキュリティ上の欠陥である脆弱性を事前に発見・対策するために行なわれるものです。脆弱性を放置すると、企業の機密情報を狙った攻撃を受け、甚大な被害を受ける可能性があります。中でもWebアプリケーションは攻撃の対象となりやすく、脆弱性への対応は必要不可欠であると言えるでしょう。

脆弱性診断は、Webアプリケーション開発とWebアプリケーションセキュリティに関する専門的な視点が求められるため、知識と経験の豊富な専門家に依頼することをおすすめします。SCSKでは両面に精通した診断員による脆弱性診断サービスをご用意しています。Webセキュリティに不安を抱えるお客様は、ぜひお気軽にご相談ください。

お問い合わせ

お問い合わせはこちら

CONTACT

0800-500-4000

基盤サービス事業本部 セキュリティサービス部
受付時間:月~金 9:00-18:00(祝日、年末年始、当社指定日除く)

page top