ݺߣ

ݺߣShare a Scribd company logo
Solar inCode - сканер софта на «дыры»
30 марта 2017 года
Даниил Чернов,
Руководитель направления Solar inCode,
Solar Security
solarsecurity.ru +7 (499) 755-07-70
Особенности разработки приложений
с точки зрения ИБ
Дыры в софте:
 Уязвимости
 Недекларированные возможности
(закладки)
2
solarsecurity.ru +7 (499) 755-07-70
Как проверить софт?
3
Динамический анализ Статический анализ
solarsecurity.ru +7 (499) 755-07-70
Откуда берутся уязвимости
4
 Культура разработки – разработчик не уделяет внимания:
 Языковым конструкциям, которые использует
 Коду, который используется как сторонний
 Безопасности связей между компонентами, которые разрабатывает
 Недостаток времени:
 Техническое задание разрабатывается быстро
 Программное обеспечение разработается быстро:
задержка в разработке – потеря денег
 Можно удовлетворить только два из трех желаний: быстро, качественно и недорого
ОБЫЧНО – ЭТО БЫСТРО И НЕДОРОГО
solarsecurity.ru +7 (499) 755-07-70
Статистика за 2015 год
5
 Более 75% успешных кибератак эксплуатируют «дыры» в ПО, т.к. на
сегодняшний день это самое слабое звено технической защиты
 Уязвимости для платформы Android – 15% из всех уязвимостей, публично
опубликованных за 2015 год
 SQLi – 8,4% из всех атак за прошедший 2015 год
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Практика построения SDLC.
solarsecurity.ru +7 (499) 755-07-70
Сложности работы со сканерами кода
7
 Получить исходный код у разработчиков
 Убедиться, что код «собирается в проект» и не имеет «неразрешенных
зависимостей»
 Проверить код: корректно запустить скан
 Суметь понять, что написано в отчете
 Донести до разработчиков все найденные уязвимости и объяснить их
понятным языком
solarsecurity.ru +7 (499) 755-07-70
Solar inCode – сканер программного кода
• умеет работать без исходных кодов. Это значит, что не надо просить исходные коды у
разработчиков, а можно получить скомпилированные файлы для анализа у системного
администратора или скачать мобильные приложения с Google Play или AppStore.
Практичность и удобство
• выдает детальные рекомендации по настройке наложенных средств защиты: SIEM, WAF,
Firewall
Настройка средств защиты
• выдает детальные рекомендации по устранению уязвимостей̆ кода на русском языке с
описанием способов их эксплуатации
Понятные рекомендации
9
solarsecurity.ru +7 (499) 755-07-70
Solar inCode – примеры внедрения
9
solarsecurity.ru +7 (499) 755-07-70
Обзор функциональности
10
Статический анализ
Java, Scala, PHP, Android, iOS, С#, PHP, PL/SQL, Python
Ruby, C/C++, VB 6.0, T/SQL
Бинарный анализ: Android, iOS, jar, war, C/C++
Рекомендации по настройке наложенных
средств защиты
Потенциальные НДВ
Интеграция с репозиторием
Загрузка мобильных приложений
Выгрузка отчётов (pdf, html)
solarsecurity.ru +7 (499) 755-07-70
Услуги по «ручному» анализу кода
 Практически любые языки программирования, включая
Delphi.
 Опыт в reverse engineering:
 Восстановление bytecode for java и C#;
 Декомпиляция C/C++ и objective C.
 Работы выполняются экспертами вручную.
 Стоимость оценивается по объему исходного кода.
 Если требуется аутсорсинг без приобретения продукта, мы
готовы предложить сервисные услуги – разовые и по
подписке.
11
Solar Security
127 015 г. Москва, ул. Вятская 35/4, БЦ «Вятка» I подъезд
Телефон офиса: +7 499 755 07 70
Техническая поддержка: +7 499 755 02 20
Email: info@solarsecurity.ru
Практика построения процесса безопасной разработки
30 марта 2017 года
Ярослав Александров
Ведущий эксперт направления
Application Security
solarsecurity.ru +7 (499) 755-07-70
Организация процесса разработки
14
solarsecurity.ru +7 (499) 755-07-70
Методология безопасной разработки
15
SDL – Security Development Lifecycle (Microsoft)
Тестирование на соответствие требованиям
информационной безопасности (ИБ) на всех этапах
Тестирование на соответствие требованиям ИБ
независимыми по отношению к разработчикам
экспертами в области информационной безопасности
Тестирование на соответствие требованиям ИБ с
возможным наложением вето на выпуск релиза
Тестирование на соответствие требованиям ИБ после
каждого внесения изменений в код или при обновлении
базы правил поиска уязвимостей
solarsecurity.ru +7 (499) 755-07-70
Внедрение тестирования на соответствие
требованиям ИБ
16
In-House Outsourcing Fixing cost
Функционирующая
система ~ 100 * X
Приемка проекта
~ 10 * X
Разработка проекта
(ручной анализ)
X
Разработка проекта
(непрерывная
интеграция)
X
Исходный код Исполняемый код
solarsecurity.ru +7 (499) 755-07-70
inCode: возможности
17
Настройка проекта и запуск сканирования
Код, исключаемый из проекта при анализе
Применяемые наборы правил поиска уязвимостей
Результаты сканирования
Подробные описания, рекомендации по устранению
Комментарии, изменение критичности
Отслеживание истории уязвимости
Отслеживание ложных срабатываний
Рекомендации по настройке СЗИ
Отслеживание динамики результатов
Выгрузка отчетов (PCI DSS 3.2, OWASP Top 10, OWASP Mobile Top 10)
Создание дополнительных правил поиска уязвимостей
Администрирование: пользователи, группы, права
solarsecurity.ru +7 (499) 755-07-70
inCode: интерфейс командной строки (CLI)
18
Генерация REST запросов к inCode
Аутентификация через токен
Интеграция:
CI (непрерывная интеграция)
VCS (система контроля версий)
Bug tracking (система управления
проектом)
Build tool (средство сборки)
IDE (среда разработки)
Плагин к средствам сборки и IDE
Bug
tracking
Build
Tool
CLIGUI
Version Control
System
Continuous
Integration
IDE
solarsecurity.ru +7 (499) 755-07-70
Архитектура inCode и пример установки
19
worker workerworker
queue
GUI user
GUI user
CLI user
CLI user
DB
module
Java/Scala,
Android
module
PHP
queue
module
JavaScript
module
T-SQL
module
Python
module
C/C++
module
iOS
module
C#
module
PL/SQL
module
Visual Basic
module
Ruby
...
...
info
solarsecurity.ru +7 (499) 755-07-70
Роли пользователей inCode: пример
20
Руководитель, менеджер
Динамика результатов сканирований групп проектов
Интегрированная оценка безопасности приложений
Технический руководитель проекта, специалист по
информационной безопасности
Запуск сканирования через графический интерфейс
Работа с результатами сканирований
Динамика результатов в рамках проекта
Выгрузка pdf-отчетов по классификациям
Дополнительные правила поиска уязвимостей
Разработчик
Интерфейс командной строки, плагины к IDE
Подробные результаты сканирований
solarsecurity.ru +7 (499) 755-07-70
Схема интеграции inCode: пример
21
Developer
IDE
CLI
commit
Bug Tracking
Build Tool
Build Tool
TestNG
Test
Environment
VCS
CI
Team Lead
Security Officer
Results analysis
Manager
Analytics
GUI
scan
MR→dev
night build
solarsecurity.ru +7 (499) 755-07-70
После внедрения inCode
22
Отлаженный процесс автоматического обнаружения
уязвимостей, встроенный в непрерывный цикл
разработки программного кода
Только «безопасные» релизы проектов
Снижение концентрации уязвимостей по всем
проектам
Увеличение осведомленности разработчиков в области
безопасной разработки
Solar Security
127 015 г. Москва, ул. Вятская 35/4, БЦ «Вятка» I подъезд
Телефон офиса: +7 499 755 07 70
Техническая поддержка: +7 499 755 02 20
Email: info@solarsecurity.ru

More Related Content

Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Практика построения SDLC.

  • 1. Solar inCode - сканер софта на «дыры» 30 марта 2017 года Даниил Чернов, Руководитель направления Solar inCode, Solar Security
  • 2. solarsecurity.ru +7 (499) 755-07-70 Особенности разработки приложений с точки зрения ИБ Дыры в софте:  Уязвимости  Недекларированные возможности (закладки) 2
  • 3. solarsecurity.ru +7 (499) 755-07-70 Как проверить софт? 3 Динамический анализ Статический анализ
  • 4. solarsecurity.ru +7 (499) 755-07-70 Откуда берутся уязвимости 4  Культура разработки – разработчик не уделяет внимания:  Языковым конструкциям, которые использует  Коду, который используется как сторонний  Безопасности связей между компонентами, которые разрабатывает  Недостаток времени:  Техническое задание разрабатывается быстро  Программное обеспечение разработается быстро: задержка в разработке – потеря денег  Можно удовлетворить только два из трех желаний: быстро, качественно и недорого ОБЫЧНО – ЭТО БЫСТРО И НЕДОРОГО
  • 5. solarsecurity.ru +7 (499) 755-07-70 Статистика за 2015 год 5  Более 75% успешных кибератак эксплуатируют «дыры» в ПО, т.к. на сегодняшний день это самое слабое звено технической защиты  Уязвимости для платформы Android – 15% из всех уязвимостей, публично опубликованных за 2015 год  SQLi – 8,4% из всех атак за прошедший 2015 год
  • 7. solarsecurity.ru +7 (499) 755-07-70 Сложности работы со сканерами кода 7  Получить исходный код у разработчиков  Убедиться, что код «собирается в проект» и не имеет «неразрешенных зависимостей»  Проверить код: корректно запустить скан  Суметь понять, что написано в отчете  Донести до разработчиков все найденные уязвимости и объяснить их понятным языком
  • 8. solarsecurity.ru +7 (499) 755-07-70 Solar inCode – сканер программного кода • умеет работать без исходных кодов. Это значит, что не надо просить исходные коды у разработчиков, а можно получить скомпилированные файлы для анализа у системного администратора или скачать мобильные приложения с Google Play или AppStore. Практичность и удобство • выдает детальные рекомендации по настройке наложенных средств защиты: SIEM, WAF, Firewall Настройка средств защиты • выдает детальные рекомендации по устранению уязвимостей̆ кода на русском языке с описанием способов их эксплуатации Понятные рекомендации 9
  • 9. solarsecurity.ru +7 (499) 755-07-70 Solar inCode – примеры внедрения 9
  • 10. solarsecurity.ru +7 (499) 755-07-70 Обзор функциональности 10 Статический анализ Java, Scala, PHP, Android, iOS, С#, PHP, PL/SQL, Python Ruby, C/C++, VB 6.0, T/SQL Бинарный анализ: Android, iOS, jar, war, C/C++ Рекомендации по настройке наложенных средств защиты Потенциальные НДВ Интеграция с репозиторием Загрузка мобильных приложений Выгрузка отчётов (pdf, html)
  • 11. solarsecurity.ru +7 (499) 755-07-70 Услуги по «ручному» анализу кода  Практически любые языки программирования, включая Delphi.  Опыт в reverse engineering:  Восстановление bytecode for java и C#;  Декомпиляция C/C++ и objective C.  Работы выполняются экспертами вручную.  Стоимость оценивается по объему исходного кода.  Если требуется аутсорсинг без приобретения продукта, мы готовы предложить сервисные услуги – разовые и по подписке. 11
  • 12. Solar Security 127 015 г. Москва, ул. Вятская 35/4, БЦ «Вятка» I подъезд Телефон офиса: +7 499 755 07 70 Техническая поддержка: +7 499 755 02 20 Email: info@solarsecurity.ru
  • 13. Практика построения процесса безопасной разработки 30 марта 2017 года Ярослав Александров Ведущий эксперт направления Application Security
  • 14. solarsecurity.ru +7 (499) 755-07-70 Организация процесса разработки 14
  • 15. solarsecurity.ru +7 (499) 755-07-70 Методология безопасной разработки 15 SDL – Security Development Lifecycle (Microsoft) Тестирование на соответствие требованиям информационной безопасности (ИБ) на всех этапах Тестирование на соответствие требованиям ИБ независимыми по отношению к разработчикам экспертами в области информационной безопасности Тестирование на соответствие требованиям ИБ с возможным наложением вето на выпуск релиза Тестирование на соответствие требованиям ИБ после каждого внесения изменений в код или при обновлении базы правил поиска уязвимостей
  • 16. solarsecurity.ru +7 (499) 755-07-70 Внедрение тестирования на соответствие требованиям ИБ 16 In-House Outsourcing Fixing cost Функционирующая система ~ 100 * X Приемка проекта ~ 10 * X Разработка проекта (ручной анализ) X Разработка проекта (непрерывная интеграция) X Исходный код Исполняемый код
  • 17. solarsecurity.ru +7 (499) 755-07-70 inCode: возможности 17 Настройка проекта и запуск сканирования Код, исключаемый из проекта при анализе Применяемые наборы правил поиска уязвимостей Результаты сканирования Подробные описания, рекомендации по устранению Комментарии, изменение критичности Отслеживание истории уязвимости Отслеживание ложных срабатываний Рекомендации по настройке СЗИ Отслеживание динамики результатов Выгрузка отчетов (PCI DSS 3.2, OWASP Top 10, OWASP Mobile Top 10) Создание дополнительных правил поиска уязвимостей Администрирование: пользователи, группы, права
  • 18. solarsecurity.ru +7 (499) 755-07-70 inCode: интерфейс командной строки (CLI) 18 Генерация REST запросов к inCode Аутентификация через токен Интеграция: CI (непрерывная интеграция) VCS (система контроля версий) Bug tracking (система управления проектом) Build tool (средство сборки) IDE (среда разработки) Плагин к средствам сборки и IDE Bug tracking Build Tool CLIGUI Version Control System Continuous Integration IDE
  • 19. solarsecurity.ru +7 (499) 755-07-70 Архитектура inCode и пример установки 19 worker workerworker queue GUI user GUI user CLI user CLI user DB module Java/Scala, Android module PHP queue module JavaScript module T-SQL module Python module C/C++ module iOS module C# module PL/SQL module Visual Basic module Ruby ... ... info
  • 20. solarsecurity.ru +7 (499) 755-07-70 Роли пользователей inCode: пример 20 Руководитель, менеджер Динамика результатов сканирований групп проектов Интегрированная оценка безопасности приложений Технический руководитель проекта, специалист по информационной безопасности Запуск сканирования через графический интерфейс Работа с результатами сканирований Динамика результатов в рамках проекта Выгрузка pdf-отчетов по классификациям Дополнительные правила поиска уязвимостей Разработчик Интерфейс командной строки, плагины к IDE Подробные результаты сканирований
  • 21. solarsecurity.ru +7 (499) 755-07-70 Схема интеграции inCode: пример 21 Developer IDE CLI commit Bug Tracking Build Tool Build Tool TestNG Test Environment VCS CI Team Lead Security Officer Results analysis Manager Analytics GUI scan MR→dev night build
  • 22. solarsecurity.ru +7 (499) 755-07-70 После внедрения inCode 22 Отлаженный процесс автоматического обнаружения уязвимостей, встроенный в непрерывный цикл разработки программного кода Только «безопасные» релизы проектов Снижение концентрации уязвимостей по всем проектам Увеличение осведомленности разработчиков в области безопасной разработки
  • 23. Solar Security 127 015 г. Москва, ул. Вятская 35/4, БЦ «Вятка» I подъезд Телефон офиса: +7 499 755 07 70 Техническая поддержка: +7 499 755 02 20 Email: info@solarsecurity.ru