На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

ДОЛГОСРОЧНОЕ   РЕШЕНИЕ для   ПОДМЕНЫ ГИПЕРССЫЛОК

Как уже упоминалось, подмена гиперссылок — это достаточно серьезная опас­ность для Web-путешественников. Основная проблема заключается в том, что SSL-сертификаты содержат неправильную информацию - имя DNS, что и ис­пользуется в этом типе атак. Имя DNS — это понятие более сложное, чем URL (который, в свою очередь, менее понятен пользователю, чем наглядная ссыл­ка). С течением времени появляется все больше и больше недостаточно техни­чески образованных пользователей Web. Все это не может не отразиться на пре­доставляемой сертификатами информации. В настоящее время многие пользо­ватели ищут Web-сайты компаний при помощи адресов вроде www. <л омпания >.сот или Ошибка! Недопустимый объект гиперссылки.. Однако, как показывает наш многолетний опыт, это не всегда так. Например, рассмотрим наиболее популярный поисковый процес­сор Web AltaVista, созданный компанией Digital. Многие пользователи предполо­жат, что адрес этого процессора выглядит так: http://www.altavista.com/. Но это не так; настоящий адрес этого продукта таков: http://www.digital.altavista.com/. Стоит отметить, что адрес http://www.altavista.com/пщн&ддежятотон из калифор­нийских компаний по разработке программного обеспечения. Приведем более экзотический пример. До недавнего времени в Техасе существовала консалтинго­вая компания, адрес Web-сайта которой выглядел так: http://www.microsOft.com/. Не имея никакого отношения к Microsoft, эта компания до сих пор получает сотни тысяч запросов от людей, занимающихся поисками сайта знаменитой компании.
Итак, пора сделать некоторые выводы. Несмотря на то что большинство URL отражает название компании-владельца Web-сайта, это не всегда верно. При регистрации имени домена власти Internet проверяют, чтобы он не принадлежал кому-либо другому. Однако факт нарушения авторского права при этом абсо­лютно не проверяется. Более того, DNS может не отражать ни имени компа­нии, ни рода ее деятельности. Но чтобы упростить себе жизнь, многие пользо­ватели путешествуют по Web при помощи а не DNS. При этом они ожи­дают, что текстовая или графическая ссылка подскажет им, куда ведет URL. показана связь между гиперссылками, URL и DNS.
Как показывает практика, «среднестатистический» Web-путешественник не по­нимает важности DNS, поэтому идентификация имен представляет для него не­мыслимую загадку. Многие пользователи не понимают URL; все их познания в этой области сводятся к описанной выше схеме \пт.<компания>.сот(ж считая адресов, объявленных по телевидению или размещенных в рекламе). Более того, не так давно в Internet Explorer появилась новая модная штучка - «дружелюбные» URL. С их помощью можно получить доступ ко всему сайту, внося небольшие изменения в отображенный в строке месторасположения (Location) URL. Одна­ко все подобные нововведения еще более уменьшают связь между изображением на экране и цифровым сертификатом сервера.
Настоящей проблемой для агентств по выдаче сертификатов стала задача опреде­ления внешнего вида сертификата (а точнее говоря, того, что должно быть ото­бражено в сертификате). Похоже, ее решение зависит от каждого конкретного приложения. Здесь автору книги приходит в голову старая пословица: «Скажи мне, кто твой друг, и я скажу, кто ты». В нашем случае она могла бы звучать примерно так: «Скажи мне, какой программой ты пользуешься, и я скажу, насколько ты опытен». Для некоторых приложений (например, командной строки FTP) в качестве отображаемой сертификатом информации прекрасно подходит имя DNS — именно его вы используете для получения доступа к сайту. В то же время пользователю броузера будет удобнее, если сертификат будет отображать гиперссылку в виде текста, изображения или чего-либо столь же наглядного. Возможно, для этого в сертификате придется воспользоваться тегом <МЕТА>.
В сертификат можно также включить описанную ниже информацию:
• Наглядные изображения (логотипы компании и продукта, снимки лю­дей).
• Фразы на английском (или родном языке владельца сервера) и родном языке пользователя. Эти фразы должны быть достаточно простыми и в то же время достаточно информативными (например, «Jamsa Press* или «Joe Middleman & Co., Authorized broker for Big Business Companies, Inc.»).
• Несмотря на все удобства URL, сертификат должен предоставлять воз­можность использования в URL символов шаблона (wildcard) или обыч­ных выражений. Обратите внимание: подобные URL, скорее всего, будут представлять приложения или данные корпоративных сетей, и поэтому сертификат будет выдан определенным ведомством сертификатов корпо­ративных сетей, а не широкоизвестными компаниями вроде VeriSign.
Предположим, что сертификат содержит изображение. В этом случае броузер может поместить его в диалоговом окне или в окне с логотипом броузера. Как уже говорилось, размещение сертификата в окне с изображением позволяет пользователю постоянно контролировать, с кем именно он соединен. Благода­ря этому даже не очень опытные пользователи смогут обнаружить, что присое­динились к неверному сайту. (Представьте ситуацию, когда пользователь подво­дит указатель мыши к гиперссылке, ведущей к домашней странице своего род­ственника, а в пиктограмме сертификата показывается надпись на незнакомом языке, причем пользователь точно знает, что ни один из его родственников не говорит на этом языке.)
Кроме того, броузер может автоматически проверять сертификаты с изображе­ниями. Например, пользователь щелкнул мышью по ссылке-изображению; в таком случае броузер может проверить, содержится ли это изображение в сертифи­кате. Если это не так, броузер отобразит окно с предупреждением. Точно так же можно проверять и текстовые ссылки. Например, броузер может разобрать (parse) сертификат в поисках подстроки текстовой ссылки или пытаться обнару­жить смешанное значение, получаемое из гиперссылки при помощи определен­ной функции. (Более подробная информация о смешанных значениях имеется в главе 5.) Благодаря такой проверке гиперссылок, а также использованию сквоз­ных соединений можно полностью предотвратить подмены сообщений.
ПОДМЕНА в
В этом разделе мы рассмотрим еще один тип атак — подмену Web. Проводя подобную атаку, хакер создает достаточно хорошую копию Web, которая очень
похожа на реальный Web. Точнее говоря, «искусственный» Web содержит все те же страницы и ссылки, что и настоящий. Однако хакер полностью управляет этой сетью, и поэтому весь трафик между броузером пользователя и Web прохо­дит через машину злоумышленника. показана принципиальная схема атаки подмены Web.
Web-сервер
ПОСЛЕДСТВИЯ ПОДМЕНЫ Web
При помощи этой атаки хакер может просматривать или изменять любые переда­ваемые пользователем данные. Более того, злоумышленник способен контро­лировать все приходящие пользователю сообщения. Этот метод предоставляет огромные выгоды. Как уже говорилось, существует два наиболее распростра­ненных способа проникновения в сети: наблюдение и подмена. Наблюдение -это простейший просмотр проходящей по сети информации; в этом случае хакер пассивно наблюдает за пакетами. Подмена - это более агрессивный тип атаки; ее помощью хакер может заставить хост поверить, что его машина — это еще один надежный хост.
При помощи атаки подмены Web хакер может записывать содержание посещае­мых жертвой страниц. Допустим, жертва заполнила некоторую форму и пере­слала ее некоторому серверу. Однако внедрившийся между ними хакер может перехватить эти данные и записать себе на машину. Более того, хакер может записать и ответ сервера. В связи с тем, что в большинстве диалоговых коммер­ческих приложений используются формы, хакер может просмотреть любой но­мер счета, пароль или любую другую конфиденциальную информацию.
Хакер может просматривать все ваши данные даже в том случае, когда вы ис­пользуете безопасное соединение. При этом неважно, пользуетесь ли вы прото­колом SSL или Более того, ваш броузер будет указывать на то, что установлено надежное соединение (при помощи пиктограммы с изображением навесного замка или ключа).
Отметим еще одну интересную особенность атаки подмены Web. Оказывается,
хакер может спокойно изменять любые передаваемые данные. Например, жертва заказала 100 единиц товара. Однако хакер может изменить номер продукта, его количество и адрес заказчика («ship-to»); в результате этих действий хакер полу­чит (естественно, за счет пользователя) 200 единиц товара. Кроме того, злоумы­шленник может изменить возвращаемые сервером данные, например, вставить
в документ дезинформацию или оскорбительный материал, чтобы подурачить
пользователя или вызвать ссору между пользователем и хозяином сервера. показано, как хакер может изменить передаваемую информацию.
ПОДМЕНА ВСЕГО
Наверное, у вас возник вопрос: как может один человек заменить целый Web? Однако спешу заверить, что (к сожалению) это не так уж сложно. Дело в том, что для этого не нужно хранить содержание всех документов Web. По определению, любой пользователь может получить доступ ко всем ресурсам Web в диалоговом режиме. Поэтому для предоставления копии хакер получает необходимую стра­ницу прямо из Web.
Чтобы получше разобраться со всем этим. Как видно, любой запрос проходит через машину хакера. Поэтому последний может оперативно получить из Web копию запрашиваемой страницы. На самом деле для проведения этой атаки подмененный сервер должен содер­жать только размещенные в кэше страницы.
ПОДРОБНОСТИ АТАКИ ПОДМЕНЫ
Для проведения атаки необходимо, чтобы сервер хакера располагался между жертвой и остальной частью Web, т. е. хакер «вклинивается» между пользовате­лем и сервером.
Прежде всего, хакер должен изменить все URL какой-либо Web-страницы так, чтобы они вели на его сервер. Предположим, что он расположен в домене hacker.hck. Значит, хакер должен добавить перед тегом URL следующую строку: http://www.hacker.hck/. Например, адрес http://www.jamsa.com/ после этого пре­вратится в http://www.hacker.hck/www.jamsa.com/.
Если пользователь попадет на измененную страницу, то он не заметит ничего необычного — ведь хакер подменил все Если он щелкнет мышью по ссыл-
ке http://www.jamsa.com/, то в действительности броузер пошлет запрос на стра­ницу http://www.hacker.hck/ - ведь именно этот адрес стоит в начале URL. Остав­шаяся часть указывает серверу злоумышленника, куда нужно обратиться, чтобы получить необходимую пользователю страницу. показа­но, как происходит перехват запросов.
сервер
Броузер получает страницу с сервера хакера.
Получив необходимый документ, сервер хакера изменяет расположенные в нем так, как это описано выше. После этого сервер пересылает документ пользо­вателю.
Так как все ссылки нового документа уже изменены, то, щелкнув мышью по какой-либо гиперссылке, жертва снова обратится на сервер хакера. И так до бесконечности...
ФОРМЫ И БЕЗОПАСНЫЕ СОЕДИНЕНИЯ
Как уже упоминалось, заполнении формы, расположенной на одной из страниц «фальшивого» Web, пользователь не заметит никакой разницы по срав­нению с нормальным соединением. Дело в том, что формы очень связаны с сетевыми протоколами. Например, отправляемая форма кодируется при помо­щи запросов HTTP, а сервер отвечает на него при помощи обычного HTML. Именно поэтому хакер может подменить не только любой URL, но и любую форму. Дело в том, что и запросы, и формы прежде всего попадают на сервер хакера, а уж потом — по назначению. При этом хакер может спокойно изменять их — ведь жертва ничего не заметит. Для этого достаточно немного подкоррек­тировать ответ сервера.
Основная неприятность этой атаки заключается в том, что она работает даже тогда, когда жертва использует безопасное соединение. Например, пользова­тель хочет создать соединение при помощи SSL или Однако он никоим образом не сможет обнаружить, что запрос на такое соединение послан в «фаль­шивый» Web. Сервер хакера предоставит ему эту страницу, а броузер пользова­теля отобразит на экране индикатор безопасного соединения. Однако есть ма­ленькая деталь, на которую стоит обратить особое внимание: броузер действи­тельно установил безопасное соединение, но не с запрашиваемым сервером, а с сервером хакера Но об этом не знает ни сам броузер, ни тем более его пользо­ватель. показана схема одного из «подмененных» соединений.
НАЧАЛО ПОДМЕНЫ
Итак, мы установили, что очень трудно противостоять атаке подмены Web, если она уже началась. Как это ни странно, но эта атака больше напоминает ловушку -- ведь ее инициатором (да, да, дорогой читатель) является ни кто иной, как сама жертва. Для этого хакер расставляет приманки — ему нужно заманить жертву на свой сервер. Другими словами, хакеру нужно сделать все возможное, чтобы заставить пользователя щелкнуть мышью по измененной ги­перссылке. Для этого он может воспользоваться одним из следующих методов:
• Разместить измененную ссылку на популярной Web-странице.
• Если пользователь работает с электронной почтой Web, хакер может при­слать ему указатель на «фальшивый» Web.
• Хакер может переслать по электронной почте содержание страницы из
«фальшивого» Web.
• Злоумышленник может заставить поисковый процессор выдать часть адре­сов из «фальшивого» Web.
Если жертва пользуется Internet Explorer, то хакер может создать элемент управления ActiveX, который будет выполняться при каждом запуске бро­узера. Этот элемент управления может заменить корректные URL на хакерские.
Итак, основная задача хакера — заманить жертву к себе на сервер.
ПОСЛЕДНИЙ ШТРИХ — СТРОКА состояния
Как говорилось в предыдущем разделе, нападающий должен каким-либо обра­зом заставить жертву войти в «фальшивый» Web. При этом бедолага не должен заметить ничего необычного и продолжать верить, что он путешествует по «насто­ящему» Web. Однако это не так-то просто. Если хакер допустит ошибку (или пользователь отменит некоторые установленные по умолчанию параметры), то в строке состояния появится информация о посещенной странице. С ее помощью пользователь может обнаружить, что отображенная на экране страница принадле­жит «фальшивой» Web. Например, если подвести указатель мыши к гиперссыл­ке, то большинство броузеров отобразит в строке состояния ее полный адрес.
К сожалению, опытный хакер может воспользоваться некоторыми приемами программирования, чтобы свести опасность разоблачения практически к нулю. Дело в том, что в некоторых случаях очень удобно, если Web-страница может управлять броузером. Однако это — палка о двух концах. Воспользовавшись этой возможностью, хакер сможет управлять броузером жертвы. Например, при помощи Java, JavaScript или VBScript он может управлять строкой состояния (она расположена в нижней части окна броузера). показана строка состояния броузера, в которой отображается Welcome to the Jamsa Press Web Site!.
Зачастую в этой строке располагается отчет о состоянии транзакции HTTP или связанный с гиперссылкой адрес. Однако, 26, автор Web-страницы может заставить броузер отображать в строке состояния любую угодную ему информацию.
Строка состояния броузера.
Атаки подмены оставляют следы. Во-первых, если подвести указатель мыши к гиперссылке, то в строке состояния появится связанный с ней URL. Таким
образом можно обнаружить измененные хакером гиперссылки. Во-вторых, при получении новой страницы броузер отображает имя соответствующего ей серве­ра, и жертва может заметить, что вместо адреса www.jamsa.com в строке состоя­ния появится адрес www.hacker.hck.
Однако эти следы могут быть легко уничтожены хакером. Для этого ему доста­точно написать небольшую программу на Java, JavaScript или VBScript. С ее помощью он заставит строку состояния отображать пользователю «правильную» информацию. Более того, хакер может заставить реагировать программу на важ­ные события и отображать в строке состояния ту информацию, которая создает­ся настоящей страницей Web. Управление строкой состояния намного усложня­ет обнаружение следов подмены.
СТРОКА LOCATION
Итак, отображаемая в строке состояния информация может открыть подмену. Однако хакер способен достаточно легко изменить ее. Кроме того, о подмене можно догадаться и по информации, расположенной в строке Location. Как известно, там отображается URL просматриваемой страницы. Кроме того, пользователь может набрать URL необходимой страницы прямо в этой строке.
Если не было произведено каких-либо модификаций, то в этой строке будет расположен «настоящий» (т. е. измененный хакером) URL — в нашем случае
это http://www.hacker.hck/www.jamsa.com/. Именно эта информация может под­сказать пользователю, что он подвергается атаке подмены.
Однако и этот след может быть уничтожен хакером. Для этого достаточно под­менить отображаемую в строке Location информацию на ту, которая должна ото­бражаться при обычном посещении страницы, Более того, злоумышленник мо­жет сделать так, чтобы введенные здесь адреса всегда вели к его серверу. Для этого нужно создать программу, которая будет изменять URL до того, как бро­узер отправит их в виде запроса.
ИСТОЧНИК ДОКУМЕНТА
В предыдущих разделах описывались наиболее простые методы обнаружения атаки подмены Web. Здесь же мы поговорим о более изощренных. Например, самые
популярные броузеры содержат целый набор возможностей, при помощи кото­рых пользователь может просмотреть исходный текст HTML-файла. Благодаря этому пользователь, который подозревает, что подвергся нападению, может поискать в исходном тексте измененные URL. Если он их обнаружит, то у него есть все шансы предотвратить нападение. Однако и здесь хакер способен пере­хитрить пользователя. Например, он может создать программу, которая будет заменять панель меню броузера. Если теперь пользователь выберет пункт View Document Source, то на экране появится новое окно с настоящим (неизменен­ным) текстом HTML-файла.
информация  о документе
Сейчас я расскажу еще об одной возможности обнаружения атак подмены Web — информации о документе. Для того чтобы просмотреть эту информацию, вызо­вите пункт меню View Document Information. В ответ броузер отобразит на экра­не соответствующее окно. В частности, в этом окне расположен URL отобра­жаемого документа. Однако и здесь у хакера остается возможность скрыть следы своих преступлений. Для этого ему достаточно изменить отображаемую здесь информацию.
Короче говоря, при помощи языков разработки сценариев хакер может уничто­жить все возможные следы атаки подмены. В этом случае жертве ничего не остается, как отключить в броузере поддержку сценариев.
КАК ПОЙМАТЬ ХАКЕРА
Наверное, все согласятся с тем, что лучшее средство борьбы с хакером — это его наказание. Оказывается, что для проведения атаки хакер должен открыть месторасположение своего сервера. Если жертва обнаружит атаку, то она может попытаться выяснить адрес хакерского сервера. Однако, как правило, атаки проводятся с чужих машин. Сама собой на ум приходит такая аналогия: все грабители банков также скрываются от преследования на угнанных машинах.
МЕТОДЫ ЗАЩИТЫ от АТАКИ ПОДМЕНЫ Wf.ii
Как уже упоминалось, атака подмены Web это очень серьезная угроза без­опасности передаваемым сообщениям. Кроме того, ее практически невозможно
обнаружить (еще труднее обнаружить устроившего атаку хакера). Однако суще­ствуют некоторые меры предосторожности, следуя которым можно обезопасить себя и пользователей своей сети. Далее приводится наиболее эффективная стра­тегия защиты от атак подмены1. Отключите в броузере поддержку Java, JavaScript и VBScript. Благодаря этому хакер не сможет скрыть следы атаки.
2. Убедитесь, что строка Location расположена на экране.
3. Внимательно следите за URL, отображаемым в строке Location. Этот URL должен соответствовать ожидаемому.
Данная стратегия существенно снизит вероятность успешного проведения атаки. Но не забывайте, что и в этом случае хакер может провести атаку на вас или
ваших пользователей, особенно если они не соблюдают приведенных выше пра­вил.   В настоящее время ведутся работы  по усовершенствованию языков
JavaScript, VBScript, ActiveX и Java, цель которых — исключить возможность проведения атак. Однако приведенная в этой главе информация может заставить многих пользователей отключить поддержку всех этих языков, что заметно умень­шит ваши функциональные возможности. Но все не так уж плохо. Отключайте их во время посещения незнакомых сайтов. Если же вы уверены, что сайт наде­жен, то можете снова включить их.
ДОЛГОСРОЧНЫЕ РЕШЕНИЯ для АГАШ ПОДМЕНЫ WEB
Несмотря на достаточную простоту и эффективность краткосрочных решений для атаки подмены Web, многие предпочтут более сложные и в то же время
более надежные долгосрочные решения. Для того чтобы избежать большинства связанных с атакой проблем, нужны новые решения со стороны разработчиков броузеров. Необходимо так изменить текст программы броузера, чтобы он все­гда отображал строку Location, а также не позволял хакеру изменять свой интер­фейс — заменять элементы панели меню, строку состояния и т. д. Однако оба решения подразумевают неусыпную бдительность пользователей и умение рас­познавать подмененные URL. Невозможность изменения отображаемого URL-вот основная задача для разработчиков, но это будет лишь первым шагом по
обеспечению безопасности броузеров. До тех пор, пока броузеры не будут под­вергнуты значительным изменениям, нельзя говорить об их полной защищенности от атак подмены Web.
Кроме того, нужно изменить индикатор безопасного соединения так, чтобы он действительно помогал определить его статус. Вместо того чтобы просто конста­тировать факт безопасности соединения, броузер должен отображать имя серве­ра. Эту информацию можно отображать в виде обычного текста, но так, чтобы она была понятна даже новичку. Например, броузер может отображать инфор­мацию, расположенную в теге <МЕТА>. В этом случае вместо малопонятного адреса http://www.jamsa.com/ нажране должна появляться надпись «Jamsa Press*.
На самом деле все методы защиты от атак подмены Web полагаются на внимание пользователя. Однако это уже зависит только от самого пользователя.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика