ソケット–次世代パッケージ分析によるサプライチェーン攻撃からのオープンソースソフトウェアの保護

公開: 2022-05-30

インターネットの出現と普及により、企業は今日のビジネス環境で生き残り、繁栄するためにデジタル化にますます依存するようになっています。 しかし、技術の進歩によってもたらされる利点により、これらの企業が取り組む必要のある問題があります。 サイバーセキュリティ違反は企業にとって重大な問題であり、多大な損害をもたらす可能性があります。 そこで、この問題に対処するために、Socketはサイバーセキュリティプラットフォームを立ち上げ、企業がソフトウェアサプライチェーン攻撃から身を守るのを支援しました。 これらの企業は、サイバーセキュリティプラットフォームを使用して、オープンソースコードに起因するマルウェアやセキュリティの脅威からソフトウェアアプリケーションと重要なサービスを保護しています。

また読む:中小企業にとってリソース管理が重要である7つの理由

Feross Aboukhadijehによって設立された同社は、企業のオープンソースエコシステムを保護するというビジョンを持って2021年に設立されました。 その焦点は、チームがより短時間で強力なアプリケーションを構築できるようにするオープンソースソフトウェアにありました。 さらに、グループ内の誰もがコードを検査して貢献することができます。 Aboukhadijehは、一般的に信頼できるコミュニティとして、一部の攻撃者がこの信頼と開放性を利用して、真面目なサプライチェーン攻撃を実行していることに気づきました。 オープンソースマルウェアの規模は前例のないほど拡大しています。 これが、オープンソースソフトウェアの継続的な使用に関する懸念が広まっている増加率です。

試行された理由があり、信頼できるアプローチがオープンソースを保護するために機能していません。 セキュリティ業界全体は、既知の脆弱性をスキャンすることに常に夢中になっています。これは、アクティブなサプライチェーン攻撃を阻止するにはあまりにも反応的なアプローチです。 曝露が発見されるまでに数週間から数か月かかる場合があります。

今日の高速開発の文化では、悪意のある依存関係を更新、マージし、本番環境で数日または数時間で実行することができます。 これは、CVEが作成され、チームが使用する脆弱性スキャンツールに組み込まれるのに十分な時間ではありません。

サプライチェーン攻撃と脆弱性は非常に異なり、非常に異なるソリューションが必要です。

️脆弱性は、オープンソースのメンテナによって誤って導入されました。 影響が少ない場合は、脆弱性を本番環境に出荷しても問題ない場合があります。

️サプライチェーン攻撃は、攻撃者によって意図的に導入されています。 マルウェアを送信して表示することは決して大丈夫ではありません。 インストールする前、またはそれに依存する前に、それをキャッチする必要があります。

サプライチェーン攻撃に対処したいチームには、現在2つのオプションがあります。

  • 完全な監査を行う–すべての依存関係のコードのすべての行を読み取ります。 これを行う企業はほとんどありませんが、サプライチェーン攻撃を防ぐためのゴールドスタンダードです。 このプロセス(監査、更新、許可リスト、および重要なセキュリティパッチの適用)を管理するには、フルタイムのチームが必要です。 このアプローチは、最も著名な企業や最もセキュリティが重要なアプリケーションを除いて、手の届かないものです。 それは多くの作業であり、遅く、そして高価です。
  • 何もしない–指を交差させて、最高のものを期待してください。 これは、ほとんどのチームが採用するオプションです。 ほとんどのユニットでは、開発者は依存関係をインストールして作業を完了することができ、プルリクエストを承認する前にこれらの依存関係のコードを確認することすらできません。 ご想像のとおり、このアプローチにより、企業はサプライチェーン攻撃に対して完全に脆弱になります。

どちらのアプローチも理想的ではありません。

また読む:ソフトウェアテストが今日成長しているキャリア分野である10の理由

ワームホールアプリ(エンドツーエンドの暗号化ファイル転送ツール)を開発している間、同社はサプライチェーン攻撃の絶え間ない猛攻撃の中で、オープンソースの依存関係を選択、管理、および更新するという課題を経験しました。 これは、問題に対する悲惨な解決策の必要性につながりました。 そのため、同社は、攻撃者がパッケージを侵害した後、実際に何をするかを調査しました。 JavaScriptエコシステムにおけるほぼすべてのサプライチェーン攻撃は、おなじみのパターンに従いました。 攻撃者がパッケージを制御できるようになると、インストールスクリプト、ネットワーク接続、シェルコマンド、ファイルシステムアクセス、または難読化されたコードが追加されました。 他の人は、タイプミスなどのソーシャルエンジニアリングを使用していました。 これにより、ソリューションの正しい方向性が提供されました。 革新的なソリューションは、すべてのオープンソースパッケージが悪意のあるものであり、侵害されたパッケージの兆候を事前に検出するために逆方向に機能する可能性があることを前提としています。 同社は、使いやすさを損なうことなく、このリスクを軽減するための最も簡単な方法を模索していました。 そのため、開発者が開発速度を犠牲にすることなくオープンソースを安全に使用できるように支援することに着手しました。 その後の数か月で、Socketは人気のあるオープンソースパッケージで誕生しました。

同社は、オープンソースパッケージとその依存関係を静的に分析することで、サプライチェーン攻撃の明らかな兆候を検出できます。 次に、パッケージがセキュリティ関連の方法で変更されたときに開発者に警告し、インストールスクリプトの導入、難読化されたコード、シェル、ネットワーク、ファイルシステム、環境変数などの特権APIの使用などのイベントを強調表示します。 たとえば、パッケージがネットワークを使用しているかどうかを検出するために、Socketは、fetch()、ノードのネット、dgram、DNS、HTTP、またはHTTPSモジュールがパッケージまたはその依存関係のいずれかで使用されているかどうかを調べます。 パッケージの新しいバージョン(特にマイナーバージョンまたはパッチバージョン)がネットワークと通信するためのコードを追加する場合、それは大きな危険信号です。 そのため、パッケージの問題が検出されます。

同社のデジタル製品およびサービスに対する顧客の反応は素晴らしいものでした。 同社は、立ち上げから2か月で、数千の組織と数万のリポジトリを保護してきました。

同社の顧客は、攻撃から身を守りたい企業で構成されています。 会社のアプリをインストールしてサプライチェーン攻撃から保護するには、わずか数分かかります。

次のストーリー:Kaaruka –アートマニアのための新鮮な衣料品ブランド!

顧客と視聴者へのメッセージ:

「オープンソースライブラリはかつてないほど人気が​​あります。 ほとんどのコードベースの80〜90%を占めるオープンソースコードでは、組織のセキュリティリスクを軽減するために、それを効果的に管理することが重要です。 ソフトウェアサプライチェーン攻撃はこの1年で爆発的に増加し、オープンソースコンポーネントはますますベクトルとして使用されています。 適切な審査を行わずにサードパーティの依存関係を使用すると、ハッキング、侵害、およびさまざまなセキュリティ問題が発生する可能性があります。 Socketは、災害が発生する前にサプライチェーン攻撃を検出し、オープンソースコードによって引き起こされるセキュリティの問題をリアルタイムで防止します。 Socketは、基本的な脆弱性スキャン以上のものを提供します。 Socketは、開発者のワークフローに直接統合することで、マルウェア、隠しコード、タイポスクワッティング、誤解を招くパッケージなど、予期しない攻撃を防ぎます。 Socketは、開発者が使用しているオープンソース、実行している(または実行できる)こと、およびリスクが最も高いコンポーネントを通知することで、依存関係の健全性を管理するのに役立ちます。 GitHubやその他のソース管理システムでセキュリティ情報を直接インラインで表示することで、開発者はセキュリティの問題を回避してから本番環境に移行できます。」