наверх
  • Русский

    язык курса

  • 12 недель

    длительность курса

  • около 9 часов в неделю

    понадобится для освоения

  • 3 зачётных единицы

    для зачета в своем вузе

Курс охватывает круг вопросов по безопасной разработке программного обеспечения (ПО), способы снижения рисков информационной безопасности, методологии разработки безопасного ПО, тестирование кода.

О курсе

Курс посвящен безопасному программированию. Цель курса – дать студентам представление о полном цикле разработки безопасного программного обеспечения. В результате обучения происходит формирование базовой системы знаний и навыков, позволяющей понимать принципы безопасного программирования, выбирать средства и технологии разработки, оценивать риски информационной безопасности.
В курсе используются следующие инновационные технологии обучения: электронный конспект; контрольные опросы; презентации лекций; задания на лабораторные работы в электронной форме; задания, направленные на развитие творческого мышления; проблемное обучение.
Безопасное программирование – ваш разумный выбор.

Формат

В состав курса входят видеолекции, практические работы, самостоятельная работа, опросы, тесты, итоговый тест. Курс рассчитан на 12 недель. Недельная учебная нагрузка обучающегося по курсу - 9 часов. Общая трудоемкость курса в зачетных единицах – 3 з.е.

  1. Ховард М., Лебланк Д. Защищенный код [Электронный ресурс] – Русская редакция, 2005. Режим доступа: https://vk.com/doc10903696_272067042?hash=e2c0b440a2ff552620&dl=5746b6988847513ecc
  2. Common Weakness Enumeration [Электронный ресурс]. Режим доступа: https://cwe.mitre.org/index.html
  3. OWASP Secure Coding Practices-Quick Reference Guide [Электронный ресурс]. Режим доступа: https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/
  4. Шаньгин, В.Ф. Информационная безопасность [Электронный ресурс]: учеб. пособие — Электрон. дан. — Москва: ДМК Пресс, 2014. — 702 с. — Режим доступа: https://e.lanbook.com/book/50578. — Загл. с экрана.
  5. Жигулин, Г.П. Организационное и правовое обеспечение информационной безопасности [Электронный ресурс]: учеб. пособие — Электрон. дан. — Санкт-Петербург: НИУ ИТМО, 2014. — 173 с. — Режим доступа: https://e.lanbook.com/book/70952. — Загл. с экрана.

Требования

Необходимыми условиями для освоения дисциплины являются: знание основ информатики, английского языка на уровне понимания справочной системы, владение компьютером на уровне пользователя.

Дополнительный инструментарий:

  1. Средства разработки и отладки кода.
  2. Средства тестировании кода.
  3. Офисные пакеты.
  4. Инструментарий для вёрстки документов.
  5. Средства анализа кода.

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

  1. Неделя 1. Основные понятия:
    • Понятие «безопасность».
    • Понятия «хакер», «атакующий», «злоумышленник».
    • Понятия «безопасное программирование», «sеcure coding» и «defensive programming».
    • Важность безопасного программирования.
    • Основные принципы разработки безопасного программного обеспечения (ПО).
  2. Неделя 2. Разбор стандарта о разработке безопасного программного обеспечения:
    • Ключевые моменты.
    • Разбор предлагаемых мер по защите.
    • Документы, которые должны быть в наличии: список и содержание.
    • Соответствие другим нормативным актам и стандартам.
    • Аспекты, которые не покрывает стандарт.
    • Аналоги в мире.
  3. Неделя 3. Способы снижения рисков информационной безопасности:
    • Защита инфраструктуры среды разработки ПО.
    • Разработка безопасного ПО на всех этапах жизненного цикла.
    • Организация тестирования ПО.
    • Управление изменениями требований.
    • Обеспечения конфиденциальности информации, получаемой в ходе разработки и анализа кода, тестирования ПО.
    • Дизайн и архитектура ПО.
    • Передача исходного кода ПО третьей стороне  .
  4. Неделя 4. Классификация и виды уязвимостей:
    • Классификаторы уязвимостей.
    • Система подсчета рисков уязвимости.
    • Виды уязвимостей.
  5. Неделя 5. Механизмы для защиты от ошибок в ПО:
    • Встроенные в компилятор и фреймворк.
    • Встроенные в операционную систему.
    • Распространенные ошибки.
  6. Неделя 6. Проектирование безопасных пользовательских интерфейсов:
    • Основные принципы.
    • Распространенные ошибки.
  7. Неделя 7. Тестирование кода:
    • Статический анализ и экспертиза кода.
    • Функциональное тестирование программы.
    • Тестирование на проникновение.
    • Динамический анализ кода.
    • Фаззинг-тестирование.
  8. Неделя 8. Сертификация ПО:
    • Обоснование необходимости.
    • Законодательство в мире.
    • Процедура сертификации ПО в Российской Федерации.
  9. Неделя 9. Что делать, если уже есть приложение:
    • План реагирования на инциденты информационной безопасности.
    • Средства защиты приложений.
    • Моделирование угроз.
    • Проверка на защищенность.
  10. Неделя 10. Информационная безопасность компании:
    • Системы электронного документооборота: защита информации и информационная безопасность.
    • Фильтрация спама как элемент политики информационной безопасности.
  11. Неделя 11. Кибервойны:
    • Немного из истории.
    • Принципы ведения Кибервойн.
    • Основные этапы.
  12. Неделя 12. Финальный тест.

Каждая тема предполагает изучение в течение одной недели.

Результаты обучения

  • Знания общих принципов проектирования и разработки безопасного программного обеспечения, виды уязвимостей, способы защиты от ошибок в программном обеспечении (РО-1)
  • Владеть навыками моделирования угроз (РО-2)
  • Владеть способами снижения рисков информационной безопасности (РО-3)
  • Владеть навыками тестирования кода (РО-4)
  • Знание законодательной базы Российской Федерации в области информационной безопасности (РО-5)

Формируемые компетенции

09.03.01 Информатика и вычислительная техника
09.03.02 Информационные системы и технологии
09.03.04 Программная инженерия
10.03.01 Информационная безопасность

  • Планирует разработку или восстановление требований к системе (ПК-2.1)
  • Разрабатывает техническое задание на систему (ПК-2.5)
  • Управляет безопасностью сетевых устройств и программного обеспечения (ПК-3.3)
  • Диагностирует отказы и ошибки сетевых устройств и программного обеспечения (ПК-3.4)

Направления подготовки

Отзывы о курсе

Маркина Татьяна Анатольевна

К.т.н.
Должность: доцент факультета программной инженерии и компьютерной техники Университета ИТМО

Белозубов Александр Владимирович

К.т.н.
Должность: Преподаватель факультета программной инженерии и компьютерной техники Университета ИТМО

сертификат об окончании курса

Сертификат

По данному курсу возможно получение сертификата Университета ИТМО.

Обращаем ваше внимание на то, что для бесплатного просмотра доступны только материалы 1 и 2 недель. Все остальные материалы курса будут доступны после оплаты.

Стоимость составляет 2800 рублей, в неё входит доступ к материалам курса и прохождение аттестационных заданий с идентификацией личности для получения сертификата.

Сертификат участника обычно выдается при достижении 60% от общего рейтинга при условии сдачи работ до жесткого дедлайна. Сертификат с отличием, как правило, выдается при достижении 90% от общего рейтинга при условии сдачи работ до мягкого дедлайна.

Похожие курсы