2. 2 www.kupibilet.ru
3. 3 www.kupibilet.ru
5. 5 Общая схема
7. 7 Обзор
10. 10 Внедрение: Проект в gitlab
11. 11 Внедрение: Проект в sonarqube
12. 12 Внедрение: настройки в .gitlab-ci.yml
13. 13 Внедрение: Результат выполнения задач
14. 14 Внедрение: Результат проверки
15. 15 Пример правил
16. 16 Пример работы SQ
18. Thank you Беляков Игорь Belyakov.Igor@kupibilet.r u +7 921 3089713
1. Контроль безопасности исходного кода с помощью opensource Безопасность
9. 9 Внедрение: основные этапы 1. Установить софт (gitlab, gitlab CI runner, sonar-scanner, sonar qube) 2. Создать проект в gitlab 3. Создать проект в sonarqube 4. Указать в .gitlab-ci.yml необходимые настройки
17. 17 1. Бесплатно 2. Реализация базового уровня проверки отсутствия уязвимостей 3. Можно использовать результаты работы бесплатного сканера для оценки стоимости внедрения платного :) Выводы
8. 8 Поддерживаемые языки программирования Language Community Edition C#, CSS, Flex, Go, Java, JavaScript, Kotlin, PHP, Python, Ruby, Scala, TypeScript, VB.NET, HTML, XML Developer Edition + ABAP, C, C++, Objective-C, PLSQL, Swift, TSQL, Enterprise Edition and Data Center Edtion + Apex, COBOL, PLI, RPG, VB6
6. 6 Процесс безопасной разработки Разработка. На данном этапе разработчики создают новый функционал, проверяют корректность его работы в среде разработки и сохраняют его в основной проект (commit) в GIT. Хорошим тоном является регулярное создание резервных копий репозитория, это позволяет снизить риск утраты важного актива. Сборка. После накопления необходимого количества изменений, по времени или по решению руководителя проекта в CI осуществляется сборка нового релиза проекта. Контроль. На данном этапе собранный релиз проекта отправляется на функциональное тестирование и проверку безопасности. Все тестовые испытания, обязательно, должны выполняться в тестовой среде и с использованием тестовых данных. По результатам тестирования формируется заключение о возможности промышленной эксплуатации новой версии программы. Промышленная эксплуатация. Если проект успешно прошел все проверки, тогда он передается в промышленную эксплуатацию. Т.е. выпускается новая версия программы.
4. 4 От чего защищаемся 2017 OWASP Top 10 A1:2017 – Injection: when attackers force the application to insert and execute foreign code, producing database query results or actions that should never have been executed A2:2017 – Broken Authentication: when the session control instruments such as passwords, tokens, and keys are not properly protected A3:2017 – Sensitive Data Exposure: application data is handled in a way that can be extracted, including storage, transportation, and processing A4:2017 – XML External Entities (XXE): insecure handling of XML content A5:2017 – Broken Access Control: application features and domain data are not protected properly A6:2017 – Security Misconfiguration: umbrella that describes the insecure configuration of any of the elements of the application stack, from operating system and storage, to third party libraries A7:2017 – Cross-Site Scripting (XSS): make the application store and serve malignant code to its users A8:2017 – Insecure Deserialization: manipulate data sent to the app in a way that low-level object serialization does not behave as designed A9:2017 – Using Components with Known Vulnerabilities: the usage of existing libraries and/or frameworks with security flaws A10:2017 – Insufficient Logging & Monitoring: failure to quickly identify breaches