Upgrade to Pro — share decks privately, control downloads, hide ads and more …

От экспериментального программирования к промыш...

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

Доклад Катерины Трошиной (SolarSecurity) о разработке наукоемкого программного обеспечения и связанных с этим процессом сложностях на PHDays VII.

Positive Development User Group

September 25, 2017
Tweet

More Decks by Positive Development User Group

Other Decks in Programming

Transcript

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

    10 лет Ведущий эксперт по ИБ SolarSecurity к.ф.-м.н. Катерина Н. Трошина
  2. Заголовок • Разработка программного кода сегодня • Лучшие мировые практики

    • Наш процесс разработки ПО • Сопровождение разработанного ПО • Работать на себя
  3. Заголовок • На вход подается нечеткая постановка задачи • Нет

    технического задания • Нет алгоритмов • Есть нечеткое понимание функциональности • О требованиях защищенности вообще никто не заботится
  4. Заголовок Повышение качества разработки Кодиро вание $X Сборка $3X Тестирование

    и Безопасность $10X Эксплуатация $100X Обнаружение дефектов
  5. Заголовок • Декомпилятор • Неподдерживаемые языковые конструкции (таких оказалось много)

    • Неполные спецификации микроконтроллеров • Нехватка памяти (CFG – очень большой) • Классические алгоритмы плохо масштабируются на реальные приложения • Результат • используется как внутренний инструмент • неотделим от разработчика От экспериментального кода к промышленному
  6. Заголовок • Пассивный перехватчик трафика • дефицит памяти • перепутанные

    пакеты • плохая стандартизация протоколов обмена • разнообразная инфраструктура • Результат • проект занял времени и ресурсов в 2 раза больше планируемого • потребовалось строгое административное вмешательство в процесс разработки • перехватчик внедрен в промышленную эксплуатацию От экспериментального кода к промышленному
  7. Заголовок • Статический анализатор кода • дефицит памяти • много

    ложных срабатываний на реальных примерах • сторонние компоненты не приспособлены для реальных приложений • классические алгоритмы даже адаптированные не работают • Результат • Дополнительные исследования по обновленным требованиям • Есть промышленный результат От экспериментального кода к промышленному
  8. Заголовок Кодиро вание $X Сборка $3X Тестирование и Безопасность $10X

    Эксплуатация $100X Обнаружение дефектов 3 независимые группы: • Аналитика • Разработка • Тестирование
  9. Заголовок • Статический анализ кода • Динамический анализ кода •

    Анализ кода времени выполнения Кодиро вание Сборка Тестирование и Безопасность Запуск Система управления проектами Среда разработки Система контроля версий и сборки анализ кода
  10. Заголовок Мы добились эффективной разработки: • Разделили аналитику, разработку и

    тестирование • Грамотно внедрили анализ кода • Разработали прозрачные мотивационные программы для сотрудников Заключение