ベラジョン 税金k8 カジノ「npm」に自己複製型のワームプログラムが動作可能な脆弱性が報告される仮想通貨カジノパチンコラッセン ワールド

ベラジョン 税金k8 カジノ「npm」に自己複製型のワームプログラムが動作可能な脆弱性が報告される仮想通貨カジノパチンコラッセン ワールド

giga スクール 教員 研修k8 カジノ

化 物語 スロット 激 アツ Node.jsのデフォルトパッケージマネジャーとして広く利用されている「npm」に、自己複製型のワームプログラムが動作可能な脆弱(ぜいじゃく)性が報告されている。

 Sam Saccone氏が公開したレポートによると、この脆弱性は、npmのようなパッケージマネジャーが持つ「ライフサイクルスクリプト」のコンセプトに起因したものだという。パッケージマネジャーはシステムで任意のコマンドをカレントユーザーとして(Sudoの場合は一時的な特権ユーザーとして)実行できる。

 npmではセマンティックバージョニング(semver)の利用を推奨しているが、セマンティックバージョニングは、依存関係にあるパッケージのバージョンを固定せず、依存パッケージの作者は、自由にアップデートバージョンをプッシュできる仕様になっている。一方、npmはパッケージリポジトリサーバへのログイン状態を維持する仕様になっており、「npm publish」コマンドでレジストリサーバにコマンドを公開できる。

 このため、特定の手順を踏むと、依存モジュールのバージョンを「^」または「~」で指定している大多数のモジュールで次回のインストール時に自己複製型の細工されたモジュールを埋め込まれるという。

 レポートでは、次の手順で攻撃が可能だとしている。

細工したモジュールをユーザーの環境にインストールさせるワームプログラムが、新しいnpmモジュールを生成するワームプログラムが、インストール時にワームプログラムが実行されるようにモジュールを設定するワームプログラムが、このモジュールをユーザーのアカウントで公開するワームプログラムは、ユーザーがpublish権限を持っている全てのモジュールに対して、新たに作成したモジュールに依存するよう改ざんするワームプログラムはこれら改ざんしたモジュールを、semverの「バグフィックス」レベルを示すアップデートバージョンとしてpublishする対策

 この問題への対策としてJapan Vulnerability Notes(JVN)では以下のワークアラウンドの実施を推奨している。あくまでも、影響を最小限に抑えるための対策だ。

npmサーバにログインしたままにしない(npm logout コマンドでログアウト可能)npm shrinkwrapコマンドで依存パッケージのバージョンを固定するインストール時に「ignore-scripts」オプションを付ける「:npm install –ignore-scripts」npmプロジェクトは既知の問題として把握済み

 Sam Saccone氏のレポートでは、脆弱性報告を行った際に、npmプロジェクトからは「対策する予定はない」との回答を得たとしている。

 npmプロジェクトは公式ブログで、この実装が持つ課題を当初から認識していたが、「ユーザーコミュニティーが拡大したことで、全ての人がこの問題を認識しなくなっていた」と、コメント。今回の脆弱性報告レポートの公開について「こうしたレポートが公開されたことは、課題認知の助けとなる」と評価している。

 npmプロジェクトでは、現在セキュリティベンダーの協力の下、セキュリティスキャンやリスク軽減サービスの導入を準備中だとしている。また、publishに二要素認証を導入する案も検討しているという。

 ただし、どんどんと登場するソフトウェアに対して、商用サービスで展開するスマホアプリのように検査するのは不可能だとしており、「npmは、レジストリに登録されているパッケージが安全であることを保証できない。もし、皆さんが悪意あるコードをレジストリに見つけたら、サポートに連絡してくれればテイクダウンする」とコメントしている。

 パッケージマネジャーは便利なツールであり、レジストリに公開されているものの多くは、オープンソースソフトウェアとして善意で提供されている。利用者側は、そのコンセプトを理解して注意深く利用し、ユーザーコミュニティーにも貢献する必要がある。

仮想通貨カジノパチンコジェー スポーツ

コメントを残す