Malicious Package: com.outsystems.plugins.fileviewer
悪意のあるパッケージ: com.outsystems.plugins.fileviewer
説明
悪意のあるパッケージとは、インストールまたは実行されたシステム上で有害なアクションを実行するように意図的に設計または侵害されたソフトウェアコンポーネントです。意図しない脆弱性を持つ正規のソフトウェアとは異なり、これらのパッケージは悪意を潜ませています。
悪意のあるパッケージの主な特徴:
- 目的: データの窃取、不正アクセスの取得、運用の妨害、またはその他の害を引き起こすように設計されています。
- 欺瞞: 有用なユーティリティや人気のあるライブラリを装ったり(タイポスクワッティングなど、正規のパッケージに非常に似た名前を使用することもあります)、攻撃者が乗っ取った、メンテナンスされていない無害なパッケージのように見せかけたりすることがよくあります。
- 配布: 一般的に、公開ソフトウェアリポジトリ(npm、PyPI、Maven Central、RubyGems、NuGetなど)を通じて配布され、開発者が知らず知らずのうちにプロジェクトに含めることを狙っています。また、攻撃者がパッケージ所有者のアカウントやビルドインフラストラクチャの制御を取得した場合、正規のパッケージに注入されることもあります。
- ペイロード: スパイウェア、ランサムウェア、クレデンシャルスティーラー、クリプトマイナー、バックドア、またはさらなる攻撃を促進するコードなど、さまざまな種類のマルウェアを含めることができます。
一般的な目的:
- データ持ち出し(Data Exfiltration): ユーザーの認証情報、APIキー、財務データ、個人を特定できる情報(PII)、または知的財産などの機密情報の窃取。
- システムの侵害: 開発者のマシン、ビルドサーバー、またはエンドユーザーのデバイスに対する不正な制御の取得。
- リソースの悪用: 暗号通貨のマイニングやDDoSボットネットへの参加などの活動のための侵害されたシステムの利用。
- ラテラルムーブメント: 組織のネットワークのより深部に侵入するための最初の足場としての利用。
- 金銭の窃取: 直接的な資金の窃取または金融詐欺の助長。
悪意のあるパッケージからの脅威を特定し、軽減することは、最新のソフトウェアサプライチェーンセキュリティの重要な側面です。
推奨事項
即時の修復手順:
-
影響を受けるシステムの隔離:
- このパッケージがビルド、インストール、または実行されたマシン(開発者のワークステーション、ビルドサーバー)をネットワークから切断し、さらなる拡散やデータの持ち出しを防ぎます。
- アプリケーションにデプロイされている場合は、可能であれば、影響を受けるエンドユーザーデバイスの範囲を評価します。
-
悪意のあるパッケージの削除:
com.outsystems.plugins.fileviewerを含むすべてのプロジェクトとアプリケーションを特定します。- Cordovaプロジェクトの場合、
package.json、config.xmlを確認し、assets/www/cordova_plugins.jsおよび関連するプラットフォームのビルドファイル(platforms/androidまたはplatforms/iosなど)を検査します。 - プロジェクトの設定(
package.json、config.xmlなど)から依存関係を削除します。 - パッケージが存在しなくなったことを確認した後、既知のクリーンな環境からアプリケーションを再ビルドします。
- ビルドキャッシュとアーティファクトを徹底的にクリーンアップします。
-
クレデンシャルのローテーション(重要):
- 別の信頼できるコンピュータから、侵害されたシステム上に存在していた、またはアクセス可能であったすべてのシークレットとキーをローテーションします。これには以下が含まれます:
- パスワード(ユーザー、管理者、サービスアカウント)
- APIキーとトークン
- SSHキー
- 暗号化キー
- データベースの認証情報
- クラウドプロバイダーの認証情報
- バージョン管理システムの認証情報
- 別の信頼できるコンピュータから、侵害されたシステム上に存在していた、またはアクセス可能であったすべてのシークレットとキーをローテーションします。これには以下が含まれます:
-
システムの調査とサニタイズ:
- 攻撃者が完全な制御を取得している可能性があるため、単にパッケージを削除するだけでは不十分な場合がよくあります。
- 影響を受けるシステムで徹底的なフォレンジック調査を実施し、侵害の範囲、永続化メカニズム、およびインストールされた可能性のあるその他の悪意のあるツールを特定します。
- 影響を受ける開発者のワークステーションとビルドサーバーを、既知の正常な状態から再イメージングすることを検討してください。
-
関係者への通知:
- 顧客データまたはエンドユーザーのデバイスに影響が及ぶ可能性がある場合は、インシデントレスポンスプランに従って通知を行ってください。
将来に向けた予防策:
-
依存関係のスキャン:
- CI/CDパイプラインに自動化されたソフトウェアコンポジション解析(SCA)ツールを導入し、依存関係内の既知の脆弱性や悪意のあるパッケージをスキャンします。
- これらのツールのデータベースを定期的に更新します。
-
依存関係の審査:
- 新しい依存関係を追加する前に、その評判、メンテナー、ダウンロードの統計情報を調査し、報告されているセキュリティ問題がないか確認します。
- 信頼できるソースからの、適切にメンテナンスされているパッケージを優先します。
-
依存関係の固定(Pinning):
- ロックファイル(
package-lock.json、yarn.lockなど)を使用して、依存関係を特定の既知の正常なバージョンに固定します。これにより、潜在的に悪意のある新しいバージョンへの意図しないアップグレードを防ぎます。
- ロックファイル(
-
スコープ付きパッケージ(Scoped Packages)とプライベートレジストリの使用(該当する場合):
- 内部パッケージの場合、スコープ付きの名前とプライベートレジストリを使用して、置換攻撃(Substitution Attack)のリスクを軽減します(ただし、この特定の問題は悪意のあるパッケージであり、置換ではありません)。
-
最小権限の原則:
- ビルド環境と開発者のワークステーションが、必要最小限の権限で動作することを確認します。
-
開発者の教育:
- ソフトウェアサプライチェーン攻撃のリスクと依存関係管理のベストプラクティスについて開発者をトレーニングします。
これらの手順を講じることで、組織は MAL-2022-2047 によってもたらされる差し迫った脅威に対応し、将来の悪意のあるパッケージのインシデントに対する防御を強化できます。
リンク
標準
- OWASP_MASVS_L1:
- MSTG_CODE_5
- MSTG_PLATFORM_2
- OWASP_MASVS_L2:
- MSTG_CODE_5
- MSTG_PLATFORM_2
- PCI_STANDARDS:
- REQ_2_2
- REQ_5_1
- REQ_5_2
- REQ_6_2
- REQ_6_3
- REQ_11_3
- OWASP_MASVS_v2_1:
- MASVS_CODE_3
- MASVS_RESILIENCE_1
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_4_2
- CC_7_1
- CC_7_2
- CC_7_4
- CC_8_1