Skip to main content

V1.1.3 Secure Software Development Lifecycle

Requirement:#

Verify that all user stories and features contain functional security constraints, such as "As a user, I should be able to view and edit my profile. I should not be able to view or edit anyone else's profile"

Explanation:#

Требование указывает на необходимость интеграции функциональных ограничений по безопасности для пользовательских историй и функций в рамках жизненного цикла разработки безопасного программного обеспечения (SDLC). Данное требование направлено на включение вопросов безопасности и ограничения доступа непосредственно в процесс разработки, чтобы гарантировать, что требования безопасности будут рассматриваться наряду с функциональными требованиями к ПО.

User Stories и Features

Пользовательские истории - документирование всех разрешенных действий пользователя при работе с разрабатываемым ПО. Пользовательские истории и функции являются фундаментальными компонентами методологии Agile-разработки. Они определяют конкретное взаимодействие с пользователем и его функциональность.

Functional Security Constraints:

Функциональные ограничения по безопасности - это условия, которые описывают, как должны выполняться требования безопасности в контексте пользовательских историй или функций. Эти ограничения определяют как аспекты безопасности интегрируются в разрабатываемую функциональность.

Добавление ограничений безопасности непосредственно в пользовательские истории и функции обеспечивает явный учет требований безопасности в процессе разработки. Определяя эти ограничения, вы обеспечиваете реализацию мер безопасности наряду с функциональными возможностями, что помогает предотвратить появление уязвимостей.

Example

Пользователь должен иметь возможность редактировать свой профиль в социальной сети. Пользователь не должен иметь возможности редактировать чужие профили.

Для реализации требования Functional Security Constraints:

  • Должны быть предусмотрены механизмы аутентификации и авторизации пользователей, позволяющие идентифицировать пользователя и его права доступа.
  • Возможность редактирования профиля должна обеспечивать доступ и изменение только собственных данных профиля.
  • Данные профиля должны быть изолированы и недоступны для редактирования другими пользователями.
  • Для предотвращения несанкционированного доступа к профилям должны быть реализованы средства управления доступом.

Remediation:#

  1. User Authentication and Authorization:
  • Внедрить надежную систему аутентификации для идентификации пользователей.
  • Для управления правами доступа пользователей использовать механизмы управления доступом на основе ролей или атрибутов.
  1. Profile Functionality:
  • Разработать возможность просмотра и редактирования профиля, чтобы обеспечить проверку личности и прав пользователя перед разрешением доступа.
  • Использовать методы разработки безопасного исходного кода для предотвращения уязвимостей, связанных с прямыми ссылками на объекты.
  1. Data Isolation:
  • Убедиться, что данные профиля должным образом изолированы и связаны с учетной записью аутентифицированного пользователя.
  • Предотвращение прямого доступа к данным профилей других пользователей.
  1. Access Controls:
  • Применить надлежащие средства контроля доступа на стороне сервера и клиента для обеспечения доступа к профилям с учетом специфики пользователя.
  • Реализовать проверку прав пользователя на стороне сервера.

Additional:#