Троянские программы

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

1.3.1 Троянские утилиты удаленного администрирования (Backdoor). Троянские программы этого класса являются утилитами удаленного администрирования (управления) компьютеров. В общем, они очень похожи на «легальные» утилиты того же направления. Единственное, что определяет их как вредоносные программы, — это их действия без ведома пользователя. Данная программа при установке иили загрузке не выдает никаких уведомлений. Таким образом, обладатель конкретной копии данного ПО может без ведома пользователя осуществлять операции разного рода (от выключения компьютера до манипуляций с файлами). Таким образом, троянские программы данного класса являются одними из наиболее опасных. Некоторые backdoor’ы, также могут распространяться по сети, как сетевые черви, но не самостоятельно, а после соответствующей команды владельца копии.

1.3.2 Похитители паролей (Trojan-PSW). Эти занимаются тем, что воруют пароли. Проникнув на компьютер и инсталлировавшись, троянец сразу приступает к поиску файлов, содержащих соответствующую информацию. Кража паролей — не основная спецификация программ этого класса — они также могут красть информацию о системе, файлы, номера счетов, коды активации другого ПО и т.д.

1.3.3 Интернет-кликеры (Trojan-clicker). Данное семейство троянских программ занимается организацией несанкционированных обращений к интернет- ресурсам путем отправления команд интернет-браузерам или подмены системных адресов ресурсов. Злоумышленники используют данные программы для следующих целей: увеличение посещаемости каких-либо сайтов (с целью увеличения количества показов рекламы); организация атаки на сервис; привлечение потенциальных жертв для заражения вредоносным программным обеспечением.

1.3.4 Загрузчики (Trojan-Downloader). Эти трояны занимаются несанкционированной загрузкой программного обеспечения (вредоносного) на компьютер ничего не подозревающего пользователя. После загрузки программа либо инсталлируется, либо записывается трояном в автозагрузку (это в зависимости от возможностей операционной системы).

1.3.5 Установщики (Trojan-Dropper). Эти устанавливают на компьютер-жертву программы — как правило вредоносные. Анатомия троянцев этого класса следующая: основной код, файлы. Основной код собственно и является троянцем. Файлы — это программа/ы, которая/ые он должен установить. Троянец записывает ее/их в каталог (обычно временных файлов) и устанавливает. Установка происходит либо незаметно для пользователя, либо с выбросом сообщения об ошибке.

1.3.6 Троянские прокси-серверы (Trojan-Proxy). Семейство троянских программ, скрытно осуществляющих доступ к различным интернет-ресурсам — обычно с целью рассылки спама.

1.3.7 Шпионские программы (Trojan-Spy). Данные трояны осуществляют шпионаж за пользователем: записывание информации, набранной с клавиатуры, снимки экрана и т.д. В данной категории также присутствуют «многоцелевые» троянские программы — например, те из них, которые одновременно шпионят за пользователем и предоставляют proxy-сервис удаленному злоумышленнику.

1.3.8 Сокрытие присутствия в операционной системе (Rootkit). Понятие rootkit пришло к нам из UNIX. Первоначально это понятие использовалось для обозначения набора инструментов, применяемых для получения прав root. Так как инструменты типа rootkit на сегодняшний день «прижились» и на других ОС (в том числе на Windows), следует признать подобное определение rootkit морально устаревшим и не отвечающим реальному положению дел. Таким образом, Rootkit — программный код или техника, направленная на сокрытие присутствия в системе заданных объектов (процессов, файлов, ключей реестра и т.д.). Для поведения Rootkit в классификации «Лаборатории Касперского» действуют правила поглощения: Rootkit — самое младшее поведение среди вредоносных программ. То есть, если Rootkit-программа имеет троянскую составляющую, то она детектируется как Trojan.

1.3.9 Архивные бомбы (ArcBomb).Вот это интересная штука... дело в том, что такого рода архив при попытке архиватора его обработать вызывает «нестандартные» действия последнего. Компьютер может просто зависнуть или его работа существенно замедлится. Также жесткий диск может заполниться бальшим колличесвом «пустой» информации. Встречаются три типа подобных «бомб»: некорректный заголовок архива, повторяющиеся данные и одинаковые файлы в архиве. Некорректный заголовок архива или испорченные данные в архиве могут привести к сбою в работе конкретного архиватора или алгоритма разархивирования при разборе содержимого архива. Значительных размеров файл, содержащий повторяющиеся данные, позволяет заархивировать такой файл в архив небольшого размера (например, 5 Гб данных упаковываются в 200 Кб RAR- или в 480 Кб ZIP-архив). Огромное количество одинаковых файлов в архиве также практически не сказывается на размере архива при использовании специальных методов (например, существуют приемы упаковки 10100 одинаковых файлов в 30 Кб RAR- или 230 Кб ZIP-архив).

1.3.10 Оповещение об атаке, увенчавшейся успехом (Trojan-Notifier). Троянцы данного типа предназначены для сообщения своему «хозяину» о зараженном компьютере. При этом на адрес «хозяина» отправляется информация о компьютере — например, его IP-адрес, номер открытого порта, адрес электронной почты и т.п. Отсылка осуществляется различными способами: электронным письмом, специально оформленным обращением к веб-странице «хозяина», ICQ-сообщением. Данные троянские программы используются в многокомпонентных троянских наборах для оповещения «хозяина» об успешной инсталляции троянских компонент в атакуемую систему.

 

1.4 Прочие вредоносные программы

К прочим вредоносным относятся разнообразные программы, не представляющие угрозы непосредственно компьютеру, на котором исполняются, а разработанные для создания других вирусов или троянских программ, организации DoS-атак на удаленные серверы, взлома других компьютеров и т.п. Сетевые атаки (Dos, DDoS). Эти «утилиты» используются нарушителями для организации атак на отказ в обслуживании. При выполнении атаки в адрес жертвы отправляется большое количество пакетов, в результате оборудование не справляется, и наступает так называемый «висюк». Программы данного класса бывают двух видов: первый — атака производится с компьютера злоумышленника по его приказу; второй — осуществляется распределительная атака путем заражения компьютеров (такой компьютер называется компьютером-зомби), пользователь работает в сети и при этом не подозревает, что его компьютер — учасник распределительной атаки, направленной на отказ в обслуживании.

1.4.1 Взломщики удаленных компьютеров (Exploit, Hacktool).Эти программы используются хакерами для удаленного взлома компьютеров с целью дальнейшего управления ими. При этом эксплойты направлены непосредственно на работу с уязвимостями.

1.4.2 «Замусоривание» сети (Flood). Забивание интернет-каналов бесполезной информацией.

1.4.3 Конструкторы (Constructor).Софт, использующийся, как правило, малограмотными людьми, т.к. позволяют наиболее просто создавать троянские программы и т.д. Люди знающие обычно пишут свои;)).

1.4.4 Фатальные сетевые атаки (Nuker). Утилиты, отправляющие специально оформленные запросы на атакуемые компьютеры в сети, в результате чего атакуемая система прекращает работу. Используют уязвимости в программном обеспечении и операционных системах, в результате чего сетевой запрос специального вида вызывает критическую ошибку в атакуемом приложении.

1.4.5 Введение пользователя в заблуждение (Bad-Joke, Hoax). Это, в общем-то, и вредоносной программой назвать нельзя. Это программка, которая заставляет пользователя испытать страх, эквивалентный тому, который он ощущает при виде надписи типа: «Warning! System has bin delete», ну, или что-то в этом роде.

1.4.6 Шифровальщики вредоносного ПО (FileCryptor, PolyCryptor). Это хакерские утилиты, которые занимаются тем, что скрывают другое вредоносное ПО от антивирусных программ.

1.4.7 «Полиморфы» (PolyEngine). Этих вирусами можно назвать тоже с натяжкой, ведь, в принципе, в их коде не заложены действия на размножение, порчу информации и т.д. Но все же...

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

 

2 Принципы работы антивирусных программ

 

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

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

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

2. Проактивная защита – защита от новых вредоносных программ, основанная на знании неуникальных особенностей кода и поведения, характерных для деструктивного ПО.

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

- анализ кода подозрительных объектов;

- поведенческий анализ подозрительных объектов;

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

Антивирусные технологии можно классифицировать и по тому, в каком режиме осуществляется защита:

- постоянный мониторинг за процессами на компьютере и в сети, и обнаружение угроз «на лету», например, при открытии зараженного файла или загрузке инфицированной веб-страницы в браузер;

- сканирование компьютера, запускаемое по расписанию, событию или запросу пользователя.

Ещё один способ классификации технологий, реализующих принцип антивирусной защиты:

- блокирование или ограничение активности объектов, содержащихся в «черных» списках (например, в базах сигнатур угроз), и разрешение запуска всех остальных;

- разрешение активности только безопасных объектов из «белых» списков и запрет активности всех остальных;

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

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

 

3 Методы обнаружения вредоносного ПО

 

3.1 Метод соответствия определению вирусов в словаре

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

- удаление файла;

- запретить пользователю доступ к файлу;

- отправить файл в хранилище (или на карантин), которое закроет возможность дальнейшего распространения вируса по компьютеру;

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

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

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

NuWave Software для примера, использует ресурс сразу пяти ядер (из которых три занимаются поиском вирусов, а оставшиеся два — программ-шпионов)

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

Есть во всем этом и оборотная сторона медали. Разумеется, программы постоянно совершенствуются, модифицируются, разработчики стараются создать более качественный софт, но и создатели вирусов не отстают. Хакеры и просто авторы вирусов стараются обойти защиту, используя слабые места антивирусника, путем создания так называемых «олигоморфических, полиморфических и метаморфических» вирусов. Суть в том, что отдельные части кода, из которых состоит вирус, шифруются таким образом, что программе-антивирусу практически невозможно обнаружить совпадение в коде из вирусной БД.

 

3.2 Метод обнаружения странного поведения программ

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

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

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

 

3.3 Метод обнаружения при помощи эмуляции

Не настолько популярный, но все-таки заслуживающий внимания способ, при котором антивирус самостоятельно имитирует выполнение кода той или иной программы (которую вызывает пользователь) до того, как запустить ее. Соответственно, если программа использует код, который самоизменяется, либо будет проявлять подозрительную активность (схожую на вирусную) — эта программа будет воспринята как вредоносная.

Этот принцип работы антивируса является не особо популярным, в виду его слабой эффективности — большинство подобных «находок» ошибочны.

 

3.4 Метод «Белого списка»

«Белый список» — неотъемлемая часть технологий, которые борются с вирусами. Он позволяет экономить и время и ресурсы и избежать лишних предупреждений. Суть в том, что антивирусная программа проверяет все программные коды, и выполняемые действия (а также пресекает их, если нужно) за исключением отмеченных пользователем, точнее администратором. Таким образом, пользователь может снять ограничения, которые возникают после обновлений сигнатур. Более того, можно настроить все таким образом, чтобы выполнялись только установленные программы, которые есть в списке, благодаря этому, неустановленные программы (если они не нужны пользователю, разумеется) не составят никакой опасности для компьютера. У современных разработчиков большинство приложений выходит со статусом «надежное», то есть они несут полную ответственность за их работоспособность и защищенность от вирусов, другими словами составляют свои «белые списки». Подобные факторы очень сильно облегчают работу антивируснику, а также избавляют пользователя от многих хлопот.

Вот и все основные принципы, по которым работают современные антивирусники. Ничего сложного и лишнего, правда может это и к худшему, авторы вирусов тоже не дремлют. Кстати, насчет последнего метода с «белым списком», парадокс может, но все самые популярные сегодня на рынке ИТ антивирусы используют за основу принцип работы противоположного «черного списка». Это объясняется тем, что подобный метод позволяет работать по схеме подписки, где есть услуга со стороны компании-разработчика – поддерживаться в актуальном состоянии антивирусных баз данных, и есть плата со стороны клиента за пользование этой услугой. Другими словами, метод «черного списка» является более прибыльным и, соответственно, популярным, чем противоположный ему.

 

Контрольные вопросы

 

1. Приведите и поясните деление вредоносного ПО на виды и классы.

2. Приведите и поясните вариант классификации принципов работы антивирусных программ.

3. Поясните обнаружение вредоносного ПО методом соответствия определению вирусов в словаре.

4. Поясните обнаружение вредоносного ПО методами «белого» и «черного» списков.

5. Поясните обнаружение вредоносного ПО методами обнаружения странного поведения программ и при помощи эмуляции.