fbpx

Webアプリケーション診断

Webアプリケーションの脆弱性診断を通してシステムに潜在するSQLインジェクションやクロスサイトスクリプティング等のセキュリティリスクを排除します。

診断サービス概要

Webアプリケーションに潜在するSQLインジェクションやクロスサイトスクリプティングなどの脆弱性を見つけ出すセキュリティ診断サービスです。診断後もセキュリティリスクに対するベストな対処方法をご説明いたします。

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

  • STEP1

    Webアプリケーション診断
    事前準備

    システム構成の把握と、脆弱性診断の対象範囲を確定

    Webアプリケーションの診断対象範囲を明示頂いた後に、必要な工数のお見積を行います。

    1. システムの構成をヒアリング

      仕様書や担当者様へのヒアリング、実際のアプリケーションへのアクセスによりシステム構成を把握し、診断対象となるリクエスト数を算出します。

    2. Webアプリケーションの脆弱性診断実施方法の策定とお見積り

      インターネット経由で実施するリモート診断と、セキュリティエンジニアが対象アプリケーションへアクセスできる場所へ伺って診断するオンサイト診断のいずれかを選択して頂きます。選択された結果とリクエスト単位に応じてお見積りをお出しします。

  • STEP2

    Webアプリケーション診断実施

    ツールおよび手動によるWebアプリケーションの脆弱性診断を実施

    該当するWebアプリケーションに対し、ツールでの診断を行いつつ、攻撃者の観点でツールでは検出不可能な診断を手動で実施します。

    1. ツールによる脆弱性診断

      ツールが得意としている診断対象への網羅的な診断を行い、設定不備やセキュリティ対策漏れによるWebアプリケーションの脆弱性を検出します。

    2. 診断対象のWebシステムに潜在する脆弱性を想定した手動診断

      ツールの検出結果の整合性をセキュリティエンジニアの目で確認します。ツールでは検出出来ない診断項目を攻撃者の観点からすべて手動で確認します。 個別では些細な脆弱性だとしても、合わさることにより大きなセキュリティリスクに繋がる場合があります。

  • STEP3

    診断報告レポート及び
    Webアプリケーションの改善案を提出

    Webアプリケーション診断の実施結果報告

    対象システムのリスク評価、エグゼクティブサマリ及び検出されたWebアプリケーションの脆弱性について詳細をご報告します。

    1. 総合評価

      診断結果の概要とWebアプリケーションに脆弱性が存在した場合は、それがビジネスに与えうる影響についてご報告します。また事業運営の観点から推奨される施策等についても提案させて頂きます。

    2. Webアプリケーションの脆弱性詳細

      発見した脆弱性の詳細や再現手順等をご報告します。それらによるリスクや推奨する対策方法についてもご説明します。

Webアプリケーション診断項目

入出力処理に関する脆弱性

クロスサイトスクリプティング
利用者から受け取った入力値を利用して構成されるWebページ等で、出力処理の問題により悪意のあるスクリプトを埋め込めるなどの脆弱性がないか診断します。
SQLインジェクション
データベースを利用する機能で、SQL文の生成方法の問題によりデータベース内の情報の漏えいや改ざんを招く脆弱性がないか診断します。
OSコマンドインジェクション
サーバOS上で実行されるシェルコマンドを利用するWebアプリケーション等で、シェルコマンドの生成方法の問題により意図しないコマンドが実行されるといった脆弱性がないか診断します。
HTTPヘッダインジェクション
利用者から受け取った入力値をHTTPレスポンスヘッダ内に出力する機能で、改行文字の無害化が不十分な問題により、HTTPレスポンスに意図しないヘッダが追加されるといった脆弱性がないか診断します。
メールヘッダインジェクション
メール送信機能を利用するWebアプリケーション等で、メール送信コマンドの生成方法の問題によりメール内容や送信先が改変されるといった脆弱性がないか診断します。
XXEインジェクション
XMLを処理する機能で、外部実体の宣言と参照を悪用した情報漏えいやサービス妨害につながる脆弱性がないか診断します。
LDAPインジェクション
LDAPを利用する機能で、クエリ生成方法の問題によりディレクトリ内データの漏洩や改ざんを招く脆弱性がないか診断します。
その他各種インジェクション
利用者から受け取った入力値を他のプログラム等の入力値として利用する機能で、各種文脈上の特殊文字の処理方法の問題等により情報の漏洩や改ざんを招く脆弱性がないか診断します。対象システムにより以下のような様々なケースがありますが、ご利用のシステム構成要素に応じ詳細はお問い合わせください。

サーバサイド・リクエスト・フォージェリ(SSRF)、NoSQLインジェクション、サーバサイドスクリプト / テンプレートインジェクション、eval等のコードインジェクション、SSIインジェクション、XMLインジェクション、Xpathインジェクション、フォーマットストリングバグなど
オープンリダイレクト
利用者から受け取った入力値を使用するリダイレクタで任意の遷移先URLを指定可能な脆弱性がないか診断します。
ディレクトリトラバーサル
利用者からファイル名やディレクトリ名を受け取る機能で、入力値の取扱の問題により本来アクセスできてはならないデータの漏洩を招く脆弱性がないか診断します。
ファイルインクルージョン
利用者からファイル名やパス情報、URL等を受け取りファイルを処理する機能で、それらの取扱の問題により情報漏えい等を招く脆弱性がないか診断します。
任意ファイルのアップロード及び公開
利用者がファイルをアップロードする機能で、サーバ側でのファイルの保存と公開設定等の問題により以下のような影響を招く脆弱性がないか診断します。
  • 運営者が許可しない形式のファイルの保存や公開
  • スクリプトや実行ファイルの設置による任意コード実行
  • 情報漏えい
バッファオーバーフロー
利用者から入力値を受信し処理する機能で、メモリに書き込むデータ長の検証の不備によりサービス妨害や任意コード実行を招く脆弱性がないか診断します。
入力値フィルタの回避
利用者から入力値を受信し処理する機能で、入力値検証の問題により本来は許可されない行為を許す脆弱性がないか診断します。
安全でないデシリアライゼーションの可能性
利用者から入力値として、シリアライズしたオブジェクトを受け取る機能で、その処理の問題により任意コード実行等を招く脆弱性がないか診断します。
※ブラックボックス形式の脆弱性診断ではサーバサイドの処理内容を把握できないことにより短時間でコード実行を成功させることは非常に困難なため、可能性としてのご報告が主になります。

認証に関する脆弱性

ログインフォームおよび秘密情報の入力フォームに関する調査
ログインフォームや他の秘密情報を入力するフォームについて、入力情報の取扱が適切であるか診断します。
エラーメッセージによる情報推測
認証機能を利用するWebアプリケーション等で、認証失敗時のエラーメッセージ出力の問題により登録済の認証情報が推測できるといった脆弱性がないか診断します。
平文による秘密情報の送受信
Webアプリケーションのパスワード等の秘密情報を、HTTPSで暗号化せずに平文で送受信していないか診断します。
アカウントロックアウトの不備
認証機能について、試行回数の制限の有無を確認します。
ログアウト機能の不備
認証機能の存在するシステムで、ログアウト機能が提供されている事の確認及びログアウトの実行時にセッションが適切に破棄されているか診断します。
パスワード変更または再発行機能の悪用
利用者や管理者がパスワードを変更または再発行する機能について、その欠陥により第三者によるパスワード変更や漏洩を招く脆弱性がないか診断します。
強制ブラウズ
アクセス制御の不備により、認証を要するページに認証なしに直接アクセスできる脆弱性がないかを診断します。
認証の不備
認証機能について、処理の欠陥により迂回を許す脆弱性がないか診断します。

認可に関する脆弱性

認可制御の不備(権限昇格)
アカウントの権限により提供する機能を分けているシステムにおいて、例えば一般ユーザアカウントで管理者限定の機能を利用できる脆弱性がないか診断します。
認可制御の不備
マイページ画面などユーザ毎にアクセス可能な情報が限定されている機能について、本来は権限のない第三者のデータへアクセスできる脆弱性がないか診断します。

セッション管理に関する脆弱性

Secure属性のないセッション管理用Cookie
HTTPSを使用するWebサイトについて、セッションIDや秘密情報を保持するCookieのsecure属性の有無を診断します。
長いセッション有効期限
利用者のセッションIDが、第三者が現実的に特定可能な長期間にわたり固定値であるなどの問題がないか診断します。
強度の低いセッションID
Webサーバが利用者に対して発行するセッションIDについて、値に規則性があり第三者が推測または算出可能であるなどの問題がないか診断します。
セッションフィクセーション
攻撃者が用意したセッションIDを他者に使用させることができる問題により、利用者間の情報漏えい等を招く脆弱性がないか診断します。
セッション管理方法の不備
WebサーバによるセッションIDの発行、利用、管理全般について、なりすまし行為や情報漏えいを招く脆弱性がないか診断します。
クロスサイト・リクエスト・フォージェリ
例えば情報の登録、更新、削除などデータに影響を与える機能について、正しい遷移元画面からの実行かの検証がないことにより利用者が意図せぬ行為を実行してしまう問題がないか診断します。

Webサーバ設定に関する脆弱性

許可されているHTTPメソッド
WebサーバがサポートするHTTPメソッドに不要なものがないか診断します。
ディレクトリリスティング
ディレクトリにアクセスすることで、Webサーバの設定不備によりディレクトリ内のファイル一覧が表示されないか診断します。
システム情報の表示
Webサーバが出力するヘッダ情報やエラーメッセージ等を含め、各種コンテンツからソフトウェア情報やサーバOS上の情報を表示してしまう脆弱性がないか診断します。
管理画面の検出
攻撃の標的になりかねない管理者機能を提供している管理者用ログイン画面などの存在確認を行います。
TLS / SSL 関連
TLS / SSL (HTTPS)の利用に関して不適切な設定がないか診断します。

クライアントサイド技術に関する脆弱性

適切でないCross Origin Resource Sharingポリシー設定
不適切なリソース共有の設定により、外部のスクリプトから対象サーバのリソースが利用されてしまう状態でないか診断します。
Same Origin Policy 回避につながる脆弱性
Webサイトに、Webブラウザによる同一生成元ポリシーによる保護を迂回してしまうような問題点がないか診断します。

一般的な脆弱性

既知の脆弱性が存在するソフトウェア
「システム情報の表示」項目でソフトウェアのバージョン情報を取得しており、かつ既知の脆弱性が存在する場合に報告します。
不用意な情報公開
Webサーバが、本来は公開すべきでない、または公開不要なファイルやデータを公開していないか診断します。

アプリケーション仕様や設計に起因する脆弱性

ロジック上の問題点
アプリケーションの特定処理ロジックに依存する不定形の問題点を診断します。
例えば、ECサイトで注文個数を負の値にした際に返金されてしまうような問題や、SNSでブロックを迂回して対象ユーザの情報を閲覧するなど、様々な可能性について診断期間内に可能な限り試行します。
サービス妨害
診断対象システムのサービス提供そのものまたは利用者間でサービス利用の妨害を招く脆弱性がないか診断します。
キャッシュ制御の不備
Webサーバまたはコンテンツ上のキャッシュ制御設定の不備により、秘密情報がクライアントや経路上でキャッシュされる状態にないか診断します。
秘密情報を含むURL
URL内に、リクエストの送信により漏洩しうる秘密情報が含まれていないか診断します。
クリックジャッキング
情報の登録、更新、削除などデータに影響を与え、かつマウスクリックのみで実行される機能について、罠ページにより利用者が意図せぬ行為を実行してしまう問題がないか診断します。
レースコンディション状態の悪用
プログラム処理で、同一リソースへの同時アクセスにより不適切な処理が発生することがないか診断します。
システムのSPAM行為への悪用
メール送信機能を利用するWebアプリケーション等で、第三者へ迷惑メールやフィッシングメールを送信できるといった脆弱性がないか診断します。

Webアプリケーション診断事例

大手ECサイト企業様

ECサイトの脆弱性診断

診断背景
数百万規模のユーザー数を持つECサイトのリニューアルに際してセキュリティ診断の依頼をいただきました。本診断を通して、リニューアル時の追加機能に個人情報を漏洩する可能性が高い脆弱性を発見、ECサービスにとって致命的な事故を未然に防ぐことができました。
診断期間
約4週間
サービス規模
約200画面

大手通信企業様

Webサイトの脆弱性診断

診断背景
販売契約Webサイトのリリース前にセキュリティ診断のご依頼をいただきました。該当するWebアプリケーションに不正契約が可能となる脆弱性を診断を通して発見した実績がございます。
診断期間
約3週間
サービス規模
約150画面

報告書サンプル

診断結果レポートでは発見された脆弱性が、クライアント企業にて迅速に修正できるように具体的な内容・再現方法・リスク・対策方法を報告します。
※お問い合わせページよりサンプル請求をご希望ください。2営業日以内に担当者より送付させていただきます。

CONTACT

お気軽にご相談ください

Webサービスやアプリにおけるセキュリティ上の問題点を解消し、収益の最大化を実現する相談役としてぜひお気軽にご連絡ください。
経験豊富なセキュリティエンジニアが診断を行います。