Вирусы, поражающие исходный код программ
Перезаписывающие вирусы
Вирусы данного типа записывают свое тело вместо кода программы, не изменяя названия исполняемого файла, вследствие чего исходная программа перестает запускаться. При запуске программы выполняется код вируса, а не сама программа.
Вирусы-компаньоны
Компаньон-вирусы, как и перезаписывающие вирусы, создают свою копию на месте заражаемой программы, но в отличие от перезаписываемых не уничтожают оригинальный файл, а переименовывают или перемещают его. При запуске программы вначале выполняется код вируса, а затем управление передается оригинальной программе.
Возможно существование и других типов вирусов-компаньонов, использующих иные оригинальные идеи или особенности других операционных систем. Например, PATH-компаньоны, которые размещают свои копии в основном каталоге Windows, используя тот факт, что этот каталог является первым в списке PATH, и файлы для запуска Windows в первую очередь будет искать именно в нём. Данными способом самозапуска пользуются также многие компьютерные черви и троянские программы.
Файловые черви
Файловые черви создают собственные копии с привлекательными для пользователя названиями (например Game.exe, install.exe и др.) в надежде на то, что пользователь их запустит.
Вирусы-звенья
Как и компаньон-вирусы, не изменяют код программы, а заставляют операционную систему выполнить собственный код, изменяя адрес местоположения на диске зараженной программы, на собственный адрес. После выполнения кода вируса управление обычно передается вызываемой пользователем программе.
Паразитические вирусы
Паразитические вирусы — это файловые вирусы изменяющие содержимое файла добавляя в него свой код. При этом зараженная программа сохраняет полную или частичную работоспособность. Код может внедряться в начало, середину или конец программы. Код вируса выполняется перед, после или вместе с программой, в зависимости от места внедрения вируса в программу.
Вирусы, поражающие исходный код программ
Вирусы данного типа поражают или исходный код программы, либо её компоненты (OBJ-, LIB-, DCU- файлы), а так же VCL и ActiveX компоненты. После компиляции программы оказываются в неё встроенными. В настоящее время широкого распространения не получили.
5. Каналы распространения вирусов.
Сейчас основной канал распространения вирусов — электронная почта. Так же распространена рассылка ссылок на якобы фото, музыку либо программы, в действительности являющиеся вирусами, по ICQ и другим IM, и по электронной почте. Возможно так же заражение через странички интернет. В этом случае используются уязвимости ПО установленного на компьютере пользователя, либо уязвимости в ПО владельца сайта (это опаснее всего, так как заражению подвергаются добропорядочные сайты с большим потоком посетителей). Хакеры и спамеры используют зараженные компьютеры пользователей для рассылки спама или DDoS-атак
6. История появления первых вирусов.
Основы теории самовоспроизводящихся механизмов заложил американец венгерского происхождения Джон фон Нейман (John von Neumann), который в 1951 предложил метод создания таких механизмов. Первой публикацией, посвященной созданию самовоспроизводящихся систем, является статья Л. С. Пенроуз (L. S. Penrose) (жена нобелевского лауреата по физике Р. Пенроуза) о самовоспроизводящихся механических структурах, опубликованная в 1957. американским журналом «Nature». В этой статье, наряду с примерами чисто механических конструкций, была приведена некая двумерная модель подобных структур, способных к активации, захвату и освобождению. По материалам этой статьи Ф. Ж. Шталь (F. G. Stahl) запрограммировал на машинном языке ЭВМ IBM 650 биокибернетическую модель, в которой существа двигались, питаясь ненулевыми словами. При поедании некоторого числа символов существо размножалось, причём, дочерние механизмы могли мутировать. Если кибернетическое существо двигалось определённое время без питания, оно погибало.
В 1961 В. А. Высотский (V. А. Vyssotsky), Х. Д. Макилрой (H. D. McIlroy) и Роберт Моррис (Robert Morris) — фирма Bell Telephone Laboratories, США — изобрели достаточно необычную игру «Дарвин», в которой несколько ассемблерных программ, названных «организмами», загружались в память компьютера. Организмы, созданные одним игроком (то есть принадлежащие к одному виду), должны были уничтожать представителей другого вида и захватывать жизненное пространство. Победителем считался тот игрок, чьи организмы захватывали всю память или набирали наибольшее количество очков.
7. Описание шпионских программ Spyware.
Spyware, т.е. шпионское программное обеспечение - несанкционированно применяемое программное обеспечение для отслеживания (мониторинга) действий пользователя:
- несанкционированно применяемые мониторинговый программный продукт (англ. Tracking Software) ;
- несанкционированно применяемые программные продукты, предназначенные для контроля нажатий клавиш на клавиатуре компьютера.(англ. Keyloggers) ;
- несанкционированно применяемые программные продукты, предназначенные для контроля скриншотов экрана монитора компьютера.(англ. Screen Scraper)
Перечень Spyware (в узком смысле) освещен выше.
Перечень других потенциально нежелательных технологий (англ. Potentially Unwanted Technologies) включает в себя:
- Программное обеспечение для показа рекламы (англ. 'Advertising Display Software (Adware)'. Причем именно тот вид рекламы, на показ которой пользователь не давал своего согласия и которая показывается пользователю принудительно;
- Автоматические загрузчики программного обеспечения (англ. Automatic Download Software) - например, так называемые Tricklers. Причем именно тот вид загрузчиков программного обеспечения, который используется без ведома пользователя, т.е. несанкционированно;
- Программы-«дозвонщики» (англ. Dialing Software, или Dialers). Причем именно тот вид дозвонщиков, на работу которого пользователь не давал своего согласия, т.е. применяемых несанкционированно;
- Технологии пассивного отслеживания (англ. Passive Tracking Technologies - например, несанкционированно применяемые куки, так называемые Tracking Cookies;
- Программное обеспечение предназначенное для несанкционированного удалённого контроля и управления компьютерами (англ. Remote Control Software) - например, Backdoors, Botnets, Droneware;
- Программы для несанкционированного анализа состояния систем безопасности (англ. Security Analysis Software) - например, Hacker Tools, Port and vulnerability scanners, Password crackers;
- Программы для несанкционированного внесения изменений в компьютерную систему (англ. System Modifying Software) - например, Hijackers, Rootkits;
«Потенциально нежелательными» данные технологии названы потому, что само по себе применение этих технологий вовсе не делает какой-либо программный продукт шпионским программным продуктом . Данные технологии могут применяться и во вполне законных целях и быть полезными.
8. Определение термина «Антивирусная программа».
Антивирусная программа (антивирус) — изначально программа для обнаружения и лечения программ, заражённых компьютерным вирусом, а также для предотвращения заражения файла вирусом (например, с помощью вакцинации).
Многие современные антивирусы позволяют обнаруживать и удалять также троянские программы и прочие вредоносные программы.
9. Методы обнаружения вирусов.
Антивирусное программное обеспечение обычно использует два отличных друг от друга метода для выполнения своих задач:
- Сканирование файлов для поиска известных вирусов, соответствующих определению в антивирусных базах
- Обнаружение подозрительного поведения любой из программ, похожего на поведение заражённой программы.
10. Классификация антивирусных программ.
Касперский, Евгений Валентинович использовал следующую классификацию антивирусов в зависимости от их принципа действия (определяющего функциональность):
Сканеры (устаревший вариант «полифаги») Определяют наличие вируса по БД, хранящей сигнатуры (или их контрольные суммы) вирусов. Их эффективность определяется актуальностью вирусной базы и наличием эвристического анализатора (см. Эвристическое сканирование).
Ревизоры Запоминают состояние файловой системы, что делает в дальнейшем возможным анализ изменений. (Класс близкий к IDS).
Сторожа (мониторы) Отслеживают потенциально опасные операции, выдавая пользователю соответствующий запрос на разрешение/запрещение операции.
Вакцины Изменяют прививаемый файл таким образом, чтобы вирус, против которого делается прививка, уже считал файл заражённым. В современных (2007) условиях, когда количество возможных вирусов измеряется десятками тысяч, этот подход неприменим.
11. Полиморфизм компьютерных вирусов.
Полиморфизм (греч. πολυ- — много + греч. μορφή — форма, внешний вид) — техника, позволяющая затруднить обнаружение компьютерного вируса с помощью скан-строк и, возможно, эвристики. Вирус, использующий такую технику, называется полиморфным.
Полиморфизм заключается в формировании кода вируса «на лету» — уже во время исполнения, при этом сама процедура, формирующая код также не должна быть постоянной и видоизменяется при каждом новом заражении. Большинство антивирусных программ пытаются обнаружить вредоносный код, соответствующий компьютерному вирусу, или часть кода такого вируса, посредством проверки файлов и данных, находящихся на компьютере или пересылаемых через компьютерную сеть или Интернет. Если изменить код вируса, отвечающий за поиск и заражение новых файлов или какую-либо другую важную его часть, то антивирус не сможет обнаружить такой «измененный» вирус. Часто код вируса «меняют», добавляя операторы NOP или другие операторы, не изменяющие алгоритм. Таким образом, обнаружение по-настоящему полиморфных вирусов с помощью скан-строк невозможно. После появления полиморфизма антивирусные продукты, в свою очередь, также освоили новые техники: эвристика и эмуляторы кода.
12. Механизм распространения и структура сетевых червей.
Сетевой червь — разновидность самовоспроизводящихся компьютерных программ, распространяющихся в локальных и глобальных компьютерных сетях. В отличие от компьютерных вирусов червь является самостоятельной программой.
Черви могут использовать различные механизмы («векторы») распространения. Некоторые черви требуют определенного действия пользователя для распространения (например, открытия инфицированного сообщения в клиенте электронной почты). Другие черви могут распространяться автономно, выбирая и атакуя компьютеры в полностью автоматическом режиме. Иногда встречаются черви с целым набором различных векторов распространения, стратегий выбора жертвы, и даже эксплойтов под различные операционные системы.
Часто выделяют так называемые ОЗУ–резидентные черви, которые могут инфицировать работающую программу и находиться в ОЗУ, при этом не затрагивая жёсткие диски. От таких червей можно избавиться перезапуском компьютера (и, соответственно, сбросом ОЗУ). Такие черви состоят в основном из «инфекционной» части: эксплойта (шелл–кода) и небольшой полезной нагрузки (самого тела червя), которая размещается целиком в ОЗУ. Специфика таких червей заключается в том, что они не загружаются через загрузчик как все обычные исполняемые файлы, а значит, могут рассчитывать только на те динамические библиотеки
13. Определение термина «Стелс-вирус».
Стелс-вирус (англ. stealth virus — вирус-невидимка) — вирус, полностью или частично скрывающий свое присутствие в системе, путем перехвата обращений к операционной системе, осуществляющих чтение, запись, чтение дополнительной информации о зараженных объектах (загрузочных секторах, элементах файловой системы, памяти итд)
14. Этимология и распространения троянских программ.
Троянская программа (также — троян, троянец, троянский конь, трой):
- Разновидность вредоносных программ, подбрасываемая для выполнения на компьютере-жертве, не имеющая средств для самораспространения.
- Программа, основная функция которой невидима пользователю. Функция, видимая пользователю, может выполняться или только имитироваться.
Название «троянская программа» происходит от названия «троянский конь» — деревянный конь, по легенде, подаренный древними греками жителям Трои, внутри которого прятались воины, в последствии открывшие завоевателям ворота города. Такое название, прежде всего, отражает скрытность и потенциальную коварность истинных замыслов разработчика программы.
Троянские программы помещаются злоумышленником на открытые ресурсы (файл-серверы, открытые для записи накопители самого компьютера), носители информации или присылаются с помощью служб обмена сообщениями (например электронной почтой) из расчета на их запуск на конкретном, входящем в определенный круг или произвольном «целевом» компьютере.
Иногда, использование троянов является лишь частью спланированной многоступенчатой атаки на определенные компьютеры, сети или ресурсы (в том числе, третьи).