Кликджекинг - Clickjacking

Кликджекинг (классифицируется как Атака восстановления пользовательского интерфейса, Атака восстановления пользовательского интерфейса, Исправление UI) это вредоносная техника обманывать пользователь нажимать на что-то отличное от того, что воспринимает пользователь, таким образом потенциально раскрывая конфиденциально информации или позволяя другим управлять своим компьютером, нажимая на кажущиеся безобидными объекты, в том числе веб-страница.[1][2][3][4]

Clickjacking - это пример запутанная депутатская проблема, в котором компьютер невиновно обманывают, злоупотребляя своими полномочиями.[5]

История

В 2002 году было отмечено, что можно загружать прозрачный слой поверх веб-страница и пользовательский ввод влияет на прозрачный слой незаметно для пользователя. Однако до 2008 года это в основном игнорировалось как серьезная проблема.[6]

В 2008 году Иеремия Гроссман и Роберт Хансен обнаружили, что Adobe Flash Player смог быть взломан, что позволило злоумышленник получить доступ к компьютеру без ведома пользователя.[6]

Термин «кликджекинг» был придуман Джеремией Гроссманом и Робертом Хансеном,[7][8] а чемодан слов «щелкнуть» и «угон». [6]

По мере того как было обнаружено больше атак аналогичного характера, акцент в термине «восстановление пользовательского интерфейса» был изменен, чтобы описать категорию этих атак, а не просто кликджекинг.[6]

предупреждение "потенциальный кликджекинг" от надстройки интернет-браузера "NoScript"

Описание

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

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

Однако кликджекинг не ограничивается этим типом и присутствует в других формах.

Категории кликджекинга

  • Классический: работает в основном через веб-браузер[6]
  • Лайкджекинг: использует Facebook возможности социальных сетей[9][10]
  • Вложенный: кликджекинг, предназначенный для воздействия Google+[11]
  • Курсорджекинг: манипулирует внешним видом и положением курсора[6]
  • MouseJacking: вводить ввод с клавиатуры или мыши через удаленную радиочастотную связь[12]
  • Без браузера: не использует браузер[6]
  • Cookiejacking: получает файлы cookie из браузеров[6][13]
  • Filejacking: возможность настройки затронутого устройства в качестве файлового сервера[6][14]
  • Атака на менеджер паролей: кликджекинг, использующий уязвимость в возможности автозаполнения браузеров[15]

Классический

Классический кликджекинг - это когда злоумышленник использует скрытые слои на веб-страница для управления действиями курсора пользователя, в результате чего пользователь вводится в заблуждение относительно того, на что на самом деле нажимают.

Пользователь может получить электронное письмо со ссылкой на видео о новостях, но другая веб-страница, скажем, страница продукта на Amazon, может быть «спрятан» вверху или под кнопкой «PLAY» новостного видео. Пользователь пытается «воспроизвести» видео, но на самом деле «покупает» продукт у Amazon. Хакер может отправить только один щелчок, поэтому они полагаются на тот факт, что посетитель вошел в систему. Amazon.com и включен заказ в 1 клик.

Хотя техническая реализация этих атак может быть сложной из-за несовместимости между браузерами, ряд инструментов, таких как BeEF или Проект Metasploit предлагают практически полностью автоматизированную эксплуатацию клиентов на уязвимых сайтах. Кликджекингу могут способствовать или могут способствовать другие веб-атаки, такие как XSS.[16][17]

Лайкджекинг

Likejacking - это вредоносная техника обмана пользователей веб-сайта "симпатияFacebook страница, которую они намеренно не хотели поставить "лайк".[18] Термин «лайкджекинг» взят из комментария Кори Баллоу в статье. Как "лайкать" что-нибудь в Интернете (безопасно),[19] это одна из первых задокументированных публикаций, объясняющих возможность злонамеренных действий в отношении кнопки «Нравится» в Facebook.[20]

Согласно статье в IEEE Spectrum, решение от лайкджекинга было разработано в одном из хакатоны.[21] "Нравится" букмарклет доступен, что позволяет избежать возможности взлома, присутствующего в Кнопка "Нравится" в Facebook.[22]

Вложенный

Вложенный кликджекинг, по сравнению с классическим кликджекингом, работает за счет встраивания вредоносного веб-фрейма между двумя фреймами исходного, безвредного веб-страница: то, что находится на странице в рамке, и то, что отображается в верхнем окне. Это работает из-за уязвимости в заголовке HTTP. X-Frame-Опции, в котором, когда этот элемент имеет значение САМЕОРИГИН, то веб-браузер проверяет только два вышеупомянутых слоя. Тот факт, что между этими двумя могут быть добавлены дополнительные кадры, оставаясь незамеченными, означает, что нападающие могут использовать это в своих интересах.

В прошлом с Google+ и ошибочная версия X-Frame-Опции, нападающие смогли вставить фреймы по своему выбору, используя уязвимость, присутствующую в Система поиска картинок Google. Между кадрами отображения изображения, которые присутствовали в Google+ кроме того, эти кадры, контролируемые злоумышленником, могли загружаться и не ограничиваться, что позволяло нападающие чтобы ввести в заблуждение любого, кто попал на страницу отображения изображений.[11]

Курсорджекинг

Cursorjacking - это метод исправления пользовательского интерфейса для изменения курсора из того места, которое воспринимает пользователь, обнаруженный в 2010 году Эдди Борди, исследователем Vulnerability.fr,[23] Маркус Ниемиц продемонстрировал это с помощью настраиваемого значка курсора, а в 2012 году Марио Хайдерих, скрыв курсор.[24][25]

Джорди Чансел, исследователь из Alternativ-Testing.fr, обнаружил уязвимость смещения курсора с использованием кода Flash, HTML и JavaScript в Mozilla Firefox в системах Mac OS X (исправлено в Firefox 30.0), которая может привести к выполнению произвольного кода и слежению за веб-камерой.[26]

Вторую уязвимость CursorJacking снова обнаружил Джорди Чансел в Mozilla Firefox в системах Mac OS X (исправлено в Firefox 37.0) с использованием кода Flash, HTML и JavaScript, который также может привести к слежке за веб-камерой и запуску вредоносного дополнения. разрешение выполнения вредоносного ПО на компьютере пользователя, попавшего в ловушку.[27]

MouseJack

В отличие от других техник кликджекинга, которые исправляют пользовательский интерфейс, MouseJack представляет собой уязвимость пользовательского интерфейса на основе беспроводного оборудования, о которой впервые сообщил Марк Ньюлин из Bastille.net в 2016 году, которая позволяет вводить ввод с внешней клавиатуры в уязвимые электронные ключи.[28] Компания Logitech предоставила исправления для прошивки, но другие производители не ответили.[29]

Без браузера

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

Этот метод кликджекинга в основном распространен среди мобильных устройств, обычно на Устройства Android, особенно из-за того, как всплывающие уведомления Работа. Потому что всплывающие уведомления иметь небольшую задержку между моментом запроса уведомления и моментом его фактического отображения на экране, нападающие могут использовать этот пробел для создания фиктивной кнопки, которая скрыта под уведомлением и по-прежнему может быть нажата.[6]

Cookiejacking

Cookiejacking - это форма кликджекинга, при которой файлы cookie украдены веб-браузеры. Это делается путем обмана пользователя, заставляя его перетащить объект, который на первый взгляд кажется безвредным, но на самом деле заставляет пользователя выбрать все содержимое целевого файла cookie. Оттуда злоумышленник может получить файл cookie и все данные, которые в нем содержатся.[13]

Filejacking

При атаке файлов злоумышленники используют возможности веб-браузера для навигации по компьютеру и доступа к компьютерным файлам для получения личных данных. Он делает это, заставляя пользователя создать активный файловый сервер (через окно выбора файлов и папок, которое используют браузеры). Благодаря этому злоумышленники теперь могут получать доступ и брать файлы с компьютеров своих жертв.[14]

Атака на менеджер паролей

Статья 2014 года исследователя из Университет Карнеги Меллон обнаружил, что хотя браузеры отказываются выполнять автозаполнение, если протокол на текущей странице входа отличается от протокола на момент сохранения пароля, некоторые менеджеры паролей будет небезопасно вводить пароли для http-версии паролей, сохраненных по протоколу https. Большинство менеджеров не защищалось от iFrame - и перенаправление -на основании нападения и выставил дополнительные пароли, где синхронизация паролей использовался между несколькими устройствами.[15]

Профилактика

Сторона клиента

NoScript

Защита от кликджекинга (в том числе лайкджекинга) может быть добавлена ​​в Mozilla Firefox настольный и мобильный[30] версии, установив NoScript надстройка: функция ClearClick, выпущенная 8 октября 2008 г., не позволяет пользователям нажимать на невидимые или «исправленные» элементы страницы встроенных документов или апплетов.[31] Согласно «Руководству по безопасности браузера» от Google за 2008 год, ClearClick от NoScript является «свободно доступным продуктом, который предлагает разумную степень защиты» от Clickjacking.[32] В NoScript 2.2.8 RC1 была добавлена ​​защита от новой атаки с перемещением курсора.[24]

NoClickjack

Надстройка для веб-браузера "NoClickjack" (расширение браузера ) добавляет защиту от кликджека на стороне клиента для пользователей Гугл Хром, Mozilla Firefox, Опера и Microsoft Edge без вмешательства в работу законных iFrames. NoClickjack основан на технологии, разработанной для GuardedID. Надстройка NoClickjack бесплатна.

GuardedID

GuardedID (коммерческий продукт) включает защиту от щелчка на стороне клиента для пользователей Internet Explorer, не мешая работе законных фреймов iFrames.[33] Защита от щелчка GuardedID заставляет все кадры становиться видимыми. Команды GuardedID с надстройкой для веб-браузера "NoClickjack", чтобы добавить защиту для Гугл Хром, Mozilla Firefox, Опера и Microsoft Edge.

Газель

Газель это Microsoft Research безопасный веб-браузер проекта на основе IE, который использует Операционные системы -подобная модель безопасности и имеет собственную ограниченную защиту от кликджекинга.[34] В Gazelle окно другого происхождения может рисовать динамический контент поверх экранного пространства другого окна, только если контент, который он рисует, непрозрачен.

Наблюдатель за пересечением v2

API-интерфейс Intersection Observer v2[35] вводит понятие отслеживания фактической «видимости» целевого элемента в том виде, в каком его определил бы человек.[36] Это позволяет виджету в рамке определять, когда он закрывается. Эта функция включена по умолчанию, так как Гугл Хром 74, выпущенный в апреле 2019 года.[37] Chrome - единственный браузер, реализующий API в настоящее время.

На стороне сервера

Framekiller

Владельцы веб-сайтов могут защитить своих пользователей от исправления пользовательского интерфейса (кликджекинга на основе кадров) на стороне сервера, включив убийца кадров Фрагменты JavaScript на тех страницах, которые они не хотят включать во фреймы из разных источников.[32]

Такая защита на основе JavaScript, к сожалению, не всегда надежна. Это особенно актуально для Internet Explorer,[32] где такого рода контрмеры можно обойти «намеренно», включив целевую страницу в элемент