Russian-speaking
 Python & Zope User Group

Главная |  Python |  Zope  

Python
Zope
Новости
Copyright
Ответственность  

Все перечисленные выше случаи не относятся к киберсквоттингу. Этим термином обозначают регистрацию имени домена, которое может представлять интерес для кого-то. Например, кому-то другому, но не мне принадлежат имена applied-cryptography com и applied-cryptography com, а именно так называется моя первая книга.

Веб-спуфинг (Web-spoofing), или получение доступа обманным путем, – еще один вариант мошенничества в Интернете. Подделывая адреса URL на сайте клиента, злоумышленник может вынудить жертву всегда совершать поиск через определенный сайт. Этот сайт, которым владеет злоумышленник, может перехватывать весь сеанс поиска жертвы. Злоумышленник может сохранить записи о том, на какие сайты заходила его жертва, ее различные учетные записи, пароли и т. п. Злоумышленник может также слегка изменять различные страницы, например менять адрес отправления купленного жертвой продукта.

Такая атака возможна даже при SSL-связи. Как я отмечал ранее, SSL гарантирует только то, что канал связи недоступен посторонним. А если секретная связь установлена со злоумышленником, это мало поможет. Несколько других трюков облегчают нападение, поэтому выключение JavaScript в браузере дает некую защиту. Некоторые веб-сайты, например AskJeeves, усугубляют проблему, размещая у себя веб-страницы других людей и представляя их информацию как свою. В момент написания книги не было данных о существовании такого рода атак «в диком виде».

Cookies

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

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

Сложные веб-сайты имеют динамическое устройство. На веб-сайтах розничной торговли есть «корзины», с которыми вы перемещаетесь при просмотре сайта. На информационных сайтах с платным доступом имя пользователя и пароль требуется вводить при переходе со страницы на страницу. (На мой взгляд, утомительно набирать имя пользователя и пароль каждый раз, когда я хочу посмотреть еще одну статью на веб-сайте New York Times.) Cookies дают возможность управиться с этим.

Отправляя браузеру cookies, а затем запрашивая их обратно, сервер как бы вспоминает, кто вы. «А, конечно, вы – пользователь 12467, вот ваша корзина». Cookies позволяют браузеру добавлять возможность идентификации к протоколам Интернета. Это выглядит, как огромная рассредоточенная база данных, фрагменты которой хранятся в миллионах браузеров.

До сих пор я рассказывал о пользе cookies. Они, главным образом, полезны, если сервер, их разместивший, играет по правилам. Сервер устанавливает, сколько времени действителен cookie: хорошее значение – несколько дней. Сервер может установить ограничения на доступ к cookie. Сервер может ограничивать доступ к другим серверам в том же домене; это значит, что если ваш cookie пришел с inchoate-merchant com, то только inchoate-merchant com может иметь к нему доступ.

Проблемы возникают при нарушении правил игры. Некоторые серверы используют cookies, чтобы прослеживать пользователя от сайта к сайту, а некоторые с помощью cookies идентифицируют пользователя. Вот простой пример: компании занимаются перепродажей места для размещения рекламы на популярных сайтах. Одна из таких компаний – DoubleClick; именно через нее размещены многие объявления, которые вы видите на коммерческих сайтах. Если вы будете просматривать sex-site com, вы увидите часть того окна, которое пришло с DoubleClick com. DoubleClick com предоставляет вам cookie. Позже (в этот же день или, может быть, в другой) вы будете просматривать CDnow com, на котором DoubleClick разместила другую рекламу. DoubleClick может запросить cookie вашего браузера и установить, что он был создан в то время, когда вы посещали секс-сайт, после чего вам будет отправлена целевая реклама, хотя вы интересуетесь CDnow. Поскольку DoubleClick сотрудничает с целым рядом коммерческих сайтов, по ее cookies можно проследить пользователя на всех этих сайтах.

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

Такие действия не являются большим секретом. DoubleClick открыто признает, что собирает данные и использует их, чтобы направлять рекламу определенным пользователям. До 2000 года они отрицали создание идентификационных баз данных, но в конце концов признали это после сообщения в USA Today. С тех пор они отступили от идеи связывать cookies с именами и адресами. (Хотя, возможно, выплывут новые факты в результате какой-нибудь публикации.)

Идем дальше. Сайты способны послать вам по электронной почте cookie, при помощи которого они могут вас идентифицировать, если вы позже посетите этот сайт. Вот как это работает: сайт посылает вам сообщение в формате HTML. (Это предполагает, что вы пользуетесь программами для электронной почты, поддерживающими сообщения HTML; среди таких программ – Microsoft Outlook и Outlook Express, Netscape Messenger и Eudora.) Сообщение содержит уникальный URL, скрытый графикой, который сайт может использовать, чтобы послать вам cookie. Если URL имеет вид www gotcha com/track-cgi=schneier@counterpane com/pixels gif, значит, у них в cookie – ваш адрес электронной почты. Тогда, если вы просматриваете сайт в какой-то последующий день, сайт может по cookie определить ваш адрес электронной почты и отследить ваши перемещения в Интернете.

Сами cookies не умеют осуществлять активных действий. Они не могут похитить информацию из вашего компьютера. Cookies – это просто некоторые данные, которые сервер сообщает браузеру, а браузер позже возвращает. Cookies не могут украсть у вас пароли или файлы. (ActiveX, Java и JavaScript в этом отношении гораздо более опасны.) Cookies не в силах похитить номера ваших кредитных карт, но может оказаться так, что «глупые» сайты включат в cookie номер вашей кредитной карты.

Из всего вышесказанного можно сделать вывод, что cookies – по своей сути полезный инструмент, но при неумелом обращении они могут работать на злоумышленников. Это простейший способ, позволяющий веб-программистам контролировать взаимосвязи. Большинство браузеров допускают полное отключение cookies, можно купить дополнительные программы, позволяющие лучше управляться с ними. Хотя некоторые сайты – например, Hotmail и Schwab Online – не соединяются с браузерами, не принимающими cookies.

Веб – сценарии

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

Общий шлюзовый интерфейс (Common Gateway Interface, CGI) – это стандартный способ, которым веб-сервер передает запрос клиента размещенным на нем приложениям и отсылает ответ пользователю. Если вы посылаете поисковый запрос на веб-сайт – например, на сайт розничной электронной торговли, – веб-сервер передает запрос в приложение базы данных и затем форматирует ответ перед тем, как предоставить его пользователю. Или если посетитель заполняет анкету на веб-странице, то эта информация передается в соответствующее приложение для последующей обработки. Иногда вы можете видеть команды CGI в адресной строке браузера – это непонятные значки и цифры в конце URL; в других случаях они не видны пользователю. Это часть HTTP, все ею пользуются. Сценарии CGI – это небольшие программы на веб-сервере, которые работают с данными. Например, они задают принцип обработки анкет на веб-страницах.

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

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

Страницы:
 
 
Copyright © 2000-2024, Russian-speaking Python & Zope User Group Ответственность