Этой статьёй мы начинаем серию материалов, посвященных поиску уязвимостей в популярных системах с открытым кодом. Ошибки в OpenSSL и glibc показали, что тысячи глаз, имеющих доступ к коду, — не гарантия безопасности open source. Конечно, и закрытый код не становится безопаснее от самого факта закрытости. Просто при наличии правильных инструментов доступность исходного кода позволяет выявить гораздо больше уязвимостей, чем при тестировании методом «чёрного ящика». Вопрос лишь в том, кто этим воспользуется раньше – разработчики или злоумышленники.
Последние два года в ходе разработки системы анализа исходных кодов PT Application Inspector мы проверяли на стендах и «в поле» сотни бесплатных и коммерческих, открытых и проприетарных приложений. В ходе этих тестов было найдено значительное число уязвимостей нулевого дня. Часть этих проблем была закрыта и известна по последним докладам о безопасности SCADA, часть ожидает своей погибели в ходе ответственного разглашения.
Воспользуемся же открытостью open source и покажем, как выявляются и анализируются уязвимости в исходном коде. В роли первого подопытного выступает бесплатная система управления сообществами InstantCMS, работающая на PHP и MySQL. На базе данного конструктора создано немало социальных сетей, сайтов знакомств, онлайн-клубов, городских порталов и государственных ресурсов. Читать полностью »