Размер шрифта:
Цвет:
Изображения:

Защищенное программирование

Защищенное программирование
  • Ближайшая дата

    10.08.2026 - 14.08.2026

    Выбрать дату
    10.08.2026 - 14.08.2026
  • Форма обучения

    Очная

    Выбрать форму
    Очная
    Онлайн трансляция
  • Код курса

    КП75

  • Срок обучения

    40 ак. ч. (5 дней)

  • Стоимость

    102 900 

О курсе

Данный курс предназначен для обучения разработчиков ПО принципам безопасного программирования. Поскольку лучше всего знания усваиваются на практике, в курсе изучаемые принципы, подходы и технологии разбираются на реальных примерах кода. Testing Driven Development (TDD) пришедший из экстремального программирования является одним из таких подходов. Немалое внимание уделяется и инструментальным средствам, разработанным для выявления ошибок и проблем безопасности в коде.

  • Курс предназначен для руководителей и специалистов:

    отделов разработки и тестирования; классификация уязвимостей в СОИ; IT-подразделений; подразделений по технической защите информации.

  • Предварительная подготовка

    Опыт работы программистом, ведущим проекта, архитектором, специалистом по безопасности, системным администратором или специалистом по информационной безопасности.

  • Требования к рабочему месту для дистанционных слушателей

    Windows 7 и выше VirtualBox 5.2 Adobe Reader DC Офисный пакет (MsOffice или LibreOffice) Mozilla Firefox

По итогам обучения

Подтверждение ваших навыков

После успешной сдачи зачета выпускники получают:

  • Свидетельство Учебного центра "Информзащита"

Выпускники Учебного центра могут получать бесплатные консультации специалистов центра в рамках пройденного курса.

Посмотреть образцы выдаваемых документов

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

40 ак. ч. (5 дней)

  • Модуль 1. Defensive Programming


    • Сокращение числа ошибок в ПО

    • Создание отчуждаемого исходного кода

    • Практика: Разбор примеров оформления исходного кода и влияния стандартов кодирования на читаемость программ, лёгкость их поддержки и развития

    • ПО должно вести себя предсказуемо, несмотря на неожиданные вводные данные или действия пользователя

    • Практика: Разбор примеров непредсказуемого поведения ПО и способов исправления ситуации

  • Модуль 2. Типичные ошибки в ПО


    • Переполнение буфера

    • Уязвимости форматной строки

    • Некорректная аутентификация

    • Проблемы с авторизацией

      • Авторизация проведена некорректно

      • Слишком много доверия к пользовательскому вводу

      • Ошибки канонизации

    • Практика: Разбор примеров кода, содержащего типовые ошибки, и способов их исправления

  • Модуль 3. Проблемы криптографии


    • Слабые криптоалгоритмы: DES, Triple DES, RC4 и MPPE

    • Слабые hash-функции: LM-hash, MD2, MD4 и MD5

    • Хранение ключевой информации в контейнере

    • Хранение ключевой информации в памяти

    • Коллоквиум: Обсуждение проблем безопасности, связанных с криптографией, и их решение

  • Модуль 4. Проектирование по контракту


    • Возможные типы входных данных и их значение

    • Типы возвращаемых данных и их значение

    • Условия возникновения исключений, их типы и значения

    • Присутствие побочного эффекта метода

    • Предусловия, которые могут быть ослаблены (но не усилены) в подклассах

    • Постусловия, которые могут быть усилены (но не ослаблены) в подклассах

    • Инварианты, которые могут быть усилены (но не ослаблены) в подклассах

    • Гарантии производительности, например, временная сложность или сложность по памяти

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

  • Модуль 5. DevOps


    • Проектирование

      • Система работы с требованиями

      • CASE-средства

    • Разработка

      • Система работы с требованиями

      • Система контроля версий

      • Среда разработки

      • Баг-трекер

    • Тестирование

      • Баг-трекер

      • Система автоматизации функционального тестирования

    • Эксплуатация

      • Ansible

    • Коллоквиум: Построение интегрированной инфраструктуры проекта и сокращение сроков выхода релиза

  • Модуль 6. Методологии создания ПО


    • Waterfall

    • RATIONAL UNIFIED PROCESS (RUP)

    • Microsoft Solution Framework (MSF)

    • Гибкие методологии (Agile)

      • Экстремальное программирование (XP)

      • Scrum

      • Kanban

    • Коллоквиум: Обсуждение сильных и слабых сторон каждой из методологий с позиций исключения уязвимостей и устойчивости ко взлому

  • Модуль 7. Требования безопасного программирования


    • Все данные важны, пока не доказано обратное

    • RATIONAL UNIFIED PROCESS (RUP)

    • Все данные испорчены, пока не доказано обратное

    • Весь код небезопасен, пока не доказано обратное

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

  • Модуль 8. Введение в функциональное тестирование


    • Факторы качества ПО

    • Аспекты качества ПО

    • Управление качеством продукта

    • Отладка и тестирование

    • Жизненный цикл тестирования

    • Виды тестирования

    • Критерии черного ящика

    • Критерии белого ящика

    • Взаимосвязь требований к ПО

    • Документы, создаваемые в процессе тестирования

      • План тестирования

      • Критерии начала и окончания тестирования

      • Тест-дизайн

      • Тестовые случаи (Test Cases)

    • Жизненный цикл дефекта

    • Покрытие входных данных

    • Эквивалентное разбиение

    • Модуль-драйвер и модуль-заглушка при тестировании программ

    • Методы тестирования: блочное, интеграционное и системное

    • Покрытие кода тестами

    • Тестирование безопасности

    • Практика: Подготовка плана тестирования и тестовых случаев

  • Модуль 9. Автоматизированное функциональное тестирование


    • Проблемы автоматизации

    • Этапы автоматизированного функционального тестирования

      • Этап исследования и разработки пилотных автоматических тестов

      • Анализ и планирование

      • Подготовка тестовой среды и тестовых данных

      • Разработка тестовых скриптов, осуществляющих покрытие функционала приложения, на основе готовой архитектуры

      • Запуск автоматических скриптов

      • Представление результатов тестирования

    • Стратегия тестирования

    • Сценарий тестирования

    • Практика: Создание автоматизированного сценария

  • Модуль 10. Автоматизация развертывания и обновления конфигураций


    • Как работает Ansible

    • Практика: Установка Ansible

    • Практика: Проверка работоспособности

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

Расписание курса «Защищенное программирование» (КП75)

  • Форма обучения
    Очная
    Выбрать форму
    Ближайшая дата
    10.08.2026 - 14.08.2026
    Срок обучения
    40 ак. ч. (5 дней)
    Стоимость

    102 900 

    Форма обучения
    Очная
    Выбрать форму
    Ближайшая дата
    10.08.2026 - 14.08.2026
    Срок обучения
    40 ак. ч. (5 дней)
    Стоимость

    102 900 

Ноутбук со знаком вопроса.

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

Защищенное программирование (КП75)

  • Форма обучения

    Очная; Онлайн-трансляция

  • Стоимость

    102900 ₽

Изображение курса