SlideShare a Scribd company logo
1 of 19
Download to read offline
Заголовок
ptsecurity.com
От экспериментального
программирования к
промышленному:
путь длиной в 10 лет
Ведущий эксперт по ИБ
Solar Security, к.ф.-м.н.
Катерина Трошина
Заголовок
• Разработка программного кода сегодня
• Лучшие мировые практики
• Наш процесс разработки ПО
• Сопровождение разработанного ПО
• Работать на себя
План
Заголовок
• На вход подается нечеткая постановка
задачи
• Нет технического задания
• Нет алгоритмов
• Есть нечеткое понимание
функциональности
• О требованиях защищенности вообще
никто не заботится
Экспериментальное программирование
Заголовок
• Декомпилятор
• Пассивный перехватчик трафика
• Анализатор кода
Наш опыт экспериментального программирования
ЗаголовокРазработка программного кода сегодня
разработчик
тестировщик
аналитик
Дружное трио:
Заголовок
• Начальник отдела разработки
• Коллектив
• Программный продукт
• Бизнес
Разработка программного кода сегодня
Заголовок
Кодиро
вание
$X
Сборка
$3X
Тестирование
и Безопасность
$10X
Эксплуатация
$100X
Обнаружение
дефектов
Повышение качества разработки
Заголовок
• Декомпилятор
• Неподдерживаемые языковые конструкции (таких оказалось много)
• Неполные спецификации микроконтроллеров
• Нехватка памяти (CFG – очень большой)
• Классические алгоритмы плохо масштабируются на реальные
приложения
• Результат
• используется как внутренний инструмент
• неотделим от разработчика
От экспериментального кода к промышленному
Заголовок
• Пассивный перехватчик трафика
• дефицит памяти
• перепутанные пакеты
• плохая стандартизация протоколов обмена
• разнообразная инфраструктура
• Результат
• проект занял времени и ресурсов в 2 раза больше планируемого
• потребовалось строгое административное вмешательство в процесс
разработки
• перехватчик внедрен в промышленную эксплуатацию
От экспериментального кода к промышленному
Заголовок
• Статический анализатор кода
• дефицит памяти
• много ложных срабатываний на реальных примерах
• сторонние компоненты не приспособлены для реальных приложений
• классические алгоритмы даже адаптированные не работают
• Результат
• Дополнительные исследования по обновленным требованиям
• Есть промышленный результат
От экспериментального кода к промышленному
ЗаголовокРазделяй и властвуй
аналитик
разработчик
тестировщик
ЗаголовокНаш пример: разработка
Кодиро
вание
$X
Сборка
$3X
Тестирование
и Безопасность
$10X
Эксплуатация
$100X
Обнаружение
дефектов
3 независимые группы:
• Аналитика
• Разработка
• Тестирование
ЗаголовокАнализ кода
ИС анализа кода
разработчик
тестировщик
Заголовок
• Статический анализ кода
• Динамический анализ кода
• Анализ кода времени
выполнения
Повышение качества разработки
Кодиро
вание
Сборка Тестирование
и Безопасность
Запуск
Система
управления
проектами
Среда
разработки
Система
контроля
версий и
сборки
анализ кода
ЗаголовокНаш пример: разработка
Кодиро
вание
$X
Сборка
$3X
Тестирование
и Безопасность
$10X
Эксплуатация
$100X
Обнаружение
дефектов
ЗаголовокМотивация
аналитик
разработчик
тестировщик
ЗаголовокНаш пример: сопровождение
разработчик
Заголовок
Мы добились эффективной разработки:
• Разделили аналитику, разработку и тестирование
• Грамотно внедрили анализ кода
• Разработали прозрачные мотивационные программы для
сотрудников
Заключение
Заголовок
ptsecurity.com
Спасибо!
Спасибо!

More Related Content

What's hot

Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
Positive Hack Days
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
Positive Hack Days
 
Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновение
beched
 
Flask, гордость и предубеждение
Flask, гордость и предубеждениеFlask, гордость и предубеждение
Flask, гордость и предубеждение
Yehor Nazarkin
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + Django
Azamat Tokhtaev
 
Django: инструкция по применению
Django: инструкция по применениюDjango: инструкция по применению
Django: инструкция по применению
Ivan Kolodyazhny
 
очир абушинов
очир абушиновочир абушинов
очир абушинов
Alexei Lupan
 

What's hot (20)

Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
 
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
 
Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновение
 
Кто сказал «WAF»?
Кто сказал «WAF»?Кто сказал «WAF»?
Кто сказал «WAF»?
 
Flask, гордость и предубеждение
Flask, гордость и предубеждениеFlask, гордость и предубеждение
Flask, гордость и предубеждение
 
Flask как хорошее решение для веб проекта
Flask как хорошее решение для веб проектаFlask как хорошее решение для веб проекта
Flask как хорошее решение для веб проекта
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + Django
 
Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?
 
Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012
 
Воркшоп по анализ защищённости веб-приложений
Воркшоп по анализ защищённости веб-приложенийВоркшоп по анализ защищённости веб-приложений
Воркшоп по анализ защищённости веб-приложений
 
Django: инструкция по применению
Django: инструкция по применениюDjango: инструкция по применению
Django: инструкция по применению
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelines
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
 
очир абушинов
очир абушиновочир абушинов
очир абушинов
 
[DagCTF 2015] Hacking motivation
[DagCTF 2015] Hacking motivation[DagCTF 2015] Hacking motivation
[DagCTF 2015] Hacking motivation
 
Как разработать защищенное веб-приложение и не сойти при этом с ума (вебинар)
Как разработать защищенное веб-приложение и не сойти при этом с ума (вебинар)Как разработать защищенное веб-приложение и не сойти при этом с ума (вебинар)
Как разработать защищенное веб-приложение и не сойти при этом с ума (вебинар)
 
Способы расширения зоны влияния вашей системы автотестов
Способы расширения зоны влияния вашей системы автотестовСпособы расширения зоны влияния вашей системы автотестов
Способы расширения зоны влияния вашей системы автотестов
 

Similar to От экспериментального программирования к промышленному: путь длиной в 10 лет

2015 02 пм качалин sdl
2015 02 пм качалин sdl2015 02 пм качалин sdl
2015 02 пм качалин sdl
Alexey Kachalin
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
Sergey Ponomarev
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
HighLoad2009
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
WRider
 

Similar to От экспериментального программирования к промышленному: путь длиной в 10 лет (20)

Построение процесса безопасной разработки
Построение процесса безопасной разработкиПостроение процесса безопасной разработки
Построение процесса безопасной разработки
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
Профессии в IT
Профессии в ITПрофессии в IT
Профессии в IT
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 
О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Построение Secure Development Lifecycle
Построение Secure Development Lifecycle
 
Опасная разработка. Дорожная карта движения к катастрофе
Опасная разработка. Дорожная карта движения к катастрофеОпасная разработка. Дорожная карта движения к катастрофе
Опасная разработка. Дорожная карта движения к катастрофе
 
2015 02 пм качалин sdl
2015 02 пм качалин sdl2015 02 пм качалин sdl
2015 02 пм качалин sdl
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Team workflow
Team workflowTeam workflow
Team workflow
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Внедрение безопасной разработки (Infosecurity 2014)
Внедрение безопасной разработки (Infosecurity 2014)Внедрение безопасной разработки (Infosecurity 2014)
Внедрение безопасной разработки (Infosecurity 2014)
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в Яндексе
 

От экспериментального программирования к промышленному: путь длиной в 10 лет