Популярный текстовый редактор Notepad++ получил существенное усиление механизма автообновления: разработчики внедрили систему «двойной блокировки» (double-lock), чтобы надежно закрыть уязвимости, которые ранее были использованы в атаке на цепочку поставок приложения.
Как была организована supply chain атака на Notepad++
В начале февраля специалисты Rapid7 совместно с командой Notepad++ опубликовали подробный разбор компрометации инфраструктуры обновлений редактора. По их данным, начиная с июня 2025 года, китайская группировка Lotus Blossom использовала механизм автообновления Notepad++ для скрытого распространения вредоносного ПО.
Ключевым элементом атаки стала компрометация хостинг-провайдера, который обслуживал инфраструктуру обновлений проекта. Злоумышленники не подменяли обновления для всех подряд: вместо этого они точечно перенаправляли запросы отдельных пользователей на подконтрольные им серверы, имитировавшие официальный сервис распространения новых версий.
По результатам анализа Rapid7 выяснилось, что в этой кампании применялся кастомный бэкдор Chrysalis. Атака продолжалась вплоть до 2 декабря 2025 года, когда подозрительная активность была выявлена и механизм распространения малвари отключен.
Слабое звено: проверка подлинности обновлений
Расследование показало, что основной проблемой старых версий Notepad++ была недостаточно строгая верификация обновлений. Клиентская часть автоапдейтера полагалась на доверие к инфраструктуре поставщика и не выполняла несколько независимых проверок подлинности получаемых файлов и метаданных.
Для атак на цепочку поставок такой сценарий типичен: злоумышленники стремятся не взламывать конечные устройства напрямую, а перехватывать доверенный канал поставки ПО. Аналогичные подходы применялись, например, в атаках на SolarWinds, CCleaner и другие популярные продукты, где пользователи устанавливали вредоносные обновления, считая их легитимными.
Что изменилось в Notepad++: эволюция защиты автообновлений
Первый этап: усиление WinGUp в версии 8.8.9
Работа над укреплением механизма обновления началась еще в версии 8.8.9. Компонент автообновления WinGUp был доработан так, чтобы проверять сертификат и криптографическую подпись загружаемого установочного файла. Это означало, что даже при перехвате сетевого трафика злоумышленник не мог незаметно подсунуть неподписанный или подписанный другим сертификатом исполняемый файл.
Параллельно разработчики начали подписывать XML-ответ сервера обновлений, используя механизм XML Digital Signature (XMLDSig). Подписывались метаданные о доступной версии, ссылках на загрузку и других параметрах, что позволило обнаруживать их подмену или модификацию.
Второй этап: механизм double-lock в версии 8.9.2
В версии 8.9.2 разработчики интегрировали полноценный механизм double-lock, объединив оба контра. Теперь процесс обновления защищен двумя независимыми уровнями верификации:
1. Подпись и сертификат установщика. Клиент проверяет, что исполняемый файл обновления подписан корректным издателем и что сертификат не подделан и не отозван.
2. Подписанный XML-ответ сервера (XMLDSig). Проверяется целостность и подлинность метаданных об обновлении. Любая попытка изменить версию, URL загрузки или другие параметры приведет к сбою проверки подписи.
По словам разработчиков, сочетание этих двух независимых механизмов верификации делает эксплуатацию канала обновления крайне затруднительной, сводя к минимуму вероятность успешной атаки даже в случае частичной компрометации инфраструктуры.
Практические выводы для пользователей и компаний
Команда Notepad++ настоятельно рекомендует всем пользователям обновиться до версии 8.9.2 и загружать установочные файлы исключительно с официального домена проекта: notepad-plus-plus.org. Это особенно важно для организаций, где Notepad++ используется в средах разработки, администрирования и анализа логов, то есть на системах с повышенной ценностью данных.
Для снижения рисков атак на цепочку поставок в целом безопасно применять следующие практики:
— Использовать только официальные источники загрузки ПО. Зеркала, сторонние архивы и неавторизованные репозитории увеличивают вероятность подмены файлов.
— Проверять цифровые подписи и хэши. В корпоративных средах целесообразно автоматизировать проверку подписей и контроль целостности критичных обновлений.
— Ограничивать права автообновлений. Автоапдейтеры не должны иметь избыточных привилегий в системе; применение принципа наименьших привилегий уменьшает потенциальный ущерб.
Усиление безопасности автообновления Notepad++ демонстрирует, что даже зрелым и широко используемым проектам необходимо постоянно пересматривать свои механизмы доверия. Атаки на цепочку поставок остаются одним из самых опасных и труднообнаруживаемых векторов, и опыт Notepad++ может служить ориентиром для других разработчиков, внедряющих многоуровневую верификацию, криптографические подписи и независимые механизмы контроля целостности в свои процессы обновления.