お問い合わせ MENU

Webアプリ脆弱性診断

Webアプリケーションを起点とした機密情報の漏洩を防ぐソリューション

画像

サイバー攻撃による情報セキュリティへの被害は、企業運営に重大なインパクトを与える要素になっています。情報漏洩が原因で上場廃止になったケースや、不正利用が多発したことによりサービス停止になったケース、そのどれもが、セキュリティの対策をしておけば未然に防げる可能性があったことです。

Webアプリケーションに由来するセキュリティ事故は、Webアプリケーションの設計や実装の不備をつかれ、脆弱性を悪用されるものが大多数です。

ポルトのWebアプリケーション脆弱性診断では、セキュリティの専門家が各システムの処理やビジネスロジックに応じて、手動診断で脆弱性を検証します。モバイル向けサイト、コンテンツやシステム構成に応じて、明確に伝わる詳細な報告書を作成いたします。

手動診断では、GraphQLWebSocketFirebasegRPCといった技術要素に対しても対応しています。通常の手動診断では確認できない脆弱性があるため、アプリケーションがどのような仕様であるかを踏まえ、処理に応じて攻撃リクエストを送るためのプログラムやツールの作成し、各要素特有の観点を含めて診断します。

IPAやOWASPの各基準にも対応しています。お気軽にお問合せください。

脆弱性診断プラン

セキュリティ診断(ライト)
ツールをメインに、Webサイトの脆弱性を網羅的に診断。結果をもとにWebサイトやシステムをセキュリティのスペシャリストが検証しご報告します。
セキュリティの現状が気になる方や対策に費用をかけづらいお客様にオススメ
アドバンスドセキュリティ診断
手動診断を中心に、システムの特性やビジネスロジックに関わる脆弱性もセキュリティのスペシャリストが診断します。
セキュリティ事故を回避したい企業様や事業リスクを把握したい企業様にオススメ

報告書について

Webアプリケーション脆弱性診断の報告書は、エンジニアだけではなく、経営層や非エンジニアである企画職、サポート職の方にもわかりやすいよう、セキュリティ診断で検出した脆弱性の詳細だけでなく、脆弱性が悪用された場合の事例やセキュリティ診断を実施したシステムごとの再現確認方法、修正方法や推奨する対策を記載しております。そのため、現在システムがどのようなセキュリティリスクを抱えているか可視化できます。

報告書のサンプル

診断観点

株式会社ポルトでは、専門家が以下の観点でセキュリティ診断を実施します。
記載のない観点においても、検出した脆弱性は報告書にまとめて記載します。

カテゴリ 脆弱性名 脆弱性概要
インジェクション SQLインジェクション SQLの呼び出し方に不備があり、攻撃者が任意のSQLを実行可能な脆弱性。
コマンドインジェクション 攻撃者が任意のOSコマンドを実行可能な脆弱性。
LDAPインジェクション LDAP(Lightweight Directory Access Protocol)クエリを変更し、意図しないコマンドが実行可能な脆弱性。
XPathインジェクション XML Path Language (XPath) クエリを変更し、意図しないコマンドが実行可能な脆弱性。
XMLインジェクション ソフトウェアがXMLで用いられる特殊な要素(`<`、`>`、`"`、`&`)を適切に無力化しないことで、エンドシステムがXMLを処理する前に攻撃者が構文や内容、コマンドを変更できる脆弱性。
evalインジェクション eval関数に任意の文字列が挿入できる脆弱性。
SSIインジェクション SSI(Server-Side Includes)スクリプトによって外部からOSコマンドの実行やファイル閲覧が可能な脆弱性。
ORMインジェクション ORMが生成したデータアクセスのオブジェクトモデルに対する攻撃。
NoSQLインジェクション NoSQLデータベースに対するクエリを変更し、意図しないコマンドが実行可能な脆弱性。
HTTPヘッダインジェクション HTTPレスポンスヘッダに攻撃者が意図した内容を挿入される脆弱性。
クロスサイトスクリプティング(XSS) WebページにJavascriptを注入・実行可能な脆弱性。
フォーマットストリングバグ C言語のprintf()関数の第一引数のようなメモリ上のデータを参照する指示を含む文字列を注入し、任意の値の読み書きを行うことが可能な脆弱性。
メールヘッダ・インジェクション Webサイトがメールを送信する機能において、改行コードを挿入することでメールの宛先や本文の改ざん、メールの大量送信等が可能である脆弱性。
SMTPコマンドインジェクション Webサイトがメールを送信する機能において、メールの宛先や本文の改ざん、メールの大量送信等が可能である脆弱性。
パストラバーサル パストラバーサル 不正なファイルパスを入力することで、本来アクセスできないファイルにアクセス可能な脆弱性。
XML外部エンティティ参照 (XXE) XML外部エンティティ参照 (XXE) XMLデータを外部から受け取り、処理する際に起こる問題。
オープンリダイレクト オープンリダイレクト Webサイトが意図しないURLへユーザを遷移させてしまう脆弱性。
安全でないデシリアライゼーション 安全でないデシリアライゼーション シリアライズされたデータを未検証のままデシリアライズすることによって、ロジックが書き換えられたり、任意のコードが実行可能な脆弱性。
ファイルアップロードに係る脆弱性 サーバー側で実行されるファイルのアップロード ファイルをアップロードする機能において、意図しない形式のファイル (スクリプト等) をアップロードすることが可能な脆弱性。
クライアント側で実行されるファイルのアップロード ファイルをアップロードする機能において、意図しない形式のファイル (スクリプト等) をアップロードすることが可能な脆弱性。
許可されていないファイルのアップロード ファイルをアップロードする機能において、意図しない形式のファイル (スクリプト等) をアップロードすることが可能な脆弱性。
インクルードにまつわる脆弱性 リモートファイルインクルージョン(RFI) PHPのソースの一部を別ファイルから読み込む機能において、外部のURLをファイル名として指定できる脆弱性。
サービス不能攻撃(DoS)につながりうる問題 バッファーオーバーフロー 許容量以上のデータによってデータ構造をオーバーフローさせ、サービス拒否状態を引き起こしたり任意のコードを実行する攻撃。
サービス拒否 過負荷やロジック上の問題などによってWebサイトが利用できなくなる脆弱性。
レースコンディション レースコンディション ある処理がタイミングによっては他の処理に影響し、予期せぬ結果を生み出す脆弱性。
クリックジャッキング クリックジャッキング ユーザを視覚的にだまして正常に見えるWebページ上のコンテンツをクリックさせ、別のWebページのコンテンツをクリックさせる攻撃。
認証 認証回避 正規のユーザIDとパスワードを使用せずに、認証機能を回避してログインすることができる問題。
ログアウト機能の不備や未実装 ログアウト時にサーバ側でセッションが無効化されない、もしくは、ログアウトボタンなどが存在せず、ユーザが任意のタイミングでログアウトすることができない問題。
過度な認証試行に対する対策不備・欠落 アカウントロックにかからないようにログイン試行が可能な状態。
脆弱なパスワードポリシー Webサイトが単純なパスワードの登録を受け付ける問題。
復元可能なパスワード保存 回復可能な形式でパスワードを格納している問題。
パスワードリセットの不備 パスワードリマインダの機能を悪用して第三者がパスワードの取得や再設定を行える脆弱性。
推測可能なCAPTCHA 利用しているCAPTCHAが脆弱なためにその制限を回避したり機械的に突破できる可能性があるというもの。
認可制御の不備・欠落 権限の不正な昇格 Webアプリケーションの特定の機能を、本来利用する権限を持たないユーザが利用できる脆弱性。
強制ブラウジング 特定の機能やファイルのURLに直接アクセスすることで本来アクセスできないはずの機能やファイルにアクセスできる脆弱性。
パラメータ操作による不正な機能の利用 権限の昇格はしないが、本来の利用スコープを外れたデータの取得・編集が可能な脆弱性。
任意のファイルのダウンロード 本来権限のないユーザによってダウンロードが可能な脆弱性。
セッション管理の不備 セッションの固定化 ログイン時や非ログイン状態でセッションに紐付いて重要情報をサーバに保存する際に、新しいセッションidが発行されない脆弱性。
クロスサイトリクエストフォージェリ(CSRF) ユーザが意図しないリクエストをWebサイトが受け付け、実行してしまう脆弱性。
CookieのHttpOnly属性未設定 HTTPS接続を行うサイトで、セッションIDを含むCookieにhttponly属性が付与されていない脆弱性。
推測可能なセッションID セッションIDの生成方法が不適切なため、第三者が利用者のセッションIDを推測可能な問題。
タイムアウト ログイン後の画面を一定時間放置後、再度アクセスしてもセッションが有効なままでセッションタイムアウトしない問題。
現在のパスワード検証のないパスワード変更 パスワード変更機能で現在のパスワードを検証しておらず、新しいパスワードのみでパスワード変更が可能な問題。
情報漏洩 クエリストリング情報の漏洩 URLのパラメータ(パスパラメータ含む)でメールアドレスやセッションIDなどの重要情報を送信する問題。
キャッシュからの情報漏洩 `Cache-Control`ヘッダの設定不備により、キャッシュされたデータが漏洩する可能性がある問題。
パスワードフィールドのマスク不備 パスワード入力欄への入力内容がそのまま画面上に表示されてしまう脆弱性。
エラーメッセージによる情報の露出 記号や桁数のお起きた文字列などの不正な値を送信した際、サーバ内部のエラー情報が表示される問題。
機微情報の表示 レスポンス内にユーザが使用中のパスワードを出力したり、パスワード再設定用の秘密の質問とその答えを画面上に表示するなど、機微情報が表示される状態。
HTTPS利用時のsecure属性がないCookie HTTPS接続を行うサイトで、セッションIDを含むCookieにSecure属性が付与されていない脆弱性。
機微情報の平文保存 重要な情報を暗号化せずに平文のままファイルやデータベース、Cookieなどに保存している脆弱性。
HTTPSの不適切な利用 個人情報をはじめとする重要情報を送受信する際に平文で送信されており、経路上で盗聴される可能性がある。
不要な情報の存在 HTMLファイルのコメントに、使用しているアプリケーションのバージョン情報、動作に関するコメントなどが記載されている。
レスポンスの差異による情報漏洩 ログイン機能や情報登録の際のエラーメッセージ等、Webサイトの挙動によって登録されている個人情報等が判明してしまう脆弱性。
パスワードの平文送信 新規登録などのタイミングで登録したパスワードをメールなどのように平文で送信するというもの。
オートコンプリート パスワード等の重要な情報を入力するフォームに対してautocomplete属性をonにしていることでブラウザにパスワード保存され、共用PCなどからそれが漏えいするという脆弱性。
ビジネスロジックの問題 ビジネスロジックの問題 パラメータの上限値等システム上で課されている制約について、サーバでの検証が不十分なため検証を迂回することができる脆弱性。
外部パラメータ経由のサイト表示 パラメータを改ざんすることで偽のコンテンツを正規のWebサイトのものであるように読み込み表示を行うというフィッシング詐欺に繋がる脆弱性。
不適切なアカウント削除 退会したユーザのデータが閲覧できるという脆弱性。
不適切なパスワード設定機能 管理者が管理下ユーザのパスワードを設定する機能がある場合に、ユーザのパスワードを知ることになるという脆弱性。
ユーザ入力値によるメールの改ざん Webサイトがメールを送信する機能において、メール本文の改ざんが可能である脆弱性。
クロスドメイン JSONPを利用してクロスドメイン通信を行い、ユーザに限定されるべき情報などを取得している場合に、その内容が第三者に漏えいするという脆弱性。
サーバソフトウェアの設定の不備 ディレクトリリストからの情報の露出 ティレクトリにアクセスした際、ディレクトリ内に存在するディレクトリやファイルのリストか索引表示されるというもの。
そこからシステム情報や機密情報にアクセスできる可能性がある。
バージョン番号表示 正常な遷移におけるレスポンス内にシステムに係わる情報が含まれており、SQL構文などのプログラム情報やディレクトリ情報などが漏えいする。
不要なHTTPメソッド POSTメソッド箇所がGETで呼び出せるというもの。CSRFなどが可能な場合、より容易に誘導が可能となる。
文字コード指定の不備 Content-type, meta要素などで文字コードを指定していないというもの。既存のエスケープなどを回避される可能性がある。
ブラウザの発する警告 Mixed Contentなどのブラウザ警告全般を指摘するもの。
不適切な証明書 発行先のドメインが誤っている、発行元が信頼された証明機関ではない、有効期限を超過しているなどの不正な証明書を利用しているというもの。
不要な機能・ファイル・ディレクトリの存在 不要な機能・ファイル・ディレクトリの存在 サーバに含まれる公開を意図しない情報や機能などが表示、公開されるというもの。
OS/フレームワーク/サーバソフトウェア/プログラミングライブラリの既知の脆弱性 OS/フレームワーク/サーバソフトウェア/プログラミングライブラリの既知の脆弱性 診断対象のOSやフレームワーク、サーバソフトウェア、プログラミングライブラリに既知の脆弱性を含んでいるというもの。

Contact Usお仕事やお見積りのご依頼、ご相談を承ります。
お気軽にお問い合わせください。

お問い合わせフォームへ