ウェブアプリケーションセキュリティとは

ウェブアプリケーションセキュリティとは、ウェブサイト、ウェブアプリケーションおよおびウェブサービスをSQLインジェクションクロスサイトスクリプティングなどの悪質なサイバー攻撃や、その他の形態の潜在的な脅威から防衛する実践です。

ウェブアプリケーションへの脆弱性スキャンは、今日の脅威を考慮すれば必須のセキュリティ対策といえます。しかしながら、ウェブアプリケーションに効果的にスキャンを実施する前に、ウェブアプリケーションとは何か、また組織にウェブアプリケーション セキュリティ プログラムを設けることがなぜ重要なのかについて、理解しておく必要があります。

ウェブアプリケーションは、自宅やビジネスへと続く開かれた扉と考えることができます。ウェブアプリケーションには、ユーザーインターフェースやユーザーのアクティビティがオンラインで展開されるあらゆるソフトウェアアプリケーションが含まれます。メール、小売サイト、エンターテインメントのストリーミングサービスなどもこれに含まれます。ウェブアプリケーションでは、ユーザーが要求するコンテンツを提供するために、ホストネットワークと対話する必要があります。ウェブアプリケーションがセキュリティで十分に強化されていない場合、アプリケーションを操作して、ホストデータベースにアクセスし、そこから機密情報を含めたユーザーまたは攻撃者が要求するあらゆるデータを送信させることができます。

ウェブアプリケーションでセキュリティが重要となる理由とは?

ウェブアプリケーションでは、さまざまなポートからのトラフィックを許可する必要があり、通常は認証が必要となります。これは、複雑なウェブアプリケーションの脆弱性スキャナが必要になるということです。ウェブサイトはネットワークからのトラフィックの出入りを許可する必要があるため、ハッカーは最も一般的に使用されるポートを頻繁に攻撃してきます。攻撃を受けやすいポート:

  • ポート80(HTTP):保護されていないウェブサイトのトラフィック用
  • ポート443(HTTPS):保護されたウェブサイトのトラフィック用
  • ポート21(FTP):サーバーとの間でファイルをやり取りするためのファイル転送プロトコル
  • ポート25(SMTP)は単純なメール転送プロトコルであり、ポート110(POP3)はデフォルトの暗号化されていないポートであり、企業がメールを送受信する際によく使用されるメールプロトコルです。

このように利用できるポートが幅広くあるならば、ウェブサイトがユーザーとやり取りするために必要となるオープン性をハッカーが悪用して、ネットワークに侵入する機会も豊富にあるのは当然のことと言えます。

この推測が的外れでないことは「Verizon Data Breach Investigations Report」が証明しており、ウェブアプリケーションへの攻撃が依然として最も一般的な侵害パターンであり、悪質な攻撃者の典型的な手口といえます。ウェブアプリケーションを常時監視しスキャンすれば、脆弱性を事前に特定して侵入前に修復できるため、攻撃者の先を行くことができます。組織向けのアプリケーションスキャナを評価するのに重要な要素は次のとおりです。

無料でスキャンできるウェブアプリケーションスキャナの不正確性

多くの無料ウェブアプリケーションスキャナがあり、無料というと聞こえはいいかもしれません。しかし、無料スキャナでは誤検知と検知漏れが頻繁に発生するため、ただでさえ時間とマンパワーが不足しているITチームにとっては悪夢になるでしょう。無料スキャナには「ただより高いものはない」という言葉がぴったりです。

とはいえ、市販のフル機能スキャナの多くは、購入前に試用できる無料トライアルバージョンを提供しています。組織にとって重要なセキュリティ製品を購入前に試すことができるのは大きな利点です。スキャナを試用して必要な機能を備えているか確認することができます。

OWASP トップ10

ITチームが労力をかけて収集する情報だけでなく、ウェブスキャナには高い精度で脆弱性を検知してもらいたいものです。ウェブアプリケーションスキャナが高精度であるかどうかは、どのように見分ければいいのでしょうか。「Open Web Application Security Project」や「OWASP トップ10 脆弱性」が提示する以下に示す脆弱性については確実に検知できる必要があります。

  1. インジェクション:攻撃者は、信頼できないデータをコマンドクエリでSQL、OS、LDAPなどのインタープリタに送信して「だます」ことでコマンドを実行させ、重要なデータにアクセスさせます。
  2. 認証とセッション管理の不備:ハッカーは、認証とセッション管理の処理を悪用してパスワード、トークン、キーを盗み、ユーザーを装って認証しネットワークにアクセスします。
  3. 機密データの流出:信じがたいことに今でも多くのウェブアプリケーションでクレジットカード、認証情報、納税者番号などの機密データが適切に保護されていません。ハッカーはこのような脆弱性を利用して、個人情報の漏洩やクレジットカードの不正利用などの攻撃を行います。
  4. XML外部エンティティ(XXE):古かったり誤って設定されたXML処理は、XMLドキュメント内の外部エンティティ参照を評価します。この外部エンティティを使用することで、内部ポートスキャンの漏洩、リモートコードやサービス拒否攻撃の実行が可能になります。
  5. アクセス制御の不備: 認証ユーザーの実行範囲に制限を設けることはまれです。攻撃者はこの点を悪用して、データや機能に不正アクセスします。
  6. セキュリティの設定ミス: ベストプラクティスを得るには、アプリケーションとその周辺や、プラットフォーム内の適切なセキュリティ設定が必要です。もしセキュリティ層に設定ミスがあれば、ハッカーは容易にネットワークや重要なデータにアクセスすることができます。
  7. クロスサイトスクリプティング(XSS):ハッカーは、XSSを悪用してユーザーセッションのハッキング、悪意あるサイトへのリダイレクト、ウェブサイトの改ざんを行います。アプリケーションは信頼できないデータを受け取り、検証プロセスなしでウェブブラウザに送信します。ハッカーは被害者のブラウザで有害なスクリプトを実行できるようになります。
  8. 安全ではないデシリアライゼーション:この脆弱性はリモートコードの実行を引き起こすことがあります。デシリアライゼーションは、リプレイ攻撃、権限昇格攻撃、インジェクション攻撃などに利用されます。
  9. 既知の脆弱性を持つコンポーネントの使用:ソフトウェアモジュールのコンポーネントは通常、完全な権限をもって実行されます。ライブラリ、フレームワーク、その他のソフトウェアモジュールなどの脆弱性が悪用されれば、システム全体にアクセスされて大混乱に陥る可能性があります。
  10. 不十分なロギングと監視:適切なロギングと監視の欠如が多くの攻撃の引き金になっています。十分なロギングと監視体制がなければ、攻撃者は気付かれずに侵入し、深刻な被害を与える可能性が高くなります。

ウェブアプリケーションのセキュリティレポート

ウェブアプリケーション脆弱性スキャナは、検知した情報を分かりやすいレポートで提供するものである必要があります。レポートによって、ITチームは、ハッカーが標的とし得るウェブアプリケーションの弱点やセキュリティホールを簡単かつ迅速に特定できます。またレポートは脅威の発生と同時にその原因を特定し、アプリケーションの脆弱性をリアルタイムで解決することを可能にします。

ウェブアプリケーションの脆弱性の修復

スキャナが検出したデータをレポートにして活用することは重要ですが、それだけでは十分とはいえません。スキャナには、脆弱性データを基に詳細な修復計画を立案する機能も必要です。修復計画は、状況を整理して優先タスクを提案し、いつまでに、何を、なぜ修復するのか具体的に提示します。ソフト内のデータを追跡、解析することができるか、またはITチケットソリューション内のデータを統合することができるものが最も望ましい脆弱性スキャナです。

概要

今日の脅威は絶えず変化しています。業務や個人の使用にかかわらず、毎日私たちが利用しているウェブアプリケーションの数を考えれば、アプリを保護することの重要性は一目瞭然です。アプリケーションの定期的なスキャンにより、侵入される前に脆弱性を特定、修復して攻撃者の一歩先を行くことができます。