Cyber Developer: кто такой и как им стать?

В первом посте этого блога я хотел бы рассказать о том, кто такой Cyber Developer и как им стать. Итак, Cyber Developer – это программист, который занимается одной из двух вещей:

  • пишет софт, связанный с безопасностью – вирусы, шпионский софт, софт для обнаружения вторжений, анализаторы траффика и тд.
  • интегрирует безопасность в приложение на всех этапах разработки, обеспечивает защищенность продуктов компании.
Зачем они нужны?

Важно понимать, защищенное ПО – это, в первую очередь, стабильное/качественное ПО. Из это вытекает, что они помогают компаниям значительно экономить на выявлении и исправлении багов, так как любые изменения конструкции ПО, устранение недостатков защиты на поздних этапах разработки обходится значительно дороже. Также предотвращают потерю прибыли, которая происходит после инцидентов безопасности из-за того, что клиенты решили отложить или вообще отказаться от использования вашего продукта. Я считаю, что в каждой компании должен быть поборник безопасности. Это люди, в полной мере понимающие, насколько важна компьютерная безопасность для компании и ее клиентов. Они станут своего рода «паровозом», который потянет за собой остальных сотрудников.

Путь разработчика безопасного ПО

Cyber Developer, в основном, начинает свою карьеру как обычный программист и продолжает пока не подтянется до middle позиций. После того как появляется некоторый опыт в качестве разработчика, прокачиваются навыки в вопросах безопасности. Если вы работаете в большой компании, можно рассчитывать на позицию Security Software Architect.

Позиция Cyber Developer имеет несколько эквивалентов:

  • Security Software Developer
  • Security Developer
  • Security Software Engineer
Обязанности

Род занятий зависит от выбранного профиля, вот общий список:

  • Участие в проектах по ИБ в роли эксперта и архитектора систем
  • Контроль над командой разработки
  • Разработка стратегии безопасности ПО
  • Техническая экспертиза предлагаемых программных решений
  • Создание новых программных систем или forensic инструментов
  • Участие в Security Development Lifecycle
  • Преподавание разработчикам методов разработки безопасного ПО
  • Построение моделей угроз для программных систем
  • Управление рисками
  • Тестирование ПО на предмет уязвимостей(blackbox)
  • Выявление недостатков/ошибок в исходном коде(whitebox)
Профессиональные требования

Ожидается, что Cyber Developer имеет образование в сфере компьютерных наук или эквивалентных областях. Также неплохо дополнять это образование сертификатами. Магистратура это всегда плюс, но обычно работодатели смотрят на навыки, а не диплом.

Hard Skills

Умение программировать это самое главное умение. Другими важными навыками являются:

  • Знания операционных систем Windows и Linux
  • ASM
  • Базы данных
  • Сетевая безопасность
  • Векторы атак
  • Криптография(опыт реализации)
  • ACL(списки разграничение доступа)
  • Понимание принципов SDL
  • Знание законодательства РФ и EC в области обеспечения информационной безопасности

Soft Skills

Так как разработка ПО базируется на коммуникации, Cyber Developer должен уметь общаться с командой, клиентами и руководителями высшего звена.
К этому списку можно добавить аналитические навыки и навыки решения сложных проблем.

Курсы к которым следует присмотреться, если вы планируете развиваться в области разработки безопасных программных систем:

Если вам нравятся мои статьи, можете следить за обновлениями с помощью E-Mail, Twitter, Facebook, а также канала в Telegram.