Разделы дисциплины и виды учебной работы

Санкт-Петербургский государственный политехнический университет

СОГЛАСОВАНО Декан ФМФ __________________ Колгатин С.Н. «_____» ___________ _____ г. УТВЕРЖДАЮ Декан ФМФ __________________ Колгатин С.Н. «_____» ___________ _____ г.

РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ

Защита информации

Кафедра-разработчик

Прикладная математика

Направление (специальность) подготовки

010400 Прикладная математика и информатика

Наименование ООП

Квалификация (степень) выпускника

Образовательный стандарт

Федеральный ГОС

Форма обучения

очная

СОГЛАСОВАНО Зав.кафедрой Прикладная математика __________________ Клавдиев В.К. «_____» ___________ _____ г. Соответствует ФГОС ВПО. Утверждена кафедрой ПриМат (протокол № 3 от 11.04.2011) Зав.кафедрой "Прикладная математика" ______________ Клавдиев В.Е.

Программу в соответствии с ФГОС ВПО разработали:

  к.ф.м.н.     Стахов С.В.
        Аранов В.Ю

Цели и результаты изучения дисциплины

Цели изучения дисциплины

Цель изучения дисциплины "Защита информации" –

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

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

знание математических принципов криптографических преобразований,

типовых программно-аппаратных средств и систем защиты информации от несанкционированного доступа в компьютерную среду;

умение проводить анализ степени защищенности информации,

осуществлять повышение уровня защиты с учетом развития математического и программного обеспечения вычислительных систем;

противостоять вызовам, в области обеспечения безопасности компьютерных систем, которые выдвигает широкое распространение сети Интернет и современное информационное сообщество;

навык соблюдения, как коммерческой, так и государственной тайны;

способность разрабатывать эффективные математические методы решения за-дач естествознания, техники, экономики и управления (ПК-2);

разрабатывать научно-техническую документацию, оформлять научно-технические отчеты, обзоры, публикации по результатам выполненных исследований (ПК-3);

готовность к активному общению в научной, производственной и социально-общественной сферах деятельности (ОК-3).

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

Результаты обучения (компетенции) выпускника, в формирование которых вносит вклад освоение дисциплины

Код Результат обучения (компетенция) выпускника ООП
ОК-2 способностью иметь представление о современном состоянии и проблемах прикладной математики и информатики, истории и методологии их развития
ОК-7 способностью и готовностью к активному общению в научной, производственной и социально-общественной сферах деятельности
ОК-9 способностью использовать углубленные знания правовых и этических норм при оценке последствий своей профессиональной деятельности, при разработке и осуществлении социально значимых проектов
ПК-1 способностью проводить научные исследования и получать новые научные и прикладные результаты
ПК-2 способностью разрабатывать концептуальные и теоретические модели решаемых научных проблем и задач
ПК-12 способностью участвовать в деятельности профессиональных сетевых сообществ по конкретным направлениям

Планируемые результаты освоения дисциплины

М.1. Общенаучный цикл

Базовая часть

знать:

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

- Принципы анализа программного обеспечения по принципу черного и белого ящиков;

- Принципы безопасной работы в потенциально агрессивной окружающей IT-среде;

- Способы организации и предотвращения промышленного шпионажа;

- Правовые аспекты работы с информацией;

уметь:

-вычислять в группах, кольцах классов вычетов и полях Галуа;

- осуществлять классификацию неизвестного программного обеспечения

────────────────────────────────────────────

М.1.Профессиональный цикл


Базовая (профессиональная) часть
знать:

- Типовых программно-аппаратных средств и систем защиты информации от несанкционированного доступа в компьютерную среду;

- Основные принципы написания безопасного кода;

- Основные принципы разделения доверенных данных от данных пришедших из источников не заслуживающих доверия;

- Принципы работы с цифровыми подписями и протоколами сетевой безопасности;

- Принципы анализа программного обеспечения для х86 совместимых процессоров на предмет поиска уязвимостей;

- Принципы анализа программного написанного на скриптовых языках для сетевых сервисов на предмет поиска уязвимостей;

- Принципы написания взломоустойчивого программного обеспечения

уметь:

- Проводить анализ степени защищенности информации;

- Проводить анализ степени защищенности информации;

- Разрабатывать взломоустойчивое программное обеспечение

- Грамотно применять криптографические алгоритмы

- Проводить первичный анализ потенциально вредоносного программного

обеспечения

- Исправлять последствия работы вредоносного программного обеспечения

Место дисциплины в ООП

Дисциплина «Защита информации» согласно федеральному ГОС направления подготовки 010400 «Прикладная математика и информатика» (степень: магистр) является дисциплиной учебного цикла М.1 Общенаучный цикл (Б Базовая часть).

Изучение дисциплины «Защита информации» базируется в основном на результатах освоения следующих дисциплин:

“Компьютерная алгебра”

"Грамматики и автоматы",

"Архитектура процессоров",

"Операционные системы",

"Интернет технологии",

В меньшей степени курс базируется на следующих дисциплинах:

"Теория алгоритмов",
"Информационное обеспечение компьютерных систем",
"Компьютерные сети",
"Параллельные вычисления"

Результаты изучения дисциплины «Защита информации» используются в ходе практики (раздел Б.4 ФГОС) и при подготовке выпускной квалификационной работы (раздел Б.6 ФГОС).

3. Распределение трудоёмкости освоения дисциплины по видам учебной работы

Виды учебной работы

Виды учебной работы Трудоемкость по семестрам Итого, ач
1-й сем. 2-й сем.
ач/нед ач/сем ач/нед ач/сем
Лекции
Лабораторные занятия
Практические занятия, семинары
в том числе аудиторные занятия в интерактивной форме
Самостоятельная работа
в том числе творческая проблемно-ориентированная самостоятельная работа
Экзамены (подготовка во время сессии, сдача)
Общая трудоемкость освоения дисциплины в академических часах:
  в зачетных единицах:
7.50

Формы контроля

Формы контроля Количество по семестрам Итого
1-й сем. 2-й сем.
Текущий контроль
Контрольные работы (КРаб), шт.
Коллоквиумы (Кк), шт.
Расчетно графические работы (РГР), шт.
Рефераты (Реф), шт.
Курсовые проекты (КП), шт.
Курсовые работы (КР), шт.
Промежуточная аттестация
Зачёты (З), шт.
Экзамены (Э), шт.

Содержание и результаты обучения

Разделы дисциплины и виды учебной работы

  Темы Л ЛЗ СРС Э
1. ВВЕДЕНИЕ В ИНФОРМАЦИОННУЮ БЕЗОПАСНОСТЬ. ЗАЩИТА ИНФОРМАЦИИ МЕТОДАМИ КРИПТОГРАФИИ.
1.1. Основные понятия криптографии.
1.2. Симметричные криптосистемы.
1.3. Асимметричные криптосистемы.
1.4. Цифровые подписи.
2. ПРИНЦИПЫ КРИПТОГРАФИЧЕСКИХ ПРЕОБРАЗОВАНИЙ
2.1. Алгебраические системы в криптографии.
2.2. Группы и линейные пространства в симметричных криптосистемах. Блочные и потоковые шифры.
2.3. Сети Фейстела. Data Encryption Standard. ГОСТ 28147-89.
2.4. Кольца и поля в Advanced Encryption Standard, ал-горитм Rijndael.
2.5. Режимы применения блочных шифров.
2.6. Основные теоремы о кольцах классов вычетов. Факторизация. Дискретное логарифмирование.
2.7. Асимметричные криптосистемы. RSA, El-Gamal
2.8. Хэш-функции. Цифровые подписи. RSA, El-Gamal, Schnorr, DSS, ГОСТ Р34.10-94.
2.9. Извлечение корней в полупростых кольцах классов вычетов. Квадратичные подписи Rabin, Fiat-Schamir.
2.10. Эллиптические кривые в криптографии. Стандарт ГОСТ Р34.10-2001.
2.11. Подписание контракта.
2.12. Расчётная работа по разделам 1, 2
3. ЗАЩИТА ИНФОРМАЦИИ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА
3.1. Управление криптографическими ключами.
3.2. Автоморфизмы алгебраических систем и композиция шифров с разными ключами. Протокол Diffie-Hellman общего секретного ключа.
3.3. Протоколы аутентификации. Доказательство знания без разглашения секрета (Zero-Knowledge Proof).
3.4. Рабочие группы пользователей. Минимальные привилегии. Защита Баз Данных.
4. АНАЛИЗ СТЕПЕНИ ЗАЩИЩЕННОСТИ ИНФОРМАЦИИ
4.1. Основы дифференциального криптоанализа
4.2. Основы линейного криптоанализа
5. ЭКЗАМЕН
5.1. Подготовка к экзамену, экзамен
6. Задача защиты информации в современном информационном обществе(Обзор)
6.1. Информация в современном обществе
6.2. Угроза информации
6.3. Правомерный/неправомерный доступ к информации
7. Инструментарий исследователя программного кода
7.1. Введение в анализ машинного кода
7.2. Инструментарий используемый для анализа кода.
7.3. Методы противодействия отладке и способы их преодоления
8. Практический пример исследования программного кода: Исследование вируса
8.1. Компьютерный вирус
8.2. Загрузчик вируса
8.3. Распаковщик вируса и антиотладка на уровне ядра
8.4. Вирус: руткит
8.5. Вирус: "полезная" нагрузка
9. Безопасность в сети Интернет
9.1. Основы безопасной работы в сети Интернет
9.2. Виды сетевых атак
9.3. Слепая SQL атака (Blind SQL injection)
10. Методы защиты программного кода
10.1. Запутывающие преобразования
10.2. Паковка
10.3. Использование виртуальных машин в запутывающих преобразованиях
10.4. Динамически (само)модифицирующийся код
11. Экзамен
11.1. Подготовка к экзамену, экзамен
  Итого по видам учебной работы:
  Общая трудоемкость освоения: ач/зет 2.00 1.00 4.50

Содержание разделов и результаты изучения дисциплины

Темы, разделы Результаты освоения дисциплины
1. ВВЕДЕНИЕ В ИНФОРМАЦИОННУЮ БЕЗОПАСНОСТЬ. ЗАЩИТА ИНФОРМАЦИИ МЕТОДАМИ КРИПТОГРАФИИ.
1.1. Основные понятия криптографии. Основные понятия криптографии. Коды, шифры, ключи, синхропосылка, шифрова-ние, (за|рас)шифрование, уравнение (за|рас)шифрования, дешифрование, крип-тостойкость и вычислительная сложность дешифрования. Два типа преобразований: кодирование и шифрование. Криптография и криптоанализ. Знание основных понятий криптографии: коды, шифры, ключи, синхропосылка, шиф-рование, (за|рас)шифрование, уравнение (за|рас)шифрования, дешифрование, крип-тостойкость; криптография и криптоанализ.
1.2. Симметричные криптосистемы. Передача конфиденциального сообщения по защищённому каналу связи. Сведения о блочных и потоковых шифрах. Подстанов-ки, перестановки, гамма-шифр. Знание основных понятий симметричных криптосистем: общий секретный ключ; гам-мирование, обратная связь Умение применять симметричный шифр при архивировании файлов.
1.3. Асимметричные криптосистемы. Честные односторонние функции, функции с секретом. Сложность вычисления секрет-ного ключа по известному открытому клю-чу. Понятие о шифре RSA. Знание основных понятий асимметричных криптосистем: открытый и секретный клю-чи; шифр RSA.
1.4. Цифровые подписи. Подпись и верификация. Хэш-функции. Од-носторонность, коллизии. Парадокс дня ро-ждения. Сильные хэш-функции. Целост-ность и авторизация документов. Крипто-графическая контрольная сумма Manipula-tion Detection Code (MDC), использование в цифровой подписи RSA. Защита от фальси-фикации, отказа, повторного использования. Знание принципов применения хэш-функции и асимметричного шифра для циф-ровой подписи электронного документа. Умение применять цифровую подпись в электронной почте.
2. ПРИНЦИПЫ КРИПТОГРАФИЧЕСКИХ ПРЕОБРАЗОВАНИЙ
2.1. Алгебраические системы в криптографии. Алгебраические системы (АС) и их приме-нение в криптологии. Односортные АС с одной и двумя операциями (полугруппы, моноиды, группы; кольца, тела, поля). Шифр – подмножество группы перестано-вок слов. Знание основных алгебраических систем, принципов их применения в криптографи-ческих преобразованиях
2.2. Группы и линейные пространства в симметричных криптосистемах. Блочные и потоковые шифры. Недопустимость полугруппы для кратного шифрования. F2-линейность битовых пере-становок. Необходимость S-блоков. Знание основных принципов построения симметрических многократных шифров.
2.3. Сети Фейстела. Data Encryption Standard. ГОСТ 28147-89. Сети Фейстела. Принципы Шеннона (сме-шение и диффузия). Вывод обратного пре-образования сети как произведения этапов (в некоммутативной группе). Необходимые свойства шифрующей функции этапа (нели-нейность, не полугруппа). Data Encryption Standard. Шифрующая функция этапа DES. F2-линейность P-, E-блоков, дающих диффу-зию. Нелинейность S-блоков – защита от криптоанализа. ГОСТ 28147-89. Знание схемы Сети Фейстела, шифров ГОСТ 28147-89 и DES. Умение применять симметрический шифр для защиты конфиденциальных данных.
2.4. Кольца и поля в Advanced Encryption Standard, ал-горитм Rijndael. Двусортные АС (G-множества, R-модули, F-линейные пространства, идеалы). Гомоморфизмы. Факторкольца. Простые поля Q , Fp= Z/pZ. Подполя. Характеристика поля. Кольцо многочленов над полем - евклидово. Поле Галуа Fq – факторкольцо по идеалу неприводимого многочлена над Fp. Группа аффинных преобразований над полем Fq. Advanced Encryption Standard (AES 2000), алгоритм Rijndael. Знание математических оснований и алго-ритма шифра AES. Умение применять шифр AES для защиты конфиденциальных данных.
2.5. Режимы применения блочных шифров. Электронная Кодировочная Книга (ECB). Сцепление Блоков Шифрованного текста (CBC, BC), Сцепление Блоков Шифрован-ного текста с Контрольной Суммой (CBCCS), Обратная Связь по Шифрованно-му тексту (CFB), Обратная Связь по Выходу (OFB) и потоковые шифры. Знание основных режимов применения блочных шифров. Умение применять блочные шифры с обрат-ной связью в основных режимах.
2.6. Основные теоремы о кольцах классов вычетов. Факторизация. Дискретное логарифмирование. Линейное представление н.о.д. Расширен-ный алгоритм Евклида и обращение вычета по модулю главного идеала. Простые поля. Мультипликативная группа U(Zn). Функция Эйлера, теорема Эйлера-Ферма. Прямые суммы и пересечения.Разложение колец вычетов по составному модулю в прямую сумму примарных идеалов. Теорема Кармайкла. Факторизация. Цикличность муль-типликативной группы примарного кольца нечетного простого. Знание расширенного алгоритма Евклида, основных понятий и теорем о кольцах клас-сов вычетов. Умение вычислять обратные классы выче-тов, раскладывать кольца классов вычетов в прямую сумму примарных идеалов, при криптографических преобразованиях.
2.7. Асимметричные криптосистемы. RSA, El-Gamal Быстрое вычисление степеней. Расшифро-вание произвольного сообщения в RSA, благодаря (необходимо) полупростому кольцу вычетов. Протоколы RSA, El-Gamal Знание LSBF, MSBF, рекурсивного алго-ритмов быстрого возведения в степень клас-сов вычетов, элементов мультипликативно-го моноида. Умение вычислять степени классов вычетов в криптографических преобразованиях.
2.8. Хэш-функции. Цифровые подписи. RSA, El-Gamal, Schnorr, DSS, ГОСТ Р34.10-94. Цикличность мультипликативной группы (простого) поля Галуа. Первообразные кор-ни, индексы. Дискретное логарифмирова-ние. Цифровые подписи. El-Gamal, Schnorr, DSS, ГОСТ Р34.10-94. Подпись RSA. Знание схем Цифровые подписи. El-Gamal, Schnorr, DSS, ГОСТ Р34.10-94, RSA. Умение подписывать электронное сообще-ние.
2.9. Извлечение корней в полупростых кольцах классов вычетов. Квадратичные подписи Rabin, Fiat-Schamir. Разложение колец вычетов по составному модулю в прямую сумму примарных идеа-лов. Теорема Кармайкла. Цикличность мультипликативной группы примарного кольца классов вычетов нечетного простого. Извлечение квадратного корня в циклической группе с известным порядком и образующей. Квадратичные подписи Rabin, Fiat-Schamir. Знание основных теорем о кольцах классов вычетов. Умение вычислять квадратные корни из квадратичных классов вычетов в цифровых подписях Rabin, Fiat-Schamir.
2.10. Эллиптические кривые в криптографии. Стандарт ГОСТ Р34.10-2001. ЭК над полем Галуа в форме Вейерштрасса. Бесконечная и нулевая точки. Порядок и след ЭК. Теорема Хассе. Суперсингуляр-ность. Сложение точек ЭК. Структура груп-пы (Z-модуля) точек, кофактор ЭК. Криптосистемы на ЭК. Стандарт цифровой подписи ГОСТ Р34.10-2001. Знание основных принципов в основе стан-дарта цифровой подписи ГОСТ Р34.10-2001.
2.11. Подписание контракта. Одновременное подписание контракта без посредника средствами криптографии. Знание протокола одновременного подписа-ния контракта без посредника средствами криптографии.
2.12. Расчётная работа по разделам 1, 2 RSA, Rabin Знание протоколов из разделов 1, 2. Умение вычислять положительные и отри-цательные степени классов вычетов и квад-ратные корни из них.
3. ЗАЩИТА ИНФОРМАЦИИ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА
3.1. Управление криптографическими ключами. Генерация, накопление, распределение. Протоколы распределения ключей. Ситуа-ция а) двусторонний обмен ключами. Про-токолы взаимного обмена с секретным или открытым ключом. Схема Диффи-Хеллмана связи с открытым ключом и открытого шифрования (ОШ). Ситуация б) Обмен ключами через третье лицо. Сертификаты. Протокол передачи ключа по незащищен-ному каналу. Протоколы обмена через третье лицо с закрытым ключом или с от-крытыми ключами. Ситуация в): Обмен ключами через двух и более посредников. Протоколы обмена через двух и более по-средников с секретным ключом или с от-крытым ключом. Знание протоколов распределения ключей в ситуациях а) двустороннего обмен ключами; б) обмена ключами через третье лицо, с открытым или секретным ключом. Умение устанавливать защищённый канал связи с доказательством подлинности або-нентов и сеанса связи, на основе их серти-фицированных открытых ключей.
3.2. Автоморфизмы алгебраических систем и композиция шифров с разными ключами. Протокол Diffie-Hellman общего секретного ключа. Автоморфизмы алгебраических систем и композиция коммутирующих шифров с раз-ными ключами. Тождество общего секрет-ного ключа в схеме Диффи-Хеллмана. Реа-лизация Эль-Гамаля. Знание математических принципов в основе схемы Диффи-Хеллмана. Умение применять схему Диффи-Хеллмана для генерирования общего секретного клю-ча при установлении защищённого канала.
3.3. Протоколы аутентификации. Доказательство знания без разглашения секрета (Zero-Knowledge Proof). Базовый протокол, доказательство знания дискретного логарифма, вскрытия RSA. Идентификация субъекта с помощью серти-фицированных ключей удостоверения под-линности для подписи Эль-Гамаля. Знание базового протокола доказательства знания без разглашения секрета, доказатель-ства знания дискретного логарифма, вскры-тия RSA. Умение применять доказательство знания дискретного логарифма для идентификации субъекта.
3.4. Рабочие группы пользователей. Минимальные привилегии. Защита Баз Данных. Политика рабочих групп пользователей. Разграничение доступа. Принцип мини-мальных привилегий. Матрица полномочий. Пример защиты БД под управлением СУБД Access. Знание понятий: рабочая группа пользова-телей, разграничение доступа, принцип ми-нимальных привилегий, матрица полномо-чий. Умение защиты БД под управлением СУБД Access.
4. АНАЛИЗ СТЕПЕНИ ЗАЩИЩЕННОСТИ ИНФОРМАЦИИ
4.1. Основы дифференциального криптоанализа Основы дифференциального и линейного криптоанализа. Дифференциальные харак-теристики S-блоков DEA и уравнения под-бора фрагментов ключа этапа. Дифференци-альный взлом 2, 3, 4-этапного DEA. Знание основ дифференциального и крип-тоанализа.
4.2. Основы линейного криптоанализа Понятие о линейном криптоанализе. Гамма-шифр Линейным Конгруэнтным Датчиком Случайных Чисел (ЛКДСЧ). Взлом с ис-пользованием аффинного инварианта и ре-шения линейного уравнения в кольце выче-тов. Знание о линейном криптоанализе. Умение взломать Гамма-шифр Линейным Конгруэнтным Датчиком Случайных Чисел без обратной связи по известному фрагмен-ту открытого текста
5. ЭКЗАМЕН
5.1. Подготовка к экзамену, экзамен Контроль результатов изучения дисципли-ны. Знание разделов 1-4
6. Задача защиты информации в современном информационном обществе(Обзор)
6.1. Информация в современном обществе Определение понятии информации, как объекта защиты: Информация как документы, как файлы, как абстрактное знание, как метаинформация. Информация, как производное знание. Знания на уровне понятий, определений, описаний, формулировок: Информация в различных видах и ее важность. Практические умения: Умение различать и выделять критическую информацию в общем потоке окружающих информационных данных
6.2. Угроза информации Угрозы исходящие от хакеров, удаленные и локальные атаки. Методы и приемы социальной инженерии. Опеределение вредоносного ПО. Cracks, hack, keygens. Необходимость противодействия вредоносному ПО. Знания на уровне понятий, определений, описаний, формулировок: Хакеры, shareware, freeware, open source, license management system, activation mechanism, copyright, software piracy, cracks, loaders, keygens, fishing, scam, fraud, spam Практические умения: Понимание что такое вредоносное ПО. Умение отличать вредоносное ПО по функционалу.Умение противодействовать приемам социальной инженерии и, возможно, их использовать.
6.3. Правомерный/неправомерный доступ к информации Правовые последствия неправомерного доступа к информации. Отвественность за разработку вредоносного ПО. Практические знания: Знание правового поля РФ, базовых законных и подзаконных актов регулирующих взаимоотношения в IT сфере.
7. Инструментарий исследователя программного кода
7.1. Введение в анализ машинного кода Понятие анализа кода, живой и мертвый код, понятие отладки, обоснование необходимости отладки кода, сравнение эффективности различных методов анализа. Понятие разных уровней кода: уровень ядра ОС и уровень приложения. Внутренние недокументированные структуры ОС используемые для технической реализации отладки. Знания на уровне понятий, определений, описаний, формулировок: Dead code, live code, debugging, Ring3, Ring0 Практические навыки: Умение выбрать правильный класс инструментария для решения конкретной задачи исследования.
7.2. Инструментарий используемый для анализа кода. Visual Studio debugger, IDA, Olly DBG, SoftIce, Syser, sources, OllyDbg plug-ins, code Ripper, Code doctor Практические навыки: Умение использовать множество программных продуктов для наиболее эффективного решения задачи исследования машинного кода полученного из непроверенных источников.
7.3. Методы противодействия отладке и способы их преодоления Чтение памяти, RTDSC, VEH, SEH, IsDebuggerPresent, работа с таймером, PCB & TCB, DR? registers and flags Практические навыки: Умение быстро обнаруживать стандартные антиотладочные приемы в исследуемом коде и грамотно их преодолевать. Умение обнаруживать подозрительный с точки зрения противодействия отладке код и нейтрализовывать его.
8. Практический пример исследования программного кода: Исследование вируса
8.1. Компьютерный вирус Понятие вируса, цели создания вируса, основные компоненты вируса, классификация вирусов по степени защиты и по поражаемым элементам системы. Общее и специфика, примеры уникальных и курьезных вирусов. Знания на уровне понятий, определений, описаний, формулировок: Компьютерный вирус, троян, riskware, adware, scamware, loader module, infection module, payload, botnet module, разновидности различных вирусов. Практические навыки: Умение распознать вирус, в недетектируемом текущей версией антивируса вредоносносном программном обеспечении по его проявлениям.
8.2. Загрузчик вируса На примере вируса из интернета. Полиморфизм, aPLib сжатие, RC4 шифрование, TDI, spaghetti код, общая структура вируса Практические навыки: Получить общее представление о том что представляет из себя загрузчик компьютерного вируса и какие шаги необходимо предпринять для его анализа.
8.3. Распаковщик вируса и антиотладка на уровне ядра NtOsKrnl, NtQuerySystemInformation, CRC32 hashing, IDT protection Практические навыки: Получить общее представление о том, как преодолевать антиотладку на уровне ядра и какие антиотладочные приемы используются разработчиками вредоносного ПО.
8.4. Вирус: руткит Понятие руткита, виды различных руткитов, способы анализа системы с руткитом, способы нейтрализации руткитов. Анализ руткита из исследуемого вируса. INT 2Eh, драйвера файловой системы Знания на уровне понятий, определений, описаний, формулировок: Руткит, недокументированное API, API splicing
8.5. Вирус: "полезная" нагрузка Виды "полезных" нагрузок вирусов, модуль рассылки спама, модуль репликации. Практические навыки: Знание способов распознания маскирующегося вируса по косвенным признакам.
9. Безопасность в сети Интернет
9.1. Основы безопасной работы в сети Интернет Классификация сетевых хакеров, Безопасность пользователя и безопасность сервера: сходство и различия, дедики, шеллы, боты, Знания на уровне понятий, определений, описаний, формулировок: Хакер, спамер, скамер, шелл, бот Практические навыки: Приемы безопасной работы в сети Интернет, на уровне пользователя. Различие реальных и мнимых угроз.
9.2. Виды сетевых атак Buffer overflow, DOS, DDOS, ARP, spoofing, Injects, Perl Inject, PHP inject, Shell inject Знания на уровне понятий, определений, описаний, формулировок: Buffer overflow, DOS, DDOS, ARP, spoofing, Injects, Perl Inject, PHP inject, Shell inject Практические навыки: Навыки написания кода неподверженного широко распространенным уязвимостям. Умение идентифицировать уязвимости в коде полученном на рецензирование.
9.3. Слепая SQL атака (Blind SQL injection) Методы проведения атаки, методы защиты от атак, атаки второго и старших уровней, методы разработки устойчивого к атакам кода. Знания на уровне понятий, определений, описаний, формулировок: Blind SQL inject Практические навыки: Навыки написания кода неподверженного SQL уязвимостям. Умение идентифицировать уязвимости в коде работы с базами данных.
10. Методы защиты программного кода
10.1. Запутывающие преобразования Конвенции вызова, уровни запутывания кода, алгоритмический уровень обфускации, компиляторный уровень, машинный уровень(уровень инструкций). Обфускация flow-control. Влияние оптимизации, способы борьбы с нежелательной оптимизацией Знания на уровне понятий, определений, описаний, формулировок: сdecl, srdcall, thiscall, fastcall, volatile Практические знания: Знание и умения управлением настройками компилятора, понимание способов запутывания графа выполнения программы и способов анализа графа в том случае если он уже находится в запутанном состоянии
10.2. Паковка Стуктура исполняемого файла и файла библиотеки в Windows и Linux. Методы сжатия исполняемых файлов, OEP, Portable EXE, IAT, PLT, Статистические методы обнаружения упакованного и зашифрованного кода. Методы применяемые при анализа упакованных и зашифрованных программ. Знания на уровне понятий, определений, описаний, формулировок: Exe header, Portable exe header, import table, export table, relocation, IAT, PLT, OEP Практические знания: Умение определить OEP сжатого файла. Умение написать простейший упаковщик, умение распаковать сжатый или зашифрованный исполняемый модуль.
10.3. Использование виртуальных машин в запутывающих преобразованиях Классификация виртуальных машин. Реальные виртуальные машины, виды виртуальных процессоров, сети Петри и их использование для создания виртуальных машин произвольной сложности. Эффективность виртуальных машин. Другие широко распространенные виртуальные машины (forth, Turing machine, stack CPU). Способы анализа защит основанных на виртуальной машине. Знания на уровне понятий, определений, описаний, формулировок: Сеть Петри, граф выполнения, проблема достижимости и эквивалентности графа выполнения программы, стрелка Пирса, машина Тьюринга, Тьюринговская полнота языка ВМ. Практические знания: Умение определить наличие виртуальной машины в исследуемом приложении, знание способов создания виртуальных машин и понимание их разнообразия, базовые навыки анализа произвольной виртуальной машины.
10.4. Динамически (само)модифицирующийся код Полиморфный код, метаморфный код, ZPerm, сравнение устойчивости разных методов, уровни метаморфизма, NOP таблицы, метаморфные генераторы, метаморфные детекторы, структура и примерная реализация конечного автомата для создания метаморфа. Порождающие грамматики и конечные автоматы для генерации метаморфного кода. Знания на уровне понятий, определений, описаний, формулировок: Полиморфы, метаморфы, NOP таблицы, метаморфные генераторы, метаморфные детекторы, порождающие и детектирующие грамматики. Практические знания: Умение обнаруживать и отлаживать полиморфный и метаморфный код. Базовые навыки разработки полиморфного и метаморфного кода. Владение ZPerm методом преобразования двоичного кода.
11. Экзамен
11.1. Подготовка к экзамену, экзамен Контроль результатов освоения дисциплины Практический результат: Более чем удовлетворительное знание дисциплины

Наши рекомендации