Лекции
01
Технологии разработки безопасного ПО
07.09.2020 12:50 Zoom
Жизненный цикл ПО. Технологии разработки безопасного ПО. Microsoft Security Development Lifecycle, Cisco Secure Development Lifecycle. ГОСТ Р 56939—2016.
02
Основные понятия безопасности информации
14.09.2020 12:50 Zoom
Основные понятия безопасности информации: конфиденциальность, целостность, доступность. Виды защиты информации. Модель Белла-Лападулы. Понятие ошибки, уязвимости в ПО. Понятие и структура эксплоита. Классификация ошибок в ПО. Классификатор CWE. Оценка критичности ошибки по CVSS.
03
Ошибка типа «переполнение буфера»
21.09.2020 12:50 Zoom
Ошибка типа «переполнение буфера». Выполнение произвольного кода на исполнимом стеке. Противодействие выполнению кода на стеке: «канарейка», DEP. Выполнение произвольного кода на неисполнимом стеке. Return-to-libc. Противодействие return-to-libc: ASLR. Return-oriented programming (ROP). Аудит передач управления.
04
Статический анализ исходного кода с целью поиска ошибок
28.09.2020 12:50 Zoom
Статический анализ исходного кода с целью поиска ошибок. Типы обнаруживаемых ошибок. Методы автоматического и автоматизированного поиска ошибок. Путь распространения ошибки: source, propagation, sink.
05
Абстрактная интерпретация
05.10.2020 12:50 Zoom
Анализ потоков данных. Связь MOP-, MFP-, ideal-решений. Абстрактная интерпретация. Понятие решётки. Понятия конкретного и абстрактного состояний. Связь абстрактной интерпретации и анализа потока данных. Вычисление необходимых условий для поиска переполнения буфера. Понятия полноты и корректности. Примеры абстракций: интервальная абстракция, предикатная абстракция. SMT-решатели.
06
Отладка и инструментирование
12.10.2020 12:50 Zoom
Применение отладки для оценки возможности эксплуатации уязвимостей. Технологии отладки. Отладка пользовательского кода. Полносистемная отладка в виртуальной машине. Статическое и динамическое инструментирование. Получение данных для оффлайн-анализа.
07
Фаззинг и символьное выполнение
19.10.2020 12:50 Zoom
Фаззинг. Разновидности фаззинга: чёрный ящик, белый ящик, серый ящик. Генетические алгоритмы в фаззинге. Символьное выполнение: основные понятия. Схема работы символьного выполнения. Предикат пути, предикат безопасности. Проблема экспоненциального взрыва, стратегии выбора следующего состояния.
08
Слайсинг
26.10.2020 12:50 Zoom
Выявление пути распространения ошибки. Программный слайсинг. Статический, динамический слайсинг. Слайсинг бинарного кода.
09
Анализ бинарного кода
02.11.2020 12:50 Zoom
Необходимость анализа бинарного кода для обеспечения безопасности. Задачи в анализе бинарного кода: восстановление алгоритмов, восстановление типов данных, задачи декомпиляции. Повышение уровня представления. Статический и динамический подходы. Анализ трасс.
10
Статическое дизассемблирование
09.11.2020 12:50 Zoom
Статическое дизассемблирование. Задача различения кода и данных в программе. Дизассемблирование последовательным просмотром (linear sweep) и методом рекурсивного спуска (recursive descent). Форматы исполняемых файлов PE и ELF. Структура секций, таблицы символов, таблицы перемещения.
11
Восстановление потока управления и функций программы
16.11.2020 12:50 Zoom
Восстановление потока управления программы по её образу и по трассе выполнения. Способы описания потока управления. Системы с магазинной памятью. Восстановление функций. Идентификация библиотечных функций по сигнатурам. Структура данных «префиксное дерево». Алогоритм Ахо-Корасик.
12
Слайсинг по трассе и анализ помеченных данных
23.11.2020 12:50 Zoom
Выделение алгоритма в бинарном коде. Слайсинг по трассе. Слайсинг с учётом зависимостей по управлению. Анализ помеченных данных. Проблемы анализа помеченных данных. Поиск утечек конфиденциальных данных.
13
Анализ обращений к памяти в бинарном коде
30.11.2020 12:50 Zoom
Анализ обращений к памяти в бинарном коде. Алгоритм VSA, его абстрактный домен, передаточные функции. Использование аффинных соответствий для уточнения алгоритма VSA. Обработка косвенных переходов и вызовов. Примеры применения алгоритма VSA.
14
Сетевая безопасность
07.12.2020 12:50 Zoom
Сетевая безопасность. Защита периметра. Системы обнаружения (IDS) и предотвращения (IPS) вторжений.