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