Webアプリケーションの脆弱性対策はどうするべきか?

2019.09.11

脆弱性

Webアプリケーションとは、ブラウザを通して利用できるサービスやアプリケーションのことを指します。gmail、インターネットバンキング、検索エンジンなどが想像しやすいのではないでしょうか。
WebアプリケーションはWebブラウザをHTTPを通じてWebサーバにアクセスして利用されています。
サービスによって様々ではありますが、Webサーバに重要な情報が置かれている場合もあり攻撃者にとって標的となる可能性があります。
Webアプリケーションに脆弱性がある場合は、攻撃者にとって真っ先に狙われてしまうでしょう。そういった事態を避けるためにもWebアプリケーションを提供する人々は脆弱性を出さないための対策が必要になってきます。
ここでは、Webアプリケーションの脆弱性対策について、対策の基本的な考え方、ツールまたは脆弱性診断サービスといったことについて説明します。

目次

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

いずれも、脆弱性の存在する安全でないWebアプリケーションが、インターネットに公開されることで、攻撃者に利用されます。
IPA(独立行政法人情報処理推進機構)では、主なWebアプリケーションの脆弱性として以下の11個を挙げています。

①SQLインジェクション

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

③パス名パラメータの未チェック/ディレクトリ・トラバーサル

④セッション管理の不備

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

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

⑦HTTPヘッダ・インジェクション

⑧メールヘッダ・インジェクション

⑨クリックジャッキング

⑩バッファオーバーフロー

⑪アクセス権限や認可制御の欠落

IPAではそれぞれの脆弱性で発生しうる脅威や、特に注意が必要なウェブサイトの特徴を解説し、脆弱性の原因そのものをなくす根本的な解決策、攻撃による影響の低減を期待できる対策を示しています。
「安全なウェブサイトの作り方」
https://www.ipa.go.jp/security/vuln/websecurity.html
例えば、⑤クロスサイト・スクリプティングはWebアプリケーションにスクリプトを埋め込むことが可能な脆弱性がある場合、攻撃者によって不正に埋め込まれたスクリプトがユーザーのブザウザで実行されてしまう、といったものです。
この場合、偽物のページを表示する、任意のCookieをブラウザに保存させられるといった脅威が発生します。
主に検索のキーワード表示画面、個人情報登録時の確認画面などユーザーの入力内容を処理してWebページとして出力する際に問題が発生し脆弱性として攻撃されてしまいます。

クロスサイト・スクリプティングを防ぐために提案されている対策は
・URLを出力する時は「http://」や「https://」で始まるURLのみ許可する。
・<script>…</script>要素の内容を動的に生成しない。
といったものがあります。
これはあくまで一例ですが、開発を行う段階で脆弱性を出さないようなシステム作りをすることが大切です。

脆弱性対策の考え方

ユーザーの安全を守るためにサービス提供側が行わなければならないことは潜在的な脆弱性を明らかにし、対策するために脆弱性診断を行うこと。
それに加えて、脆弱性攻撃が発生した際に、その被害を防止するためにWAF(Web Application Firewall)のを利用することです。
どちらか一方では不十分であり、2段階での対策が必要でしょう。

脆弱性診断ツールについて

無料で利用可能な脆弱性診断として、以下の2つを紹介します。
MyJVN セキュリティ設定チェッカー
MyJVN脆弱性収集ツール
いずれもIPAが提供しています。
まだ何も脆弱性診断が行われていないのであれば、上のツールをまず試してみることをおすすめします。

JVNと呼ばれる脆弱性対策情報をベースとしているので、情報の品質は高いといえます。
ただし、ツールから出力された情報の内容によっては、専門技術者の判断が必要になる場合があります。
もし自前で専門技術者を用意できない場合は、次の商用サービスの利用も検討する必要があります。

脆弱性診断の商用サービスについて

しかし、上のツールの場合、企業などの組織では不十分な場合があります。
複雑なシステムでは専門技術者による診断が必要になるでしょう。また、例えばクレジットカードの取扱を必要とする場合にはPCI DSSといったように、コンプライアンス対応のツールが必須となるなど、商用サービスを選択が不可欠です。
また、商用サービスでは、ツールによる診断だけでなく、攻撃者の視点で擬似的な攻撃を実施し、ログ解析を実施することにより潜在的な脆弱性を発見するなど、きめ細かい診断が受けられます。

Webアプリケーションの脆弱性を出さないようアプリケーション開発は非常に重要な取り組みの一つです。皆さんも脆弱性を出さないようなシステム作りを心がけましょう。

おすすめの脆弱性対策

脆弱性を突くサイバー攻撃への対抗策として、WAFを導入するという方法をご紹介します。WAFを導入することで脆弱性を突いた攻撃を防ぐことができるようになります。

WAFには色々なものがありますが、その中でもクラウド型WAFであれば、コストや手間も少なくセキュリティ対策することができます。

クラウド型のWAFは導入ハードルが極めて低いので、これからWebセキュリティ対策を行う企業様には有力な選択肢となります。

WAFを選定する時には、サポート体制や導入実績なども重視して、自社に最適なものを選びましょう。

クラウド型WAFも選択肢が多いですが、導入しやすいものとしておすすめするものに「攻撃遮断くん」があります。最新の攻撃パターンにも自動的に対応していくため、セキュリティパッチをすぐに適用できない状況や、定期的に脆弱性診断が出来ない状況でも、セキュアな環境を保てます。

ぜひこの機会にWebセキュリティ対策を見直し、WAFの導入を検討してみてください。

「攻撃遮断くん」の詳細資料は、こちらからダウンロード頂けます。

 

サイバーセキュリティ クラウド型WAF 攻撃遮断くん Web Application Firewall
https://www.shadan-kun.com/

 
(2017/9/28 執筆、2019/9/11修正・加筆)

  • 御社のセキュリティ対策は本当に大丈夫ですか?約80%の企業が対策不足と言われています。Webセキュリティをいますぐ確認!3つのチェックポイント。今すぐ無料で資料ダウンロード
  • DDoS攻撃対策|導入社数、導入サイト数No.1|選ばれ続ける理由とは?クラウド型WAFでWebセキュリティ対策|今すぐ無料でダウンロード

この記事と一緒に読まれています