脆弱性を正しく報告する方法





バグバウンティプログラムに参加したすべての人は、見つかった「穴」がお金と名声を要求する理由ではないことを知っています。 問題の説明、その検出のためのツール-これらはすべて、有能なレポートで説明することが重要です。



サービスとしてペンテストサービスを提供しているアメリカの会社Cobaltのブログから、現在の記事を翻訳しました。 研究者のデビッド・サフォップは、ユーザーが犯す間違いと、ボーナスセントではなく実際のお金を稼ぐために実際にレポートを書く方法について語っています。



痛みについて



実際には、バグバウンティプログラムの参加者は、次のようなレポートを受け取ることがあります。



「皆さん、メールサーバーにSPFレコードがありません。

自分で確認してください:http:// "。



または、プレミアムを増やすリクエストがあります:



「研究者[など]は、同じレポートに対して100ドルを受け取りました。

さらに50払ってもらえますか?

、もっと値するに値します!



プログラムのキュレーターは、そのようなレポートをWTFとして分類します。 脆弱性自体ではなく、詳細な情報が不足しているため、5学期から適切に伝えようとしているためです。 サービスを販売しようとしていることを忘れないでください。したがって、プログラムの所有者に、自分の製品の安全性に本当に関心があることを示すと同時に、自分自身を正しく提示できるようにする必要があります。



発見された脆弱性の良い報告は、すべての作業の成功に大きな影響を与えます。



研究の準備



まず、プログラムのタスクとルールを注意深く読んでください。 これは、脆弱性の検索を開始する前に行う必要のあることの1つです。 品質と苦しみのレポートを受け取った後、プログラム所有者がそのような脆弱性の検索がタスクのリストに含まれていなかったと答えるときの失望を想像してください。



プログラムのタスクについて特定の質問がある場合は、その所有者/キュレーターに電子メールで連絡するか、他の人のレポートへのコメントで質問してください。



深刻な脆弱性が見つかったら、次のステップは結果を報告することです。 以下は、品質レポートを作成できる推奨事項のリストです。



発見された脆弱性のタイトル



脆弱性の性質について書いてください。 騒々しい「タブロイド」見出しの必要はありません。



適切な名前の例: 製品ページに反映されたXSS

悪い名前の例: CRITICAL-XSS in your program



名前は、キュレーターまたはプログラムの所有者が最初に目にするものであることを忘れないでください。 したがって、彼はあなたとあなたのこの点についての第一印象を与えます。



説明



見つかった脆弱性の説明は、簡潔で理解しやすく、明確に定式化する必要があります。 プログラムの所有者は、レポートを読むのに多くの時間を費やすことを望みません。



脆弱性を迅速かつ簡単に説明する優れた方法は、所有者がその本質を理解し、特定し、排除するのに役立つプロジェクトへのリンクを提供することです。 たとえば、OWASP、CVE、または他の同様のセキュリティプロジェクトへのリンクを見つけることができます(Wikipediaやその他の信頼性の低いソースへのリンクは、証拠として使用しない方が良いです)。



たとえば、XSSの脆弱性が見つかった場合、レポートで(OWASPを参照して)具体的に見つけたものとそれが何に変わる可能性があるかを説明しようとします。 さらに、このプログラムに参加するのがこれが初めての場合、私は必ず自己紹介をし、歓迎メッセージで報告を始めます。 少しの礼儀正しさは誰も傷つけません。



自動テストツールのログから情報をレポートにコピーするだけではありません。 そのため、プログラムマニュアルでは、すべてを自分で説明する時間(または希望)がないと判断する場合があります。



実験的脆弱性検証



このパートでは、レポートの受信者やプログラムのキュレーターがこの分野の初心者であるかのように書くようにしてください。 したがって、特定された脆弱性を再現するために必要な手順の短いリストを作成することをお勧めします。



発見されたXSS脆弱性の実験的確認の例:



ステップ1:このリンク[リンクアドレス]をたどります。



ステップ2:ユーザー名とパスワードを入力します(このステップでは、サイトに有効なアカウントが必要です)。



ステップ3:右上隅の検索フィールドに、テキストを入力します。







ステップ4:「検索」ボタンをクリックします。



ステップ5:ドメインのJavascriptポップアップが表示されます。



私が発見したXSSの脆弱性を示す添付のスクリーンショットをご覧ください。



ときどき(見つかった脆弱性の種類によって異なります)、ページのコードの一部を送信して、プログラムの所有者が出現する場所をすばやく見つけることが推奨されます。







臨界評価



プログラムの所有者が発見された脆弱性の重大度をよりよく理解するために、悪意のないユーザーが自分の目的のためにそれをどのように使用できるかの具体的な例を挙げる価値があります。 同様の状況を説明し、その結果、会社(およびその顧客)が失う可能性のある方法、内容、理由を示します。



使用済みツール



脆弱性を特定するために使用したツールとプログラムを教えてください。 ブラウザのみを使用した場合は、必ずバージョンを指定してください。 一部の脆弱性は、ソフトウェアの特定のバージョンでのみ再現できるため、ここで最も完全な情報を提供する価値があります。



例:Burp、Nmap、Firefox 47.0



添付ファイル



添付のスクリーンショット(場合によってはビデオファイルも)は、レポートをより明確にし、その価値を高めるのに役立ちます。



所有者が見つけた脆弱性を再現できない場合があるため、ステップバイステップのビデオまたはプロセスの説明付きのスクリーンショットは非常に便利です。



何らかの理由でプロセスをビデオでキャプチャできない場合は、プロセスの説明を含む音声ファイルをプログラムに送信できます。 これは、特定された脆弱性を再現し、レポートの作成に実際に努力したプログラムの所有者を示すのに役立ちます。つまり、レポートの評価に有利になります。



推奨される脆弱性の修正



プログラム所有者に具体的で理解可能なソリューションを提供します。 コードを「きれいにする」ようアドバイスするだけでなく、これを行う方法を示すリソースへのリンクを提供します。 私を信じて、彼らはそのようなステップに感謝します。 開発者自身が脆弱性の修正方法を知らない場合があるため、ビジョンの詳細な説明が役立つ場合があります。 そして、これは主に脆弱性に対処することなので、双方にとって有益です。



コメント



コメントは、プログラムの所有者がレポートの情報について何らかの説明を必要とする場合、またはその場合に役立つ便利なツールです。



コミュニケーションの過程では、常に礼儀正しくしなければなりません。 送信したレポートに新しい情報があるかどうかを常に気にする必要はありません。 1か月に1つか2つのメッセージを送信してフィードバックを要求するだけで十分ですが、長い間応答がない場合は、いつでもプラットフォームサポートサービスに連絡して状況を理解してもらうことができます。



おわりに



私たちの主な目標は、ペンテスターとセキュリティの専門家が主に支援したいプログラムの所有者を示すことです。 私たちは皆同じ側にいて、「悪者」に対して協力することができます。 問題は、誰もがこの意見に同意するわけではないということです。 そのため、プログラム所有者との通常の関係を構築するには、プロ意識と品質レポートが重要です。



著者と一緒に、この記事を読んだ後、レポートが改善され、特定された脆弱性のプレミアムが増加することを願っています!






バグ報奨金プログラムの使用を開始したり、タスクをより複雑にしたい場合は、Webアプリケーションのテストに関する強力な知識が必要です。 他の人のサイトを自分で選ぶと、悲しい結果になる可能性があります。 倫理的なハッキングはデリケートな問題であり、慎重なトレーニングとセキュリティポリシーの遵守が必要です。 脆弱性の検索方法、レポートの作成方法、および倫理的なハッカーの武器全体を自信を持って使用する方法を学ぶには、 Professional Pentesterコースをご覧ください。 2番目の予選コースは4月に始まります。



All Articles