CS-SCC
Средний40 часов

Безопасное программирование: C/C++

Курс охватывает основные принципы безопасности в C/C++ и уязвимости программного обеспечения, вызванные небезопасным кодированием. В нем рассматривается, как выявлять недостатки безопасности и реализовывать контрмеры безопасности в различных областях жизненного цикла разработки программного обеспечения, а также применять эти навыки для улучшения общего качества продуктов и приложений

от 44 400₽
Для физ. лиц - 44 400₽
Для организаций - 52 900₽
Ближайшая группа
05.10.2026-09.10.2026
Формат
Гибридный
Длительность
40 часов
Часы занятий
10:00–17:00

Целевая аудитория

Курс предназначен для разработчиков C/C++, дизайнеров и архитекторов ПО (имеющих опыт разработки на С/С++ не менее одного года)

Необходимая предварительная подготовка

Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками
  • Навыки программирования на C/C++ от года
  • Навыки работы без фреймворков (на чистом C/C++)
  • Понимание концепций функционирования операционных систем

Получаемые знания и навыки

По окончании курса слушатели овладеют навыками безопасного программирования и основами анализа и проектирования безопасности. Слушатели научатся разрабатывать, проектировать и поддерживать приложения, используя методы обеспечения безопасности в разрабатываемом коде.
от 44 400₽
Для физ. лиц - 44 400₽
Для организаций - 52 900₽

Программа курса

  • Сокращение числа ошибок в ПО
  • Создание отчуждаемого исходного кода
  • Практика: Разбор примеров оформления исходного кода и влияния стандартов кодирования на читаемость программ, лёгкость их поддержки и развития
  • ПО должно вести себя предсказуемо, несмотря на неожиданные вводные данные или действия пользователя
  • Практика: Разбор примеров непредсказуемого поведения ПО и способов исправления ситуации

  • Переполнение буфера
  • Уязвимости форматной строки
  • Некорректная аутентификация
  • Проблемы с авторизацией
  • Авторизация проведена некорректно
  • Слишком много доверия к пользовательскому вводу
  • Ошибки канонизации
  • Практика: Разбор примеров кода, содержащего типовые ошибки, и способов их исправления

  • Слабые криптоалгоритмы: DES, Triple DES, RC4 и MPPE
  • Слабые hash-функции: LM-hash, MD2, MD4 и MD5
  • Хранение ключевой информации в контейнере
  • Хранение ключевой информации в памяти
  • Коллоквиум: Обсуждение проблем безопасности, связанных с криптографией, и их решение

  • Возможные типы входных данных и их значение
  • Типы возвращаемых данных и их значение
  • Условия возникновения исключений, их типы и значения
  • Присутствие побочного эффекта метода
  • Предусловия, которые могут быть ослаблены (но не усилены) в подклассах
  • Постусловия, которые могут быть усилены (но не ослаблены) в подклассах
  • Инварианты, которые могут быть усилены (но не ослаблены) в подклассах
  • Гарантии производительности, например, временная сложность или сложность по памяти
  • Практика: Разбор примеров, использующих данный подход

  • Проектирование
  • Система работы с требованиями
  • CASE-средства
  • Разработка
  • Система контроля версий
  • Среда разработки
  • Тестирование
  • Баг-трекер
  • Система автоматизации функционального тестирования
  • Эксплуатация
  • Ansible
  • Коллоквиум: Построение интегрированной инфраструктуры проекта и сокращение сроков выхода релиза

  • Waterfall
  • RATIONAL UNIFIED PROCESS (RUP)
  • Microsoft Solution Framework (MSF)
  • Гибкие методологии (Agile)
  • Экстремальное программирование (XP)
  • Scrum
  • Kanban
  • Коллоквиум: Обсуждение сильных и слабых сторон каждой из методологий с позиций исключения уязвимостей и устойчивости ко взлому

  • Все данные важны, пока не доказано обратное
  • Все данные испорчены, пока не доказано обратное
  • Весь код небезопасен, пока не доказано обратное
  • Практика: Разбор примеров, иллюстрирующих данные требования

  • Факторы качества ПО
  • Аспекты качества ПО
  • Управление качеством продукта
  • Отладка и тестирование
  • Жизненный цикл тестирования
  • Виды тестирования
  • Критерии черного ящика
  • Критерии белого ящика
  • Взаимосвязь требований к ПО
  • Документы, создаваемые в процессе тестирования
  • План тестирования
  • Критерии начала и окончания тестирования
  • Тест-дизайн
  • Тестовые случаи (Test Cases)
  • Жизненный цикл дефекта
  • Покрытие входных данных
  • Эквивалентное разбиение
  • Модуль-драйвер и модуль-заглушка при тестировании программ
  • Методы тестирования: блочное, интеграционное и системное
  • Покрытие кода тестами
  • Тестирование безопасности
  • Практика: Подготовка плана тестирования и тестовых случаев

  • Проблемы автоматизации
  • Этапы автоматизированного функционального тестирования
  • Этап исследования и разработки пилотных автоматических тестов
  • Анализ и планирование
  • Подготовка тестовой среды и тестовых данных
  • Разработка тестовых скриптов, осуществляющих покрытие функционала приложения, на основе готовой архитектуры
  • Запуск автоматических скриптов
  • Представление результатов тестирования
  • Стратегия тестирования
  • Сценарий тестирования
  • Практика: Создание автоматизированного сценария

  • Как работает Ansible
  • Практика: Установка Ansible
  • Практика: Проверка работоспособности
  • Практика: Управление конфигурациями

Стоимость и условия оплаты

от 44 400₽
Для физ. лиц - 44 400₽
Для организаций - 52 900₽

Записаться на курс можно

По телефону
+7(495)648-35-00
Через наш
Telegram-чат

Расписание курсов

СреднийГибридный40 часов
CS-SCC

Безопасное программирование: C/C++

05.10.2026-09.10.2026
Гибридный
40 часов
10:00–17:00
44 400₽
52 900₽
Для физ. лиц - 44 400₽
Для организаций - 52 900₽
СреднийГибридный40 часов
CS-SCC

Безопасное программирование: C/C++

07.12.2026-11.12.2026
Гибридный
40 часов
10:00–17:00
44 400₽
52 900₽
Для физ. лиц - 44 400₽
Для организаций - 52 900₽
Учебный центр РРС
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.