Компьютерные вирусы

Download Report

Transcript Компьютерные вирусы

А. Неверов
КОМПЬЮТЕРНЫЕ ВИРУСЫ
Компьютерные вирусы
 Вредоносные программы
 Способные к самовоспроизведению
 Могут существовать только при наличии
объекта-носителя
 Могут использовать различные механизмы
распространения, активации и защиты
 Могут существовать практически в любой
информационной среде
 Обычно «чувствительны» к целевой среде, но
существуют и межплатформные вирусы
Немного из истории
Год
Событие
1959
Л.С. Пенроуз опубликовал статью в «Scientific American» о
самовоспроизводящихся механических устройствах, а Ф.Ж.
Шталь запрограммировал данную модель для IBM 650
1962
В.А. Высотский, Г.Д. Макилрой и Р.Морис (Bell Telephone
Laboratory) изобретают игру Darwin
1970
Боб Томас (?) создает первую самовоспроизводящуюся
программу для ARPAnet – Creeper
1972
Был опубликован алгоритм игры Darwin, причем впервые
программы подобного рода были названы вирусом
1974
Появление программы Rabbit для систем IBM, которая имела
вредоносный эффект – зависание систем при увеличении
количества задач
1975
Игра Animal для Univac 1108 - программа обладала
способностью к самокопированию и самомодификации
Немного из истории
Год
Событие
1980
Й. Краус (Дортмундский университет)
«Самовоспроизводящиеся программы»
1981-82
Elk Cloner (для Apple II) – первый BOOT-вирус
1982
AntiCongo (для DOS 3.3 на Apple II) – подавление графики в
игре Congo
1984
А.К. Дьюдни в «Scientific American» публикует описание
упрощенного варианта игры Darwin под названием «Core
War»
1984
Фред Коэн публикует результаты исследований
компьютерных вирусов для ОС UNIX на VAX-11/750
1985
Р. Дирштейн публикует в KES (ФРГ) комментированную
статью Коэна, а К. Бруннштейн разрабатывает первую
жизнеспособную модель компьютерного вируса
1985
Том Нэльф , «Грязная дюжина»
Вирусные атаки
Год
Событие
1987
Пакистанский вирус – 18 000 компьютеров в США
1987
Лехайский вирус – уничтожил несколько сотен дискет
Лехайского университета за 1 день. К 1989 г. – 4000
зараженных компьютеров
1987
Иерусалимский вирус – 3000 компьютеров за 1 день по
всему миру(!)
1988
Итальянский попрыгунчик – 6000 компьютеров за 1 день
(Фред Морис-младший, осужден в 1990 г. за создание и
распространение ВНП)
1988
Венский вирус
1989
DATACRIME – начиная с 12 октября форматируют первые
треки винчестеров. Только в Нидерландах было заражено
более 100 тыс. компьютеров. Особенно пострадали США и
Япония
1989
Midnight – опадание букв на экране
Вирусные атаки
Год
Событие
1987
Пакистанский вирус – 18 000 компьютеров в США
Способы классификации
компьютерных вирусов
 По целевой среде
 По объекту-носителю
 По способу заражения
 По принципу выбора жертвы
 По способу активации
 По способу защиты от удаления
Классификация вирусов по
целевой среде
 Компьютерные вирусы для различных
аппаратных платформ
 Вирусы для определенной аппаратной платформы
 Межплатформные вирусы
 Платформно-независимые вирусы (вирусы виртуальных
машин – Java-вирусы, .NET-вирусы)
 Компьютерные вирусы для различных
операционных систем
 Вирусы для определенных ОС
 Переносимые вирусы
 За счет бинарной совместимости ОС
 За счет переносимости исходного кода, например, скриптвирусы
Классификация вирусов по
объектам-носителям
 Вирусы для исполняемых файлов
 COM-вирусы
 EXE-вирусы (различают MZ-, NE- и PE-вирусы)
 a.out/COFF/ELF-вирусы
 Вирусы для исполняемых объектов
 COM/ActiveX-вирусы
 Java-вирусы
 .NET-вирусы




Загрузочные вирусы (BOOT-вирусы)
Скрипт-вирусы
Макровирусы
Комбинированные (как правило BOOT+Exe, BOOT+Com,
BOOT+Exe+Com…)
Выбор объекта-носителя
компьютерным вирусом
Критерии выбора жертвы
Особенности
Выбор произвольной жертвы
Вирусы-вандалы
Вирусы, для которых не важен
результат заражения
Выбор жертвы по одному или
нескольким ключевым критериям
Традиционный способ выбора
объекта-носителя
Выбор только строго определенных
объектов
Характерен для PE-вирусов, которые
не могут заражать PE-exe-файлы
вообще
Выбирается объект (файл) с
известной вирусу структурой
Классификация вирусов по
способу заражения
 Классические (внедряемые) вирусы
 Вирус внедряется в объет-носитель, стараясь
максимально скрыть свое присутствие
 Вирусы-вандалы
 Вирус заражает объект-носитель, не стараясь
скрыть своего присутствия, при этом жертва может
быть уничтожена
 Вирусы-спутники
 Вирус существует в виде отдельного объекта
«рядом» с носителем. Заражения как такового при
этом не происходит
Классификация вирусов по
принципу выбора жертвы
 Вирусы-сканеры
 Определяют жертву в момент активации.
Могут одновременно заражать несколько
объектов
 Вирусы-мониторы
 Отслеживают активность потенциальных
объектов-носителей с целью определения
возможности заражения
Особенности размещения вирусов
в системе в момент выбора
 Нерезидентные (пассивные) вирусы
жертвы
 Располагаются в определенных объектах-
носителях (файлах). В ОП помещаются вместе с
носителем. При освобождении ОП носителем тоже
выгружаются из ОП
 Используют метод сканирования
 Активируются в момент загрузки носителя в ОП
 Резидентные (активные) вирусы
 Могут загружаться в ОП и находится в ней
независимо от объекта-носителя
 Используют мониторинг системы
 Могут иметь отложенный механизм заражения
Классификация вирусов по
способу активации
Способ активации
Особенности
Ручная активация
- Скрытая
- Социальная инженерия
Автоматическая
характерна для BOOT-вирусов и
файловых вирусов в ОС с
возможностью автозапуска
программ
Полуавтоматическая
характерна для вирусов-спутников
Логические бомбы
Вирус ожидает наступления
определенного события (Murphy
ожидает 1000-го вызова int 21h)
Временные бомбы
Вирус ожидает определенного
момента времени (Win95.Chi.Virus,
«Чернобыль» ожидает наступления
26 апреля)
Классификация вирусов по
принципу защиты от удаления





Незащищенные вирусы
Шифрование (в т.ч. упаковка)
Размазывание вируса
Обфускация
Олигоморфизм (легкая степень защиты от сигнатурного
поиска)
 Полиморфизм (средняя степень защиты от сигнатурного
поиска)
 Метаморфизм (высокая степень защиты от сигнатурного
поиска)
 Активная защита (нападение на антивирусные средства,
высокая степень защиты от различных методов обнаружения
вирусов, в т.ч. от метода ложного запуска)