Подведены первые итоги акции "Month of PHP Security"
по поиску связанных с языком PHP уязвимостей и написанию статей по
безопасному программированию на PHP. Акция проводится по инициативе
компании SektionEins GmbH и лично Стефана Эссера (Stefan Esser), на
этот раз с привлечением ряда спонсоров, профинансировавших часть
небольшого призового фонда (предназначенного для привлечения сторонних
специалистов). Стефан известен как "бывший разработчик" PHP,
настаивавший на повышении безопасности PHP-интерпретатора (hardening),
несколько лет назад покинувший проект PHP и создавший проект
Hardened-PHP (Suhosin patch).
На данный момент, в течении акции уже было выявлено 20 проблем
безопасности, 12 из которых затрагивают непосредственно интерпретатор
PHP, а 8 присутствуют в популярных PHP-приложениях. Для сравнения в
прошлой акции "Месяц ошибок в PHP", проведенной Стефаном в 2007 году, в
PHP было
найдено более 40 проблем безопасности. С учетом того, что новые
уязвимости, найденные в рамках акции, публикуются на сайте php-security.org каждый день,
возможно в этом году удастся преодолеть ранее взятый барьер.
Экспертным советом будут определены победители, подготовившие
наиболее интересные статьи на тему безопасности PHP или нашедшие
наиболее важные ошибки. Занявшие с первого по четвертое место получат
возможность бесплатно посетить конференцию SyScan, кроме того в
зависимости от занятого места им будет предоставлено денежное
вознаграждение: за первое место - 1000 евро, второе - 750 евро, третье -
500 евро, четвертое - 250 евро. Занявшие с 5 и 6 место получат лицензию
на ПО CodeScan PHP, а с 7 по 16 место - 65-долларовые купоны для
интернет-магазина Amazon.
Из наиболее важных уязвимостей,
обнаруженных в рамках конкурса, можно отметить:
- Обнаружение (ошибка
1, ошибка
2) возможности выполнения кода злоумышленника в WYSIWYG-редакторе Xinha, входящем в состав Serendipity
CMS;
- Возможность подстановки SQL-кода в форум DeluxeBB;
- Возможность (ошибка
1, ошибка
2) подстановки SQL-кода в систему управления контентом ClanSphere CMS;
- Возможность подстановки SQL-кода в обучающей среде Efront;
- Многочисленные уязвимости в различных реализациях
функций PHP, разной степень опасности от инициирования краха и перехвата
скрытой информации (preg_quote(),
zend_sr
opcode, zend_bw_xor
opcode, html_entity_decode(),
chunk_split(),
addcslashes(),
hash_update_file()),
до организации выполнения кода (qlite_array_query(),
sqlite_single_query())
и организации записи в произвольную область памяти интерпретатора (shm_put_var()).
Корректирующий релиз PHP с исправлением представленных проблем еще не
выпущен.
Дополнительно на конкурс прислано несколько статей, разбирающих суть
известных типов уязвимостей, рассказывающих о связанных с безопасностью
функциях и демонстрирующих технику безопасного программирования на
языке PHP:
- "PHP
Web Security";
- "A
New Open Source Tool: OWASP ESAPI for PHP";
- "Context-aware
HTML escaping";
- "Generating
Unpredictable Session IDs and Hashes";
- "The
Minerva PHP Fuzzer".