- Артикул:00-01010396
- Автор: Климентьев К.Е.
- ISBN: 978-5-97060-296-6
- Тираж: 100 экз.
- Обложка: Твердая обложка
- Издательство: ДМК-Пресс (все книги издательства)
- Город: Москва
- Страниц: 656
- Формат: 60х90 1/16
- Год: 2015
- Вес: 893 г
Книга представляет собой курс компьютерной вирусологии, посвященный подробному рассмотрению феномена саморазмножающихся программ. Содержит неформальное и формальное введение в проблему компьютерных вирусов, описание принципов их работы, многочисленные примеры кода, методики обнаружения и удаления, а также лежащие в основе этих методик математические модели. Рассматривает все наиболее широко распространенные в прошлом и настоящем типы вирусов. Ориентирована на самую широкую аудиторию, но прежде всего на студентов и программистов - будущих и действующих специалистов в области защиты информации и разработки системного и прикладного программного обеспечения. Также может быть полезна и интересна «рядовым» пользователям, интересующимся проблемой компьютерных вирусов.
Содержание
Введение
Глава 1. Общие сведения о компьютерных вирусах
1.1. Что такое «компьютерный вирус»
1.2. Несколько исторических замечаний
1.3. Какие бывают вирусы
1.3.1. Классификация по способу использования ресурсов
1.3.2. Классификация по типу заражаемых объектов
1.3.3. Классификация по принципам активации
1.3.4. Классификация по способу организации программного кода
1.3.5. Классификация вирусов-червей
1.3.6. Прочие классификации
1.4. О «вредности» и «полезности» вирусов
1.5. О названиях компьютерных вирусов
1.6. Кто и зачем пишет вирусы
1.6.1. «Самоутверждающиеся»
1.6.2. «Честолюбцы»
1.6.3. «Игроки»
1.6.4. «Хулиганы и вандалы»
1.6.5. «Корыстолюбцы»
1.6.6. «Фемида» в борьбе с компьютерными вирусами
1.7. Общие сведения о способах борьбы с компьютерными вирусами
Глава 2. Загрузочные вирусы
2.1. Техническая информация
2.1.1. Загрузка с дискеты
2.1.2. Загрузка с винчестера
2.2. Как устроены загрузочные вирусы
2.2.1. Как загрузочные вирусы получают управление
2.2.2. Как загрузочные вирусы заражают свои жертвы
2.2.3. Как вирусы остаются резидентно в памяти
2.2.4. Как заподозрить и «изловить» загрузочный вирус
2.3. Охотимся за загрузочным вирусом
2.3.1. Анализ вирусного кода
2.3.2. Разработка антивируса
2.4. Редко встречающиеся особенности
2.4.1. Зашифрованные вирусы
2.4.2. Вирусы, не сохраняющие оригинальных загрузчиков
2.4.3. Механизмы противодействия удалению вирусов
2.4.4. Проявления загрузочных вирусов
2.4.5. Загрузочные вирусы и Windows
2.4.6. Буткиты
2.5. Советы по борьбе с загрузочными вирусами
2.5.1. Методы защиты дисков от заражения
2.5.2. Удаление загрузочных вирусов и буткитов «вручную»
Глава 3. Файловые вирусы в MS-DOS
3.1. Вирусы-«спутники»
3.2. «Оверлейные» вирусы
3.3. Вирусы, заражающие СОМ-программы
3.3.1. Внедрение в файл «жертвы»
3.3.2. Возврат управления «жертве»
3.4. Вирусы, заражающие ЕХЕ-программы
3.4.1. «Стандартный» метод заражения
3.4.2. Заражение в середину файла
3.4.3. Заражение в начало файла
3.5. Нерезидентные вирусы
3.5.1. Метод предопределенного местоположения файлов
3.5.2. Метод поиска в текущем каталоге
3.5.3. Метод рекурсивного обхода дерева каталогов
3.5.4. Метод поиска по «тропе»
3.6. Резидентные вирусы
3.6.1. Схема распределения памяти в MS-DOS
3.6.2. Способы выделения вирусом фрагмента памяти
3.6.3. Обработка прерываний
3.6.3.1. Перехват запуска программы
3.6.3.2. Перехват файловых операций
3.6.3.3. Перехват операций с каталогами
3.7. Вирусы-«невидимки»
3.7.1. «Психологическая» невидимость
3.7.2. Прямое обращение к системе
3.7.2.1. Метод предопределенных адресов
3.7.2.2. Метод трассировки прерывания
3.7.2.3. Прочие методы
3.7.3. Использование SFT
3.8. Зашифрованные и полиморфные вирусы
3.8.1. Зашифрованные и полиморфные вирусы для MS-DOS
3.8.2. Полиморфные технологии
3.9. Необычные файловые вирусы для MS-DQS
3.9.1. «He-вирус» Eicar
3.9.2. «Двуполый» вирус
3.9.3. Файлово-загрузочные вирусы
3.9.4. Вирусы-«драйверы»
3.9.5. Вирусы с «неизвестной» точкой входа
3.9.6. Самый маленький вирус
3.10. Подробный пример обнаружения, анализа и удаления
3.10.1. Способы обнаружения и выделения вируса в чистом виде
3.10.2. Анализ вирусного кода
3.10.3. Пишем антивирус
3.11. MS-DOS-вирусы в эпоху Windows
Глава 4. Файловые вирусы в Windows
4.1. Системная организация Windows
4.1.1. Особенности адресации
4.1.1.1. Сегментная организация адресного пространства
4.1.1.2. Страничная организация адресного пространства
4.1.2. Механизмы защиты памяти
4.1.3. Обработка прерываний и исключений
4.1.4. Механизмы поддержки многозадачности
4.1.5. Распределение оперативной памяти
4.1.6. Файловые системы
4.1.7. Запросы прикладных программ к операционной системе
4.1.7.1. Системные сервисы в MS-DOS
4.1.7.2. Системные сервисы в Windows З.Х
4.1.7.3. Системные сервисы в Windows 9Х
4.1.7.4. Системные сервисы в Windows NT
4.1.8. Конфигурирование операционной системы
4.1.8.1. Конфигурационные файлы Windows З.Х
4.1.8.2. Конфигурационные файлы и структуры Windows 9Х
4.1.8.3. Конфигурационные файлы и структуры Windows NT
4.1.9. Исполняемые файлы Windows
4.2. Вирусы для 16-разрядных версий Windows
4.2.1. Формат файла NE-программы
4.2.1.1. Таблица описания сегментов
4.2.1.2. Таблица описания перемещаемых ссылок
4.2.1.3. Таблицы описания импорта
4.2.2. Организация вирусов для Windows ЗХ
4.2.3. Анализ конкретного вируса и разработка антивирусных процедур
4.3. Вирусы для 32-разрядных версий Windows
4.3.1. Формат файлов РЕ-программ
4.3.1.1. PE-программы на диске и в памяти
4.3.1.2. Таблица секций
4.3.1.3. Импорт объектов
4.3.1.4. Экспорт объектов
4.3.2. Где располагаются вирусы
4.3.2.1. Файловые «черви»
4.3.2.2. Вирусы-«спутники»
4.3.2.3. «Оверлейные» вирусы
4.3.2.4. Вирусы в расширенной последней секции
4.3.2.5. Вирусы в дополнительной секции
4.3.2.6. Вирусы, распределенные по секциям
4.3.2.7. Вирусы в файловых потоках NTFS
4.3.3. Как вирусы получают управление
4.3.3.1. Изменение адреса точки входа
4.3.3.2. Изменение кода в точке входа
4.3.3.3. Использование технологии ЕРО
4.3.4. Как вирусы обращаются к системным сервисам
4.3.4.1. Метод предопределенных адресов
4.3.4.2. Самостоятельный поиск адреса KERNEL32.DLL
4.3.4.3. Использование «нестандартных» сервисов
4.3.5. Нерезидентные вирусы
4.3.6. «Резиденты» 3-го кольца защиты
4.3.6.1. Вирусы - автономные процессы
4.3.6.2. «Полурезидентные» вирусы
4.3.6.3. Вирусы, заражающие стандартные компоненты Windows
4.3.6.4. Вирусы, анализирующие список процессов
4.3.7. «Резиденты» 0-го кольца защиты
4.3.7.1. Переход в 0-е кольцо защиты методом создания собственных шлюзов
4.3.7.2. Переход в 0-е кольцо защиты подменой обработчика исключений
4.3.7.3. Инсталляция в неиспользуемые буферы VMM
4.3.7.4. Инсталляция в динамически выделяемую системную память
4.3.7.5. Встраивание в файловую систему
4.3.8. Вирусы - виртуальные драйверы
4.3.8.1. VxD-вирусы
4.3.8.2. SYS-вирусы и WDM-вирусы
4.3.9. «Невидимость» Windows-вирусов
4.3.9.1. Маскировка присутствия в файле
4.3.9.2. Маскировка присутствия в памяти
4.3.9.3. Маскировка ключей Реестра
4.3.10. Полиморфные вирусы в Windows
4.3.11. Вирусы и подсистема безопасности Windows
4.4. Пример анализа и нейтрализации конкретного вируса
4.4.1. Первичный анализ зараженных программ
4.4.2. Анализ кода
4.4.3. Алгоритм поиска и лечения
4.4.4. Дополнительные замечания
Глава 5. Макровирусы
5.1. Вирусы в MS Word
5.1.1. Общие сведения о макросах
5.1.2. Вирусы на языке WordBasic
5.1.2.1. Проблема «локализации»
5.1.2.2. Активация без «автоматических макросов»
5.1.2.3. Копирование макросов без «МасгоСору»
5.1.2.4. Запуск бинарного кода
5.1.2.5. Обеспечение «невидимости»
5.1.3. Вирусы на языке VBA
5.1.4. О проявлениях макровирусов
5.1.5. Простейшие приемы защиты от макровирусов
5.1.5.1. Манипуляции с «NORMAL.DOT»
5.1.5.2. Удаление вируса средствами «Организатора»
5.1.5.3. Антивирусные макросы
5.1.5.4. Встроенная «защита» MS Word
5.2. Вирусы в других приложениях MS Office
5.2.1. Макровирусы в MS Excel
5.2.2. «Многоплатформенные» макровирусы
5.3. Полиморфные макровирусы
5.4. Прямой доступ к макросам
5.4.1. Формат структурированного хранилища
5.4.2. «Правильный» доступ к структурированному хранилищу
5.4.3. Макросы в Word-документе
5.4.3.1. Макросы на языке WordBasic
5.4.3.2. Макросы на языке VBA
5.4.3.3. Вид и расположение VBA-макросов
5.4.3.4. Поиск VBA-макросов
5.4.3.5. Распаковка VBA-текста макросов
5.4.3.6. Удаление VBA-макросов
5.5. Пример анализа и удаления конкретного макровируса
5.5.1. Получение и анализ исходного текста
5.5.2. Распознавание и удаление макровируса
Глава 6. Сетевые и почтовые вирусы и черви
6.1. Краткая история сетей и сетевой «заразы»
6.2. Архитектура современных сетей
6.2.1. Топология сетей
6.2.2. Семиуровневая модель ISO OSI
6.2.3. IP-адресация
6.2.4. Символические имена доменов
6.2.5. Клиенты и серверы. Порты
6.2.6. Сетевое программирование. Интерфейс сокетов
6.3. Типовые структура и поведение программы-червя
6.4. Как вирусы и черви распространяются
6.4.1. Черви в локальных сетях
6.4.2. Почтовые вирусы
6.4.2.1. Первые почтовые вирусы. Интерфейс MAPI
6.4.2.2. Прямая работа с почтовыми серверами
6.4.3. «Интернет»-черви
6.5. Как черви проникают в компьютер
6.5.1. «Социальная инженерия»
6.5.2. Ошибки при обработке почтовых вложений
6.5.3. Ошибки в процессах SVCHOST и LSASS
6.5.4. Прочие «дыры»
6.5.5. Брандмауэры
6.6. Как черви заражают компьютер
6.7. Пример обнаружения, исследования и удаления червя
6.7.1. Проявления червя
6.7.2. Анализ алгоритма работы
6.7.2.1. Установка в памяти
6.7.2.2. Борьба с антивирусами
6.7.2.3. Модификация Реестра
6.7.2.4. Поиск адресов
6.7.2.5. Распространение по электронной почте
6.7.3. Методы удаления
6.8. Современные сетевые вирусы и черви
6.8.1. Модульное построение
6.8.2. Множественность способов распространения
6.8.3. Борьба червей с антивирусами
6.8.4. Управляемость. Ботнеты
Глава 7. Философские и математические аспекты
7.1. Строгое определение вируса
7.1.1. Модели Ф. Коэна
7.1.2. Модель Л. Адлемана
7.1.3. «Французская» модель
7.1.4. Прочие формальные модели
7.1.4.1. Модель китайских авторов Z. Zuo и М. Zhou
7.1.4.2. Векторная модель Д. Зегжды
7.1.4.3. Модели на основе абстрактных «вычислителей»
7.2. «Экзотические» вирусы
7.2.1. Мифические вирусы
7.2.2. Batch-вирусы
7.2.3. Вирусы в исходных текстах
7.2.4. Графические вирусы
7.2.5. Вирусы в иных операционных системах
7.2.5.1. Вирусы в UNIX-подобных системах
7.2.5.2. Вирусы для мобильных телефонов
7.2.6. Прочая вирусная «экзотика»
7.3. Распространение вирусов
7.3.1. Эпидемии сетевых червей
7.3.1.1. Простая SI-модель экспоненциального размножения
7.3.1.2. SI-модель размножения в условиях ограниченности ресурсов
7.3.1.3. SIS-модель примитивного противодействия
7.3.1.4. SIR-модель квалифицированной борьбы
7.3.1.5. Прочие модели эпидемий
7.3.1.6. Моделирование мер пассивного противодействия
7.3.1.7. Моделирование «контрчервя»
7.3.2. Эпидемии почтовых червей, файловых и загрузочных вирусов
7.3.3. Эпидемии мобильных червей
7.4. Обнаружение вирусов
7.4.1. Анализ косвенных признаков
7.4.2. Простые сигнатуры
7.4.3. Контрольные суммы
7.4.4. Вопросы эффективности
7.4.4.1. Выбор файловых позиций
7.4.4.2. Фильтр Блума
7.4.4.3. Метод половинного деления
7.4.4.4. Разбиение на страницы
7.4.5. Использование сигнатур для детектирования полиморфиков
7.4.5.1. Аппаратная трассировка
7.4.5.2. Эмуляция программ
7.4.5.3. Противодействие эмуляции
7.4.5.4. «Глубина» трассировки и эмуляции
7.4.6. «Рентгеноскопия» полиморфных вирусов
7.4.7. Метаморфные вирусы и их детектирование
7.4.7.1. Этап «выделения и сбора характеристик»
7.4.7.2. Этап «обработки и анализа»
7.4.8. Анализ статистических закономерностей
7.4.9. Эвристические методы детектирования вирусов
7.4.9.1. Выделение характерных признаков
7.4.3.2. Логические методы
7.4.9.3. Синтаксические методы
7.4.9.4. Методы на основе формулы Байеса
7.4.9.5. Методы, использующие искусственные нейронные сети
7.4.10. Концепция современного антивирусного детектора
7.5. Борьба с вирусами без использования антивирусов
7.5.1. Файловые «ревизоры»
7.5.2. Политики разграничения доступа
7.5.3. Криптографические методы
7.5.4. Гарвардская архитектура ЭВМ
7.6. Перспективы развития и использования компьютерных вирусов
7.6.1. Вирусы как «кибероружие»
7.6.2. Полезные применения вирусов
Заключение
Литература
Приложение
Листинги вирусов и антивирусных процедур
1. Листинги компьютерных вирусов
1.1. Листинг загрузочного вируса Stoned.AntiExe
1.2. Листинг вируса Eddie, заражающего программы MS-DOS
1.3. Листинг вируса Winl6.Wintmy.b, заражающего NE-программы
1.4. Листинг вируса Win32.Barum.1536, заражающего РЕ-программы
2. Исходные тексты антивирусных процедур
2.1. Процедуры рекурсивного сканирования каталогов
2.2. Процедуры детектирования и лечения вируса Boot.AntiExe
2.3. Процедуры детектирования и лечения вируса Eddie.651.a
2.4. Процедуры детектирования и лечения вируса Win.Wintiny.b
2.5. Процедуры детектирования и лечения вируса Win32.Barum.1536
2.6. Процедуры детектирования и лечения вирусов Macro.Word.Wazzu.gw и Macro.Word97.Wazzu.gw
2.7. Скрипт антивируса AVZ для детектирования и лечения почтового червя E-Worm.Avron.a
Предметный указатель
Артикул 00-00008222