57
внесение разработчиком дефектов на уровне архитектурных решений;
внесение разработчиком недокументированных возможностей в ИС в целом или в ее
отдельные компоненты; неадекватная (неполная, противоречивая и пр.)
реализация предъявленных к ИС требований;
сборка ИС с нарушением предъявляемых требований, приводящая к появлению
недокументированных возможностей в ИС либо к неадекватной реализации
требований;
разработка некачественной документации; неверное конфигурирование ИС;
приемка ИС, не отвечающей требованиям, установленным в компании;
внесение недокументированных возможностей в ИС в процессе проведения
приемочных испытаний посредством использования недокументированных
возможностей функциональных тестов и тестов ИБ.
Безопасность при разработке ИС может быть обеспечена следующими мерами:
1. Определение процедур разработки ИС. С целью снижения вероятности
возникновения проблем с безопасностью заранее должны быть определены методы и
средства разработки. Они должны охватывать все используемые языки
программирования (C++, JavaScript, SQL и пр.).
2. Организация среды разработки. Для организации безопасного процесса
разработки рекомендуется выделить рабочие места ответственных лиц в отдельный
защищенный сетевой сегмент, обеспечить рабочие места средствами антивирусной
безопасности и защиты от НСД, использовать "чистую" лицензионную политику. Эти
простые меры позволят значительно снизить риски несанкционированного доступа и
изменения кода посторонними лицами.
3. Обучение персонала методам безопасной разработки. Понимание проблем
безопасности современных приложений и новых способов атак крайне необходимо для
создания защищенной ИС, поэтому проведение тренингов по ИБ для разработчиков
может существенно повысить качество и безопасность ИС.
4. Анализ и тестирование исходных кодов на наличие уязвимостей и не
декларированных возможностей. Исходные коды должны периодически
анализироваться с помощью автоматизированных средств или в ручном режиме на
наличие распространенных ошибок, в том числе: переполнение буфера, ошибки при
проверке входных данных для обработки, ошибки в процессе обработки данных,