Механизмы распространения сетевых червей
Все механизмы распространения червей делятся на две группы:
1. Использование уязвимостей и ошибок администрирования в программном обеспечении, установленном на компьютере.
Например, вредоносная программа Conficker для своего распространения использовала уязвимость в операционной системе Windows; червь Морриса подбирал пароль по словарю. Такие черви способны распространяться автономно, выбирая и атакуя компьютеры в полностью автоматическом режиме.
2. Использование социальной инженерии, т.е. провоцируется запуск вредоносной программы самим пользователем.
Чтобы убедить пользователя в том, что файл безопасен, могут подключаться недостатки пользовательского интерфейса программы – например, червь VBS.LoveLetter использовал тот факт, что Outlook Express скрывает расширения файлов. Данный метод широко применяется в спам-рассылках, социальных сетях и т. д.
Структура сетевого червя
Черви могут состоять из различных частей.
Часто выделяют так называемые резидентные черви, которые могут инфицировать работающую программу и находиться в ОЗУ, при этом не затрагивая жёсткие диски.
От таких червей можно избавиться перезапуском компьютера (и, соответственно, сбросом ОЗУ). Такие черви состоят в основном из «инфекционной» части: эксплойта (шелл-кода) и небольшой полезной нагрузки (самого тела червя), которая размещается целиком в ОЗУ. Специфика таких червей заключается в том, что они не загружаются через загрузчик, как все обычные исполняемые файлы, а значит, могут рассчитывать только на те динамические библиотеки, которые уже были загружены в память другими программами.
Также существуют черви, которые после успешного инфицирования памяти сохраняют код на жёстком диске и принимают меры для последующего запуска этого кода (например, путём прописывания соответствующих ключей в реестре Windows).
От таких червей можно избавиться только при помощи антивирусного программного обеспечения или подобных инструментов. Зачастую инфекционная часть таких червей (эксплойт, шелл-код) содержит небольшую полезную нагрузку, которая загружается в ОЗУ и может «догрузить» по сети непосредственно само тело червя в виде отдельного файла. Для этого некоторые черви могут содержать в инфекционной части простой TFTP-клиент. Загружаемое таким способом тело червя (обычно отдельный исполняемый файл) теперь отвечает за дальнейшее сканирование и распространение уже с инфицированной системы, а также может содержать более серьёзную, полноценную полезную нагрузку, целью которой может быть, например, нанесение какого-либо вреда (например, DoS-атаки).
Большинство почтовых червей распространяются как один файл. Им не нужна отдельная «инфекционная» часть, так как обычно пользователь-жертва при помощи почтового клиента или Интернет-браузера добровольно скачивает и запускает червя целиком.
Деструктивные возможности сетевых червей
Сетевые черви перегружают и временно выводят из строя сети только за счёт интенсивного распространения. Они портят файлы на компьютере-жертве, также из зараженных компьютеров возможна организация сетевых атак и рассылки спама.
Троянские программы
Троянская программа – вредоносная программа, распространяемая злоумышленниками, в отличие от вирусов и червей, которые распространяются самопроизвольно.
В данную категорию входят программы, осуществляющие различные несанкционированные пользователем действия: сбор информации и её передачу злоумышленнику, её разрушение или злонамеренную модификацию, нарушение работоспособности компьютера, использование ресурсов компьютера.
Название «троянские» восходит к эпизоду в Илиаде, рассказывающем о «Троянском коне» – дарёном деревянном коне, использованном для проникновения в Трою, что и стало причиной падения Трои. В Коне, подаренном в знак лже-перемирия, прятались воины Одиссея, ночью выбравшиеся из Коня и открывшие ворота основным силам антитроянской армии.
Большая часть троянских программ действует подобным образом – маскируется под безвредные или полезные программы, чтобы пользователь запустил их на своем компьютере.
«Троянские программы» – самый простой вид вредоносных программ, сложность которых зависит исключительно от сложности истинной задачи и средств маскировки. Самые примитивные «трояны» (например, стирающие содержимое диска при запуске) могут иметь исходный код в несколько строк.
Примеры троянских программ: Back Orifice, Pinch, TDL-4, Trojan.Winlock.