DirectCloudのWeb脆弱性への取り組み

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

そもそも「Webアプリケーション」とは、ユーザーがインターネットを介して利用するアプリケーションのことを指します。

Webアプリケーションは、インターネット上に常に晒された状態のため、サイバー攻撃の対象となります。
Webアプリケーションに脆弱性があると、サイバー攻撃による情報漏えいや改ざんなど、様々な被害を受ける可能性があります。

次に「脆弱性」とは、OSやソフトウェアにおいて、プログラムの設計上のミスや不具合が原因となって発生した、情報セキュリティ上の欠陥のことを言います。

脆弱性は「セキュリティホール」とも呼ばれます。脆弱性が残された状態でサービスを利用していると、不正アクセスに利用されたり、ウイルスに感染する危険性があります。

インターネットに公開しているサーバーの場合には、脆弱性を利用した不正アクセスによって、情報漏えいやデータ消失・改ざん、ウイルスの発信源になるなど、攻撃者に悪用されてしまう可能性があるため、脆弱性は必ず塞いでおかなければなりません。

代表的なサイバー攻撃

脆弱性を狙うサイバー攻撃には様々な種類があります。
具体的にそれぞれの方法について紹介させていただきます。

サイバー攻撃の種類 主な方法
クロスサイトスクリプティング ユーザーのWebブラウザ上で不正なスクリプトを動かす
強制的ブラウジング URLなどでリンクされていない秘密情報や管理者機能に直接アクセスする
SQLインジェクション 不正入力により任意のSQL文を実行させる
パラメータの改ざん Webアプリケーションの期待する値とは別の値を送信し、誤操作させる
HTTPレスポンス分割 偽ページを多数のに人々に見せる
OSコマンドインジェクション 不正入力により任意のOSコマンドを実行させる
セッション管理に関する脆弱性 セッション情報の推測や盗用を行う
パス/ディレクトリトラバーサル 公開されていないファイルに直接アクセスする
バッファオーバーフロー 配列の範囲を超えた書き込みにより、外部から指定した命令を実行する
バックドアとデバッグオプション 開発者がアプリケーションに不用意に残したデバッグ用の機能などを悪用して不正な操作を行う
エラーコード エラーメッセージの情報を攻撃の糸口にする
クロスサイトスクリプティング ユーザーのWebブラウザ上で不正なスクリプトを動かす
強制的ブラウジング URLなどでリンクされていない秘密情報や管理者機能に直接アクセスする
SQLインジェクション 不正入力により任意のSQL文を実行させる
パラメータの改ざん Webアプリケーションの期待する値とは別の値を送信し、誤操作させる
HTTPレスポンス分割 偽ページを多数のに人々に見せる
OSコマンドインジェクション 不正入力により任意のOSコマンドを実行させる
セッション管理に関する脆弱性 セッション情報の推測や盗用を行う
パス/ディレクトリトラバーサル 公開されていないファイルに直接アクセスする
バッファオーバーフロー 配列の範囲を超えた書き込みにより、外部から指定した命令を実行する
バックドアとデバッグオプション 開発者がアプリケーションに不用意に残したデバッグ用の機能などを悪用して不正な操作を行う
エラーコード エラーメッセージの情報を攻撃の糸口にする

不正アクセスによる情報漏えい事件一覧

毎日のようにニュースとなっている不正アクセスによる情報漏えい事件ですが、2017年だけでも下記のようなニュースが世間をにぎわせました。

日付 法人・団体名 件数・人数 漏洩原因 漏洩内容・詳細・二次被害(悪用)など
2017/12/13 大阪大学 6万9,549名 サイバー攻撃 約8万人の情報が登録されていたデータベースへ1ヶ月半のサイバー攻撃が発生。その後海外のIPを経由し不正アクセス。6万9,549名分の情報がダウンロードされている事を確認。
2017/10/30 GMOインターネット株式会社 1万4,612件 不正アクセス 同社が手掛けるサイト売買仲介サービス「サイトM&A」にて、個人情報合計1万4,612件が流出。原因は外部からのサイバー攻撃による可能性が高いとのこと。流出情報には「氏名、住所、生年月日、電話番号、メールアドレス」が含まれていた。
2017/10/11 株式会社アドウィック 約60万件 不正アクセス 同社の管理サーバが不正を受け、サービス利用者の個人情報「氏名や電話番号、メールアドレス・医療機関の予約時間等」の約60万件という大規模流出。
2017/10/4 TOKYO MX 約37万件 不正アクセス 流出した個人情報はサービスの利用等に使われた氏名やニックネーム、メールアドレスなど。クレジットカード情報などの漏洩は確認されていない。
2017/8/29 ジェネシス・イーシー株式会社 最大9,458件 不正アクセス 漏洩したカード情報は最大で9,458件。漏洩したカード情報の内訳には、「クレジットカード番号、有効期限、セキュリティコード」といったセンシティブ情報が含まれており、既に一部のカードで不正被害が確認されている。
2017/12/13
法人・団体名 大阪大学
件数・人数 6万9,549名
漏洩原因 サイバー攻撃
漏洩内容・詳細・二次被害(悪用)など 約8万人の情報が登録されていたデータベースへ1ヶ月半のサイバー攻撃が発生。その後海外のIPを経由し不正アクセス。6万9,549名分の情報がダウンロードされている事を確認。
2017/10/30
法人・団体名 GMOインターネット株式会社
件数・人数 1万4,612件
漏洩原因 不正アクセス
漏洩内容・詳細・二次被害(悪用)など 同社が手掛けるサイト売買仲介サービス「サイトM&A」にて、個人情報合計1万4,612件が流出。原因は外部からのサイバー攻撃による可能性が高いとのこと。流出情報には「氏名、住所、生年月日、電話番号、メールアドレス」が含まれていた。
2017/10/11
法人・団体名 株式会社アドウィック
件数・人数 約60万件
漏洩原因 不正アクセス
漏洩内容・詳細・二次被害(悪用)など 同社の管理サーバが不正を受け、サービス利用者の個人情報「氏名や電話番号、メールアドレス・医療機関の予約時間等」の約60万件という大規模流出。
2017/10/4
法人・団体名 TOKYO MX
件数・人数 約37万件
漏洩原因 不正アクセス
漏洩内容・詳細・二次被害(悪用)など 流出した個人情報はサービスの利用等に使われた氏名やニックネーム、メールアドレスなど。クレジットカード情報などの漏洩は確認されていない。
2017/8/29
法人・団体名 ジェネシス・イーシー株式会社
件数・人数 最大9,458件
漏洩原因 不正アクセス
漏洩内容・詳細・二次被害(悪用)など 漏洩したカード情報は最大で9,458件。漏洩したカード情報の内訳には、「クレジットカード番号、有効期限、セキュリティコード」といったセンシティブ情報が含まれており、既に一部のカードで不正被害が確認されている。

サイバー攻撃に関する事件は、こちらにもまとめられておりますので、合わせてご確認ください。

〈参考元〉

OWASP Top10 2017

OWASP Top10–2017が公開

OWASP Top10–2017最も重大なウェブアプリケーションリスクトップ10が公開されています。

A1:2017-インジェクション
A2:2017-認証の不備
A3:2017-機微な情報の露出
A4:2017-XML 外部エンティティ参照 (XXE)[NEW]
A5:2017-アクセス制御の不備 [マージ]
A6:2017-不適切なセキュリティ設定
A7:2017-クロスサイトスクリプティング (XSS)
A8:2017-安全でないデシリアライゼーション
A9:2017-既知の脆弱性のあるコンポーネントの使用
A10:2017-不十分なロギングとモニタリング

ダイレクトクラウドのWeb脆弱性への取り組み

ウェブアプリケーションファイアウォールを導入

AWS WAFは、SQLインジェクションまたはクロスサイトスクリプティングなどの一般的な攻撃パターンをブロックするカスタムルール、および、特定のアプリケーションのために設計されたルールを作成するために使用できます。

新しいルールは数分でデプロイできるため、変化するトラフィックパターンにすばやく対応できます。

Webアプリケーション脆弱性診断を実施

DirectCloudをご利用のお客様に、安心して弊社サービスをご利用いただくために、脆弱性を払拭し、安全な環境をご提供することは、何にも代えがたい大切な要素です。

法人向けクラウドストレージ「DirectCloud」は、セキュリティの脅威から顧客企業のデータ資産を守るため、情報セキュリティ管理体制を確立し、徹底した管理を行っています。

Web脆弱性診断テスト項目の紹介

弊社では毎年「DirectCloud」のクライアントおよび管理システムを対象に、ホワイトハッカーによる模擬ハッキング(Web脆弱性診断)を行っております。

OWASPトップ10に加え、下記40個の診断項目が主な診断項目となっています。

DirectCloud Webアプリケーション脆弱性報告書を詳細につきましては、以下の資料よりご確認ください。

区分 診断項目 診断結果 リスク 結果
入力値の検証がない XSS(Cross Site Scripting) 掲示板などのユーザー入力を必要とするサービスでは、さまざまな HTML タグを使用して悪意のあるコードを挿入し、投稿を表示したり Web ブラウザを制御したりする他のユーザーの権利を盗むことができます。 正常
SQL Injection SQL 構文で直接処理されるアプリケーション引数の値に SQL 構文を挿入して、ライセンスのないクエリを実行し、認証をバイパスし、機密情報を取得し、組み込みのプロシージャを使用してシステム命令を実行できます。 正常
Command Injection アプリケーションを介して Web サーバー上でコマンドを実行する機能のために、攻撃者は内部コマンドを実行したり、外部システムに接続してシステムを制御したりできます。 正常
XPATH Injection XPath クエリは、XML データの構造を理解し、情報を調すのに役立ちます。 正常
ファイルアップロードの脆弱性 攻撃コードを含む Web プログラムをサーバーにアップロードした後、Web 上でそのシステム上の任意の命令を実行するように要求できます。 正常
ファイルダウンロードの脆弱性 通常、ファイルをダウンロードできる場所で発生する脆弱性、およびディレクトリまたはファイル名の転送値。/../ など、Webサービス パスの外部のシステム上の特定のファイルにアクセスできます。 正常
弱い認証とアクセス制御 Webアプリケーションの引数の改ざんによるサービスの不正使用 通常、ユーザーから受け取った値は GET または POST メソッドを使用して Web サーバーに渡されますが、攻撃者はこれらの値を任意にモジュレートして、不正なサービスを使用するか、エラーを誘導することによって攻撃に必要な情報を取得できます。 正常
クライアントベースの認証処理から権利を盗む クライアント側でユーザー認証を処理することで、認証プロセスや情報を簡単に盗んだり改ざんしたりして認証をバイパスできます。 正常
脆弱なWeb アカウントの存在によるサービス権の盗難 Web ユーザーは、存在しないパスワードや簡単に推論できるパスワードを使用する Web アカウントから盗まれる可能性があります(管理者、1234、アカウントと同じ)。 正常
ページへの直接アクセスとバイパス認証 許可されていないユーザーは、認証プロセスなしで URL ダイレクト エントリを通じて管理者またはユーザーのみが利用できる Web サービスを不正に使用する可能性があります。 正常
会員情報を変更する際の確認手続きがない メンバーのパスワード、およびメンバーがサブスクライブ解除された場合の検証プロセス。 正常
クッキーとセッション管理 クッキーの値の改ざんによる他のユーザー権利の盗難 クライアント側で処理される Cookie の価値を改ざんすることにより、特定のユーザー権利が盗まれたり、不正なサービスに使用されたりする可能性があります。 正常
クッキー情報の認証の欠如 特定の Cookie 値に対する認証は存在しないため、攻撃者は特定のユーザーの Cookie の値を盗むことによって権限を行使できます。 正常
セッションタイムアウト設定が不十分 セッションの有効期限を設定したり、有効期限が長すぎて、攻撃者が期限切れでないセッションを利用できない場合に設定できます。 正常
クッキーとセッション管理 GET メソッドを使用した重要な情報の転送 機密情報がゲット・イン・ザ・ゴー・システムによって送信された場合、コンピュータのキャッシュまたはWebサーバーログに保存され、情報漏洩の可能性があります。 正常
キー情報をプレーン テキストに送信する ログイン認証情報などの重要な情報は、暗号化された方法を使用せずに Web に送信されます。 正常
ソース内の機密情報の公開 Web アプリケーション ソースからのコメントには、ログイン情報などの機密情報が含まれており、Web サービスの不正な使用が可能です。 正常
過度のエラー メッセージの露出 Web アプリケーションの過剰なエラー出力により、攻撃に必要なさまざまな情報を取得できます。 正常
利用者の個人情報の過度な開示 Web アプリケーション ソースからのコメントには、ログイン情報などの機密情報が含まれており、Web サービスの不正な使用が可能です。 正常
不適切な設定 管理ページの印象 管理ページは非表示ではなく、リンクを提供することで攻撃者に公開されます。 正常
不要なページの存在 Webサービス ディレクトリ内に不要なページ (開発ページ、TEST ページ、バックアップ ファイルなど) があり、攻撃者が悪用される可能性があります。 正常
アカウントブルート強制攻撃対応が不十分 ログインエラーが発生した場合、ユーザーはアカウントが存在するかどうか、およびパスワードが一致するかどうかが明確に印刷されます。 正常
検索エンジンによる情報の公開 システム クリティカルなページは検索エンジンを介して公開され、アクセスと不正使用が許可されます。 正常
不要なメソッドの設定 GET と POST 以外の不要な方法をサポートしている場合、悪意のある攻撃者は任意のファイルをアップロードまたは削除できます。 正常
ディレクトリ一覧を使用してサーバーの情報を表示する ディレクトリ一覧機能の有効化により、Webサーバー構造やバックアップ ファイル、ソース ファイルなどの重要なファイルが公開されています。 正常
アプリケーションの種類の設定が不十分なため、重要な情報を取得する Webページ呼び出しは、サーバー内の主要な構成ファイルを通じて、DB アクセス情報などの重要な情報を公開できます。 正常
セットアップが不十分なため、WEB-INF で重要な情報を公開する アプリケーション設定が不十分なため、WEB-INFディレクトリにアクセスする際に、xmlやクラスファイルなどで重要な情報を取得することができます。 正常
未確認のファイル呼び出し Webページは、任意の場所にあるファイルを表示したり、パスやファイル名の操作を通じて不快なマルウェアを実行したりできます。 正常
ページキャッシュの使用 重要な情報を表示する画面にキャッシュなしを設定しないと、サインアウト後に [戻る] ボタンを使用してキャッシュが表示される危険性があります。 正常
事故点検 侵入の兆候がある サイトの侵入の兆候がありますが、適切な応答は行っていません。 正常
入力値の検証がない
XSS(Cross Site Scripting)
診断結果 掲示板などのユーザー入力を必要とするサービスでは、さまざまな HTML タグを使用して悪意のあるコードを挿入し、投稿を表示したり Web ブラウザを制御したりする他のユーザーの権利を盗むことができます。
リスク
結果 正常
XSS(Cross Site Scripting)
診断結果 掲示板などのユーザー入力を必要とするサービスでは、さまざまな HTML タグを使用して悪意のあるコードを挿入し、投稿を表示したり Web ブラウザを制御したりする他のユーザーの権利を盗むことができます。
リスク
結果 正常
SQL Injection
診断結果 SQL 構文で直接処理されるアプリケーション引数の値に SQL 構文を挿入して、ライセンスのないクエリを実行し、認証をバイパスし、機密情報を取得し、組み込みのプロシージャを使用してシステム命令を実行できます。
リスク
結果 正常
Command Injection
診断結果 アプリケーションを介して Web サーバー上でコマンドを実行する機能のために、攻撃者は内部コマンドを実行したり、外部システムに接続してシステムを制御したりできます。
リスク
結果 正常
XPATH Injection
診断結果 XPath クエリは、XML データの構造を理解し、情報を調すのに役立ちます。
リスク
結果 正常
ファイルアップロードの脆弱性
診断結果 攻撃コードを含む Web プログラムをサーバーにアップロードした後、Web 上でそのシステム上の任意の命令を実行するように要求できます。
リスク
結果 正常
弱い認証とアクセス制御
Webアプリケーションの引数の改ざんによるサービスの不正使用
診断結果 通常、ユーザーから受け取った値は GET または POST メソッドを使用して Web サーバーに渡されますが、攻撃者はこれらの値を任意にモジュレートして、不正なサービスを使用するか、エラーを誘導することによって攻撃に必要な情報を取得できます。
リスク
結果 正常
クライアントベースの認証処理から権利を盗む
診断結果 クライアント側でユーザー認証を処理することで、認証プロセスや情報を簡単に盗んだり改ざんしたりして認証をバイパスできます。
リスク
結果 正常
脆弱なWeb アカウントの存在によるサービス権の盗難
診断結果 Web ユーザーは、存在しないパスワードや簡単に推論できるパスワードを使用する Web アカウントから盗まれる可能性があります(管理者、1234、アカウントと同じ)。
リスク
結果 正常
ページへの直接アクセスとバイパス認証
診断結果 許可されていないユーザーは、認証プロセスなしで URL ダイレクト エントリを通じて管理者またはユーザーのみが利用できる Web サービスを不正に使用する可能性があります。
リスク
結果 正常
会員情報を変更する際の確認手続きがない
診断結果 メンバーのパスワード、およびメンバーがサブスクライブ解除された場合の検証プロセス。
リスク
結果 正常
クッキーとセッション管理
クッキーの値の改ざんによる他のユーザー権利の盗難
診断結果 の価値を改ざんすることにより、特定のユーザー権利が盗まれたり、不正なサービスに使用されたりする可能性があります。
リスク
結果 正常
クッキー情報の認証の欠如
診断結果 特定の Cookie 値に対する認証は存在しないため、攻撃者は特定のユーザーの Cookie の値を盗むことによって権限を行使できます。
リスク
結果 正常
セッションタイムアウト設定が不十分
診断結果 セッションの有効期限を設定したり、有効期限が長すぎて、攻撃者が期限切れでないセッションを利用できない場合に設定できます。
リスク
結果 正常
GET メソッドを使用した重要な情報の転送
診断結果 機密情報がゲット・イン・ザ・ゴー・システムによって送信された場合、コンピュータのキャッシュまたはWebサーバーログに保存され、情報漏洩の可能性があります。
リスク
結果 正常
キー情報をプレーン テキストに送信する
診断結果 ログイン認証情報などの重要な情報は、暗号化された方法を使用せずに Web に送信されます。
リスク
結果 正常
ソース内の機密情報の公開
診断結果 Web アプリケーション ソースからのコメントには、ログイン情報などの機密情報が含まれており、Web サービスの不正な使用が可能です。
リスク
結果 正常
過度のエラー メッセージの露出
診断結果 Web アプリケーションの過剰なエラー出力により、攻撃に必要なさまざまな情報を取得できます。
リスク
結果 正常
利用者の個人情報の過度な開示
診断結果 Web アプリケーション ソースからのコメントには、ログイン情報などの機密情報が含まれており、Web サービスの不正な使用が可能です。
リスク
結果 正常
不適切な設定
管理ページの印象
診断結果 管理ページは非表示ではなく、リンクを提供することで攻撃者に公開されます。
リスク
結果 正常
不要なページの存在
診断結果 Webサービス ディレクトリ内に不要なページ (開発ページ、TEST ページ、バックアップ ファイルなど) があり、攻撃者が悪用される可能性があります。
リスク
結果 正常
アカウントブルート強制攻撃対応が不十分
診断結果 ログインエラーが発生した場合、ユーザーはアカウントが存在するかどうか、およびパスワードが一致するかどうかが明確に印刷されます。
リスク
結果 正常
検索エンジンによる情報の公開
診断結果 システム クリティカルなページは検索エンジンを介して公開され、アクセスと不正使用が許可されます。
リスク
結果 正常
不要なメソッドの設定
診断結果 GET と POST 以外の不要な方法をサポートしている場合、悪意のある攻撃者は任意のファイルをアップロードまたは削除できます。
リスク
結果 正常
ディレクトリ一覧を使用してサーバーの情報を表示する
診断結果 ディレクトリ一覧機能の有効化により、Webサーバー構造やバックアップ ファイル、ソース ファイルなどの重要なファイルが公開されています。
リスク
結果 正常
アプリケーションの種類の設定が不十分なため、重要な情報を取得する
診断結果 Webページ呼び出しは、サーバー内の主要な構成ファイルを通じて、DB アクセス情報などの重要な情報を公開できます。
リスク
結果 正常
セットアップが不十分なため、WEB-INF で重要な情報を公開する
診断結果 アプリケーション設定が不十分なため、WEB-INFディレクトリにアクセスする際に、xmlやクラスファイルなどで重要な情報を取得することができます。
リスク
結果 正常
未確認のファイル呼び出し
診断結果 Webページは、任意の場所にあるファイルを表示したり、パスやファイル名の操作を通じて不快なマルウェアを実行したりできます。
リスク
結果 正常
ページキャッシュの使用
診断結果 重要な情報を表示する画面にキャッシュなしを設定しないと、サインアウト後に [戻る] ボタンを使用してキャッシュが表示される危険性があります。
リスク
結果 正常
事故点検
侵入の兆候がある
診断結果 サイトの侵入の兆候がありますが、適切な応答は行っていません。
リスク
結果 正常

資料ダウンロード