- Notepad++公式サイトの更新トラフィックが攻撃者サーバーへリダイレクトされたセキュリティ侵害事件が発生
- 攻撃はホスティング事業者のインフラ層の侵害によって行われたもので、Notepad++のコード自体の脆弱性ではない
- 2025年6月から12月2日まで攻撃が継続し、複数のセキュリティ研究者は中国政府支援のハッキンググループの犯行と評価
- 攻撃者は**更新検証手順が不十分な旧バージョンのNotepad++**を狙って悪意ある更新を配布
- その後、Webサイト移転、証明書・署名検証の強化、XML署名の導入などによりセキュリティが強化された
事件概要
- セキュリティ告知(v8.8.9発表)後、外部専門家および以前のホスティング事業者との協力により調査が進められた
- 分析の結果、攻撃者はnotepad-plus-plus.org向けの更新トラフィックを傍受してリダイレクトできるインフラ層の侵害を実行
- 侵害はNotepad++のコードではなく、ホスティング事業者のサーバーで発生
- 特定ユーザーのトラフィックだけが選別的に攻撃者サーバーへリダイレクトされ、悪意ある更新マニフェストが提供された
攻撃時期と背後
- 攻撃は2025年6月に開始
- 複数の独立したセキュリティ研究者が中国政府支援のハッキンググループによるものと推定
- 攻撃が非常に限定的かつ選択的に実施された点が特徴
ホスティング事業者の調査結果
- 事業者は2025年9月2日までサーバーが侵害されていたことを確認
- この日にカーネルおよびファームウェアの更新が行われ、その後ログから同様のパターンが消えた
- 攻撃者は12月2日まで内部サービス認証情報を保持し、トラフィックの一部をリダイレクト可能だった
- ログ分析の結果、他の顧客は攻撃対象ではなく、Notepad++ドメインのみが標的だった
- 12月2日以降は
- 脆弱性修正と認証情報の交換を完了
- 他のサーバーで同様の侵害痕跡はなし
- 顧客に対し、SSH、FTP/SFTP、MySQLのパスワード変更とWordPress管理者アカウントの点検を推奨
要約(TL;DR)
- 共有ホスティングサーバーは2025年9月2日まで侵害され、その後も攻撃者は12月2日まで内部認証情報を保持
- 攻撃者はNotepad++の更新検証の脆弱性を悪用して悪意ある更新を配布
- 12月2日以降、すべてのセキュリティ強化措置が完了し、追加攻撃を遮断
対応とセキュリティ強化
- Notepad++ Webサイトをセキュリティ水準の高い新しいホスティング事業者へ移転
- Notepad++内蔵の更新ツールWinGupはv8.8.9から
- ダウンロードされたインストーラーファイルの証明書および署名検証機能を追加
- 更新サーバーのXMLレスポンスにXMLDSig署名を適用
- v8.9.2から証明書・署名検証を強制適用予定
- ユーザーにはv8.9.1の手動インストールを推奨
追加情報と調査の限界
- 侵害指標(Indicator of Compromise, IoC) は確保されていない
- 約400GBのサーバーログを分析したが、バイナリハッシュ、ドメイン、IPなど具体的なIoCはなし
- ホスティング事業者にもIoCの提供を求めたが、受け取れなかった
- Rapid7のIvan Feiglが別個の調査結果を共有しており、より具体的なIoCを保有している
結論
- 攻撃はホスティングインフラ侵害を通じた標的型の更新改ざんという形態
- セキュリティ強化とサーバー移転により問題は解決済み
- Notepad++は今後、更新検証体制の強化によって類似攻撃の防止を進める
1件のコメント
Hacker Newsのコメント
実際に必要でない限りプログラムのインターネットアクセスを遮断するファイアウォール習慣のおかげで、こういう問題にはかなり強いと思っている
テキストエディタがインターネットにアクセスする理由はまったくない
更新は
wingetでしか行わず、たいていはGitHubからインストーラを取得している。パッケージの変更はPR経由でしかできないと理解している。完璧ではないが、かなり信頼している更新を先延ばしにしてまだ8.5.8を使っているのだが、結果的により安全な状態だったのかもしれないと思っている
感染したアップデートを受け取った人たちに実際に何が起きたのか、具体的な情報があればよかった
インストール済みのNotepad++ファイルのチェックサムを検証するツールがあれば役に立ちそうだ
しかも告知文に誤字が多くて、もしかして国家支援ハッカーが書いたのではないかと疑ってしまう。新しいバージョンのほうがむしろ悪意あるものだった可能性はないのだろうか?
友人たちが先にアップデートを試し、その結果を信頼できるweb of trustシステムがあればいいのにと思う
8.8.1以下のバージョンは安全だという。GitHubには各バージョンのSHA256チェックサムが公開されている
自動更新を有効にすることより、コードを自分でレビューすることのほうが重要だ
無作為なアプリが悪性アップデートで感染する確率のほうがずっと高いと思う。たまに手動でだけ更新する
Chocolateyを使っていたおかげで、今回の攻撃は回避できた
メンテナがSHA256チェックサムをハードコードしていて、WinGuPをまったく使っていない
こういう状況ではパッケージマネージャの利点がよく表れる
アップデートサーバーの脆弱性やチェックサム検証の有無が分からないので、内蔵アップデート機能は信用していない
その代わりに
choco update notepadplusplusやwinget upgrade Notepad++.Notepad++で管理しているおそらくこの件はNotepad++の台湾関連告知と関係があるのだろう
だが、ソフトウェアは政治と切り離されるべきだと考える。政治的目標に同意するとしても、コードに混ぜるのは不要だ
小規模チームが保守している汎用ツールはいつも不安だ
一部のインストールだけがハックされても、サプライチェーン攻撃として数多くの企業が危険にさらされる
WiresharkやBurp Suiteのようなツールでトラフィックを直接分析することもできる
こうしたファイアウォールはWindowsやLinuxでも可能だ
特定ユーザーのトラフィックが攻撃者のサーバーにリダイレクトされ、悪意あるアップデートマニフェストを受け取ったという
どんなユーザーが標的になったのか気になるが、記事では中国政府支援ハッカーと推定されるとしか書かれていない
標的システムが実際にどのように侵害されたのか気になる
8.8.7以前のバージョンは自己署名証明書を使っていて、その鍵がGitHubに露出していた
攻撃はアジア地域の一部ユーザーだけを狙った手動侵入型の攻撃だった
ホスティング事業者だけを責めるのではなく、開発者にも責任があると思う
結局、「では自分はNotepad++をどうすればいいのか?」という疑問が残る
自分は新しいソフトウェアをインストールしたらすぐに更新確認機能を無効化する
こうした攻撃がまれだとしても、更新リクエストが自分のコンピュータのフィンガープリントや位置情報を露出させると思っている
脅威モデリングによって現実的なレベルのセキュリティを維持することが重要だ