Часто интернет-магазины, информационные порталы и другие ресурсы базируются на специальных платформах, предоставляющих разработчикам набор готовых инструментов. Наш блог, к примеру, построен именно так. Часто инструменты предоставляются в виде плагинов, позволяющих добавить на сайт те функции, которые нужны именно вам. С одной стороны, это удобно и позволяет не «изобретать велосипед» каждый раз, когда нужно использовать какой-то инструмент. С другой — чем больше на сайте сторонних разработок, тем выше риск, что что-то может пойти не так.
Плагины и их проблемы
Плагин — это небольшой программный модуль, добавляющий на сайт функциональность, которой в нем нет по умолчанию или которая реализована удобнее, чем стандартная. Существуют плагины для отображения виджетов соцсетей, для сбора статистики, для создания опросов и других видов контента, и так далее.
Если вы подключите к движку своего сайта плагин, то он будет выполняться автоматически и побеспокоит вас, только когда в нем произойдет ошибка (и то лишь в том случае, если эту ошибку кто-то заметит). В этом и кроется опасность таких модулей: если автор молча забросит свой плагин или продаст его другому разработчику, скорее всего, вы ничего не заметите.
Дырявые плагины
В плагинах, которые не поддерживаются годами, скорее всего, присутствуют неисправленные уязвимости, через которые можно захватить сайт или загрузить на него вредоносную программу — кейлоггер, майнер криптовалюты или все, что преступной душе угодно.
При этом владельцы сайтов часто не следят за обновлениями. Как показало исследование Wordfence, уязвимые модули после прекращения поддержки годами продолжают работать.
Иногда авторы плагинов закрывают уязвимости, но они по той или иной причине не устанавливаются автоматически. Например, авторы некоторых изученных экспертами модулей при обновлении просто забывали изменять номер версии. В результате на ресурсах клиентов, не проверивших наличие обновлений вручную, остались устаревшие плагины.
Подмена плагина
Некоторые платформы для управления контентом сайтов закрывают доступ к скачиванию модулей, которые сняли с поддержки. Однако удалить уязвимые плагины с пользовательских сайтов нельзя, поскольку это может привести к сбоям в работе последних.
Кроме того, заброшенные плагины могут храниться не на самой платформе, а на общедоступных сервисах. Когда автор снимает с поддержки или удаляет такой модуль, ваш сайт продолжает обращаться к контейнеру, в котором он находился. При этом злоумышленники запросто могут захватить этот контейнер или создать его клон и заставить ресурс подгружать вместо плагина вредоносный код.
Именно это произошло со счетчиком твитов New Share Counts, размещенным в облачном хранилище Amazon S3. Когда его поддержка закончилась, разработчик опубликовал сообщение об этом на своем сайте, однако более 800 клиентов его не прочли.
Спустя некоторое время автор плагина закрыл контейнер на Amazon S3, чем и воспользовались злоумышленники. Они создали хранилище с точно таким же именем и поместили в него вредоносный скрипт. Использующие плагин сайты стали подгружать вместо счетчика твитов новый код, который перенаправлял пользователей на фишинговый ресурс, обещавший им приз за заполнение анкеты.
Владелец сменился, пользователи не заметили
Иногда разработчики не забрасывают, а перепродают плагины. При этом далеко не каждый интересуется личностью покупателя, а значит, приобрести модуль может и злоумышленник. В таком случае велик шанс, что с очередным обновлением на ваш сайт загрузят вредоносный код.
Обнаружить подобные плагины очень сложно. Например, один вредоносный модуль, установленный на сайты более 300 тыс. раз, попал в поле зрения исследователей по чистой случайности: новый хозяин решил его переименовать. Плагин удалили из публичного доступа из-за незаконного упоминания в новом названии бренда WordPress. В результате модулем заинтересовались специалисты Wordfence, которые проверили его с точки зрения информационной безопасности. Анализ показал, что в коде плагина скрывался бэкдор.
Присматривайте за плагинами на своем сайте
Как видите, есть множество способов заразить сайт через установленные на нем плагины, и не от всех его может защитить платформа, на которой он размещен. Поэтому мы рекомендуем вам самостоятельно следить за безопасностью плагинов на сайте.
- Составьте список плагинов, которые используются на ваших ресурсах, с указанием места их хранения, и регулярно проверяйте и обновляйте его.
- Читайте информационные сообщения разработчиков стороннего ПО, которое используете, и площадок, через которые оно распространяется.
- Вовремя обновляйте плагины, а если они более не поддерживаются — как можно скорее ищите им замену.
- Если же по какой-либо причине один из сайтов вашей компании больше не нужен и вы прекращаете его поддержку, не забудьте удалить его содержимое, включая плагины. Со временем в них могут появиться уязвимости, которыми воспользуются злоумышленники, скомпрометировав при этом и вашу компанию.
- Сотрудников, работающих с публично доступными веб-сайтами, следует обучать навыкам противостояния современным киберугрозам. Например, при помощи нашей платформы ASAP.