В результате проведения Месяца безопасности PHP найдено 60 ошибок
Завершилась акция "Month of PHP Security", нацеленная на поиск связанных с языком PHP уязвимостей и написание статей по безопасному программированию на PHP. Акция проведена по инициативе компании SektionEins GmbH и лично Стефана Эссера (Stefan Esser) с привлечением ряда спонсоров, профинансировавших часть призового фонда, предназначенного для привлечения сторонних специалистов. Стефан известен как "бывший разработчик" PHP, настаивавший на повышении безопасности PHP-интерпретатора (hardening), несколько лет назад покинувший проект PHP и создавший проект Hardened-PHP (Suhosin patch).В ходе акции было обнаружено 60 связанных с безопасностью ошибок, больше половины из которых затрагивают непосредственно интерпретатор PHP, а остальные ошибки присутствуют в популярных PHP-приложениях. Для сравнения в прошлой акции "Месяц ошибок в PHP", проведенной Стефаном в 2007 году, в PHP было найдено более 40 проблем безопасности.
По заявлению Энди Гутманса (Andi Gutmans), директора компании Zend, курирующей развитие языка PHP, несмотря на столь внушительное число найденных ошибок, среди них нет критических проблем, все найденные уязвимости для своего проявления требуют наличия возможности выполнения PHP-скрипта на локальной системе, то есть по сути разработчик должен атаковать свой сервере или злоумышленник должен уже иметь возможность запуска PHP-кода, поэтому не стоит говорить о наличии в PHP нерешенных "zero-day" уязвимостей. В ближайшее время ожидается выпуск релиза PHP 5.3.3, в котором будет исправлено большинство из найденных в рамках акции ошибок.
Энди Гутманс, выразил признательность инициаторам акции Month of PHP Security, но подчеркнул, что не стоит говорить о низкой безопасности языка PHP как такового, найденные проблемы лишь подчеркивают необходимость повышения разработчиками самоконтроля и использования надлежащей практики кодирования - безопасность любого языка программирования в первую очередь связана с квалификацией использующих данный язык конечных разработчиков (язык безопасен настолько, насколько безопасен написанный на нем код). По мнению Гутманса язык не может защитить систему от ошибок программистов, наоборот, система должна обеспечивать должный уровень изоляции для минимизации вреда от некорректно написанных приложений.
Кроме того, энтузиастами со всего мира написано 13 интересных статей, разбирающих суть известных типов уязвимостей, рассказывающих о связанных с безопасностью функциях и демонстрирующих технику безопасного программирования на языке PHP:
- "Virtual Meta-Scripting Bytecode for PHP and JavaScript";
- "How to manage a PHP application’s users and passwords";
- "RIPS – A static source code analyser for vulnerabilities in PHP scripts";
- "Configuration Encryption Patch for Suhosin";
- "Our Dynamic PHP – Obvious and not so obvious PHP code injection and evaluation";
- "Variable Initialization in PHP";
- "Decoding a User Space Encoded PHP Script";
- "The Minerva PHP Fuzzer";
- "Generating Unpredictable Session IDs and Hashes";
- "sqlite_single_query(), sqlite_array_query() Uninitialized Memory Usage";
- "Context-aware HTML escaping";
- "A New Open Source Tool: OWASP ESAPI for PHP";
- "PHP Web Security";
© OpenNet