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