Найти тему
ByteNote

Из чего состоит РБПО

Оглавление

Вакансии для будущих разработчиков РБПО

Для кого актуальна тема РБПО?

  • инженер-программист АСУ ТП;
  • специалист по ИБ (сертификация СЗИ ФСТЭК России);
  • ведущий аналитик по информационной безопасности;
  • DevSecOps специалист;
  • руководитель отдела безопасной разработки;
  • инженер по соблюдению требований безопасности и другие.

Основные обязанности вышеизложенных специальностей:

  • организация разработки ПО в соответствии с со стандартами разработки безопасного ПО;
  • сопровождение сертификационных испытаний программного обеспечения, средств защиты информации и АС по требованиям доверия ФСТЭК России;
  • разработка и внедрение методик DevSecOps для SSDL;
  • работа с системами CI/CD;
  • участие в формировании требований ИБ к продукту, в моделировании угроз;
  • формирование аудит-отчетов, контроль и помощь разработчикам в устранении замечаний;
  • участие в разработке процессов информационной безопасности, направленных на снижение рисков ИБ при разработке ПО в качестве технического эксперта и перечислять можно бесконечно.

Где можно получить знания по данной области?

  • РТУ МИРЭА - 09.03.02«Информационные системы и технологии», «Технологии разработки безопасного программного обеспечения информационных систем»;
  • МГТУ им. Н.Э. Баумана, Оренбургский государственный университет (ОГУ), Пермский государственный национальный исследовательский университет, РТУ МИРЭА - специалитет по профилю «Разработка защищенного программного обеспечения» (реализуется в рамках специальности 10.05.01 Компьютерная безопасность);
  • возможно: Специальность 10.05.02 Информационная безопасность телекоммуникационных систем – образовательная программа «Разработка защищённых телекоммуникационных систем».

В эти программах есть особенность: трудовые функции в профстандартах соответствуют профессиональным компетенциям в образовательных программах учебных заведений (их определяет ВУЗ). Традиционная для нашей страны образовательная парадигма, когда цели и планируемые результаты обучения формулировались в виде знаний, умений и навыков (ЗУН) – не работает.

Три вида компетенций в образовательных программах учебных заведений (по ФГОС):

  • универсальные (общие по стране);
  • общепрофессиональные (обобщённые компетенции, которые нужны в определённой группе профессий, по направлению подготовки и с учётом специфики специальностей);
  • специализированные профессиональные (ВУЗ может определять самостоятельно).

Команда разработки РБПО

Для обеспечения безопасности приложений недостаточно только команды разработки. Нужно добавить специалистов, которые будут выполнять задачи AppSec:

  • определять требования к безопасности;
  • проводить инструментальный и ручной анализ;
  • исправлять найденные ошибки.

Таким образом, команда Appsec включается в процесс разработки. В нем появляются новые этапы:

  • анализ ИБ (моделирование угроз);
  • ИБ-тестирование;
  • мониторинг безопасности.
Изображение взято из открытых источников
Изображение взято из открытых источников

Цена ошибки

Параллельные программы непостижимы для человека: они очень часто неправильны, содержат ошибки.

В каждой программе (даже тщательно отлаженной) есть хотя бы одна ошибка. Это первая аксиома М.Р. Шуры-Буры (1918-2008).

Полностью эта шутливая «аксиоматика» выглядит так:

  1. В каждой программе есть хотя бы одна ошибка;
  2. Если ошибки нет в программе, она есть в реализуемом алгоритме;
  3. Если ошибки нет и в алгоритме, такая программа никому не нужна.

В среднем современные программные системы имеют 10 ошибок на 1000 строк кода, ПО высокого качества 1-3 ошибки на 1000 строк кода. Современное ПО содержит миллионы строк кода. Уже сданные работающие программы наполнены ошибками.

Ошибки иногда не критичны:

  • сводятся к лёгким моральным травмам;
  • возможность обнаружения сбоя и восстановления;
  • возможность быстрого исправления ошибки.

Ошибки в система с повышенными требованиями к надёжности приводят к:

  • гибели или травмам людей;
  • крупным финансовым потерям;
  • ущербу окружающей среде и прочее.

Июнь 1996 года, Ariane-5 совершила последний полет, взрыв ракеты спустя 40 секунд после старта:

  • ущерб - $500млн (разработка – $7 млрд.);
  • причина - 64bit float ->16bit int.

Февраль 1991 года, Patriot промахнулся мимо ракеты Scud:

  • ущерб - 28 убитых, >100 раненых;
  • причина - ошибка округления из-за 24bit fixed, Scud успел пролететь 500м.

Август 1991 года, Северное море. Платформа Sleipner A затонула после разрушения основания:

  • ущерб - $700 млн, землетрясение силой 3 балла;
  • причина - ошибка округления при моделировании платформы.

2010 год:

  • ошибки в ПО автомобилей: Toyota Prius (нарушен директивный интервал включения ABS), Chrysler (можно вытащить ключ, не переключившись в режим парковки);
  • ошибки в программе обработки заявлений доноров органов в UK (у 25 человек взяли не те органы);
  • ошибка в электронной системе налоговой службы США (не обслуживались 64-летние люди);
  • ошибка в антивирусе McAfee (системный файл Windows распознан как вредоносный и удалён, бесконечная перезагрузка);
  • отключение Skype (вышла из строя одна из версий клиента, что привело к сбою всей P2P сети);
  • ошибка в апдейте NYSE Euronext (S&P упал на 10%);
  • 88 критических ошибок в Android Froyo (доступ к личным данным).

Таким образом, повышенные требования к надёжности становятся не только у спутников, самолётов и АЭС, но и у систем, в которых:

  • затруднено исправление ошибок (потребительская электроника);
  • велик масштаб использования (та же электроника, важные веб-сервисы);
  • высокая степень доверия человека.

Критически-важных систем становится всё больше, они становятся более сложными и тесно взаимодействующими.

Полезные материалы для ознакомления:

Схема карьерных треков в кибербезопасности: https://cybersecurity-roadmap.ru/

Профстандарты для обучения специальностей: https://profstandart.rosmintrud.ru/

Цена ошибки: https://habr.com/ru/companies/pvs-studio/articles/330762/

-2