Вирусы, черви и "троянские кони"
Различия между вирусами, червями и "троянскими конями" совсем незначительны. Эти вредоносные программы отличаются друг от друга по своей форме и способу воздействия. Ниже приведены определения этих программ, взятые из глоссария терминов Агентства национальной безопасности США.
- Вирус – программа, которая может "заражать" другие программы, зачастую скрываясь в них, посредством внедрения в их тело копии самой себя (возможно, эволюционировавшей). Вирусы часто используются для выполнения различных злоумышленных действий. Для распространения вирусу необходима базовая программа.
- Червь – независимая, самодостаточная программа или алгоритм, распространяющая себя среди компьютеров через сетевые соединения, как правило, выполняющая вредоносные действия, которые заключаются в использовании ресурсов компьютеров, засорении сетей и информационных систем вследствие самораспространения программы.
- "Троянский конь" – внешне полезная и безобидная программа, содержащая скрытый код, который может осуществлять несанкционированный сбор, использование, фальсифицирование и уничтожение данных. В отличие от вируса и червя "троянский конь" не распространяет сам себя, однако не менее вредоносен.
На практике некоторые атаки с использованием вредоносного кода реализуются посредством комбинации каждого из трех типов в некий гибрид. По этой причине границы между типами вредоносного программного обеспечения размыты, а классические определения – некорректны. Тем не менее, с помощью определений можно составить некоторую классификацию. Большую опасность представляет то, что атаки с использованием вредоносных программ осуществляются множеством различных способов с разнообразными методами маскировки и всевозможными хитроумными уловками. Вы можете не заметить скрытой угрозы, но нужно находиться в постоянной готовности, чтобы противостоять ей.
При атаке с применением вредоносного кода обычно выполняется одно (в худшем случае, все) из перечисленных действий.
- Выполнение вредоносного кода.
Это код в любой из своих форм представляет исполняемые программные инструкции. Независимо от того, является ли он вирусом, червем или "троянским конем", после загрузки инструкций программы в память компьютера может быть перехвачено управление системными ресурсами, вплоть до выполнения любых действий, соответствующих уровню безопасности текущего пользователя в операционной системе. Во вредоносном коде содержатся любые инструкции, начиная от отображения сообщений на экране и заканчивая удалением всех файлов с жесткого диска компьютера. - Сокрытие следов действия. Чтобы не быть обнаруженной, вредоносная программа скрывает следы своего присутствия в системе. Например, вирус, заразивший загрузочный сектор диска, будет загружаться при запуске операционной системы, что поможет ему "затеряться" в перечне запускаемых файлов.
- Самораспространение. После загрузки в память вредоносный код использует различные методы заражения или проникновения в другие файлы, программы и компьютеры, с которыми он вступает во взаимодействие. Если вредоносный код изначально доставлен и внедрен через сообщение электронной почты, он попытается использовать электронную почту своего несущего компьютера для распространения на другие компьютеры. Если вредоносным кодом является макровирус, он загружается при открытии несущего документа и заражает другие документы, создаваемые в данном приложении.
Особенности вирусов. Определение вируса является слишком упрощенным, но все же полезным. Существует множество вирусов, каждый из которых имеет свои индивидуальные особенности. Вирусы обычно попадают на компьютер при помощи пользователей, после чего распространяются на другие компьютеры, с которыми он взаимодействует. Например, вирусы загрузочных секторов заражают файлы на дисках и распространяются при обмене дискетами. Макровирусы инфицируют объекты и распространяются через обмен файлами широко используемого приложения. Почтовые вирусы распространяются через сообщения электронной почты, отправляемые почтовым клиентом.
Вирусы скрываются в веб-страницах и заражают веб- сайты через браузеры посетивших их пользователей. Существуют также гибриды вирусов.
Постоянно увеличивающаяся сложность и изощренность вирусов представляет собой серьезную проблему для профессионалов в области информационной безопасности. Сетевые экраны не способны серьезно противостоять вирусам, если политика безопасности позволяет обмениваться сообщениями электронной почты, а брандмауэр настроен на беспрепятственное прохождение соответствующих пакетов данных. Программное обеспечение, предназначенное для обнаружения вирусов, приносит ощутимую пользу, но это относится только к известным вирусам, в то время как без помех распространяются новые вирусы, не распознаваемые программой защиты.
Все вирусы похожи друг на друга тем, что они являются программами, содержащими инструкции для выполнения, и написаны на языках программирования, включая C, Java, Visual Basic и языки макросов Microsoft Office. Вирусы вставляют самих себя в несущие файлы, что способствует их скорейшей загрузке в память компьютера. Они маскируются в загрузочном секторе диска или имеют вид файла операционной системы, добавляют себя в виде строк кода к телу программы, представляют макрос в файле данных или приложении к сообщению электронной почты, скрываются в сценарии JavaScript, Java-апплете, VB Script или элементе Active X на веб-странице. В любом случае после загрузки в память и выполнения файла с вредоносным кодом загружается и выполняется программа-вирус.
Некоторые вирусы, называемые полиморфными, мутируют и изменяются, преобразуясь в другие разновидности вирусов во избежание обнаружения и пресечения своих действий. Мутирующие вирусы осложняют работу программных систем защиты, осуществляющих обнаружение вирусов, которые работают по принципу нахождения характерных признаков вирусов, являющихся их ключевыми программными инструкциями. После изменения этих признаков в процессе мутации вирус нельзя будет обнаружить до тех пор, пока не обновится антивирусное программное обеспечение.