サイバー攻撃と防御の実務

ある企業は、社内のパッケージの置き場(プライベートレジストリ)に、社内専用のライブラリ acme-utils を置いて使っている。攻撃者が、公開のパッケージの置き場に、同じ名前 acme-utils でより大きな版番号のパッケージを登録したところ、ビルドの設定によっては、社内のビルドの環境が攻撃者のパッケージを取り込んでしまうことが分かった。この「依存関係の混乱(dependency confusion)」への対策として、最も適切なものはどれか。

  1. A社内専用のライブラリの版番号を小さく保ち、公開の置き場にあるパッケージと区別しやすくしておく
  2. B社内専用のパッケージは組織が管理する名前空間に置いて社内の置き場からだけ取得するように設定し、ロックファイルで版とハッシュ値を固定する
  3. C公開の置き場のパッケージは審査されていて信頼できるので、どの置き場から取得するかは設定しなくてよい
答えと解説を見る

正解:B. 社内専用のパッケージは組織が管理する名前空間に置いて社内の置き場からだけ取得するように設定し、ロックファイルで版とハッシュ値を固定する

依存関係の混乱は、ソフトウェアのサプライチェーン攻撃の一種です。パッケージの管理ツールの中には、複数の置き場を参照し、同じ名前があれば版番号の大きいほうを選ぶ設定のものがあり、攻撃者はそれを悪用して、社内の名前と同じ不正なパッケージを取り込ませます。対策は、社内のパッケージに組織が管理する名前空間(スコープ)を使い、その名前空間を社内の置き場だけに結び付けて、どの置き場から取得するかを明示することです。さらに、ロックファイルで依存するパッケージの版とハッシュ値を固定すれば、知らないうちに別のものに置き換わることを防げます。公開の置き場に組織の名前空間を先に登録しておくことも、なりすましを防ぐのに役立ちます。

  • A. 版番号を小さくすると、大きな版番号を付けた攻撃者のパッケージが、かえって選ばれやすくなります。
  • B. 正しい。取得元の固定と、版とハッシュ値の固定で、すり替えを防ぎます。
  • C. 公開の置き場には誰でも登録できるので、取得元を明示しないと不正なパッケージを取り込むおそれがあります。
この分野を解く 分野ページへ

サイバー攻撃と防御の実務の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

サイバー攻撃と防御の実務のほかの問題

  1. 2020年12月に発覚したSolarWinds社の事件では、IT管理用のソフトウェアのビルドの環境に攻撃者が入り込み、正規の更新プログラムに不正なコードが混ぜられた。この更新は、開発元の正規のコード署名が付いた状態で配布された。この事件から得られる教訓として、最も適切なものはどれか。
  2. クラウドのオブジェクトストレージに置いた顧客の情報のファイルが、インターネットの誰からでも読み出せる状態になっていたことが分かった。このような情報の漏えいの典型的な原因と、再発を防ぐ対策の組み合わせとして、適切なものはどれか。
  3. クラウドの上で動くバッチの処理に、すべての操作を許可した管理者の権限のアクセスキー(長期間有効な認証情報)を、設定ファイルに書いて渡していた。このキーが漏えいしたときの被害を小さくするための見直しとして、最も適切なものはどれか。
  4. 攻撃者が社員のパスワードを入手し、ログインを何十回も繰り返して、社員のスマートフォンに承認を求める通知を大量に送りつけた。社員はわずらわしくなり、つい「承認」を押してしまった。この攻撃への対策として、最も適切なものはどれか。
  5. FIDO2(WebAuthn)のパスキーによる認証が、ワンタイムパスワード(OTP)と比べて、フィッシングに強いとされる理由として、正しいものはどれか。

この分野の比較