На главную страницу
Исходный материал
 

 

Переведенная статья по теме магистерской работы

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

Автор перевода

Егорин А.П.
источник - Wikipedia, свободная энциклопедия
 

    Компьютерный вирус -  компьютерная программа, которая может копировать себя и заражать компьютер без разрешения пользователя. Тем не менее, термин "вирус" обычно ошибочно используется для обозначения различных видов вредоносных программ. Оригинальный вирус может изменять свои копии или копии могут изменять себя, как это происходит в метаморфных вирусах. Вирус может передаваться от одного компьютера к другому, например, пользователь передает его по сети или через Интернет к неинфицированному компьютеру, или осуществляет его перенос на съемной дискете, CD, или USB диске. Между тем вирусы могут распространиться и на другие компьютеры по зараженым файлам сетевой файловой системы и обычной файловой системе, к которой имеется доступ с другого компьютера. Вирусы иногда путают с компьютерными червями и троянскими программами. Червь может переносить себя на другой компьютер без нужды к пересылки себя как части хоста, а троянские программы – это файлы, которые кажутся безобидными. Черви и трояны будет наносить ущерб всякий раз, когда будут запускаться.

    Большинство персональных компьютеров в настоящее время подключены к сети Интернет и к локальной сети, что упрощает распространение вредоносного кода. Современные вирусы могут также воспользоваться услугами сети, такие, как World Wide Web, электронная почта, мгновенные сообщения и файловые системы обмена,  растворяя границу между вирусами и червями. Кроме того, некоторые источники используют альтернативные терминологии, в которых вирус  - некоторая форма самостоятельнно реплицирующегося вредоностного ПО.

    Некоторые вирусы программируются таким образом, чтобы повредить компьютер путем разрушения программ, удаление файлов или переформатирование жесткого диска. Другие же, не наносят какого-либо ущерба, они просто воспроизводят себя, и маскируют свое присутствие наличием текстовой, аудио- и видеоинформации. Даже в таком проявлении вирусы могут создать проблемы для компьютера пользователя. Они, как правило, занимают память компьютера, используемую нормальными программами. В результате, они часто приводят к неустойчивости в работе, что  приводит к аварии системы. Кроме того, многие вирусы имеют ошибки, и эти ошибки могут привести к краху системы и потери данных.

История

    Крипер вирус был впервые обнаружен на ARPANET, предшественницы Интернета в начале 1970. Он распространяется через операционную систему TENEX и мог использовать любой модем для подключения к удаленному компьютеру и заражать его. Он показывал сообщение " I'M THE CREEPER : CATCH ME IF YOU CAN ". Говорили, что программа Reaper, которая появилась вскоре, после того как были найдены и уничтожены все копии Creeper’а, возможно была написана создателем без всякого сожаления.

    А программа называемая "Rother J" обычно называется первым вирусом, который появился на свет – это случилось, когда программа смогла выбраться за пределы лаборатории или компьютера, на котором создавалась, но это не верное предположение. Посмотрим на Timeline более ранних компьютерных вирусов и червей. Вместе с тем первый вирус был для заражения компьютеров "на дому". Написанный в 1982 году Ричардом Скрентом, он передавал себя в операционную систему Apple DOS 3_3 и распространялся посредством дискеты. Этот вирус планировался изначально, как шутка, был создан студентом и помещен в игру. Диск мог использоваться только 49 раз. В игру можно было играть, но инициализация вируса была только на 50 запуске игры. Только теперь вместо того, чтобы играть, появлялось черное окно (пустой экран), который сообщал о вирусе под именем Elk Cloner. Сообщение появляющееся на экране, выглядит следующим образом:

«Elk Cloner: The program with a personality
It will get on all your disks
It will infiltrate your chips
Yes it's Cloner!
It will stick to you like glue
It will modify RAM too
Send in the Cloner!»

The computer would then be infected. (Компьютер будет инфицирован).

    Первый компьютерный вирус PC представляет собой вирус загрузочного сектора, называемый Brain, созданный в 1986 году братьями Фаруком и Альви, живщими в Лахоре, Пакистан. Братья, по их словам, создали вирус для сдерживания пиратской копии программы, которую они написали. Вместе с тем, аналитики утверждают, что вирус Ashar, вариант вируса Brain, возможно, основывался именно на его кодах. [Оригинальные исследования?]

    Перед расширением компьютерных сетей, большинство вирусов стали распространяются на сменных носителях, в частности, флоппи-дисках. [Цитата необходима] В первое время персональных компьютеров, многие пользователи регулярно обмениваются информацией и программами на дискетах. Некоторые вирусы распространяются путем заражения программ, хранящихся на этих дисках, в то время как другие установливали сами себя на дискеты в загрузочные сектора, и показывались лишь когда пользователь загружался с дискеты.

    Традиционные компьютерные вирусы появились в 1980-х, с распространением персональных компьютеров, увеличением использования BBS и модемов, а также программного обеспечения для обмена. Пиратские пробные программы - программное обеспечения в какой-то степени похожее на общее направление вирусов с BBS. На "пиратской сцене" от любителей незаконной торговли копиями программного обеспечения можно получить самую последнюю версияю программы и в тоже время стать легкой мишенью для вирусов.

    С середины 1990х, макро-вирусы стали общими. Большинство этих вирусов написаны на скриптовых языках для программ Microsoft, таких, как Word и Excel. Эти вирусы распространяются в Microsoft Office и заражают документы и электронные таблицы. Поскольку Word и Excel были написаны и д ля Mac OS, большинство из этих вирусов могут распространиться на компьютерах Макинтош, а. большинство из этих вирусов не имеели возможности отправить инфицированные письма по электронной почте. Поэтому эти вирусы пользовались Microsoft Outlook COM-интерфейсом. [Цитата необходима]

    Макро-вирусы создают особые проблемы для их обнаружения [цитата необходима]. Например, в некоторые версии Microsoft Word позволяют макросам добавлять в себя дополнительные пустые строки. Вирус ведет себя также, но по структуре он уже другой. Немного другой вариант, если два вируса одновременно заразят одни файл, то они станут уже одним уникальным вирусом по отношению к их родителям.

    Вирус может также направить себя в адресную веб-ссылку, добавляться к мгновенным сообщениям для всех контактов на зараженном компьютере. Если, получатель следовал по ссылке, которая обычно приходила от дружественного контакта, то вирус мог инфицировать новый компьютер и продолжать свое распространение.

    Самым новым видом вирусов есть скриптинг вирусы [цитата необходима]. Вирусы возникли в результате исследований, и в практике продемонстрированы в 2005 году. Этот вирус использует межсайтовый скриптинг уязвимости для пропаганды. С 2005 г. имели место многочисленные случаи из межсайтовый скриптинг вирусов в сети интернет, наиболее заметными объектами, которые пострадали были MySpace и Yahoo.

Способы инфицирования
Этот раздел не приводит каких-либо ссылок на источники. (Январь 2008 года)

    Для того чтобы воспроизвести себя,  у вируса должно быть разрешение на выполнения кода и разрешение писать в память. По этой причине многие вирусы присоединяют себя к исполняемым файлам, которые могут быть частью законных программ. Если пользователь пытается исполнить зараженную программу,  код вируса выполняется в первую очередь. Вирусы можно разделить на два типа, исходя из того, когда они получают управление. Не резидентые вирусы получают управление раньше законной программы, заражают цель и передают управление программе, которую заразили. Резидентые же не ищут цели для заражения. Напротив, резидентный вирус загружает себя в память для исполнения, и передает контроль зараженной программе. Вирус остается активным в фоновом режиме и заражает новую цель, когда происходит доступ в других программах или операционной системы  к файлам.

Нерезидентыне вирусы

    Нерезидентые вирусы состоят из поскового модуля и модуля репликации. Поисковый модуль отвечает за поиск новых файлов для заражения. После того, как посковый модуль находит цель для заражения, управление получает модуль репликации для заражения цели.

Резидентный вирус

    Резидентный вирус содержит модуль репликации подобный нерезидентым вирусам. Тем не менее, этот модуль не вызывает поисковый модуль. Вместо этого, вирус загружает модуль репликации в памяти, когда он выполняется, и гарантирует, что этот модуль выполняется каждый раз, когда операционная система будет выполнять определенные операции. Например, модуль репликации может исполняться каждый раз, когда операционная система запускает файл. В этом случае, вирус заражает все подходящие программы, которые выполняются на компьютере.

    Резидентые вирусы иногда делят на категории быстрых заражателей и категории медленных заражателей. Быстрые заражатели направлены на то, чтобы заразить как можно больше файлов, насколько это возможно. Например, быстрый вирус может заразить каждый потенциально пребывающий файл, к которому осуществляется доступ. Это создает особые проблемы антивирусному программному обеспечению, поскольку антивирус будет открывать каждый файл на компьютере, когда он выполняет общесистемное сканирование. Если антивирусный сканер, не заметит, что такой вирус присутствует в памяти, то вирус может запускаться на проверенные антивирусовм файлы и таким образом заразить все файлы, которые были отсканированы. Быстрые infectors рассчитывают на их быстрое инфекционное распространение. Недостаток этого метода состоит в том, что зараженные многие файлы могут обнаружиться более вероятно, потому, что вирус может замедлить компьютер или выполнить много подозрительных действий, которые могут быть замечены антивирусным программным обеспечением. Медленные infectors, с другой стороны, направлены на то, чтобы заражать файлы реже. Например, некоторые медленные infectors только заражают файлы, если они копируются. Медленные infectors направлены на то, чтобы избежать обнаружения, ограничивая свои действия: они менее вероятно, замедляют компьютер, как в своем большинстве редко инициировать вызов антивирусного программного обеспечения, которое отслеживает поведение подозрительных программ. Но эта технология распространения вирусов не очень удачна.

Векторы и хосты

    Вирусы могут заражать различные типы передаваемой информации. Этот список не является исчерпывающим:
Двоичные исполняемые файлы (например, файлы COM и EXE файлы в MS-DOS, Portable Executable файлы в Microsoft Windows, и ELF файлы в Linux)
Заражающие загрузочные сектора дискет и разделы жестких дисков.
Заражающие главную загрузочную запись (MBR) на жестком диске
Общего назначения файлы скриптов (таких, как командные файлы в MS-DOS и Microsoft Windows, VBScript файлов, и скрипт-файлов для Unix-платформ).
Заражающие конкретных скрипт-файлы (например, Telix-скрипты)
Документы, которые могут содержать макросы (например, документы Microsoft Word, электронные таблицы Microsoft Excel, AmiPro документы, а также базы данных Microsoft Access)
Межсайтовый скриптинг уязвимостей в веб-приложениях
Различного вида компьютерные файлы. Эксплоитное переполнение буфера, форматирования строки, условные или иные эксплуатационные ошибки программ, которые считывают файлы, и могут быть использованы для выполнения исполняемого кода, скрытого в нем.

    PDF-файлов, как HTML, может содержать ссылку на вредоносный код. [Цитата необходима]

    Следует отметить, что некоторые авторы дописывают EXE-расширение в конец PNG (как пример), в надежде на то, что пользователи будут останавливаться на доверенном типе файла не заметив, что исполнение будет начинаться с конца файла. (Многие операционные системы скрывают расширения известных типов файлов по умолчанию, так например, в конец файла ". png.exe" будет показано в конец ". png".) См. троянская программа.

Методы защиты от обнаружения

    Для того чтобы избежать обнаружения пользователем, некоторые вирусы используют различные виды обмана. Некоторые старые вирусы, особенно на MS-DOS платформы, убеждают в том, что "последнее изменение" даты хост-файла остается той же, когда файл заражает вирус. Такой подход вовсе не одурачит антивирусное программное обеспечение, однако, в особенности тот, который сохраняет и коды циклической избыточности файла.

    Некоторые вирусы могут заражать файлы без увеличения их размеров или повреждения файлов. Они дописываются в неиспользуемые области исполняемых файлов. Их называют пустотными вирусами. Так, например, вирус CIH, или Чернобыль-вирус, заражает файлы Portable Executable. В файлах было много пустых мест, и вирус, который составляет 1 Кб в длину, не добавлял к размеру файла свою длинну.

    Некоторые вирусы пытаются избежать обнаружения, останавливая задачи, связанные с антивирусным программным обеспечением, прежде чем они смогут обнаружить их.

    Поскольку компьютеры и операционные системы становяться более сложными, старые методы сокрытия нуждаются в обновлении или замене. Защита компьютера против вирусов может требовать миграцию файловой системы в направлении детализации и разделению доступа для каждого вида доступа к файлу.

Предотвращение попадания на файлы-наживки и другие нежелательные хосты

    Вирус должен заражать хосты в целях дальнейшего распространения. В некоторых случаях, возможно, было бы плохой идеей заразжать слишком много программ. Например, многие антивирусные программы, проводят проверку целостности собственного кода. Заражение таких программ будет повышать вероятность, что вирус будет обнаружен. По этой причине некоторые вирусы запрограммированы, не заражает программы, которые, как известно, являются частью антивирусного программного обеспечения. Еще одним видом доступным ресурсом для заражения, которых избегают вирусы, является наживочный файл. Наживочные файлы (или козлиные файлы), которые были специально созданы на антивирусном программном обеспечении, или антивирусными специалистами самими, чтобы в будущем  заразить эту наживку вирусом. Эти файлы могут быть созданы для различных целей, одна из которых связана с выявлением вируса:
Антивирусные специалисты могут использовать приманки файлов, принимая образцы вируса (например, копия программы, которые заражены вирусом). Такие файлы является более практичным для хранения и обмена, так как маленькие, а не обмен большими программ, которые были заражены вирусом.
Антивирусные специалисты могут использовать приманки-файлы для изучения поведения вируса и оценивать методы обнаружения. Это особенно полезно, когда вирус полиморфный. В таком случае, вирус, может заразить большое количество наживных файлов. Зараженные файлы могут быть использованы для проверки того, является ли вирусный сканер способным обнаруживать все версии вируса.
Некоторые антивирусные программы работают приманками-файлами, к которым имеют доступ регулярно. Если эти файлы были изменены, то антивирусное программное обеспечение предупреждает пользователя о том, что вирус, возможно, влияет на систему.

    Наживки-файлы используются для обнаружения вируса или сделать возможным обнаружение, но вирус может получить выгоду, не заразив их. Например, вирусы может решить на произвольной основе заражать файл или нет, или вирус может может заражать только файлы по определенным дням недели.

    В связи с этим, стратегия сделать наживление вызывает трудность. Иногда, редкие infectors не заражают многие файлы, которые будут походить на кандидата для инфекции. Например, вирус может решить, на выборочной основе, будет ли он заражать файл или нет, или вирус может заражать файлы, принимающие хостом по конкретным дням недели.

Стелс

    Некоторые вирусы пытаются обмануть антивирусное программное обеспечение, на перехватывая вызовы операционной системы. А вирус может спрятать свой перехват в антивирусное программное обеспечение, прочитать файл и прохождения запроса к вирусу, а не OS. Вирус может возвращать неинфицированных версию файла на антивирусное программное обеспечение, так, что кажется, что файл "чист". Современные антивирусное программное обеспечение использует различные методы для борьбы с тайными механизмами вирусов. Единственный вполне надежный способ избежать стелс заключается в том, чтобы загрузиться способом, который заведомо не заражен.

Самомодификация

    Большинство современных антивирусных программ пытаются найти вирус-структуру внутри обычных программ, сканируя их на наличие так называемой вирус-подписи. А подпись является характеристикой байт-модели, что является частью какого-то вируса или семейства вирусов. Если антивирусы считает такую схему в файле, он уведомляет пользователя о том, что файл заражен. Пользователь может удалить или (в некоторых случаях) "очистить" или "вылечить" зараженный файл. Некоторые вирусы используют методы, которые делают обнаружение с помощью подписей трудным, а иногда и невозможным. Эти вирусы изменяют свой код при каждой инфекции. Это означает, что каждый инфицированный файл содержит каждый раз новый вариант своей копии.