Originally published on the Bug Circuit blog.
クライアントの調達チームまたは法務チームから、ペネトレーションテストや脆弱性管理、暗号化基準に関する40の質問が記載されたスプレッドシートが送られてきましたが、あなたは2人体制でセキュリティチームもありません。以下がその要点です。
SOC 2 や社内のセキュリティチームがなくても、ベンダー質問票に合格できます。必要なのは、正直で具体的な回答と、それを裏付ける実証資料です。そして、最近実施された第三者によるセキュリティ評価が、最も有用な証拠となります。
このガイドの残りの部分では、実際に見ることになる質問を順に解説し、それぞれが本質的に何を調べようとしているのか、そして嘘をつかず契約を停滞させないためのコピー&ペースト可能な回答例を示します。
なぜ質問してくるのか
ベンダー向けセキュリティ質問票が存在する理由は、あなたのシステムが侵害され、顧客データが漏洩した場合、クライアントの会社が責任を問われるためです。これは個人的なものではなく、ほとんどの場合、法務チームや調達チームのコンプライアンスチェックボックスであり、ジュニアアナリストがルーブリックに基づいて採点しています。あいまいな回答や沈黙は、「私たちは小規模ですが、実際にやっていることはこれです」という正直な回答よりも悪く見えます。
契約を獲得するためにセキュリティ監査が必要かどうかを疑問に思うかもしれません。通常、単一の監査は必須ではありませんが、何か具体的なものを提示できることは、停滞したメールスレッドを5分で承認に変える力になります。
よくある質問の解読
「定期的にペネトレーションテストを実施していますか?」
本当に確認していること:自社開発者以外にアプリケーションへの侵入を試みた者がおり、見つかった問題を修正したかどうか。
実施していない場合の正直な回答:その旨を述べた上で、実施したことを示します。「継続的なペネトレーションテストプログラムは実施していません。[日付] に [範囲] を対象とした手動セキュリティ評価を実施し、指摘事項を修正しました。報告書を添付します。」 最近実施された単一の手動監査報告書は、何も示せない漠然とした「はい」よりもはるかに強力な証拠です。報告書を求められた際に提出できない場合、審査者はその違いを即座に見抜きます。
「脆弱性管理プロセスについて説明してください」
これは、新たなバグや CVE が公表された際、どのように情報を入手し、どの程度の速さでパッチを適用しているかを尋ねています。この質問に正直に答えるために、正式な SLA ドキュメントは必要ありません。小規模チームでの実際のプロセスは次のように表現できます。「OS および依存関係については [ホスティングプラットフォーム] の自動セキュリティ更新を利用し、各リリース前に npm audit / composer audit を実行し、主要フレームワークのセキュリティアドバイザリを購読しています。重大な問題は開示から数日以内に修正します。」 実際に実施していることを記述してください。ほとんどの審査者は、特定のツールスタックではなく、プロセスが存在することの証明を求めています。
「SOC 2 レポートまたは ISO 27001 認証を取得していますか?」
SOC 2 は、認可された CPA 事務所が数か月にわたって内部統制を監査するものであり、通常数万ドルの費用がかかります。これは数十名の従業員と専任のコンプライアンス担当者を擁する企業向けに設計されており、5人規模の SaaS 向けではありません。取得していない場合は、その旨を明確に述べ、代わりに最も近い正直な代替案を提示してください。
- 実際の製品に対する最近の手動セキュリティ監査報告書(汎用的な会社全体の監査ではなく)
- クラウドプロバイダー自身のコンプライアンス証明(AWS、GCP、Azure はすべてインフラストラクチャ向けに SOC 2 / ISO レポートを公開しており、その一部を継承できます)
- アクセス制御、暗号化、バックアップに関する実践の文書化された概要
「SOC 2 認証は取得していませんが、最新の監査報告書とクラウドプロバイダーのコンプライアンス文書を添付します」と回答することで、持っていないものを装うことなく、根本的な懸念に答えることができます。
「転送中および保存時のデータをどのように暗号化していますか?」
この質問には通常、完全に自信を持って回答できます。転送中:「すべてのトラフィックは HTTPS/TLS 1.2 以上で提供され、HTTP リクエストは HTTPS にリダイレクトされます。」 サイトを 無料のセキュリティヘッダーチェッカー で確認することでこれを検証・強化できます。そこでは Strict-Transport-Security が設定されているか(良好なベースライン値は max-age=31536000; includeSubDomains)、Content-Security-Policy や X-Content-Type-Options: nosniff などのヘッダーが欠落していないかを確認できます。保存時:ほとんどのマネージドデータベース(RDS、Cloud SQL、MongoDB Atlas、Supabase)はデフォルトでストレージを暗号化しています。プロバイダーのダッシュボードを確認し、実際の仕組みを記述してください。例:「AES-256 暗号化(保存時)、[プロバイダー] により管理」
「インシデント対応計画はありますか?」
何かが発生した場合に2週間沈黙しないことを確認したいのです。20ページの文書である必要はありません。短く現実的な回答で十分です。「セキュリティインシデントを検知した場合、影響を受けたシステムを隔離し、範囲を評価し、72時間以内に影響を受けた顧客に通知し、根本原因と修正内容を文書化します。」 これまで考えたことがない場合は、今すぐ書き留めてください。これはこのリストの中で最も安価に修正できる項目です。
「本番データへのアクセス権を持つ者は誰で、アクセスはどのように管理されていますか?」
正直に列挙してください。何名がアクセス権を持ち、一意のログインと多要素認証を使用しているか、退職時にアクセスを即座に取り消しているか。「本番環境へのアクセス権を持つチームメンバーは2名で、いずれも MFA で保護されたアカウントを使用しています。アクセスは四半期ごとにレビューされ、オフボーディング時には即座に取り消されます」という回答は、たとえ小規模なチームであっても完全で信頼できるものです。
「一度スキャナーを実行した」は本物の監査とは異なる
多くの小規模チームは、サイトに自動スキャナーを向けてクリーンなレポートを得た経験があるでしょう。それは言及する価値がありますが、それが何を証明するのかを正確に述べる必要があります。自動スキャナーは既知のシグネチャ(古いソフトウェアバージョン、欠落したヘッダー、一般的な設定ミス)をチェックしますが、ビジネスロジックの脆弱性を連鎖させたり、ある顧客が別の顧客のデータを見られるかどうかをテストしたり、パスワードリセットフローがアカウントの存在を漏洩させることに気づいたりすることはできません。手動と自動のペネトレーションテストの違いの実際の仕組みについては、手動と自動のペネトレーションテストに関するガイドで詳しく解説しています。数百件の質問票を見てきた審査員は、通常、「無料スキャナーを実行した」と「実際に人間がテストした」の違いを見抜けます。スキャナーの結果を過大評価せず、正確に記述し、可能であればより強力なものを併用してください。
質問票に実際に添付すべきもの
ペネトレーションテストに関する質問、脆弱性管理に関する質問、暗号化に関する質問の半分に一度に答える文書が欲しい場合、手動監査を実施して報告書を添付してください。信頼性を保つために企業向けの複数週にわたる大規模な契約である必要はありません。実際のサイトに特化し、最近実施され、スクリプトではなく人間がテストした書面であることが必要です。
費用をかける前に、無料で現状を確認できます。無料のパッシブセキュリティチェック を実行して明らかな露出を確認するか、質問票にフィッシングやドメイン保護(SPF/DKIM/DMARC レコードはよくあるフォローアップ質問)に関する質問がある場合は メールスプーフィングツール でメール設定を確認してください。コミットする前に価格を理解したい場合は、ペネトレーションテストの費用内訳 で、なぜ企業向けペンテストが5桁になるのか、そして製品化された手動監査がその下にどのように位置づけられるのかを説明しています。
結論
嘘をつかず、空欄のままにせず、無料スキャナーの結果をペネトレーションテストであるかのように装わないでください。すべての質問に対して、実際の設定に基づいた正しい回答をし、大きな主張には手元にある実証資料を裏付けとして添付し、提出前に安価に修正できるギャップ(ヘッダー、MFA、文書化されたインシデント計画)を修正してください。おそらく正直に答えられない唯一の質問——本物のセキュリティテストの証明——については、手動監査がそのギャップを埋める最も迅速で安価な方法です。
次の質問票が届く前にその証拠を手元に用意したい場合は、Circuit は49ドルのワンタイム手動監査です。実際のエンジニアがサイトをテストし、重要度評価と具体的な修正策が記載された書面の報告書を提供します。これをベンダー質問票に直接添付でき、空欄のままにせずに済みます。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.