В этом совете я говорю только о технических моментах, опуская моральную и этическую сторону вопроса

В последние недели в разных айти‑продуктах начали появляться «политические диверсии». Например, обновление плагина на сайте могло поместить на все страницы банер с политическими манифестами и лозунгами.

В этом совете я говорю только о технических моментах, опуская моральную и этическую сторону вопроса

В другое время такой банер тянул бы лишь на неудачную шутку, но в текущей ситуации он представляет реальную опасность для сайта и его владельца — Роскомнадзор вряд ли будет разбираться, по чьей вине на сайте появились неугодные высказывания.

В последние дни диверсии стали злее и деструктивнее. Появились блокировщики доступа, шифровальщики данных, скрипты, которые вешают компьютеры пользователей намертво или используют их ресурсы для ДДОС‑атак на другие сайты.

Код в обновлении vue‑cli перетирает содержимое файлов проекта для пользователей России и Беларуси, см. vue‑cli issue#7054

Чем крупнее и функциональнее проект, тем тяжелее последствия попадания в него вредоносного кода. Диверсия может создать массу проблем даже в личном блоге, а тем более в крупном продукте с высокой посещаемостью и большими объёмами клиентских данных. И если банер из блога можно убрать относительно быстро, то зашифрованную файловую систему или базу данных восстановить гораздо сложнее. А ещё сложнее восстановить репутацию.

Вот пара простых, но важных советов в текущей ситуации.

Избегайте ненужного обновления программ и зависимостей

Сейчас не лучшее время для обновления библиотек, фреймворков, плагинов для сайтовых админок и других сторонних решений. Любые серьёзные миграции тем более лучше пока отложить — они неизбежно связаны с установкой кучи зависимостей.

Если система работает — не трогайте её без крайней нужды.

Будьте внимательны с пакетными менеджерами. Даже если в списке пакетов зафиксированы их версии, пакетный менеджер может неявно обновить зависимости пакетов и подтянуть таким образом вредоносный код. Чтобы избежать неявных обновлений, в современных пакетных менеджерах есть лок‑файлы, в которых фиксируется полное дерево версий всех пакетов и их зависимостей. Убедитесь, что в вашем проекте есть такой лок‑файл.

Пакетные менеджеры автоматически создают и обновляют лок‑файл при работе с пакетами

Отключите автоматические обновления

Системы автообновления зависимостей вроде Dependabot или Renovate так же могут протащить в проект вредоносный код. Поскольку эти системы автоматические, есть риск узнать о проблеме когда будет уже слишком поздно.

В текущей ситуации лучше отключить всю автоматику или переключить её на режим ручной проверки и подтверждения обновлений. Это касается не только обновлений зависимостей в проектах, но и программного обеспечения в целом.

Следите за айти‑новостями и делитесь знаниями

Мониторить новости круглые сутки сейчас вредно. А вот заглядывать раз в день на проверенные сайты не помешает, чтобы быть минимально в курсе происходящего в индустрии. Делитесь знаниями о подтверждённых опасностях с коллегами, клиентами и партнёрами.

Для мониторинга диверсий в опенсорсе есть обновляемая таблица «Техдирского клуба»:

Лично я бы вообще на пару месяцев включил режим параноика: не обновлял и не ставил никакие новые пакеты, плагины, расширения, библиотеки и так далее. Исключение — безотлагательные обновления безопасности, и то после ручной проверки их содержимого. Это тупейший, но очень надёжный подход.

Желаю всем нам сил.

P. S. Это был совет о веб‑разработке. Хотите знать всё о коде, тестах, фронтенд‑разработке, цеэсэсе, яваскрипте, рельсах и джейде? Присылайте вопросы.

Веб‑разработка
Отправить
Поделиться
Запинить

Рекомендуем другие советы