Лекции
01
Технологии разработки безопасного ПО
02.09.2019 12:50 685
Жизненный цикл ПО. Технологии разработки безопасного ПО. Microsoft Security Development Lifecycle, Cisco Secure Development Lifecycle. ГОСТ Р 56939—2016.
02
Основные понятия безопасности информации
09.09.2019 12:50 685
Основные понятия безопасности информации: конфиденциальность, целостность, доступность. Виды защиты информации. Модель Белла-Лападулы. Понятие ошибки, уязвимости в ПО. Понятие и структура эксплоита. Классификация ошибок в ПО. Классификатор CWE. Оценка критичности ошибки по CVSS.
03
Ошибка типа «переполнение буфера»
16.09.2019 12:50 685
Ошибка типа «переполнение буфера». Выполнение произвольного кода на исполнимом стеке. Противодействие выполнению кода на стеке: «канарейка», DEP. Выполнение произвольного кода на неисполнимом стеке. Return-to-libc. Противодействие return-to-libc: ASLR. Return-oriented programming (ROP). Аудит передач управления.
04
Статический анализ исходного кода с целью поиска ошибок
23.09.2019 12:50 685
Статический анализ исходного кода с целью поиска ошибок. Типы обнаруживаемых ошибок. Методы автоматического и автоматизированного поиска ошибок. Путь распространения ошибки: source, propagation, sink.
05
Абстрактная интерпретация
30.09.2019 12:50 685
Анализ потоков данных. Связь MOP-, MFP-, ideal-решений. Абстрактная интерпретация. Понятие решётки. Понятия конкретного и абстрактного состояний. Связь абстрактной интерпретации и анализа потока данных. Вычисление необходимых условий для поиска переполнения буфера. Понятия полноты и корректности. Примеры абстракций: интервальная абстракция, предикатная абстракция. SMT-решатели.
06
Отладка и инструментирование
07.10.2019 12:50 685
Применение отладки для оценки возможности эксплуатации уязвимостей. Технологии отладки. Отладка пользовательского кода. Полносистемная отладка в виртуальной машине. Статическое и динамическое инструментирование. Получение данных для оффлайн-анализа.
07
Фаззинг и символьное выполнение
21.10.2019 12:50 685
Фаззинг. Разновидности фаззинга: чёрный ящик, белый ящик, серый ящик. Генетические алгоритмы в фаззинге. Символьное выполнение: основные понятия. Схема работы символьного выполнения. Предикат пути, предикат безопасности. Проблема экспоненциального взрыва, стратегии выбора следующего состояния.
08
Слайсинг
28.10.2019 12:50 685
Выявление пути распространения ошибки. Программный слайсинг. Статический, динамический слайсинг. Слайсинг бинарного кода.
09
Анализ бинарного кода
11.11.2019 12:50 685
Необходимость анализа бинарного кода для обеспечения безопасности. Задачи в анализе бинарного кода: восстановление алгоритмов, восстановление типов данных, задачи декомпиляции. Повышение уровня представления. Статический и динамический подходы. Анализ трасс.
10
Статическое дизассемблирование
18.11.2019 12:50 685
Статическое дизассемблирование. Задача различения кода и данных в программе. Дизассемблирование последовательным просмотром (linear sweep) и методом рекурсивного спуска (recursive descent). Форматы исполняемых файлов PE и ELF. Структура секций, таблицы символов, таблицы перемещения.
11
Восстановление потока управления и функций программы
25.11.2019 12:50 685
Восстановление потока управления программы по её образу и по трассе выполнения. Способы описания потока управления. Системы с магазинной памятью. Восстановление функций. Идентификация библиотечных функций по сигнатурам. Структура данных «префиксное дерево». Алогоритм Ахо-Корасик.
12
Слайсинг по трассе и анализ помеченных данных
02.12.2019 12:50 685
Выделение алгоритма в бинарном коде. Слайсинг по трассе. Слайсинг с учётом зависимостей по управлению. Анализ помеченных данных. Проблемы анализа помеченных данных. Поиск утечек конфиденциальных данных.
13
Анализ обращений к памяти в бинарном коде
09.12.2019 12:50 685
Анализ обращений к памяти в бинарном коде. Алгоритм VSA, его абстрактный домен, передаточные функции. Использование аффинных соответствий для уточнения алгоритма VSA. Обработка косвенных переходов и вызовов. Примеры применения алгоритма VSA.
14
Сетевая безопасность
16.12.2019 12:50 685
Сетевая безопасность. Защита периметра. Системы обнаружения (IDS) и предотвращения (IPS) вторжений.