Webアプリ診断
「Webアプリ」「スマホアプリのAPIサーバー」「ゲームのAPIサーバー」などに対して、世界トップレベルのセキュリティエンジニアが網羅的に検査・診断します。
診断フロー
01. ヒアリング・お見積もり
お客様の環境のシステム構成などをヒアリングさせていただき、診断対象のリクエスト数(通信の種類の数)を確認いたします。
その後、リクエスト数をもとにお見積りを発行いたします。
まだ開発途中などでリクエスト数が未確定の場合は、システム構成や設計をもとにおおよその概算見積もりを発行可能です。
予算策定や相見積もり時などにご利用いただき、発注確定後に再度正式なお見積りを実施いたします。
02. 診断の実施
実施前に「お問合せはメールが飛ぶので触らないで欲しい」「平日の午前のみ実施して欲しい」などのご要望を整理し、お客様と最終確認をいたします。
その後、実際に診断対象に対して、攻撃者の視点からさまざまな手法で脆弱性を洗い出します。
03. 診断結果のご報告
診断対象の総合結果や検出された脆弱性の詳細、各脆弱性の再現方法、各脆弱性の修正案などをまとめた診断結果レポートをお渡しします。
また、ご希望に合わせて診断結果の報告会を実施することも可能です。(オプション)
04. 再診断(無料)などのアフターサポート
診断結果のご報告後、脆弱性の改修に対しても全力でサポートいたします。
診断の実施後3ヶ月以内であれば、無料で検出された脆弱性の修正が完了できているか再診断を実施いたしますのでお気軽にお申し付けください。
検査項目例
入出力処理に関する検査
クロスサイトスクリプティング | Webアプリケーション上で細工を施した値を入力することにより、悪意のあるスクリプトを実行できないか等を検査します。 |
SQLインジェクション | リレーショナルデータベースを利用する機能において、ユーザからの入力により情報漏洩や改竄などに繋がる悪意のある操作を実行できないかを検査します。 |
NoSQLインジェクション | NoSQLを利用する機能において、ユーザからの入力により情報漏洩や改竄などに繋がる操作を実行できないかを検査します。 |
OSコマンドインジェクション | system関数等でOSコマンドを実行する機能において、ユーザからの入力により悪意のあるOSコマンドを実行できないかを検査します。 |
コードインジェクション | サーバサイドで実装されているプログラミング処理の不備により、ユーザからの入力により悪意のあるコードを実行できないかを検査します。 |
HTTPヘッダインジェクション | 細工を施したリクエストを送信することにより、HTTPレスポンスを改竄できないかを検査します。 |
メールヘッダインジェクション | メール送信機能において、ユーザからの入力により送信先やメール本文を改竄できないかを検査します。 |
XXEインジェクション | XMLを処理する機能において、外部実体宣言及び参照を用いてサーバ上のファイル取得やサービス妨害攻撃等ができないかを検査します。 |
テンプレートインジェクション | テンプレートを使用するWebアプリケーションにおいて、任意のテンプレートを読み込ませることが可能な脆弱性がないかを検査します。 |
SSIインジェクション | SSIが有効なWebアプリケーションにおいて、ユーザからの入力により情報漏洩やOSコマンドの実行が可能な脆弱性がないかを検査します。 |
CSSインジェクション | ユーザからの入力により任意のCSSを注入できないかを検査します。 |
オープンリダイレクト | ユーザからの入力値を用いてページをリダイレクトさせる処理において、任意のURLにリダイレクト可能な脆弱性がないかを検査します。 |
ディレクトリトラバーサル | ユーザからの入力により、ディレクトリを横断して本来アクセスできてはならないファイルにアクセスできる脆弱性がないかを検査します。 |
ファイルアップロード | ファイルをアップロードする処理において、意図していない形式のファイルがアップロードできないかを検査します。 |
ファイルインクルージョン | ファイルを読み込む処理において、ユーザからの入力によりサーバ内部や外部の任意のファイルが読み込み可能な脆弱性がないかを検査します。 |
サーバサイドリクエストフォージェリ | 細工を施したリクエストを送信することにより、対象のWebサーバを経由して他の内部サーバーに対して攻撃が可能な脆弱性がないかを検査します。 |
安全でないデシリアライゼーション | ユーザからの入力をデシリアライズ処理する機能において、細工を施した入力値を与えることによって任意のコード実行等が可能な脆弱性がないかを検査します。 |
認証に関する検査
ログインフォームに関する調査 | ログインフォームの実装について、入力値の検査やエラーメッセージなどから情報を推測できないかを検査します。 |
パスワードに関する調査 | 認証に使用されるパスワードに関して脆弱なパスワードが設定できないかを検査します。 |
アカウントロック機能の有無 | 認証機能にて総当たり攻撃に対して脆弱かを検査します。 |
ログアウト機能の不備 | ログアウト機能の有無やログアウト後にセッションが破棄されているかを検査します。 |
認証の不備 | 認証機能を迂回できるような脆弱性や認証せずにアクセス可能な機密情報が無いかを検査します。 |
認可制御に関する検査
権限のない情報へのアクセス | 複数アカウントが存在するシステムにおいて、権限を超えて他アカウントの情報を参照・登録・変更・削除ができないかを検査します。 |
権限昇格 | 複数権限が存在するシステムにおいて、下位権限のアカウントが上位権限のアカウントの情報を参照・登録・変更・削除ができないかを検査します。 |
セッションに関する検査
Cookieのsecure属性 | HTTPとHTTPSが混合するWebサイトにおいて、重要情報を持った Cookie がHTTPで送信されないかを検査します。 |
Cookieのhttponly属性 | 重要情報を持ったCookieがJavaScriptからアクセスできないかを検査します。 |
長いセッションの有効期限 | セッションの有効時間が必要以上に長時間でないかを検査します。 |
セッション強度に関する調査 | セッションIDが第三者に特定可能な値に設定されていないかを検査します。 |
セッションフィクセーション | 第三者のセッションIDを攻撃者が指定した値に設定可能な脆弱性がないかを検査します。 |
セッションの管理方法の不備 | セッションの利用方法において、情報漏洩に繋がる実装がされていないかを検査します。 |
クロスサイト・リクエスト・フォージェリ | 攻撃者の用意したリンクをクリックすることによって、利用者が意図しないにかかわらず情報の登録・更新・削除等が発生する脆弱性がないかを検査します。 |
その他Webアプリケーションに関する検査
許可されているHTTPメソッド | 不要なHTTPメソッドが利用可能かを検査します。 |
システム情報の表示 | Webアプリケーションが出力するレスポンスヘッダやエラーメッセージ等にOSやアプリケーションのバージョン情報が表示されないかを検査します。 |
機密情報の送受信に関する調査 | パスワードや個人情報などの機密情報を暗号化せず平文で送信していないかを検査します。 |
ディレクトリリスティング | ディレクトリパスを指定することによって、ディレクトリ内のファイルが一覧表示されないかを検査します。 |
不用意な情報公開 | 公開を意図していないファイルや情報が公開されていないかを検査します。 |
管理画面の検出 | 攻撃者の標的になりやすい管理者用ログイン画面の有無を検査します。 |
既知の脆弱性が存在する ソフトウェア | 対象のWebアプリケーションにおいて脆弱性が報告されているバージョンのソフトウェアを使用していないかを検査します。 |
CORSポリシーに関する調査 | 不適切なリソース共有の設定により、外部から対象サーバのリソースにアクセスが可能かを検査します。 |
キャッシュ制御の不備 | 対象Webアプリケーションにおいて、機密情報がクライアント及び経路上でキャッシュされる設定になっていないかを検査します。 |
ロジック上の問題 | その他アプリケーション上で意図していない動作や何らかの被害が起こりうる設計上の欠点がないかを検査します。 |