知らないうちにパソコンに裏口が?「サプライチェーン攻撃」の怖いお話
こんにちは、Jonです!AIやテクノロジーの難しい話を、誰にでも分かるように解説しています。
突然ですが、皆さんは料理をするとき、便利な「だしの素」や「カレールー」を使いますよね。自分で一から全部作るより、ずっと手軽で美味しく仕上がります。実は、プロのプログラマーさんたちも、ウェブサイトやアプリを作るときに、同じように便利な「プログラムの部品」をたくさん使っているんです。
でも、もしその「便利な部品」に、こっそり悪いものが仕込まれていたら…? 今回は、そんなちょっと怖い「サプライチェーン攻撃」というお話です。
ウェブ開発の世界で起きた「汚染された部品」事件
最近、ウェブ開発の世界でちょっとした事件がありました。攻撃者が、たくさんの開発者が利用する「NPM」という場所に置かれている、いくつかのプログラム部品を標的にしたのです。
ここで、「NPM」という言葉が出てきましたね。これは、プログラミング言語の一つである「JavaScript」の便利な部品(パッケージと呼ばれます)がたくさん集められている、巨大なオンライン倉庫のようなものです。世界中の開発者さんが、この倉庫から必要な部品をダウンロードして、自分の作るソフトウェアに組み込んでいます。
今回の事件では、攻撃者はこの倉庫にあるいくつかの部品に、悪意のあるソフトウェア(マルウェア)をこっそり仕込むことに成功してしまいました。つまり、開発者さんたちが「いつもの便利な部品だ」と思ってダウンロードすると、実はマルウェアも一緒にダウンロードしてしまう、という状況が生まれてしまったのです。
「サプライチェーン攻撃」って、どういう仕組み?
今回の事件は、「サプライチェーン攻撃」と呼ばれるサイバー攻撃の一種です。なんだか難しそうに聞こえますが、仕組みは意外とシンプルです。
サプライチェーンとは、製品が作られて消費者に届くまでの「供給の連鎖」のこと。例えば、自動車メーカーは、タイヤの会社やガラスの会社から部品を仕入れて車を組み立てますよね。この「部品の仕入れ」の部分を狙うのが、サプライチェーン攻撃です。
ソフトウェアの世界では、こんな流れになります。
- 開発者は、便利な「部品(パッケージ)」をNPMのような場所から手に入れて、自分のアプリやウェブサイトを作る。
- 攻撃者は、アプリそのものではなく、その材料となる「部品」に狙いを定める。
- 攻撃者は、人気のある部品にこっそりマルウェアを仕込む。
- 何も知らない開発者たちは、汚染された部品を使ってアプリを完成させる。
- 結果として、そのアプリを使うたくさんのユーザーのコンピュータに、マルウェアが広がってしまう。
この攻撃の怖いところは、部品をダウンロードしただけでは気づきにくい点です。そして、仕込まれたマルウェアは「バックドア(裏口)」として機能することがあります。これは、攻撃者が後からいつでも、あなたのコンピュータにこっそり侵入するための「秘密の入口」を作ってしまう、ということです。
たった6時間で広がった脅威
実際に被害に遭った例として、「is」という名前のパッケージがあります。これは、データの種類が正しいかどうかをチェックするための、とてもシンプルで多くの人に使われている部品でした。
7月19日、攻撃者はこの「is」パッケージにマルウェアを仕込みました。そして、なんと6時間もの間、誰もそのことに気づかなかったのです。その間、この汚染された部品を自動的にダウンロードしてしまった開発者は、知らないうちに自分のコンピュータにバックドアを設置される危険にさらされていました。
この事実は、この部品の管理者であるジョーダン・ハーバンドさんという方によって、BlueskyというSNSで報告され、発覚しました。
いやー、便利なものには思わぬ落とし穴があるかもしれない、という教訓に感じますね。私たちが普段何気なく使っているアプリやサービスも、こうしたたくさんの「部品」から成り立っていると思うと、開発者さんたちの安全への配慮や見えない努力に、改めて頭が下がる思いです。
この記事は、以下の元記事をもとに筆者の視点でまとめたものです:
Supply chain attack compromises NPM packages to spread
backdoor malware