Троянские программы. Статья обновлена в 2023 году.

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

.

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


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

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

Откуда берутся троянские программы

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

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

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

Случается и так, что некоторые утилиты оказываются скомпрометированы программистами, которые нe имеют никакого отношения к их разработке. Например, после создания сетевого анализатора SATAN в его дистрибутив, предназначенный для установки на компьютеры с операционной системой Unux, каким-то образом попала троянская программа, расположившаяся в утилите fping. Первый же запуск модифицированной утилиты fping на исполнение приводил к тому, что в файл /etc/passwd добавлялась запись для пользователя с именем suser, который в результате мог войти в Unux и тайно получить в ней полномочия администратора. Однако создатель троянца не предусмотрел возможности "затенения" паролей в системах семейства UNIX.(В этом случае а файл \ etc\passwd вместо шифрованных паролей пользователей записываются служебные символы (к примеру, звездочки), а вся информация о пользовательских паролях прячется в другом месте и делается недоступной для чтения при помощи обычных средств).

В результате скомпрометированными оказались всего лишь два компьютера, на которых был установлен этот "испорченный" дистрибутив сетевого анализатора SATAN для Linux (в этих компьютерах не использовалось "затенение" паролей).

Троянская программа (троянец, троянский конь) это:

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

Где обитают и как часто встречаются троянские программы

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

В настоящее время существует целый ряд троянских программ, которые можно совершенно свободно скачать, подключившись к глобальной компьютерной сети Internet. Наибольшую известность среди них получили троянцы Back Orifice, Net Bus и Subseven (рис. 1-2). На Web-узле группы разработчиков Back Orifice, которая именует себя "Cult of Dead Cow", можно даже найти с десяток постеров, которые предназначены для рекламы ее последней разработки - троянца Back Orifice 2000



Рис.1. Общий вид троянской программы Back Orifice 2000



Рис.1. Общий вид троянской программы SubSeven

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

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

Иногда ущерб, который может нанести троянец, оценить довольно легко. Например, если он предназначен для пересылки по электронной почте содержимого файла /etc/passwd, в котором операционные системы семейства UNIX хранят информацию о пользовательских паролях, достаточно установить "чистую" версию программы взамен той, в которой свил себе гнездо этот троянец. Далее пользователи должны будут обновить свои пароли, и на этом борьба с ним успешно завершается.

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

Троянская программа PC CYBORG завлекала ничего не подозревающих пользователей обещаниями предоставить им новейшую информацию о борьбе с вирусом, вызывающим синдром приобретенного иммунодефицита (СПИД). Проникнув в компьютерную систему, PC CYBORG отсчитывала 90 перезагрузок этой системы, а затем прятала все каталоги на ее жестком диске и шифровала находящиеся там файлы.
Программа AOLGOLD рассылалась по электронной почте в виде заархивированного файла. В сопроводительном письме говорилось о том, что AOLGOLD предназначена для повышения качества услуг, которые предоставляет своим пользователям крупнейший американский Internet-провайдер America Online (A OL). Архив состоял из двух файлов, один из которых именовался INSTALL.BAT. Компьютерный пользователь, запустивший INSTALL.BAT, рисковал стереть все файлы из каталогов С:\, C:\DOS, C:\WINDOWSu C:\WINDOWS\SYSTEMHO своем жестком диске

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

Как распознать троянскую программу

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

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

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

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

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

Итак, в борьбе с троянцами положиться на отметку о времени последней модификации файла и его размер нельзя, поскольку злоумышленник может их довольно легко подделать. Более надежной в этом отношении является так называемая контрольная сумма файла. Для ее подсчета элементы файла каким-либо образом суммируются, и получившееся в результате число объявляется его контрольной суммой. Например, в операционной системе SunOS существует специальная утилита sum, которая выводит на устройство стандартного вывода STDOUT контрольную сумму файлов, перечисленных в строке аргументов этой утилиты.

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

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

Исторически сложилось так, что большинство утилит, позволяющих бороться с проникновением в компьютерную систему троянских программ путем однонаправленного хеширования файлов, было создано для операционных систем семейства UNIX. Среди таких утилит одной из наиболее удобных в эксплуатации и эффективных является TripWire, которую можно найти в Internet по адресу http://tripwiresecurity/. TripWire позволяет производить однонаправленное хеширование файлов при помощи нескольких алгоритмов, среди которых - МОД, MD5, Sherfu и SHA. Вычисленные хеш-значения файлов хранятся в специальной базе данных, которая, в принципе, является самым уязвимым звеном при использовании TripWire. Поэтому пользователям TripWire предлагается в обязательном порядке принимать дополнительные меры защиты, чтобы исключить доступ к этой базе данных со стороны злоумышленника (например, помещать ее на съемном носителе, предназначенном только для считывания с него информации).

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

Что касается операционных систем семейства Windows (95/98/NT), то так получилось, что средства борьбы с троянцами в них традиционно являются частью антивирусного программного обеспечения. Поэтому, чтобы отлавливать Back Orifice, NetBus, Subseven и другие подобные им троянские программы, необходимо обзавестись самым современным антивирусом (например, программой Norton Antivirus 2000 компании Symantec) и регулярно проверять свой компьютер на присутствие в нем вирусов (см. рис. 3 - Антивирусная программа Norton Anthirus 2000 позволяет обнаруживать присутствие в компьютерной системе наиболее распространенных троянцев и избавляться от них ).



Тем, кто хочет иметь в своем распоряжении утилиту, предназначенную именно для отлова троянцев в компьютерах, которые работают под управлением операционных систем семейства Windows, можно посоветовать воспользоваться программой The Cleaner компании MooSoft Development (http:// homestead.corn / moosoft / cleaner.html). Эта утилита специально "заточена" для борьбы с более чем четырьмя десятками разновидностей троянских программ (см. рис. 4 - Основное рабочее окно програмы the Cleaner).

Панорама средств борьбы с троянскими программами была бы весьма неполной, если обойти вниманием недавно появившиеся на рынке программные пакеты, предназначенные для комплексной защиты от угроз, с которыми сталкиваются пользователи настольных компьютеров при работе в Internet. Одним из таких пакетов является eSafe Protect компании Aladdin Knowledge Systems (демонстрационную версию eSafe Protect можно найти в Internet по адресу esafe.corn).

Функционально eSafe Protect делится на три компонента - антивирус, персональный брандмауэр и модуль защиты компьютерных ресурсов (см. рис. 5 - Рабочее окно программного пакета eSafe Pro-tect, через которое осуществляется доступ к конфигурационным настройкам входящих в eSafe Protect компонентов, производится запуск антивируса и рискретно устанавливается степень защищенности компьютерной системы).

Антивирус избавляет компьютер от вредоносных программ благодаря применению антивирусного модуля VisuSafe, сертифицированного американским Национальным агентством компьютерной безопасности. Персональный брандмауэр контролирует весь входящий и исходящий трафик по протоколу TCP/IP, наделяя используемые IP-адреса определенными правами (например, ограничивая доступ в Internet в определенные часы или запрещая посещение некоторых Web-узлов).

Январь 1999 г. Популярная утилита TCP Wrapper, предназначенная для администрирования UNIX-систем и бесплатно распространяемая через Internet, на многих ftp-сайтах была заменена внешне похожей на нее программой — троянским конем. После инсталляции троянец отправлял электронное сообщение по определенным внешним адресам, оповещая своего хозяина об успешном внедрении. Потом он ждал, пока будет установлено удаленное соединение с портом 421 зараженного им компьютера, и предоставлял привилегированные права доступа через зтот порт.
Другая троянская программа распространялась среди пользователей AOL в виде вложения в письмо, рассылаемое по электронной почте. Открывшие это вложение заражали свой компьютер троянцем, который пытался найти пароль для подключения к AOL и в случае успеха шифровал его, а потом отсылал электронной почтой куда-то в Китай

Для защиты компьютерных ресурсов в компьютере, на котором установлен программный пакет eSafe Protect, создается специальная изолированная область - так называемая "песочница". Все автоматически загружаемые из Internet Java-аплеты и компоненты ActiveX сначала помещаются в "песочницу", где они находятся под неусыпным наблюдением eSafe Protect. И если попавшая в "песочницу" программа попытается выполнить какое-либо недозволенное действие, то оно немедленно будет блокировано. В течение заданного интервала времени (от 1 до 30 дней) каждое приложение, загруженное в компьютер из Internet, проходит "карантинную" проверку в "песочнице". Полученная в ходе такой проверки информация заносится в особый журнал. По истечении "карантина" приложение будет выполняться вне "песочницы", однако ему будут дозволены только те действия, перечень которых определяется на основе имеющихся журнальных записей.

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