Вредоносные вирусы для компании
С помощью вируса-вымогателя кибермошенникам удается зарабатывать до 2 млрд долларов в год. Помимо денежных потерь владельцы бизнеса несут ущерб из-за сбоя системы, снижения производительности и стресса. В целом получается слишком разорительно.
Представьте, что вы работаете на компьютере, отвечаете на письмо клиента и вдруг на мониторе появляется синий фон и на нем следующее сообщение:
«Компьютер заблокирован. Все ваши файлы зашифрованы. Дешифрование файлов будет стоить 0,076 биткойнов. Следуйте инструкции для оплаты:
1. Отправьте 0,076 биткойнов в биткойн-кошелек #XXX XX .
Каковы ваши дальнейшие действия? Вы будете паниковать, пытаться разблокировать компьютер? Пойдете на поводу мошенникам и постараетесь выкупить у них свои файлы?
Ransomware как совершенствующаяся опасность
Вирусы, вредоносные программы не являются для пользователей чем-то новым с тех пор, как в 2013 году хакеры обнаружили, что могут зашифровать ценные файлы и вымогать у жертв круглые суммы для дешифровки. Успешно эксплуатируя эту возможность, мошенники зарабатывают до 2 млрд долларов в год! Это деньги трудолюбивых владельцев бизнеса. Если прибавить к ним ущерб, который несут компании от сбоя системы, потери производительности и стресса, то получается слишком разорительно.
Ransomware распространяется мошенниками в различных вариантах. Некоторые ставят своей целью найти и зашифровать самые ценные файлы, другие — просто шифруют весь жесткий диск, что делает ситуацию гораздо более неприятной. И даже когда вы очищаете его полностью, файлы по-прежнему продолжают шифроваться. Если вы не готовы к атаке вируса-вымогателя, то это может парализовать всю работу компании. Вот почему управление ИТ-системами в компании очень важно .
Как распространяется вирус-вымогатель
Злоумышленники постоянно пробуют новые способы заражения компьютеров с помощью ransomware. В основе большинства атак лежит обман — вас принуждают к установке вредоносного ПО. Некоторые вирусы-вымогатели, используя уязвимости программ, даже не требуют одобрения установки, но такие атаки, как правило, краткосрочны, потому что ликвидируются после устранения уязвимостей.
Большинство вирусов-вымогателей распространяется по незнакомой электронной почте. Фишинговые письма максимально маскируются под официальную переписку, заставляя вас открыть вложение или перейти по ссылке. Как только вы это делаете, ваш компьютер заражается вирусом.
Вариацией фишинг-атак, набирающих популярность, является направленная фишинг-атака: вместо рассылки большого количества писем вымогатели отправляют сообщения, точно адаптированные под конкретного человека, часто используя информацию, полученную из открытых профилей в соцсетях. Злоумышленник может выступать в роли нового клиента или даже в роли подрядчика, с которым вы уже работаете.
Некоторые веб-сайты содержат вредоносный код, который использует уязвимости в вашем браузере и операционной системе или обманывает вас, заставляя согласиться на выкуп.
Ссылки на эти сайты могут быть встроены в фишинговые письма. Их также можно направлять с помощью текстовых ссылок, рекламных баннеров или всплывающих окон.
Иногда ransomware пользуется недостатками безопасности в операционных системах или приложениях, которые позволяют распространять и запускать файлы самостоятельно. Это может наносить разрушительное действие. Без необходимости в человеческом участии вирус мгновенно распространяется от компьютера к компьютеру через интернет.
Крупные технологические компании быстро ликвидируют эти дыры в безопасности, как только узнают о них. Это означает, что компании, которые отключают обновления и не пытаются усовершенствовать ИТ-систему, на сегодняшний день являются особенно уязвимыми для такого рода атак.
Как защититься от вируса-шифровальщика
Итак, мы уже поняли, что ransomware может нанести разрушительные действия и потому является дорогостоящим риском. Поэтому возникает закономерный вопрос: как сохранить систему в безопасности?
Подавляющее большинство атак вирусов-вымогателей направлено на то, чтобы обмануть кого-то, поэтому вы можете снизить риски, сделав информацию о ransomware частью тренинга по ИТ-безопасности.
Убедитесь, что любой сотрудник, который использует компьютер, должным образом предупрежден о подозрительных вложениях и ссылках в электронной почте. Удостоверьтесь, что люди, работающие в вашей компании, не забывают об опасности спама и незнакомых писем, особенно фишинговых писем, специально предназначенных для бизнеса или отдельных лиц.
По иронии судьбы владельцы высокотехнологичного бизнеса иногда становятся наиболее уязвимыми. Возможно, потому что они считают информацию о защите слишком очевидной. Не думайте, что то, что очевидно для вас, очевидно для всех в офисе — мошенники повышают уровень в своих атаках.
Вы можете просто выдать каждому сотруднику соответствующий документ и заставить поставить на нем подпись. Но это все равно что ничего. Гораздо эффективнее поговорить с работниками и убедиться, что они действительно осознают опасность и понимают, как ее предотвратить.
В 2017 году произошли одни из самых катастрофичных хакерских атак: вирусы WannaCry и NotPetya использовали одну и ту же уязвимость в операционной системе Windows. Эта уязвимость была исправлена Microsoft в марте — задолго до того, как эти атаки начались (в мае и июне). А значит, миллиарды долларов, которые потерял бизнес, можно было спасти благодаря простым действиям.
В ситуации домашнего офиса самый простой способ сохранить исправление вашей операционной системы — это просто оставить автоматическое обновление. Да, эти сообщения о перезагрузке компьютера сильно раздражают, но это не столь страшно по сравнению с потерей всей вашей работы.
Еще одна беда ПО, о которой многие не знают, — это заражение вирусом роутера. Если хакер управляет им, он может перенаправлять веб-браузер на вирусную страницу. Руководство по обновлению прошивки содержится в инструкции к роутеру.
Ничто не заставит вас платить деньги вымогателю, если у вас есть резервная копия со всей жизненно важной информацией. Понятно, что все равно вы не сможете перетащить на диск всю информацию и всегда останется то, что имеет реальную стоимость. Поэтому не стоит экономить на обучении персонала только потому, что у вас есть резервные копии. Но это позволит вам минимизировать проблемы.
Для фрилансеров, консультантов, людей, завязанных на домашнем офисе, для хранения файлов будет достаточно платного облачного хранилища. Таким образом, вы просто сохраняете все важные рабочие документы в папке, которая синхронизируется с облаком.
Когда в офисе более одного компьютера, есть ключевой фактор, определяющий, насколько тяжело вам причинить вред, — объем информации, которую можно зашифровать. Чем больше файлов и жестких дисков вирус-шифровальщик затронет, тем больше времени потребуется на восстановление данных из резервных копий и тем дольше бизнес будет простаивать.
Сотрудникам не нужна учетная запись с доступом ко всей информации. Им достаточно учетной записи, которая дает возможность выполнять свою работу.
Восстановление после атаки
Если у вас есть резервные копии и налажен процесс восстановления информации, вы быстро справитесь с проблемой.
Нужно ли платить выкуп? Нет. Почему?
Киберпреступники обращают внимание на то, откуда к ним идут деньги. Если вы выполните их требования, они снова попытаются вас взломать. Как клиент, готовый платить, вы становитесь для них выгодной целью. Тот факт, что вы платите за выкуп чужим людям, чтобы вернуть свои данные, как бы сигнализирует о том, что в целом безопасность ИТ-системы в вашей компании обеспечена не на 100%. Киберпреступники обмениваются этой информацией или продают ее друг другу .
- Это плохая карма
Перечисление денег преступникам делает хуже жизнь всех, кто пытается зарабатывать честным трудом. Потому что единственная причина, по которой мошенники не прекращают свою черную работу, — это потоки денег, поступающие от растерянных жертв. Не становитесь частью порочной системы.
- Есть большая вероятность, что это не сработает
Поймите, что для мошенников вы находитесь вне поля контроля. Вы рискуете потерять не только деньги, но и время, эффективность, которую могли бы инвестировать в работу .
После восстановления файлов перейдите к работе над ошибками, чтобы понять суть проблемы. Открывали ли сотрудники фишинговое электронное письмо? Не кликнули ли они на баннер с вирусом? Может быть, есть сложности с ПО или операционной системой? Как бы то ни было, вам нужно сделать все, чтобы случившееся не повторилось.
Если речь идет о человеческом факторе, убедитесь, что все в офисе проинформированы о том, как произошла атака. Есть высокая вероятность того, что персонал столкнется с подобными атаками в будущем. Убедитесь, что все знают, на что обращать внимание.
Плохая идея — искать и назначать виновных, даже если вас сильно раздражает то, что кто-то открыл фишинговое письмо. Это создает препятствие на пути к честному осознанию произошедшего. К тому же это усложняет коммуникации. Все, что действительно нужно в этой ситуации, — это информированность персонала и грамотные специалисты, готовые взять на себя контроль за ИТ-системой.
Весной на продажу выставили ноутбук Samsung NC10-14GB, выпущенный в 2008 году, с установленной на нем Windows XP SP3. Однако интерес вызывал не сам компьютер, а то, что у него внутри — шесть вирусов: ILOVEYOU, MyDoom, SoBig, WannaCry, DarkTequila и BlackEnergy, которые нанесли прямой и косвенный ущерб почти на $100 млрд.
Содержание
ILOVEYOU
ILOVEYOU начал свой путь с Филиппин, вирус рассылал свои копии по адресным книгам, поэтому единственный пользователь с обширной базой адресатов заражал огромное количество машин.
Предполагается, что авторы вируса, Онел Де Гузман и Реонэл Рамонес с Филиппин, которые якобы хотели проверить гипотезы дипломной работы, не ожидали случившейся бури. Позже молодых людей задержали (помог анализ кода оригинальной версии ILOVEYOU), но после расследования отпустили.
Вирус использовал уязвимость в операционной системе Windows и программе Outlook в частности, которая по умолчанию разрешала обработку скриптов. Причиной эпидемии называют то, что разработчики из MS в то время не считали скриптовые языки угрозой, поэтому эффективной защиты от нее не предусмотрели. Кроме того, авторы ILOVEYOU намеренно или по незнанию выпустили в мир не только инструмент для уничтожения — они предоставили конструктор, который можно изменять под свои нужды. Это привело к появлению десятков модификаций вредоноса.
Как следует из рассказов представителей компаний, которые занимались обеспечением информационной безопасности, вокруг творилась истерика, телефоны звонили безостановочно. Распространению вируса способствовала социальная инженерия: модифицированные его версии поступали от имени друзей, предлагающих встретиться, письма якобы содержали информацию о том, как получить подарок, предлагали почитать анекдоты и так далее. Знакомая классика.
Все было так плохо, что некоторые крупные военные ведомства (тот же Пентагон) и компании были вынуждены полностью остановить почтовые сервисы. Позже источники называли разные цифры, отражающие количество зараженных компьютеров, — от сотен тысяч до десятков миллионов.
Что делал ILOVEYOU? Червь, получив доступ к системе после своего запуска (куда уж без участия пользователя), всего-то изменял и уничтожал файлы. А бэкапов тогда практически никто не делал.
Sobig
Вирус Sobig впервые заметили в 2002 году. Считается, что он заразил миллионы компьютеров по всему миру, действуя вначале под другим названием. По некоторым данным, экономический ущерб от его действий превысил $35 млрд, однако, как и в остальных случаях, подсчеты носят приблизительный и отчасти гипотетический характер.
Ну а дальше дело за вложениями с двойными (например, .mpeg.pif) или обычными расширениями (просто .pif или .scr) — пользователь сам инфицировал систему.
Microsoft пыталась бороться с вирусом, выпустив патч, позволяющий блокировать некоторые типы файлов, но .zip среди них не было, чем и воспользовались хакеры. Потом софтверная корпорация предложила награду в четверть миллиона долларов за голову автора (не за голову, за имя, конечно), но его так и не нашли. По одной из гипотез, автором червя является программист Руслан Ибрагимов, но он с этим не согласен.
Mydoom
Mydoom, который появился в 2004 году, побил рекорды ILOVEYOU и Sobig по скорости распространения. А также рекорд Sobig по нанесенному экономическому ущербу — якобы более $38 млрд.
По данным Symantec, в ней было реализовано два триггера. Один был ответственным за организацию DoS-атак начиная с 1 февраля 2004 года, второй останавливал распространение вируса 12 февраля того же года, но бэкдоры оставались активными. Правда, это касалось одной из версий, последующие имели более поздние сроки запуска и отключения. Так что никаких совестливых хакеров.
Основной целью вируса, вероятно, была организация DoS-атак, а также рассылка нежелательной почты. Побочным эффектом стало повсеместное снижение скорости доступа в интернет, рост объемов спама, ограничение доступа к некоторым ресурсам и блокировка работы антивирусного ПО.
Рис. Amazon Kindle намеренно ограничивает возможность пользователя, блокируя функцию обмена или даже бесплатной передачи книги и имеет способность принудительного удаления книг.
*Мнение Ричарда Мэттью Столлмана, The Guardian
Ричард основал движение свободного ПО в далеком 1983 году. В те времена вредоносные программы были настолько редки, что каждый отдельный случай был шокирующим. В наши дни это норма.
Речь не идет только о вирусах. Вредоносная программа - это программный продукт, предназначенный для нанесения ущерба или иного вреда конечным пользователям. Вирусы, как правило, являются вредоносными программами, но программные продукты и ПО, предустановленное в программах также может быть вредоносным, причем в наши дни очень часто так и является.
В 1983 году на рынке ПО доминировали проприетарные (т.е. не бесплатные, с закрытым исходным кодом) программы. Пользователям запрещалось модифицировать и распространять ПО. Ричард разработал ОС с лицензией GNU, которая часто называется Linux, чтобы избежать данную несправедливость. Разработчики решений с закрытым исходным кодом в 80-х годах имели определенные этические стандарты: они желали, чтобы их программы обслуживали пользователей, не предусматривая пользовательский контроль над тем, как будет производиться данное обслуживание.
В наше время все изменилось. Сегодня разработчики без зазрения совести обманывают пользователей. В случаях обнаружения этого обмана, они указывают на мелкий шрифт в лицензионном соглашении для конечного пользователя (таким образом данное поведение становится легитимным, в рамках закона). Было зафиксировано множество случаев обнаружения вредоносных модулей с закрытым исходным кодом, поэтому мы должны рассматривать проприетарное ПО как подозрительное и потенциально опасное. По мнению Ричарда программы с закрытым исходным кодом в 21 веке создаются для “развода” ничего не подозревающих, доверчивых пользователей.
Какие виды нарушений можно найти во вредоносном ПО? Некоторые программы разработаны для слежки за пользователем. Другие намеренно ограничивают возможности пользователя, применяя технические средства защиты авторских прав (ТСЗАП, DRM). Определенные программы имеют методы дистанционного вмешательства, вводят цензуру или даже откровенно саботируют пользователя.
Какие виды программ нужно расценивать как вредоносные программы? В первую очередь, это операционные системы. Windows отслеживает действия пользователей, умышленно ограничивает действия. Пользователи мобильной версии имеют дело с центрируемыми приложениями. Кроме того, в Windows реализованы программные возможности дистанционного внедрения обновлений. Microsoft саботирует пользователей, показывая дыры в безопасности Агентству Национальной Безопасности перед их устранением.
Системы Apple также являются вредоносными: MacOS отслеживает активность и “сковывает” пользователей, цензурирует приложения и имеет специальные бэкдоры для дистанционных изменений. Даже Android содержит вредоносные модули в закрытых компонентах, например бэкдор для принудительной дистанционной установки или удаления любого приложения.
Итак, что можно сказать о решениях с закрытым исходным кодом? Они содержат огромное количество вредоносных модулей. Даже приложение “фонарик” для мобильных устройств отсылало пользовательские данные в компании. Недавнее исследование показало, что сканеры штрих-кодов и QR-кодов также следят за пользователем.
Приложения потоковых сервисов ведут себя еще хуже. Они разработаны с целью ограничения возможности сохранения копии получаемых данных пользователе, а также отслеживания пользовательских привычек, просмотра и прослушивания пользовательских данных.
Фонд свободного программного обеспечения (Free Software Foundation, FSF) сообщают о случаях обнаружения вредоносных модулей с закрытым исходным кодом.
Что можно сказать о других цифровых продуктах? Мы знаем о Смарт ТВ и куклах Барби, которые дистанционно передают разговоры. ПО с закрытым исходным кодом в автомобилях пытается предотвратить попытки владельца самостоятельно устранить неисправность. В США, если автомобиль не сообщает о ваших ежедневных перемещениях, страховая компания может взимать дополнительную плату. Между тем, некоторые GPS навигаторы сохраняют треки ваших маршрутов и передают эти данные при подключении к сети во время обновления карт.
Электронная книга Amazon Kindle сообщает о том, какая страница, какой именно книги открыта на устройстве, а также отправляет все пользовательские заметки и введенные символы. Кроме того, Kindle намеренно ограничивает возможность пользователя, блокируя функцию обмена или даже бесплатной передачи книги и имеет способность принудительного удаления книг.
Стоит ли доверять Интернет-сервисам с закрытым кодом?
Компании, которые продают вредоносные программы имеют достаточно опыта для предоставления услуг с многочисленными нарушениями и некорректной работой. При желании они могут распространять скрытые угрозы свободно и анонимно.
Нетрудно просто указать на недостатки сегодняшних тенденций разработки ПО, забывая про сопротивление сложившейся ситуации. Многие люди утверждают, что невозможно добиться большей свободы и неприкосновенности. Вопреки их мнению, мы можем сопротивляться:
- Индивидуально, отказываясь от ПО и сервисов с закрытым исходным кодом, которые отслеживают и контролируют;
- Коллективно, организуя разработку открытых систем и веб-сервисов;
- На уровне законодательства, инициируя ввод уголовной ответственности за различные виды вредоносной практики.
Поговорим о компьютерных вирусах? Нет, не о том, что вчера поймал ваш антивирус. Не о том, что вы скачали под видом инсталлятора очередного 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 инструкции имеют разные длины)
- переместить указатель вперед на эту длину. Мы окажемся на начале следующей инструкции.
- повторять, пока не решим остановиться
Это минимальный функционал, необходимый для того, чтобы не попасть в середину инструкции, а функция, которая принимает указатель на байтовую строку, а в ответ отдает длину инструкции, называется дизассемблером длин. Например, алгоритм заражения может быть таким:
- Выбираем вкусный исполняемый файл (достаточно толстый, чтобы в него поместилось тело вируса, с нужным распределением секций и т.п.).
- Читаем свой код (код тела вируса).
- Берем несколько первых инструкций из файла-жертвы.
- Дописываем их к коду вируса (сохраняем информацию, необходимую для восстановления работоспособности).
- Дописываем к коду вируса переход на инструкцию, продолжающую исполнение кода-жертвы. Таким образом, после исполнения собственного кода вирус корректно исполнит пролог кода-жертвы.
- Создаем новую секцию, записываем туда код вируса и правим заголовок.
- На место этих первых инструкций кладем переход на код вируса.
Это вариант вполне себе корректного вируса, который может внедриться в исполняемый файл, ничего не сломать, скрыто выполнить свой код и вернуть исполнение программе-хосту. Теперь, давайте его ловить.
Думаю, не надо описывать вам компоненты современного антивируса, все они крутятся вокруг одного функционала – антивирусного детектора. Монитор, проверяющий файлы на лету, сканирование дисков, проверка почтовых вложений, карантин и запоминание уже проверенных файлов – все это обвязка основного детектирующего ядра. Второй ключевой компонент антивируса – пополняемые базы признаков, без которых поддержание антивируса в актуальном состоянии невозможно. Третий, достаточно важный, но заслуживающий отдельного цикла статей компонент – мониторинг системы на предмет подозрительной деятельности.
Итак (рассматриваем классические вирусы), на входе имеем исполняемый файл и один из сотни тысяч потенциальных вирусов в нем. Давайте детектировать. Пусть это кусок исполняемого кода вируса:
Как мы увидели, для быстрого и точного сравнения детектору необходимы сами байты сигнатуры и ее смещение. Или, другим языком, содержимое кода и адрес его расположения в файле-хосте. Поэтому понятно, как развивались идеи сокрытия исполняемого кода вирусов – по двум направлениям:
- сокрытие кода самого вируса;
- сокрытие его точки входа.
Сокрытие кода вируса в результате вылилось в появление полиморфных движков. То есть движков, позволяющих вирусу изменять свой код в каждом новом поколении. В каждом новом зараженном файле тело вируса мутирует, стараясь затруднить обнаружение. Таким образом, затрудняется создание содержимого сигнатуры.
Сокрытие точки входа (Entry Point Obscuring) в результате послужило толчком для появления в вирусных движках автоматических дизассемблеров для определения, как минимум, инструкций перехода. Вирус старается скрыть место, с которого происходит переход на его код, используя из файла то, что в итоге приводит к переходу: JMP, CALL, RET всякие, таблицы адресов и т.п. Таким образом, вирус затрудняет указание смещения сигнатуры.
Гораздо более подробно некоторые алгоритмы таких движков и детектора мы посмотрим во второй статье, которую я планирую написать в ближайшее время.
Рассмотренный в статье детектор легко детектирует неполиморфные (мономорфными их назвать, что ли) вирусы. Ну а переход к полиморфным вирусам является отличным поводом, наконец, завершить эту статью, пообещав вернуться к более интересным методам сокрытия исполняемого кода во второй части.
Если вы не можете понять, зачем кто-то прилагает столько усилий, чтобы атаковать ваш компьютер или ваше мобильное устройство, давайте попробуем рассмотреть, что за люди пишут вредоносные программы и как они зарабатывают на создании вредоносных программ.
Печально, но рано или поздно злоумышленники находят, как воспользоваться практически любыми изобретениями или новыми технологиями, чтобы причинить вред устройству или извлечь выгоду. По мере роста использования компьютеров, мобильных устройств и интернета создание компьютерных вирусов, червей, троянских программ и другого вредоносного программного обеспечения становится все более выгодным для хулиганов, мошенников, шантажистов и других преступников. И чем больше появляется устройств, тем шире становятся возможности киберпреступников.
Компьютерное хулиганство
В обычной жизни приходится сталкиваться с хулиганами, которым, похоже, нравится портить вещи, и непонятно, какая им выгода от совершенных ими актов вандализма. К сожалению, такие же вандалы встречаются и в киберпространстве. Есть вирусописатели, которые создают программы лишь для того, чтобы повредить пользовательский компьютер или данные или нарушить работу сервисов компании.
На заре развития вредоносных программ основная масса компьютерных вирусов и троянских программ создавалась студентами и другими начинающими программистами, хотя среди них попадались авторы старше и опытнее. Сегодня существует четыре основных типа компьютерных хулиганов:
- Новые законы
Во многих странах изменения в законодательстве привели к аресту создателей компьютерных вирусов. Широко освещаемые в прессе, эти аресты, вероятно, удерживают многих молодых людей от разработки вредоносного кода. - Игры
Сетевые игры предлагают молодым людям другую возможность демонстрации своих навыков и умений. Сегодня молодежь, хорошо владеющая компьютером, чаще становится участниками игр, а не создателями вредоносных программ. - Сложность создания
В 1990-х годах было намного легче создавать компьютерные вирусы для операционной системы Microsoft DOS, по сравнению с усилиями, которые требуются в отношении современных более сложных операционных систем Windows.
Сокращение компьютерного хулиганства не может не радовать, однако появились другие типы вредоносных программ, которые намного опаснее для вашего компьютера, ваших файлов, ваших цифровых персональных данных и ваших денег.
Мелкое воровство в интернете и спобособы защиты
С появлением интернет-услуг, включая почту, веб-сервисы и хостинг, члены компьютерного андеграунда начали искать возможности получения выгоды из использования таких сервисов – при этом не оплачивая их. Эти мелкие преступники используют специально разработанные троянские программы, чтобы красть логины и пароли пользователей с зараженных компьютеров. Изначально многие такие троянские программы писались молодыми людьми, которым не хотелось оплачивать интернет-услуги. В 1997 году было отмечено распространение троянских программ, предназначенных для кражи паролей доступа к AOL. В 1998 году троянские программы этого типа стали охватывать другие интернет-услуги. В последние годы с удешевлением интернет-услуг этот тип активности начал снижаться.
Вирусописатели создают другие типы троянских программ, которые крадут с зараженных компьютеров данные учетных записей, ключи к различным программным продуктам и ресурсам с тем, чтобы потом воспользоваться ими.
В последние годы также постоянно растет число троянских программ, которые занимаются кражей персональной информации участников сетевых игр (игровая виртуальная собственность) с целью ее несанкционированного использования или перепродажи.
Киберпреступность
Наиболее опасную категорию вирусописателей составляют хакеры-одиночки или группы хакеров, которые создают вредоносные программы, чтобы использовать их в криминальных целях. Эти киберпреступники создают компьютерные вирусы и троянские программы, которые способны:
- красть коды доступа к банковским счетам;
- рекламировать продукты или услуги на компьютере жертвы;
- нелегально использовать ресурсы зараженного компьютера, чтобы разрабатывать и осуществлять сетевые атаки (также называемые DDoS-атаками);
- осуществлять кибершантаж (программы, требующие выкупа);
- использовать компьютер жертвы для спам-рассылок и отправки платных SMS;
Для защиты от киберпреступников, использующих самые разные технологии, чтобы атаковать компьютеры и получить доступ к пользовательским данным, требуется многоуровневая антивирусная защита. Антивирусы, сочетающие сигнатурный метод, эвристический анализ и облачные технологии, уверенно защищают ваши устройства и ваши данные от новых сложных угроз.
Кроме студентов, создающих компьютерные вирусы, и киберпреступников, разрабатывающих вредоносные программы ради личной выгоды, также существует угроза со стороны полулегального (серого) бизнеса, который действует на грани закона или даже вне его. Такой бизнес, преследуя свою выгоду, может действовать следующим образом:
- распространять незатребованную электронную рекламу;
- предлагать фальшивые программные утилиты;
- заманивать пользователей на платные веб-ресурсы.
Специальные компоненты проникают на компьютер пользователя, а затем загружают и отображают рекламу, причем, как правило, пользователи не знают о том, что на их компьютер загружено такое программное обеспечение. Часто всплывающие рекламные объявления появляются, только когда пользователи открывают свой веб-браузер. В этом случае жертва, скорее всего, думает, что эти всплывающие сообщения — обычная реклама, появляющаяся на обычных веб-страницах.
Легально распространяемые Adware-программычасто включаются в состав бесплатных или условно бесплатных приложений и загружаются вместе с ними. Хотя элемент Adware можно удалить, некоторые бесплатные и условно-бесплатные программы могут перестать корректно работать.
Пользователя убеждают загрузить фальшивый антивирус или антишпионскую программу. Затем такая фальшивая программа заявляет об обнаружении на компьютере пользователя шпионской программы или вредоносного ПО. В действительности такая программа не пытается обнаружить никакие киберугрозы — обычно она и неспособна обнаруживать угрозы. Однако эта программа предлагает пользователю вылечить заражение в обмен на некую плату.
Читайте также: