Вирус под видом антивируса
Создание уникального вредоносного ПО требует больших ресурсов, поэтому многие хакерские группировки используют в своих атаках массовое, часто публично доступное ВПО. Широкое использование неизбежно приводит к тому, что такой инструмент попадает на радары антивирусных компаний, а его эффективность снижается.
Для решения этой проблемы хакеры используют техники упаковки, шифрования и мутации кода. Такие техники часто реализуют отдельные инструменты — «крипторы» (crypters) или просто «пакеры». В этой статье на примере банковского трояна RTM мы рассмотрим, какие «пакеры» могут использовать злоумышленники и как эти «пакеры» осложняют обнаружение ВПО.
Полная версия данного исследования доступна по ссылке.
Packer-as-a-service
Хакерская группа, стоящая за распространением RTM, до конца 2020 года регулярно проводила массовые фишинговые рассылки с вредоносными вложениями. Этот процесс, по всей видимости, происходил автоматически.
Каждое такое вложение содержало существенно отличающиеся друг от друга файлы, при этом итоговая полезная нагрузка практически не менялась.
Пример архива RTM
Подобная особенность — естественное следствие применения «крипторов». Первоначально группа, стоящая за RTM, использовала свой собственный уникальный «криптор», однако в течение 2020 года дважды его сменила.
При исследовании по-новому упакованных образцов нам удалось обнаружить множество другого ВПО, которое было защищено аналогичным образом. Пересечения с другими вредоносами с учетом автоматизации процесса упаковки, на наш взгляд, позволяют говорить об использовании злоумышленниками модели packer-as-a-service. В этой модели упаковка вредоносных файлов делегируется специальному сервису, которым управляет третья сторона. Доступ к таким сервисам часто продается на хакерских форумах.
2. Постоянное обновление системы
Постоянные обновления программного обеспечения необходимы для безопасности и предотвращения заражения вредоносными программами. Рекомендуется регулярно обновлять программы и операционную систему, чтобы избежать атак руткитов, использующих уязвимости.
Stuxnet
Одним из самых известных руткитов в истории является Stuxnet – вредоносный компьютерный червь, обнаруженный в 2010 году и, предположительно, разрабатываемый, начиная с 2005 года. Stuxnet нанес значительный ущерб ядерной программе Ирана. Хотя ни одна из стран не взяла на себя ответственность, считается, что это кибероружие было разработано совместно США и Израилем в рамках совместного проекта, известного как Олимпийские игры.
Другие известные примеры руткитов:
Как удалить руткит из Mac
Следите за выходом новых выпусков обновлений для устройств с операционной системой Mac. Обновления для Mac не только добавляют новые функции, но также удаляют вредоносные программы, включая руткиты. В Apple имеются встроенные функции безопасности для защиты от вредоносных программ. Однако в macOS нет известных средств обнаружения руткитов, поэтому, если вы подозреваете наличие руткита на устройстве, необходимо переустановить macOS. Это приведет к удалению большинства приложений и руткитов с устройства. Как описано выше, при поражении руткитом BIOS'а потребуется ремонт, а если руткит останется на устройстве, может потребоваться новое устройство.
Проверьте подозреваемых
Никогда не устанавливайте никакие программы, не проведя поиск в Интернете по их названию. Реклама самой фирмы обычно не самый надежный источник информации об интересующей программе. Слепо нажав на какую-то ссылку в рекламном баннере или письме, вы запросто можете попасть на вредоносный сайт, с которого на ваш компьютер загрузится нечто неприятное, о чем вы даже не узнаете сразу. Чем больше вы об этом знаете, тем в большей безопасности находитесь. Поэтому не стесняйтесь перед установкой программы выполнить быстрый поиск по интересующему вас антивируснику с целью найти больше информации.
Используйте свои настройки безопасности
После того как вы изучили и установили интересующий вас антивирус, займитесь настройками безопасности вашей операционной системы.
Будьте осмотрительны
Будьте внимательны
Как упоминалось ранее, необходимо быть в курсе последних способов мошенничества в Сети. Мы делаем все возможное для того, чтобы вы знали о новейших атаках, способах завладеть вашими данными, а также о способах защиты от этих атак. Ваша безопасность — это наша работа, но и вам расслабляться не стоит.
Если вы подозреваете, что у вас установлено поддельное антивирусное ПО, то вы можете воспользоваться нашим бесплатным сканером, который проверит вашу систему на вирусы и поможет устранить эту проблему. При надлежащем использовании системы, а также легальном использовании программного обеспечения вы можете не беспокоиться о вашей безопасности. Но помните также, что кто предупрежден, тот защищен!
Несмотря на убедительный и современный дизайн, Titan — стопроцентно фальшивый антивирус
Руткит – это тип вредоносных программ, предназначенных для предоставления злоумышленникам доступа к целевому устройству и контроля над ним. Хотя большинство руткитов влияют на работу программного обеспечения и операционную систему, некоторые из них могут также поразить оборудование и прошивку компьютера. Руткиты способны скрывать свое присутствие, но даже в этот период они активны.
Получив несанкционированный доступ к компьютерам, руткиты позволяют киберпреступникам красть личные данные и финансовую информацию, устанавливать вредоносные программы и использовать компьютеры как часть ботнета для рассылки спама и участия в DDoS-атаках (атаках распределенного отказа в обслуживании).
Название «руткит» происходит из операционных систем Unix и Linux, где администратор учетной записи с самыми высокими привилегиями называется «root». Группа приложений, разрешающих несанкционированный доступ к устройству на уровне root или администратора, называется "kit" («набор»).
Как обнаружить руткиты
Обнаружить руткит на компьютере может оказаться непросто, поскольку этот вид вредоносных программ специально разработан для того, чтобы оставаться скрытым. Руткиты также могут отключать программы безопасности, что еще сильнее усложняет их обнаружение. В результате вредоносные программы-руткиты могут оставаться на компьютере в течение длительного времени и нанести значительный ущерб.
Возможные признаки руткитов:
2. Необычное поведение веб-браузера
В браузере могут появляться нераспознанные закладки или происходить перенаправление ссылок.
Necurs
В 2012 году появился руткит Necurs и, как сообщалось, в том году было обнаружено 83 000 случая заражения этим руткитом. Компания Necurs связана с элитными киберпреступниками в Восточной Европе. Ей присущи техническая сложность и способностью к эволюционированию.
Flame
В 2012 году был обнаружен руткит Flame, используемый, в основном, для кибершпионажа на Ближнем Востоке. Flame, также известный как Flamer, sKyWIper и Skywiper, атакует операционную систему компьютера целиком, что позволяет злоумышленникам отслеживать трафик, делать снимки экрана и записывать аудио, а также регистрировать нажатия клавиш на устройстве. Злоумышленников, стоящих за атакой руткита Flame, обнаружить не удалось, но исследования показывают, что для доступа к зараженным компьютерам они использовали 80 серверов на трех континентах.
Что такое руткит?
Руткит – это программа, используемая киберпреступниками для получения контроля над целевым компьютером или сетью. Иногда руткиты представляют собой единую программу, но чаще состоят из набора инструментов, позволяющих злоумышленникам управлять целевым устройством на уровне администратора.
Руткиты устанавливаются на целевые машины несколькими способами:
- Чаще всего это происходит с помощью фишинга или другого типа атак с применением социальной инженерии. Жертвы атак неосознанно загружают и устанавливают вредоносные программы, скрытые внутри других процессов, запущенных на их машинах, что дает злоумышленникам контроль почти над всей операционной системой.
- Другой способ – использование уязвимостей (слабых мест в программном обеспечении или операционной системе, если они не обновлялись) для принудительной установки руткита на компьютер.
- Вредоносные программы также могут быть связаны с другими файлами, такими как зараженные файлы PDF, пиратские носители или приложения из подозрительных сторонних магазинов.
Руткиты работают поблизости или внутри ядра операционной системы, что дает им возможность отправлять команды компьютеру. Все объекты, использующие операционную систему, являются потенциальной целью для руткитов. С распространением Интернета вещей они могут включать такие объекты, как холодильник или терморегулятор.
Руткиты могут скрывать кейлоггеры, записывающие нажатия клавиш без согласия пользователей. Это позволяет злоумышленникам украсть личную информацию, например, данные кредитной карты или интернет-банка. Руткиты также позволяют злоумышленникам использовать ваш компьютер для запуска DDoS-атак или рассылки спама. Они даже могут отключить или удалить программы безопасности.
Некоторые руткиты используются в законных целях, например, для предоставления удаленной ИТ-поддержки или помощи правоохранительным органам. Однако в основном они используются в злонамеренных целях. Основная опасность руткитов состоит в том, что они могут доставлять на компьютер жертвы различные формы вредоносных программ, позволяющие управлять операционной системой и предоставлять удаленным пользователям права администратора.
5. Веб-страницы работают некорректно
Из-за чрезмерного сетевого трафика наблюдаются прерывания при отображении или некорректная работа веб-страниц и сетевой активности.
Проверка на наличие руткитов – это лучший способ обнаружить заражение руткитами. Проверку может инициировать ваше антивирусное решение. Если вы подозреваете наличие руткита, один из способов обнаружения заражения – выключить компьютер и выполнить проверку из известной чистой системы.
Поведенческий анализ – это еще один метод обнаружения руткитов, при котором вместо поиска самого руткита выполняется анализ и поиск поведения, характерного для руткита. Целевая проверка работает хорошо, если уже известно, что система ведет себя странно, а поведенческий анализ может предупредить о рутките, прежде чем станет ясно, что устройство подверглось атаке.
3. Руткиты памяти
Руткиты памяти скрываются в оперативной памяти компьютера и используют ресурсы компьютера для выполнения вредоносных действий в фоновом режиме. Руткиты памяти влияют на производительность оперативной памяти компьютера. Поскольку руткиты этого типа хранятся только в оперативной памяти компьютера и не внедряют постоянный код, они исчезают при перезагрузке системы. Однако чтобы полностью избавиться от них могут потребоваться дополнительные действия. Из-за короткой продолжительности жизни они не воспринимаются как серьезная угроза.
1. Аппаратные руткиты и руткиты для прошивки
Аппаратные руткиты и руткиты для прошивки могут повлиять на работу жесткого диска, маршрутизатора или BIOS'а системы, то есть на программное обеспечение, установленное на небольшом чипе памяти на материнской плате компьютера. Они нацелены не на операционную систему, а на прошивку устройства, с целью установки вредоносных программ, которые трудно обнаружить. Поскольку руткиты затрагивают работу оборудования, они позволяют злоумышленникам регистрировать нажатия клавиш, а также отслеживать онлайн-активность. Аппаратные руткиты и руткиты для прошивки менее распространены, чем другие типы руткитов, однако они представляют серьезную угрозу сетевой безопасности.
3. Внимательность к фишинговым атакам
Фишинг – это один из видов атаки социальной инженерии, при которой злоумышленники используют электронную почту, чтобы обманом заставить пользователей предоставить им финансовую информацию или загрузить вредоносные программы, например, руткиты. Чтобы предотвратить проникновение руткитов на компьютер, рекомендуется не открывать подозрительные электронные письма, особенно от неизвестных отправителей. Не следует переходить по ссылкам, доверенность которых вызывает сомнения.
Вредоносное ПО использует аналогичные механизмы
Ключ кроется в механизме, используемом вредоносной программой, который обычно совпадает с механизмом других ранее известных антивирусов. Например, код вредоносного ПО анализируется и может быть обнаружен, если в нем есть злонамеренные намерения. В случае, если вы пропустите его, если вредоносная программа попытается начать шифрование компьютера сразу или пытается изменить системные файлы в автоматическом режиме, антивирус может обнаружить его и заблокировать все сразу.
Этот тип механизм обнаружения может привести к ложные срабатывания . Так обстоит дело, например, с такими программами, как трещины для программ , которые выполняют такие действия, как изменение программного кода или даже системы для обхода механизмов обнаружения. Все это распознается антивирусом как вредоносное и блокируется из корневого каталога.
2. Руткиты загрузчика
Механизм загрузчика отвечает за загрузку операционной системы компьютера. При атаке на систему руткиты загрузчика заменяют подлинный загрузчик взломанным. Это активирует руткит еще до полной загрузки операционной системы компьютера.
Но некоторые уязвимости нулевого дня ускользают
К сожалению, иногда все это может не работать, и есть антивирусные программы, которые могут не обнаруживать так называемые уязвимости нулевого дня . Эти уязвимости состоят из недостатков безопасности, которые не были исправлены программного обеспечения. или даже аппаратный уровень . Мы видели пример с WannaCry, где компьютеры, на которых не было установлено исправление, были заражены, и антивирус не смог его обнаружить, поскольку на многих компьютерах не была обновлена операционная система для установки исправления и антивирус для его обнаружения.
На AV-TEST, лучшем веб-сайте по анализу антивирусной безопасности, они тестируют миллионы угроз, как известных, так и неизвестных. Фактически, у них всегда есть база данных уязвимостей нулевого дня, которую они используют, чтобы проверить, обновлен ли антивирус с точки зрения защиты.
В последнем тесте, результаты которого они обнародовали на этой неделе, они проверили защиту от 303 уязвимости нулевого дня . Практически все антивирусы прошел с блестящие и защищенные от всех, но тот, который обычно защищает от всех, не работает: ESET . Антивирус «съел» четыре уязвимости нулевого дня.
Следовательно, возможно, что существует вредоносное ПО, которое ускользает от антивируса, и поэтому мы всегда должны быть осторожны с тем, что мы делаем на компьютере, и с контентом, который мы посещаем или выполняем. Кроме того, это также заставляет нас видеть, что важно время от времени проводить полное сканирование компьютера, поскольку несколько месяцев или лет назад мы могли загрузить и сохранить файл, содержащий вредоносное ПО, но который в то время не был обнаружен. антивирусом. Таким образом, если у вас есть папка с программами, и некоторые из них не запускались годами, и вы прошли антивирус, вы увидите, что он обязательно обнаружит вредоносный файл.
В данной статье кратко описываются способы проникновения и влияния на систему наиболее распространённых видов вредоносного программного обеспечения, рассматривается несколько подходов к классификации угроз, а также основные методы борьбы, используемые современными антивирусными программами.
Ключевые слова: вредоносное программное обеспечение, вирус, компьютерный червь, троянская программа, антивирусная программа, сигнатурное детектирование, поведенческий анализ, проактивная защита.
В настоящее время общество не может нормально функционировать без использования электронно-вычислительных машин, так как почти все сферы деятельности человека связаны с хранящейся на них информацией. Управление различными электронными устройствами, персональные данные, важнейшие документы, огромные денежные средства и многое другое — доступ ко всему этому осуществляется с помощью непрерывных процессов передачи и обработки информации, следовательно вредоносное программное обеспечение является реальной угрозой, способной парализовать работу различных организаций и принести многомиллиардные убытки. Исследование вредоносных программ с целью нахождения эффективных способов противодействия их влиянию на заражённые системы является не просто одним из направлений развития информационных технологий, а настоящей необходимостью, обладающей крайне высоким приоритетом, ведь с ростом значения компьютеров в жизни общества растёт и потенциальная опасность, которую несут различные вредоносные программы.
До настоящего времени не была разработана универсальная система классификации вредоносного программного обеспечения, а многие крупные антивирусные компании используют свои собственные методы распознавания и разбиения угроз на различные классы, однако, несмотря на это, существуют определённые исторически сложившиеся способы, позволяющие достичь в данном вопросе некоторой общности.
Более распространённой и логически точной является классификация вредоносных программ по ряду формальных признаков, определяющих их вредоносные функции.
Вирусы . Вредоносной программе для отнесения к классу вирусов необходимо соответствовать двум основным критериям: обладать способностью к саморепликации и умением инфицировать файловые объекты. Возможностью самореплицироваться (распространяться в автоматическом режиме путём создания собственных копий без участия пользователя) обладают ещё и компьютерные черви, однако умение заражать файлы характерно в первую очередь для вирусов. Под заражением понимается процесс внедрения вируса в файл исполняемого приложения (программы), при котором не нарушаются основные функциональные возможности данного приложения. При запуске такой программы автоматически запускается и вирус [5].
Полиморфные вирусы — это разновидность вирусов, представители которой способны изменять свой код непосредственно в процессе его исполнения. Процедура, осуществляющая динамическую правку кода вируса, также может самостоятельно изменяться при переходе от одного заражённого устройства к другому. Простейшим способом модификации структуры вируса без изменения его функционала является добавление в него различного «мусорного кода», к которому относятся пустые циклы, пустые строки и т. п. Такого рода модификации приводят к значительному усложнению процесса обнаружения подобной вредоносной программы, поэтому практически все современные вирусы используют те или иные полиморфные технологии [5].
Стелс-вирусы — вирусы, способные частично или полностью скрывать своё присутствие на заражённом устройстве путём перехвата системных запросов к инфицированным файловым объектам, памяти или загрузочным областям диска и возврата недостоверной информации, не позволяющей компьютеру обнаружить угрозу. В настоящее время данный термин устарел и подобные программы принято называть “руткитами” [5].
Макровирусы — разновидность вирусов, создающихся с помощью макроязыков, встроенных в различные приложения пакета Microsoft Office, и изменяющих или замещающих макросы, представляющие собой последовательности команд [4].
Резидентные вирусы — вирусы, осуществляющие свою деятельность в памяти заражённого устройства параллельно с другими активными приложениями. После запуска эти вирусы либо удаляли исходный файл, либо перемещали его в места, недоступные операционной системе и пользователю. С момента появления операционных систем, обладающих многозадачностью, понятие «резидентного вируса» устарело, а вредоносное ПО, действующее в оперативной памяти компьютера, стали называть общим термином «бесфайловые вредоносные программы» [5].
Компьютерные черви — разновидность вредоносных программ, обладающих способностью к саморепликации без возможности заражения файловых объектов (из данного правила имеются некоторые исключения). В наши дни широко распространены так называемые почтовые черви, рассылающие свои копии по всем почтовым адресам, имеющимся в списке контактов на инфицированном компьютере. Многие черви распространяются с помощью съёмных носителей информации. Они могут размещать в корневой папке накопителя файл, часто носящий название autorun.inf, обеспечивающий автоматический запуск червя при каждом обращении к накопителю, или перемещать всё содержимое съёмного носителя в скрытую папку, замещая её собственной копией с такими же названиями директорий и файлов, при нажатии на которые запустится вредоносная программа [3].
Бэкдоры — это вредоносные программы, которые открывают злоумышленникам полный доступ к инфицированному устройству. К ним относят некоторые виды вирусов и троянцев [2].
Буткиты — это вирусы или троянские программы, способные путём заражения загрузочной записи на диске компьютера запускаться раньше антивирусного программного обеспечения, одновременно с запуском ОС или даже перед ним. Это даёт им возможность перехватывать управление операционной системой, тем самым парализуя запуск и нормальную работу антивирусов и блокируя возможность удалить буткит с компьютера. Неудачная попытка удаления такой программы может привести к повреждению логической структуры диска, что повлечёт за собой полную неработоспособность устройства. Особая опасность буткитов заключается ещё и в их возможности получить в системе максимальные привилегии, дающие доступ к файловой системе, компонентам ОС, памяти и драйверам [3].
Руткиты — это вредоносное программное обеспечение, специализирующееся на сокрытии своего присутствия в инфицированной операционной системе и противодействии попыткам его обнаружения и удаления. Некоторые руткиты специально разрабатывают с целью сокрытия на инфицированном устройстве других вредоносных программ, тем самым создавая связку из «воздействующего» и «прикрывающего» вредоносного ПО [3].
Биоскиты — это тип вредоносного ПО, обладающего способностью изменять содержимое микросхем BIOS. В настоящее время они практически не встречаются — последнее обнаружение подобной программы, получившей название «Trojan.Bioskit.1», произошло в 2011 году, — поэтому серьёзной угрозы не несут [3].
Боты — вредоносное программы, особенностью которых является возможность объединения в ботнеты. Ботнеты представляют собой удалённо управляемые с использованием командных серверов сети, состоящие из инфицированных устройств, предназначением которых является осуществление централизованных атак на серверы различных сайтов сети Интернет. Например, несколько сотен тысяч компьютеров посылают запросы с интервалом в несколько микросекунд, загружая сервер до отказа. Данный вид атак носит название «атака на отказ в обслуживании» — «Distributed Denial of Service» (DDoS-атака). Другой пример — массовая рассылка спама миллионами компьютеров, входящих в спамерскую бот-сеть. Некоторые боты в случае необходимости способны динамически настраивать свою принадлежность к тому или иному командному серверу, а другие — вовсе обходиться без такового, формируя децентрализованные P2P-сети, тем самым многократно усложняя задачу обнаружения и ликвидации таких сетей [3].
Шпионы — данный тип вредоносного ПО предназначен для слежки за пользователем и передачи информации, получаемой с его устройства. Шпионское программное обеспечение широко распространено в настоящее время, а значительная его часть реализована в виде классических троянцев. Наиболее распространёнными видами программ-шпионов являются кейлоггеры (приложения, регистрирующие и запоминающие коды клавиш, нажимаемых пользователем), грабберы (фиксирующие не все нажатия клавиш, а только интересующие злоумышленника, например, пароли от различных аккаунтов), троянцы-шпионы, отправляющие скриншоты с заражённого компьютера, и программы-шпионы, ориентированные на ОС Android, которые могут отслеживать местоположение инфицированного устройства, просматривать журнал звонков, личные данные, а также вести фото- и видеосъёмку [3].
Пример классификации по вредоносным функциям приведён на рисунке 1.
Рис. 1. Классификация по вредоносным функциям
В настоящее время многими антивирусными компаниями используется принцип классификации по степени опасности. Данный способ схож с предыдущим, однако его основной отличительной чертой является разбиение на классы не по набору вредоносных функций, реализованных в программе, а по совокупному уровню угрозы, которую она представляет системе. В данном способе классификации используется некоторая устанавливающая иерархию среди различных видов угроз шкала опасности, на вершине которой, как правило, расположены файловые вирусы и черви (рис. 2).
Рис. 2. Иерархия вредоносного ПО по степени опасности
Этот способ классификации наиболее широко распространён из-за того, что большая часть появляющихся вредоносных программ сочетает в себе функционал, относящийся одновременно к нескольким классам угроз. В таком случае специалист, руководствуясь описанной ранее иерархией, отделяет второстепенные по уровню опасности признаки от первостепенных и относит образец к классу, степень опасности которого наиболее высока, не забывая при этом дополнить описание вредоносной программы признаками других классов [3].
Со второй половины 80-х началась гонка между создателями вредоносного ПО и разработчиками антивирусных программ, которая продолжается и в настоящее время.
Само понятие «антивирус» применительно к современным приложениям такого рода является скорее данью моде, нежели отражающим суть термином, так как классические вирусы, заражающие исполняемые файлы, в наше время практически не встречаются.
Современные антивирусные приложения состоят из большого числа модулей, обладающих различным функционалом и обеспечивающих всестороннюю защиту устройства, однако набор таких модулей, присутствующих в той или иной программе, ограничен и зависит от её ориентации на различные сегменты рынка. К стандартным и часто встречающимся в современных антивирусах можно отнести следующие модули:
Антивирусный сканер — компонент, предназначенный для поиска угроз в оперативном и постоянном запоминающих устройствах компьютера по желанию пользователя или по заранее составленному графику.
Резидентный монитор — модуль, в реальном времени осуществляющий анализ состояния системы с целью предотвращения деятельности вредоносных программ на устройстве.
Анти-руткит — компонент, предназначенный для борьбы с руткитами.
Модуль превентивной защиты — модуль, отвечающий за сохранение наиболее важных для функционирования системы данных и блокирующий угрозы до нанесения ими серьёзного вреда устройству.
Карантин — некоторая защищённая область памяти, использующаяся антивирусом для проверки всех подозрительных файлов путём помещения их в данную область и наблюдения за их дальнейшими действиями.
Брандмауэр (файрвол) — модуль, выполняющий анализ интернет-соединения, проверяющий адреса отправителя и получателя каждого пакета данных, а также фильтрующий данные, полученные компьютером без предварительного запроса. Данный компонент является своего рода фильтром, регулирующим обмен информацией между защищённым устройством и остальной сетью Интернет.
Веб-антивирус — модуль, ограничивающий пользователю доступ к сайтам, признанным опасными и занесённым в особые базы данных в связи с возможностью фишинговых атак или содержанием на них вредоносного программного обеспечения.
Почтовый антивирус — компонент, основной задачей которого является поиск потенциально опасных ссылок и вложений, присылаемых по электронной почте.
Модуль обновления — компонент, следящий за выходом обновлений для остальных модулей приложения и обеспечивающий актуализацию информации в соответствии с изменениями в вирусных базах.
Перечисленные выше модули являются основными и наиболее распространёнными, однако антивирусные программы также могут включать в себя множество других более специализированных компонентов, присутствие или отсутствие которых обусловливается назначением и версией самой программы [3].
Обнаружение вредоносных программ современными антивирусными приложениями производится путём комбинирования нескольких различных методик, главной из которых является сигнатурное детектирование угроз. Данный метод основывается на создании сигнатур вредоносных программ — уникальных цифровых идентификаторов файла, получаемых на основе содержимого исследуемого файла и представляющих собой специальный набор байтов. Сигнатуру можно сравнить с «отпечатком пальцев», присущим только одному конкретному файлу, что позволяет безошибочно опознавать ту или иную вредоносную программу. Сигнатуры собираются в набор, называемый вирусной базой, из которого в процессе проверки защищаемого устройства берутся образцы для сравнения с файлами, хранящимися на этом устройстве. В случае совпадения такой файл считается вредоносным. Данная методика имеет значительный недостаток: при малейшем изменении структуры вредоносной программы её сигнатура меняется, что делает её необнаружимой для антивирусной программы до тех пор, пока её сигнатура не попадёт в вирусную базу [1].
Не менее популярным является метод поведенческого анализа, использующийся многими современными антивирусными программами. Его суть заключается в слежении за поведением приложений, и, если какое-то из них покажется антивирусу «подозрительным», оно будет мгновенно заблокировано. Поведение приложения изучается путём помещения его в виртуальный контейнер, ограничивающий доступ к памяти устройства и компонентам операционной системы. Если программа пытается взаимодействовать с запущенными процессами, структурой исполняемого файла или загрузочной записью, то она получает статус потенциальной угрозы. Как правило, для всех экземпляров вредоносных программ создаются особые записи, содержащие шаблоны поведения этих экземпляров. В случае совпадения поведения одного из запущенных приложений с какой-либо записью такое приложение мгновенно помечается как вредоносное.
Благодаря описанию одним поведенческим шаблоном сразу группы схожих вредоносных программ данный подход способствует сокращению размера вирусных баз. Кроме того, использование поведенческого анализа позволяет обнаруживать ранее не встречавшиеся опасные программы, так как совпадение их поведения с одним из известных шаблонов сразу позволяет отнести их к категории вредоносных [3].
Ещё одним из основных методов детектирования вредоносного ПО является эвристический анализ. Его принцип работы заключается в присваивании условного рейтинга опасности каждой функции, реализованной в программе. Некоторые функции характеризуются меньшими числовыми значениями опасности, а некоторые — большими. В том случае, если сумма оценок всех функций данной программы превышает определённый «порог безопасности», программа признаётся вредоносной. Главным недостатком этого метода является большая вероятность ложного срабатывания, так как многие программы, не являющиеся вредоносными, превышают установленное значение и признаются таковыми (например, некоторые утилиты обновления браузеров, действующие в фоновом режиме и отправляющие запросы на удалённые серверы с целью загрузки с них обновлений, могут быть спутаны с троянцем-загрузчиком). Эвристический анализ используется для обнаружения и блокировки новых угроз, не занесённых в вирусные базы, поэтому очевидным становится ещё один его значительный недостаток: далеко не всегда получается устранить обнаруженную угрозу, так как её сигнатура отсутствует в вирусной базе и алгоритмов её устранения ещё не было разработано [4].
Последним рассматриваемым методом борьбы с вредоносными программами является проактивная антивирусная защита HIPS (Host-based Intrusion Prevention System, система предотвращения вторжений), представляющая собой одну из форм поведенческого анализа, то есть следящая за поведением приложений и оценивающая их воздействие на систему. Проактивная защита бывает классической, оставляющей решение о блокировке или игнорировании угрозы пользователю, или экспертной, содержащей набор настраиваемых разрешений и правил, на основе которых она самостоятельно выполняет те или иные действия с вредоносными программами [3].
Несмотря на то, что создание принципиально новых вредоносных программ, способных обойти все методы защиты, не является невозможным, оно требует много времени, большого числа профессионалов и значительных денежных вложений, что сводит количество таких приложений к минимуму.
Таким образом, возможности современных антивирусных приложений позволяют в большинстве случаев успешно обеспечивать безопасность устройства: реактивная защита, к которой относится, например, сигнатурное детектирование, позволяет бороться с большинством известных угроз, а проактивная, представленная поведенческим анализом, — блокирует ранее не встречавшиеся. Именно поэтому, согласно последним данным [6], основным методом заражения (до 83 % случаев атак на частных лиц) становится социальная инженерия, при которой злоумышленники обманным путём вынуждают пользователя самостоятельно запускать на своём устройстве вредоносные программы или делиться конфиденциальной информацией.
Учитывая всё вышесказанное, можно сделать вывод о том, что в настоящее время защитное программное обеспечение способно конкурировать с «атакующим» и даже немного опережать его, а среднестатистическому пользователю для максимального снижения риска заражения достаточно установить качественное антивирусное приложение и следовать набору простых правил, заключающихся в избегании подозрительных ссылок и вложений, полученных по электронной почте, отказе от скачивания пиратского программного обеспечения, осторожном сёрфинге в сети, то есть без кликов на различные рекламные баннеры, всплывающие окна и т. п., а также регулярном сканировании состояния системы.
Основные термины (генерируются автоматически): программа, вредоносное программное обеспечение, вредоносная программа, вирус, операционная система, поведенческий анализ, приложение, вирусная база, время, зараженное устройство.
Как удалить руткит из Windows
В Windows при удалении обычно запускается проверка. Если имеет место глубокое заражение, единственным способом удаления руткита является переустановка Windows. Лучше сделать это с использованием внешнего носителя, а не средствами встроенного установщика Windows. Некоторые руткиты заражают BIOS; для исправления такого заражения требуется ремонт. Если после ремонта руткит все еще не удален, возможно, потребуется новый компьютер.
HellowinPacker
В мае 2020 группа RTM переключилась на использование нового упаковщика — HellowinPacker, который продолжала активно использовать до начала 2021 года. Ключевой особенностью этого пакера является два уровня мутации кода. Первый из них существенно меняет структуру кода распаковки, делая различные образцы не похожими друг на друга.
Сравнение кода в двух экземплярах разной структуры
Второй уровень меняет лишь отдельные детали при неизменной в целом структуре кода. При этом изменения главным образом затрагивают ассемблерные инструкции и не влияющие на работу программы константы. В результате в декомпилированном виде код выглядит практически идентичным.
Сравнение кода в двух экземплярах одной структуры
Так же, как и в случае с Rex3Packer, мы имеем дело с массовым использованием HellowinPacker для упаковки различного ВПО. При этом вредоносное ПО из одного семейства, как правило, имеет в упакованном виде одну и ту же структуру. Это можно пронаблюдать, по крайней мере, на протяжении некоторого времени — затем структура может измениться.
Алгоритм распаковки
Одни из первых действий, которые встречаются во всех упакованных файлах — это попытки открыть ключ реестра HKEY_CLASSES_ROOT\Interface\ (регистр символов в конкретном случае может отличаться) и запросить в нем значение по умолчанию (Default). От успешности этих операций в некоторых модификациях генерируемого кода зависит корректное продолжение работы программы.
GUID интерфейса в разных случаях также может отличаться.
Дальнейший код некоторым образом получает адрес, по которому располагается блок зашифрованных данных.
Этот блок начинается с четырехбайтного числа, которое хранит размер исходных данных (тех, которые будут получены после декодирования). Вызовом VirtualAlloc под расшифрованные данные выделяется блок памяти нужного размера с правами RWX. В выделенную память блоками по X байт копируются зашифрованные данные. При этом в оригинальном файле между этими блоками располагаются пропуски длиной Y байт.
Схема копирования данных в HellowinPacker
Затем происходит процесс дешифровки блоками по 4 байта:
очередной блок интерпретируется как целое число (DWORD),
к его значению прибавляется индекс первого байта в блоке,
выполняется операция xor между полученным значением и суммой индекса и фиксированного ключа, числа Z.
Обфускация
Как и в случае с Rex3Packer, в экземплярах с HellowinPacker встречаются вызовы функций WinAPI, не относящихся к основной логике программы. Однако в данном случае они используются скорее как способ затруднить поведенческий анализ и детектирование в песочницах. В пользу этого предположения говорит то, что в большинстве случаев разнообразные функции вызываются подряд в самом начале программы.
Точка входа в одной из упакованных библиотек
Дополнительным эффектом от такого использования WinAPI становится невозможность детектирования по списку импортируемых функций и imphash.
При работе с различными числовыми значениями часто встречается некоторая арифметическая обфускация: необходимые константы представляются в виде суммы или разности других констант (в определенных случаях равной нулю). При этом для получения констант могут быть использованы и вызовы функций WinAPI, дающие предсказуемый результат (например, 0 в случае неудачи).
Использование
HellowinPacker существует по крайней мере с 2014 года. За это время он был использован в различном массовом вредоносном ПО. Вот лишь несколько примеров:
Киберпреступники используют любую возможность, чтобы завладеть вашими данными. В том числе, могут предложить вам и антивирус. Фальшивый, естественно.
11 октября 2013
Киберпреступники постоянно ищут новые способы манипуляции своими жертвами в Интернете. А один из самых значительных барьеров на пути кибератаки — это осведомленность и бдительность. Именно поэтому стоит знать о фальшивых антивирусах. Они обычно очень похожи на настоящие, только не защищают от вирусов :). А еще приносят много других проблем. Чаще всего они попадаются на сомнительных сайтах, поэтому стоит быть вдвойне внимательным, нажимая какую-либо ссылку.
Все, наверное, видели, как время от времени при серфинге в Интернете внезапно появляются всплывающее окно или баннер с рекламой антивируса для вас? Иногда он выглядит как результаты уже проведенного сканирования вашего компьютера, в котором обнаружен десяток страшных вирусов. Чаще всего эти предупреждения и рекламы яркие, призывные. Однако не стоит поддаваться этому призыву! Фальшивый антивирус может причинить вам немало вреда. Меры, которые предлагает фальшивый антивирус, сами по себе правильные: сканирование на вирусы, обновление программ. Беда в том, что под видом обновлений в данном случае могут быть скачаны вредоносные программы. Основной задачей фальшивого антивируса является не поиск и уничтожение вирусов, а принуждение жертвы к оплате 1-3 тысяч рублей за «защиту», которая не работает. Возможны и другие варианты: поиск и похищение личной информации, в том числе банковской, списание денег с кредитной карты, а также порча файлов на компьютере, в том числе на Mac. Впрочем, не только на компьютере, уже года три существуют аналогичные поддельные антивирусы для Android. Однако если поддельные антивирусы настолько правдоподобно выглядят, то как же от них защититься?
Фальшивый антивирус Super.
4. Изменение параметров Windows без разрешения
Это может быть изменение заставки, скрытие панели задач или некорректное отображение даты и времени, при том, что вы ничего не меняли.
Rex3Packer
Первое использование этого пакера группой RTM, которое нам удалось обнаружить, относится к ноябрю 2019 года. Активное же его применение, по нашим данным, приходится на период апрель—май 2020 года.
Фишинговое письмо RTM, январь 2021
Нам не удалось связать этот упаковщик с каким-либо из ранее описанных публично, поэтому мы дали ему свое название по трем особенностям его устройства: наличию рекурсии (recursion), реверса битов (reverse) и рефлективной загрузки PE-файлов (reflection) — Rex3Packer.
Алгоритм распаковки
Общий алгоритм извлечения полезной нагрузки выглядит так:
С помощью VirtualAlloc выделяется заранее определенное количество памяти с правами на чтение, запись и исполнение.
В выделенный буфер копируется содержимое образа текущего процесса в памяти (в частности, секция .text).
Управление передается на функцию внутри буфера.
Вычисляется разница между положением одних и тех же данных в буфере и в образе PE-файла (разность между адресами в буфере и виртуальными адресами в образе). Эта разность заносится в регистр ebx. Все обращения к виртуальным адресам в коде проиндексированы содержимым этого регистра. За счет этого везде, где это необходимо, к адресам из PE-образа добавляется поправка, которая позволяет получить соответствующий адрес в буфере.
Выделяется еще один буфер под упакованные данные.
Через вызов VirtualProtect устанавливаются права RWX на весь регион памяти с образом PE-файла.
Упакованные данные копируются в свой буфер.
Происходит декодирование упакованных данных.
Регион памяти с образом PE заполняется нулевыми байтами.
Декодированные данные представляют собой исполняемый файл — PE-нагрузку. Эта полезная нагрузка рефлективно загружается на место исходного PE-образа, а управление передается на ее точку входа.
Отдельный интерес представляет специфический алгоритм декодирования упакованных данных. В данном случае некорректно говорить об упаковке как о сжатии: алгоритм устроен так, что размер упакованных данных всегда больше размера исходных.
Непосредственно упакованным данным предшествует заголовок размером 16 байт, который содержит 4 поля по 4 байта:
размер самого заголовка,
размер исходных данных (PE-нагрузки),
позиция в исходных данных (*), по которой происходит их разделение,
режим кодирования (1, 2, либо 4).
Декодирование выполняется следующим образом:
Внутри каждого байта выполняется реверс порядка битов (к примеру, 10011000 становится 00011001).
В зависимости от режима кодирования (1, 2, 4), данные разбиваются на блоки размером N = 9, 5, либо 3 байта соответственно. Результат декодирования блока — это (N – 1) байт (то есть 8, 4, или 2).
В первых N-1 байтах блока отсутствует часть битов: их значения всегда равны нулю. Чтобы восстановить оригинальные байты, с помощью масок вида 00000001, 00010001 или 01010101 из последнего байта блока извлекаются недостающие биты. При этом для каждого следующего байта маска сдвигается. То есть последний байт блока фактически составлен из объединенных логической операцией OR битов, которые извлечены из предыдущих байтов.
Например, в режиме 4 последний байт состоит из четных битов первого байта блока и нечетных битов второго байта блока. В результате возврата этих битов в первый и второй байты получается оригинальная последовательность из двух байт.
Схема получения исходных байтов в режиме 4
4. После операции по восстановлению битов во всех блоках полученные данные представляют собой исходный PE-файл, который был разделен по позиции (*) на две части. Эти части, в свою очередь, были переставлены между собой. Обратная перестановка с учетом значения (*) позволяет получить оригинальный файл.
Обфускация
Чтобы усложнить анализ кода, в пакере применяется различного рода запутывание:
В промежутках между исполнением полезных команд делаются вызовы различных функций WinAPI. Их результаты сохраняются, но не используются, а сами функции выбираются так, чтобы не влиять на работу программы.
Характерная особенность данного пакера — наличие циклов (не выполняющих полезных операций), которые реализуются через рекурсивную функцию.
Для дополнительного запутывания в исполняемый файл добавляется несколько десятков случайно сгенерированных функций. Они могут ссылаться друг на друга, но в процессе работы ни одна из них не получает управления.
Использование
Кроме экземпляров RTM, мы обнаружили использование Rex3Packer для упаковки различного ВПО, в основном из стран СНГ.
Также мы отметили использование пакера для упаковки экземпляров ВПО из семейств Nemty, Pony, Amadey.
Packer-as-a-service
Хакерская группа, стоящая за распространением RTM, до конца 2020 года регулярно проводила массовые фишинговые рассылки с вредоносными вложениями. Этот процесс, по всей видимости, происходил автоматически.
Каждое такое вложение содержало существенно отличающиеся друг от друга файлы, при этом итоговая полезная нагрузка практически не менялась.
Пример архива RTM
Подобная особенность — естественное следствие применения «крипторов». Первоначально группа, стоящая за RTM, использовала свой собственный уникальный «криптор», однако в течение 2020 года дважды его сменила.
При исследовании по-новому упакованных образцов нам удалось обнаружить множество другого ВПО, которое было защищено аналогичным образом. Пересечения с другими вредоносами с учетом автоматизации процесса упаковки, на наш взгляд, позволяют говорить об использовании злоумышленниками модели packer-as-a-service. В этой модели упаковка вредоносных файлов делегируется специальному сервису, которым управляет третья сторона. Доступ к таким сервисам часто продается на хакерских форумах.
Как избавиться от руткита
Удаление руткита – это сложный процесс, который обычно требует специальных инструментов, таких как утилита TDSSKiller от «Лаборатории Касперского», позволяющая обнаруживать и удалять руткит TDSS. Иногда единственным способом полностью удалить тщательно спрятанный руткит является удаление операционной системы компьютера с последующим восстановлением с нуля.
1. Использование комплексных решений кибербезопасности
Рекомендуется обеспечить безопасность устройств, установив комплексное продвинутое антивирусное решение. Kaspersky Total Security обеспечивает всеобъемлющую защиту от киберугроз, а также позволяет выполнять проверку на наличие руткитов.
6. Виртуальные руткиты
Виртуальные руткиты загружаются под операционную систему компьютера. Затем они размещают целевые операционные системы как виртуальную машину, что позволяет перехватывать аппаратные вызовы, выполняемые исходной операционной системой. Этот тип руткита не меняет ядро для нарушения работы операционной системы. Его может быть очень сложно обнаружить.
4. Загрузка файлов только из надежных источников
Чтобы предотвратить проникновение руткита на компьютер, рекомендуется соблюдать осторожность при открытии вложений и избегать открытия вложений от неизвестных отправителей. Рекомендуется загружать программное обеспечение только с доверенных сайтов. Не следует игнорировать предупреждения веб-браузера о том, что открываемый веб-сайт небезопасен.
Что такое руткит – определение и описание
Что такое руткит? Руткит – это вредоносная программа, позволяющая злоумышленникам контролировать целевые компьютеры. В этой статье описано, как обнаруживать и предотвращать руткиты, а также как избавиться от руткитов.
Использование антивируса сегодня имеет важное значение в зависимости от устройства, которое мы используем. Например, если у нас есть Windows компьютер , очень важно использовать его, потому что каждый день создаются сотни и даже тысячи новых вирусов. Defender для Windows поставляется предустановленным, и он деактивируется только в том случае, если мы активируем другой сторонний антивирус . Однако есть ли вирусы, которые могут обходить антивирус ?
Антивирус компании постоянно следят вредоносных программ деятельность по всему миру. Антивирус анализирует все файлы, запущенные на компьютере, и отправляет эти данные в компанию. Благодаря этому база данных всегда максимально актуальна. Но как антивирус обнаруживает этот вредоносный контент во-первых, если его нет в базе антивируса?
5. Внимательность к поведению или производительности компьютера
Проблемы с поведением компьютера могут указывать на наличие руткитов. Рекомендуется обращать внимание на неожиданные изменения и постараться выяснить их причину.
Руткиты – самые сложные для поиска и удаления вредоносные программы. В связи со сложностью их обнаружения, профилактика является лучшей защитой. Чтобы обеспечить постоянную защиту, держитесь в курсе последних угроз кибербезопасности.
Статьи по теме:
5. Руткиты режима ядра
Руткиты режима ядра представляют самую серьезную угрозу, поскольку нацелены на ядро операционной системы. Злоумышленники используют их не только для доступа к файлам на компьютере, но и для изменения функций операционной системы, путем добавления собственного кода.
Примеры руткитов
1. Синий экран
4. Руткиты приложений
Руткиты приложений заменяют стандартные файлы на компьютере файлами руткитов и даже могут изменить работу стандартных приложений. Эти руткиты поражают приложения Microsoft Office и такие программы как Notepad или Paint. Злоумышленники могут получить доступ к компьютеру при каждом запуске этих приложений. Зараженные приложения по-прежнему работают нормально, поэтому обнаружение руткитов пользователями затруднено. Однако антивирусные программы могут обнаружить руткиты, поскольку они, как и руткиты, работают на прикладном уровне.
ZeroAccess
В 2011 году эксперты по кибербезопасности обнаружили руткит ZeroAccess – руткит режима ядра, заразивший более 2 миллионов компьютеров по всему миру. Вместо того чтобы напрямую влиять на работу зараженного компьютера, этот руткит загружает и устанавливает на него вредоносные программы, делая его частью всемирного ботнета, используемого для проведения кибератак. Руткит ZeroAccess активно используется в настоящее время.
В 2008 году был впервые обнаружен руткит TDSS. Он похож на руткиты загрузчика, поскольку загружается и запускается на ранних этапах загрузки операционной системы, что затрудняет его обнаружение и удаление.
Виды руткитов
Как предотвратить заражение руткитом
Поскольку руткиты могут оказаться опасными и труднообнаружимыми, важно сохранять бдительность при просмотре веб-страниц или загрузке программ. Для минимизации риска заражения руткитами применимы многие меры, используемые для защиты от компьютерных вирусов.
3. Низкая производительность устройства
Запуск устройства может занять некоторое время, также наблюдается замедление работы или частое зависание. Устройство также может не реагировать на ввод с помощью мыши или клавиатуры.
Читайте также: