Материал: Троянские программы в ОС Windows

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

§  не допустить внедрения программной закладки в компьютерную систему;

§   выявить внедренную программную закладку;

§   удалить внедренную программную закладку.

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

§  навязывать конечные результаты контрольных проверок;

§   влиять на процесс считывания информации и запуск программ, за которыми осуществляется контроль;

§   изменять алгоритмы функционирования средств контроля.

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

.1 Защита от внедрения программных закладок

Универсальным средством защиты от внедрения программных закладок является создание изолированного компьютера. Компьютер называется изолированным, если выполнены следующие условия:

§  в нем установлена система BIOS, не содержащая программных закладок;

§   операционная система проверена на наличие в ней закладок;

§   достоверно установлена неизменность BIOS и операционной системы для данного сеанса;

§   на компьютере не запускалось и не запускается никаких иных программ, кроме уже прошедших проверку на присутствие в них закладок;

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

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

Интересный метод борьбы с внедрением программных закладок может быть использован в информационной банковской системе, в которой циркулируют исключительно файлы-документы. Чтобы не допустить проникновения программной закладки через каналы связи, в этой системе не допускается прием никакого исполняемого кода. Для распознавания событий типа "ПОЛУЧЕН ИСПОЛНЯЕМЫЙ КОД" и "ПОЛУЧЕН ФАЙЛ-ДОКУМЕНТ" применяется контроль над наличием в файле запрещенных символов: файл признается содержащим исполняемый код, если в нем присутствуют символы, которые никогда не встречаются в файлах-документах.

4.2 Выявление внедренной программной закладки

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

§  качественные и визуальные;

§   обнаруживаемые средствами тестирования и диагностики.

К качественным и визуальным признакам относятся ощущения и наблюдения пользователя компьютерной системы, который отмечает определенные отклонения в ее работе (изменяется состав и длины файлов, старые файлы куда-то пропадают, а вместо них появляются новые, программы начинают работать медленнее, или заканчивают свою работу слишком быстро, или вообще перестают запускаться). Несмотря на то, что суждение о наличии признаков этого класса кажется слишком субъективным, тем не менее, они часто свидетельствуют о наличии неполадок в компьютерной системе и, в частности, о необходимости проведения дополнительных проверок присутствия программных закладок. Например, пользователи пакета шифрования и цифровой подписи "Криптоцентр" с некоторых пор стали замечать, что цифровая подпись под электронными документами ставится слишком быстро. Исследование, проведенное специалистами ФАПСИ, показало присутствие программной закладки, работа которой основывалась на навязывании длины файла. В другом случае тревогу забили пользователи пакета шифрования и цифровой подписи "Криптон", которые с удивлением отметили, что скорость шифрования по криптографическому алгоритму ГОСТ 28147-89 вдруг возросла более чем в 30 раз. А в третьем случае программная закладка обнаружила свое присутствие в программе клавиатурного ввода тем, что пораженная ею программа перестала нормально работать.

Признаки, выявляемые с помощью средств тестирования и диагностики, характерны как для программных закладок, так и для компьютерных вирусов. Например, загрузочные закладки успешно обнаруживаются антивирусными программами, которые сигнализируют о наличии подозрительного кода в загрузочном секторе диска. С инициированием статической ошибки на дисках хорошо справляется Disk Doctor, входящий в распространенный комплект утилит Norton Utilities. А средства проверки целостности данных на диске типа Adinf позволяют успешно выявлять изменения, вносимые в файлы программными закладками. Кроме того, эффективен поиск фрагментов кода программных закладок по характерным для них последовательностям нулей и единиц (сигнатурам), а также разрешение на выполнение только программ с известными сигнатурами.

.3 Удаление внедренной программной закладки

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

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

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


Троянской программой (троянцем, или троянским конем) называется:

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

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

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

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


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

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

К последним можно отнести, например, троянскую программу PC CYBORG, которая завлекала ничего не подозревающих пользователей обещаниями предоставить им новейшую информацию о борьбе с вирусом, вызывающим синдром приобретенного иммунодефицита (СПИД). Проникнув в компьютерную систему, PC CYBORG отсчитывала 90 перезагрузок этой системы, а затем прятала все каталоги на ее жестком диске и шифровала находящиеся там файлы.

Другая троянская программа называлась AOLGOLD. Она рассылалась по электронной почте в виде заархивированного файла. В сопроводительном письме, прилагавшемся к этому файлу, говорилось о том, что AOLGOLD предназначена для повышения качества услуг, которые предоставляет своим пользователям крупнейший американский Internet-провайдер America Online (AOL). Архив состоял из двух файлов, один из которых именовался INSTALL.BAT. Пользователь, запустивший INSTALL.BAT, рисковал стереть все файлы из каталогов С:\, C:\DOS, C:\WINDOWS и C:\WINDOWS\SYSTEM на своем жестком диске.

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

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

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

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

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

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

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

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

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

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

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

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