Истории о вирусах

Истории о вирусах

СОМ-ВИРУСЫ
Структура и процесс загрузки СОМ-программы
Простейший СОМ-вирус
Тело вируса записывается в конец

Способы внедрения СОМ-вирусов
ЕХЕ-ВИРУСЫ
Структура и процесс загрузки ЕХЕ-программы
Классификация ЕХЕ-вирусов
Вирусы, замещающие программный код (Overwrite)
Вирусы-спутники (Companion)


Вирусы, внедряющиеся в программу (Parasitic)
Способы заражения ЕХЕ-файлов

Ниже приведен листинг программы, заражающей файлы таким способом.
Инфицирование методом создания СОМ-файла спутника
Приведенный ниже листинг показывает заражение файлов этим методом.
Инфицирование методом переименования ЕХЕ-файла

Стандартное заражение ЕХЕ-файлов
Внедрение способом сдвига
Внедрение способом переноса
Вирусы под Windows 3.11

Вирусы под Windows 95
Вызов Windows 95 API
Например:
Адреса и номера функций
Соглашения о вызовах
Заражение файлов формата PE-executable
Пример вируса под Windows 95

МАКРО-ВИРУСЫ
Инструментарий
Общие сведения

Пример;
Первый макрос (испанский):
Второй макрос (английский):
Процедура SaveAs
Специальные процедуры
Пример макро-вируса

МАСКИРОВКА ВИРУСОВ
Protected Mode - укрытие для вируса

Обход резидентных антивирусных мониторов
Определение адреса оригинального обработчика DOS
Метод трассировки
Метод предопределенньш адресов
DOS 7.0 (русская версия)
Device=himem. sys dos=high
DOS

DOS 6.20
DOS 5.0
DOS
DOS 3.30
DOS 3.20
Борьба с антивирусными мониторами
Конструирование неотслеживаемого обращения к DOS
Пример реализации

Flash BIOS Новое место для вирусов
AMI Flash вирус
Исходный текст вируса, заражающего Flash BIOS.
МЕТОДЫ БОРЬБЫ С ВИРУСАМИ

Стандартные программы защиты
Поиск вируса

Test.com
Test.exe
Как исследовать алгоритм работы вируса
Эвристические анализаторы кода

Блокировщик вируса
Листинг программы, блокирующей распространение вируса SVC-1740:
Пример антивируса
BBS И FTN-СЕТИ
Взлом BBS

Получение пароля BBS без взлома
Взлом FTN-сетей
Безопасность вашей BBS
ХАКЕРСКИЕ ШТУЧКИ, ИЛИ КАК ОНИ ЭТО ДЕЛАЮТ
Проверка на отсутствие АОН

Советы по регистрации
Что "помнит" компьютер
К вопросу о CMOS SETUP
Программы, авторизующиеся в Online
Клавиатурные шпионы
Защита от ПЭМИН
Пейджинговая безопасность
Электронная почта Получение E-mail
Отправление E-mail

Второй адрес
Тип 1.
Тип 2.

Истории о вирусах

Тип 3.
Идентификация пользователя по E-mail
Pinger
Поиск в WWW и Usenet
Поиск в E-mail Directories
Защита от SPAM
На FTP-сервер под чужим IP-адресом

Форматы заголовков ЕХЕ-файлов Формат заголовка обычного ЕХЕ-файла
Формат заголовка NE-executable ЕХЕ-файла
Таблица ресурсов.
Формат таблицы ресурсов
Таблица резидентных имен.
Таблица ссылок на модули.
Таблица импортируемых имен.

Таблица входов.
Таблица нерезидентных имен.
Сегменты кода и данных.
Формат заголовка PE-executable EXE-файла
DOS, функция OOh Завершить программу
DOS, функция 01h Считать со стандартного устройства ввода
DOS, функция 02h Записать в стандартное устройство вывода
Устройства
DOS, функция 04h Записать символ в стандартное вспомогательное устройство

DOS, функция 05h Вывести на принтер
DOS, функция 06h Консольный ввод-вывод
DOS, функция 07h Нефильтрующий консольный ввод без эха
DOS, функция 08h Консольный ввод без эха
DOS, функция 09h Запись строки на стандартный вывод
DOS, функция OAh Ввод строки в буфер
DOS, функция OBh Проверка статуса ввода
DOS, функция OCh Ввод с очисткой
DOS, функция ODh Сброс диска
DOS, функция OEh Установить текущий диск DOS

DOS, функция OFh Открыть файл через FCB
DOS, функция 10h Закрыть файл через FCB
DOS, функция 11h Найти первый совпадающий файл через FCB
DOS, функция 12h Найти следующий совпадающий файл через FCB
DOS, функция 13h Удалить файл через FCB
DOS, функция 14h Последовательное чтение из файла через FCB
DOS, функция 15h Последовательная запись в файл через FCB
DOS, функция 16h Создание файла через FCB
DOS, функция 17h Переименовать файл через FCB
DOS, функция 19h i Получить текущий диск DOS

DOS, функция 1Ah Установить адрес DTA
DOS, функция 1Bh Получить информацию FAT для текущего диска
DOS, функция 1Ch Получить информацию FAT для указанного диска
DOS, функция 21h ^ Считать произвольную запись файла
DOS, функция 22h Писать произвольную запись файла
DOS, функция 23п Получить размер файла через FCB
DOS, функция 24h Установить адрес произвольной записи в файле
DOS, функция 25h Установить вектор прерывания
DOS, функция 26h Создать новый PSP
DOS, функция 27h Читать произвольный блок файла

DOS, функция 28h Писать произвольный блок файла
DOS, функция 29h Разобрать имя файла
DOS, функция 2Ah Получить системную дату
DOS, функция 2Bh Установить системную дату
DOS, функция 2Ch Получить время DOS
DOS, функция 2Dh Установить время DOS
DOS, функция 2Eh Установить/сбросить переключатель верификации
DOS, функция 2Fh Получить адрес текущей DTA
DOS, функция ЗОИ Получить номер версии DOS
DOS, функция 31h Завершиться и остаться резидентным

DOS, функция 32h Получить информацию DOS о диске
DOS, функция 32h Получить информацию DOS о диске - 2
DOS, функция 33h Установить/опросить статус Ctrl-Break
DOS, функция 34h Получить адрес флага активности DOS
DOS, функция 35h Получить вектор прерывания
DOS, функция 36h Получить свободную память диска
DOS, функция 37h Установить/опросить символ-переключатель
DOS, функция 38h Получить/установить информацию о стране
DOS, функция 39h Создать новое оглавление
DOS, функция 3Ah Удалить оглавление

DOS, функция 3Bh Установить текущую директорию
DOS, функция 3Ch Создать файл через описатель
DOS, функция 3Dh Открыть описатель файла
DOS, функция 3Eh Закрыть описатель файла
DOS, функция 3Fh Читать файл через описатель
DOS, функция 40h Писать в файл через описатель
DOS, функция 41h Удалить файл
DOS, функция 42h Переместить указатель файла
DOS, функция 43h Установить/опросить атрибуты файла
DOS, функция 44h Управление устройством ввода/вывода

DOS, функция 45h Дублировать описатель файла
DOS, функция 46h Переназначить описатель
DOS, функция 47h Получить текущее оглавление DOS
DOS, функция 48h Выделить память
DOS, функция 49h Освободить блок памяти
DOS, функция 4Ah Изменить размер блока памяти
DOS, функция 4Bh Выполнить или загрузить программу
DOS, функция 4Ch Завершить программу
DOS, функция 4Dh Получить код выхода программы
DOS, функция 4Eh Найти первый совпадающий файл

DOS, функция 4Fh Найти следующий совпадающий файл
DOS, функция 52h Получить адрес векторной таблицы связи
DOS, функция 54h Получить переключатель верификации DOS
DOS, функция 56h Переименовать/переместить файл
DOS, функция 57h Установить/опросить дату/время файла
DOS, функция 59h Получить расширенную информацию об ошибке
DOS, функция 5Ah Создать уникальный временный файл
DOS, функция 5Bh Создать новый файл
DOS, функция 5Ch Блокировать/разблокировать доступ к файлу
DOS, функция 62h Получить адрес PSP

DOS, функция 65h Получить расширенную информацию страны
DOS, функция 66h Получить/установить глобальную кодовую страницу
DOS, функция 67h Установить число описателей файлов
DOS, функция 68h Завершить файл
Приложение В Функции программирования Flash в AMIBIOS
Flash AMIBIOS, подфункция ООН Получить номер версии интерфейса Flash BIOS
Flash AMIBIOS, подфункция Oih Получить требования к сохранению состояния чипа
Flash AMIBIOS, подфункция 02h Сохранить текущее состояние чипа в подготовленной области
Flash AMIBIOS, подфункция 03h Восстановить состояние чипа
Flash AMIBIOS, подфункция 04h Понизить напряжение программирования (V )

Flash AMIBIOS, подфункция 05h Повысить напряжение программирования (V )
Flash AMIBIOS, подфункция 06h Защитить Flash от записи
Flash AMIBIOS, подфункция 07h Разрешить запись во Flash
Flash AMIBIOS, подфункция 08h Выбрать Flash
Flash AMIBIOS, подфункция 09h Отменить выбранный Flash
Flash AMIBIOS, подфункция OAh Проверить доступ к адресам памяти
Flash AMIBIOS, подфункция OBh Сохранить состояние внутреннего кэш
Flash AMIBIOS, подфункция OCh Сохранить состояние внутреннего кэш
Flash AMIBIOS, подфункция FFh Сгенерировать CPU Reset (рестарт процессора).
DPMI, функция OOOOh Выделить один или несколько дескрипторов в таблице LDT

DPMI, функция 0001k Освободить дескриптор из таблицы LDT
DPMI, функция 0002Н Преобразовать сегмент в дескриптор
DPMI, функция 0003k Получить приращение до следующего селектора
DPMI, функция 0006h Получить базовый адрес сегмента по селектору
DPMI, функция 0007k Установить базовый адрес сегмента
DPMI, функция 0008k Установить предел сегмента
DPMI, функция 0009k Установить права доступа в дескрипторе
DPMI, функция OOOAh Создать алиасный дескриптор для сегмента кода
DPMI, функция OOOBh Получить дескриптор
DPMI, функция OOOCh Установить дескриптор

DPMI, функция OOODh Выделить дескриптор
DPMI, функция 0100k Выделить блок памяти DOS
DPMI, функция 0101k Освободить блок памяти DOS
DPMI, функция 0102h Изменить размер блока памяти DOS
DPMI, функция 0200Н Получить вектор прерывания реального режима
DPMI, функция 0201k Установить вектор прерывания реального режима
DPMI, функция 0202k Получить вектор обработчика исключения процессора
DPMI, функция 0203k Установить вектор обработчика исключения процессора
DPMI, функция 0204h Получить вектор прерывания защищенного режима
DPMI, функция 0205k Установить вектор прерывания защищенного режима

DPMI, функция 0300k Вызвать обработчик прерывания реального режима
Командой RET FAR
Командой IRET
DPMI, функция 0400h Получить версию DPMI
DPMI, функция 0500k Получить информацию о свободной памяти
DPMI, функция 0501k Выделить блок памяти
DPMI, функция 0502k Освободить блок памяти
DPMI, функция 0503k Изменить размер блока памяти
DPMI, функция 0900h Получить состояние и запретить виртуальные прерывания
DPMI, функция 0901k Получить состояние и разрешить виртуальные прерывания

DPMI, функция 0902k Получить состояние виртуальных прерываний
Приложение Д Коды ошибок DOS

Содержание раздела