Кода вируса в памяти
В коллекции вредоносных Android-приложений некоторых антивирусных лабораторий содержится уже более 10 миллионов образцов. Эта цифра будоражит воображение, но примерно 9 миллионов 995 тысяч из них — переименованные копии оригинальных вирусов. Но если проанализировать исходный код оставшихся нескольких тысяч образцов малвари, то можно заметить, что все они комбинируются из небольшого количества уникальных функциональных блоков (несколько видоизмененных и по-разному скомбинированных).
Все дело в том, что вирмэйкеры чаще всего преследуют весьма тривиальные задачи:
- отправить эсэмэску на платный номер;
- завладеть конфиденциальной информацией пользователя (телефонными номерами, текстами сообщений, данными с SD-карты и так далее);
- собрать данные о зараженном устройстве;
- завладеть администраторскими правами на устройстве (для установки приложений без разрешения владельца или для злонамеренного выведения аппарата из строя);
- отследить логины, пароли и данные платежных карт, которые пользователь вводит на сайтах систем интернет-банкинга. Как они это делают? Попробуем проникнуть в мрачный мир мобильного вирмэйкинга и посмотреть, что там происходит.
Отправка эсэмэски
Самым распространенным типом вирусов являются SMS-трояны. Эти вирусы просто отправляют сообщения на платные номера без согласия пользователя. Создать такую программу или переписать готовую под нужный номер совсем легко. Да и процесс получения выгоды предельно упрощен — в отличие, например, от отслеживания банковских данных.
Далее приведен простейший пример кода. Это элементарная функция отправки SMS. Ее можно усложнить проверкой статуса отправки, выбором номеров в зависимости от места положения абонента и последующим удалением SMS.
Где искать код вируса
В абсолютном большинстве случаев заражение телефона происходит через установку приложений. Любое приложение для Android существует в виде файла с расширением apk, который, по сути, является архивом. Просмотреть его содержимое можно с помощью Android SDK, конвертера файлов APK в JAR и декомпилятора Java-байт-кода. Сборка приложения (APK) состоит из следующих частей:
- resources.arsc — таблица ресурсов;
- res (папка) — собственно ресурсы (иконки и прочее);
- META-INF (папка) — содержит файлы со следующим содержимым: контрольные суммы ресурсов, сертификат приложения и описание сборки APK;
- AndroidManifest.xml — всякого рода служебная информация. В том числе разрешения (permission), которые приложение запрашивает перед установкой для своей корректной работы;
- classes.dex — ты наверняка слышал, что в Android операционных системах весь код выполняется с помощью Dalvik virtual machine (начиная с версии 4.4 появляется поддержка ART), которая не понимает обычный Java-байт-код. Поэтому и существуют файлы с расширением dex. В нем, наряду с нужными и полезными классами (которые отвечают за функционал приложения), содержатся также и вредоносные (вирусный код, который мы разбираем в этой статье).
Существует категория вирусов, которая охотится за персональными данными пользователей. Механизм их действия также несложен. Они либо загружают на сервер своего создателя файлы юзера, либо предварительно собирают какие-либо данные в txt (CSV, XML — не принципиально). Интерес для злоумышленников могут представлять контакты любого типа, сообщения из разных мессенджеров, медиафайлы и прочее.
SMS зараженных юзеров особенно ценны номерами телефонов отправителей и получателей — ими можно пополнить базу для спам-рассылок. Реже вирусы такого рода используются для заражения устройств конкретных личностей — в следующий раз, когда твоя девушка предложит тебе протестировать написанное ей (ай, карамба! — Прим. ред.) приложение на Android, не теряй бдительности :).
- DroidKungFu;
- DroidDream;
- подавляющее большинство малвари всех аналогичных.
В принципе, любому вирусмейкеру полезна информация о зараженных его программами устройствах. Получить ее очень просто. Создается массив с данными о свойствах телефона (их полный список можно посмотреть в руководстве Android-разработчика) и отправляется POST-запросом к PHP-скрипту (язык непринципиален) на сервере злоумышленника, тот обрабатывает данные и помещает их в базу данных для последующего использования.
Одна из самых неприятных вещей, которая может произойти с Android-устройством, — это его рутинг вирусом. Ведь после этого зловредная программа может делать с ним что угодно: устанавливать другие вирусы, менять настройки аппаратного обеспечения. Совершается это действо путем последовательного запуска эксплойтов:
Сайты о мобильной малвари
Блог экспертов компании Kasperskiy Lab Этот ресурс содержит качественные и подробные статьи о многих аспектах компьютерной безопасности, в том числе и об Android-вирусах. Стоит регулярно посещать этот сайт, чтобы быть в курсе последних событий.
Androguard Google Group Группа посвящена open source инструменту для всевозможных манипуляций с кодом Android-приложений (декомпиляция и модификация DEX/ODEX/APK файлов и так далее). Androguard также содержит обширную базу статей про вирусы. Помимо кратких обзоров функционала и методов защиты, встречаются подробные анализы кода малвари.
Защита от вирусов
Некоторые пользователи считают, что если скачивать приложения исключительно из Google Play и установить на смартфон антивирус, то это стопроцентно гарантирует безопасность. Не стоит обольщаться: в Сети регулярно появляются сообщения о нахождении малвари в официальном маркете. А количество вновь появившихся зловредных программ измеряется сотнями тысяч в месяц, что затрудняет их своевременное попадание в базы антивирусных программ. Реальную гарантию безопасности может дать ручной просмотр кода APK-файла перед установкой его на телефон. Не нужно быть гуру кодинга, чтобы заметить вредоносные фрагменты. А наша статья поможет тебе в этом.
Как мы видим из примеров, мобильный вирмейкинг технологической сложностью не отличается. Конечно, данные примеры упрощены под формат журнала — прежде всего, упущены обработчики ошибок и исключений, а также отдельные технические мелочи, отсутствие которых не помешает тебе понять принципы работы Android-малвари, но оградит от ненужных экспериментов. Ведь мы не поддерживаем создание вирусов, не так ли? 🙂
Привет, GT! Зоопарк всевозможных вирусов растет с каждым годом, благо фантазии их создателям не занимать. Конечно, с рядом самых распространенных зловредов успешно справляются антивирусы, притом даже бесплатные их версии или же встроенные в саму ОС. С популярными шифровальщиками тоже худо-бедно бороться научились (на сайтах известных антивирусных компаний есть раздел с услугами по расшифровке или генерации кода, если вам известен кошелек или email, на который авторы зловреда просят перевести средства).
Обычные вирусы оставляют следы на зараженной машине — какие-нибудь подозрительные исполняемые файлы, файлы библиотек или просто огрызки зловредного кода, которые в состоянии обнаружить антивирус или же правильный админ. Нахождение и выявление таких следов помогают идентифицировать вирус, а значит – удалить его и минимизировать последствия.
Но противостояние меча и щита — штука вечная, и компьютерные зловреды не ограничиваются только теми, что оставляют какие-то следы на накопителях. Ведь если вирус размещается и действует только внутри оперативной памяти, не соприкасаясь с жестким диском или SSD, значит, следов на них он тоже не оставит.
В 2014 году был ряд новостей о так называемых RAM malware, но тогда это относилось к довольно узкой группе поражаемых устройств — к платежным терминалам.
Данные транзакций считаются защищенными, так как хранятся в зашифрованном виде на серверах платежных систем. Но существует очень короткий период времени, в течение которого информация для авторизации платежа хранится в виде plain text. Причем хранится именно в оперативной памяти платежного терминала.
Само собой, хакерам этот кусок показался слишком лакомым, чтобы просто так пройти мимо него, и на свет появились зловреды, собирающие информацию из RAM POS-терминалов — номера карт, адреса, коды безопасности и имена пользователей.
А затем кто-то решил пойти дальше, вспомнив, что у компьютеров тоже есть оперативная память.
RAM-only
Найти такие вирусы трудно, потому что в привычном виде они на самом деле не оставляют следов. Нет каких-то установленных приложений. Нет отдельных файлов, раскиданных в разных папках, включая системные или скрытые.
Но где-то же они оставляют следы?
Само собой, если вирус не оставляет следов на накопителях, на них нет и особого смысла искать. И что тогда? Правильно — реестр, дампы памяти и сетевая активность. Надо же ему как-то прописать себя в память (причем так, чтобы сохранять работоспособность и после перезагрузки машины), а затем как-то передавать данные на сервер злоумышленника.
Специалисты “Лаборатории Касперского” тщательно проанализировали дампы памяти и записи реестра с машин, подвергшихся заражению, и с помощью Mimikatz и Meterpreter смогли реконструировать атаку.
Фрагмент кода, загруженного с помощью Meterpreter с сайта adobeupdates.sytes[.]net
Скрипт, сгенерированный фреймворком Metasploit.
Выделяет необходимое количество памяти, использует WinAPI и загружает утилиту Meterpreter прямо в оперативную память.
Стоит ли опасаться подобного
С одной стороны – безусловно да. Вирус, каким бы он ни был, направлен не на то, чтобы сделать вашу работу за компьютером более комфортной.
С другой стороны, не так сильно (пока не так сильно), как обычных вирусов и тех же шифровальщиков. Хотя бы потому, что на данный момент главная цель подобных атак — финансовые учреждения, а не обычные пользователи.
Но кто знает, как часто таких зловредов будут создавать и использовать уже в ближайшее время.
Напоминаем, что весна — отличный повод обновляться не только листочкам на деревьях, но и системным блокам у вас под столом. Специально для этого у Kingston действуют акции в магазинах-партнерах. Например, в сети DNS до 15 апреля можно со скидкой купить оперативную память Kingston SO-DIMM, подробности — здесь. В Юлмарте до 18 апреля проходит акция и действуют специальные цены на модули памяти Kingston и HyperX для компьютеров и ноутбуков по промокоду KINGMEM. А в магазинах Ситилинк до 7 апреля скидки распространяются сразу на несколько видов оперативки, и там также важно не забывать вводить промокод — DDR3HX. Так что есть смысл поспешить за новой памятью и выгодно обновиться.
Для получения дополнительной информации о продукции Kingston и HyperX обращайтесь на официальный сайт компании.
- Скопировать ссылку
- ВКонтакте
- Telegram
Похожие публикации
- 25 мая 2018 в 13:57
Комментарии 25
популярные средства администрирования — PowerShell, Mimikatz, Metasploit
Я наверное не очень представляю, как устроен терминал, но по моему plain text до основного процессора доходить никак не должен. На клавиатуре, считывателе стоят микроконтролеры с флешовой прошивкой, к которым центральный процессор никак доступа не имеет. Ему они отдают уже шифрованные данные. Сам делал очень давно для игрового автомата прошивку. Общение с юзером на тогда еще атМега было, связь с основным процессором — uart, по нему поток с aes128. Я е спец в безопасности, ногами не пинать пожалуйста, но пихать в ОЗУ центрального процессора нешифрованные данные это какое то безумие
Homomorphic encryption is a form of encryption that allows computation on ciphertexts, generating an encrypted result which, when decrypted, matches the result of the operations as if they had been performed on the plaintext. The purpose of homomorphic encryption is to allow computation on encrypted data.
"Причем хранится именно в оперативной памяти платежного терминала.… RAM POS-терминалов — номера карт, адреса, коды безопасности и имена пользователей."
Чем магнитный считыватель должен шифровать данные с прочитанных полос, если карта может быть от чужого банка, а узнать какой банк (система) сможет обработать данные можно только по номеру карты? Шифрование требуют только при хранении на постоянных носителях и при передаче через интернет.
POS malware was first discovered in October 2008. During a fraud investigation, it was found that attackers had been installing debugging software on POS systems that was capable of extracting full magnetic stripe data from its memory. .
Criminals are exploiting the fact that credit card magnetic stripe data temporarily resides in plain text in the RAM of PoS devices during processing
cybercriminals were attempting to install debugging tools on PoS devices in order to dump entire sets of magnetic stripe data. The Visa report revealed that such debugging tools could effectively parse unencrypted sensitive data not written to disk from volatile memory (i.e., RAM)
PoS RAM scrapers retrieve a list of running processes and load-inspects each process’s memory for card data. They run searches on the process memory space and can retrieve entire sets of Tracks 1 and 2 credit card data.
Data in memory: All of the credit card data is temporarily stored in plain text in the RAM of merchants’ PoS systems during processing. Cybercriminals use PoS RAM scrapers to steal this data.
Data at rest: Merchants’ PoS systems store transaction data for a short period of time (e.g., for batching) as well as a partial set of data for a long period of time for record purposes in log files or a database. The data stored is encrypted. There is no specific encryption algorithm requirement defined in PCI DSS. Instead, PCI DSS mandates the use of strong cryptography (i.e., minimum key length of 112 bits).
Data in transit: The data is internally transferred over LANs or WANs and externally over the Internet. Encryption is mandatory for data transferred over the Internet but not for information transferred over LANs or WANs.
The reality is, EMV credit cards cannot prevent PoS RAM scraper attacks… This chip makes it extremely difficult for cybercriminals to manufacture counterfeit credit cards using stolen data, which helps reduce counterfeiting and lost or stolen card fraud. If the EMV Tracks 1 and 2 data is sent to the PoS system for processing, it will become susceptible to PoS RAM scraper
attacks because the decrypted data resides in the RAM.
U.K. credit card fraud statistics show that even after EMV cards were introduced in the country, losses related to card-not-present fraud dramatically increased in number. [66] This shows that cybercriminals are using stolen credit card data for online purchases instead of manufacturing and using counterfeit cards.
Armed with an NFC-enabled smartphone and an app that can read contactless card data via NFC, hackers can brush against potential victims in crowded public spaces and wirelessly steal their credit card data in an act that has been dubbed “electronic pickpocketing.” The simple solution to prevent electronic pickpocketing is to put contactless cards in shielded sleeves .
In response, many retailers today use network-level encryption even within their internal networks. While that change protected the data as it travelled from one system to another, the credit card numbers are not encrypted in the systems themselves and can still be found in plain text within the memory of the POS system and other computer systems responsible for processing or passing on the data. This weakness has led to the emergence of “RAM-scraping” malware, which allows attackers to extract this data from memory while the data is being processed inside the terminal rather than when the data is travelling through the network.
Антивирусная программа предназначена для обнаружения и обезвреживания угроз безопасности. Интересно, что в процессе эволюции антивирусы совершенствовали методы обнаружения: от определения вредоносов по сигнатурам до эвристического анализа и выявления подозрительного поведения.
Антивирусы делятся на сканеры и резидентные модули. Сканеры находят файлы на дисках, читают их и делают вывод об инфицировании вирусом. Резидентные антивирусы постоянно работают в оперативной памяти и проверяют каждый новый файл и программу на заражение вирусом. При таком подходе расходуются ресурсы компьютера: процессор и оперативная память. Именно из-за этого некоторые пользователи не любят антивирусы, не хотят собственноручно замедлять работу компьютера. Но работать без антивируса сегодня небезопасно, так можно делать только в случае полной уверенности в своих действиях и посещаемых ресурсах в интернете.
Методы обнаружения вредоносного ПО
В самом простом случае используется определение по сигнатурам. Сигнатура – это кусок кода вируса, который не изменяется. Базы данных антивирусов содержат именно сигнатуры известных вирусов. Простое сравнение программного кода по базе сигнатур 100% позволяет определить есть вирус или нет. Но и вирусы не стоят на месте, они используют полиморфные алгоритмы, с помощью которых сигнатура меняется. Также создаются новые вирусы, которые невозможно определить по имеющимся базам.
Следующим методом стал эвристический анализ, который более интеллектуально подходит к обнаружению угроз. Эвристический анализатор выявляет паттерны, т.е. закономерности поведения вирусов и таким образом может определить угрозу ещё до того, как станет известна её сигнатура. Так, например, под особым контролем программы, которые создают резидентные модули в памяти, напрямую обращаются к файловой системе или к загрузочным секторам, перехватывают программные и аппаратные прерывания, изменяют исполняемые (.exe) файлы.
Какие угрозы обнаруживаются антивирусами
Стоит отметить, что на самом деле вирус и вредоносная программа, это немного разные определения. Вредоносное ПО – это любой программный код, цель которого нанести вред или ущерб компьютеру, операционной системе или лично человеку, похитив конфиденциальные данные (пароли, данные кредитных карт, деньги с электронных кошельков). Вирус же способен самореплицироваться, т.е. самостоятельно распространяться, заражая другие программы и компьютеры. Пользователю нужно запустить вирус или инфицированную программу, чтобы он начал вредить.
Червь, в отличии от вируса, существует самостоятельно, не заражая другие файлы. Для заражения червём не требуется запуск заражённой программы или посещение инфицированного сайта. Червь использует сетевые уязвимости и эксплоиты операционки Windows. Эксплоит (exploit) – это код, последовательность команд, которая использует обнаруженную хакером брешь в системе безопасности, например ошибку при переполнении буфера, которая позволяет выполнить любой код.
Поэтому червь пролазит в компьютер сам, и затем дальше ищет другие уязвимости в сетях, к которым подключён компьютер. Червь может выполнять любые злонамеренные действия: кража паролей, шифрование файлов, нарушение работы ОС, перезагружать компьютер и т.д.
- Получают доступ к ядру ОС
- Изменяют системные файлы
- Маскируются под системные процессы
- Загружаются до запуска операционной системы
- Работают в теневом режиме
Всё это осложняет обнаружение и удаление руткитов.
Spyware – шпионские программы, которые следят за активностью пользователя в сети, запоминают нажатия клавиш, находят данные карт, кошельков, документы и передают их хакеру.
Adware – рекламное ПО, показывает рекламу в всплывающих окнах. Adware (ad, реклама) может долго оставаться незамеченным, внедряя рекламные баннеры на посещаемые сайты или заменяя имеющуюся рекламу на свою. Переход по рекламным ссылкам может повлечь заражение трояном или руткитом.
Ransomware – это вымогатели, которые шифруют личные и рабочие документы на дисках. Вымогатель требует выкуп за получение ключа расшифровки. Как правило, выкуп просят в биткоинах, но никакого ключа расшифровки не существует. Лечения от вымогателя не существует, данные теряются навсегда.
Следуйте правилам безопасности, работая за компьютером и в интернете, используйте антивирусное ПО, например Total AV.
В этой статье рассказано о вирусах, заражающих ЕХЕ-файлы. Приведена классификация таких вирусов, подробно рассмотрены алгоритмы их работы, отличия между ними достоинства и недостатки.
Вирусы — это хорошая гимнастика для ума, хотя многие думают, что написать вирус на языке высокого уровня весьма трудно. Это не совсем так. Писать на языке Pascal довольно легко, правда величина полученного кода вызывает благоговейный трепет.
Для каждого типа вирусов представлены исходные тексты с подробными комментариями.Также приведены основные сведения о структуре и принципах работы ЕХЕ-программы.
Структура и процесс загрузки ЕХЕ-программы
В отличие от СОМ-программ, ЕХЕ-программы могут состоять из нескольких сегментов (кодов, данных, стека). Они могут занимать больше 64Кбайт.ЕХЕ-файл имеет заголовок, который используется при его загрузке.Заголовок состоит из форматированной части, содержащей сигнатуру и данные, необходимые для загрузки ЕХЕ-файла, и таблицы для настройки адресов (Relocation Table). Таблица состоит из значений в формате сегмент:смещение. К смещениям в загрузочном модуле, на которые указывают значения в таблице, после загрузки программы в память должен быть прибавлен сегментный адрес, с которого загружена программа.
При запуске ЕХЕ-программы системным загрузчиком (вызовом функции DOS 4Bh) выполняются следующие действия:
1. Определяется сегментный адрес свободного участка памяти,размер
которого достаточен для размещения программы.
2.Создается и заполняется блок памяти для переменных среды.
3.Создается блок памяти для PSP и программы (сегментЮОООЬ — PSP;
В поля PSP заносятся соответствующие значения.
4.Адрес DTA устанавливается равным PSP:0080h.
5.В рабочую область загрузчика считывается форматированная часть
заголовка ЕХЕ-файла.
6.Вычисляется длина загрузочного модуля по формуле:
7.Определяется смещение загрузочного модуля в файле, равное
8.Вычисляется сегментный адрес (START_SEG) для загрузки -обычно это PSP+lOh.
9.Считывается в память загрузочный модуль (начиная с адреса
10.Для каждого входа таблицы настройки:
a)читаются слова I_OFF и I_SEG;
c)читается слово по адресу RELO_SEG:I_OFF;
d)к прочитанному слову прибавляется START_SEG;
e)результат запоминается по тому же адресу (RELO_SEG:I_OFF).
11.Распределяется память для программы в соответствии с МахМет
12.Инициализируются регистры, выполняется программа:
b) АХ=результат проверки правильности идентификаторов драйверов, указанных в командной строке;
ЕХЕ-вирусы условно можно разделить на группы, используя в качестве признака для деления особенности алгоритма. Вирусы, замещающие программный код (Overwrite) Такие вирусы уже стали раритетом. Главный их недостаток — слишком грубая работа. Инфицированные программы не исполняются, так как вирус записывается поверх программного кода, не сохраняя его. При запуске вирус ищет очередную жертву (или жертвы), открывает найденный файл для редактирования и записывает свое тело в начало программы, не сохраняя оригинальный код. Инфицированные этими вирусами программы лечению не подлежат.
Эти вирусы получили свое название из-за алгоритма размножения:
к каждому инфицированному файлу создается файл-спутник. Рассмотрим более подробно два типа вирусов этой группы:
Вирусы первого типа размножается следующим образом. Для каждого инфицируемого ЕХЕ-файла в том же каталоге создается файл с вирусным кодом, имеющий такое же имя, что и ЕХЕ-файл, но с расширением СОМ. Вирус активируется, если при запуске программы в командной строке указано только имя исполняемого файла. Дело в том, что, если не указано расширение файла, DOS сначала ищет в текущем каталоге файл с заданным именем и расширением СОМ. Если СОМ-файл с таким именем не найден, ведется поиск одноименного ЕХЕ-файла. Если не найден и ЕХЕ-файл, DOS попробует обнаружить ВАТ (пакетный) файл. В случае отсутствия в текущем каталоге исполняемого файла с указанным именем поиск ведется во всех каталогах, доступных по переменной PATH. Другими словами, когда пользователь хочет запустить программу и набирает в командной строке только ее имя (в основном так все и делают), первым управление получает вирус,код которого находится в СОМ-файле. Он создает СОМ-файл еще к одному или нескольким ЕХЕ-файлам (распространяется), а затем исполняет ЕХЕ-файл с указанным в командной строке именем. Пользователь же думает, что работает только запущенная ЕХЕ-программа.
Вирус-спутник обезвредить довольно просто — достаточно удалить
СОМ-файл.
Вирусы второго типа действуют более тонко. Имя инфицируемого
ЕХЕ-файла остается прежним, а расширение заменяется каким-либо
другим, отличным от исполняемого (СОМ, ЕХЕ и ВАТ), Например,
файл может получить расширение DAT (файл данных) или OVL (про-
граммный оверлей). Затем на место ЕХЕ-файла копируется вирусный код. При запуске такой инфицированной программы управление получает вирусный код, находящийся в ЕХЕ-файле. Инфицировав еще один или несколько ЕХЕ-файлов таким же образом, вирус возвращает оригинальному файлу исполняемое расширение (но не EХЕ, а СОМ, поскольку ЕХЕ-файл с таким именем занят вирусом), после чего исполняет его. Когда работа инфицированной программы закончена, ее запускаемому файлу возвращается расширение неисполняемого. Лечение файлов, зараженных вирусом этого типа, может быть затруднено,если вирус-спутник шифрует часть или все тело инфицируемого файла,а перед исполнением его расшифровывает.
Вирусы, внедряющиеся в программу (Parasitic) Вирусы этого вида самые незаметные: их код записывается в инфицируемую программу, что существенно затрудняет лечение зараженных файлов. Рассмотрим методы внедрения ЕХЕ-вирусов в ЕХЕ-файл.
Способы заражения ЕХЕ-файлов
Самый распространенный способ заражения ЕХЕ-файлов такой: в конец файла дописывается тело вируса, а заголовок корректируется (с сохранением оригинального) так, чтобы при запуске инфицированного файла управление получал вирус. Похоже на заражение СОМ-файлов, но вместо задания в коде перехода в начало вируса корректируется собственно адрес точки запуска программы. После окончания работы вирус берет из сохраненного заголовка оригинальный адрес запуска программы, прибавляет к его сегментной компоненте значение регистра DS или ES (полученное при старте вируса) и передает управление на полученный адрес.
Следующий способ — внедрение вируса в начало файла со сдвигом кода
Вирусы, замещающие программный код ( Overwrite ) Как уже говорилось, этот вид вирусов уже давно мертв. Изредка появляются еще такие вирусы, созданные на языке Assembler, но это, скорее, соревнование в написании самого маленького overwrite-вируса. На данный момент самый маленький из известных overwrite-вирусов написан Reminder’ом (Death Virii Crew group) и занимает 22 байта.
Алгоритм работы overwrite-вируса следующий:
1. Открыть файл, из которого вирус получил управление.
2. Считать в буфер код вируса.
4. Искать по маске подходящий для заражения файл.
5. Если файлов больше не найдено, перейти к пункту 11.
6. Открыть найденный файл.
7. Проверить, не заражен ли найденный файл этим вирусом.
8. Если файл заражен, перейти к пункту 10.
9. Записать в начало файла код вируса.
10. Закрыть файл (по желанию можно заразить от одного до всех фай-
лов в каталоге или на диске).
12. Завершить программу.
Ниже приведен листинг программы, заражающей файлы таким способом.
Перезаписывающие вирусы
Вирусы данного типа записывают свое тело вместо кода программы, не изменяя названия исполняемого файла, вследствие чего исходная программа перестает запускаться. При запуске программы выполняется код вируса, а не сама программа.
Вирусы-компаньоны
Компаньон-вирусы, как и перезаписывающие вирусы, создают свою копию на месте заражаемой программы, но в отличие от перезаписываемых не уничтожают оригинальный файл, а переименовывают или перемещают его. При запуске программы вначале выполняется код вируса, а затем управление передается оригинальной программе.
Возможно существование и других типов вирусов-компаньонов, использующих иные оригинальные идеи или особенности других операционных систем. Например, PATH-компаньоны, которые размещают свои копии в основном каталоге Windows, используя тот факт, что этот каталог является первым в списке PATH, и файлы для запуска Windows в первую очередь будет искать именно в нём. Данными способом самозапуска пользуются также многие компьютерные черви и троянские программы.
Файловые черви
Файловые черви создают собственные копии с привлекательными для пользователя названиями (например Game.exe, install.exe и др.) в надежде на то, что пользователь их запустит.
Вирусы-звенья
Как и компаньон-вирусы, не изменяют код программы, а заставляют операционную систему выполнить собственный код, изменяя адрес местоположения на диске зараженной программы, на собственный адрес. После выполнения кода вируса управление обычно передается вызываемой пользователем программе.
Паразитические вирусы
Паразитические вирусы — это файловые вирусы изменяющие содержимое файла добавляя в него свой код. При этом зараженная программа сохраняет полную или частичную работоспособность. Код может внедряться в начало, середину или конец программы. Код вируса выполняется перед, после или вместе с программой, в зависимости от места внедрения вируса в программу.
Вирусы, поражающие исходный код программ
Вирусы данного типа поражают или исходный код программы, либо её компоненты (OBJ-, LIB-, DCU- файлы), а так же VCL и ActiveX компоненты. После компиляции программы оказываются в неё встроенными. В настоящее время широкого распространения не получили.
5. Каналы распространения вирусов.
Сейчас основной канал распространения вирусов — электронная почта. Так же распространена рассылка ссылок на якобы фото, музыку либо программы, в действительности являющиеся вирусами, по ICQ и другим IM, и по электронной почте. Возможно так же заражение через странички интернет. В этом случае используются уязвимости ПО установленного на компьютере пользователя, либо уязвимости в ПО владельца сайта (это опаснее всего, так как заражению подвергаются добропорядочные сайты с большим потоком посетителей). Хакеры и спамеры используют зараженные компьютеры пользователей для рассылки спама или DDoS-атак
6. История появления первых вирусов.
7. Описание шпионских программ Spyware.
Spyware, т.е. шпионское программное обеспечение - несанкционированно применяемое программное обеспечение для отслеживания (мониторинга) действий пользователя:
- несанкционированно применяемые мониторинговый программный продукт (англ. Tracking Software) ;
- несанкционированно применяемые программные продукты, предназначенные для контроля нажатий клавиш на клавиатуре компьютера.(англ. Keyloggers) ;
- несанкционированно применяемые программные продукты, предназначенные для контроля скриншотов экрана монитора компьютера.(англ. Screen Scraper)
Перечень Spyware (в узком смысле) освещен выше.
Перечень других потенциально нежелательных технологий (англ. Potentially Unwanted Technologies) включает в себя:
Антивирусная программа (антивирус) — изначально программа для обнаружения и лечения программ, заражённых компьютерным вирусом, а также для предотвращения заражения файла вирусом (например, с помощью вакцинации).
Многие современные антивирусы позволяют обнаруживать и удалять также троянские программы и прочие вредоносные программы.
9. Методы обнаружения вирусов.
Антивирусное программное обеспечение обычно использует два отличных друг от друга метода для выполнения своих задач:
- Сканирование файлов для поиска известных вирусов, соответствующих определению в антивирусных базах
- Обнаружение подозрительного поведения любой из программ, похожего на поведение заражённой программы.
10. Классификация антивирусных программ.
Касперский, Евгений Валентинович использовал следующую классификацию антивирусов в зависимости от их принципа действия (определяющего функциональность):
Ревизоры Запоминают состояние файловой системы, что делает в дальнейшем возможным анализ изменений. (Класс близкий к IDS).
Сторожа (мониторы) Отслеживают потенциально опасные операции, выдавая пользователю соответствующий запрос на разрешение/запрещение операции.
Вакцины Изменяют прививаемый файл таким образом, чтобы вирус, против которого делается прививка, уже считал файл заражённым. В современных (2007) условиях, когда количество возможных вирусов измеряется десятками тысяч, этот подход неприменим.
11. Полиморфизм компьютерных вирусов.
Полиморфизм (греч. πολυ- — много + греч. μορφή — форма, внешний вид) — техника, позволяющая затруднить обнаружение компьютерного вируса с помощью скан-строк и, возможно, эвристики. Вирус, использующий такую технику, называется полиморфным.
12. Механизм распространения и структура сетевых червей.
Сетевой червь — разновидность самовоспроизводящихся компьютерных программ, распространяющихся в локальных и глобальных компьютерных сетях. В отличие от компьютерных вирусов червь является самостоятельной программой.
Стелс-вирус (англ. stealth virus — вирус-невидимка) — вирус, полностью или частично скрывающий свое присутствие в системе, путем перехвата обращений к операционной системе, осуществляющих чтение, запись, чтение дополнительной информации о зараженных объектах (загрузочных секторах, элементах файловой системы, памяти итд)
14. Этимология и распространения троянских программ.
Троянская программа (также — троян, троянец, троянский конь, трой):
- Разновидность вредоносных программ, подбрасываемая для выполнения на компьютере-жертве, не имеющая средств для самораспространения.
- Программа, основная функция которой невидима пользователю. Функция, видимая пользователю, может выполняться или только имитироваться.
Иногда, использование троянов является лишь частью спланированной многоступенчатой атаки на определенные компьютеры, сети или ресурсы (в том числе, третьи).
Читайте также: