В итоге проведения Мес. безопасности PHP найдено 60 ошибок
Закончилась акция Month of PHP Security, нацеленная на поиск связанных с языком PHP уязвимостей и написание статей по безопасному программированию на PHP.
🕛 06.06.2010, 10:34
Акция проведена по инициативе компании SEKTIONEINS GMBH и лично Стефана Эссера (Stefan Esser) с привлечением ряда спонсоров, профинансировавших часть призового фонда, предназначенного для привлечения сторонних специалистов. Стефан известен как "бывший разработчик" PHP, настаивавший на повышении безопасности PHP-интерпретатора (hardening), несколько лет тому назад покинувший проект PHP и создавший проект Hardened-PHP (Suhosin patch).В процессе акции было обнаружено 60 связанных с безопасностью ошибок, более 1/2 из которых затрагивают именно интерпретатор PHP, а другие ошибки присутствуют в популярных PHP-приложениях. Для сравнения в прошлой акции "Мес. ошибок в PHP", проведенной Стефаном в 2007 г., в PHP было найдено более 40 проблем безопасности.
По заявлению Энди Гутманса (Andi Gutmans), директора компании Zend, курирующей развитие языка PHP, невзирая на настолько внушительное количество найденных ошибок, посреди них нет критических проблем, все найденные уязвимости для собственного проявления требуют наличия возможности исполнения PHP-скрипта на локальной системе, то есть по сути разработчик должен атаковать собственный сервер или злоумышленник должен уже иметь возможность запуска PHP-кода, по этой причине не стоит говорить о наличии в PHP нерешенных "zero-day" уязвимостей. Очень скоро ожидается выпуск релиза PHP 5.3.3, в коем будет исправлено больше всего из найденных в рамках акции ошибок.
Энди Гутманс, выразил признательность инициаторам акции Month of PHP Security, однако отметил, что не стоит говорить о низкой безопасности языка PHP как такового, найденные трудности только подчеркивают потребность повышения разработчиками самоконтроля и эксплуатации надлежащей практики кодирования - безопасность любого языка программирования прежде всего связана с квалификацией использующих данный язык конечных разработчиков (язык безопасен так, насколько безопасен написанный на нем код). По заключению Гутманса язык не может защитить систему от ошибок программистов, наоборот, система обязана обеспечивать должный уровень изоляции для минимизации вреда от некорректно написанных приложений.
Также, энтузиастами со всего мира в рамках Мес. безопасности 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";