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

 

Код курса: FSP.

Продолжительность обучения: 36 уч. часа/4 дн..

Сроки проведения: по согласованию с заказчиком.

Время проведения курса:  очная дневная .

 

Курс предназначен для разработчиков, инженеров по тестированию, программистов, специалистов служб ИТ и/или ИБ, ответственных за внедрение программных продуктов. В курсе рассматриваются причины уязвимостей программного кода, безопасный цикл разработки программного обеспечения (ЦРПО), использование стандартов и практик безопасного программирования, использование инструментальных средств анализа кода Splint.

Для успешного освоения материала необходима предварительная подготовка:

  • базовые знания в области информационной безопасности;
  • участие в проектах по разработке программного обеспечения (приветствуется)

Занятия проходят в учебном классе учреждения образования. Каждый слушатель получает специально разработанные учебно-методические материалы в электронном виде. После успешной сдачи зачета выдается свидетельство о повышении квалификации установленного образца, утвержденного Министерством образования Республики Беларусь.

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

1. Уязвимости в программном коде: понятия, примеры, причины возникновения 
1.1. Понятие уязвимости
1.2. Почему уязвимости опасны, кто и как их эксплуатирует
1.3. Теоретические сведения и практические примеры уязвимостей в программном коде
1.4. Теоретические основы формирования хакерских атак
1.5. Примеры успешных хакерских атак на систему посредством эксплуатации уязвимостей
1.6. Причины возникновения уязвимостей в программном коде
1.7. Классификаторы уязвимостей
1.8. Анализ устойчивости операционной системы к воздействию вредоносных программ (подмена, замещение, модификация целевых файлов)
1.9. Введение в цикл разработки программного обеспечения (ПО)
1.10. Особенности современной разработки и описание типовых сценариев появления уязвимостей в программном коде
1.11. Введение в SDLC (secure development lifecycle)
1.12. Понятие электронно-цифровой подписи (ЭЦП) и её использование при разработке
2. Статические анализаторы программного кода. Сравнительная характеристика и применение
2.1. Принципы работы статических анализаторов кода. Чем анализаторы отличаются и как они работают
2.2. Сравнение разных статических анализаторов на учебных приложениях (учебные приложения составляются с наглядными уязвимостями, сконцентрированными в небольшом приложении)
2.3. Принципы анализа кода, внутреннее представление программы для анализа
2.4. Правила для описания новых уязвимостей
2.5. Повышение качества работы статического анализатора
2.6. В практическом блоке упражнений будут предложены задания для сравнения работы разных анализаторов на практике. Сравнение полноты анализа
2.7. Статический анализ реальных проектов
2.8. Анализ многоязыковых приложений
2.9. Ложные срабатывания (False positive) – теоретическая составляющая: причины возникновения ложных срабатываний
2.10. Фильтрация ложных срабатываний
2.11. Полнота анализа и пропущенные ошибки (False negative)
3. Динамические анализаторы и анализаторы времени исполнения. Принцип работы и применение
3.1. Ошибки, которые статический анализатор не находит
3.2. Динамический анализ и анализ времени выполнения
3.3. Почему нужен Dynamic analysis, если есть Static analysis?
3.4. Принцип работы динамического анализатора
3.5. Принцип работы анализатора времени выполнения
3.6. Какие уязвимости можно обнаружить, какие требования выдвигаются к приложениям, чтобы можно было применять инструментальные средства анализа кода
3.7. Демонстрация работы динамического модуля и модуля времени выполнения
3.8. Примеры эксплуатации уязвимостей Web-приложений и защита от них посредством использования динамического модуля и модуля времени выполнения.
3.9. Разработка безопасного ПО с использованием лучших практик.
3.10. Повышение качества разработки ПО при использовании сканеров безопасности
3.11. Настройка модуля динамического анализа
3.12. Настройка модуля времени выполнении приложений
3.13. Интеграция инструментальных средств анализа кода с другими инструментальными системами, участвующими в разработке ПО.
3.14. Контроль целостности и модификации исполняемых файлов сканерами безопасности
4. Сканеры безопасности как средство анализа программного обеспечения
4.1. Сканеры WEB – приложений
4.2. Сканеры общего назначения
4.3. Сканеры решений класса InfoWatch
4.4. Сканеры решений для контроля целостности файлов
4.5. Сканеры HIPS

Поиск курса

Бронирование курса

Если у Вас не получается отправить форму - напишите нам на почту education@it-training.by.