Один плагин и 4275 жертв или как правительственные сайты Monero майнили

Один плагин и 4275 жертв или как правительственные сайты Monero майнили
В эти выходные тысячи веб-сайтов по всему миру были захвачены и использовались для добычи криптовалюты Monero. В число жертв попали сайты правительств США и Великобритании, которые были тайно захвачены злоумышленниками с использованием взломанного плагина Browsealoud.

Более 4200 сайтов находятся в списке жертв, в том числе сайт Университета Нью-Йорка, информационного портала суда США, Университета Лунда и нескольких других правительственных, медицинских и образовательных веб-сайтов по всему миру.

Этот плагин, разработанный британской фирмой Texthelp, предназначен для облегчения чтения сайтов людьми с нарушением зрения. Пока неизвестно, был ли среди сотрудников фирмы разработчика злоумышленник, который решил подзаработать деньжат на клиентских сайтах, или злоумышленникам удалось скомпрометировать его непосредственно перед угоном сайтов.

Атака продолжалась несколько часов. Сценарий майнинга Coinhive был добавлен в код плагина примерно между 03:00 и 11:45 по UTC. В настоящее время антивирусы и приложения блокирующие рекламу начали блокировать Coinhive, но очень многие сайты всё ещё под контролем злоумышленников делая их каждую секунду немного богаче. Стратегия для заражения выбрана идеально, если нужно заразить тысячи сайтов, не следует атаковать тысячи сайтов, достаточно атаковать один сайт с которого остальные грузят контент.

Специалист по информационной безопасности Скот Хэлме утверждает: «Хотя CDN и другие сервисы могут быть уязвимы, на самом деле довольно легко защитить себя от подобной атаки. Достаточно добавлять распространяемым файлам атрибут целостности SRI, который позволяет браузеру определять, был ли файл изменен, и в этом случае он просто отклонит файл.

В данном случае это было так:

Это довольно стандартный способ загрузки JS-файла, и браузер успешно доставил этот файл и выполнил его вместе с криптомайнером.

Чтобы избежать заражения достаточно было сделать так: