Файл: Debian Таненбаум Бос.pdf

ВУЗ: Не указан

Категория: Книга

Дисциплина: Операционные системы

Добавлен: 29.10.2018

Просмотров: 48118

Скачиваний: 190

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

746  

 Глава 9. Безопасность 

бы был жив Поттер Стюарт (Potter Stewart), он, наверное, сказал бы: «Я не могу дать 
определение программам-шпионам, но я их узнаю сразу же, как только увижу»

1

.

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

Барвинский (Barwinski et al., 2006) подразделяет программы-шпионы на три основные 
категории. Первая категория шпионов — маркетинговая: шпионы просто собирают 
информацию и отправляют ее хозяину, обычно для направления более нацеленной 
рекламы на определенные машины. Вторая категория шпионов — отслеживающая, 
таких шпионов компании намеренно устанавливают на машины своих работников, 
чтобы следить за тем, чем они заняты и какие веб-сайты посещают. Третья категория 
относится скорее к классическим вредоносным программам, благодаря которым зара-
женный компьютер вливается в армию зомби-машин, ожидающих приказов к действию 
от своего хозяина.

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

Более глубокое исследование было проведено в Вашингтонском университете 
(Moshchuk et al., 2006). При этом было проверено 18 млн URL-адресов, и почти на 6 % 
из них были обнаружены программы-шпионы. Поэтому неудивительно, что в исследо-
вании, проведенном компанией AOL/NCSA, которое цитируется, 80 % проверенных до-
машних компьютеров были заражены программами-шпионами, в среднем по 93 шпиона 
на компьютер. Исследование, проведенное в Вашингтонском университете, показало, 
что самые высокие показатели по заражению шпионами имели сайты для взрослых, 
сайты знаменитостей и сайты с обоями для рабочего стола, но они не изучали сайты 
турагентств и риелторов.

Методы распространения программ-шпионов

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

1

 Поттер Стюарт был судьей Верховного суда США с 1958 по 1981 год. Сейчас он более из-

вестен тем, что записал свое мнение, совпадающее с мнением большинства, относительно 
порнографии, сознавшись в том, что не может дать ей определение, но при этом добавив: 
«Я ее сразу же узнаю, как только увижу».


background image

9.9. Вредоносные программы   

747

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

Другой путь заражения часто называют попутной загрузкой (drive-by download). 
Программу-шпион (а по сути любую вредоносную программу) можно подцепить 
после обычного посещения зараженной веб-страницы. Существует три варианта 
заражения. Первый: веб-страница может перенаправить браузер на исполняемый 
(

.exe

) файл. Когда браузер сталкивается с файлом, он выводит диалоговое окно, 

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

Второй вариант связан с зараженной инструментальной панелью. И Internet Explorer, 
и Firefox поддерживают инструментальные панели сторонних производителей. Неко-
торые создатели программ-шпионов изготавливают привлекательную инструменталь-
ную панель, обладающую рядом полезных свойств, а затем дают ей широкую рекламу 
как выдающемуся бесплатному дополнению. Все установившие инструментальную 
панель получают и шпиона в придачу. К примеру, шпион содержится в популярной 
инструментальной панели Alexa. По сути, эта схема является троянским конем, только 
в другой упаковке.

Третий путь заражения носит более опосредованный характер. На многих веб-
страницах используется технология, разработанная корпорацией Microsoft, которая 
называется управляющими элементами activeX. Эти управляющие элементы являются 
двоичными программами для процессора x86, которые включаются в Internet Explorer 
и расширяют его функциональные возможности, например воспроизведение на веб-
страницах особых типов изображений, аудио- или видеоклипов. В принципе, эта тех-
нология вполне законна. Но на практике она чрезвычайно опасна и является, наверное, 
главным методом проникновения программ-шпионов. Мишенью такого подхода всегда 
выступает IE (Internet Explorer), но не Firefox, Chrome, Safari или другие браузеры.

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

Теперь предположим, что пользователь установил слишком высокий уровень безопас-
ности. При посещении зараженной веб-страницы IE обнаруживает элемент управления 
activeX и выводит диалоговое окно, которое содержит сообщение, предоставляемое 
веб-страницей
. В нем может говориться:

Вы хотите установить и запустить программу, ускоряющую ваш доступ к Интернету?

Большинство посчитает это полезной затеей, щелкнет на кнопке 

Да

 (Yes) — и машина 

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


background image

748  

 Глава 9. Безопасность 

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

Да

 (Yes).

Если они щелкают на кнопке 

Нет

 (No), то сценарий на веб-странице использует дефект, 

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

Да

, и происходит заражение машины.

Зачастую после этого программа-шпион выводит 20–30 страниц лицензионного согла-
шения, написанного на языке, знакомом разве что средневековому английскому поэту 
Джеффри Чосеру, но не его потомкам, не имеющим никакого отношения к профессии 
юриста. После того как пользователь примет лицензионное соглашение, он может по-
терять право выставления иска поставщику программы-шпиона, потому что он только 
что согласился на неконтролируемый запуск этой программы (иногда местные законы 
аннулируют подобные лицензии). Если в лицензии говорится: «Получатель лицензии та-
ким образом предоставляет без возможности отзыва право выдающему лицензию убить 
мать получателя лицензии и предъявить права на наследство», — у выдающего лицензию 
возникнут неприятности с доказательствами в суде, когда он придет туда за причитаю-
щимся наследством, несмотря на то что получатель лицензии согласился с ее текстом.

Действия, предпринимаемые программой-шпионом

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

1.  Изменение домашней страницы браузера.

2.  Изменение в браузере списка избранных страниц (на которые сделаны закладки).

3.  Добавление к браузеру новых инструментальных панелей.

4.  Изменение медиаплеера, используемого пользователем по умолчанию.

5.  Изменение использующейся пользователем по умолчанию поисковой машины.

6.  Добавление новых значков на рабочий стол Windows.

7.  Замена на веб-страницах рекламного баннера на тот, вместе с которым была по-

добрана программа-шпион.

8.  Размещение рекламы на стандартные диалоговые окна Windows.

9.  Генерация постоянного потока всплывающих рекламных сообщений, который 

невозможно остановить.


background image

9.9. Вредоносные программы   

749

Первые три пункта изменяют поведение браузера, как правило, таким образом, что 
даже перезапуск системы не в состоянии восстановить прежние значения. Такая атака 
известна как мягкое ограбление браузера (browser hijacking). Мягкое — потому что 
есть ограбления и похуже. Действия из двух следующих пунктов этого списка изме-
няют установки реестра, переключая ничего не подозревающего пользователя на ис-
пользование другого медиаплеера (который отображает ту рекламу, которая нужна про-
грамме-шпиону) и другой поисковой машины (возвращающей ссылки на те веб-сайты, 
которые нужны программе-шпиону). Добавление значков на рабочий стол является 
явной попыткой заставить пользователя запустить только что установленную про-
грамму. Замена рекламного баннера (изображения в GIF-формате размером 468 × 60) 
на последующих веб-страницах создает впечатление, что посещаемые веб-сайты рекла-
мируют сайты, выбранные программой-шпионом. Но самое раздражающее действие 
представлено в последнем пункте: всплывающая реклама, которая может быть закрыта, 
но которая тут же генерирует другую рекламу ad infinitum (до бесконечности), и оста-
новить этот процесс невозможно. Кроме этого, программы-шпионы иногда отключают 
брандмауэр, удаляют конкурирующую программу-шпиона и наносят другой вред.

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

Программы-шпионы не следует путать с бесплатным программным продуктом с раз-
мещенной в нем рекламой

 (adware), когда вполне законные (но небольшие) постав-

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

9.9.5. Руткиты

Руткит

 (rootkit) — это программа или набор программ и файлов, пытающихся скрывать 

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

Разновидности руткитов

Рассмотрим пять разновидностей существующих в настоящее время руткитов. В каж-
дом случае нас будет интересовать вопрос: «Где прячется руткит?».

1.  Руткиты во встроенном программном обеспечении. По крайней мере теоретиче-

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


background image

750  

 Глава 9. Безопасность 

2.  Руткиты-гипервизоры. Очень коварная разновидность руткитов, способная за-

пускать всю операционную систему и все приложения на виртуальной машине 
под своим управлением. Первое доказательство существования этой концепции, 
ее синяя таблетка (как в фильме «Матрица»), было продемонстрировано польским 
хакером Джоанной Рутковской (Joanna Rutkowska) в 2006 году. Эта разновид-
ность руткитов, как правило, модифицирует загрузочную последовательность, 
чтобы при включении питания в роли надстройки над оборудованием выполнялся 
гипервизор, который затем запустит операционную систему и ее приложения на 
виртуальной машине. Сильной стороной этого, как и предыдущего, метода встра-
ивания руткита является то, что ничего не скрывается ни в операционной системе, 
ни в библиотеках или программах, поэтому детекторы руткитов, ведущие в них 
поиск, останутся ни с чем.

3.  Руткиты в ядре. В настоящее время к самой распространенной разновидности рут-

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

4.  Руткиты в библиотеках. Другим местом, где может прятаться руткит, является 

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

5.  Руткиты в приложениях. Еще одним местом, где прячутся руткиты, являются 

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

Пять мест, где могут прятаться руткиты, показаны на рис. 9.26.

Рис. 9.26. Пять мест, где может прятаться руткит

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