Статьи ⇒ Шифрование ⇒ Surf Jacking. Протокол HTTPS под угрозой.

Surf Jacking. Протокол HTTPS под угрозой.

Опубликовано: 8 апр 2011 в 15:51
Автор: Michael Kassner  Перевод: freeeeez 

HTTPS — это обычный протокол HTTP, который использует шифрование. Протокол обеспечивает защиту от атак, основанных на прослушивании трафика (сниферские атаки или атака man-in-the-middle). На конференции по безопасности Майк Перри привел всех в замешательство, когда рассказал о перехвате сессии, передающейся по SSL. Давайте же рассмотрим данную проблему в безопасности.

Все проблемы от куки

В действительности, это не куки вызывают проблемы. Просто они позволяют легко подрывать HTTP и HTTPS соединения. Существуют две основные категории: постоянные куки и сессионные куки. Важно понимать разницу между ними, перед тем как обсуждать Surf Jacking.

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

Сессионные куки хранятся только на время сеанса просмотра страниц. Что еще более важно, они несут информацию, которую браузер предоставляет серверу.

Чтобы объяснить подробнее, давайте посмотрим на жизнь сессионной куки на следующем примере:

  1. Я открываю браузер и захожу на https://www.mybankxy.com;
  2. После прохождения аутентификации сервер mybankxy.com размещает у меня на компьютере небольшой текстовый файл (cookie), в котором хранится мой логин и пароль для входа;
  3. Когда я вхожу в личный кабинет, я нажимаю на ссылку "Касса";
  4. Мой браузер запрашивает страницу и отправляет мои куки обратно на сервер mybankxy.com;
  5. Куки позволяют веб-серверу определить кто я. Если все в порядке, веб-сервер отправляет станицу, которую я просил. Без сессионной куки я бы каждый раз вводил логин и пароль, посещая новые страницы;
  6. Затем, когда я выполняю нужные операции и выхожу с сайта mybankxy.com, сессионные куки удаляются.

Таким образом, сессионные куки очень полезны — без них просмотр веб-страниц стал бы раздражать очень быстро. Еще одна полезная функция этого типа cookie — запоминать действия, которые происходят на странице. Это необходимо, когда сессия необходима на различных страницах веб-сервера. Ярким примером может служить любой Интернет-магазин, где используется корзина. Вы добавляете товар в корзину и он остается там, когда вы перемещаетесь по сайту.

301 Moved Permanently

Теперь, я хотел бы взглянуть на переадресацию HTTP. Как вы увидите далее, Surf Jacking использует перенаправление, называемое 301 Moved Permanently, ошибка HTTP. Как следует из названия, данный редирект считается постоянным. Заголовок содержит адрес отсутствующей или переименованной страницы, а также адрес новой страницы.

Surf Jacking

Для начала немного истории. В 2007 году Роберт Грехэм осуществил Side Jacking на Black Hat 2007. Это интересная концепция, позволяющая украсть сессионные куки HTTP, позволяя атакующему захватить HTTP-сессии.

Это было почти четыре года назад, и сейчас уже есть доказательства того, что это можно осуществить с зашифрованным соединением (SSL), что наиболее страшно. Однако, знание это сила, поэтому давайте шаг за шагом рассмотрим, как работает Surf Jacking.

  1. Я вхожу в свой Интернет-банк через HTTPS, https://www.mybankxy.com. Мне нужно переместить деньги на свою дебетовую карту, так как я должен купить что-то в Сети;
  2. После аутентификации mybankxy.com снова размещает у меня на компьютере сессионные куки;
  3. К сожалению, я забыл сумму покупки и решил проверить ее, поэтому я открываю новую вкладку браузера и перехожу на http://www.commercexy.com;
  4. На мою беду, хакер прослушивает трафик на той же WiFi точке. Он уже знает, что у меня есть активное HTTPS соединение, и что я только что открыл HTTP соединение (в открытом виде) к www.commercexy.com. Для него это прекрасная возможность использовать атаку Surf Jacking.
  5. Хакер отправляет мне обратно "301 Moved Permanently", в ответ на мой запрос страницы www.commercexy.com;
  6. Перенаправление происходит на http://www.mybankxy.com. Обратите внимание, что ответ использует HTTP, а не HTTPS;
  7. Мой браузер начинает новое незащищенное соединение, отправив запрос на http://www.mybankxy.com, а так как моя первая сессия HTTPS осталась открытой, незащищенный запрос будет содержать те же сессионные куки;
  8. Поскольку злоумышленник прослушивает весь трафик через мою точку доступа WiFi, он фиксирует куки;
  9. А для того, чтобы создать видимость, что ничего не произошло, атакующий посылает еще один "301 Moved Permanently", и, наконец, отправляет браузер на http://www.commercexy.com. Дело сделано!

Эта атака возможна не всегда. Нужны определенные условия для ее осуществления. Хотя, когда-то и у Gmail существовали уязвимости, позволяющие провернуть подобное.

Защита от Surf Jacking

Самое простое решение для пользователей — это не открывать новые незащищенные соединения в момент работы по HTTPS. Это не позволит хакеру использовать данную уязвимость.

Другое решение, это передача куки по SSL. При установке куки следует указывать значение TRUE для параметра secure. Когда браузер перенаправляется на HTTP соединение, такие куки не будут включены в запрос.

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

Заключение

Surf Jacking это серьезный тип атаки. Надеюсь эта статья будет вам напоминанием, когда вы будете пользоваться онлайн-банкингом. Я бы не хотел, чтобы вы зашли на свой счет и обнаружили его пустым. Будьте начеку!

Для организации IP-телефонии в офисе лучшим решением станет Yeastar MyPBX 1600 - гибридная IP АТС. Держит до 22 разговоров одновременно, что вполне хватит для малого офиса.

Источник: TechRepublic внешняя ссылка
Тэги:  •  • 
Нет комментариев
5 183 просмотра


Оставить комментарий:

Имя:
Email:
Сайт:
Комментарий:

Допустимые теги: <em> • <strong> • <u> • <sub> • <sup> • <blockquote>

Проверочный код:

Введите проверочный код, для подтверждения, что вы не робот.
P.S. Если вы робот, то, к сожалению, вы
не сможете прочитать символы с картинки.