
インテルは、AIと社内リサーチチームによる オープンソースのセキュリティ脅威フィードです。インテルは 、オープンソースパッケージの脆弱性を監視し、 公開される前に発見します。 その多くは決して公開されることはありません。
サイレントパッチが適用されたソフトウェアの脆弱性の67%は公表されなかった
オープンソースソフトウェアは、文字通り世界を動かしている。しかし、オープンソースのセキュリティは、セキュリティ上の大きな懸念事項でもある。オープンソースのツールは、他のものと同様に、セキュリティの脆弱性をもたらす可能性があります。これらは、攻撃者がアプリケーションを悪用するために利用することができます。ソフトウェア・ベンダーは、自らの過失によらず、攻撃される可能性があるのです。そのため、オープンソースのセキュリティは非常に重要なトピックなのです。
私たちは、オープンソースコミュニティにこれらのツールの構築と保守を依存しているだけでなく、既知のセキュリティ脆弱性を修正することも依存しています。重要なことは、脆弱性が 発見されたときに、その脆弱性を公に報告 することです。コミュニティからの脆弱性の公開は、オープンソースのセキュリティの基礎を形成します。
サイレント・パッチ(シャドウ・パッチ)とは、セキュ リティ修正が適用(パッチ適用)されているにもかかわらず、公表されな いパッチのことである。これは、ベンダーがリスクを認識しないまま脆弱なソフトウェアを運用している可能性があることを 意味するため、大きな問題となる。
私たちはAikido 立ち上げ、ユーザーに影響を与える可能性のある、密かに修正されたソフトウェアを闇から引き出します。Aikido により、開発者に影響を与える可能性のある脆弱性を発見した場合、可能な限り早期に警告を発し、オープンソースのセキュリティ向上に貢献します。
Aikido とは何ですか?
Aikido 、AIと当社の社内研究チームによる取り組みであり、オープンソースのサプライチェーンにおける脆弱性を可能な限り早期に発見することで、オープンソースのセキュリティ向上を目指しています。脆弱性データベースに公開される前段階での発見を可能にします。これを実現するため、カスタムトレーニングを施した大規模言語モデル(LLM)を用いてパッケージの変更内容を検証し、セキュリティ問題が修正されたタイミングを特定します。
すべてのソフトウェアと同様に、オープンソースも各新バージョンで調整された内容の変更ログを保持しています。 インテルはAIを活用し、これらの公開変更履歴とリリースノートを全て読み込み、セキュリティ問題が修正された事例を抽出します。その後、5つの脆弱性データベースと照合し、当該問題が報告済みかどうかを確認します。未報告の場合、セキュリティエンジニアが脆弱性を分析・評価し、Aikido 番号と深刻度を割り当て、公開して影響の有無を通知します。詳細は後述します。

Aikido 分析

1月に開始したAikido以来、 インテルは511件の脆弱性を発見しました パッチは適用されたものの、公には開示されなかった脆弱性を発見しました。これは、それらのパッケージを使用しているすべての人にとって現実的な脅威となります。

脆弱性を修正してからCVE番号が割り当てられるまで時間がかかる場合があります。Aikido 毎週、過去の脆弱性の状況をAikido 、CVEが割り当てられたものがないか確認しています。当社が発見した脆弱性の67%は、いかなる脆弱性データベースにも公開されたことがないことを明かします!


深刻度が低い脆弱性ほど頻繁にサイレント・パッチが適用されるのは驚くことではないが、深刻度が高く重要な脆弱性の50%以上が公表されないというのは衝撃的である。これは、開発者やソフトウェア・ベンダーにとって大きな盲点となる。
さて、皆さんの中には、おそらくこれらはセキュリティ・ポリシーが限定的な、あまり人気のない、小さなオープンソース・プロジェクトなのだろう、と席を立ってもじもじしている人もいるだろうが、実はそれは間違いだ。私たちは、いくつかの非常に大規模なプロジェクトで、公表されていない脆弱性を発見しました。.
Axiosはブラウザとnode.jsのための約束ベースのHTTPクライアントで、毎週5600万ダウンロードされ、146,000以上の依存先を持つ。

この脆弱性に関する豆知識: 実はAikido 発見した最初の脆弱性でした(2023-10001番を参照)…そして今日に至るまで未公開のままです!
Axiosだけでなく、他にも特別に賞賛に値する名前がいくつかある。アパッチは、公開されていなかったクロスサイト・スクリプティングの脆弱性をエカルツ・ソフトウェアにサイレント・パッチした。

私たちが発見したもうひとつの興味深い例は、9月にパッチが適用されたものの、その脆弱性が公表されなかったチェーンリットのクリティカル・パス・トラバーサル脆弱性である。

最も一般的な脆弱性
クロスサイト・スクリプティングは、最も一般的な未公開の脆弱性で、14.8%を占め、次に機密情報の漏洩が12.3%でした。全体として90種類の脆弱性が検出され、ロングテールの結果となりました。
発見された最も一般的な脆弱性

キューティクルと高度の脆弱性だけを見てみると、リモート・コード実行がリストの1位を占めており、少し違った様相を呈している。
発見された最も一般的な脆弱性 - クリティカルとハイのみ

開示までの時間
この記事を書いている時点では、67%のパッケージが脆弱性を公表していないが、31%は公表している。脆弱性を公開したパッケージのうち、パッチがリリースされてから CVE が割り当てられるまでにかかった日数は平均 27 日でした。私たちが観測した最短時間はわずか1日で、 最長時間は9ヶ月だった!

インテルの仕組み(詳細)
新しいAIのくだらない話には皆うんざりしているのは承知しているが、IntelAikidoチームによる取り組みであり、AikidoチームAikido 「ヒューマン・イン・ザ・ループ」方式でAIを活用し、オープンソースセキュリティの向上に向けた公開脅威フィードを提供している。
インテルは、公開されているすべての変更履歴とリリース・ノートに目を通し、セキュリティ修正が行われたにもかかわらず公開されていないかどうかを把握する。 これを実現するために、2つのLLMモデルが使用されます。1つはデータをフィルタリングし、不要なコンテキストをすべて削除するためのもので、2つ目のLLMは脆弱性分析に集中することができます。そして、人間のセキュリティ・エンジニアが LLM の発見をレビューし、発見を検証し、脆弱性が確認されたときに Intel をリリースする。
これは、脆弱性のためにこれらすべてのシステムをスキャンしようとするよりも著しく少ない計算能力を消費するため、このように効果的な方法である。とはいえ、1年以上かけて多くの真の結果を見つけることが証明されている。
Aikido における変更履歴の閲覧方法
チェンジログとは、オープンソースプロジェクトにおいて更新、バグ修正、機能追加、パッチを記録するために維持されるドキュメントである。例として以下が挙げられる。 CHANGELOG.md ファイル、コミットメッセージ、GitHubのリリースノート。
インテル® LLM は、セキュリティ関連の変更を示唆するエントリーを特定するために、以下の項目を検索する:
- キーワード「脆弱性」、「セキュリティ」、「修正」、「エクスプロイト」、「入力検証」など。
- 文脈上の合図:「重大なバグを修正した」、「バッファオーバーフローを修正した」、「認証の問題を解決した」。
LLMがフラグを立てたエントリー例:-
- サービス拒否攻撃につながる可能性のあるメモリリークを解決しました。
- ファイルアップロード機能におけるパストラバーサルの脆弱性に対処しました。
オープンソースのセキュリティ、脆弱性の適切な開示方法
前述の通り、公開開示はオープンソースセキュリティの重要な要素です。ソフトウェアに脆弱性が存在する際に開示するために、複数の異なるデータベースが利用されます。主要なデータベースは米国政府が管理するNational Vulnerability Database(NVD)です。このデータベースは企業がサプライチェーンを確認するために利用されるだけでなく、プロジェクトをこのデータベースや他のデータベースと照合するセキュリティソフトウェア(SCAソフトウェア)にも使用されます。 他にも、MITREの共通脆弱性情報データベース(CVE)、GitHubアドバイザリデータベースなど複数のデータベースが存在し、Aikido 合計5つの異なるデータベースに対してAikido 。しかし、これらのデータベースのほとんどに共通しているのは、脆弱性が公開されることを要求している点です。通常、修正プログラムがリリースされた後に公開されます。
なぜ脆弱性が公表されないのか?
これは良い質問であり、脆弱性を開示しない正当な理由はないということから始めたい。おそらく最も一般的なのは、あなたのソフトウェアが安全でないとみなされるかもしれないという風評リスクでしょうが、私は、開示することよりも開示しないことで失うものの方がはるかに大きいと主張します。
シャドーパッチがオープンソースのセキュリティにとって問題である理由
ソフトウェアの脆弱性を公表しないことは、ユーザーにとって大きなリスクとなる。 壊れていないなら直すな 」ということわざがあるように 、これはソフトウェアにもよく当てはまります。
ソフトウェアのコンポーネントをアップデートすると、パフォーマンスやユーザビリティに問題が生じたり、単にアプリケーションが壊れたりすることがよくあります。このようなことを念頭に置いて、新しいバージョンが利用可能になったらすぐにパッケージをアップデートするというのは、必ずしも一般的なやり方ではありません。
しかし、コンポーネントにセキュリティ上の問題がある場合、オープンソースやサードパーティのコンポーネントをアップデートする緊急性が変わるため、それを知ることは重要です。この情報が開示されないということは、ユーザーがアップデートをする可能性が低いということであり、つまり、ユーザーが知らないうちにツールにセキュリティ上の欠陥があるということである。
隠れた脆弱性によってセキュリティが損なわれないようにしましょう。
今すぐAikido と提携し、サプライチェーンを保護して安心を手に入れましょう。
今すぐソフトウェアを保護しましょう



.avif)
