Состояние безопасности 50 топ плагинов wordpress

Компания Checkmarx опубликовала доклад о безопасности wordpress плагинов. Я перевёл данный доклад и решил поделиться с читателями моего блога. Рекомендации и выводы исследователей, по мнению докладчиков, пригодятся не только пользователям wordpress.

Источник www.checkmarx.com

В июне 2013 года научно-исследовательская лаборатория Checkmarx запустили несколько сканирований защиты исходного кода самых популярных плагинов WordPress.

Каков же результат? Более 20% из 50 самых популярных плагинов WordPress уязвимы для таких веб-атак, как SQL-инъекции, XSS и других. В общей сложности 8 млн уязвимых плагинов WordPress было загружено пользователями wordpress.

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

Какие последствия от уязвимостей кода?

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

Предпосылки и мотивации к исследованию

WordPress является наиболее популярной блог-системы управления контентом (CMS) с открытым исходным кодом. WordPress используется в более чем 60 миллионов веб-сайтов и 18% WEB. Популярность wordpress завоевала засчёт способности настраивать свои сайты через обширное предложение десятков тысяч дизайн-шаблонов и плагинов. Последние расширяют функционал системы, добавляя от контактной формы до возможности вывода фейсбук комментарий на сайте.

В настоящее время, любой разработчик может добавить WordPress плагин для расширения базовой возможности cms. Хотя есть некоторый набор стандартов кодирования и рекомендации, нет никаких указаний или требований к безопасности, к чему разработчик плагина должен придерживаться. В связи сложившейся ситуации злоумышленник может использовать уязвимость одного плагина для атаки на все сайты, на которых он установлен. Примером массового заражения является TimThumb LF.

Чтобы быть на шаг впереди хакеров и определить дальнейшие цели риска, лабораториях Checkmarx провели всесторонний анализ исходного кода плагинов WordPress. Исследование не сосредоточены на безопасности ядра платформы WordPress, а сосредоточены на состояние безопасности наиболее популярных плагинов Лаборатория Checkmarx выбрала наиболее популярные скачиваемые топ 50 плагинов wordpress, а также 10 плагинов электронной коммерции.

Проверка была проведена в января 2013 года было обнаружено 18 плагинов, которые были скачены в общей сумме более 18.5 млн раз.

Разработчики плагинов были уведомлены об уязвимостях плагинов. Уязвимости 4 плагинов были устранены при помощи Checkmarx. В июне была проведена очередная проверка данных 18 плагинов, а так же проверка плагинов электронной коммерции. Проверки были сфокусированы на поиск основных уязвимостей таких, как SQL инъекции, XSS, CSRF и тд.

SQL инъекции позволяют хакерам выполнить команду на сервере и извлечь конфиденциальную информацию. Заражённый сайт можно использовать, как трамплин для нападения на неуязвимые сайты.

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

Подделка межсайтовых запросов позволяет злоумышленнику выполнить действия на уровне приложений от имени жертвы. Данный вид атак на посетителей веб-сайтов, использующий недостатки протокола HTTP. Если жертва заходит на сайт, созданный злоумышленником, от её лица тайно отправляется запрос на другой сервер (например, на сервер платёжной системы), осуществляющий некую вредоносную операцию (например, перевод денег на счёт злоумышленника).

RFI/ LFI. Иначе говоря, Local File Include. Уязвимость позволяет удаленному пользователю получить доступ с помощью специально сформированного запроса к произвольным файлам на сервере. В общем, грубо говоря, мы можем осуществить чтение php-кода (и не только) из файла при наличии LFI. В среде CMS это наиболее распространённая уязвимость.

Path Traversal.Пути обхода.

Позволяет атакующему обходить веб-страниц.В среде CMS злоумышленник может воспользоваться этой уязвимостью для доступа и отображения всех файлов. Checkmarx протестировал плагины Path Traversal уязвимость только во время второго сканирования.

Результаты После проверки плагинов в июне 2013 года было обнаружено:

1. 20% из 50 топовых плагинов содержат уязвимости такие, как SQL инъекции, XSS, CSRF, Подделка межсайтовых запросов, Path Traversal. Данные плагины были скачены более 8 млн раз.

2. 7 из 10 плагинов электронной коммерции содержат уязвимости SQLi, XSS, C SRF, RFI/ LFI и PT. Данные плагины были скачены более 1.7 млн раз.

3. Отсутствие корреляции между числом строк кода (LOC) и уровнем уязвимости плагина. Каждая новая строка кода по идеи может привести к увеличению уязвимости сайта. На деле оказалось наоборот, многие плагины с меньшим числом кода имели куда больше уязвимостей, чем плагины с десятком тысяч строк кода.

4. Следующие типы наиболее уязвимых плагинов: - плагины электронной коммерции. - агрегаторы рассылок, плагины обнаружения сломанных ссылок - плагины преобразующие обычный сайт в адаптивный, пригодный для просмотра на мобильных устройствах. - плагины, устанавливающие виджеты facebook

5. Вторая проверка плагинов в июне показала, что уязвимости исправлены только в 6 плагинах.

Первая проверка была произведена в января 2013 года, после чего разработчикам плагинов была сообщена информация об уязвимостях. Вторая проверка была осуществлена в июне 2013 года, были проверены новые версии плагинов. Оказалось, только в 6 плагинов уязвимости были исправлены:

BuddyPress- социальная сеть на wordpress. Плагин скачен более 1.5 млн раз.

BBPress - плагин форума для wordpress. Скачан более 500 тыс. раз.

E-Commerce - плагин электронной коммерции. Скачан более 2 млн раз.

Woo Commerce - плагин электронной коммерции. Скачан более 480 тыс раз.

W3 Total Cache - плагин оптимизации работы сайта. Скачан более 1.5 млн раз.

Super Cache - плагин ускорения и оптимизации работы сайта. Скачан более 4 млн раз. pl

Рекомендации к устранению уязвимостей сайта:

Ниже представлены рекомендации для устранений уязвимостей плагинов, как для разработчиков, администраторов  сайтов и для хостинг-провайдеров, использующих  wordpress. Данные рекомендации можно использовать для любой cms платформы, например, drupal, joomla  и тд.

Рекомендации для администраторов сайта:

1. Скачивайте плагины с надёжных источников. Для wordpress - это сайт wordpress.org. Опять же добавить  плагин в депозитрий wordpress может любой желающий, поэтому данный пункт нужно рассматривать как первую линию обороны.

2.  Убедитесь в надёжности исходного кода плагина, просканировав его с помощью специальных плагинов-сканеров кода.

3.  Убедитесь в том, что все плагины обновлены.

4. Удалите неиспользуемые плагины.

Рекомендации для разработчиков плагинов:

1. Интегрируйте безопасность плагина при его разработке.

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

2. Проанализируйте  исходный код на стадии разработки и релиза плагина с помощью сканеров-кода.

Рекомендации для хостинг-компаний:

1. Обеспечения политики безопасности используемых приложений.

2. Обеспечить сертификацию тех приложений, которые используются для обеспечения политики безопасности.

О Checkmarx

Компания Checkmarx занимается разработкой продуктов безопасности нового поколения (SAST). Клиентами компании являются более 500 компаний среднего и крупного бизнеса, а так же государственные учреждения в более 30 стран мира. Официальный сайт www.checkmarx.com

 

Google