forked from OWASP/ASVS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOWASP Application Security Verification Standard 4.0.3-ru.xml
1 lines (1 loc) · 205 KB
/
OWASP Application Security Verification Standard 4.0.3-ru.xml
1
<?xml version="1.0" encoding="UTF-8" ?><root><Name>Application Security Verification Standard Project</Name><ShortName>ASVS</ShortName><Version></Version><Description>The OWASP Application Security Verification Standard (ASVS) Project provides a basis for testing web application technical security controls and also provides developers with a list of requirements for secure development.</Description><Requirements><item><Shortcode>V1</Shortcode><Ordinal>1</Ordinal><ShortName>Architecture</ShortName><Name>Архитектура, проектирование и моделирование угроз</Name><Items><item><Shortcode>V1.1</Shortcode><Ordinal>1</Ordinal><Name>Жизненный цикл разработки безопасного ПО</Name><Items><item><Shortcode>V1.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь в использовании безопасного жизненного цикла разработки программного обеспечения, который обеспечивает безопасность на всех этапах разработки. ([C1](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V1.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь в применении моделирования угроз для каждого изменения дизайна или планирования спринта, чтобы выявлять угрозы, планировать контрмеры, способствовать надлежащему реагированию на риски и управлять тестированием безопасности.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1053</item></CWE><NIST></NIST></item><item><Shortcode>V1.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что все пользовательские истории и функции содержат функциональные ограничения безопасности. Например, такие: "Как пользователь, я должен иметь возможность просматривать и редактировать свой профиль, но не должен иметь возможности просматривать или редактировать чужой профиль".</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1110</item></CWE><NIST></NIST></item><item><Shortcode>V1.1.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь в наличии документации и обоснования для всех границ доверия приложения, его компонентов и значимых информационных взаимодействий.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1059</item></CWE><NIST></NIST></item><item><Shortcode>V1.1.5</Shortcode><Ordinal>5</Ordinal><Description>Проверьте описание концептуальной архитектуры приложения, связанных с ним внешних систем и анализ их безопасности. ([C1](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1059</item></CWE><NIST></NIST></item><item><Shortcode>V1.1.6</Shortcode><Ordinal>6</Ordinal><Description>Проконтролируйте наличие централизованных, простых в реализации, проверенных, безопасных и переиспользуемых мер безопасности, чтобы избежать их дублирования или, наоборот, отсутствия, а также неэффективных или небезопасных мер. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>637</item></CWE><NIST></NIST></item><item><Shortcode>V1.1.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь в наличии чек-листа для безопасной разработки, требований, политик и стандартов безопасности, а также в их доступности для разработчиков и тестировщиков.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>637</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.2</Shortcode><Ordinal>2</Ordinal><Name>Аутентификация</Name><Items><item><Shortcode>V1.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь в использовании всеми компонентами приложений, служб и серверов уникальных или специальных учетных записей операционной системы с низким уровнем привилегий. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>250</item></CWE><NIST></NIST></item><item><Shortcode>V1.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что взаимодействие между всеми компонентами приложения, включая API, промежуточное ПО и уровень хранения данных, аутентифицировано. Компоненты должны иметь минимально необходимые привилегии. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>306</item></CWE><NIST></NIST></item><item><Shortcode>V1.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что приложение использует единый утвержденный механизм аутентификации, который может быть дополнен включением строгой аутентификации, а также обеспечивает адекватное журналирование и мониторинг для обнаружения нарушений политик безопасности или взлома учетной записи.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>306</item></CWE><NIST></NIST></item><item><Shortcode>V1.2.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что все пути аутентификации и API идентификации реализуют заданный уровень безопасности, и что более слабые альтернативы отсутствуют.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>306</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.3</Shortcode><Ordinal>3</Ordinal><Name>Управление сессиями</Name><Items></Items></item><item><Shortcode>V1.4</Shortcode><Ordinal>4</Ordinal><Name>Контроль доступа</Name><Items><item><Shortcode>V1.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что контроль доступа применяется в пределах контролируемоой зоны (т.е. на шлюзах безопасности, серверах и бессерверных функциях). Нельзя применять контроль доступа на стороне клиента.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>602</item></CWE><NIST></NIST></item><item><Shortcode>V1.4.2</Shortcode><Ordinal>2</Ordinal><Description>[УДАЛЕНО, НЕВОЗМОЖНО ПРОВЕРИТЬ]</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>False</Required><Requirement></Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V1.4.3</Shortcode><Ordinal>3</Ordinal><Description>[УДАЛЕНО, ДУБЛИРУЕТ 4.1.3]</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>False</Required><Requirement></Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V1.4.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что приложение использует единый и тщательно протестированный механизм контроля доступа для доступа к защищенным данным и ресурсам. Все запросы должны проходить через этот единый механизм, чтобы избежать копирования и вставки или небезопасных альтернативных путей. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>284</item></CWE><NIST></NIST></item><item><Shortcode>V1.4.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что при управлении доступом на основе атрибутов или функций, код проверяет доступ пользователя к функции/данным, а не только его роль. Разрешения в любом случае должны выдаваться в соответствии с ролью. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>275</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.5</Shortcode><Ordinal>5</Ordinal><Name>Входные и выходные данные</Name><Items><item><Shortcode>V1.5.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что требования к входным и выходным данным четко определяют, как обращаться с данными и обрабатывать их в зависимости от типа, содержимого и применимых законов, нормативных документов и других политик.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1029</item></CWE><NIST></NIST></item><item><Shortcode>V1.5.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что сериализация не используется при взаимодействии с недоверенными клиентами. Если это невозможно, убедитесь, что применяются адекватные меры контроля целостности (и, при необходимости, шифрование при передаче конфиденциальных данных) для предотвращения атак десериализации, включая внедрение объектов.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>502</item></CWE><NIST></NIST></item><item><Shortcode>V1.5.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что форматно-логический контроль входных данных выполняется на уровне доверенного сервиса. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>602</item></CWE><NIST></NIST></item><item><Shortcode>V1.5.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что кодировка и/или экранирование выходных данных проводится интерпретатором, для которого они предназначены, или непосредственно перед ним. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>116</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.6</Shortcode><Ordinal>6</Ordinal><Name>Криптографическая защита</Name><Items><item><Shortcode>V1.6.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь в наличии формализованной политики управления криптографическими ключами и что жизненный цикл криптографического ключа соответствует стандарту управления ключами, например NIST SP 800-57.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>320</item></CWE><NIST></NIST></item><item><Shortcode>V1.6.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что потребители криптографических сервисов защищают ключевой материал и другие секреты с помощью хранилища ключей (vault) или альтернатив на основе API.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>320</item></CWE><NIST></NIST></item><item><Shortcode>V1.6.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что все ключи и пароли являются заменяемыми и являются частью формализованного и легко воспроизводимого процесса шифрования чувствительных данных.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>320</item></CWE><NIST></NIST></item><item><Shortcode>V1.6.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что на уровне архитектуры секреты на стороне клиента, такие как симметричные ключи, пароли или API-токены, считаются по умолчанию небезопасными, и никогда не используются для защиты или доступа к конфиденциальным данным.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>320</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.7</Shortcode><Ordinal>7</Ordinal><Name>Обработка ошибок, ведение журнала и аудит</Name><Items><item><Shortcode>V1.7.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что в системе используются единый подход и формат ведения журнала событий. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1009</item></CWE><NIST></NIST></item><item><Shortcode>V1.7.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что журналы событий безопасности надежно передаются в предпочтительно удалённую систему для их дальнейшего анализа, обнаружения аномалий, оповещения соответствующих специалистов и эскалации. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.8</Shortcode><Ordinal>8</Ordinal><Name>Защита информации и конфиденциальность</Name><Items><item><Shortcode>V1.8.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что все чувствительные данные идентифицированы и классифицированы по уровням защиты.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V1.8.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что каждому уровню защиты соответствует набор требований безопасности (целостность, конфиденциальность, сроки хранения и др.), и что эти требования удовлетворяются в архитектуре.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.9</Shortcode><Ordinal>9</Ordinal><Name>Передача данных</Name><Items><item><Shortcode>V1.9.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение шифрует обмен данными между компонентами, особенно когда эти компоненты находятся в разных контейнерах, системах, сайтах или у разных провайдеров облачной инфраструктуры. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>319</item></CWE><NIST></NIST></item><item><Shortcode>V1.9.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что компоненты приложения аутентифицируют каждую сторону взаимодействия, чтобы предотвратить атаки "человек посередине". Например, компоненты приложения должны проверять сертификаты и цепочки доверия TLS.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>295</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.10</Shortcode><Ordinal>10</Ordinal><Name>Вредоносный код</Name><Items><item><Shortcode>V1.10.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что используется система управления исходным кодом и применяются процедуры, гарантирующие, что регистрация кода сопровождается отчетами о проблемах или заявками на изменение. Система управления исходным кодом должна контролировать доступ и идентифицировать пользователей, чтобы можно было отслеживать каждое изменение кода.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>284</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.11</Shortcode><Ordinal>11</Ordinal><Name>Бизнес-логика</Name><Items><item><Shortcode>V1.11.1</Shortcode><Ordinal>1</Ordinal><Description>Проверьте определение и документацию на компоненты приложения с точки зрения бизнес-функций или функций безопасности, которые они обеспечивают.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1059</item></CWE><NIST></NIST></item><item><Shortcode>V1.11.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что все ключевые потоки бизнес-логики, включая аутентификацию, управление сессиями и контроль доступа, не используются в несинхронизированном состоянии.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>362</item></CWE><NIST></NIST></item><item><Shortcode>V1.11.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что все критичные потоки бизнес-логики, включая аутентификацию, управление сессиями и контроль доступа, являются безопасными с точки зрения их параллельного выполнения и устойчивыми к условиям гонки, вызванной разницей между состояниями приложения в момент проверки и в момент использования (TOCTOU).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>367</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.12</Shortcode><Ordinal>12</Ordinal><Name>Безопасная загрузка файлов</Name><Items><item><Shortcode>V1.12.1</Shortcode><Ordinal>1</Ordinal><Description>[УДАЛЕНО, ДУБЛИРУЕТ 12.4.1]</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>False</Required><Requirement></Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V1.12.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что загружаемые пользователем файлы — если требуется их отображение или загрузка из приложения — сохраняются либо как MIME-type: application/octet-stream, либо из несвязанного домена, например из облачного хранилища файлов, Чтобы снизить риск воздействия XSS-векторов или других атак, связанных с загружаемыми файлами, применяется соответствующая политика безопасности контента (CSP).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>646</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V1.13</Shortcode><Ordinal>13</Ordinal><Name>Архитектура API</Name><Items></Items></item><item><Shortcode>V1.14</Shortcode><Ordinal>14</Ordinal><Name>Безопасные конфигурации</Name><Items><item><Shortcode>V1.14.1</Shortcode><Ordinal>1</Ordinal><Description>Контролируйте разделение компонентов с разными уровнями доверия с помощью шлюзов безопасности, правил брандмауэра, шлюзов API, обратных прокси-серверов, облачных групп безопасности и т.п.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>923</item></CWE><NIST></NIST></item><item><Shortcode>V1.14.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что при развертывании бинарных файлов на удаленных устройствах контролируются их сигнатуры, используются доверенные соединения и конечные точки из списка разрешенных.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>494</item></CWE><NIST></NIST></item><item><Shortcode>V1.14.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что конвейер сборки предупреждает об устаревших или небезопасных компонентах и предпринимает соответствующие действия.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1104</item></CWE><NIST></NIST></item><item><Shortcode>V1.14.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что конвейер содержит этап автоматической сборки и проверки безопасного развертывания приложения, особенно если инфраструктура приложения определяется программно, например сценарием сборки в облачной среде.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V1.14.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что развертывание приложений проводится в «песочнице», контейнере и/или изолировано на сетевом уровне, чтобы сдержать нарушителя от атак на другие приложения, особенно когда они выполняют чувствительные или опасные действия, например, десериализацию. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>265</item></CWE><NIST></NIST></item><item><Shortcode>V1.14.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что приложение не использует неподдерживаемые, небезопасные или устаревшие клиентские технологии, такие как подключаемые модули NSAPI, Flash, Shockwave, ActiveX, Silverlight, NACL или клиентские Java-апплеты.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>477</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V2</Shortcode><Ordinal>2</Ordinal><ShortName>Authentication</ShortName><Name>Аутентификация</Name><Items><item><Shortcode>V2.1</Shortcode><Ordinal>1</Ordinal><Name>Парольная защита</Name><Items><item><Shortcode>V2.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что устанавливаемые пользователем пароли имеют длину не менее 12 символов (после объединения пробелов, если они идут подряд). ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что разрешены пароли длиной не менее 64 символов и что пароли длиной более 128 символов запрещены. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что отсутствует усечение пароля по длине. Идущие подряд несколько пробелов могут быть заменены одним. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что в паролях разрешены любые печатные символы Unicode, включая нейтральные к языку символы, такие как пробелы и эмодзи.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что пользователи могут менять свой пароль.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>620</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что при изменении пароля требуется ввести текущий и новый пароль пользователя.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>620</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь (локально или с помощью внешнего API), что пароли, введенные при регистрации учетной записи, входе в систему или смене пароля, проверяются на вхождение в состав скомпрометированных (например, в 1000 или 10 000 наиболее распространенных). Для API при проверке следует использовать доказательство с нулевым разглашением или другой механизм, гарантирующий, что пароль не будет отправлен открытым текстом. Если пароль скомпрометирован, то приложение должно потребовать от пользователя ввести другой. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.8</Shortcode><Ordinal>8</Ordinal><Description>Убедитесь в наличии индикатора надежности пароля, который поможет пользователям установить более стойкий пароль.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.9</Shortcode><Ordinal>9</Ordinal><Description>Убедитесь, что правила составления пароля не ограничивают допустимый тип символов. Не должно быть никаких требований к наличию символов в верхнем или нижнем регистре, цифр или специальным символов. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.10</Shortcode><Ordinal>10</Ordinal><Description>Убедитесь, что нет требований к периодической замене учетных данных или истории паролей.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>263</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.11</Shortcode><Ordinal>11</Ordinal><Description>Убедитесь, что разрешены функции вставки пароля в соответствующие поля экранных форм, а также утверждены браузерные расширения по управлению паролями и/или менеджеры паролей.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.1.12</Shortcode><Ordinal>12</Ordinal><Description>Убедитесь, что пользователь имеет возможность временно приоткрыть весь маскированный пароль, либо последний введенный символ (если такая функция не включена по умолчанию).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>521</item></CWE><NIST><item>5.1.1.2</item></NIST></item></Items></item><item><Shortcode>V2.2</Shortcode><Ordinal>2</Ordinal><Name>Базовые требования</Name><Items><item><Shortcode>V2.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для снижения последствий от взлома учетных данных реализованы механизмы защиты от атак методом перебора и блокирования учетных записей. Такие механизмы включают запрет выбора наиболее распространенных скомпрометированных паролей, временную блокировку учетной записи, ограничение частоты запросов, CAPTCHA, увеличивающиеся интервалы между попытками, ограничение списка допустимых IP-адресов, или основанные на оценке рисков, например, ограничение по местоположению, времени входа и т.п. Убедитесь, что для одной учетной записи разрешено, не более ста неудачных попыток в час.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>307</item></CWE><NIST><item>5.2.2</item><item>5.1.1.2</item><item>5.1.4.2</item><item>5.1.5.2</item></NIST></item><item><Shortcode>V2.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что использование слабых механизмов аутентификации (таких как SMS и email) ограничивается проверкой второго фактора или подтверждением транзакций, а не заменой более безопасных механизмов. Убедитесь, что сначала предлагаются более надежные методы, а затем более слабые; что пользователи осведомлены о рисках; и что приняты надлежащие меры для ограничения рисков компрометации учётной записи.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>304</item></CWE><NIST><item>5.2.10</item></NIST></item><item><Shortcode>V2.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что после обновления учетных данных, например, сброса пароля, изменения электронной почты или адреса, входа в систему из неизвестного места, пользователям отправляются уведомления. Предпочтительно использование push-уведомлений, а не SMS или email, но при невозможности использования push-уведомлений допустимы SMS или email, при условии, что в уведомлении не раскрывается конфиденциальная информация.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>620</item></CWE><NIST></NIST></item><item><Shortcode>V2.2.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь в устойчивости к фишингу. Для защиты используются многофакторная аутентификация; мобильные устройства с push-аутентификацией (позволяющие подтвердить или отклонить намерение пройти аутентификацию через push-уведомления). На более высоких уровнях AAL — сертификаты на стороне клиента.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>308</item></CWE><NIST><item>5.2.5</item></NIST></item><item><Shortcode>V2.2.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что если провайдер учётных данных (CSP) и аутентифицирующее приложение разделены, между их конечными точками используется протокол mTLS с взаимной аутентификацией.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>319</item></CWE><NIST><item>5.2.6</item></NIST></item><item><Shortcode>V2.2.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь в устойчивости к атакам повторного воспроизведения, требуя обязательного использования одноразовых паролей (OTP), криптографических аутентификаторов или проверочных кодов.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>308</item></CWE><NIST><item>5.2.8</item></NIST></item><item><Shortcode>V2.2.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что намерение пройти аутентификацию, подтверждается требованием ввести OTP или инициированным пользователем действием, например, нажатием кнопки на аппаратном ключе FIDO.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>308</item></CWE><NIST><item>5.2.9</item></NIST></item></Items></item><item><Shortcode>V2.3</Shortcode><Ordinal>3</Ordinal><Name>Жизненный цикл аутентификатора</Name><Items><item><Shortcode>V2.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что создаваемые системой начальные пароли или коды активации формируются криптографически случайным образом. Они ДОЛЖНЫ иметь длину не менее 6 символов и МОГУТ содержать буквы и цифры, а срок их действия истекает через короткий период времени. Нельзя допускать, чтобы начальный пароль становился долгосрочным.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>330</item></CWE><NIST><item>5.1.1.2</item><item>A.3</item></NIST></item><item><Shortcode>V2.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что поддерживается регистрация и использование предоставленных пользователем устройств аутентификации, таких как токены U2F или FIDO.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>308</item></CWE><NIST><item>6.1.3</item></NIST></item><item><Shortcode>V2.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что для обновления аутентификаторов с ограниченным сроком действия инструкции по их замене направляются заблаговременно.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>287</item></CWE><NIST><item>6.1.4</item></NIST></item></Items></item><item><Shortcode>V2.4</Shortcode><Ordinal>4</Ordinal><Name>Хранение учётных данных</Name><Items><item><Shortcode>V2.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что пароли хранятся в форме, устойчивой к атакам в режиме offline. Пароли ДОЛЖНЫ быть «засолены» и хэшированы с использованием утвержденной односторонней функции формирования ключа или функции хеширования. При генерации хэша функция принимает на вход пароль, соль и показатель стоимости. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>916</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.4.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что соль имеет как минимум 32 бит энтропии и выбирается произвольно, чтобы минимизировать коллизии значений соли между сохраненными хэшами. Для КАЖДОГО пароля должны хранится уникальное значение соли и результирующий хэш. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>916</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.4.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что если используется функция PBKDF2, то количество итераций ДОЛЖНО быть настолько большим, насколько это позволяет производительность сервера верификации, но не менее 100000 итераций. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>916</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.4.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что working factor при использовании bcrypt велик настолько, насколько это позволяет производительность сервера верификации, но не менее 10. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>916</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.4.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что выполняется дополнительная итерация функции формирования ключа с использованием значения соли, которое является секретным и известно только верификатору. Соль формируется с помощью утвержденного генератора случайных битов в соответствии с NIST SP 800-90Ar1 и обеспечивается хотя бы минимальный уровень безопасности, указанный в последней редакции NIST SP 800-131A. Значение секретной соли ДОЛЖНО храниться отдельно от хэшированных паролей (в специализированном устройстве, например, в HSM (аппаратном модуле безопасности).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>916</item></CWE><NIST><item>5.1.1.2</item></NIST></item></Items></item><item><Shortcode>V2.5</Shortcode><Ordinal>5</Ordinal><Name>Восстановление учётных данных</Name><Items><item><Shortcode>V2.5.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что сгенерированный системой начальный секрет активации или восстановления не отправляется пользователю в виде открытого текста. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>640</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.5.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что не используются подсказки для проверки пароля или аутентификация на основе знаний (так называемые «секретные вопросы»).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>640</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.5.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что при восстановлении забытого пароля никоим образом не раскрывается текущий пароль. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>640</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.5.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что отсутствуют неперсонифицированные учетные записи или учетные записи по умолчанию (например, root, admin, sa, guest и т.п.).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>16</item></CWE><NIST><item>5.1.1.2</item><item>A.3</item></NIST></item><item><Shortcode>V2.5.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что при изменении фактора аутентификации пользователь был уведомлен об этом событии.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>304</item></CWE><NIST><item>6.1.2.3</item></NIST></item><item><Shortcode>V2.5.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что пути восстановления пароля (Забыли пароль? и др.) используют безопасный механизм, например, OTP на основе времени (TOTP), мобильное push-уведомление или иной механизм передачи по дополнительному каналу. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>640</item></CWE><NIST><item>5.1.1.2</item></NIST></item><item><Shortcode>V2.5.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что в случае потери OTP или любого другого фактора аутентификация выполняется с тем же уровнем безопасности, что и во время регистрации.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>308</item></CWE><NIST><item>6.1.2.3</item></NIST></item></Items></item><item><Shortcode>V2.6</Shortcode><Ordinal>6</Ordinal><Name>Проверочные коды</Name><Items><item><Shortcode>V2.6.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что проверочный код из кодовой таблицы можно использовать только один раз.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>308</item></CWE><NIST><item>5.1.2.2</item></NIST></item><item><Shortcode>V2.6.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что проверочные коды имеют достаточную случайность (112 бит энтропии). Если их энтропия меньше 112 бит, они «засолены» уникальной и случайной 32-битной солью и хэшированы с помощью утвержденной односторонней функции хэширования.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>330</item></CWE><NIST><item>5.1.2.2</item></NIST></item><item><Shortcode>V2.6.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что проверочные коды устойчивы к атакам offline. Например, что в них не используются предсказуемые значения.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>310</item></CWE><NIST><item>5.1.2.2</item></NIST></item></Items></item><item><Shortcode>V2.7</Shortcode><Ordinal>7</Ordinal><Name>Второй фактор аутентификации</Name><Items><item><Shortcode>V2.7.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что по умолчанию не предлагается передавать второй фактор аутентификации открытым текстом через SMS или ТСОП. Т.е. сначала предлагаются более безопасные альтернативы, например, push-уведомления.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>287</item></CWE><NIST><item>5.1.3.2</item></NIST></item><item><Shortcode>V2.7.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что срок действия запросов аутентификации, кодов или токенов, передаваемых по дополнительному каналу, истекает не позже, чем через 10 минут.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>287</item></CWE><NIST><item>5.1.3.2</item></NIST></item><item><Shortcode>V2.7.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что запросы аутентификации, коды или токены, передаваемые по дополнительному каналу, можно использовать только один раз и только для исходного запроса аутентификации.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>287</item></CWE><NIST><item>5.1.3.2</item></NIST></item><item><Shortcode>V2.7.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что проверяющая и проверяемая стороны взаимодействуют по отдельному защищенному каналу.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>523</item></CWE><NIST><item>5.1.3.2</item></NIST></item><item><Shortcode>V2.7.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что проверяющая сторона сохраняет только хешированную версию кода аутентификации.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>256</item></CWE><NIST><item>5.1.3.2</item></NIST></item><item><Shortcode>V2.7.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что код аутентификации формируется криптографическим генератором случайных чисел, и содержит не менее 20 бит энтропии (обычно достаточно шестизначного случайного числа).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>310</item></CWE><NIST><item>5.1.3.2</item></NIST></item></Items></item><item><Shortcode>V2.8</Shortcode><Ordinal>8</Ordinal><Name>OTP</Name><Items><item><Shortcode>V2.8.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что основанные на времени одноразовые пароли (OTP) имеют конечный срок действия.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>613</item></CWE><NIST><item>5.1.4.2</item><item>5.1.5.2</item></NIST></item><item><Shortcode>V2.8.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что симметричные ключи, используемые для проверки отправленных одноразовых паролей, надежно защищены, например, с помощью аппаратного модуля безопасности (HSM) или безопасного хранилища ключей. предоставляемого операционной системой.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>320</item></CWE><NIST><item>5.1.4.2</item><item>5.1.5.2</item></NIST></item><item><Shortcode>V2.8.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что при создании, заполнении и проверке одноразовых паролей используются утвержденные криптографические алгоритмы.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>326</item></CWE><NIST><item>5.1.4.2</item><item>5.1.5.2</item></NIST></item><item><Shortcode>V2.8.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что одноразовый пароль на основе времени можно использовать только один раз в течение срока действия.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>287</item></CWE><NIST><item>5.1.4.2</item><item>5.1.5.2</item></NIST></item><item><Shortcode>V2.8.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что если многофакторный OTP-токен на основе времени используется повторно в течение срока действия, то это событие регистрируется, токен не принимается, а владельцу устройства направляется уведомление.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>287</item></CWE><NIST><item>5.1.5.2</item></NIST></item><item><Shortcode>V2.8.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что физический генератор однофакторных одноразовых паролей может быть отозван в случае его кражи или утери. Убедитесь, что отзыв вступает в силу немедленно во всех сессиях, в которых выполнен вход, независимо от местоположения.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>613</item></CWE><NIST><item>5.2.1</item></NIST></item><item><Shortcode>V2.8.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что биометрические факторы аутентификации можно использовать только в качестве дополнительных, в сочетании с тем, что у вас есть, или с чем-то, что вы знаете.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>Optional</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>308</item></CWE><NIST><item>5.2.3</item></NIST></item></Items></item><item><Shortcode>V2.9</Shortcode><Ordinal>9</Ordinal><Name>Криптографический верификатор</Name><Items><item><Shortcode>V2.9.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что криптографические ключи, используемые при проверке, хранятся в тайне и защищены от разглашения, например с помощью модуля доверенной платформы (TPM) или аппаратного модуля безопасности (HSM) или службы ОС, которая может использовать это защищенное хранилище.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>320</item></CWE><NIST><item>5.1.7.2</item></NIST></item><item><Shortcode>V2.9.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что одноразовая случайная строка (nonce) в запросе имеет длину не менее 64 бит и является уникальной статистически или в течение срока службы криптографического устройства.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>330</item></CWE><NIST><item>5.1.7.2</item></NIST></item><item><Shortcode>V2.9.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что при создании и проверке используются утвержденные криптографические алгоритмы.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>327</item></CWE><NIST><item>5.1.7.2</item></NIST></item></Items></item><item><Shortcode>V2.10</Shortcode><Ordinal>10</Ordinal><Name>Технические учётные записи</Name><Items><item><Shortcode>V2.10.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что секреты технических учетных записей не зависят от неизменных учётных данных, таких как пароли, ключи API или неперсонифицированные учетные записи с привилегированным доступом.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>ОС</Requirement></L2><L3><Required>True</Required><Requirement>HSM</Requirement></L3><CWE><item>287</item></CWE><NIST><item>5.1.1.1</item></NIST></item><item><Shortcode>V2.10.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что если для аутентификации технической учётной записи требуется пароль, то она не является учётной записью по умолчанию. Например, во время установки иногда используются root /root или admin / admin.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>ОС</Requirement></L2><L3><Required>True</Required><Requirement>HSM</Requirement></L3><CWE><item>255</item></CWE><NIST><item>5.1.1.1</item></NIST></item><item><Shortcode>V2.10.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что пароли хранятся с достаточной защитой для предотвращения атак восстановления offline, включая доступ к локальной системе.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>ОС</Requirement></L2><L3><Required>True</Required><Requirement>HSM</Requirement></L3><CWE><item>522</item></CWE><NIST><item>5.1.1.1</item></NIST></item><item><Shortcode>V2.10.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что пароли, строки подключения к базам данных и внешним системам, векторы инициализации и внутренние секреты, а также ключи API хранятся в тайне, и не включаются в исходный код, не хранятся в репозиториях исходного кода. Такое хранилище ДОЛЖНО противостоять атакам в режиме offline. Для хранения паролей рекомендуется использовать безопасное хранилище программных ключей (L1), аппаратный TPM или HSM (L3).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>ОС</Requirement></L2><L3><Required>True</Required><Requirement>HSM</Requirement></L3><CWE><item>798</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V3</Shortcode><Ordinal>3</Ordinal><ShortName>Session</ShortName><Name>Управление сессиями</Name><Items><item><Shortcode>V3.1</Shortcode><Ordinal>1</Ordinal><Name>Базовые требования</Name><Items><item><Shortcode>V3.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение не указывает сессионные токены в параметрах URL.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>598</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V3.2</Shortcode><Ordinal>2</Ordinal><Name>Создание сессии</Name><Items><item><Shortcode>V3.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что при аутентификации пользователя приложение каждый раз создает новый сессионный токен. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>384</item></CWE><NIST><item>7.1</item></NIST></item><item><Shortcode>V3.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что сессионные токены обладают энтропией как минимум в 64-бит. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>331</item></CWE><NIST><item>7.1</item></NIST></item><item><Shortcode>V3.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что приложение хранит сессионные токены в браузере безопасно, например, в защищенных файлах cookie (см. раздел V.3.4) или в хранилище сессий HTML5.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>539</item></CWE><NIST><item>7.1</item></NIST></item><item><Shortcode>V3.2.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что сессионные токены генерируются с использованием утвержденных криптографических алгоритмов. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>331</item></CWE><NIST><item>7.1</item></NIST></item></Items></item><item><Shortcode>V3.3</Shortcode><Ordinal>3</Ordinal><Name>Завершение сессии</Name><Items><item><Shortcode>V3.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что при выходе из системы и по истечению срока действия сессионный токен становится недействительным, таким образом, чтобы кнопка «Назад» или нижестоящая проверяющая сторона не возобновляли аутентифицированную сессию, в том числе между проверяющими сторонами. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>613</item></CWE><NIST><item>7.1</item></NIST></item><item><Shortcode>V3.3.2</Shortcode><Ordinal>2</Ordinal><Description>Если механизмы аутентификации позволяют пользователям оставаться в системе, убедитесь, что как при активном использовании, так и после периода простоя, периодически проводится повторная аутентификация. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>30 дней</Requirement></L1><L2><Required>True</Required><Requirement>12 часов или 30 минут бездействия, МФА как опция</Requirement></L2><L3><Required>True</Required><Requirement>12 часов или 15 минут бездействия, МФА обязательна</Requirement></L3><CWE><item>613</item></CWE><NIST><item>7.2</item></NIST></item><item><Shortcode>V3.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что после успешного изменения пароля (в т.ч. после его сброса/восстановления) приложение дает возможность завершить все активные сессии, и что это действие распространяется на приложения при федеративном входе в систему (при его наличии) и на проверяющие стороны.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>613</item></CWE><NIST></NIST></item><item><Shortcode>V3.3.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что пользователи могут видеть все свои активные на данный момент сессии и устройства и (после повторного ввода учетных данных) выходить из любой из них или из всех сразу.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>613</item></CWE><NIST><item>7.1</item></NIST></item></Items></item><item><Shortcode>V3.4</Shortcode><Ordinal>4</Ordinal><Name>Cookie</Name><Items><item><Shortcode>V3.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для сессионных токенов на основе файлов cookie установлен атрибут Secure. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>614</item></CWE><NIST><item>7.1.1</item></NIST></item><item><Shortcode>V3.4.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что для сессионных токенов на основе cookie установлен атрибут HttpOnly. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1004</item></CWE><NIST><item>7.1.1</item></NIST></item><item><Shortcode>V3.4.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что сессионные токены на основе cookie используют атрибут SameSite, установленный в значение Lax или Strict, чтобы ограничить подверженность атакам по подмене межсайтовых запросов (CSRF). ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>16</item></CWE><NIST><item>7.1.1</item></NIST></item><item><Shortcode>V3.4.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что токены сессии на основе cookie используют префикс "__Host-". Таким образом, cookie отправляются только на тот хост, который изначально его установил, т.е. нельзя установить несколько cookie с одинаковым именем из другого поддомена или с другим значением домена или с другим значением пути.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>16</item></CWE><NIST><item>7.1.1</item></NIST></item><item><Shortcode>V3.4.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что если приложение публикуется под одним доменным именем с другими приложениями, которые также устанавливают или используют свои сессионные cookie, и могут раскрывать их, то задайте атрибут Path, используя максимально точный путь. ([C6](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>16</item></CWE><NIST><item>7.1.1</item></NIST></item></Items></item><item><Shortcode>V3.5</Shortcode><Ordinal>5</Ordinal><Name>Токены</Name><Items><item><Shortcode>V3.5.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение позволяет пользователям отзывать Oauth-токены, которые формируют отношения доверия со связанными приложениями.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>290</item></CWE><NIST><item>7.1.2</item></NIST></item><item><Shortcode>V3.5.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что приложение использует сессионные токены, а не статические секреты и API-ключи, за исключением устаревших реализаций.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>798</item></CWE><NIST></NIST></item><item><Shortcode>V3.5.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что сессионные токены без сохранения состояния используют электронную подпись, шифрование и другие контрмеры для защиты от атак подделки, обертывания, воспроизведения, нулевого шифрования и подмены ключей.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>345</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V3.6</Shortcode><Ordinal>6</Ordinal><Name>Федеративная повторная аутентификация</Name><Items><item><Shortcode>V3.6.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что на проверяющей стороне (RP) определено предельно допустимое время аутентификации для поставщика учетных данных (CSP), и что CSP должны требовать повторной аутентификации пользователя, в случае бездействия в течение этого периода.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>613</item></CWE><NIST><item>7.2.1</item></NIST></item><item><Shortcode>V3.6.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что поставщик учетных данных (CSP) информирует проверяющую сторону (RP) о последнем событии аутентификации, чтобы RP могла определить, нужно ли ей повторно аутентифицировать пользователя.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>613</item></CWE><NIST><item>7.2.1</item></NIST></item></Items></item><item><Shortcode>V3.7</Shortcode><Ordinal>7</Ordinal><Name>Меры защиты от уязвимостей сессии</Name><Items><item><Shortcode>V3.7.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение обеспечивает полный, действительный сеанс входа в систему или требует повторной аутентификации или проверки второго фактора, прежде чем разрешать какие-либо конфиденциальные транзакции или изменения учетной записи.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>306</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V4</Shortcode><Ordinal>4</Ordinal><ShortName>Access</ShortName><Name>Контроль доступа</Name><Items><item><Shortcode>V4.1</Shortcode><Ordinal>1</Ordinal><Name>Базовые принципы</Name><Items><item><Shortcode>V4.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение применяет правила контроля доступа на уровне доверенного сервиса, особенно если контроль доступа реализован на стороне клиента и может быть обойдён.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>602</item></CWE><NIST></NIST></item><item><Shortcode>V4.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что конечные пользователи без специального на то разрешения не могут манипулировать атрибутами пользователей и данных, а также информацией о применяемой политике контроля доступа.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>639</item></CWE><NIST></NIST></item><item><Shortcode>V4.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что применяется принцип наименьших привилегий, т.е. пользователи имеют доступ только к тем функциям, данным, URL-адресам, контроллерам, сервисам и прочим ресурсам, для которых им явно определены права. Это подразумевает защиту от спуфинга (подмены) и повышения привилегий. ([C7](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>285</item></CWE><NIST></NIST></item><item><Shortcode>V4.1.4</Shortcode><Ordinal>4</Ordinal><Description>[УДАЛЕНО, ДУБЛИРУЕТ 4.1.3]</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>False</Required><Requirement></Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V4.1.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что механизмы управления доступом даже при сбоях ведут себя безопасным образом, в том числе при возникновении исключений. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>285</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V4.2</Shortcode><Ordinal>2</Ordinal><Name>Этап эксплуатации</Name><Items><item><Shortcode>V4.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что конфиденциальные данные и API защищены от атак с небезопасной прямой ссылкой на объект (IDOR), направленных на создание, чтение, обновление и удаление данных, например, регистрацию или изменение чужой учётной записи, просмотр или удаление всех учетных записей.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>639</item></CWE><NIST></NIST></item><item><Shortcode>V4.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что приложение или платформа применяют надежный механизм защиты от CSRF-атак для неаутентифицированной зоны, а после аутентификации — защиту от автоматизированных атак и от CSRF.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>352</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V4.3</Shortcode><Ordinal>3</Ordinal><Name>Прочие соображения</Name><Items><item><Shortcode>V4.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что в интерфейсе администратора для предотвращения его несанкционированного использования используется многофакторная аутентификация.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>419</item></CWE><NIST></NIST></item><item><Shortcode>V4.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что везде, где это не предусмотрено специально, отключен просмотр каталогов. Кроме того, приложения не должны разрешать обнаружение или раскрытие метаданных файлов или каталогов, таких как Thumbs.db, .DS_Store, .git или .svn.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>548</item></CWE><NIST></NIST></item><item><Shortcode>V4.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что для обеспечения контроля над мошенничеством с учетом рисков и исторического опыта, в приложении применяются дополнительные меры контроля доступа (например, двухшаговая или адаптивная аутентификация) для менее значимых систем и/или разделение полномочий для более критичных приложений.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>732</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V5</Shortcode><Ordinal>5</Ordinal><ShortName>Validation</ShortName><Name>Форматно-логический контроль, нейтрализация и кодировка</Name><Items><item><Shortcode>V5.1</Shortcode><Ordinal>1</Ordinal><Name>Контроль входных данных</Name><Items><item><Shortcode>V5.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что в приложении применяются механизмы защиты от атак «загрязнения» параметров HTTP, особенно если платформа приложения не различает источник параметров запроса (GET, POST, файлы cookie, http-заголовки или переменные среды).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>235</item></CWE><NIST></NIST></item><item><Shortcode>V5.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что фреймворки защищают от атак с массовым присвоением параметров, или что приложение обеспечивает меры защиты от небезопасного назначения параметров, например, помечая поля как private и т.п. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>915</item></CWE><NIST></NIST></item><item><Shortcode>V5.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что все входные данные проходят форматно-логический контроль по «белому» списку разрешенных типов данных, значений атрибутов, параметров, заголовков, запросов, методов и т.п., включая поля HTML-формы, REST-запросы, параметры URL, HTTP-заголовки, атрибуты cookie, пакетные файлы, RSS-каналы и т.д. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>20</item></CWE><NIST></NIST></item><item><Shortcode>V5.1.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что структурированные данные строго типизированы и проверяются по заданной схеме, в которой указаны разрешенные символы, максимальная длина и шаблон данных (например, номера банковских карт, телефонов, адреса email. Проверяется, что связанные поля соответствуют друг другу, например, городу однозначно соответствует его почтовый индекс). ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>20</item></CWE><NIST></NIST></item><item><Shortcode>V5.1.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что перенаправление URL разрешено только по адресам из списка разрешенных. При перенаправлении на потенциально недоверенный адрес отображается предупреждение.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>601</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V5.2</Shortcode><Ordinal>2</Ordinal><Name>Нейтрализация и изоляция</Name><Items><item><Shortcode>V5.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что весь недоверенный HTML-код, из визуальных редакторов (WYSIWYG), должным образом нейтрализуется с помощью библиотеки санитизации или функционала HTML-фреймворка. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>116</item></CWE><NIST></NIST></item><item><Shortcode>V5.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что неструктурированные данные нейтрализуются с применением таких мер, как разрешенные символы и длина строки.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>138</item></CWE><NIST></NIST></item><item><Shortcode>V5.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что приложение нейтрализует пользовательский ввод перед передачей в почтовые системы для защиты от SMTP- или IMAP-инъекций.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>147</item></CWE><NIST></NIST></item><item><Shortcode>V5.2.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что приложение избегает использования eval() или других функций динамического исполнения кода. Там, где нет альтернатив, пользовательский ввод должен нейтрализовываться или помещаться в песочницу перед исполнением.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>95</item></CWE><NIST></NIST></item><item><Shortcode>V5.2.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что приложение защищено от атак с внедрением шаблонов, гарантируя, что весь пользовательский ввод нейтрализуется или исполняется в изолированной среде.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>94</item></CWE><NIST></NIST></item><item><Shortcode>V5.2.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что приложение защищено от SSRF-атак, проверяя или нейтрализуя недоверенные данные или метаданные HTTP-запросов, такие как имена файлов, поля для ввода URL-адресов, а также применяет списки разрешенных протоколов, доменов, путей и портов.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>918</item></CWE><NIST></NIST></item><item><Shortcode>V5.2.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что приложение нейтрализует, отключает или изолирует предоставляемый пользователем контент для сценариев масштабируемой векторной графики (SVG), особенно если они относятся к XSS, полученным из встроенных в код сценариев или foreignObject.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>159</item></CWE><NIST></NIST></item><item><Shortcode>V5.2.8</Shortcode><Ordinal>8</Ordinal><Description>Убедитесь, что приложение нейтрализует, отключает или помещает в песочницу предоставляемый пользователем контент на языках сценариев или шаблонов разметки, таких как Markdown, таблицы стилей CSS или XSL, BBCode и т.п.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>94</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V5.3</Shortcode><Ordinal>3</Ordinal><Name>Кодирование выходных данных и предотвращение инъекций</Name><Items><item><Shortcode>V5.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что кодировка выходных данных подходит для интерпретатора и контекста. Т.е. для значений и атрибутов HTML, JavaScript, параметров в URL, HTTP-заголовков, SMTP и др. кодировка определяется в зависимости от контекста, особенно при недоверенных входных данных, например, имен на Unicode или с апострофами, таких как ねこ или О'Хара). ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>116</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что кодировка выходных данных отображает выбранный пользователем набор символов и языковой стандарт, таким образом чтобы любой символ Unicode был допустимым и безопасно обрабатывался. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>176</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что контекстно-зависимое экранирование выходных данных защищает от XSS-атак (отражённых, сохраненных, основанных на DOM). Предпочтительно автоматизированное, или хотя бы ручное. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>79</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что запросы к базам данных (SQL, HQL, ORM, NoSQL и пр.) параметризованы посредством ORM, Entity Framework, или иным образом защищены от атак инъекции в базу данных. ([C3](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>89</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что для защиты от SQL-инъекций там, где параметризованные или более безопасные механизмы отсутствуют, при выводе данных используется контекстно-зависимое кодирование, например, экранирование SQL. ([C3, C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>89</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что приложение защищено от JSON-инъекции, атак JSON eval и интерпретации кода на JavaScript. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>830</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что приложение защищено от LDAP-инъекций или что были реализованы меры безопасности для предотвращения LDAP-инъекций. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>90</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.8</Shortcode><Ordinal>8</Ordinal><Description>Убедитесь, что приложение защищено от инъекций команд операционной системы, и что для вызова команд (и передачи в них аргументов) используются параметризованные запросы к ОС или контекстное кодирование при выводе командной строки. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>78</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.9</Shortcode><Ordinal>9</Ordinal><Description>Убедитесь, что приложение защищено от атак с локальным включением файлов (LFI) или удаленным включением файлов (RFI).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>829</item></CWE><NIST></NIST></item><item><Shortcode>V5.3.10</Shortcode><Ordinal>10</Ordinal><Description>Убедитесь, что приложение защищено от атак с использованием XPath- или XML-инъекций. ([C4](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>643</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V5.4</Shortcode><Ordinal>4</Ordinal><Name>Память, строки и неуправляемый код</Name><Items><item><Shortcode>V5.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для обнаружения или предотвращения ситуаций переполнения стека, буфера или кучи приложение учитывает размер доступной области памяти при строковых операциях, копировании в память, в арифметике указателей и т.п..</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>120</item></CWE><NIST></NIST></item><item><Shortcode>V5.4.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что строка форматирования не содержит потенциально вредоносных входных данных и является неизменяемой.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>134</item></CWE><NIST></NIST></item><item><Shortcode>V5.4.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что для предотвращения целочисленного переполнения применяется контроль знака, диапазона и типа допустимых входных данных.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>190</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V5.5</Shortcode><Ordinal>5</Ordinal><Name>Предотвращение десериализации</Name><Items><item><Shortcode>V5.5.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для предотвращения создания вредоносных объектов или подмены данных используется контроль целостности и/или шифрование. ([C5](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>502</item></CWE><NIST></NIST></item><item><Shortcode>V5.5.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что приложение правильно ограничивает XML-парсер наиболее строгой конфигурацией, которая гарантирует, что небезопасные XML-функции, такие как разрешение внешних объектов, отключены для предотвращения атак XML eXternal Entity (XXE).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>611</item></CWE><NIST></NIST></item><item><Shortcode>V5.5.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что десериализация недоверенных данных исключена или изолирована как в пользовательском коде, так и в сторонних библиотеках (например, в парсерах JSON, XML, YAML и пр.).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>502</item></CWE><NIST></NIST></item><item><Shortcode>V5.5.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что при разборе JSON в браузерах или в серверной части на основе JavaScript для документа JSON используется JSON.parse. Не используйте eval() для разбора JSON.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>95</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V6</Shortcode><Ordinal>6</Ordinal><ShortName>Cryptography</ShortName><Name>Хранимая криптография</Name><Items><item><Shortcode>V6.1</Shortcode><Ordinal>1</Ordinal><Name>Категории информации</Name><Items><item><Shortcode>V6.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что в зашифрованном виде хранятся регулируемые законом персональные данные, или данные, которые могут подпадать под действие ФЗ-152, GDPR и т.п.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>311</item></CWE><NIST></NIST></item><item><Shortcode>V6.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что в зашифрованном виде хранятся регулируемые законом данные о здоровье, например медицинские карты, результаты анализов, диагностические данные с медицинского оборудования или необезличенные результаты клинических исследований.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>311</item></CWE><NIST></NIST></item><item><Shortcode>V6.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что в зашифрованном виде хранится регулируемая законом финансовая информация, например, данные о банковских картах и счетах, о банкротстве, кредитная история, налоговые декларации, история платежей, выгодоприобретатели или необезличенные данные исследований рынка.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>311</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V6.2</Shortcode><Ordinal>2</Ordinal><Name>Алгоритмы</Name><Items><item><Shortcode>V6.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что криптографические модули при сбоях ведут себя безопасно, а ошибки обрабатываются таким образом, чтобы не допустить атаки Padding Oracle.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>310</item></CWE><NIST></NIST></item><item><Shortcode>V6.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что используются утвержденные государственные или отраслевые стандарты на криптографические алгоритмы, режимы и библиотеки, а не криптография собственной / заказной разработки. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>327</item></CWE><NIST></NIST></item><item><Shortcode>V6.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что вектор инициализации, конфигурация шифра и блочные режимы настроены безопасно, используя актуальные рекомендации.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>326</item></CWE><NIST></NIST></item><item><Shortcode>V6.2.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что для защиты от криптографических атак в любой момент можно перенастроить, обновить или изменить параметры алгоритмов (генерации случайных чисел, шифрования, хэширования), а также длины ключей, раунды, шифры или режимы. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>326</item></CWE><NIST></NIST></item><item><Shortcode>V6.2.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что не используются небезопасные блочные режимы (например, ECB и т.д.), режимы дополнения (например, PKCS#1 v1.5 и т.д.), шифры с небольшими размерами блоков (например, 3DES, Blowfish и т.д.) и нестойкие алгоритмы хеширования (например, MD5, SHA1 и т. д.), если это не требуется для обратной совместимости.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>326</item></CWE><NIST></NIST></item><item><Shortcode>V6.2.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что значения nonce, векторов инициализации и других случайных одноразовых строк не должны использоваться более одного раза с данным ключом шифрования. Метод их генерации должен соответствовать используемому алгоритму.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>326</item></CWE><NIST></NIST></item><item><Shortcode>V6.2.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что зашифрованные данные аутентифицированы с помощью подписей, аутентифицированных режимов шифрования или HMAC, чтобы гарантировать, что зашифрованный текст не будет изменен неуполномоченной на то стороной.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>326</item></CWE><NIST></NIST></item><item><Shortcode>V6.2.8</Shortcode><Ordinal>8</Ordinal><Description>Убедитесь, что все криптографические операции выполняются за постоянное время, без операций «короткого замыкания» при сравнении, вычислениях или возврате, чтобы избежать утечки информации по побочным каналам.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>385</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V6.3</Shortcode><Ordinal>3</Ordinal><Name>Случайные значения</Name><Items><item><Shortcode>V6.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что все случайные числа, случайные имена файлов, случайные идентификаторы GUID и случайные строки генерируются с помощью утвержденного криптографического генератора случайных чисел в криптографическом модуле.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>338</item></CWE><NIST></NIST></item><item><Shortcode>V6.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что случайные идентификаторы GUID создаются с использованием алгоритма GUIDv4 и криптографического генератора псевдослучайных чисел (CSPRNG). GUID, созданные с помощью других генераторов псевдослучайных чисел, могут быть предсказуемыми.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>338</item></CWE><NIST></NIST></item><item><Shortcode>V6.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что случайные числа создаются с надлежащей энтропией, даже когда приложение находится под большой нагрузкой, и что при сбоях оно ведет себя безопасно.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>338</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V6.4</Shortcode><Ordinal>4</Ordinal><Name>Управление секретами</Name><Items><item><Shortcode>V6.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для безопасного создания, хранения, контроля доступа и уничтожения секретов используется решение для управления секретами, например, сейф — хранилище ключей (key vault). ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>798</item></CWE><NIST></NIST></item><item><Shortcode>V6.4.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что ключевой материал не доступен приложению, и для криптографических операций применяется изолированный модуль безопасности, например, сейф (vault). ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>320</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V7</Shortcode><Ordinal>7</Ordinal><ShortName>Error</ShortName><Name>Обработка ошибок и ведение журнала</Name><Items><item><Shortcode>V7.1</Shortcode><Ordinal>1</Ordinal><Name>Содержимое журнала</Name><Items><item><Shortcode>V7.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение не записывает в журнал учетные или платежные данные. Сессионные токены могут записываться в журнал только в необратимой хэшированной форме. ([C9, C10](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>532</item></CWE><NIST></NIST></item><item><Shortcode>V7.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что приложение не записывает в журнал другие конфиденциальные данные в соответствии с применимыми законами (ПДн, банковская, налоговая, коммерческая, врачебная и иные виды тайн) или действующей политике безопасности. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>532</item></CWE><NIST></NIST></item><item><Shortcode>V7.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что приложение регистрирует в журнале события, относящиеся к безопасности, включая успешную и неудачную аутентификацию, события нарушения контроля доступа, десериализации и форматно-логического контроля входных данных. ([C5, C7](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>778</item></CWE><NIST></NIST></item><item><Shortcode>V7.1.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что каждое событие журнала включает необходимую и достаточную информацию, которая позволит провести его подробное исследование с учетом хронологических связей. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>778</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V7.2</Shortcode><Ordinal>2</Ordinal><Name>Обработка журнала</Name><Items><item><Shortcode>V7.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что все решения по аутентификации регистрируются в журнале, без сохранения сессионных токенов, паролей и т.п., включая запросы с соответствующими метаданными, необходимыми для расследований событий безопасности.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>778</item></CWE><NIST></NIST></item><item><Shortcode>V7.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что все решения по контролю доступа МОГУТ, а все неудачные попытки ДОЛЖНЫ быть занесены в журнал, включая запросы с соответствующими метаданными, необходимыми для расследований событий безопасности.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>285</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V7.3</Shortcode><Ordinal>3</Ordinal><Name>Защита журнала</Name><Items><item><Shortcode>V7.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что все компоненты записывают события в журнал в нормализованной форме, указывая правильную кодировку, и используя экранирование символов, чтобы предотвратить инъекцию в журнал. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>117</item></CWE><NIST></NIST></item><item><Shortcode>V7.3.2</Shortcode><Ordinal>2</Ordinal><Description>[УДАЛЕНО, ДУБЛИРУЕТ 7.3.1]</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>False</Required><Requirement></Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V7.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что журналы событий безопасности защищены от несанкционированного доступа и изменения. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>200</item></CWE><NIST></NIST></item><item><Shortcode>V7.3.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что системное время синхронизируется с утвержденными источниками времени и в правильном часовом поясе. Для географически распределенных систем настоятельно рекомендуется вести журнал в формате UTC, чтобы облегчить криминалистический анализ после инцидента. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item></Items></item><item><Shortcode>V7.4</Shortcode><Ordinal>4</Ordinal><Name>Обработка ошибок</Name><Items><item><Shortcode>V7.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что при возникновении непредвиденной ошибки или ошибки, связанной с безопасностью, отображается универсальное сообщение с уникальным идентификатором, который персонал службы сопровождения может использовать для расследования. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>210</item></CWE><NIST></NIST></item><item><Shortcode>V7.4.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что для учета ожидаемых и непредвиденных ошибок в кодовой базе используется обработка исключений (или ее функциональный эквивалент). ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>544</item></CWE><NIST></NIST></item><item><Shortcode>V7.4.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что определен обработчик ошибок «последней инстанции», который будет перехватывать все необработанные исключения. ([C10](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>431</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V8</Shortcode><Ordinal>8</Ordinal><ShortName>Data</ShortName><Name>Защита информации</Name><Items><item><Shortcode>V8.1</Shortcode><Ordinal>1</Ordinal><Name>Базовые меры</Name><Items><item><Shortcode>V8.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение защищает конфиденциальные данные от кэширования в серверных компонентах, таких как балансировщики нагрузки и кэши приложений.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>524</item></CWE><NIST></NIST></item><item><Shortcode>V8.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что все кэшированные или временные копии конфиденциальных данных, хранящиеся на сервере, защищены от несанкционированного доступа или очищены/аннулированы после того, как авторизованный пользователь получит доступ к конфиденциальным данным.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>524</item></CWE><NIST></NIST></item><item><Shortcode>V8.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что приложение минимизирует количество параметров в запросе, таких как скрытые поля, переменные AJAX, файлы cookie и значения заголовков.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>233</item></CWE><NIST></NIST></item><item><Shortcode>V8.1.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что приложение может обнаруживать и предупреждать об аномальном количестве запросов, например, по данному IP-адресу или пользователю, по общему количеству запросов в час или в день или по другому признаку в контексте приложения.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>770</item></CWE><NIST></NIST></item><item><Shortcode>V8.1.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что регулярно создаются резервные копии всех значимых данных и проводится тестирование по восстановлению этих данных.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>19</item></CWE><NIST></NIST></item><item><Shortcode>V8.1.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что резервные копии хранятся в безопасном месте, чтобы предотвратить кражу или повреждение данных.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>19</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V8.2</Shortcode><Ordinal>2</Ordinal><Name>Защита данных на стороне клиента</Name><Items><item><Shortcode>V8.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение устанавливает соответствующие заголовки для предотвращения кэширования, чтобы конфиденциальные данные не кэшировались в современных браузерах.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>525</item></CWE><NIST></NIST></item><item><Shortcode>V8.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что данные, хранящиеся в хранилище браузера (например, localStorage, sessionStorage, IndexedDB или файлы cookie), не содержат конфиденциальной информации.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>922</item></CWE><NIST></NIST></item><item><Shortcode>V8.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что данные, полученные после аутентификации клиента, удаляются из хранилища, например из DOM браузера, после завершения работы клиента или сессии.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>922</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V8.3</Shortcode><Ordinal>3</Ordinal><Name>Персональные данные</Name><Items><item><Shortcode>V8.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что в параметрах строки HTTP-запроса не содержится конфиденциальных данных. Вместо этого они отправляются на сервер в теле или заголовках HTTP-сообщения.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>319</item></CWE><NIST></NIST></item><item><Shortcode>V8.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что у пользователей есть способ удалить или экспортировать свои данные по запросу.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>212</item></CWE><NIST></NIST></item><item><Shortcode>V8.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что пользователям предоставлены четкие формулировки в отношении сбора и использования их персональных данных, и что они дали добровольное согласие на обработку этих данных, прежде чем эти данные будут каким-либо образом использованы.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>285</item></CWE><NIST></NIST></item><item><Shortcode>V8.3.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что определены все конфиденциальные данные, создающиеся и обрабатываемые приложением, и что на эти данные распространяется действие политики обращения с конфиденциальными данными. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>200</item></CWE><NIST></NIST></item><item><Shortcode>V8.3.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что доступ к конфиденциальным данным подвергается аудиту (без регистрации в журнале самих этих данных), если данные собираются в соответствии с соответствующими законами о защите данных или если вести журнал доступа требуется по стандарту организации (отрасли).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>532</item></CWE><NIST></NIST></item><item><Shortcode>V8.3.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что для предотвращения атак с дампом памяти, конфиденциальная информация, содержащаяся в памяти, после того как она больше не нужна, перезаписывается (нулями или случайными данными).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>226</item></CWE><NIST></NIST></item><item><Shortcode>V8.3.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что конфиденциальная информация, которую необходимо зашифровать, зашифрована с использованием утвержденных алгоритмов, обеспечивающих как конфиденциальность, так и целостность. ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>327</item></CWE><NIST></NIST></item><item><Shortcode>V8.3.8</Shortcode><Ordinal>8</Ordinal><Description>Убедитесь, что конфиденциальная информация подлежит классификации по сроку хранения, чтобы ненужные или устаревшие данные удалялись автоматически, по расписанию или по мере необходимости.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>285</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V9</Shortcode><Ordinal>9</Ordinal><ShortName>Communications</ShortName><Name>Передача данных</Name><Items><item><Shortcode>V9.1</Shortcode><Ordinal>1</Ordinal><Name>Безопасность подключений со стороны клиента</Name><Items><item><Shortcode>V9.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для клиентских подключений используется протокол TLS, и при этом он не оставляет соединения без защиты (незашифрованными или неаутентифицированными). ([C8](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>319</item></CWE><NIST></NIST></item><item><Shortcode>V9.1.2</Shortcode><Ordinal>2</Ordinal><Description>С помощью современных инструментов тестирования TLS убедитесь, что включены только стойкие шифронаборы, при этом наиболее стойкие из них выбраны как предпочтительные.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>326</item></CWE><NIST></NIST></item><item><Shortcode>V9.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что включены только актуальные и рекомендуемые версии протокола TLS, такие как TLS 1.2 и TLS 1.3. Наиболее свежая версия TLS должна быть выбрана как предпочтительная.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>326</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V9.2</Shortcode><Ordinal>2</Ordinal><Name>Безопасность подключений со стороны сервера</Name><Items><item><Shortcode>V9.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для подключения к и от сервера используются доверенные сертификаты TLS. Если используются сгенерированные собственным УЦ или самоподписанные сертификаты, то сервер должен быть настроен так, чтобы доверять только утвержденным внутренним центрам сертификации и только указанным самоподписанным сертификатам. Все остальные должны отвергаться.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>295</item></CWE><NIST></NIST></item><item><Shortcode>V9.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что для всех входящих и исходящих подключений используются зашифрованные соединения, такие как TLS, в том числе для портов управления, мониторинга, аутентификации, вызовов API или web-сервисов, подключений к базам данных, облачным сервисам, бессерверным функциям, серверам, внешних и партнерских подключений. Сервер не должен возвращаться к небезопасным или незашифрованным протоколам.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>319</item></CWE><NIST></NIST></item><item><Shortcode>V9.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что все зашифрованные соединения с внешними системами, передающие конфиденциальную информацию или функции, аутентифицированы.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>287</item></CWE><NIST></NIST></item><item><Shortcode>V9.2.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что включена и настроена процедура отзыва сертификатов, например, Online Certificate Status Protocol (OCSP) Stapling.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>299</item></CWE><NIST></NIST></item><item><Shortcode>V9.2.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что сбои TLS-соединений со стороны сервера регистрируются в журнале.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>544</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V10</Shortcode><Ordinal>10</Ordinal><ShortName>Malicious</ShortName><Name>Вредоносный код</Name><Items><item><Shortcode>V10.1</Shortcode><Ordinal>1</Ordinal><Name>Целостность исходного кода</Name><Items><item><Shortcode>V10.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что используется инструмент анализа исходного кода, который может обнаруживать потенциально вредоносный код, например, манипуляции с системным временем, с файлами и сетевыми подключениями.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>749</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V10.2</Shortcode><Ordinal>2</Ordinal><Name>Поиск вредоносного кода</Name><Items><item><Shortcode>V10.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что исходный код приложения и сторонние библиотеки не содержат недокументированных возможностей по сбору и отправке данных пользователя неразрешённым адресатам. Если такие функции существуют, необходимо получить разрешение на эти действия и явное согласие пользователя, прежде чем собирать какие-либо данные.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>359</item></CWE><NIST></NIST></item><item><Shortcode>V10.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что приложение не запрашивает ненужных или избыточных разрешений для функций, связанных с конфиденциальностью, например, доступ к контактам, сообщениям, истории просмотров и пр. или к датчикам, таким как камера, микрофон или местоположение.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>272</item></CWE><NIST></NIST></item><item><Shortcode>V10.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что исходный код приложения и сторонних библиотек не содержит лазеек, таких как включенные в код и/или недокументированные учетные записи или ключи, обфускация кода, недокументированные бинарные объекты (blob), руткиты или средства защиты от отладки, или иные устаревшие, небезопасные или скрытые функции, которые могут быть использованы злонамеренно.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>507</item></CWE><NIST></NIST></item><item><Shortcode>V10.2.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что исходный код приложения и сторонние библиотеки не содержат «бомб отложенного действия», выполнив поиск функций, связанных с датой и временем.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>511</item></CWE><NIST></NIST></item><item><Shortcode>V10.2.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что исходный код приложения и сторонние библиотеки не содержат вредоносного кода, такого как атаки типа «нарезка салями», обход логики или «логические бомбы».</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>511</item></CWE><NIST></NIST></item><item><Shortcode>V10.2.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что исходный код приложения и сторонние библиотеки не содержат «пасхальных яиц» и других недокументированных функций.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>507</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V10.3</Shortcode><Ordinal>3</Ordinal><Name>Целостность приложения</Name><Items><item><Shortcode>V10.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что если в приложении есть функция автоматического обновления клиента или сервера, то обновления должны быть получены по защищенным каналам и подписаны электронной подписью. Код обновления должен проверять подпись обновления до установки или применения обновления.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>16</item></CWE><NIST></NIST></item><item><Shortcode>V10.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что приложение использует меры защиты целостности, такие как подпись кода или включаемых ресурсов (subresource integrity). Приложение не должно загружать или исполнять код из недоверенных источников, таких как загрузка компонентов, модулей, плагинов, кода или библиотек из Интернета.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>353</item></CWE><NIST></NIST></item><item><Shortcode>V10.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что если приложение полагается на записи DNS или субдомены DNS, то оно контролирует возможный захват субдоменов злоумышленниками, например, после истечения срока делегирования доменных имен, устаревании указателей DNS или CNAME, в необновляемых проектах, в общедоступных репозиториях исходного кода или во временных облачных API, бессерверных функциях, или хранилищах (*autogen-bucket-id*.cloud.example.com и т.п.). Меры защиты включают регулярную проверку DNS-имен, используемых приложениями, на предмет истечения срока их делегирования или изменения владельца.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>350</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V11</Shortcode><Ordinal>11</Ordinal><ShortName>BusLogic</ShortName><Name>Бизнес-логика</Name><Items><item><Shortcode>V11.1</Shortcode><Ordinal>1</Ordinal><Name>Безопасность бизнес-логики</Name><Items><item><Shortcode>V11.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение обрабатывает потоки бизнес-логики для того же пользователя, последовательно, и без пропуска шагов.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>841</item></CWE><NIST></NIST></item><item><Shortcode>V11.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что приложение обрабатывает потоки бизнес-логики только в том случае, если все шаги обрабатываются в реалистичном для человека масштабе времени, т.е. транзакции не делаются слишком быстро.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>799</item></CWE><NIST></NIST></item><item><Shortcode>V11.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что приложение ограничивает определенные операции бизнес-процессов или транзакции по частоте и потребляемым ресурсам, и эти ограничения корректно применяются для каждого пользователя.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>770</item></CWE><NIST></NIST></item><item><Shortcode>V11.1.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что в приложении предусмотрены меры защиты от автоматизации аномальных по размеру запросов на массовую выгрузку данных, запросов бизнес-логики, загрузки файлов или атак типа «отказ в обслуживании».</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>770</item></CWE><NIST></NIST></item><item><Shortcode>V11.1.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что приложение имеет ограничения бизнес-логики или меры защиты от наиболее вероятных бизнес-рисков или угроз, выявленных с помощью моделирования угроз или аналогичных методологий.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>841</item></CWE><NIST></NIST></item><item><Shortcode>V11.1.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что приложение не подвержено атакам типа «момент проверки до момента использования» (TOCTOU) или других условий гонки для конфиденциальных операций.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>367</item></CWE><NIST></NIST></item><item><Shortcode>V11.1.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что приложение отслеживает необычные события или действия с точки зрения бизнес-логики. Например, попытки выполнить действия не по порядку или действия, которые обычный пользователь никогда бы не совершил. ([C9](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>754</item></CWE><NIST></NIST></item><item><Shortcode>V11.1.8</Shortcode><Ordinal>8</Ordinal><Description>Убедитесь, что приложение имеет настраиваемое оповещение при обнаружении автоматизированных атак или необычных действий.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>390</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V12</Shortcode><Ordinal>12</Ordinal><ShortName>Files</ShortName><Name>Файлы и ресурсы</Name><Items><item><Shortcode>V12.1</Shortcode><Ordinal>1</Ordinal><Name>Загрузка файлов на сервер</Name><Items><item><Shortcode>V12.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что приложение не будет принимать файлы, размер которых превышает доступное место или вызывает отказ в обслуживании.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>400</item></CWE><NIST></NIST></item><item><Shortcode>V12.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что приложение проверяет сжатые файлы (например, zip, gz, docx, odt) на соответствие максимально допустимому несжатому размеру и максимальному количеству файлов перед распаковкой файла.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>409</item></CWE><NIST></NIST></item><item><Shortcode>V12.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что применяются квоты на размер файла и на максимальное количество файлов на одного пользователя, чтобы гарантировать, что пользователь не может заполнить все хранилище слишком большим количеством файлов или файлами чрезмерно большого размера.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>770</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V12.2</Shortcode><Ordinal>2</Ordinal><Name>Целостность файлов</Name><Items><item><Shortcode>V12.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что файлы, полученные из недоверенных источников, соответствуют ожидаемому типу на основе содержимого файла (а не только его наименования).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>434</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V12.3</Shortcode><Ordinal>3</Ordinal><Name>Исполнение файла</Name><Items><item><Shortcode>V12.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что метаданные имени файла, отправляемые пользователем, не используются напрямую файловыми системами ОС или платформы. Вместо этого для защиты от атак path traversal (перемещения по каталогам) используется API URL.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>22</item></CWE><NIST></NIST></item><item><Shortcode>V12.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что передаваемые пользователем метаданные файла проверяются на предмет раскрытия, создания, изменения или удаления локальных файлов (LFI) или игнорируются.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>73</item></CWE><NIST></NIST></item><item><Shortcode>V12.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что передаваемые пользователем метаданные файла проверяются на предмет раскрытия или исполнения файлов посредством удаленного включения (RFI) или подделки запросов на стороне сервера (SSRF), или игнорируются.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>98</item></CWE><NIST></NIST></item><item><Shortcode>V12.3.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что приложение защищено от отраженной загрузки файлов (Reflected File Download, RFD), проверяя или игнорируя передаваемые пользователем в JSON, JSONP или в параметрах URL имена файлов. При этом заголовок ответа Content-Type должен быть установлен в text/plain, а заголовок Content-Disposition должно иметь фиксированное имя файла.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>641</item></CWE><NIST></NIST></item><item><Shortcode>V12.3.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что недоверенные метаданные файла не используются напрямую с системными API или библиотеками для защиты от инъекции команд операционной системы.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>78</item></CWE><NIST></NIST></item><item><Shortcode>V12.3.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что приложение не включает и не исполняет функции из недоверенных источников, таких как непроверенные сети доставки контента (CDN), библиотеки JavaScript, пакеты из npm в Node.js, или серверные библиотеки DLL.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>829</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V12.4</Shortcode><Ordinal>4</Ordinal><Name>Хранение файлов</Name><Items><item><Shortcode>V12.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что файлы, полученные из недоверенных источников, хранятся вне корневого каталога webroot и имеют ограниченные разрешения.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>552</item></CWE><NIST></NIST></item><item><Shortcode>V12.4.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что файлы, полученные из недоверенных источников, проверяются антивирусными сканерами, чтобы предотвратить загрузку и распространение известного вредоносного кода.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>509</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V12.5</Shortcode><Ordinal>5</Ordinal><Name>Загрузка файлов клиентом</Name><Items><item><Shortcode>V12.5.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что уровень представления (web) обслуживает только файлы с заранее определенными расширениями, чтобы предотвратить непреднамеренную утечку информации и исходного кода. Например, файлы резервных копий (.bak), временные рабочие файлы (.swp), сжатые файлы (.zip, .tar.gz и т. д.) и другие расширения, обычно используемые редакторами, должны быть заблокированы, если в них нет необходимости.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>552</item></CWE><NIST></NIST></item><item><Shortcode>V12.5.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что прямые запросы к загруженным файлам никогда не будут интерпретироваться как содержимое HTML/JavaScript.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>434</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V12.6</Shortcode><Ordinal>6</Ordinal><Name>Защита от SSRF</Name><Items><item><Shortcode>V12.6.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что на web-сервере или сервере приложений настроен список разрешенных ресурсов или систем, к которым сервер может отправлять запросы или с которых он может загружать данные/файлы.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>918</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V13</Shortcode><Ordinal>13</Ordinal><ShortName>API</ShortName><Name>API и web-сервисы</Name><Items><item><Shortcode>V13.1</Shortcode><Ordinal>1</Ordinal><Name>Базовая безопасность web-сервисов</Name><Items><item><Shortcode>V13.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что все компоненты приложения используют одну и ту же кодировку символов и ту же библиотеку синтаксического разбора, чтобы избежать атак, которые используют различные URI или поведение парсера, которое может привести к атакам SSRF и RFI.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>116</item></CWE><NIST></NIST></item><item><Shortcode>V13.1.2</Shortcode><Ordinal>2</Ordinal><Description>[УДАЛЕНО, ДУБЛИРУЕТ 4.3.1]</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>False</Required><Requirement></Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V13.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что URL-адреса API не содержат конфиденциальной информации (ключ API, сессионный токен и т.д.)</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>598</item></CWE><NIST></NIST></item><item><Shortcode>V13.1.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что решения об авторизации принимаются как на уровне URI, за счет процедурной или декларативной безопасности на контроллере или маршрутизаторе, так и на уровне ресурсной системы, с учетом разрешений ролевой модели.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>285</item></CWE><NIST></NIST></item><item><Shortcode>V13.1.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что HTTP-запросы, содержащие непредусмотренные или несуществующие типы контента, отклоняются с соответствующими заголовками (статусы ответа HTTP 406 Unacceptable или HTTP 415 Unsupported Media Type).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>434</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V13.2</Shortcode><Ordinal>2</Ordinal><Name>RESTful web-сервисы</Name><Items><item><Shortcode>V13.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что разрешенные RESTful HTTP-методы допустимы для пользователя или действия, например, обычным пользователям нельзя использовать DELETE или PUT для защищенных API или ресурсов.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>650</item></CWE><NIST></NIST></item><item><Shortcode>V13.2.2</Shortcode><Ordinal>2</Ordinal><Description>Прежде чем принимать входные данные в формате JSON, убедитесь в наличии схемы данных, и что по ней проводится форматно-логический контроль.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>20</item></CWE><NIST></NIST></item><item><Shortcode>V13.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что RESTful web-сервисы, использующие cookie, защищены от подделки межсайтовых запросов с помощью, по крайней мере, одного или нескольких из следующих способов: двойной проверки случайного значения (в POST при отправке формы и в cookie), анти-CSRF-токена (nonce) или проверки заголовка источника запроса (Origin).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>352</item></CWE><NIST></NIST></item><item><Shortcode>V13.2.4</Shortcode><Ordinal>4</Ordinal><Description>[УДАЛЕНО, ДУБЛИРУЕТ 11.1.4]</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>False</Required><Requirement></Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V13.2.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что REST API явно проверяют, предусмотрена ли обработка указанного во входных данных Content-Type, например application/xml или application/json.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>436</item></CWE><NIST></NIST></item><item><Shortcode>V13.2.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что заголовки и тело сообщения заслуживают доверия и не изменяются при передаче. Требования стойкого шифрования при передаче (только TLS) может быть достаточно во многих случаях, поскольку оно обеспечивает как конфиденциальность, так и защиту целостности. Электронные подписи для каждого сообщения могут дать дополнительные гарантии к средствам защиты канала передачи для приложений с высокими требованиями к безопасности, но они сопряжены с дополнительными сложностями и рисками, которые перевешивают преимущества.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>345</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V13.3</Shortcode><Ordinal>3</Ordinal><Name>Web сервисы SOAP</Name><Items><item><Shortcode>V13.3.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для обеспечения правильного формирования XML-документа до его обработки выполняется проверка каждого поля на соответствие ограничений XSD-схемы.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>20</item></CWE><NIST></NIST></item><item><Shortcode>V13.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что тело сообщения подписывается с помощью WS-Security, чтобы обеспечить безопасную передачу между клиентом и сервисом.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>345</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V13.4</Shortcode><Ordinal>4</Ordinal><Name>GraphQL</Name><Items><item><Shortcode>V13.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что для предотвращения отказа в обслуживании (DoS) GraphQL или выражения уровня данных в результате ресурсоёмких вложенных запросов применяется список разрешенных запросов или комбинация ограничения по глубине и количеству. Для более сложных сценариев следует использовать анализ стоимости запроса.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>770</item></CWE><NIST></NIST></item><item><Shortcode>V13.4.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что логика авторизации в GraphQL или на другом уровне данных реализована на уровне бизнес-логики, а не на уровне GraphQL.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>285</item></CWE><NIST></NIST></item></Items></item></Items></item><item><Shortcode>V14</Shortcode><Ordinal>14</Ordinal><ShortName>Config</ShortName><Name>Конфигурация</Name><Items><item><Shortcode>V14.1</Shortcode><Ordinal>1</Ordinal><Name>Сборка и развёртывание</Name><Items><item><Shortcode>V14.1.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что процессы сборки и развертывания приложений выполняются безопасным и воспроизводимым образом, например посредством автоматизации CI/CD, автоматизированного управления конфигурациями и автоматизированными сценариями развертывания.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V14.1.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что включены флаги компилятора для всех имеющихся мер защиты и предупреждений: о переполнении буфера, включая рандомизацию стека (ASLR), предотвращение выполнения данных (DEP) и прерывание сборки при обнаружении небезопасных операций с указателями, памятью, строками форматирования, целыми числами или строками.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>120</item></CWE><NIST></NIST></item><item><Shortcode>V14.1.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что в соответствии с рекомендациями используемого сервера приложений и фреймворка укреплена безопасность конфигурации сервера.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>16</item></CWE><NIST></NIST></item><item><Shortcode>V14.1.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что приложение, конфигурация и все зависимости могут быть повторно развернуты с помощью сценариев автоматического развёртывания, созданы из документированного и протестированного runbook в разумные сроки или своевременно восстановлены из резервных копий.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V14.1.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что для обнаружения несанкционированного доступа уполномоченные администраторы могут проверять целостность всех конфигураций, связанных с безопасностью.</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item></Items></item><item><Shortcode>V14.2</Shortcode><Ordinal>2</Ordinal><Name>Зависимости</Name><Items><item><Shortcode>V14.2.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что все компоненты обновляются, желательно с помощью инструмента проверки зависимостей во время сборки или компиляции. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1026</item></CWE><NIST></NIST></item><item><Shortcode>V14.2.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что удалены все ненужные функции, документация, примеры приложений и конфигураций.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1002</item></CWE><NIST></NIST></item><item><Shortcode>V14.2.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что если ресурсы приложения, такие как библиотеки JavaScript, CSS или web-шрифты, размещаются извне (в сети доставки контента (CDN) или у внешнего разработчика), то для проверки целостности этого ресурса используется Subresource Integrity (SRI).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>829</item></CWE><NIST></NIST></item><item><Shortcode>V14.2.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что сторонние компоненты берутся из утвержденных, доверенных и постоянно поддерживаемых репозиториев. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>829</item></CWE><NIST></NIST></item><item><Shortcode>V14.2.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что для всех используемых сторонних библиотек ведется спецификация программного обеспечения (SBOM). ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V14.2.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что поверхность атаки сокращается за счет изоляции сторонних библиотек или инкапсуляции их функций таким образом, чтобы они демонстрировали приложению только требуемое поведение. ([C2](https://owasp.org/www-project-proactive-controls/#div-numbering))</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>265</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V14.3</Shortcode><Ordinal>3</Ordinal><Name>Непреднамеренное раскрытие информации о безопасности</Name><Items><item><Shortcode>V14.3.1</Shortcode><Ordinal>1</Ordinal><Description>[УДАЛЕНО, ДУБЛИРУЕТ 7.4.1]</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>False</Required><Requirement></Requirement></L2><L3><Required>False</Required><Requirement></Requirement></L3><CWE></CWE><NIST></NIST></item><item><Shortcode>V14.3.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что в промышленной среде отключены режимы отладки web-сервера, сервера или платформы приложений, чтобы отключить функции отладки, консоль разработчика и исключить непреднамеренное раскрытие информации о безопасности.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>497</item></CWE><NIST></NIST></item><item><Shortcode>V14.3.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что в HTTP-заголовках или HTTP-ответах не содержится информации о версии системных компонентов.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>200</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V14.4</Shortcode><Ordinal>4</Ordinal><Name>HTTP-заголовки безопасности</Name><Items><item><Shortcode>V14.4.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что каждый HTTP-ответ содержит заголовок Content-Type. Если тип контента — text/*, /+xml или application/xml, то должна быть указана безопасная кодовая страница (например, charset=UTF-8 или ISO-8859-5). Контент должен соответствовать предоставленному заголовку Content-Type.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>173</item></CWE><NIST></NIST></item><item><Shortcode>V14.4.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что все ответы API содержат заголовок Content-Disposition: attachment; filename="api.json" (или другое наименование файла, подходящее для этого типа контента).</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>116</item></CWE><NIST></NIST></item><item><Shortcode>V14.4.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что присутствует заголовок ответа Content Security Policy (CSP), который помогает ослабить воздействие XSS-атак через HTML, DOM, JSON или через инъекции JavaScript.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1021</item></CWE><NIST></NIST></item><item><Shortcode>V14.4.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что ответы содержат заголовок X-Content-Type-Options: nosniff.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>116</item></CWE><NIST></NIST></item><item><Shortcode>V14.4.5</Shortcode><Ordinal>5</Ordinal><Description>Убедитесь, что заголовок Strict-Transport-Security включен во все ответы и для всех поддоменов, например, Strict-Transport-Security: max-age=15778463; includeSubDomains.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>523</item></CWE><NIST></NIST></item><item><Shortcode>V14.4.6</Shortcode><Ordinal>6</Ordinal><Description>Убедитесь, что присутствует заголовок Referrer-Policy с уместным для приложения значением, чтобы избежать раскрытия недоверенным сторонам конфиденциальной информации в URL-адресе через заголовок Referer.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>116</item></CWE><NIST></NIST></item><item><Shortcode>V14.4.7</Shortcode><Ordinal>7</Ordinal><Description>Убедитесь, что содержимое web-приложения по умолчанию не может быть встроено на сторонний сайт, и что встраивание оригинальных ресурсов приложения возможно только с разрешения автора, используя соответствующие заголовки ответов Content-Security-Policy: frame-ancestors и X-Frame-Options.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>1021</item></CWE><NIST></NIST></item></Items></item><item><Shortcode>V14.5</Shortcode><Ordinal>5</Ordinal><Name>Проверка заголовка HTTP-запроса</Name><Items><item><Shortcode>V14.5.1</Shortcode><Ordinal>1</Ordinal><Description>Убедитесь, что сервер приложений принимает только те HTTP-методы, которые использует приложение/API, и регистрирует/предупреждает о любых запросах, недопустимых для контекста приложения.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>749</item></CWE><NIST></NIST></item><item><Shortcode>V14.5.2</Shortcode><Ordinal>2</Ordinal><Description>Убедитесь, что полученный заголовок Origin не используется для аутентификации или при принятии решений о контроле доступа, поскольку он может быть легко изменен злоумышленником.</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>346</item></CWE><NIST></NIST></item><item><Shortcode>V14.5.3</Shortcode><Ordinal>3</Ordinal><Description>Убедитесь, что заголовок Access-Control-Allow-Origin при совместном использовании ресурсов (CORS) применяет для сопоставления строгий список разрешенных доверенных доменов и поддоменов, а не "null".</Description><L1><Required>True</Required><Requirement>✓</Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>346</item></CWE><NIST></NIST></item><item><Shortcode>V14.5.4</Shortcode><Ordinal>4</Ordinal><Description>Убедитесь, что приложением аутентифицируются HTTP-заголовки, добавляемые доверенным прокси-сервером или устройствами единого входа (SSO), например, через токен на предъявителя (bearer).</Description><L1><Required>False</Required><Requirement></Requirement></L1><L2><Required>True</Required><Requirement>✓</Requirement></L2><L3><Required>True</Required><Requirement>✓</Requirement></L3><CWE><item>306</item></CWE><NIST></NIST></item></Items></item></Items></item></Requirements></root>