В первом посте этого блога я хотел бы рассказать о том, кто такой 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 должен уметь общаться с командой, клиентами и руководителями высшего звена.
К этому списку можно добавить аналитические навыки и навыки решения сложных проблем.
Курсы к которым следует присмотреться, если вы планируете развиваться в области разработки безопасных программных систем:
- ECSP: EC-Council Certified Secure Programmer
- CSSLP: Certified Secure Software Lifecycle Professional
- GSSP-JAVA: GIAC Secure Software Programmer-Java
- GSSP-.NET: GIAC Secure Software Programmer- .NET
- GWEB: GIAC Certified Web Application Defender
- CEH: Certified Ethical Hacker
- CES: Certified Encryption Specialist
Если вам нравятся мои статьи, можете следить за обновлениями с помощью E-Mail, Twitter, Facebook, а также канала в Telegram.