Новые виды атак на основе технологии кликджекинга

http://blog.zeltser.com/post/7501805123/clickjacking-the-next-generation
  • Перевод
Кликджекинг – механизм обмана пользователей, при котором переход по ссылке на каком-либо сайте перенаправляет пользователя на вредоносную страницу – стал очень эффективным. Часто он используется для распространения через Facebook ссылок на вредоносные сайты. Недавно подобные техники показали свою эффективность в деанонимизации посетителей сайта. Также переход по хитрой ссылке может привести к тому, что злоумышленник получит доступ к данным OAuth. Давайте посмотрим, как это происходит.

Классическое применение кликджекинга – рапространение ссылок через Facebook

В классическом сценарии кликджекинга злоумышленник прячет кнопку «Like» или «Share» в прозрачном iframe. Этот iframe располагается над элементом страницы, на который должен нажать пользователь, также iframe может перемещаться за курсором мыши. При нажатии на элемент клик перенаправляется на невидимую кнопку «Like» или «Share». Такие действия не ограничивается Facebook'ом, злоумышленнику только нужно иметь возможность спрятать элементы другого сайта в iframe.

Ниже приведено типичное сообщение, которое можно увидеть в сети Facebook, если одно из ваших соединений было перехвачено с помощью кликджекинга:



Пройдя по ссылке, расшаренной вашим другом, вы попадете на сайт с видео YouTube. Однако, вы не увидите кнопок «Like», которые я выделил на приведенном ниже скриншоте:



Кнопки «Like» расположены там, куда пользователь обычно нажимает, чтобы просмотреть видео: в середине окна и в левом нижнем углу. Жертва не увидит эти кнопки, потому что они находятся в невидимом прозрачном iframe. Запустив это видео пользователь нажмет кнопку «Like», увеличивая популярность сайта на Facebook.

Новые вариации техник кликджекинга

В работе Clickjacking Attacks Unresolved, Линь-Шунг Хуанг (Lin-Shung Huang) и Коллин Джексон (Collin Jackson) рассмотрели более хитрые вариации кликджекинга. Например, они продемонстрировали, как злоумышленник может идентифицировать пользователя вредоносного сайта, запрашивая его информацию у Facebook.

Я записал демонстрационное видео деанонимизации пользователя. На видео показана кнопка «Like», которая перемещается за курсором жертвы, но в реальной атаке кнопка была бы невидимой. Когда пользователь неумышленно нажмет эту кнопку, он станет другом злоумышленника на Facebook (прошу прощения за возможную неточность в терминах Facebook, сам Facebook'ом не пользуюсь – прим. перев.).

Затем страница злоумышленника через FB.Event.subscribe(‘edge.create’, …) узнает, что жертва нажала кнопку «Like», передает сообщение серверу злоумышленника, который получает список друзей и идентифицирует нового друга. Сервер запрашивает публичную информацию пользователя через Facebook Graph API, и удаляет пользователя из списка друзей.

Эти действия позволяют злоумышленнику получить публичные данные пользователя, включая id пользователя. Авторы работы демонстрируют эту атаку, проведя ее с помощью кнопки Твиттера «Follow»:



Кликджекинг и timing атаки

Хуанг и Джексон описали click-timing атаку, называемую двойным кликджекингом, в которой пользователь через запрос злоумышленника перенаправляется на авторизацию у OAuth-провайдеров. Согласно документу, этот подход работает даже если на сайте предприняты такие меры против кликджекинга с помощью iframe, как X-Frame-Options.

Хотя злоумышленник не может вставить iframe на таких сайтах, он может загрузить страницу OAuth в pop-under окне. Pop-under окно после открытия скрывается за окном браузера. С тех пор, как браузеры стали блокировать всплывающие окна, которые открываются без участия пользователя, для этой атаки требуется большое количество кликов, чтобы обойти блокирование всплывающих окон.

Чтобы увидеть концептуальный код атаки двойного кликджекинга, пройдите по ссылке Clickjacking Attacks Unresolved.

Что дальше?

Кликджекинг нанес и продолжает наносить много вреда. Большинство атак использовало распространение вредоносных ссылок через Facebook. Но этот подход может быть использован и для более хитрых сценариев. В работе Хуанга и Джексона приведены рекомендации, которые позволят разработчикам сайтов и браузеров уменьшить риск кликджекинга. Однако эти техники невсеобъемлющи. Хуже всего то, что нельзя дать практический совет, применение которого обезопасит пользователей.
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 21
  • +1
    Этому виду атак уж куча лет.
    Круто было, когда во Flash была недоработка, и можно было так кликнуть на ссылку, под которую был подложен скрытый слой с кнопкой включения и фотографирования веб-камерой :)
    Зашёл так на порно-сайтик, а тебя — бац! И сфотали, да ещё и тут же показали, мол, всё про тебя знаем, чувачок, плати монетку, чтобы удалиться из нашей базы :)
    • +4
      Автор не говорит о том, что это принципиально новый вид атак. Он говорит о том, что целью атак может являться сбор информации о пользователях социальных сетей и перехват управления аккаунтом при авторизации через OAuth. В документе, на который ссылается автор, показан пример перехвата управления аккаунтом gmail.
      • 0
        Да, вот это штука интересная, с OAuth.
        • 0
          Перехват аккаунта GMail не срабатывает, если авторизован в нескольких аккаунтах. Придётся писать позиционирование поп-андера на случай использования двух/трёх/четырёх аккаунтов (положение кнопки меняется), и ещё один даблклик с предварительным перепозиционированием окна потребуется на нажатие кнопки, разрешающей управление аккаунтом.
          • 0
            Все зависит от цели. Мне кажется, количество жертв, авторизовавшихся в нескольких аккаунтах, будет меньше, чем тех, кто авторизовался в одном.
            В случае же целенаправленной атаки на многоаккаунтового пользователя атакующий, скорее всего, будет знаком с характером и моделью поведения жертвы, и сможет применить что-то типа такого.
        • 0
          Значит не зря я всегда камеру хардварно отрубаю на ноуте
        • 0
          Все эти атаки могут пригодиться для безобидных действий(раскрутка группы, добавление в друзья). Пока это не начнет приносить ощутимый вред(такой, как угон личной переписки пользователя), этим мало кто интересуется.

          А статья интересная, спасибо
          • 0
            Отписал выше про перехват управления аккаунтом gmail :)
            • прости, не переходил по ссылке :)

              The attacker’s server can instantly fetch the user’s Google contacts using the approved OAuth access token.

              а это уже сильнее :)
              • 0
                Во-во, а раскрутка G+ открывает новые горизонты :)
          • +2
            ХМ. Как насчёт в браузере установить нижний порог прозрачности для фреймов?
            То есть не меньше 50%, или 0, но тогда она не реагирует на нажатие и события.
            Кроме того, установить ограничение — смена прозрачности не реже раза в секунду.
            • 0
              у нас в css есть свойство: visibility:hidden
              убрать из css то, что в нем уже годами работало — не вариант.
              • 0
                >>убрать из css то, что в нем уже годами работало — не вариант
                Почему?
                • 0
                  потому что нарушится обратная совместимость.
                  а это очень, очень плохо.
            • 0
              Надежнее всего отключить javascript, и включать его точечно только для нужных сайтов (крупных брендов).
              • а вообще у меня FlashBlock
                Да и ява скрипт блокируется NoScript чаще всего
                NoHtml рекомендую.
                ©
                • +14
                  Для параноиков я больше рекомендую NoBrowser и Pro варианты NoInternet и NoPower, а то мало ли что. :)
                  • +1
                    Настоящие параноики сидят в психушке. :) Лично я отключил Flash везде, кроме youtube. И не из соображений безопасности, а из-за надоедливой рекламы. Приятнее наблюдать серые прямоугольники «Флеш-плагин отключен». Иногда включаю на некоторых сайтах, по мере надобности. А javascript лень отключать. Потеря доступа к gmail не пугает, — зарегистрирую новый аккаунт. Вместо отключения скриптов предпочитаю просто чуть повышенную осторожность: не ходить по ссылкам без описания из надежного источника, не качать и не запускать всякие сомнительные кряки и т.д. Это позволяет жить без антивируса и без чистки системы долгие годы. От атак автора тоже защищает.

                    Но еще надежней (правда, чуть менее удобней) — именно отключение javascript для всего, кроме белого списка сайтов. И с учетом надежности браузеров и легитимных сайтов, паранойи здесь, в общем-то, не особо много.
              • 0
                кстати, метод с OAuth сработал под ФФ, но не сработал под оперой:
                во-первых, всплывающее окошко не скрылось, а во-вторых, не появилось после клика.
                • 0
                  А я думал, что я глючу, когда вдруг поверх видео на ютюбе проявлялись смайлы в разных частях плейера… теперь все ясно :)
                  • 0
                    вывод — не пользуйтесь провайдерами, которые не умеют выпрыгивать из фреймов

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.