Применение sdl для безопасности мобильных...

14
Применение SDL для безопасности мобильных приложений Станислав Брагин, Инженер международных технологических проектов Сергей Симаков, Архитектор ИБ в Security Center of Excellence

Upload: others

Post on 04-Apr-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Применение SDL для безопасности

мобильных приложений

Станислав Брагин, Инженер международных технологических проектов

Сергей Симаков, Архитектор ИБ в Security Center of Excellence

Page 2: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

technologyreview.com: Worldwide Mobile Data Usage Forecast, by Region

Российский рынок

мобильных

приложений в 2011

году вырос на 106% и

достиг объема в 355

миллионов долларов исследование J’Son&Partners для Digit.ru

За последнии два года

изменился фокус на

разработку бизнес-

приложений,

мобильных финансовых

систем

Page 3: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

В течение всего 2011 года был

отмечен стремительный рост числа

новых угроз для мобильных

платформ.

...

Всего за год было обнаружено 5,2

тыс новых модификаций

мобильных вирусов. Только в

декабре 2011 года антивирусные

базы "Лаборатории Касперского"

пополнились большим

количеством мобильного

вредоносного ПО, чем за

предыдущие семь лет. http://www.securelist.com/ru/analysis/208050747/Mobilnaya_virusologiya_

chast_5

http://tasstelecom.ru/info/one/3120

Page 4: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Упрощенная методология Microsoft

Security Development Lifecycle – набор 16

обязательных практик безопасной

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

Представлены в порядке применения и

сгруппированны в соответствии с

традиционным циклом разработки:

• Проще для изучения

• Облегченное применение

• Больше вероятность успеха!

Что это? Построенная на Microsoft SDL

методология, три концепции:

• Обучение

• Постоянное усовершенствование

• Ответственность

http://www.microsoft.com/en-us/download/details.aspx?id=12379

Page 5: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

1 Обязательно обучение 9 Избавление об «небезопасных»

функций

2 Определение требований

безопасности

10 Статический анализ

3 Контроль качества/Bug Bars 11 Динамический анализ

4 Оценка рисков безопасности 12 Fuzz Testing

5 Требований дизайна 13 Анализ модели угроз/площади атаки

6 Уменьшение «площади

атаки»

14 План реагирования

7 Моделирование угроз/

Threat Modeling

15 Финальный анализ

8 Использование

проверенных инструментов

16 Выпуск/архив

Page 6: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Распределение времени в SDL при разработке мобильных приложений.

Cоздание безопасной архитектуры критически важно!

Архитектура

41%

Код 25%

Тесты

20%

Page 7: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

• Ответственность

• Никогда не доверяйте входным данным!

• Выполняйте моделирование угроз

• Думайте «на шаг вперед»

• Выполняйте тестирование (fuzzing!)

• Не используйте «небезопасных» конструкций в коде –

переполнение буффера/стека, XML-бомбы и т.д.

• Используйте лучшие инструменты, которые сможете

найти

• Помните о несимметричности в паре «атакующий-

защищающийся»

Создание безопасной архитектуры

Page 8: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

• Межплатформенный перенос

• Развертывание (deployment) на устройства

• Качество связи

• Сложность тестирования / профилирования на

устройствах

• Поддержка старых устройств

• Требуется поддержка со стороны производителя

устройств

Особенности разработки под мобильные

устройства

Page 9: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Примеры проблем проекта при создания

мобильного клиента для стоковой торговли Привязка

пользователя к

телефону и

пробный

период

Наличие

сертификатов

на телефоне

Привязка

пользователя и

пробный

период

Различия в

поддержке SSL Тестирование

стабильности

приложения на

устройствах

Тестирование

прерывания и

скорости

сессии.

Защита

сохраненных

данных

пользователя и

кеша.

Более двух

месяцев сверх

плана

разработки под

одну платформу

Page 10: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Основные архитектурные риски

механизм риск / ограничение

Идентификация Кто пользователь?

Авторизация Какие права?

Конфигурация Различия в настройках на

платформах

Данные

пользователя

Гарантии защиты данных.

Сессия Тестирование прерывания,

ограничения трафика.

Криптография Шифрование на всех

сегментах.

Обработка

исключений

Стабильность на устройствах

Протоколирован

ие и аудит.

Кто, Что , Когда?

Хорошая новость - все это уже

было на PC.

Не очень хорошая новость –

старые инструменты не работают.

Page 11: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Validation Bionic Libc .NET, regex NSString

Authentication Signing, OAuthN .NET Signing, OAuth

Authorization App Permissions Capabilities Permissions

Configuration Sandboxing Chambers profiles

Sensitive Data SSL, storage ProtectedData keychain Session Dalvik Chambers sandboxing

Cryptography Javax.crypto .NET Crypto Common Crypto

Exceptions Bionic, Java .NET Objective-C

Auditing & Log Bionic, Java Isolated Storage NSLog

Page 12: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Создавать безопасное ПО – выгодно!

Исправлять

ошибки после

выпуска

чем на стадии

дизайна

0

5

10

15

20

25

30 Относительная стоимость устранения ошибок

Требования/ Кодирование Интеграция/

Тестирование

компонент

Финальное

тестирование После

выпуска

Выпуск

Источник: National Institute of Standards and Technology

Исследование Aberdeen: Предотвратить проблему с безопасностью в чем разбираться с ее последствиями

Предотвращение одной уязвимости покрывает годовые затраты на процессы безопасной

разработки

Исследование Forrester: Компании, применяющие SDL, демонстрируют гораздо более быстрый возврат инвестиций

Page 13: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Портал SDL

http://www.microsoft.com/sdl

Блог SDL

http://blogs.msdn.com/sdl/

SDL процесс на MSDN

http://msdn.microsoft.com/en-

us/library/cc307748.aspx

Упрощенное применение

Microsoft SDL

http://go.microsoft.com/?linkid=970

8425

Дополнительная информация

Page 14: Применение SDL для безопасности мобильных ...download.microsoft.com/documents/rus/visualstudio/ru/ru/... · 2018-12-05 · Применение SDL

Спасибо за внимание!

Thank you!