余暇には、PHPコードの目的は ブロックリンクスパム やその他のさまざまな悪意のあるアクティビティを目的とするコードです。
5月11日、WordPressこのコードのバージョン 公開済み なし 最初に通知する でXSSの脆弱性を発見した人==幸い、私のユーザーは5月13日に修正を公開しました。
それで終わりではありませんでした。
それ以来、この脆弱性が [〜#〜] osvdb [〜#〜] や [〜#〜] cve [〜などのさまざまなデータベースに追加されていることを発見しました。 #〜] およびそれらのデータベースのさまざまなミラー。精度はさまざまです。
たとえば、そのようなサイトの1つに、ソフトウェアの作成者として 完全に異なる誰か がリストされています。別の人はそれを パッチされたことがない としてリストします。
だから私の最終的な懸念は:
私のアプリケーションの脆弱性は、好きかどうかに関わらずインターネット上に公開されるので、どうすればいいですか...
私はD.W.の答えが好きだったので、別の文章を書くのが嫌いですが、残念ながら、ここで繰り返すのに十分な大きさの点がいくつかありました。
どうすればよいですか-無関係な通知を受け取ることなく、アプリケーションに対するゼロデイ脆弱性をできるだけ早く見つけますか?
脆弱性の開示元にできるだけ近づき、それが常に同じ元になるとは限らないことを認識してください。これは、情報の取得を改善し、自分自身を見つけやすくすることの組み合わせでなければなりません(これには、独自のスパムの影響があります)。
良いアイデアは次のとおりです。-サイトにバグと脆弱性を含める明白な方法を持っている-他のシステムによって再パッケージされたとき、合意の一部はセキュリティのバグがバグ/脆弱性追跡システムに送られることであることを確認してください。問題が送信される前に問題がどのように吟味されるかについて話し合うことになるでしょうが、最大の脆弱性は多くの場合、システムがより大きなシステムと統合する方法にあることを理解してください。 -脆弱性公開サイトがあなたを見つける方法を知っていることを確認してください-数時間または数日遅れる可能性があるので、真の「ゼロデイ」を修正しませんが、直接それらから直接聞きたいです。 -製品の潜在的な脆弱性に関連する情報をできるだけ多く収集します- Google Alerts -素晴らしいアイデアでした。他にもあると思います。
あなたは無関係な情報があなたの道に来ることを受け入れる必要があるかもしれません-あなたができる最善のことはそれを分類することです。
同様に、すべての脆弱性が善良な人によって発見されるわけではないことも覚えておいてください。他の誰かがそれを見つけるのを待つことは、脆弱性を見つける理想的な方法ではありません。製品が成長するにつれて、次のようなセキュリティ検証を導入する必要があります。
労力のレベルは、ここでのエラーのコストとバランスを取る必要があります。ただし、公開されている脆弱性を見つけて対応するコストは、独自のセキュリティ検証を実装するよりも高い場合があります。
方法-脆弱性データベースがアプリケーションに関連するエントリを作成するタイミングを確認しますか?
脆弱性データベースの多くにはアラートのストリーミングがあります。ストリームをサブスクライブし、RSSフィードをフィルタリングまたは取得して、検索条件で制限することができます。
方法-アプリケーションに関連する脆弱性データベースエントリの正確性を確認しますか?
まず、データベースグループとの関係を作成します。また、データベースグループがリーチを探している場合に、あなたとの関係を構築する方法を明確にしてください。 CERTのガイダンス 、および この記事 -推奨事項の優れたリソースですが、重要な部分は、彼らがあなたに到達できない場合、彼らは正しいことをしないことを認識しています回答。
そしてそれは2つの方法のプロセスです-あなたを見つける方法がありますが、情報を公開する方法も見つけます。また、公開するときは、確実な回答を含めてください。ソリューションの開発者として、実際のテストや実際の情報なしで作業することを思いついたように思われるセキュリティ脆弱性情報を提供するソリューションベンダーとのやり取りが多すぎます。次のようなものをリストします。
また、修正しようとしているCVEまたはその他の公開された問題の詳細。
できるだけ多くのストリームに入れてください-メール購読、ブログ、ウェブサイトなど。これを見つけてもらいたいと思っています。
そしてあなたのプロセスを知らせてください。ウェブサイトに脆弱性を提出した場合、24時間以内に返信があると思いますか?重症度をどのように評価しますか?解決のプロセスは何ですか?他のソリューションに統合されている製品の場合、相互運用テストは誰が行うのですか?
完璧なメトリックスは必要ありません。それらに準拠できる必要があります。したがって、応答時間が2週間である場合は、ユーザーに知らせてください。
将来的には、実行すべき重要なことが1つあります。
セキュリティバグを報告する簡単な方法を提供してください。
あなたのアプリケーションのWebページを調べたところ、セキュリティの研究者がセキュリティの脆弱性の報告について連絡する方法が何もリストされていないようです。セキュリティの脆弱性を報告するメールアドレスがないか、少なくとも見つかりませんでした。機密のセキュリティ脆弱性レポートを送信できるバグトラッカー(または、一般のメンバーがバグレポートを送信できるバグトラッカーでさえ、セキュリティバグの機密レポートはもちろんのこと)を見つけることができませんでした。
たとえば、CERTの ベンダーへの推奨事項 と を参照してください。企業:脆弱性を開示する簡単な方法を提供してください! 。
もちろん、これは特効薬ではありません。セキュリティの脆弱性を報告する明確な方法を提供しても、一部の人々はまだあなたに連絡しないかもしれません-しかし、一部の責任ある研究者は連絡します。いずれにしても、私はあなたに1つのことを伝えることができます。セキュリティバグレポートで連絡する明白な方法を提供しない場合、セキュリティ研究者が将来そうする可能性を大幅に減少させます!
必要に応じて、実行できる追加の手順もいくつかありますが、これらはオプションであり、私がオープンソースプロジェクトにとって重要または必須と分類するものを超えています。
独自のコードのセキュリティ評価を行います。
セキュリティの静的分析ツールとブラックボックス侵入テストツールを使用して、独自のコードのセキュリティを評価できます。これにより、他の人が気づく前に、自分でセキュリティの問題を検出できる可能性が高くなります。
たとえば、 PHPコードの自動セキュリティ監査を実行するための無料の優れたツールは何ですか? と を実行するにはPHPアプリケーションのセキュリティ監査 。また、 [〜#〜] rips [〜#〜] を見てください。これは、PHPコードをスキャンして、潜在的なセキュリティの脆弱性を見つけようとするツールです。 。
脆弱性が公開されている場所を追跡します。
脆弱性が公に報告されているさまざまな場所を追跡することを試みることができます。たとえば、 全開示メーリングリスト に従うことができます。
ゼロデイ脆弱性は、地下に潜むことが多いため、信頼できる情報源から把握することは困難です。公開されたステートメントは、通常、脆弱性が被害者によって検出および追跡された後にのみ発生します。多くの場合、他の潜在的な被害者がシステムにパッチを適用するのに十分早い時期です。残念ながら、これらのメッセージは、パブリッシャーが脆弱性に関する情報を配布した後にのみオープンソースコミュニティに届き、パッチの波及効果につながります。
ありがたいことに、パッケージマネージャーを使用してソフトウェアを自動更新すると、オープンソースコミュニティによって脆弱性に自動的にパッチが適用され、自己検証の必要性が軽減されます。
まず、CVEに 脆弱性アラートサービスのリスト があることは言及に値します。これらのツールは、必要に応じて通知をプッシュしてアラートを送信します。
@ RISK など、脆弱性に関する記事を毎週発行する特定の脆弱性ニュースレターに目を通すことに関心があるかもしれません。
SecurityFocus は、さまざまなソフトウェアの脆弱性(フィードはありません)のリストでWebサイトを更新します。
関連性のない通知をフィルタリングするために、ソフトウェアに関連するキーワードのコンテンツをcronnedスクリプトでフィルタリングすることに興味があるかもしれません。
Google Alerts -ソフトウェアと脆弱性の言及を見つける検索クエリを作成し、毎日メールで送信するように設定すると、Googleがインデックスに登録してから24時間以内であれば何でも知ることができます。
ソフトウェアがFedora、Debian、gentooなどの大規模なディストリビューションに含まれている場合は、セキュリティチームと連絡を取ることが有益です。将来発生するセキュリティの問題を修正してもらえれば幸いです。また、脆弱性情報のさまざまなソースを毎日チェックするためのリソースにも役立ちます。