セキュリティ問題の検出
¶
API Attack Surface Discoveryが選択したドメインの外部ホストを特定すると、Wallarmはそれらのホストにセキュリティ問題がないかを確認します。問題が見つかると、Security Issuesセクションに一覧表示され、内容が説明されます。本記事では、この情報の活用方法を説明します。
セキュリティ問題の確認¶
外部ホストで見つかったセキュリティ問題を確認するには、Wallarm ConsoleでAASMのSecurity Issuesセクションに移動します。
ここには、発見された問題の詳細が次のとおり表示されます。
-
各問題の簡潔な説明と詳細を備えた、フィルタ可能な完全な一覧
-
脆弱なホストの上位リスト
-
タイプ別のセキュリティ問題の分布
-
リスクレベルの評価と、各レベル別のセキュリティ問題の分布
-
直近6か月に検出・解決された問題の月次履歴
検出された問題の一覧¶
Wallarmは次のセキュリティ問題を自動検出します。
Type | 説明 |
---|---|
Management interface | リモート管理インターフェイスまたは管理パネルがインターネット上で一般にアクセス可能であり、システムが潜在的な攻撃にさらされています。攻撃者はパスワード推測やクレデンシャルスタッフィング、既知の脆弱性の悪用によって不正アクセスを試みる可能性があります。 |
Authentication bypass | 認証回避の脆弱性により、攻撃者は認証機構を迂回して保護されたリソースへ不正アクセスできます。この欠陥は機密データへの不正アクセス、権限昇格、さらにはシステムの完全な侵害につながるおそれがあります。 |
BOLA | 攻撃者は、リクエスト内で送信されるオブジェクトIDを操作することで、Broken Object Level Authorizationに脆弱なAPIエンドポイントを悪用できます。これにより機密データへの不正アクセスが発生する可能性があります。 詳細 |
File read | アプリケーションに任意ファイル読み取りの脆弱性があり、攻撃者が正当な認可なくサーバー上のファイルを読み取ることができます。設定ファイル、ソースコード、ユーザーデータなどの機密情報への不正アクセスにつながり、システム全体のセキュリティを損ないます。 |
File upload | 任意ファイルアップロードの脆弱性により、攻撃者が想定された制限を回避して有害なファイルをサーバーへアップロードできます。これにより、Webシェルを介したリモートコマンド実行、重要なシステムファイルの上書き、マルウェア配布、さらにはサーバーの完全な侵害が発生する可能性があります。 |
Information exposure | アプリケーションが機密情報を不正に開示してしまう脆弱性で、攻撃者にさらなる悪用に利用される可能性のあるデータを提供してしまいます。 詳細 |
LFI | Local File Inclusion(LFI)の脆弱性により、不十分な入力検証を突いてアプリケーション内のファイルパスを操作されます。これにより、機密システムファイルへの不正アクセスやコード実行、さらにはより深刻な攻撃の足掛かりとなってシステムが完全に侵害される可能性があります。 |
Misconfiguration | セキュリティの設定不備には、デバッグモードの有効化、エラーメッセージにおける過剰情報の出力、TLS/SSLの誤設定、CORSポリシーの欠如または誤設定など、設定ミスに起因する脆弱性が含まれます。 |
Missing authentication | 機微なアプリケーションまたはAPIエンドポイントに適切な認証機構がなくアクセスできる状態です。データ侵害、サービス障害、システムの完全性の損なわれにつながるおそれがあります。 |
RCE | Remote Code Execution(リモートコード実行)— ユーザー入力の検証やパースが不適切であることに起因する脆弱性です。攻撃者はAPIリクエストに悪意あるコードを注入し、それが実行される可能性があります。また、脆弱なアプリケーションが動作するOSに対して特定のコマンドの実行を試みることも可能です。 詳細 |
Open redirect | オープンリダイレクトの脆弱性により、ユーザーが制御する入力で外部サイトへのリダイレクト先が指定できます。攻撃者はこれを悪用してユーザーを悪意あるサイトへ誘導し、フィッシングなどのリスクを生じさせる可能性があります。 |
Sensitive API exposure | セキュリティ対策の不備や設定ミスにより、APIエンドポイント、ドキュメント、機能が意図せず公開または不正ユーザーからアクセス可能になっています。これにより、より標的型の攻撃や機密データへの不正アクセス、システム構造に関する有用な情報を与えることによる脆弱性の悪用につながる可能性があります。 |
SQLi | SQLインジェクション — ユーザー入力のフィルタリングが不十分なために発生する脆弱性です。特別に細工したクエリをSQLデータベースへ注入して攻撃します。 詳細 |
SSRF | Server‑Side Request Forgery(サーバーサイドリクエストフォージェリ)— SSRF攻撃が成功すると、攻撃者が被攻撃Webサーバーに代わってリクエストを送信できるようになります。これにより、使用中のネットワークポートの露見、内部ネットワークのスキャン、認可の回避などにつながる可能性があります。 詳細 |
Subdomain takeover | サブドメインが存在しないリソースを指しているため、乗っ取りの可能性があります。攻撃者がこれらのサブドメインを取得・制御でき、フィッシング、データ窃取、元のドメイン所有者の評判毀損などにつながる可能性があります。 |
User enumeration | システムの応答を通じて、ユーザーアカウントや機密データを不正に列挙できてしまう脆弱性です。これにより不正アクセスや標的型攻撃、さらなる侵害の足掛かりとなる可能性があります。 |
Vulnerable component | 既知の脆弱性を含む旧式のソフトウェアコンポーネントを使用していると、既知の脆弱性が悪用されるリスクが生じます。さらに、組織内のパッチ管理プロセスが不十分であることを示唆します。 |
XSS | Cross‑Site Scripting(クロスサイトスクリプティング)— 攻撃者が用意した任意コードをユーザーのブラウザー内で実行させます。 詳細 |
XXE | XML External Entity(XXE)攻撃 — 攻撃者がXML文書に外部実体を注入し、XMLパーサーに評価させ、ターゲットWebサーバー上で実行させることを可能にする脆弱性です。 詳細 |
API leak | 漏えいしたAPIキーにより、攻撃者が正規ユーザーになりすまして機密の財務データへアクセスし、トランザクションの流れを操作できる可能性があります。 詳細 |
Vulnerable software | 脆弱なソフトウェアバージョンは、システムへの不正アクセス、データ窃取、マルウェア、業務の中断といった重大なリスクを伴います。攻撃者は古いソフトウェアの既知の脆弱性を積極的に探索するため、悪用される可能性が高いです。 |
セキュリティ問題の詳細とライフサイクル¶
Wallarmは、発見された各セキュリティ問題について、発生状況と可能な対処を明確に理解できるよう詳細情報を提供します。
問題の詳細¶
一覧の問題をクリックすると、次の詳細が表示されます。
- 基本情報(タイプ、ホストとURL、初回検出時刻と最終検出時刻)
-
詳細なDescription
-
Mitigationのための対処策
-
リスク順にランク付けされた関連CVEに関する情報(Additional information)
問題のライフサイクル¶
セキュリティ問題が検出されると、対処が必要であることを示すOpenステータスになります。問題の詳細画面では、クローズ(解決済みを意味します)するか、falseとしてマークできます。
各ステータス変更に対してコメントを残すと、変更理由が関係者に伝わりやすく有用です。変更の作成者と時刻は自動で追跡されます。
次回の自動または手動の再スキャン後、以下の条件に該当する場合はWallarmが自動でセキュリティ問題をクローズします。
-
直近のスキャンでポートが見つからない
-
ネットワークサービスが変更されている
-
新しい製品バージョンが検出された
-
脆弱なバージョンが存在しなくなった
-
直近のスキャンで脆弱性が検出されなかった
問題は、次回の再スキャン後に自動で、または手動で再オープンされる場合があります。なお、falseにマークされた問題が自動で再オープンされることはありません。
リスクレベルの変更¶
問題のリスクレベルを再評価する場合は、詳細画面で新しいリスクレベルを選択します。
コメントの追加¶
ステータス変更(クローズ、再オープン)の際にコメントを付けるのは常に有用ですが、それ以外のタイミングでも、何も変更せずにコメントを追加できます。Add commentボタンを使用すると、コメントはStatus historyの一部になります。
ステータス履歴¶
経緯を追えるよう、セキュリティ問題のStatus historyセクションに変更とコメントの全履歴が表示されます。
問題のリスクレベル¶
各セキュリティ問題は、発生時のリスクの大きさに基づき自動評価され、次の表のとおり分類されます。
Risk | 説明 | 例 |
---|---|---|
Critical | この脆弱性の存在は、攻撃者によるリモートコード実行やDoS/サービス劣化を許し、システム侵害に至る可能性があります。即時の対応が必要です。 |
|
High | 脆弱性の存在により、データベースアクセスやファイルシステムへの限定的アクセスなど、システムの一部が侵害される可能性があります。特定条件(例: 特別な要件の充足、他の脆弱性との連鎖)では、システム侵害(例: リモートコード実行)に至る場合があります。 |
|
Medium | セキュリティ制御の回避や限定的な露出/アクセスが生じる可能性がありますが、即座の全面侵害には至りません。ただし、機密データや設定へのアクセスを許し、より複雑な攻撃チェーンで悪用される可能性があります。 |
|
Low | 影響は最小限であり、要件や条件が複雑すぎるため直接的な重大被害や悪用につながりにくい脆弱性です。ただし、他の脆弱性と組み合わせることで攻撃がエスカレートする可能性があります。 |
|
Info | 直ちにセキュリティリスクにはなりませんが、手動検証の対象として確認すべき事項です。多くの場合、重要度の低いデータの露出やベストプラクティス違反が該当します。 |
|
* ソフトウェアバージョンが複数のCVE(Criticalを含む)を内包する場合、総合的なリスクレベルはHighに評価されます。脆弱なバージョンの存在は必ずしも脆弱性の顕在化を意味しないため、リスクレベルは1段階下げられます。例えば、特定の非デフォルト設定でのみ発生する、あるいは一定の条件を満たす必要がある場合があります。
リスクレベルはいつでも再評価し、手動で調整できます。
セキュリティ問題のレポート¶
Download reportボタンから、すべてまたはフィルタ済みのセキュリティ問題のレポートをCSVまたはJSON形式で取得できます。
セキュリティ問題に関する任意の情報は、API攻撃対象領域の詳細なDOCXレポートにも含まれます。
通知¶
Email¶
You automatically receive notifications to your personal email (the one you use to log in) about discovered hosts and security issues, including:
-
Daily critical security issues (new only) - all critical security issues opened for the day, sent once a day with a detailed description of each issue and instructions on how to mitigate it.
-
Daily security issues (new only) - statistics for security issues opened for the day, sent once a day with information on how many issues of every risk level were found and general action items for mitigation.
-
Weekly AASM statistics - information about hosts, APIs, and statistics for security issues discovered for your configured domains within last week.
The notifications are enabled by default. You can unsubscribe at any moment and configure any additional emails to get all or some of these notifications in Wallarm Console → Configuration → Integrations → Email and messengers → Personal email (you email) or Email report (extra emails) as described here.
Instant notification¶
You can configure instant notification for the new and re-opened security issues. Select all or only some risk levels that should trigger notification. Separate message will be sent for each security issue.
Example:
[Wallarm System] New security issue detected
Notification type: security_issue
New security issue was detected in your system.
ID: 106279
Title: Vulnerable version of Nginx: 1.14.2
Host: <HOST_WITH_ISSUE>
Path:
Port: 443
URL: <URL_WITH_ISSUE>
Method:
Discovered by: AASM
Parameter:
Type: Vulnerable component
Risk: Medium
More details:
Client: <YOUR_COMPANY_NAME>
Cloud: US
You can configure instant notification for the security issues in Wallarm Console → Configuration → Integrations → YOUR_INTEGRATION as described in your integration documentation.
API漏えい¶
他の種類のセキュリティ問題とあわせて、WallarmはAPIクレデンシャルの公開露出(API漏えい)も検出します。漏えいしたAPIキーにより、攻撃者が正規ユーザーになりすまし、機密の財務データへアクセスしたり、トランザクションの流れを操作したりできる可能性があります。
Wallarmは次の2段階の手順でAPI漏えいのセキュリティ問題を探索します。
-
Passive scan: 対象ドメインに関連する公開(漏えい)データがないか、公開リソースを確認します。
-
Active scan: 対象ドメインから自動でサブドメインを探索します。次に、未認証ユーザーとしてそのエンドポイントにリクエストを送信し、レスポンスおよびページのソースコードに機微情報が含まれていないか確認します。探索対象のデータは、クレデンシャル、APIキー、クライアントシークレット、認可トークン、メールアドレス、公開/非公開のAPIスキーマ(API仕様)です。
検出された漏えいへの対応は次のとおり管理できます。
-
Wallarmのノードを展開している場合は、漏えいしたAPIクレデンシャルの使用試行をすべてブロックするために仮想パッチを適用します。
仮想パッチルールが作成されます。
なお、仮想パッチの作成は、漏えいしたシークレット値が6文字以上、または正規表現が4096文字以下の場合にのみ可能です。条件を満たさない場合は、
Not applicable
という修復ステータスが表示されます。これらの制限は正当なトラフィックのブロックを防ぐことを目的としています。 -
誤検知だと思われる場合は、漏えいをfalseとしてマークします。
-
問題が解決したことを示すために、漏えいをクローズします。
-
漏えいをクローズしても削除はされません。問題がなお有効であることを示すために再オープンできます。
仮想パッチでブロックされたリクエストの表示
仮想パッチでブロックされたリクエストは、Wallarm Console → Attacksで、TypeフィルターをVirtual patch
(vpatch
)に設定すると表示できます。
このフィルターには、Security Issues機能によって生成されたvirtual patchイベントだけでなく、他の目的で作成されたすべてのvirtual patchも一覧表示される点に注意してください。