SlideShare a Scribd company logo
1 of 51
XVII Международная конференция
по вопросам качества программного обеспечения
Моделирование
угроз для приложений
Сергей Атрощенков
VIAcode, Санкт-Петербург.
Минск, 2015
Уровень сложности: •
Здравствуйте
Сергей Атрощенков
В IT с 2000
Тестирую с 2007
Учусь, тестирую и учу
1. Формат Мастер-класс
2. Что вы уже умеете делать
3. Введение
4. Построение моделей угроз
5. Поговорим про STRIDE
6. Пройдемся по процессу моделирования угроз
О содержании и «магии»
Цель
После этого мастер-класса, вы узнаете о том, что такое
модерирование угроз, зачем оно применяется, что такое
STRIDE, кто вовлечен в моделирование. Узнаете, как можно
построить модель угроз.
Image by http://crestfallencelestia.deviantart.com/art/Target-spotted-497499019
Что вы уже знаете о моделировании угроз?
Image by http://shamanau.deviantart.com/art/A-Wizard-Discovers-Kyptonite-389133187
Что вы уже знаете о моделировании угроз?
Что такое угроза?
Image by http://shamanau.deviantart.com/art/A-Wizard-Discovers-Kyptonite-389133187
Что вы уже знаете о моделировании угроз?
Что такое угроза?
Что знаете о STRIDE?
Image by http://shamanau.deviantart.com/art/A-Wizard-Discovers-Kyptonite-389133187
Что вы уже знаете о моделировании угроз?
Что такое угроза?
Что знаете о STRIDE?
Кого стоит привлекать?
Что вы уже знаете о моделировании угроз?
Что такое угроза?
Что знаете о STRIDE?
Кого стоит привлекать?
С помощью чего это делаете?
Image by http://shamanau.deviantart.com/art/A-Wizard-Discovers-Kyptonite-389133187
Введение
1. Проблемы с безопасностью приложений
2. Основные термины
Проблемы с безопасностью приложений
1. Заинтересованные лица не знают, какая безопасность
нужна
2. Разные участники проекта думают о безопасности в
разных терминах
3. Безопасноть меняется со временем
4. Обеспечение безопасности вслепую
5. Решения принимаются на ходу, без системы
Image by http://ursulav.deviantart.com/art/Dark-Wizard-Revis-68168629
О чем полезно задуматься?
1. Стоимость данных, информации
2. Зона интересов злоумышленника
3. События и причины
Image by http://ironshod.deviantart.com/art/Pirate-skeleton-wallpaper-40903517
Основные термины
Threat (угроза)
Vulnerability (уязвимость)
Attack (хм... )
Assets (ресурсы)
Image by http://www.deviantart.com/art/For-the-magic-of-books-206213229
Основные термины
Threat (угроза)
Vulnerability (уязвимость)
Attack (хм... )
Assets (ресурсы)
Что связано со стоимостью?
Image by http://www.deviantart.com/art/For-the-magic-of-books-206213229
Основные термины
Threat (угроза)
Vulnerability (уязвимость)
Attack (хм... )
Assets (ресурсы)
Ресурсы –> стоимость атаки, стоимость защиты, стоимость потери
Image by http://www.deviantart.com/art/For-the-magic-of-books-206213229
Моделирование угроз
Что это такое?
Для чего оно?
Кто это делает?
Image by http://camarolp.deviantart.com/art/Threat-479211704
Что такое моделирование угроз?
Моделирование угроз – повторяемый
процесс, помогающий найти и
уменьшить угрозы вашей системе
Image by http://www.deviantart.com/morelikethis/artists/102956467?view_mode=2
Для чего моделирование угроз?
1. Недостатки дизайна безопасности распространены
2. Ошибки дизайна исправлять дорого
3. Позволяет найти ошибки тогда, когда есть время их
исправлять
4. Моделирование угроз – отличный способ оценки
безопасности проекта (привет, тестировщик! )
5. Часть Security Development Lifecycle
(https://www.microsoft.com/en-us/sdl/)
http://www.deviantart.com/art/Money-96992348
• Команда разработки
– Project Lead, PM
– Тестировщики (использование модели для планирования)
– Разработчики – создают диаграмму
• Те, кто будут использовать модель угроз
– Команда
– Если большой проект – то другие продуктовые команды
– Заказчики (если безопасность требует обучения пользователей)
– Сторонние специалисты по тестированию безопасности
Участники моделирование угроз?
Процесс как есть
Diagram
Identify
Threats
Mitigate
Validate
1. Внешние для системы взаимодейтсвующих объектов
2. Процессов
3. Xранилища данных
4. Потоки данных между элементами
5. Доверительные границы
Как создавать диаграмму
Как проверить себя
http://firesquiiids.deviantart.com/art/Pokemon-PRINTABLE-Mega-Evolution-Checklist-481577300
1. Можно рассказать сценарий без редактирования диаграммы?
2. Это реальное поведение?
Элементы диаграммы
Внешниесущности
• Люди
• Другие
системы
Процесс
• DLL
• Services
• Web
Services
Потокиданных
• RPC
• Network
• Function
call
Хранилища
• База
• Файл
• Память
• Реестр
Доверительные границы
• Границы между процессами
• Файловая система
• Они должны пересекать потоки данных
• Места где злоумышленник может влезть
– Границы прав пользователей
– Потоки – часто внутри доверительных границ, т.к. в нём общие
привелегии, права, доступ
• Процессы которые задействуют сеть
Немного про Trust Boundaries
Пройдитесь по процессам, хранилищам – можно увидеть
места, требующие детализации
1. Оракул EQ (легкое беспокойство) – когда много деталей
необходимо чтобы объяснить влияние безопасности на дизайн
системы
2. Объекты пересекают доверительные границы
3. Стоп-слова аналитиков-тестировщиков:
• Например «иногда этот аккаунт используется для...»
Предполагаю, что этот аккаунт может использовать и для других целей.
Необходимо дополнить диаграмму.
Работа с диаграммой
• Spoofing (аутентификация)
• Tampering (подделка)
• Repudiation (отрицание)
• Information Disclosure (раскрытие информации)
• Denial of Service (отказ в обслуживании)
• Elevation of Privilege (доступ к защищенным ресурсам)
STRIDE
Свойство: Аутентификация
Что происходит: Представление кем-то или чем-то другим
Пример: прикинуться сервером, с которого мы получаем
данные
Тип угрозы: Spoofing (подмена)
Image by http://bevelframeulon.deviantart.com/art/Evil-Jester-Spoofing-414974040
Тип угрозы: Tampering (подделка)
http://www.deviantart.com/art/Tampering-Strictly-Prohibited-333744218
Свойство: Целостность
Что происходит: Модификация данных или кода
Пример: модифицировать DLL на диске, подменить сетевой пакет
Тип угрозы: Repudiation (отрицание)
Свойство: неотречение
Что происходит: Сообщаем о том, что действие не выполнилось.
Пример: Я не изменял этот файл! Т.е. сообщаем о том, что операция
не прошла, хотя...
http://urbinator17.deviantart.com/art/I-Lied-logo-312638429
Тип угрозы: Information Disclosure (раскрытие информации)
Свойство: Конфиденциальность
Что происходит: Кто-то видит информацию, которую он видеть не
авторизован
Пример: позволить кому-то увидеть список пользователей, когда
авторизации на это не было
Тип угрозы: Denial of Service (отказ в обслуживании)
Свойство: Доступность
Что происходит: Или полностью запрещен доступ или доступ
затруднен пользователю
Пример: Запросы на сервер и «отжирать» CPU (DoS или DDoS)
Image by http://moofinseeker.deviantart.com/art/DDoS-Comin-328985019
Тип угрозы: Elevation of Privilege (доступ к защищенным ресурсам)
Свойство: Авторизация
Что происходит: Получение “силы” без соответствующей
авторизации
Пример: Получить права администратора обычному
«смертному»
• Применяем релевантную угрозу STRIDE
– Процесс: STRIDE
– Хранилища и потоки данных: TID
• Если есть логирование у базы данных: TRID
– Внешние сущности: SR
– Поток данных внутри процесса:
• Нам не интересны TID
Для каждого элемента диаграммы
К какому
типу уязвимостей можно
отнести SQL Injection и XSS?
Взбодримся?
Этап: Mitigate
Обработайте каждую угрозу
1. Поменять дизайн элемента
2. Приминить стандартные подходы к уменьшению
угрозы
3. Изобрести велосипед
4. Понять и простить (принять угрозу в дизайне)
Spoofing
– Cookie authentication
– Kerberos authentication
– SSL
– Digital signature
Tampering
– ACLs (Access control list)
– Digital signatures
Стандартные пути обработки угроз
Repudiation
– Secure logging and auditing
Information Disclosure
– Encryption
– ACLs
DoS
– ACLs
– Filtering
Elevation of Privilege
– ACLs
– Grouping or roles membership
– Input validation
Стандартные пути обработки угроз
1. Диаграмма соответствует последнему коду?
2. Все угрозы учтены?
3. Есть STRIDE в случаях доверительных границ?
4. Тестировщики, а вы посмотрели диаграмму?
5. Каждая угроза обработана?
6. Обработка угроз выполнена правильно?
Этап: Validate
1. Бесплатная (https://www.microsoft.com/en-
us/sdl/adopt/threatmodeling.aspx)
2. Поддерживается и развивается Microsoft, как инструмент
SDL
3. Автогенерация угроз по моделе STRIDE
4. Генерирует отчет в HTML формате
Microsoft Threat Modelling tool 2014
Microsoft Threat Modelling tool 2014
Microsoft Threat Modelling tool 2014
Microsoft Threat Modelling tool 2014
Microsoft Threat Modelling tool 2014
Детали угроз. Обработка.
Генерируем отчет (HTML формат)
Excel
Word
Mind Maps
http://mozilla.github.io/seasponge
Альтернативы
1. Моделирование угроз - командная работа
2. Начинайте как можно раньше
3. Никогда не удаляйте модели, это история
4. Правильно определяйте ресурсы
5. Не копайте слишком глубоко
6. Старайтесь не изобретать велосипеды, это слишком
рисковано
– эксперты по безопасности тоже люди
7. Здравый смысл никто не отменял
Выводы
Вспомним цель
После этого мастер-класса, вы узнаете о том, что такое
модерирование угроз, зачем оно применяется, что такое
STRIDE, кто вовлечен в моделирование. Узнаете, как можно
построить модель угроз.
Image by http://daisy7.deviantart.com/art/SOP-entry-Red-Panda-198819154http://daisy7.deviantart.com/art/SOP-entry-Red-Panda-198819154
Вспомним цель
Достигнута?
После этого мастер-класса, вы узнаете о том, что такое
модерирование угроз, зачем оно применяется, что такое
STRIDE, кто вовлечен в моделирование. Узнаете, как можно
построить модель угроз.
Image by http://daisy7.deviantart.com/art/SOP-entry-Red-Panda-198819154http://daisy7.deviantart.com/art/SOP-entry-Red-Panda-198819154
Добра
Сергей Атрощенков
info@barbaricqa.com
http://blog.viacode.com

More Related Content

What's hot

Альтернативный курс по информационной безопасности
Альтернативный курс по информационной безопасностиАльтернативный курс по информационной безопасности
Альтернативный курс по информационной безопасности
Aleksey Lukatskiy
 
Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...
Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...
Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...
RISClubSPb
 
Мастер класс по моделированию угроз
Мастер класс по моделированию угрозМастер класс по моделированию угроз
Мастер класс по моделированию угроз
Aleksey Lukatskiy
 
PT Penetration Testing Report (sample)
PT Penetration Testing Report (sample)PT Penetration Testing Report (sample)
PT Penetration Testing Report (sample)
Dmitry Evteev
 
тест на проникновение
тест на проникновение тест на проникновение
тест на проникновение
a_a_a
 
Методические рекомендации по техническому анализу. О. Макарова.
Методические рекомендации по техническому анализу. О. Макарова.Методические рекомендации по техническому анализу. О. Макарова.
Методические рекомендации по техническому анализу. О. Макарова.
Expolink
 
Моделирование угроз сетевой инфраструктуры
Моделирование угроз сетевой инфраструктурыМоделирование угроз сетевой инфраструктуры
Моделирование угроз сетевой инфраструктуры
Aleksey Lukatskiy
 

What's hot (20)

Управление рисками в проектах
Управление рисками в проектахУправление рисками в проектах
Управление рисками в проектах
 
Безопасная разработка приложений на практике
Безопасная разработка приложений на практикеБезопасная разработка приложений на практике
Безопасная разработка приложений на практике
 
Альтернативный курс по информационной безопасности
Альтернативный курс по информационной безопасностиАльтернативный курс по информационной безопасности
Альтернативный курс по информационной безопасности
 
Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...
Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...
Эксперт, Блогер, Евангелист #поИБэ. Как я докатился до такой жизни/кейс-чемпи...
 
пр Про развитие в ИБ для студентов
пр Про развитие в ИБ для студентовпр Про развитие в ИБ для студентов
пр Про развитие в ИБ для студентов
 
Мастер класс по моделированию угроз
Мастер класс по моделированию угрозМастер класс по моделированию угроз
Мастер класс по моделированию угроз
 
пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...
пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...
пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...
 
PT Penetration Testing Report (sample)
PT Penetration Testing Report (sample)PT Penetration Testing Report (sample)
PT Penetration Testing Report (sample)
 
тест на проникновение
тест на проникновение тест на проникновение
тест на проникновение
 
пр От Догматичной к Прагматичной иб
пр От Догматичной к Прагматичной ибпр От Догматичной к Прагматичной иб
пр От Догматичной к Прагматичной иб
 
Методические рекомендации по техническому анализу. О. Макарова.
Методические рекомендации по техническому анализу. О. Макарова.Методические рекомендации по техническому анализу. О. Макарова.
Методические рекомендации по техническому анализу. О. Макарова.
 
Threat Modeling (Part 5)
Threat Modeling (Part 5)Threat Modeling (Part 5)
Threat Modeling (Part 5)
 
Сколько зарабатывают специалисты по информационной безопасности в России
Сколько зарабатывают специалисты по информационной безопасности в РоссииСколько зарабатывают специалисты по информационной безопасности в России
Сколько зарабатывают специалисты по информационной безопасности в России
 
пр Про SOC: Зачем это надо и когда начать думать про строительство
пр Про SOC: Зачем это надо и когда начать думать про строительствопр Про SOC: Зачем это надо и когда начать думать про строительство
пр Про SOC: Зачем это надо и когда начать думать про строительство
 
Threat Modeling (Part 1)
Threat Modeling (Part 1)Threat Modeling (Part 1)
Threat Modeling (Part 1)
 
Майндкарта по 239-му приказу ФСТЭК
Майндкарта по 239-му приказу ФСТЭКМайндкарта по 239-му приказу ФСТЭК
Майндкарта по 239-му приказу ФСТЭК
 
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
 
Моделирование угроз сетевой инфраструктуры
Моделирование угроз сетевой инфраструктурыМоделирование угроз сетевой инфраструктуры
Моделирование угроз сетевой инфраструктуры
 
Threat Modeling (Part 2)
Threat Modeling (Part 2)Threat Modeling (Part 2)
Threat Modeling (Part 2)
 
Pentest Report Sample
Pentest Report SamplePentest Report Sample
Pentest Report Sample
 

Viewers also liked

QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QAFest
 
Part II. How to automate properly
Part II. How to automate properlyPart II. How to automate properly
Part II. How to automate properly
Þorgeir Ingvarsson
 

Viewers also liked (8)

Безопасность мобильных приложений. Что тестировать?
Безопасность мобильных приложений. Что тестировать?Безопасность мобильных приложений. Что тестировать?
Безопасность мобильных приложений. Что тестировать?
 
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
How to write good autotests
How to write good autotestsHow to write good autotests
How to write good autotests
 
The Dangers of Cucumber
The Dangers of CucumberThe Dangers of Cucumber
The Dangers of Cucumber
 
Amusing Geometry in Test Automation
Amusing Geometry in Test AutomationAmusing Geometry in Test Automation
Amusing Geometry in Test Automation
 
Part II. How to automate properly
Part II. How to automate properlyPart II. How to automate properly
Part II. How to automate properly
 
Tao and Test Automation
Tao and Test AutomationTao and Test Automation
Tao and Test Automation
 

Similar to Моделирование угроз для приложений

Microsoft. Андрей Иванов. "Облачные сервисы – головная боль для служб безопас...
Microsoft. Андрей Иванов. "Облачные сервисы – головная боль для служб безопас...Microsoft. Андрей Иванов. "Облачные сервисы – головная боль для служб безопас...
Microsoft. Андрей Иванов. "Облачные сервисы – головная боль для служб безопас...
Expolink
 
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетковкак разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
Positive Hack Days
 
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Positive Hack Days
 
Е. Фиделин Безопасность Drupal сайтов
Е. Фиделин Безопасность Drupal сайтовЕ. Фиделин Безопасность Drupal сайтов
Е. Фиделин Безопасность Drupal сайтов
Albina Tiupa
 
Тестирование на проникновение в сетях Microsoft
Тестирование на проникновение в сетях MicrosoftТестирование на проникновение в сетях Microsoft
Тестирование на проникновение в сетях Microsoft
Dmitry Evteev
 
Cisco. Алексей Лукацкий. "Внутренние угрозы. Обзор технологий противодействия"
Cisco. Алексей Лукацкий. "Внутренние угрозы. Обзор технологий противодействия"Cisco. Алексей Лукацкий. "Внутренние угрозы. Обзор технологий противодействия"
Cisco. Алексей Лукацкий. "Внутренние угрозы. Обзор технологий противодействия"
Expolink
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских систем
Dmitry Evteev
 

Similar to Моделирование угроз для приложений (20)

SQA days 17 "Моделирование угроз для приложений"
SQA days 17 "Моделирование угроз для приложений"SQA days 17 "Моделирование угроз для приложений"
SQA days 17 "Моделирование угроз для приложений"
 
Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Построение Secure Development Lifecycle
Построение Secure Development Lifecycle
 
Umurashka codeib-presentation-v2
Umurashka codeib-presentation-v2Umurashka codeib-presentation-v2
Umurashka codeib-presentation-v2
 
От разрозненных фидов к целостной программе Threat intelligence
От разрозненных фидов к целостной программе Threat intelligenceОт разрозненных фидов к целостной программе Threat intelligence
От разрозненных фидов к целостной программе Threat intelligence
 
Information Security Audit (Course)
Information Security Audit (Course)Information Security Audit (Course)
Information Security Audit (Course)
 
Microsoft. Андрей Иванов. "Облачные сервисы – головная боль для служб безопас...
Microsoft. Андрей Иванов. "Облачные сервисы – головная боль для служб безопас...Microsoft. Андрей Иванов. "Облачные сервисы – головная боль для служб безопас...
Microsoft. Андрей Иванов. "Облачные сервисы – головная боль для служб безопас...
 
Attacks against machine learning algorithms
Attacks against machine learning algorithmsAttacks against machine learning algorithms
Attacks against machine learning algorithms
 
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обученияОмар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
 
Secure development
Secure developmentSecure development
Secure development
 
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетковкак разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
 
Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)
Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)
Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)
 
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
 
Практика использования Solar inCode
Практика использования Solar inCodeПрактика использования Solar inCode
Практика использования Solar inCode
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 
Е. Фиделин Безопасность Drupal сайтов
Е. Фиделин Безопасность Drupal сайтовЕ. Фиделин Безопасность Drupal сайтов
Е. Фиделин Безопасность Drupal сайтов
 
Тестирование на проникновение в сетях Microsoft
Тестирование на проникновение в сетях MicrosoftТестирование на проникновение в сетях Microsoft
Тестирование на проникновение в сетях Microsoft
 
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
 
Cisco. Алексей Лукацкий. "Внутренние угрозы. Обзор технологий противодействия"
Cisco. Алексей Лукацкий. "Внутренние угрозы. Обзор технологий противодействия"Cisco. Алексей Лукацкий. "Внутренние угрозы. Обзор технологий противодействия"
Cisco. Алексей Лукацкий. "Внутренние угрозы. Обзор технологий противодействия"
 
[DagCTF 2015] Hacking motivation
[DagCTF 2015] Hacking motivation[DagCTF 2015] Hacking motivation
[DagCTF 2015] Hacking motivation
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских систем
 

More from SQALab

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Моделирование угроз для приложений

  • 1. XVII Международная конференция по вопросам качества программного обеспечения Моделирование угроз для приложений Сергей Атрощенков VIAcode, Санкт-Петербург. Минск, 2015 Уровень сложности: •
  • 2. Здравствуйте Сергей Атрощенков В IT с 2000 Тестирую с 2007 Учусь, тестирую и учу
  • 3. 1. Формат Мастер-класс 2. Что вы уже умеете делать 3. Введение 4. Построение моделей угроз 5. Поговорим про STRIDE 6. Пройдемся по процессу моделирования угроз О содержании и «магии»
  • 4. Цель После этого мастер-класса, вы узнаете о том, что такое модерирование угроз, зачем оно применяется, что такое STRIDE, кто вовлечен в моделирование. Узнаете, как можно построить модель угроз. Image by http://crestfallencelestia.deviantart.com/art/Target-spotted-497499019
  • 5. Что вы уже знаете о моделировании угроз? Image by http://shamanau.deviantart.com/art/A-Wizard-Discovers-Kyptonite-389133187
  • 6. Что вы уже знаете о моделировании угроз? Что такое угроза? Image by http://shamanau.deviantart.com/art/A-Wizard-Discovers-Kyptonite-389133187
  • 7. Что вы уже знаете о моделировании угроз? Что такое угроза? Что знаете о STRIDE? Image by http://shamanau.deviantart.com/art/A-Wizard-Discovers-Kyptonite-389133187
  • 8. Что вы уже знаете о моделировании угроз? Что такое угроза? Что знаете о STRIDE? Кого стоит привлекать?
  • 9. Что вы уже знаете о моделировании угроз? Что такое угроза? Что знаете о STRIDE? Кого стоит привлекать? С помощью чего это делаете? Image by http://shamanau.deviantart.com/art/A-Wizard-Discovers-Kyptonite-389133187
  • 10. Введение 1. Проблемы с безопасностью приложений 2. Основные термины
  • 11. Проблемы с безопасностью приложений 1. Заинтересованные лица не знают, какая безопасность нужна 2. Разные участники проекта думают о безопасности в разных терминах 3. Безопасноть меняется со временем 4. Обеспечение безопасности вслепую 5. Решения принимаются на ходу, без системы Image by http://ursulav.deviantart.com/art/Dark-Wizard-Revis-68168629
  • 12. О чем полезно задуматься? 1. Стоимость данных, информации 2. Зона интересов злоумышленника 3. События и причины Image by http://ironshod.deviantart.com/art/Pirate-skeleton-wallpaper-40903517
  • 13. Основные термины Threat (угроза) Vulnerability (уязвимость) Attack (хм... ) Assets (ресурсы) Image by http://www.deviantart.com/art/For-the-magic-of-books-206213229
  • 14. Основные термины Threat (угроза) Vulnerability (уязвимость) Attack (хм... ) Assets (ресурсы) Что связано со стоимостью? Image by http://www.deviantart.com/art/For-the-magic-of-books-206213229
  • 15. Основные термины Threat (угроза) Vulnerability (уязвимость) Attack (хм... ) Assets (ресурсы) Ресурсы –> стоимость атаки, стоимость защиты, стоимость потери Image by http://www.deviantart.com/art/For-the-magic-of-books-206213229
  • 16. Моделирование угроз Что это такое? Для чего оно? Кто это делает? Image by http://camarolp.deviantart.com/art/Threat-479211704
  • 17. Что такое моделирование угроз? Моделирование угроз – повторяемый процесс, помогающий найти и уменьшить угрозы вашей системе Image by http://www.deviantart.com/morelikethis/artists/102956467?view_mode=2
  • 18. Для чего моделирование угроз? 1. Недостатки дизайна безопасности распространены 2. Ошибки дизайна исправлять дорого 3. Позволяет найти ошибки тогда, когда есть время их исправлять 4. Моделирование угроз – отличный способ оценки безопасности проекта (привет, тестировщик! ) 5. Часть Security Development Lifecycle (https://www.microsoft.com/en-us/sdl/) http://www.deviantart.com/art/Money-96992348
  • 19. • Команда разработки – Project Lead, PM – Тестировщики (использование модели для планирования) – Разработчики – создают диаграмму • Те, кто будут использовать модель угроз – Команда – Если большой проект – то другие продуктовые команды – Заказчики (если безопасность требует обучения пользователей) – Сторонние специалисты по тестированию безопасности Участники моделирование угроз?
  • 21. 1. Внешние для системы взаимодейтсвующих объектов 2. Процессов 3. Xранилища данных 4. Потоки данных между элементами 5. Доверительные границы Как создавать диаграмму
  • 22. Как проверить себя http://firesquiiids.deviantart.com/art/Pokemon-PRINTABLE-Mega-Evolution-Checklist-481577300 1. Можно рассказать сценарий без редактирования диаграммы? 2. Это реальное поведение?
  • 23. Элементы диаграммы Внешниесущности • Люди • Другие системы Процесс • DLL • Services • Web Services Потокиданных • RPC • Network • Function call Хранилища • База • Файл • Память • Реестр Доверительные границы • Границы между процессами • Файловая система
  • 24. • Они должны пересекать потоки данных • Места где злоумышленник может влезть – Границы прав пользователей – Потоки – часто внутри доверительных границ, т.к. в нём общие привелегии, права, доступ • Процессы которые задействуют сеть Немного про Trust Boundaries
  • 25. Пройдитесь по процессам, хранилищам – можно увидеть места, требующие детализации 1. Оракул EQ (легкое беспокойство) – когда много деталей необходимо чтобы объяснить влияние безопасности на дизайн системы 2. Объекты пересекают доверительные границы 3. Стоп-слова аналитиков-тестировщиков: • Например «иногда этот аккаунт используется для...» Предполагаю, что этот аккаунт может использовать и для других целей. Необходимо дополнить диаграмму. Работа с диаграммой
  • 26. • Spoofing (аутентификация) • Tampering (подделка) • Repudiation (отрицание) • Information Disclosure (раскрытие информации) • Denial of Service (отказ в обслуживании) • Elevation of Privilege (доступ к защищенным ресурсам) STRIDE
  • 27. Свойство: Аутентификация Что происходит: Представление кем-то или чем-то другим Пример: прикинуться сервером, с которого мы получаем данные Тип угрозы: Spoofing (подмена) Image by http://bevelframeulon.deviantart.com/art/Evil-Jester-Spoofing-414974040
  • 28. Тип угрозы: Tampering (подделка) http://www.deviantart.com/art/Tampering-Strictly-Prohibited-333744218 Свойство: Целостность Что происходит: Модификация данных или кода Пример: модифицировать DLL на диске, подменить сетевой пакет
  • 29. Тип угрозы: Repudiation (отрицание) Свойство: неотречение Что происходит: Сообщаем о том, что действие не выполнилось. Пример: Я не изменял этот файл! Т.е. сообщаем о том, что операция не прошла, хотя... http://urbinator17.deviantart.com/art/I-Lied-logo-312638429
  • 30. Тип угрозы: Information Disclosure (раскрытие информации) Свойство: Конфиденциальность Что происходит: Кто-то видит информацию, которую он видеть не авторизован Пример: позволить кому-то увидеть список пользователей, когда авторизации на это не было
  • 31. Тип угрозы: Denial of Service (отказ в обслуживании) Свойство: Доступность Что происходит: Или полностью запрещен доступ или доступ затруднен пользователю Пример: Запросы на сервер и «отжирать» CPU (DoS или DDoS) Image by http://moofinseeker.deviantart.com/art/DDoS-Comin-328985019
  • 32.
  • 33. Тип угрозы: Elevation of Privilege (доступ к защищенным ресурсам) Свойство: Авторизация Что происходит: Получение “силы” без соответствующей авторизации Пример: Получить права администратора обычному «смертному»
  • 34. • Применяем релевантную угрозу STRIDE – Процесс: STRIDE – Хранилища и потоки данных: TID • Если есть логирование у базы данных: TRID – Внешние сущности: SR – Поток данных внутри процесса: • Нам не интересны TID Для каждого элемента диаграммы
  • 35. К какому типу уязвимостей можно отнести SQL Injection и XSS? Взбодримся?
  • 36. Этап: Mitigate Обработайте каждую угрозу 1. Поменять дизайн элемента 2. Приминить стандартные подходы к уменьшению угрозы 3. Изобрести велосипед 4. Понять и простить (принять угрозу в дизайне)
  • 37. Spoofing – Cookie authentication – Kerberos authentication – SSL – Digital signature Tampering – ACLs (Access control list) – Digital signatures Стандартные пути обработки угроз
  • 38. Repudiation – Secure logging and auditing Information Disclosure – Encryption – ACLs DoS – ACLs – Filtering Elevation of Privilege – ACLs – Grouping or roles membership – Input validation Стандартные пути обработки угроз
  • 39. 1. Диаграмма соответствует последнему коду? 2. Все угрозы учтены? 3. Есть STRIDE в случаях доверительных границ? 4. Тестировщики, а вы посмотрели диаграмму? 5. Каждая угроза обработана? 6. Обработка угроз выполнена правильно? Этап: Validate
  • 40. 1. Бесплатная (https://www.microsoft.com/en- us/sdl/adopt/threatmodeling.aspx) 2. Поддерживается и развивается Microsoft, как инструмент SDL 3. Автогенерация угроз по моделе STRIDE 4. Генерирует отчет в HTML формате Microsoft Threat Modelling tool 2014
  • 48. 1. Моделирование угроз - командная работа 2. Начинайте как можно раньше 3. Никогда не удаляйте модели, это история 4. Правильно определяйте ресурсы 5. Не копайте слишком глубоко 6. Старайтесь не изобретать велосипеды, это слишком рисковано – эксперты по безопасности тоже люди 7. Здравый смысл никто не отменял Выводы
  • 49. Вспомним цель После этого мастер-класса, вы узнаете о том, что такое модерирование угроз, зачем оно применяется, что такое STRIDE, кто вовлечен в моделирование. Узнаете, как можно построить модель угроз. Image by http://daisy7.deviantart.com/art/SOP-entry-Red-Panda-198819154http://daisy7.deviantart.com/art/SOP-entry-Red-Panda-198819154
  • 50. Вспомним цель Достигнута? После этого мастер-класса, вы узнаете о том, что такое модерирование угроз, зачем оно применяется, что такое STRIDE, кто вовлечен в моделирование. Узнаете, как можно построить модель угроз. Image by http://daisy7.deviantart.com/art/SOP-entry-Red-Panda-198819154http://daisy7.deviantart.com/art/SOP-entry-Red-Panda-198819154