Электронная библиотека » Коллектив Авторов » » онлайн чтение - страница 3


  • Текст добавлен: 9 ноября 2013, 23:45


Автор книги: Коллектив Авторов


Жанр: Зарубежная компьютерная литература, Зарубежная литература


сообщить о неприемлемом содержимом

Текущая страница: 3 (всего у книги 69 страниц) [доступный отрывок для чтения: 18 страниц]

Шрифт:
- 100% +
Закон 3. От кода злоумышленника нельзя защититься на 100 %

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

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

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

Как работает антивирусное программное обеспечение? Перед выполнением программы антивирусные средства сканируют ее код или носитель информации для определения «вредных штучек», которые обычно состоят из вирусов, Троянских коней и даже потенциального инструментария хакера. Тем не менее имейте в виду, что только разработчик вашего антивирусного программного обеспечения определяет, что именно проверяется. Это справедливо при условии, что у вас нет ни времени, ни инструментария для формирования собственных файлов сигнатур. Файлы сигнатур – основа большинства антивирусных программ. Они обычно состоят, как хочется верить, из уникальных для отдельного вируса или Троянского коня порций двоичных данных. Поэтому если на ваш компьютер попадает не зафиксированный в базе данных вирус, то ваше антивирусное программное обеспечение вам помочь не сможет.

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

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

Поскольку целая глава этой книги посвящена вирусам и Троянским коням, то авторы опустят многие детали написания вирусов или обмана людей посредством Троянского коня во время его выполнения. Будет лучше, если авторы приведут их любимый пример на тему вирусов. В апреле 2000 года пользователи Интернета впервые познакомились с вирусом «I love you». Это был еще один представитель вирусных червей (программ, самостоятельно распространяющих свои копии по сети). Вирус «I love you» выполнялся совместно с программой электронной почты Microsoft Outlook. Он обладал гораздо большим разрушительным эффектом в результате рассылки самого себя всем адресатам адресной книги, а не первым пятидесяти, как более ранний вирус «Мелисса». Но, несмотря на усилия разработчиков антивирусного программного обеспечения и других специалистов по сдерживанию вируса, он быстро распространялся и порождал множество имитаторов вирусов за короткий промежуток времени после своего возникновения. Почему его не смогли остановить быстрее? В случае ряда моих клиентов – из-за слишком большого числа служащих, которые не смогли сопротивляться желанию узнать, кто их так сильно любит! Ограничение распространения вирусов не всегда входит в компетенцию вашей безопасности или программного обеспечения, следящего за безопасностью вашего компьютера.

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

Примечание

Этот закон используется в главе 15.

Закон 4. Всегда может быть создана новая сигнатура кода, которая не будет восприниматься как угроза

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

Теперь это не так. Ряд новейших вирусов размножается намного быстрее. Многие из них используют электронную почту для рассылки себя среди пользователей. Некоторые даже маскируются под вас и используют грубую форму социотехники для обмана ваших друзей и проникновения в их компьютеры. В этом году многие стали свидетелями подобного происшествия, наблюдая за различными версиями вируса «Code Red», который распространился по всему миру. Если вспомните, первоначальная версия имела возможность запуска по времени и дате с запрограммированным нападением на Web-сайт американского правительства. В ряде различных модификаций вируса его поведение было успешно изменено, что привело к быстрому увеличению числа атак и потребовало дополнительного времени для их отражения. Почему это оказалось настолько эффективным? Потому что возможности для модификации кода вируса бесконечны и для этого существуют многочисленные методы. Например, можно модифицировать первоначальный код, чтобы создать новую сигнатуру кода, сжать файл, зашифровать файл, защитив его паролем или иначе изменить, для того чтобы избежать обнаружения кода вируса. В результате будет получена новая сигнатура кода, которая еще не будет признана вирусными сканерами, межсетевыми экранами и системами обнаружения вторжения как угроза, что позволит модифицированному вирусу беспрепятственно их преодолевать.

Примечание

Этот закон используется в главах 15 и 16.

Инструментарий

Хотите проверить межсетевой экран?

Есть невероятное число свободно распространяемых инструментальных программных средств, доступных вам для проверки собственной уязвимости. Конечно, основные средства включают в себя основные команды протокола TCP/IP, встроенные в протокол: ping, tracert, pathping, Telnet и nslookup помогут быстро оценить уязвимость вашей системы. Наряду с ними у авторов есть пара любимых инструментальных средств, позволяющих быстро исследовать и проверить информацию о различных IP-адресах:

• SuperScan от компании Foundstone Corporation: www.Foundstone.com/knowledge/free_tools.html (щелкните мышкой на SCANNER);

• Sam Spade от компании SamSpade.org: www.samspade.org.

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

Закон 5. Межсетевые экраны не защищают на 100 % от атаки злоумышленника

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

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

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

До тех пор, пока какому-либо трафику разрешено проходить через межсетевой экран, сохраняется потенциальная угроза нападения. Например, большинство межсетевых экранов разрешают тот или иной доступ к заранее определенным Web-узлам, из защищаемой сети к Web-узлам и обратно или только к Web-серверам. Простейшая реализация подобного варианта доступа основана на фильтрации порта, которая может быть осуществлена маршрутизатором со списками доступа. Простой фильтр трафика по протоколу ICMP, блокируя трафик внешнего интерфейса, запретит прохождение ответов от вашей системы к другой при выдаче команды ping. Для примера воспользуйтесь командами ping или tracert, указав в качестве параметра адрес www.microsoft.com. Вы получите сообщение о превышении интервала ожидания ответа на запрос. Узел компании Микрософт вышел из строя? Вряд ли. Скорее всего, при настройке системы обеспечения безопасности была заблокирована, помимо всего прочего, передача информации по протоколу ICMP. Есть несколько уровней защиты, которые могут предоставить межсетевые экраны для работы в Интернет. Простое конфигурирование маршрутизатора позволит хостам внутренней сети, защищенной межсетевым экраном, получить доступ к любой машине в Интернете по порту 80 протокола TCP, а также любой машине в Интернете послать ответ c 80 порта на любую машину защищенной сети. Более «осторожные» межсетевые экраны могут понимать протокол HTTP, пропуская только разрешенные команды HTTP. Это поможет сравнить сайт, посещаемый пользователем в данный момент, со списком сайтов, запрещенных к посещению. Тем самым можно сразу передавать программе сканирования вирусов файлы, полученные с этих сайтов, для проверки.

Давайте рассмотрим пример максимально защищенного межсетевого экрана протокола HTTP. Пусть вы администратор межсетевого экрана. Вы сконфигурировали межсетевой экран таким образом, что разрешили только некоторые команды протокола HTTP. Вы разрешаете вашим пользователям посещать только те сайты, которые перечислены в списке из 20 санционированных к посещению сайтов. Вы настроили межсетевой экран таким образом, чтобы не пропускать программы на языках Java, JavaScript и ActiveX. Вы сконфигурировали межсетевой экран таким образом, что разрешили лишь загрузку HTML-файлов и файлов с расширениями gif и jpg.

Могут ли ваши пользователи чувствовать себя в безопасности за межсетевым экраном, настроенным подобным образом? Конечно, могут. Пусть я буду злым хакером (или возможно, неосведомленным в вопросах безопасности Web-мастером), пытающимся передать свою программу через такой межсетевой экран. Как мне обойти тот факт, что вы разрешили загружать только определенные типы файлов? Я разработаю и вывешу на всеобщее обозрение Web-страницу, которая сообщает вашим пользователям о необходимости нажатия правой копки мыши на jpg-файле для его загрузки на компьютер пользователя, а затем переименую загруженный файл в evil.exe, как только он окажется на вашем жестком диске (имеется в виду, что предварительно внедряемая программа была переименована в jpg-файл). Как преодолеть антивирусное программное обеспечение? Вместо сообщения вашим пользователям о переименовании файла в исполнимый exe-файл я сообщаю им о его переименовании в zip-файл и разархивирую его с использованием пароля «hacker». Ваше антивирусное программное обеспечение никогда не сможет проверить защищенный паролем архивный zip-файл. Пусть вы тем или иным способом не позволите своим пользователям попасть на мой сайт. Нет проблем. Все, что я должен делать, – это взломать один из одобренных вами для посещения сайтов. Однако вместо обычного очевидного искажения информации на сайте я оставлю все как есть, но с маленьким дополнением небольшого кода на JavaScript. К тому времени, когда кто-либо обнаружит эту едва различимую подмену, я наверняка добьюсь своей цели.

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

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

Оказывается, есть множество способов подвергнуться нападению через межсетевой экран. В идеале межсетевые экраны осуществляют политику безопасности в полной мере. В действительности межсетевой экран создают люди, поэтому он далек от совершенства. Одна из основных проблем межсетевых экранов состоит в том, что его администраторы с трудом могут ограничить именно тот трафик, который они хотели бы. Например, в политике безопасности может быть заявлено, что разрешен доступ к Интернету по протоколу HTTP и запрещено использование RealAudio. Администратору межсетевого экрана следует запретить порты RealAudio, не так ли? Проблема состоит в том, что люди, которые написали RealAudio, понимая, что подобное может произойти, предоставили пользователю возможность загрузить файлы RealAudio по протоколу HTTP. В действительности если вы при настройке не укажите явно вариант доступа к содержимому RealAudio с Web-сайта, то большинство версий RealAudio выполнит ряд проверок для определения варианта подобного доступа. При этом, если это потребуется, автоматически будет выбран протокол HTTP. Фактически проблема в этом случае состоит в том, что любой протокол может быть туннелирован по любому другому, если только синхронизация по времени не критична (то есть если туннелирование не приведет к чрезмерному замедлению работы). RealAudio выполняет буферизацию, если сталкивается с проблемой синхронизации.

Разработчики различных интернетовских «игрушек» хорошо осознают, какие протоколы обычно разрешены, а какие нет. Много программ разработано с использованием протокола HTTP в качестве основного или резервного средства переноса информации через сеть.

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

Социотехника

Социотехника – это искусство обмана пользователей сети или администраторов, используемое злоумышленниками с целью выведывания паролей, необходимых для проникновения в защищенную систему. Обман – один из первых и наиболее очевидных способов преодоления межсетевого экрана. Электронная почта стала очень популярным средством, с помощью которого предпринимаются попытки обмануть людей, заставив их совершить дурацкие поступки. Вирусы «Мелисса» и «I live you» – наиболее известные примеры подобного обмана. Другими примерами могут служить специально написанные программы, демонстрирующие свое злонамеренное поведение во время выполнения (Троянские кони), или вполне легальные программы, которые были «инфицированы» или взяты под контроль тем или иным способом (Троянские кони/вирусы). В большинстве операций массовой почты низкой скорости реакции пользователя вполне достаточно для успеха. В случае злонамеренной пользовательской программы ущерб может быть особенно значительным, поскольку у антивирусных программ нет шансов обнаружить ее. Для информации о том, что можно сделать с вирусом или Троянским конем, см. главу 15.

Нападение на незащищенные сервера

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

Проблема для администраторов межсетевых экранов состоит в том, что межсетевые экраны не до конца интеллектуальны. Они могут фильтровать потоки информации, могут требовать выполнения процедуры аутентификации и регистрировать информацию, но они не могут отличить плохой разрешенный запрос от хорошего. Например, автору не известен ни один межсетевой экран, способный отличить легитимный запрос для Web-страницы от нападения с использованием сценария CGI. Конечно, некоторые межсетевые экраны могут быть запрограммированы для поиска некоторых типов CGI-сценариев, которые пытались выполнить (например, *.phf). Но если вы захотите распространить CGI-сценарий для совместного использования, межсетевой экран не в состоянии отличить законных пользователей от атакующего злоумышленника, нашедшего дырку в системе защиты. Многое из сказанного справедливо для протоколов SMTP, FTP и большинства других широко используемых сервисов. Все они уязвимы. (В главе 7 приведены дополнительные сведения о нападениях на сетевые сервисы и примеры атак при помощи CGI-сценариев.)

Предположим, что вы нашли способ проникнуть на сервер в демилитаризованной зоне. В результате вы получили доступ к корневому каталогу сервера или права администратора на сервере. Означает ли это, что удалось проникнуть во внутреннюю сеть? Пока еще нет. Вспомните, что согласно ранее данному определению демилитаризованной зоны устройства зоны не имеют доступа во внутреннюю сеть. На практике это выполняется не всегда, поскольку очень немногие изъявляют желание заниматься администрированием своих серверов, сидя за консолью. Что, если на FTP-сервере, например, они захотели бы открыть всем, исключая себя, доступ к FTP-портам? И пусть в интересах работы организации наибольшая часть трафика в сети должна проходить от внутренней сети к демилитаризованной зоне. Большинство межсетевых экранов могут работать как диоды, пропуская трафик только в одном направлении. Организовать подобный режим работы сложно, но можно. В этом случае главная трудность проникновения во внутреннюю сеть состоит в том, что вы должны находиться в ожидании наступления определенных событий. Например, если вы поймаете момент начала передачи данных по протоколу FTP или момент открытия администратором во внутренней сети окна XWindow (XWindow окна широко используются в сетевой среде UNIX протокола для многооконного отображения графики и текста), то у вас появится возможность проникнуть во внутреннюю сеть.

Более вероятно, что вы захотите найти порт, открытый для работы. Многие сайты поддерживают сервисные возможности, для работы которых требуется, чтобы компьютеры демилитаризованной зоны могли инициировать обратную связь с компьютерами внутренней сети. Это может быть электронная почта (почта должна быть доставлена во внутреннюю сеть), поиск по базам данных (например, для сайтов электронной коммерции) и, возможно, механизмы отчетности (вероятно, системные журналы). Попытка проникновения из демилитаризованной зоны во внутреннюю сеть упрощается, потому что вы сможете точно определить момент обмена информацией между демилитаризованной зоной и внутренней сетью. Рассмотрим следующую ситуацию. Предположим, что вам удалось успешно проникнуть на почтовый сервер в демилитаризованной зоне, используя ошибки почтового демона (демон – сетевая программа, работающая в фоновом режиме, или процедура, запускаемая автоматически при выполнении некоторых условий). Появились хорошие возможности наладить связь из демилитаризованной зоны с внутренним почтовым сервером. Возможности хороши, поскольку на внутреннем почтовом сервере выполняется тот же самый почтовый демон, который вы только что взломали, или даже менее защищенный (в конце концов, это – внутренний компьютер, который не предназначен для непосредственной работы с Интернетом, не так ли?).


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Следующая
  • 4.6 Оценок: 5

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации