Лекция 1. Введение в курс "Защита программ и данных"
О себе
ФИО:
Константин Евгеньевич Израилов
Образование:
СПбГТУ (бакалавр, магистр)
СПбГУТ (аспирантура)
Ученая степень
К.т.н. по специальности 05.13.19 – Методы и системы защиты информации, информационная безопасность
Тема диссертации – Метод алгоритмизации машинного кода для поиска уязвимостей в телекоммуникационных устройствах
Контактные данные
E-mail:
konstantin.izrailov@mail.ru
•Указывать: ФИО, номер группы
Для старост групп
Телефон:
+7 (921) 558-2389
Мессенджеры:
Viber
Telegram
Skype (konstantin.izrailov)
Социальные сети:
Нет (зло)
Текущая дисциплина – 1
Название
Защита программ и данных
Период
2-й семестр 2018 года
Группы
ИКТ-61, ИКТ-62, ИКТ-63, ИКТ-64
Цель дисциплины
Теоретическая и практическая подготовка специалистов к деятельности,
связанной с применением современных технологий анализа программных реализаций, защиты программ и программных систем от анализа и вредоносных программных воздействий
Обеспечивается дисциплинами
Информатика
Информатика (спецглавы)
Технологии программирования
Разработка защищенных приложений на java
Текущая дисциплина – 2
Задачи дисциплины:
1) Изучение средств и методов анализа программных реализаций
2) Изучение средств и методов защиты программ от анализа
3) Изучение моделей функционирования и методов внедрения программных закладок
4) Изучение средств и методов выявления программных закладок
Матрица изучения дисциплины
О |
|
|
Ме |
|
|
Исслед. |
Защита |
|
|
т |
|
|
|
||
|
б |
|
|
о |
|
|
|
|
|
|
|
д |
|
|
|
|
ъе |
|
|
(Анализ) |
(Синтез) |
||
|
|
кт |
|
|
|
||
|
Валидное ПО |
1) |
2) |
||||
|
|
(Истинно) |
|
||||
|
|
|
|
|
|||
Злонамеренное ПО |
3) |
4) |
|||||
|
|
(Ложно) |
|
|
|||
|
|
|
|
|
|
Дополнительные требования к знаниям/умениям:
C/C# (MSVS) + программирование
Машинный код PowerPC (IDA Pro) + отладка
ILSpy + декомпиляция C#
JD-GUI + декомпиляция Java
Описание занятий
Состав семестра:
16 (+1) недель
8 (+1) пар лекций
•8 разделов дисциплины
8x2 (+1x2) пар практических занятий
•8 отчетов
1 зачет
Состав дисциплины:
Лекция – 1 пара
Практика – 2 пары
Отчет
Вопрос на зачете
Содержание дисциплины:
Теория – 60%
Практика – 40%
На базе опыта – 100%
Список лекций
Раздел дисциплины |
Задание на практику |
||
1. |
Введение в курс "Защита программ и |
Предпосылки к научному |
|
данных" |
исследованию |
||
2. |
Жизненный цикл программного |
Исследование полного |
|
обеспечения |
жизненного цикла программы |
||
3. |
Анализ программного кода и данных |
Анализ программы |
|
4. |
Защита от анализа программного кода |
Защита программы от анализа |
|
5. |
Уязвимости программного кода |
Создание “backdoor” |
|
6. |
Защита программного кода, |
Поиск уязвимостей в программе |
|
обрабатывающего данные, от |
|
||
уязвимостей |
|
||
7. |
Алгоритмизация машинного кода |
Восстановление архитектуры и |
|
алгоритмов машинного кода |
|||
|
|
||
8. |
??? |
Отсутствует |
// Авторское, На выбор
Проведение занятий
Посещение лекций и практических занятий:
Отмечается в таблице (старостой группы)
Выполнение практич. заданий:
В классе и/или дома
Сдача отчетов по практике:
В классе и/или дома
Реферат:
В письменной форме
Зачет:
В письменной и устной форме
Лекции Практика
0 - Отсутствует
б - Болеет
1 - Присутствует |
1 |
- Не справился |
|
|
|
|
2 |
- Спр. частично |
|
|
|
|
3 |
- Спр. |
|
полностью |
Проходной балл (вариант) – F_filter(E, L, N, T, S), где:
•F – пороговая/стохастическая/сигмоидальная/дельта (δ)
•E – посещение занятий
•L – сдача отчетов
•N – размер групп
•T – результаты зачета
•S – настроение
Опрос – 1
Цели:
Понять:
•Теоретические знания
•Практический опыт
Узнать:
•Общие интересы
•Волнующие проблемы
•Планы
Скорректировать:
•Содержание разделов дисциплины
•Задания на практику
•Стиль изложения
Настроить
•F_filter()
Опрос – 2
1) Номер группы (ФИО – по желанию)
ИКТ-61/62/63/64 (ФИО)
2) Знакомые языки программирования
C/C++/C#/Java/Python/Perl/Ruby/Asm/…
3) Знакомые ассемблерные коды CPU
Intel/Amd/PowerPC/MIPS/…
4) Опыт в создании уязвимостей*
Да/Нет
5) Опыт в поиске уязвимостей
Да/Нет
Уязвимость (здесь) – злонамеренная ошибка (вирус), внедренная или созданная в программе (системе)