Один з найпопулярніших безкоштовних текстових редакторів Notepad++ суттєво переробив механізм автооновлення після виявленої атаки на ланцюг постачання ПЗ (software supply chain). Розробники інтегрували систему «double-lock», яка поєднує два незалежні криптографічні контури перевірки, щоб мінімізувати ризики підміни оновлень навіть у разі часткової компрометації інфраструктури.
Як відбулася supply chain атака на оновлення Notepad++
На початку лютого фахівці Rapid7 спільно з командою Notepad++ опублікували технічний розбір інциденту з інфраструктурою оновлень редактора. Згідно з їхніми висновками, починаючи з червня 2025 року, китайське угруповання Lotus Blossom змогло використати механізм автооновлення Notepad++ для прихованого розповсюдження шкідливого програмного забезпечення.
Критичною ланкою стала компрометація хостинг-провайдера, який обслуговував частину інфраструктури оновлень. Зловмисники не атакували всіх користувачів одночасно: вони точково перенаправляли запити окремих жертв на підконтрольні сервери, що імітували легітимний сервіс розповсюдження нових версій Notepad++.
У ході аналізу Rapid7 ідентифікувала використання кастомного бекдора Chrysalis, який постачався саме через підроблені оновлення. Кампанія тривала до 2 грудня 2025 року, коли підозрілу активність виявили, а шкідливий ланцюг доставки оновлень був відключений.
Слабке місце: модель довіри до автооновлень
Розслідування показало, що головною проблемою попередніх версій Notepad++ була надмірна довіра до інфраструктури постачальника оновлень. Клієнтський автоапдейтер не виконував достатньої кількості криптографічно незалежних перевірок автентичності отриманих файлів та метаданих.
Для supply chain атак це типовий сценарій: замість прямого зламу кінцевої системи зловмисники намагаються захопити або підмінити довірений канал доставки ПЗ. Аналогічні підходи вже застосовувались у гучних інцидентах із SolarWinds, CCleaner та іншими продуктами, коли користувачі інсталювали шкідливі оновлення, вважаючи їх повністю легітимними.
Багато аналітиків відносять атаки на ланцюг постачання до найбільш небезпечних векторів загроз для бізнесу: вони складно виявляються, масштаб збитків значний, а зловмисники отримують доступ одразу до великої кількості систем через один скомпрометований компонент.
Еволюція захисту автооновлень Notepad++
Версія 8.8.9: посилення WinGUp та перевірка підпису інсталятора
Перший етап зміцнення захисту відбувся у версії Notepad++ 8.8.9. Компонент автооновлення WinGUp був модернізований так, щоб перевіряти сертифікат видавця та криптографічний підпис інсталятора нової версії.
Це означає, що навіть якщо зловмисник перехопить трафік або зможе підмінити файл на рівні мережевої інфраструктури, непідписаний або підписаний іншим сертифікатом виконуваний файл буде відхилено. Такий підхід значно ускладнює ін’єкцію шкідливого коду в ланцюг оновлень.
Паралельно розробники почали підписувати XML-відповідь сервера оновлень з використанням технології XML Digital Signature (XMLDSig). Під криптографічний захист потрапили метадані: номер доступної версії, URL завантаження, контрольні суми та інші параметри. Це дозволяє виявити будь-яку зміну чи фальсифікацію цих даних.
Версія 8.9.2: double-lock як два незалежні контури верифікації
У релізі Notepad++ 8.9.2 команда проєкту об’єднала ці підходи в повноцінний механізм «double-lock», побудований на двох незалежних рівнях перевірки:
1. Перевірка підпису та сертифіката інсталятора. Автоапдейтер переконується, що виконуваний файл оновлення підписаний коректним видавцем, а цифровий сертифікат чинний і не був підроблений або відкликаний.
2. Перевірка підписаного XML (XMLDSig). Клієнт перевіряє цілісність і автентичність метаданих про оновлення. Будь-яка спроба змінити номер версії, URL завантаження чи інші параметри призведе до помилки перевірки підпису і блокування процесу оновлення.
Поєднання цих двох шарів означає, що зловмиснику вже недостатньо підмінити лише файл оновлення або тільки метадані. Для успішної атаки довелося б одночасно скомпрометувати кілька незалежних криптографічних механізмів, що суттєво підвищує поріг складності й зменшує шанси на успіх.
Рекомендації для користувачів та компаній
Команда Notepad++ наполегливо радить усім користувачам оновитися щонайменше до версії 8.9.2 та завантажувати інсталяційні файли виключно з офіційного домена проєкту: notepad-plus-plus.org. Це особливо актуально для організацій, де Notepad++ використовується в середовищах розробки, адміністрування та аналізу логів – тобто на системах із підвищеною цінністю даних і доступів.
— Використовуйте тільки офіційні джерела ПЗ. Сторонні дзеркала, неавторизовані архіви та випадкові репозиторії істотно підвищують ризик отримати модифікований або шкідливий пакет.
— Перевіряйте цифрові підписи та хеші. У корпоративному середовищі доцільно автоматизувати верифікацію підписів та контроль цілісності критичних компонентів і оновлень, інтегруючи ці перевірки в CI/CD та системи керування активами.
— Обмежуйте привілеї автооновлень. Процес оновлення не повинен мати більше прав, ніж це необхідно. Дотримання принципу найменших привілеїв зменшує масштаб потенційної шкоди у разі компрометації автоапдейтера.
— Ведіть інвентаризацію та моніторинг ПЗ. Актуальний перелік встановлених додатків, контроль версій та журналювання оновлень допомагають оперативно виявляти підозрілі зміни та нестандартну поведінку.
Приклад Notepad++ демонструє, що навіть зрілі та широко використовувані проєкти потребують постійного перегляду моделей довіри та механізмів оновлення. Атаки на ланцюг постачання залишаються одним із найскладніших для виявлення векторів загроз, тому багаторівнева верифікація, криптографічні підписи та незалежні перевірки цілісності мають стати стандартом для будь-якого програмного продукту. Користувачам і компаніям варто не лише оновитися до захищених версій Notepad++, а й критично переглянути власні процеси оновлення ПЗ, впроваджуючи подібні підходи у своїх середовищах.