web-dev-qa-db-ja.com

公益性の潜在的なセキュリティの脆弱性を見つけた場合はどうすればよいですか?

セキュリティシステムに潜在的な脆弱性が見つかったとします。このシステムは長年にわたって普遍的に健全であると考えられており、今日では世界中で使用されています。

私はセキュリティの専門家ではありませんが、気になることがいくつかあります。

  • 安全であると信じているセキュリティシステムを使用することは、セキュリティシステムを使用しないことよりも悪いことです。
  • このシステムはさまざまな国で実装されているため、安全でない理由の詳細を明らかにすると、システムをすぐに更新しない人が危険にさらされる可能性があります。
  • 自分の作品/発見を評価したいのですが、同時に発見が大きすぎるかもしれません。
  • 何年もの間最良であると考えられており、より良いものを見つけるために時間とリソースを費やした人がいないため、現在、このセキュリティシステムに代わるものはありません。
  • 解決策をもたらさずに問題を明らかにすることは、科学コミュニティに「ねえ、あなたが安全だと思ったすべてのものは、急いでより良い解決策を見つけるわけではない」と言っているようです。

上記のすべての理由から、そのような不格好な状況で誰かが何をすべきか疑問に思います。

私の曖昧さを許してください、しかしあなたはその理由を理解していると思います。

25
Jacob

どのように進めるべきかについては意見の問題です。すでに 質問 脆弱性を報告するさまざまな倫理的方法を説明しています。

まず、これほど大きなものについては、最初は匿名のままにしておくことをお勧めしますが、この脆弱性を実際に発見したのが後であることを後で証明する方法を残します。まったく新しいPGP鍵(IDに関連付けられていない)を作成し、それを使用してメッセージに署名し、(Torなどを介して)匿名で公開します。後ですべてがうまくいくと確信し、何百人もの血に飢えた弁護士があなたの後に来ない場合は、そのキーを使用して、それがあなたであることを示すメッセージに(フルネームで)署名できます。

私は責任ある開示アプローチをお勧めします。あなたは上記のセキュリティシステムの開発者と連絡を取り、パッチを展開するために彼らにしばらく時間を空けます。

応答がない場合、 愚かな応答 、または怒っている弁護士の大群でさえあなたに吠えている場合は、匿名性を使用して公開し、その会社がセキュリティの欠陥にどのように対処しているかを全員に知らせてください。

代替案を提供せずに欠陥を開示することは悪い考えであるという事実に同意しません。その欠陥はすでに悪者に知られている可能性があり、悪意のある人にその情報の使用を完全に楽しんでもらうよりは、誰もがそれを知っている(そして少なくとも安全でないことを知ることができる)方が良いです。また、現在代替案がない場合でも、この発見は誰かに実際に安全な代替案を作成する動機を与えるかもしれません。

最後に、私たちが話している「セキュリティシステム」の種類はわかりませんが、セキュリティは層で行う必要があります。そのシステムに依存している企業は、その唯一の防御策として機能する必要があります。修正が利用可能になったら更新する必要はありません。

41
André Borie

これがactualの脆弱性であることを確認するには、通常、概念実証を作成します。そこから、次のことができます。

  • ソフトウェアのベンダーに非公開で連絡し、調査結果とそれに関連する問題を説明し、PoCを添付して分析してもらいます。
  • 脆弱性を一般に公開し、追加の注意がベンダーに修正をリリースするように説得することを期待します。
  • ブラックハットがそれを見つけられないことを期待して、それについて完全に沈黙してください。

最初のオプションがおそらく最良です。情報を公開するために個人情報を開示する必要はありません。私は同様の状況下で、このような通信にいくつかのハンドルと使い捨てアカウントを使用しました。

2番目のオプションは危険です。あなたは公共の反発のリスクを冒し(「なぜそれを悪用する人々にオープンな脆弱性を与えるのでしょうか?」)、あなた自身とベンダーを悪い場所に置きます。一部の人々はあなたの努力を称賛するかもしれませんが、他の人はこれを問題として見るでしょう。

3番目のオプションはさらに危険です。 PoCを作成する機能があれば、悪意のある人もそうです。ここでの唯一の違いは、あなたの試して真実不明瞭によるセキュリティ 別名本当に悪い時間です。

あなたの最善の策は、最初のオプションから始め、完全に無視された場合は2番目のオプションにフォールバックすることです。私は何ヶ月もベンダーに連絡し、最終的に脆弱性を公開し、それから問題を解決するパッチを見ている人々の話を見てきました。理想的な世界では、ベンダーはこれを真剣に受け止め、連絡を取れば問題に対処します。彼らが問題に怠慢であるか、それが問題でないことを見つけない限り、彼らはそれに取り組むのに最適な人です。彼らがそれに対処しない場合、彼らは次のJavaまたはFlash別名完全に信頼できないになるという本当のリスクに遭遇します。

これは通常、ビジネスに悪影響を及ぼします。

8
user41341

あなたは信用したいが、知られたくないのですか?それはうまくいきません。
もっと重要なことを決定します:クレジット、または匿名で脆弱性を知らせます。

知っておくことがもっと重要であれば、新しいアカウントなどを持っていると思います。 (それが本当にそれほど大きい場合は、新しいデバイスで新しいOSを使用し、ブラウザープロファイルを使用せず、Torも使用していることを願っています。そうでない場合、今から始めるのは遅すぎます。).
次のステップとして、脆弱性かどうかさえわからない場合は、ここで状況を伝えるだけで始まります。

「悪用可能だから教えてくれない」部分について:ええと、もしあなたがそれについて心配しているなら、およびあなたのアイデンティティー、私は誰にもそれを言う方法がありません。この場合...それを忘れるだけですか?

5
deviantfan

ブルーフィッシュは、信頼できる第三者が一定期間エスクローサービスを提供する「責任ある開示」について言及することを省略しました。これにより、ベンダーは、発見者の信用を保証しながら、障害を修正できます。 CERTはそのようなアプローチを後援します。

しかし、前の回答では、概念実証が必要です。残念なことに、「セキュリティ」製品は、ほとんどの専門家が予想するよりも脆弱性をもたらすことがよくあります。

2
symcbean