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

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

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

    29.03.2027 - 02.04.2027

    Выбрать дату
    29.03.2027 - 02.04.2027
    20.12.2027 - 24.12.2027
  • Форма обучения

    Очная

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

    КП75

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

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

  • Стоимость

    102 900 

О курсе

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

  • Аудитория

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

    • для руководителей и специалистов IT-подразделений

    • для руководителей и специалистов подразделений по технической защите информации


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

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

  • Требования к рабочему месту

    Оборудование: компьютеры слушателей с процессорами не ниже Core i5 (или его аналога на платформе AMD), не менее 16GB RAM и не менее 250GB свободного места на HDD. Доступ в интернет.

    Программное обеспечение. 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)

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

    102 900 

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

    102 900 

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

    102 900 

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

    102 900 

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

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

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

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

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

  • Стоимость

    102 900 ₽

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