オープンソースソフトウェアのセキュリティは業界の注目を集めています、しかし、ソリューションには、実装における課題と協力についてのコンセンサスが必要です。
問題は複雑で、カバーすべき多くの側面があります。 とりわけ、サプライチェーン、依存関係管理、アイデンティティから。 これを行うために、Googleは最近、業界がオープンソースの脆弱性と最初に対処する必要のある特定の領域についてどのように考えることができるかを説明するフレームワーク(「Know、Prevent、Fix」)をリリースしました。
グーグルはその理由を説明します:
「最近の出来事により、ソフトウェアの世界では、サプライチェーン攻撃の実際のリスクについてより深く理解するようになりました。 オープンソースソフトウェアは、すべてのコードと依存関係がオープンであり、検査と検証に利用できるため、セキュリティの観点からリスクが少ないはずです。 そして、これは一般的に真実ですが、人々が実際にこの検査作業を行っていると想定されています。 依存関係が非常に多いため、それらすべてを監視することは不可能であり、多くのオープンソースパッケージは適切に維持されていません。
「プログラムが直接的または間接的に、何千ものパッケージやライブラリに依存することはよくあることです。 たとえば、Kubernetesは現在約1000個のパッケージに依存しています。 オープンソースはおそらくプロプライエタリソフトウェアではなく依存関係を使用しており、幅広いベンダーから提供されています。 信頼できる独立したエンティティの数は非常に多くなる可能性があります。 これにより、製品でオープンソースがどのように使用されているか、およびどのような脆弱性が関連しているのかを理解することが非常に困難になります。 また、ビルドされたものがソースコードと一致するという保証もありません。
Googleによって提案されたフレームワーク内で、この難しさをXNUMXつの大きく独立した問題領域に分割し、それぞれに特定の目的を持たせることをお勧めします。
ソフトウェアの脆弱性を知る
ソフトウェアの脆弱性を知ることは、予想よりも困難です 多くの理由で。 うんいいよ 脆弱性を報告するメカニズムが存在し、 それらが実際に使用しているソフトウェアの特定のバージョンに影響を与えるかどうかは不明です。
- 目的:正確な脆弱性データ:まず、利用可能なすべてのデータソースから正確な脆弱性メタデータを取得することが重要です。 たとえば、どのバージョンが脆弱性を導入したかを知ることは、ソフトウェアが影響を受けるかどうかを判断するのに役立ち、いつパッチが適用されたかを知ることは、正確でタイムリーな修正(および潜在的な悪用の狭いウィンドウ)につながります。 理想的には、この分類ワークフローは自動化する必要があります。
- 次に、ほとんどの脆弱性は、直接記述または制御するコードではなく、依存関係にあります。 そのため、コードが変更されていない場合でも、ソフトウェアに影響を与える脆弱性の状況は常に変化する可能性があります。一部は修正され、一部は追加されます。
- 目的:脆弱性データベースの標準スキーマオープンソースの脆弱性を追跡および維持し、その結果を理解し、それらの緩和策を管理するには、インフラストラクチャと業界の標準が必要です。 標準の脆弱性スキームにより、一般的なツールを複数の脆弱性データベースで実行し、特に脆弱性が複数の言語またはサブシステムにまたがる場合に、追跡のタスクを簡素化できます。
新しい脆弱性の追加を避ける
脆弱性の作成を回避することが理想的です また、テストおよび分析ツールは役立ちますが、予防は常に難しい問題です。
ここで、 Googleは、XNUMXつの特定の側面に焦点を当てることを提案しています。
- 新しい依存関係を決定する際のリスクを理解する
- 重要なソフトウェア開発プロセスを改善する
脆弱性を修復または削除する
Googleは、修理の一般的な問題がその範囲を超えていることを認めていますが、 出版社は、問題に対処するために俳優ができることはもっとたくさんあると信じています 依存関係の脆弱性を管理するために固有です。
それはまた言及します:
「今日、この面での助けはほとんどありませんが、精度が向上するにつれて、新しいプロセスとツールに投資することにはお金がかかります。
「もちろん、XNUMXつのオプションは、脆弱性に直接パッチを適用することです。 下位互換性のある方法でこれを行うことができれば、ソリューションは誰でも利用できます。 ただし、問題の経験や変更を直接行う能力がない可能性が高いという課題があります。 脆弱性の修正は、ソフトウェアの保守を担当する担当者が問題を認識しており、脆弱性を開示するための知識とリソースを持っていることも前提としています。
出典 https://security.googleblog.com
英語のオリジナルは言う:
ここでは、XNUMXつの特定の側面に焦点を当てます。
-新しい依存関係を決定する際のリスクを理解する
-重要なソフトウェアの開発プロセスの改善
バージョン "LinuxAdictos」 言います:
ここで、GoogleはXNUMXつの特定の側面に焦点を当てることを提案しています。
-新しい中毒を選択する際のリスクを理解します。
-重要なソフトウェア開発プロセスの改善
新しい中毒!?