Хотя о вредоносном программном обеспечении написана масса статей, на мой взгляд, все же стоит еще раз разобрать вопрос подробнее и прежде всего дать определение самому понятию вредоносного программного обеспечения. Итак, что же это такое?
Вредоносной программой (на жаргоне антивирусных служб «зловред», англ. malware, malicious software — «злонамеренное программное обеспечение») называют любое программное обеспечение, предназначенное для получения несанкционированного доступа к вычислительным ресурсам электронно-вычислительной машины (ЭВМ) или к информации, хранящейся на ней, с целью несанкционированного использования ресурсов или причинения вреда (нанесения ущерба) владельцу информации, или владельцу ЭВМ, или владельцу сети ЭВМ путем копирования, искажения, удаления или подмены информации (см. статью по адресу: https://dic.academic.ru/dic.nsf/ruwiki/99937). Другую версию определения можно найти на сайте Securitylab.ru.
Следует также отметить, что подобные программы могут оказаться у пользователя и вполне легально, например при приобретении совершенно законного лицензионного программного обеспечения, особенно если программное обеспечение имеет ограничения по срокам использования (как правило, в такое программное обеспечение встраиваются возможности удаленного управления или наблюдения).
Признаками заражения компьютера вредоносным программным обеспечением считаются: автоматическое открытие окон с незнакомым содержимым при запуске операционной системы, блокировка доступа к официальным сайтам антивирусных компаний, появление неопределенных процессов в диспетчере задач операционной системы, запрет на изменение настроек компьютера с учетной записью администратора, неожиданное аварийное завершение программ и т. д.
По методу распространения классифицируют следующее вредоносное программное обеспечение: программы использования изъянов, логические бомбы, троянские программы, компьютерные вирусы и сетевые черви (https://www.securitylab.ru/news/tags/%E2%F0%E5%E4%EE%ED%EE%F1%ED%EE%E5+%CF%CE/).
Чаще всего вредоносное программное обеспечение используется для:
- нарушения работы компьютерной системы;
- кражи конфиденциальной информации;
- причинения какого-либо ущерба.
И, самое главное, происходит все это без ведома пользователя.
Вместе с тем стоит подчеркнуть, что существует огромное количество программ двойного назначения и отличить вполне легитимное программное обеспечение от вредоносного в общем случае практически невозможно.
Так, например, программное обеспечение для удаленного администрирования (скажем, TeamViewer) вполне может использоваться как в законных, так и в злонамеренных целях. В первом случае это будет легитимное программное обеспечение, во втором — вредоносное.
Таким образом, чтобы однозначно сказать, легитимное перед нами программное обеспечение или вредоносное, нужно исследовать контекст, в котором оно используется. Увы, именно поэтому невозможно выстроить полностью автоматическую антивирусную поддержку.
На самом же деле, как мы все прекрасно понимаем, это лишь одна из причин. Другая, на мой взгляд, заключается в том, что первыми делают шаг именно злоумышленники. Ведь причиной широкого распространения вредоносного программного обеспечения, без сомнения, является легкость его приобретения и разработки. По запросу вам могут предложить вредоносное программное обеспечение вместе с техподдержкой всего за 5 евро в месяц. Только вдумайтесь — с технической поддержкой!
Для того чтобы вредоносное программное обеспечение выглядело похожим на легитимное, как показано на экране 1, злоумышленники часто добавляют метаданные, в частности внушающий доверие значок программы, название процесса и описание (экран 2).
Экран 1. Метаданные подлинного файла |
Экран 2. Метаданные вредоносного файла |
Для защиты от вредоносного программного обеспечения и компьютерного мошенничества применяются различные методы: юридические (полицейские), образовательные и технические.
Сегодня практически во всех странах приняты законы, запрещающие создание и распространение вредоносного программного обеспечения, к тому же действия компьютерных злоумышленников попадают под некомпьютерные статьи уголовного кодекса, например такие, как мошенничество, вымогательство, неправомерный доступ к конфиденциальной информации и т. д.
Однако следует признать, что очень часто подобные преступления совершаются технически грамотными специалистами, и это сильно затрудняет расследование. Поэтому исключительно юридическими методами победить в этой борьбе нельзя.
Другим важным фактором является то, что правоохранительные органы разных стран имеют различный уровень подготовки, зачастую, увы, весьма низкий.
Именно поэтому важным методом предотвращения компьютерных преступлений является образование пользователей, разъяснение им необходимости строгого следования базовым правилам поведения в сети. По сути, пользователям необходимо учесть, что существует всего три основных правила, которые верны как для корпоративного, так и для домашнего применения.
1. Обязательно используйте антивирусную защиту. Если вы не эксперт по компьютерной безопасности, то вы нуждаетесь в надежной антивирусной защите и способах предупреждения сетевых атак. Доверяйте свою защиту профессионалам! Большинство современных антивирусных программ защищают от самых разнообразных компьютерных угроз — вирусов, червей, троянских программ и рекламных систем. Интегрированные решения по безопасности также обеспечивают фильтрацию спама, предупреждают сетевые атаки, посещение нежелательных и опасных интернет-ресурсов и т. д.
2. Не следует доверять всей поступающей на компьютер информации — электронным письмам, ссылкам на веб-сайты и т. д. Категорически не следует открывать файлы и ссылки, поступающие из неизвестного источника. Даже если сообщение получено от знакомого или коллеги по работе, но присланный файл или ссылка приходит неожиданно, лучше переспросить о подлинности сообщения, поскольку обратный адрес электронной почты легко подделать. Интернет — достаточно опасное место, где следует вести себя осторожно.
Естественно, риск заражения можно уменьшить при помощи «организационных мер». К таким мерам относятся различные ограничения в работе пользователей (как индивидуальных, так и корпоративных), например:
- запрет на использование интернет-пейджеров;
- доступ только к определенному списку веб-страниц;
- физическое отключение внутренней сети предприятия от Интернета и использование для выхода в Интернет выделенных компьютеров и т. д.
К сожалению, жесткие ограничительные меры могут идти вразрез с пожеланиями конкретного пользователя или бизнес-процессами предприятия. В таких случаях приходится искать баланс, причем каждый раз по-разному. И, естественно, необходимо помнить, что организационные меры должны быть поддержаны техническими.
3. Важно обращать внимание на информацию от антивирусных компаний и экспертов по компьютерной безопасности. Обычно они своевременно сообщают о новых видах интернет-мошенничества, вирусных угрозах, эпидемиях и т. д.
Кроме того, я рекомендую помнить еще об одном весьма важном правиле — работать исключительно с лицензионным программным обеспечением и вовремя его обновлять, причем не только операционную систему и офисный пакет, как это делают многие, но и установленное программное обеспечение независимых производителей.
Не стоит также пренебрегать и встроенным в Windows компонентом «Контроль учетных записей», позволяющим отследить нежелательные действия, в том числе попытки шифрования. Ведь все чаще вирусные атаки предпринимаются спустя несколько месяцев после появления соответствующих исправлений, и объектом атаки оказываются те пользователи и организации, которые не установили соответствующие обновления.
Вместе с тем неоднократно отмечались случаи, когда сообщения о новых вирусах и инцидентах не вполне соответствовали реальному уровню угрозы. Поэтому три приведенных выше правила компьютерной гигиены можно сформулировать так: обязательно защищаться, никому слепо не доверять, антивирусным компаниям верить можно, однако помнить, что они тоже могут ошибаться.
Что еще можно сделать
Одной из перспективных технологий антивирусной защиты является эвристический анализ. Это метод, позволяющий находить вредоносное программное обеспечение путем поиска аномалий в поведении программ. При этом стоит помнить, что существует несколько базовых аномалий, на которые необходимо обращать внимание:
- отсутствие описания процесса (экран 2);
- ошибка в названии процесса:
— wiinlogon.exe вместо winlogon.exe;
— host.exe вместо svchost.exe;
- запуск из подозрительной папки.
Необходимо учесть, что эвристический анализ также, увы, не даст стопроцентную гарантию, что файл относится к вредоносному программному обеспечению. В некоторых случаях легитимное программное обеспечение тоже может иметь аномалии. Однако вероятность того, что файл является вредоносным, пропорциональна количеству аномалий в поведении программы.
Кроме того, стоит обращать внимание на сертификаты сайтов, ведь довольно часто поддельный сайт пытается установить на компьютер пользователя программу-троянца, и делает это именно с его согласия, и даже сообщает, что надо установить для ускорения и улучшения работы, хотя все системы защиты пытаются (правда, не слишком настойчиво) предупредить пользователя о нежелательности подобных действий (экран 3).
Экран 3. Сертификаты сайтов |
Как искать подозрительные процессы
Как правило, для просмотра запущенных процессов используется компонент операционной системы «Диспетчер задач». Однако стоит отметить, что существует целый ряд альтернативных программ с более широкой функциональностью. В этой статье мы обратимся к программному обеспечению Process Hacker (http://processhacker.sourceforge.net) в контексте обнаружения вредоносных процессов.
Process Hacker
Это бесплатный мощный универсальный инструмент, который поможет вам контролировать ресурсы системы и выполнять обнаружение вредоносных программ. Программное обеспечение Process Hacker 2.39.124 выпущено 29 марта 2016 года (экран 4).
Экран 4. Активность системы |
Графики и статистика данного приложения позволяют быстро отслеживать процессы, занимающие ресурсы, и процессы их освобождения (экран 5). Для просмотра информации о производительности системы используйте комбинацию клавиш Ctrl+I. Переместите курсор над графом, чтобы получить подсказку с информацией о точке данных под курсором. Вы можете дважды щелкнуть по графику, чтобы просмотреть информацию о процессе в этой точке данных, даже если процесс больше не работает.
Экран 5. Графики и статистика приложения Process Hacker |
Вы не можете отредактировать или удалить файл? Узнайте, какие процессы используют его, как показано на экране 6.
Экран 6. Процессы, использующие файл |
Примените комбинацию клавиш Ctrl + F для поиска дескриптора или библиотеки DLL. Если все остальное не помогает, можете щелкнуть правой кнопкой мыши по записи и закрыть дескриптор, связанный с файлом. Однако это следует делать только в крайнем случае, так как возможна потеря данных, как показано на экране 7.
Экран 7. Программы, имеющие активные сетевые подключения |
Следует учесть, что некоторые антивирусы обнаруживают Process Hacker и относят его к категории RiskTool. Безусловно, это не означает, что перед нами вредоносная программа, но все же необходимо добавлять данное программное обеспечение в список исключений.
В случае необходимости вы сможете задействовать другое приложение, Process Explorer (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer). Его интерфейс показан на экране 8.
Экран 8. Process Explorer |
Что такое упакованный процесс
Разберемся вначале с термином «упаковка». Для этого я хочу привести определение из статьи Николая Гребенникова, заместителя директора департамента инновационных технологий «Лаборатории Касперского» (http://www.itsec.ru/articles2/Oborandteh/tehnologii_zashiti_vredonosnih_programm):
«Упаковка — процесс уменьшения размера исполняемого файла с сохранением возможности самостоятельного выполнения. Реализуется с помощью специальных утилит — пакеров. Ранее упаковка использовалась для экономии места на жестком диске. На данный момент эта функция пакеров частично устарела, однако упаковкой активно пользовались и продолжают пользоваться авторы вредоносных программ, так как если программа-антивирус не умеет распаковывать файлы, упакованные некоторым пакером, то и найти в них вирус она также в большинстве случаев не сможет. На сегодня известно несколько сотен упаковщиков, а количество их версий приближается к трем тысячам».
Таким образом, упаковка — процесс сжатия исполняемого файла и добавление специального загрузчика, распаковывающего код после запуска файла. Упаковка может использоваться для:
- уменьшения размера файла;
- защиты кода и данных от простых методов анализа.
Упаковка часто применяется разработчиками (в том числе вредоносного программного обеспечения) для противодействия обратной разработке, позволяющей узнать, как функционирует программа. На экране 9 приведен пример упаковки файла с помощью утилиты UPX (https://upx.githab.io). На экране видно, что строки, определяющие операционную систему, превратились в нечитаемый набор символов. Факт упаковки определяется наличием случайных данных. Эту случайность можно измерить, вычислив энтропию файла. Утилита Process Hacker выделяет упакованные файлы фиолетовым цветом, как показано на экране 10.
Экран 9. Результат работы UPX |
Экран 10. Process Hacker показывает подозрительный файл |
В стандартной установке Windows любая программа, запущенная не администратором, не может создавать файлы в системных папках, поэтому вредоносное программное обеспечение часто устанавливает себя в пользовательские папки, например в папку Temp (папка с временными файлами) или в папку с документами.
Наиболее распространенные пути установки программ:
- c:\Program Files;
- c:\Program Files (x86);
- c:\Windows\System32.
Данные папки используются чаще всего, если пользователь вручную не пропишет иной путь.
Подозрительное расположение программ:
- C:\Users\cyber\AppData\Local\Temp;
- C:\Program Files\Google Chrome, если запускаемый файл не chrome.exe.
С помощью Process Hacker можно отыскать расположение запускаемого файла. Для этого следует выбрать интересующий вас процесс, а затем нажать правую клавишу мыши и из выпавшего меню выбрать Properties и путь запуска на вкладке General.