Спроси эксперта. 2 сезон 2 серия. Тестирование...

23
Solar inCode - сканер софта на «дыры» 30 марта 2017 года Даниил Чернов, Руководитель направления Solar inCode, Solar Security

Upload: solar-security

Post on 11-Apr-2017

52 views

Category:

Business


10 download

TRANSCRIPT

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 год

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 Security127 015 г. Москва, ул. Вятская 35/4, БЦ «Вятка» I подъезд

Телефон офиса: +7 499 755 07 70

Техническая поддержка: +7 499 755 02 20

Email: [email protected]

Практика построения процесса безопасной разработки

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 worker worker

queue

GUI user

GUI user

CLI user

CLI user

DB

moduleJava/Scala,

Android

module

PHP

queue

module

JavaScript

module

T-SQL

module

Python

module

C/C++

module

iOSmodule

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

GUIscan

MR→dev

night build

solarsecurity.ru +7 (499) 755-07-70

После внедрения inCode

22

Отлаженный процесс автоматического обнаружения

уязвимостей, встроенный в непрерывный цикл

разработки программного кода

Только «безопасные» релизы проектов

Снижение концентрации уязвимостей по всем

проектам

Увеличение осведомленности разработчиков в области

безопасной разработки

Solar Security127 015 г. Москва, ул. Вятская 35/4, БЦ «Вятка» I подъезд

Телефон офиса: +7 499 755 07 70

Техническая поддержка: +7 499 755 02 20

Email: [email protected]