Чтение онлайн

на главную - закладки

Жанры

Секреты и ложь. Безопасность данных в цифровом мире
Шрифт:

Отправляя браузеру 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), чтобы вызвать поломку веб-сервера или, что еще лучше, захватить этот сервер в свои руки.

Один пример: в 1998 году в результате атаки против Hotmail стало возможным увидеть учетные записи электронной почты других людей. eBay также подвергся атаке; злоумышленники поместили троянского коня, написанного на JavaScript, в поле описания товара. Это поле видел любой, кто просматривал товары, выставленные на продажу, и в результате злоумышленники получали информацию о тысячах учетных записей.

Один недостаток CGI позволил злоумышленникам загружать секретную персональную информацию с различных сайтов. Другие сценарии CGI использовались, чтобы взломать веб-сервер. В конце 1999 года были предприняты две атаки – атака Poison Null («отравленный» нуль), позволившая хакерам просматривать и изменять файлы на веб-сервере, и атака Upload Bombing (бомбежка при пересылке), наводнившая веб-серверы бесполезными файлами, которые очень быстро превращались в атаки-сценарии, так что любой мог при желании их использовать [35] .

35

Атаки образца конца 1999 года, актуальные и поныне (для подобных атак уязвимы до 80% интерактивных веб-сайтов). Upload Bombing работает на сайтах с запросом на загрузку файлов (агентства по трудоустройству, доски объявлений, почтовые серверы и т. д.). Смысл в том, что в ответ на предложение загрузки сервер заваливается множеством файлов, переполняющих диски, текстовых, графических, любых, и вызывает переполнение дисков. Название Poison NULL byte произошло от байта с нулевым значением, служащего ограничителем строки на многих языках программирования. – Примеч. ред.

Включения на стороне сервера (Server Side Includes, SSI) – это указания для вебсерверов, встроенных в HTML-страницы. Непосредственно перед отправкой страницы браузеру веб-сервер выполняет все SSI, содержащиеся на странице, и помещает на нее результаты своей работы. Атаковать SSI так же выгодно, как и все остальное.

Можно атаковать уязвимые места в стороннем программном обеспечении: на специфических веб-серверах, в их приложениях. Сюда относятся приложения для баз данных, программы «корзины», сервер транзакций и другие. Эти атаки зависят не от того, как сайт использует приложение, а от самого приложения (СУБД Oracle, например). Злоумышленники могли бы загрузить исходную программу с веб-сервера, разрушить сервер, получить привилегии доступа на уровне администратора для входа на сервер, запустить на сервере произвольную программу и т. п. В отличие от прорех безопасности, вызванных сценариями CGI, установление уязвимых мест в дополнительных приложениях не находится под контролем сайта; это обязанность поставщиков стороннего программного обеспечения.

Поделиться:
Популярные книги

На границе империй. Том 7. Часть 5

INDIGO
11. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 7. Часть 5

Инкарнатор

Прокофьев Роман Юрьевич
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30
рейтинг книги
Инкарнатор

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16

Зауряд-врач

Дроздов Анатолий Федорович
1. Зауряд-врач
Фантастика:
альтернативная история
8.64
рейтинг книги
Зауряд-врач

Жандарм

Семин Никита
1. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
4.11
рейтинг книги
Жандарм

Кодекс Охотника. Книга XII

Винокуров Юрий
12. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XII

Кодекс Охотника. Книга VIII

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

Курсант: Назад в СССР 7

Дамиров Рафаэль
7. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 7

Прометей: владыка моря

Рави Ивар
5. Прометей
Фантастика:
фэнтези
5.97
рейтинг книги
Прометей: владыка моря

Блуждающие огни 3

Панченко Андрей Алексеевич
3. Блуждающие огни
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Блуждающие огни 3

Связанные Долгом

Рейли Кора
2. Рожденные в крови
Любовные романы:
современные любовные романы
остросюжетные любовные романы
эро литература
4.60
рейтинг книги
Связанные Долгом

Идеальный мир для Лекаря 18

Сапфир Олег
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 18

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Сумеречный Стрелок 2

Карелин Сергей Витальевич
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 2