Первый вирус кем создан и когда запущен

Обновлено: 24.04.2024

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

Их боятся, от них стараются защититься, но это только заставляет вирусы совершенствоваться, меняя стратегию атаки и свойства.

Сейчас они серьезно конкурируют с новыми системами безопасности, но кто создал первый компьютерный вирус? Когда он появился и как эволюционировал? К чему может привести дальнейшее их развитие?

  • Компьютерный вирус — это вид вредоносной программы.

Он может внедриться в код другой программы, в системную область памяти, проникнуть в загрузочный сектор, а также отправлять собственные копии по разным каналам связи. Собственно, распространение, как и у биологического вируса, это и есть его главная цель.

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

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

Иногда вирус приводит к сбоям из-за того, что автор допустил ошибки в программировании или не учел тонкости того, как его детище будет взаимодействовать с конкретной операционной системой или другими программами.

С ЧЕГО НАЧАЛАСЬ ИСТОРИЯ ВИРУСОВ

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

Уже в 1951 году математик венгерского происхождения придумал и разработал метод для создания самовоспроизводящихся механизмов, а в 1960 году вышла монография ученого на эту тему.

Теория самовоспроизводящихся автоматов рассматривает возможность существования в механическом мире организма, который смог бы наносить вред машинам, создавать свои копии и заражать новые.

  • Биологический вирус послужил вдохновением для создания такой теории, а сама теория стала фундаментом для создания вирусов.

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

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

Статья была полезна для Ф.Ж. Шталя, который на машинном языке запрограммировал биокибернетическую модель, в которой существа двигались и питались ненулевыми словами.

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

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

САМЫЕ ПЕРВЫЕ

Компьютерные вирусы эволюционируют быстро.

Мог ли кто-нибудь представить, что описанные в 1949 году Джоном фон Нейманом вирусные программы станут опорой для киберпреступности?

Вряд ли будущую эволюцию можно было предугадать. В каком году появился первый компьютерный вирус?

Разберем этот вопрос подробнее.

• ПРОГРАММА CREEPER

Считается, что самым первым вирусом была программа Creeper . Она была создана в 1971 году Бобом Томасом, который работал в компании BBN .

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

• ВИРУС RABBIT

Появился в 1974 году, уже имел явную вредоносную цель.

  • Он мог самостоятельно воспроизводиться и, попадая в компьютер, записывал собственные копии.

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

• ВИРУС BRAIN

Иногда ошибочно считается, что самый первый компьютерный вирус — это Brain .

  • На самом деле он не первый, а, скорее, самый широко распространившийся вирус загрузочного сектора. Он появился в 1986 году и заражал пятидюймовые дискеты.

Написали его два брата из Пакистана — Амжат и Базит Фарук Алви. Но его создатели не преследовали никаких злых умыслов — они лишь хотели наказать воров.

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

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

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

Ровно через год вирус появился на 18 000 компьютерах в США, а затем и вовсе стал распространяться по всему миру. В 1987 году это привело к первой вирусной эпидемии.

• ПЕРВЫЙ ЧЕРВЬ

Первый компьютерный червь появился в 1988 году. Его создателем был Роберт Моррис Младший.

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

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

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

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

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

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

Роберт Моррис задумывал создать полностью скрытый и безопасный вирус, но из-за ряда ошибок, которые были допущены при разработке, он стал стремительно и неуправляемо размножаться.

Когда первый компьютерный червь был выявлен, его создателю пришлось несладко. Червь поразил более 6200 компьютеров, а на восстановление работы системы было потрачено восемь миллионов часов.

  • Общую стоимость затрат оценили почти в сто миллионов долларов — инцидент мог обойтись бы в разы дороже, если бы первый компьютерный вирус данного типа и его создатель несли вредоносные цели .

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

ПЕРВЫЙ ТРОЯН

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

Первая эпидемия трояна AIDS Information Diskette (дискета с информацией о СПИДе) произошла в 1989 году. Вирус маскировался под безобидные файлы и распространялся через настоящую почту.

Троян был написан Джозефом Поппом, который получил доступ к адресам подписчиков журнала PC Business World и участникам конференции ВОЗ по теме СПИДа. Он выслал 20 000 дискет, содержащих вирус.

  • Троян делал то же, что делали первые вирусы: внедрялся в систему после запуска. Только он создавал скрытые файлы, модифицируя системные. Через время файлы на жестком диске становились недоступны — кроме файла с вирусом, в котором автор предлагал пользователю выслать ему деньги.

Так пользователи и столкнулись с несколькими типами компьютерных зловредов:

КАК ПЕРЕДАЮТСЯ ВИРУСЫ В СОВРЕМЕННОМ МИРЕ

Когда компьютерный вирус только появился, его было не так просто передать.

  • Сейчас же хакеры через электронную почту рассылают письма, содержащие вредоносные файлы и ссылки.

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

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

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

БУДУЩЕЕ КОМПЬЮТЕРНЫХ ВИРУСОВ

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

  • Сейчас стремительно развивается киберпреступность, но это также заставляет создавать все более совершенные системы безопасности.

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

  • Предполагается, что киберпреступники будут чаще создавать вирусы для взломов PoS-терминалов.

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

Почему смерть Джона Макафи не поставила точку в бесконечных обсуждениях крутых поворотов его судьбы:


Какими бывают вирусы?

Worms или черви

Особую и наиболее распространённую сегодня группу представляют сетевые черви. Используя уязвимости сетевого ПО, такие программы автоматически перебираются из одного компьютера в другой, заражая всё большее количество ПК. Некоторые черви умеют перебирать пароли по составленным словарям и, взламывая почтовые ящики и аккаунты, распространяются дальше, самостоятельно выискивая новые жертвы. Цели создателей червей могут быть разными, но чаще всего их запускают ради рассылки спама или затруднения работы компьютерных сетей конкурентов вплоть до полной блокировки.

Trojans или троянцы

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

Rootkits или маскировщики

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

Zombies или зомби

Spyware или шпионы

Основная задача шпиона — выкрасть ценную информацию в той стране, куда его заслал хозяин. Аналогичным образом шпионские программы пытаются украсть логины и пароли к аккаунтам пользователя, а значительная их часть ориентирована на пересылку создателям вируса информации о банковских картах и счетах ничего не подозревающих пользователей.


Adware или рекламные вирусы

Такие вирусы больше вредят не компьютеру, а пользователю, поскольку неожиданно на экране начинает показываться реклама, причём периодичность показа может быть очень разной. Мы сталкивались с программами, включавшими рекламу ежедневно в одно и то же время, а заражённый Adware браузер постоянно менял стартовую страницу или периодически переходил на сайт злоумышленников.

Winlocks или блокировщики

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

Bootkits или загрузочные вирусы

В отличие от блокировщиков, явно сообщающих пользователю о своих целях, буткиты действуют незаметно, что куда более опасно для владельцев ПК. Прописываясь в загрузочные сектора дисков, буткиты тихо берут на себя управление ОС и получают доступ к личной информации хозяев компьютеров. Так злоумышленники завладевают аккаунтами пользователей, видят всю переписку, в том числе зашифрованную (ключи шифрования буткиты тоже воровать умеют) и даже могут похищать файлы.

Последние угрозы

Современные вирусы пишутся уже не только для ПК, но и для устройств под управлением Android, iOS и других мобильных ОС. Однако принцип их действия всё тот же, и в целом они укладываются в приведённую выше классификацию.

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

Также было организовано несколько кибератак на медицинские учреждения — одни злоумышленники пытались парализовать работу больниц, а другие (разработчики программы-вымогателя Maze) попытались заработать на шантаже, пообещав в случае невыполнения материальных требований слить данные о пациентах одного исследовательского центра в сеть. Денег вымогатели не получили, поэтому данные всех бывших пациентов были обнародованы.

Из других интересных новостей отметим 26 марта 2020 похищение одним из хакеров исходных кодов новых графических процессоров AMD. В сети появилось объявление от хакера о том, что он выложит эту информацию в открытый доступ, если не найдёт покупателя. Кроме этого, была обнаружена группа злоумышленников, разработавшая буткит Milum, который предоставляет своим владельцам полный доступ к заражённым хостам сайтов.

Легенды со знаком минус

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

Одним из самых долгоиграющих вирусов, который распространяется до сих пор, является буткит Backdoor.Win32.Sinowal. Этот загрузочный вирус прописывается в систему и берёт управление ей на себя, причём на уровне секторов диска. Этот вирус похищает даже ключи шифрования и отправляет разработчику личные данные, а также данные от аккаунтов пользователей. Подсчитать точный ущерб от него пока не представляется возможным, однако учитывая, что несколько лет антивирусные программы были не в состоянии даже обнаружить этого вредителя (Backdoor.Win32.Sinowal был разработан в 2009 году), то потери пользователей могут исчисляться многими миллионами и даже миллиардами долларов.

Король электронного спама Festi, запущенный в 2009 году, ежедневно рассылал около 2,5 миллиардов имейлов с 250 тысяч айпи, то есть генерировал 25% всего мирового спама. Чтобы затруднить распознавание, разработчики снабдили свою вредоносную программку шифрованием, так что сигнатурный поиск антивирусными программами становится бесполезным и выручить может только глубокое сканирование. Распространяется этот вирус через установку платного кода (PPI), когда вебмастер получает деньги за то, что кто-то скачал файл с его сайта.

Настоящим кошмаром для банкиров стал вирус Carbanak, который в 2014 году нанёс ущерб российским, американским, швейцарским, голландским, японским и украинским банкам на общую сумму 1 миллиард долларов. Carbanak действовал медленно, но уверенно, сначала собирая данные рядовых сотрудников банков, к которым попадал через вложения в электронных письмах, а затем внедряясь в верха и выводя крупные суммы. От проникновения в систему банка до успешного вывода могло пройти от 2 до 4 месяцев.

Как не заразить свой компьютер вирусами?

Переходим к рубрике Капитана очевидность :)

Прежде всего нужно позаботиться о наличии надёжного файервола, антивирусной и антишпионской программ (последние более эффективны при обнаружении и удалении вирусов категорий Spyware и Adware). Также существуют встроенные антивирусные решения для браузеров, ну а о том, что антивирусник должен работать с защитой в режиме реального времени, говорить, думаем, излишне.

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

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

Файлы из сторонних источников следует проверять на соответствие расширению — например, двойное расширение почти наверняка говорит о том, что перед нами программа-вирус, поэтому не забудьте включить в Windows отображение расширений. Также заведите привычку обязательно проверять все скачанные файлы антивирусной программой и не открывайть те файлы, в безопасности которых вы не уверены. Сканировать, кстати, нужно и подключаемые накопители USB.


Безвредные вирусы — такое тоже бывает

Были в истории компьютерных вирусов и примеры забавных безвредных программ, которые технически являлись вирусами, но никакого ущерба пользователям при этом не наносили. Так, ещё в 1997 году был разработан вирус HPS, который был ориентирован на временное изменение графические bmp-файлов, которые могли отображаться в перевёрнутом или отражённом виде, что, правда, могло доставлять неудобства пользователям старых версий Windows, ведь они были построены с использованием как раз bmp-графики. Впрочем, никакого реального ущерба HPS не наносил, поэтому его с полным основанием можно назвать безвредным шуточным вирусом.

Червяк Welchia претендует на звание самого полезного в истории: эта появившаяся в 2003 году программка после автоматической загрузки через сеть проверяла наличие заражения ПК опасным сетевым червём (программа была написана для устранения червя Blaster w32.blaster.worm, другое название — LoveSan), удаляла его и также в авторежиме пыталась установить обновления для Windows, закрывающие сетевые уязвимости. После успешного выполнения всех этих действий Welchia… самоудалялся. Правда, с Welchia тоже не всё было гладко — дело в том, что после установки обновлений Windows червь отдавал команду на принудительную перезагрузку ПК. А если в это время пользователь работал над важным проектом и не успел сохранить файл? Кроме того, устраняя одни уязвимости, Welchia добавлял другие — например, оставлял открытыми некоторые порты, которые вполне могли использоваться затем для сетевых атак.


Поговорим о компьютерных вирусах? Нет, не о том, что вчера поймал ваш антивирус. Не о том, что вы скачали под видом инсталлятора очередного Photoshop. Не о rootkit-e, который стоит на вашем сервере, маскируясь под системный процесс. Не о поисковых барах, downloader-ах и другой малвари. Не о коде, который делает плохие вещи от вашего имени и хочет ваши деньги. Нет, всё это коммерция, никакой романтики…

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

Мы будем говорить о вирусах, живущих в исполняемых файлах форматов PE и ELF, то есть о вирусах, тело которых представляет собой исполняемый код для платформы x86. Кроме того, пусть наш вирус не будет уничтожать исходный файл, полностью сохраняя его работоспособность и корректно инфицируя любой подходящий исполняемый файл. Да, ломать гораздо проще, но мы же договорились говорить о правильных вирусах, да? Чтобы материал был актуальным, я не буду тратить время на рассмотрение инфекторов старого формата COM, хотя именно на нем были обкатаны первые продвинутые техники работы с исполняемым кодом.

Начнём со свойств кода вируса. Чтобы код удобней было внедрять, разделять код и данные не хочется, поэтому обычно используется интеграция данных прямо в исполняемый код. Ну, например, так:


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

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

Исполняемый файл (PE или ELF) состоит из заголовка и набора секций. Секции – это выровненные (см. ниже) буферы с кодом или данными. При запуске файла секции копируются в память и под них выделяется память, причем совсем необязательно того объёма, который они занимали на диске. Заголовок содержит разметку секций, и сообщает загрузчику, как расположены секции в файле, когда он лежит на диске, и каким образом необходимо расположить их в памяти перед тем, как передать управление коду внутри файла. Для нас интересны три ключевых параметра для каждой секции, это psize, vsize, и flags. Psize (physical size) представляет собой размер секции на диске. Vsize (virtual size) – размер секции в памяти после загрузки файла. Flags – атрибуты секции (rwx). Psize и Vsize могут существенно различаться, например, если программист объявил в программе массив в миллион элементов, но собирается заполнять его в процессе исполнения, компилятор не увеличит psize (на диске содержимое массива хранить до запуска не нужно), а вот vsize увеличит на миллион чего-то там (в runtime для массива должно быть выделено достаточно памяти).

Флаги (атрибуты доступа) будут присвоены страницам памяти, в которые секция будет отображена. Например, секция с исполняемым кодом будет иметь атрибуты r_x (read, execute), а секция данных атрибуты rw_ (read,write). Процессор, попытавшись исполнить код на странице без флага исполнения, сгенерирует исключение, то же касается попытки записи на страницу без атрибута w, поэтому, размещая код вируса, вирмейкер должен учитывать атрибуты страниц памяти, в которых будет располагаться код вируса. Стандартные секции неинициализированных данных (например, область стека программы) до недавнего времени имели атрибуты rwx (read, write, execute), что позволяло копировать код прямо в стек и исполнять его там. Сейчас это считается немодным и небезопасным, и в последних операционных системах область стека предназначена только для данных. Разумеется, программа может и сама изменить атрибуты страницы памяти в runtime, но это усложняет реализацию.

Также, в заголовке лежит Entry Point — адрес первой инструкции, с которой начинается исполнение файла.

Необходимо упомянуть и о таком важном для вирмейкеров свойстве исполняемых файлов, как выравнивание. Для того чтобы файл оптимально читался с диска и отображался в память, секции в исполняемых файлах выровнены по границам, кратным степеням двойки, а свободное место, оставшееся от выравнивания (padding) заполнено чем-нибудь на усмотрение компилятора. Например, логично выравнивать секции по размеру страницы памяти – тогда ее удобно целиком копировать в память и назначать атрибуты. Даже вспоминать не буду про все эти выравнивания, везде, где лежит мало-мальски стандартный кусок данных или кода, его выравнивают (любой программист знает, что в километре ровно 1024 метра). Ну а описание стандартов Portable Executable (PE) и Executable Linux Format (ELF) для работающего с методами защиты исполняемого кода – это настольные книжки.

  • поставить указатель точно на начало какой-нибудь инструкции (просто так взять рандомное место в исполняемой секции и начать дизассемблирование с него нельзя, один и тот же байт может быть и опкодом инструкции, и данными)
  • определить длину инструкции (для архитектуры x86 инструкции имеют разные длины)
  • переместить указатель вперед на эту длину. Мы окажемся на начале следующей инструкции.
  • повторять, пока не решим остановиться
  1. Выбираем вкусный исполняемый файл (достаточно толстый, чтобы в него поместилось тело вируса, с нужным распределением секций и т.п.).
  2. Читаем свой код (код тела вируса).
  3. Берем несколько первых инструкций из файла-жертвы.
  4. Дописываем их к коду вируса (сохраняем информацию, необходимую для восстановления работоспособности).
  5. Дописываем к коду вируса переход на инструкцию, продолжающую исполнение кода-жертвы. Таким образом, после исполнения собственного кода вирус корректно исполнит пролог кода-жертвы.
  6. Создаем новую секцию, записываем туда код вируса и правим заголовок.
  7. На место этих первых инструкций кладем переход на код вируса.

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

Итак (рассматриваем классические вирусы), на входе имеем исполняемый файл и один из сотни тысяч потенциальных вирусов в нем. Давайте детектировать. Пусть это кусок исполняемого кода вируса:

  • сокрытие кода самого вируса;
  • сокрытие его точки входа.

Сокрытие точки входа (Entry Point Obscuring) в результате послужило толчком для появления в вирусных движках автоматических дизассемблеров для определения, как минимум, инструкций перехода. Вирус старается скрыть место, с которого происходит переход на его код, используя из файла то, что в итоге приводит к переходу: JMP, CALL, RET всякие, таблицы адресов и т.п. Таким образом, вирус затрудняет указание смещения сигнатуры.

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

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

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

1. Что такое вирус? Вирус состоит из генетического материала в виде ДНК или РНК и защищающей их белковой оболочки. Вирус не размножается делением, он тиражирует себя, используя для этого клетки того организма, в который он попал. Вирус встраивает свое ДНК в ДНК клетки-хозяина. При этом клетка может получить новые качества или погибнуть. Вирус – это паразит, который может размножаться только внутри других живых клеток. При одном условии – вирус и живая клетка подходят друг другу. Вирусов много и разных – одни для размножения используют человека, другие различных животных , растений, животных, грибов и бактерий. Есть даже вирусы, размножающиеся только … в вирусах.

Важно! Вирусы не лечатся. Вирус не может быть уничтожен таблеткой, антибиотиком. Все противовирусное лечение, по сути, это повышение иммунитета, и борьба с последствиями и неприятными симптомами вирусного заражения. Поэтому и шутят – будешь лечиться от гриппа, поправишься через неделю, не будешь – через семь дней.

2. Что такое коронавирус? Это семейство вирусов. Таких вирусов много, несколько. Они известны уже давно. Есть различные вирусы гриппа, есть вирусы гепатита, а есть коронавирусы. При этом некоторые из них поражают человека, а некоторые животных.

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

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

При этом опираться мы будем на первоисточники, проверяя и перепроверяя.

Вот на ленту информационного агентства РЕГНУМ ложится информация:

Оказывается, работа по созданию коронавируса, который от летучих мышей сможет передаваться человеку, действительно велась американскими учеными! И об этом открыто писалось 4, 5 года назад.

То есть в 2015 году действительно было подобное исследование, и после публикации его итогов и началась дискуссия и поднялась волна критики, смысл которой в 2020 году куда понятнее. Риск распространения нового коронавируса крайне велик!

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

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

Думаю, что миллионам людей очень хочется получить ответ на два главных вопроса:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: