Мета-документ раскрытия информации о безопасности
1. Краткое описание
Работа с вопросами безопасности имеет два аспекта: один — это процесс, посредством которого проблемы безопасности сообщаются и устраняются в проектах, другой — то, как широкая общественность информируется о проблемах и доступных способах их устранения. В то время как PSR-10 касается второго, данный PSR, то есть PSR-9, рассматривает первый. Таким образом, цель PSR-9 — определить процесс, посредством которого исследователи безопасности сообщают проектам об уязвимостях. Важно, чтобы при обнаружении уязвимостей исследователи имели удобный канал связи с соответствующими проектами, позволяющий им раскрывать проблему ограниченному кругу людей.
2. Зачем это нужно?
На данный момент не существует общего стандарта для большинства частей этого процесса. То есть не существует стандарта, по которому исследователи могут узнать о процессе обработки проблем безопасности для любого данного проекта. Также нет стандарта, который объяснял бы исследователям, чего они могут ожидать при сообщении об уязвимости. Что ещё важнее, не существует стандарта, на котором проекты могли бы основывать наиболее подходящий для них процесс сообщения о безопасности.
3. Область применения
3.1 Цели
- Определённый процесс для сообщения об уязвимостях, процесс их устранения и последующего публичного раскрытия
3.2 Не входит в область применения
- Методы снижения уязвимостей безопасности
- Публикация проблем и исправлений безопасности (см. PSR-10)
4. Подходы
В настоящее время наиболее жизнеспособным подходом представляется определение базового рабочего процесса того, как уязвимости безопасности проходят путь от обнаружения через устранение до публичного раскрытия. Вдохновение можно почерпнуть из этого списка процессов раскрытия информации о безопасности в различных PHP и не-PHP проектах:
- https://symfony.com/security
- https://framework.zend.com/security
- https://www.yiiframework.com/security
- https://www.drupal.org/security
- https://codex.wordpress.org/FAQ_Security
- https://www.sugarcrm.com/legal/security-policy
- https://typo3.org/teams/security/
- https://book.cakephp.org/3.0/en/contributing/tickets.html#reporting-security-issues
- https://www.concrete5.org/developers/security/
- https://developer.joomla.org/security.html
- https://wiki.horde.org/SecurityManagement
- https://www.revive-adserver.com/support/bugs/
- https://magento.com/security
- https://www.apache.org/security/committers.html
- https://www.mozilla.org/en-US/about/governance/policies/security-group/bugs/
- https://www.openbsd.org/security.html
Краткое изложение различий и сходств можно найти здесь: https://groups.google.com/d/msg/php-fig-psr-9-discussion/puGV_X0bj_M/Jr_IAS40StsJ
5. Участники
5.1 Редактор
- Michael Hess
5.2 Спонсоры
- Larry Garfield (Drupal)
- Korvin Szanto (concrete5)
5.3 Координатор
- Larry Garfield (Drupal)
5.4 Участники
- Lukas Kahwe Smith