株式会社 御中 Sample_SHIFT_Service 脆弱性診断報告書 報告書提出日 :20XX 年 月 日 サンプル
本報告書について本報告書は以下の脆弱性診断について その結果を報告します 診断期間 20XX 年 月 日 ~ 20XX 年 月 日 診断実施場所 - SHIFT SECURITY ( 東京都神谷町 ) IP: xxx.yyy.zzz.www 診断種別 Web アプリケーション診断 診断手法 1. 作業者によるマニュアル診断 2. ツールによる自動診断 診断対象 http://shift_sample.jp - 3 - Copyright 2016 SHIFT Inc.
総評 評点 79 点 (/100 点 ) この評点は脆弱性の深刻度と数をもとに計算しています 評点が高い場合でも改修すべき脆弱性を含む場合がございますので 各脆弱性の詳細をご確認ください ここでは脆弱性を セキュリティ要素 と システム要素 の観点から 5 段階で評価します 5 段階評価は目安ですので 詳細なリスクと必要な対策は検査項目一覧と各脆弱性の詳細情報を確認ください (0: 重大な問題あり ~ 5: 問題なし ) セキュリティ要素別 機密性 システム要素別 サーバ ミドルウェア 5 3 完全性 3 3 可用性 バックエンド 3 5 フロントエンド セキュリティ要素説明機密性機密性が低い場合 個人情報等が漏洩などのリスクが生じます完全性完全性が低い場合 情報の改竄などのリスクが生じます可用性可用性が低い場合 サービス停止などのリスクが生じますコメント : 機密性に関して XSS とユーザーアカウント情報の漏洩のリスクが報告されております 完全性については CSRF と XSS のリスクが報告されており いずれも脅威度が高い問題です 可用性に関しては CSRF のリスクが 1 件報告されているのみですが 一般に脅威度の高い問題であることを指摘します システム要素サーバ ミドルウェアバックエンドフロントエンド 説明 OS や http サービスなどのミドルウェアの問題を表します認証や入力フォーム ロジック 出力処理の問題を表します古い jquery や CSS, JS や HTML 記述の問題を表します コメント : 今回の診断ではフロントエンド サーバ ミドルウェアに関しては大きなリスクは検出されず 問題なしと判断されました 一方 報告された脆弱性は全てバックエンドに関するもので 特に脅威度の高い問題として CSRF と XSS が報告されております - 4 - Copyright 2016 SHIFT Inc.
検査項目一覧 脆弱性の種類 ( 観点 ) と 画面 毎に検査数と異常が検知された検査数を示します 複数の検査で同一の脆弱性を検出する場合があるため 脆弱性の数と検査数は一致しません この表は検査項目の精度を把握するのにご利用ください テスト要素観点検査数緊急重要警告注意情報 合計 501 0 4 4 1 0 認証パスワード入力と強度 16 1 認証認証ロジック 5 1 認証パスワード更新 / 復旧 6 セッションセッション管理 5 セッションタイムアウト 1 セッションセッションの秘匿 5 セッションアクティブセッション管理 5 アクセス制御アクセスの制限の強制 28 4 アクセス制御最小権限の原則 5 アクセス制御オブジェクト参照 5 アクセス制御ファイルリスティング 15 入力制御入力バリデーション 12 入力制御 SQL 注入 35 入力制御 LDAP 注入 52 入力制御 OS コマンド注入 69 入力制御 XPATH 注入 52 入力制御 RFI/LFI 36 入力制御メールヘッダインジェクション 6 入力制御ユーザ由来データ 1 XSS XSS 2 2 XSS 反射型 XSS 51 1 XSS 保存型 XSS 9 XSS DOM 型 XSS 1 データ保護暗号化 1 データ保護エラー制御 3 データ保護キャッシュ制御 10 データ保護クライアントストレージ 3 データ保護 SSL/TLS 証明書 15 HTTP 設定 HTTP メソッド 2 HTTP 設定 HTTP ヘッダ 10 HTTP 設定外部リダイレクト 12 リソース管理ユーザ由来データ 5 リソース管理 CORS 1 リソース管理クライアント技術 1 技術固有モバイル固有 6 技術固有 WEB サービス固有 7 設定利用バージョン 1 設定デフォルトファイル 1 - - 1-5 - Copyright 2016 SHIFT Inc.
画面 検査数 緊急 重要 警告 注意 情報 合計 501 0 4 4 1 0 62 2-41 01. トップ 21 02. 受験申込 30 03. プライバシーポリシー 21 04. 受験申込 18 05. 受験申込ページ送信完了 21 06. ログイン 80 2 1 07. 検定説明 30 08. 利用規約 20 09. 検定説明 27 2 10. 試験 62 2 11. アンケート 39 12. 試験終了 20 403 Forbidden 3 404 NotFound 3 500 Internal Error 3-6 - Copyright 2016 SHIFT Inc.
脆弱性一覧 # 深刻度 CVSSv3 脆弱性 1 重要 8.1 CSRF 対策が施されていない 2 警告 6.1 XSS( 反射型 ) の影響を受ける可能性がある 3 警告 5.3 ログイン失敗時のレスポンスから登録済みアカウントを列挙できる 4 注意 3.7 ロック時のメッセージから登録済みアカウントを列挙できる 深刻度は CVSSv3 に基づき 以下のように定めています 深刻度 CVSSv3 緊急 重要 警告 注意 9.0~10.0 7.0~8.9 4.0~6.9 0.1~3.9 情報 0.0-7 - Copyright 2016 SHIFT Inc.
#1. CSRF 対策が施されていない 検査項目 十分な強度の CSRF 対策によりトランザクションが保護されること 概要 該当の POST リクエストに CSRF トークンが含まれておりません 観点 アクセス制御 : アクセスの制限の強制 CVSSv3 緊急 重要 警告 注意 情報 対応基準障害報告 ID 画面 URL 脅威対策参考再現方法特記事項 8.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H ASVSv3-4.13 Sample_02 09. サンプル入金 http://shift_sample.jp/sample/sample09.php CSRF トークンが無いため CSRF を受けるリスクが生じます CSRF により ログイン状態で悪意あるページにアクセスした際 ユーザの意図しない処理を強制されるリスクが生じます パラメタに CSRF トークンを追加し これを含まないリクエストを受理しないようにします Cheat Sheet (https://www.owasp.org/index.php/cross-site_request_forgery_(csrf)_prevention_cheat_sheet ) 1. 該当リクエストを送信する 2. リクエストヘッダやパラメータにトークンが含まれているか確認する 対象サービスの該当箇所においては 不正な入金処理が受理されるリスクがあります - 8 - Copyright 2016 SHIFT Inc.
#2. XSS( 反射型 ) の影響を受ける可能性がある 検査項目 表示文字列が適切にエスケープされること (XSS 耐性 ) 概要 表示文字列が適切にエスケープされないなどの理由により XSS が実行可能です 観点 XSS:XSS CVSSv3 緊急 重要 警告 注意 情報 対応基準障害報告 ID 画面 URL 脅威対策参考再現方法 6.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N ASVSv3-5.15 Sample_06 1. サンプルトップ 10. サンプル wiki /sample/sample01.php /sample_wiki/ ユーザのブラウザ上で不正なスクリプトが実行されます これにより ユーザの個人情報の漏えいや改ざんが発生するリスクがあります 出力時に HTML サニタイズを適用してください Cheat Sheet (https://www.owasp.org/index.php/xss_(cross_site_scripting)_prevention_cheat_sheet) エビデンスとして XSS に成功した際のキャプチャ画像ファイルを添付しておきます 下記のそれぞれの URL とパラメータに対して パラメータにスクリプト挿入した URL をアドレスバーに直接入力すると XSS に成功します 1. 対象 URL/ パラメータ : http://shift_sample.jp/sample/sample01.php [arg1 parameter] 挿入後 URL: http://shift_sample.jp/sample/sample01.php?arg1=sample_value"><script>alert(1)<%2fscript> 2. 対象 URL/ パラメータ : http://shift_sample.jp/sample_wiki/ [JSESSIONID cookie] 特記事項 挿入後リクエスト : GET /sample_wiki/ HTTP/1.1 ( 略 ) JSESSIONID=[16 桁のセッション ID]"><script>alert(1)<%2fscript>; - 9 - Copyright 2016 SHIFT Inc.
#3. ログイン失敗時のレスポンスから登録済みアカウントを列挙できる 検査項目 存在するユーザと存在しないユーザでログイン失敗メッセージが同じであること 概要 ログインに失敗したときのエラーメッセージから 使用したアカウントが実際に存在するか推定できま す 観点 認証 : 認証ロジック CVSSv3 緊急 重要 警告 注意 情報 対応基準障害報告 ID 画面 URL 脅威対策参考再現方法 5.3 CVSS:3.0/AV: N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N ASVSv3-2.18 Sample_08 06. サンプルログイン /sample/login.php ログインを試行したアカウントが存在するか否かが判別できるため 登録済みアカウントを列挙できます これにより ブルートフォース攻撃の成功率が向上します 試行したアカウントが実際に存在するか否かに関わらずエラーメッセージは常に固定した内容にします また アカウントとパスワードのどちらを誤ったのか エラーメッセージによって特定されないようにします Cheat Sheet (https://www.owasp.org/index.php/authentication_cheat_sheet) 1. 不正アカウントを使用してログインを試行する 2. 下記エラーメッセージが表示されるのを確認する : アカウント ID non-existing_sample_test は存在しません 特記事項 添付ファイル (sample_evidence03.png) も併せて参照して下さい - 10 - Copyright 2016 SHIFT Inc.
#4. ロック時のメッセージから登録済みアカウントを列挙できる 検査項目 総当たりやサービス拒否攻撃に対応するため 自動でリクエスト制限がされること 概要 アカウントロックが作動したときのメッセージから 使用したアカウントが実際に存在するか推定できま す 観点 認証 : パスワード入力と強度 CVSSv3 緊急 重要 警告 注意 情報 対応基準障害報告 ID 画面 URL 脅威対策参考再現方法 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N ASVSv3-2.20 Sample_09 06. サンプルログイン /sample/login.php ログイン失敗によるアカウントロックが無い場合 ブルートフォース攻撃が容易になります アカウントロックまでの可能な試行回数が多すぎる場合 攻撃が成功する可能性が高くなります ログインに 10 回程連続で失敗したらアカウントをロックするようにします Cheat Sheet (https://www.owasp.org/index.php/authentication_cheat_sheet) 1. 不正アカウントを使用してアカウントロックを作動させる 2. 下記メッセージが表示されるのを確認する : 3.7 アカウントはロックされました 特記事項 添付ファイル (sample_evidence04.png) も併せて参照して下さい - 11 - Copyright 2016 SHIFT Inc.
用語解説 CVSS( 共通脆弱性評価システム ) CVSS は 情報システムの脆弱性に対するオープンで汎用的な評価手法であり ベンダーに依存しない共通の評価方法を提供しています CVSS を用いると 脆弱性の深刻度を同一の基準の下で定量的に比較できるようになります また ベンダー セキュリティ専門家 管理者 ユーザ等の間で 脆弱性に関して共通の言葉で議論できるようになります (IPA より引用 ) XSS( クロスサイト スクリプティング ) XSS は HTML や XML 等を動的に生成する仕組みを設けている場合に セキュリティ上の問題となるものです XSS により攻撃者のスクリプトがブラウザ上で実行されると情報漏えいやユーザの意図しない操作が実行されるリスクがあります CSRF( クロスサイト リクエスト フォージェリ ) CSRF は第三者が意図したリクエストを強制送信させることで任意のコマンドを実行できるため 情報改竄 情報漏洩に加えて 他のサーバへの攻撃に悪用されるなどのリスクがあります EICAR テストファイル EICAR テストファイルはアンチマルウェアソフトの動作を確認するためのテストファイルです このファイルは無害ですが 多くのアンチマルウェアソフトでは検査用ファイルとして登録されており マルウェアとして検知されます - 12 - Copyright 2016 SHIFT Inc.
特記事項 免責事項本脆弱性診断は診断対象のアプリケーションにアクセスし 一般的な利用者の立場で解析 検査ツール等を利用して行うブラックボックステスト手法にて診断を実施しております ブラックボックステストの特性上 本報告書の指摘事項は再現性 網羅性について完全に保証するものではないことをご了承ください また 本報告書指摘事項について対策を実施する際は 貴社の責任において実施くださるようお願いいたします お問い合わせ本報告書に関するご質問 お問い合わせを本報告書提出後 1 ヶ月間承ります お問い合わせ先 support@shiftsecurity.jp - 13 - Copyright 2016 SHIFT Inc.